@font-face{font-family:Aeonik;font-weight:400;font-display:swap;src:url("fonts/aeonik-400.woff2")format("woff2")}
@font-face{font-family:Aeonik;font-weight:500;font-display:swap;src:url("fonts/aeonik-500.woff2")format("woff2")}

:root{
  color-scheme:light;
  --page-bg:#f9f8fe;--card-bg:#fff;--ink:#101828;--text:#344054;--muted:#667085;
  --logo-ink:#0e1131;--gold:#fbce49;
  --border:#eaecf0;--line:#eaecf0;--input-bg:#f0effb;--input-border:#e4e2f5;
  --primary:#3538cd;--primary-hover:#2d31a6;--focus:#c7d7fe;
  --hover:#f9fafb;
  --err-bg:#fef3f2;--err-border:#fecdca;--err-text:#b42318;
  --info-bg:#eef4ff;--info-border:#c7d7fe;--info-text:#3538cd;
  --shadow:0 12px 32px -8px rgba(53,56,205,.08),0 2px 6px rgba(16,24,40,.03);
}
@media (prefers-color-scheme:dark){:root{
  color-scheme:dark;
  --page-bg:#0c0e12;--card-bg:#13161b;--ink:#f5f5f6;--text:#cecfd2;--muted:#94979c;
  --logo-ink:#f5f5f6;
  --border:#22262f;--line:#22262f;--input-bg:#1a1d24;--input-border:#2a2f3a;
  --primary:#444ce7;--primary-hover:#6172f3;--focus:#2d31a6;
  --hover:#1a1d24;
  --err-bg:#2a1210;--err-border:#55160c;--err-text:#fda29b;
  --info-bg:#161b3a;--info-border:#2d31a6;--info-text:#a4bcfd;
  --shadow:none;
}}

*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--page-bg);color:var(--text);font:14px/1.45 Aeonik,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:.2px;-webkit-font-smoothing:antialiased}

.login{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 16px;text-align:center}
.logo{display:block;margin-bottom:36px}
.logo .ink{fill:var(--logo-ink)}.logo .dot{fill:var(--gold)}
h1{margin:0 0 12px;color:var(--ink);font-size:30px;font-weight:500;line-height:1.2;letter-spacing:-.2px}
.lead{margin:0 0 40px;font-size:16px;color:var(--text)}

.card{width:100%;max-width:448px;background:var(--card-bg);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);padding:40px;text-align:left}
@media (max-width:480px){.card{padding:24px}h1{font-size:24px}.lead{margin-bottom:28px}}

.sso{display:flex;width:100%;height:54px;align-items:center;justify-content:center;gap:12px;background:var(--card-bg);color:var(--ink);border:1px solid var(--border);border-radius:8px;font:inherit;font-size:16px;font-weight:500;text-decoration:none;cursor:pointer;transition:background .12s}
.sso + .sso{margin-top:12px}
.sso:hover{background:var(--hover)}
.sso:focus-visible,.primary:focus-visible,input:focus-visible{outline:none;box-shadow:0 0 0 4px var(--focus)}

.or{display:flex;align-items:center;gap:12px;margin:24px 0 20px;color:var(--text);font-size:13px}
.or::before,.or::after{content:"";flex:1;height:1px;background:var(--line)}

input{display:block;width:100%;height:46px;padding:0 15px;background:var(--input-bg);color:var(--ink);border:1px solid var(--input-border);border-radius:8px;font:inherit;font-size:15px}
input::placeholder{color:var(--muted)}
.primary{display:block;width:100%;height:48px;margin-top:12px;background:var(--primary);color:#fff;border:none;border-radius:8px;font:inherit;font-size:15px;font-weight:500;cursor:pointer;transition:background .12s}
.primary:hover{background:var(--primary-hover)}

.msg{margin:0 0 20px;padding:10px 14px;border-radius:8px;font-size:13px;line-height:1.4;border:1px solid var(--info-border);background:var(--info-bg);color:var(--info-text)}
.msg.err{border-color:var(--err-border);background:var(--err-bg);color:var(--err-text)}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
