:root{--fg:#1c2733;--muted:#6b7a8c;--line:#e3e8ee;--bg:#fafbfc;--card:#fff;--accent:#2a6f4e;--danger:#c0564e}@media (prefers-color-scheme:dark){:root{--fg:#e6edf3;--muted:#8b98a5;--line:#2d3843;--bg:#10161c;--card:#171f27;--accent:#6fbf97;--danger:#e08a83}}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);margin:0;font:15px/1.5 ui-sans-serif,system-ui,-apple-system,sans-serif}main{max-width:60rem;margin:0 auto;padding:2.5rem 1.5rem 4rem}.auth-card{background:var(--card);border:1px solid var(--line);border-radius:10px;max-width:24rem;margin:4rem auto 0;padding:2rem}.auth-card h1{margin:0 0 .25rem;font-size:1.15rem}.auth-card .sub{color:var(--muted);margin:0 0 1.4rem;font-size:.85rem}label{color:var(--muted);margin:.9rem 0 .25rem;font-size:.8rem;display:block}input,select,textarea{border:1px solid var(--line);background:var(--bg);width:100%;color:var(--fg);font:inherit;border-radius:7px;padding:.55rem .7rem}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:0;border-color:#0000}button,.btn{background:var(--accent);color:#fff;width:100%;font:inherit;cursor:pointer;text-align:center;border:none;border-radius:7px;margin-top:1.2rem;padding:.6rem .9rem;font-weight:600;text-decoration:none;display:inline-block}button:disabled{opacity:.6;cursor:default}.btn-secondary{background:var(--card);color:var(--fg);border:1px solid var(--line);margin-top:.6rem;font-weight:500}.btn-inline{width:auto;margin:0;padding:.4rem .8rem;font-weight:500}.divider{color:var(--muted);align-items:center;gap:.8rem;margin:1.4rem 0 .2rem;font-size:.75rem;display:flex}.divider:before,.divider:after{content:"";border-top:1px solid var(--line);flex:1}.error{color:var(--danger);margin-top:.9rem;font-size:.85rem}.notice{color:var(--accent);margin-top:.9rem;font-size:.85rem}.auth-alt{text-align:center;color:var(--muted);margin-top:1.2rem;font-size:.85rem}.auth-alt a{color:var(--accent)}header.site{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:1rem;padding:.9rem 1.5rem;display:flex}header.site .brand{font-weight:700}header.site .meta{color:var(--muted);align-items:center;gap:1rem;font-size:.82rem;display:flex}.stat-card{background:var(--card);border:1px solid var(--line);border-radius:8px;margin-top:1.4rem;padding:1.2rem 1.4rem}
