/* Styles for the sign-in page. */
:root{
  --paper:#F1F4F7; --surface:#FFFFFF; --border:#D7DEE6; --text:#10161F; --text-muted:#5B6675; --text-faint:#8996A6;
  --accent:#049C93; --accent-strong:#037F78; --accent-soft:#E1F5F3; --accent-ink:#FFFFFF;
  --danger-fg:#B3261E; --danger-bg:#FBE3E1;
  --shadow-lift:0 8px 24px rgba(16,24,38,.12), 0 2px 6px rgba(16,24,38,.06);
  --radius:10px;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --paper:#0B1119; --surface:#131B29; --border:#28344A; --text:#E7ECF3; --text-muted:#9FACC0; --text-faint:#6D7A90;
    --accent:#2DD4CB; --accent-strong:#56E6DD; --accent-soft:rgba(45,212,203,.16); --accent-ink:#04211F;
    --danger-fg:#F08787; --danger-bg:rgba(240,135,135,.14);
    --shadow-lift:0 8px 28px rgba(0,0,0,.5), 0 2px 6px rgba(0,0,0,.3);
  }
}
:root[data-theme="dark"] {
  --paper:#0B1119; --surface:#131B29; --border:#28344A; --text:#E7ECF3; --text-muted:#9FACC0; --text-faint:#6D7A90;
  --accent:#2DD4CB; --accent-strong:#56E6DD; --accent-soft:rgba(45,212,203,.16); --accent-ink:#04211F;
  --danger-fg:#F08787; --danger-bg:rgba(240,135,135,.14);
  --shadow-lift:0 8px 28px rgba(0,0,0,.5), 0 2px 6px rgba(0,0,0,.3);
}
*{box-sizing:border-box;}
html,body{height:100%;margin:0;}
body{
  background:var(--paper); color:var(--text);
  font-family:'IBM Plex Sans',-apple-system,'Segoe UI',Roboto,sans-serif;
  font-size:14px; line-height:1.45; -webkit-font-smoothing:antialiased;
}
button{font-family:inherit; font-size:inherit;}

.login-screen{min-height:100%; display:flex; align-items:center; justify-content:center; padding:24px;}
.login-card{width:100%; max-width:380px; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); box-shadow:var(--shadow-lift); padding:36px 32px 28px;}
.login-brand{display:flex; align-items:center; gap:10px; margin-bottom:28px;}
.login-mark{width:34px; height:34px; border-radius:9px; background:var(--accent); display:flex; align-items:center; justify-content:center; color:var(--accent-ink); font-family:'Archivo',sans-serif; font-weight:800; font-size:16px; flex-shrink:0;}
.login-brand-text{font-family:'Archivo',sans-serif; font-weight:800; font-size:19px; color:var(--text);}
.login-card h1{font-family:'Archivo',sans-serif; font-weight:700; font-size:20px; margin:0 0 4px; color:var(--text);}
.login-sub{color:var(--text-muted); font-size:13px; margin:0 0 24px;}
.login-field{margin-bottom:16px;}
.login-field label{display:block; font-size:12px; font-weight:600; color:var(--text-muted); margin-bottom:6px;}
.login-field input{width:100%; padding:10px 12px; border:1px solid var(--border); border-radius:8px; background:var(--paper); color:var(--text); font:inherit;}
.login-field input:focus{outline:2px solid var(--accent-soft); border-color:var(--accent);}
.login-error{background:var(--danger-bg); color:var(--danger-fg); border-radius:8px; padding:9px 12px; font-size:12.5px; margin-bottom:16px;}
.login-submit{width:100%; padding:11px; border:none; border-radius:8px; background:var(--accent); color:var(--accent-ink); font-weight:600; font-size:14px; cursor:pointer;}
.login-submit:hover{background:var(--accent-strong);}
.login-hint{margin-top:18px; font-size:11.5px; color:var(--text-faint); text-align:center;}
