*{box-sizing:border-box}
:root{
--bg:#f5f7fb;--card:#fff;--text:#172033;--muted:#667085;--border:#e4e7ec;
--primary:#2563eb;--soft:#eff6ff;--danger:#b42318;--danger-bg:#fef3f2
}
[data-theme=dark]{
--bg:#0f172a;--card:#182235;--text:#f1f5f9;--muted:#a8b3c4;--border:#2a374c;
--primary:#60a5fa;--soft:#172b49;--danger:#fda29b;--danger-bg:#3b1718
}
html{color-scheme:light}
html[data-theme=dark]{color-scheme:dark}
body{margin:0;min-height:100vh;font-family:Arial,sans-serif;background:var(--bg);color:var(--text);transition:background .2s ease,color .2s ease}
.auth-header{max-width:980px;margin:auto;padding:28px 18px;display:flex;justify-content:space-between;align-items:center;gap:15px}
.brand{font-size:26px;font-weight:800;color:var(--text);text-decoration:none}
.brand span{color:var(--primary)}
.header-actions{display:flex;align-items:center;gap:10px}
.back,.switch a,.legal-card a{color:var(--primary);text-decoration:none;font-weight:700}
.theme-toggle{width:42px;height:42px;border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:19px;line-height:1;box-shadow:0 4px 12px #0000000a}
.theme-toggle:hover{border-color:var(--primary)}
.auth-wrap{max-width:560px;margin:20px auto;padding:18px}
.auth-card,.empty-card,.legal-card{background:var(--card);border:1px solid var(--border);border-radius:22px;padding:34px;box-shadow:0 14px 40px #0000000d;transition:background .2s ease,border-color .2s ease}
.tag{display:inline-block;font-size:11px;font-weight:800;color:var(--primary);background:var(--soft);padding:7px 10px;border-radius:999px}
h1{font-size:34px;margin:18px 0 10px}
.lead{color:var(--muted);line-height:1.6;margin-top:0;margin-bottom:25px}
form{display:grid;gap:17px}
label{display:grid;gap:7px;font-weight:700;font-size:14px}
input[type=text],input[type=email],input[type=password]{width:100%;padding:15px;border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:12px;font-size:16px;outline:none;transition:background .2s ease,border-color .2s ease,color .2s ease}
input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #2563eb18}
.check{display:flex;grid-template-columns:none;align-items:flex-start;gap:9px;font-weight:400;line-height:1.45}
.check input{margin-top:3px}.check a{font-weight:700}
.primary{border:0;background:var(--primary);color:#fff;font-weight:800;padding:14px 18px;border-radius:12px;cursor:pointer;font-size:16px}
.inline{display:inline-block;text-decoration:none}
.switch{text-align:center;color:var(--muted);font-size:14px;margin:22px 0 0}
.alert{padding:13px 15px;border-radius:12px;margin-bottom:18px;font-size:14px;line-height:1.5}
.alert ul{margin:0;padding-left:18px}.error{background:var(--danger-bg);color:var(--danger)}
.dashboard{max-width:980px;margin:auto;padding:20px 18px}
.dash-head{margin-bottom:20px}
.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}
.stats-grid article{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:22px}
.stats-grid small{display:block;color:var(--muted);margin-bottom:8px}.stats-grid strong{font-size:34px}
.empty-card{margin-top:15px}.empty-card h2{margin-top:0}.empty-card p{color:var(--muted);line-height:1.6}
.legal-wrap{max-width:760px;margin:20px auto;padding:18px}.legal-card{line-height:1.65}.legal-card h2{margin-top:26px}
.notice{padding:12px 14px;background:var(--soft);border-radius:10px;color:var(--muted)}
@media(max-width:600px){.auth-card,.empty-card,.legal-card{padding:25px}.stats-grid{grid-template-columns:1fr}h1{font-size:29px}}
