:root{color-scheme:light;--ground:#f6f7f9;--surface:#fff;--ink:#20252c;--muted:#535e6c;--line:#dce0e5;--accent:#ae2635}
[hidden]{display:none!important}
*{box-sizing:border-box}body{margin:0;background:var(--ground);color:var(--ink);font:15px/1.6 "Segoe UI",Arial,sans-serif;min-height:100vh}body[data-theme="dark"]{color-scheme:dark;--ground:#101113;--surface:#181a1e;--ink:#f3f2ef;--muted:#b7b9bf;--line:#303339;--accent:#ed555c}
.login{width:min(100% - 40px,440px);margin:0 auto;padding:68px 0 30px}.login-brand{display:flex;align-items:center;gap:13px;text-decoration:none;color:var(--ink);font-size:22px;font-weight:650;margin-bottom:52px}.login-brand img{object-fit:contain;background:#fff;border-radius:7px}.login-brand small{display:block;font-size:11px;letter-spacing:.13em;font-weight:600;color:var(--muted);margin-top:2px}h1{font-size:29px;line-height:1.25;letter-spacing:-.025em;margin:0 0 14px}.intro{color:var(--muted);margin:0 0 30px;max-width:45ch}label{display:block;font-size:14px;font-weight:600;margin:20px 0 8px}input{width:100%;min-height:49px;padding:12px 14px;font:inherit;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--ink);caret-color:var(--accent)}input::placeholder{color:var(--muted)}button{display:block;width:100%;min-height:48px;padding:12px 16px;margin-top:25px;border:0;border-radius:7px;background:var(--accent);color:#fff;font:600 15px "Segoe UI",Arial,sans-serif;cursor:pointer}button:hover{filter:brightness(1.08)}button:disabled{opacity:.6;cursor:wait}.secondary{background:var(--surface);color:var(--ink);border:1px solid var(--line);margin:15px 0}.remember-note,details p,footer{color:var(--muted);font-size:13px;line-height:1.7}.remember-note{margin:13px 0 0}#login-status{font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--accent);margin:18px 0}#login-status:empty{display:none}details{margin-top:28px;border-top:1px solid var(--line);padding-top:12px}summary{cursor:pointer;color:var(--accent);font-size:14px;min-height:44px;padding:10px 0}footer{margin-top:50px;padding-top:20px;border-top:1px solid var(--line)}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}::selection{background:var(--accent);color:#fff}body[data-theme="dark"] button:not(.secondary){color:#151113}@media(max-width:600px){.login{padding-top:32px}.login-brand{margin-bottom:35px}h1{font-size:25px}input{font-size:16px}footer{margin-top:34px}}
