:root{color-scheme:light;--auth-bg:#f4f5f7;--auth-surface:#fff;--auth-control:#f7f7f9;--auth-text:#15171a;--auth-muted:#6c727f;--auth-line:rgba(16,24,40,.12);--auth-blue:#0071e3;--auth-blue-hover:#0064ca;--auth-danger:#c81e1e;--auth-shadow:0 28px 80px rgba(15,23,42,.14);--auth-focus:0 0 0 4px rgba(0,113,227,.14);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif}
html[data-theme="dark"]{color-scheme:dark;--auth-bg:#090a0c;--auth-surface:#121418;--auth-control:#1a1d22;--auth-text:#f5f7fa;--auth-muted:#a6acb7;--auth-line:rgba(255,255,255,.13);--auth-blue:#2997ff;--auth-blue-hover:#4aa8ff;--auth-danger:#ff6961;--auth-shadow:0 32px 90px rgba(0,0,0,.58);--auth-focus:0 0 0 4px rgba(41,151,255,.2)}
*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{font-family:inherit;-webkit-font-smoothing:antialiased;background:var(--auth-bg);color:var(--auth-text)}button,input{font:inherit}.auth-body{min-width:320px;min-height:100svh;display:grid;place-items:center;padding:max(24px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));background:radial-gradient(circle at 20% 10%,rgba(0,113,227,.08),transparent 32%),var(--auth-bg)}
.auth-theme-toggle{position:fixed;z-index:20;top:max(18px,env(safe-area-inset-top));right:max(18px,env(safe-area-inset-right));display:grid;width:44px;height:44px;place-items:center;border:1px solid var(--auth-line);border-radius:999px;background:color-mix(in srgb,var(--auth-surface) 92%,transparent);color:var(--auth-text);box-shadow:0 10px 28px rgba(0,0,0,.09);backdrop-filter:blur(18px);cursor:pointer}.auth-theme-toggle svg{position:absolute;width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.auth-theme-toggle__sun{display:none}html[data-theme="dark"] .auth-theme-toggle__sun{display:block}html[data-theme="dark"] .auth-theme-toggle__moon{display:none}
.auth-layout{width:min(470px,100%)}.auth-card{width:100%;padding:clamp(28px,6vw,48px);border:1px solid var(--auth-line);border-radius:28px;background:var(--auth-surface);box-shadow:var(--auth-shadow)}.auth-brand{display:inline-flex;align-items:center;gap:12px;color:var(--auth-text);text-decoration:none}.auth-brand__mark{display:grid;width:44px;height:44px;place-items:center;border-radius:13px;background:var(--auth-text);color:var(--auth-surface);font-size:12px;font-weight:850;letter-spacing:-.04em}.auth-brand>span:last-child{display:grid;gap:2px}.auth-brand strong{font-size:15px}.auth-brand small{color:var(--auth-muted);font-size:10px}
.auth-card__heading{margin:42px 0 28px}.auth-card__heading h1{margin:0 0 9px;font-size:clamp(32px,7vw,44px);line-height:1.02;letter-spacing:-.048em}.auth-card__heading p{margin:0;color:var(--auth-muted);font-size:14px;line-height:1.6}.message-stack{display:grid;gap:9px}.alert{margin-bottom:16px;padding:12px 14px;border:1px solid var(--auth-line);border-radius:12px;background:var(--auth-control);font-size:12px;line-height:1.5}.alert--danger{border-color:color-mix(in srgb,var(--auth-danger) 35%,var(--auth-line));background:color-mix(in srgb,var(--auth-danger) 8%,var(--auth-surface));color:var(--auth-danger)}.alert--warning{border-color:#d69e00}.alert--success{border-color:#2e7d32}
.login-form{display:grid;gap:18px}.field{display:grid;gap:8px}.field>span:first-child{font-size:12px;font-weight:700}.input-shell{display:flex;min-height:56px;align-items:center;gap:10px;padding:0 14px;border:1px solid var(--auth-line);border-radius:14px;background:var(--auth-control);transition:border-color .16s,box-shadow .16s,background .16s}.input-shell:focus-within{border-color:var(--auth-blue);background:var(--auth-surface);box-shadow:var(--auth-focus)}.input-shell>svg{width:18px;height:18px;flex:0 0 18px;fill:none;stroke:var(--auth-muted);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.input-shell input{width:100%;min-width:0;height:54px;border:0;outline:0;background:transparent;color:var(--auth-text);font-size:14px}.input-shell input::placeholder{color:color-mix(in srgb,var(--auth-muted) 72%,transparent)}.input-shell--password{padding-right:7px}.password-toggle{min-width:58px;height:40px;padding:0 11px;border:0;border-radius:10px;background:var(--auth-surface);color:var(--auth-blue);font-size:11px;font-weight:750;cursor:pointer}.field>small{color:#b16b00;font-size:10px}
.login-button{display:flex;min-height:56px;align-items:center;justify-content:center;gap:10px;margin-top:4px;padding:0 18px;border:0;border-radius:14px;background:var(--auth-blue);color:#fff;font-size:13px;font-weight:800;box-shadow:0 15px 30px rgba(0,113,227,.22);cursor:pointer;transition:background .16s,transform .16s,box-shadow .16s}.login-button:hover{background:var(--auth-blue-hover);box-shadow:0 18px 34px rgba(0,113,227,.28)}.login-button:active{transform:translateY(1px)}.login-button[disabled]{opacity:.68;cursor:wait}.login-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid color-mix(in srgb,var(--auth-blue) 45%,transparent);outline-offset:2px}
@media(max-width:520px){.auth-body{align-items:stretch;padding:0}.auth-theme-toggle{top:max(14px,env(safe-area-inset-top));right:max(14px,env(safe-area-inset-right))}.auth-layout{display:grid;width:100%;min-height:100svh;align-items:center}.auth-card{min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:clamp(24px,8vw,38px) max(20px,env(safe-area-inset-left));border:0;border-radius:0;box-shadow:none}.auth-card__heading{margin-top:48px}.login-form{gap:16px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
