/* Login page */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&family=Space+Mono&display=swap');
:root {
  --bg:#0f0f0f; --surface:#181818; --border:#2a2a2a;
  --accent:#ff0040; --text:#f1f1f1; --muted:#888; --font:'DM Sans',system-ui,sans-serif;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
body{min-height:100vh;display:flex;align-items:center;justify-content:center;
     background:var(--bg);font-family:var(--font);color:var(--text);
     background-image:radial-gradient(ellipse at 20% 50%, rgba(255,0,64,.07) 0%, transparent 60%),
                      radial-gradient(ellipse at 80% 20%, rgba(255,107,53,.05) 0%, transparent 50%);}
.card{background:var(--surface);border:1px solid var(--border);border-radius:16px;
      padding:2.5rem;width:380px;max-width:95vw;}
.brand{display:flex;align-items:center;gap:.5rem;margin-bottom:2rem;justify-content:center;}
.brand-icon{width:36px;height:36px;background:var(--accent);border-radius:8px;
            display:flex;align-items:center;justify-content:center;font-size:1.1rem;}
.brand-name{font-size:1.3rem;font-weight:700;letter-spacing:-.3px;}
.brand-name span{color:var(--accent);}
label{display:block;font-size:.8rem;font-weight:600;color:var(--muted);
      text-transform:uppercase;letter-spacing:.05em;margin-bottom:.4rem;}
input{width:100%;background:#212121;border:1px solid var(--border);border-radius:9px;
      color:var(--text);padding:.7rem 1rem;font-size:.95rem;font-family:var(--font);
      outline:none;margin-bottom:1.2rem;transition:border-color .2s;}
input:focus{border-color:var(--accent);}
.btn-login{width:100%;background:var(--accent);color:#fff;border:none;border-radius:9px;
           padding:.75rem;font-size:1rem;font-weight:700;cursor:pointer;font-family:var(--font);
           transition:background .2s;letter-spacing:.02em;}
.btn-login:hover{background:#cc0033;}
.btn-login:disabled{background:#555;cursor:not-allowed;}
#msg{margin-top:1rem;text-align:center;font-size:.88rem;color:var(--accent);min-height:1.2rem;}
.footer-note{margin-top:1.5rem;text-align:center;font-size:.78rem;color:#444;}
