:root{--bg:#f4f6fa;--glow:#e6edf7;--card:#fff;--border:#e3e8ef;--line:#eef1f5;--text:#18212f;--text-2:#3d4757;--muted:#667085;--faint:#98a2b3;
  --input:#fff;--input-border:#cfd7e3;--input-hover:#b8c2d0;--primary:#12325e;--primary-hover:#0b2447;--ring:rgba(18,50,94,.14);--focus:#12325e;
  --hover:#f2f5f9;--error-bg:#fef3f2;--error-border:#fecdca;--error:#b42318;--logo-filter:none;color-scheme:light}
:root[data-theme="dark"]{--bg:#0d1117;--glow:#162235;--card:#151b24;--border:#262f3c;--line:#1f2732;--text:#e6eaf0;--text-2:#c2c9d4;--muted:#8f99a8;--faint:#6c7686;
  --input:#10151d;--input-border:#354050;--input-hover:#4a5669;--primary:#3567ad;--primary-hover:#4677bd;--ring:rgba(96,146,219,.32);--focus:#94b8ee;
  --hover:#212a36;--error-bg:rgba(240,90,78,.15);--error-border:rgba(244,134,123,.35);--error:#f4867b;
  --logo-filter:invert(1) hue-rotate(180deg) saturate(1.4) brightness(1.08);color-scheme:dark}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:'SCEMS Sans','Segoe UI',Tahoma,Arial,sans-serif;color:var(--text);-webkit-font-smoothing:antialiased}
body{background:var(--bg)}
.login-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(1000px 520px at 50% -10%,var(--glow) 0%,transparent 70%)}
.login-card{width:min(400px,100%);background:var(--card);border:1px solid var(--border);border-radius:16px;box-shadow:0 1px 2px rgba(16,24,40,.04),0 12px 32px rgba(16,24,40,.06);padding:36px 32px 24px;text-align:center}
.login-logo{max-width:170px;max-height:60px;object-fit:contain;filter:var(--logo-filter)}
h1{margin:18px 0 4px;color:var(--text);font-size:22px;font-weight:600;letter-spacing:.02em}
.login-sub{margin:0 0 26px;color:var(--muted);font-size:14px}
form{text-align:start}
label{display:block;font-size:13px;font-weight:500;color:var(--text-2);margin:14px 0 6px}
input{width:100%;height:42px;padding:0 12px;border:1px solid var(--input-border);border-radius:10px;background:var(--input);color:var(--text);font:inherit;font-size:15px;transition:border-color .12s ease,box-shadow .12s ease}
input:hover:not(:focus){border-color:var(--input-hover)}
input:focus{outline:none;border-color:var(--focus);box-shadow:0 0 0 3px var(--ring)}
button[type=submit]{width:100%;height:44px;margin-top:22px;border:0;border-radius:10px;background:var(--primary);color:#fff;font:inherit;font-weight:600;font-size:15px;cursor:pointer;transition:background-color .12s ease}
button[type=submit]:hover{background:var(--primary-hover)}
button[type=submit]:disabled{opacity:.65;cursor:progress}
button[type=submit]:focus-visible,.login-lang:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.login-error{margin:14px 0 0;padding:10px 12px;border:1px solid var(--error-border);border-radius:10px;background:var(--error-bg);color:var(--error);font-size:13px}
.login-lang{margin-top:18px;height:34px;border:1px solid var(--border);background:var(--card);color:var(--text-2);border-radius:999px;padding:0 16px;font:inherit;font-size:13px;font-weight:500;cursor:pointer}
.login-lang:hover{background:var(--hover)}
.login-foot{margin:16px 0 0;padding-top:16px;border-top:1px solid var(--line);color:var(--faint);font-size:12px}
