/* assets/css/login.css */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --bg:#0f1117; --surface:#1a1d27; --border:#2a2d3e; --accent:#4f7df3;
  --accent-h:#3b6adf; --danger:#e05c5c; --success:#4caf82;
  --text:#e8eaf0; --muted:#7a7f9a; --radius:12px;
}
body { font-family:'DM Sans',sans-serif; background:var(--bg); color:var(--text); min-height:100vh; display:flex; align-items:center; justify-content:center; padding:24px; background-image:radial-gradient(ellipse 60% 50% at 70% 20%,rgba(79,125,243,.08) 0%,transparent 60%),radial-gradient(ellipse 40% 40% at 20% 80%,rgba(79,125,243,.05) 0%,transparent 60%); }
.login-wrap { width:100%; max-width:420px; }
.brand { text-align:center; margin-bottom:36px; }
.brand-icon { display:inline-flex; align-items:center; justify-content:center; width:52px; height:52px; background:var(--accent); border-radius:14px; margin-bottom:14px; font-size:24px; }
.brand h1 { font-size:22px; font-weight:600; letter-spacing:-.3px; }
.brand p { font-size:14px; color:var(--muted); margin-top:4px; }
.card { background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:36px 32px; }
.alert { padding:12px 16px; border-radius:8px; font-size:14px; margin-bottom:20px; line-height:1.5; }
.alert-error { background:rgba(224,92,92,.12); border:1px solid rgba(224,92,92,.3); color:#f08080; }
.alert-info  { background:rgba(79,125,243,.1);  border:1px solid rgba(79,125,243,.25); color:#8ab0f7; }
.form-group { margin-bottom:20px; }
label { display:block; font-size:13px; font-weight:500; color:var(--muted); margin-bottom:8px; letter-spacing:.3px; text-transform:uppercase; }
input[type="email"], input[type="password"] { width:100%; padding:12px 16px; background:var(--bg); border:1px solid var(--border); border-radius:8px; color:var(--text); font-family:inherit; font-size:15px; outline:none; transition:border-color .2s; }
input:focus { border-color:var(--accent); }
input::placeholder { color:var(--muted); }
.btn-login { width:100%; padding:13px; background:var(--accent); color:#fff; font-family:inherit; font-size:15px; font-weight:600; border:none; border-radius:8px; cursor:pointer; transition:background .2s,transform .1s; margin-top:8px; }
.btn-login:hover { background:var(--accent-h); }
.btn-login:active { transform:scale(.98); }
.footer-note { text-align:center; font-size:12px; color:var(--muted); margin-top:28px; font-family:'DM Mono',monospace; }
@media (max-width:480px) { .card { padding:28px 20px; } }
