:root{--bg:#f6f5f8;--card:#fff;--fg:#16141a;--muted:#6b6875;--line:#e6e3ec;--accent:#fe2c55;--accent2:#7b3ff2;--ok:#12a36b;--warn:#d98b00;--radius:16px;color-scheme:light}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#0d0c10;--card:#17151c;--fg:#f4f2f7;--muted:#a19ead;--line:#2a2731;color-scheme:dark}}
:root[data-theme="dark"]{--bg:#0d0c10;--card:#17151c;--fg:#f4f2f7;--muted:#a19ead;--line:#2a2731;color-scheme:dark}
*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--fg);font:15px/1.55 Inter,system-ui,sans-serif}
a{color:var(--accent)}.wrap{max-width:1100px;margin:0 auto;padding:0 16px}.row{display:flex;align-items:center}.between{justify-content:space-between}.gap{gap:12px;flex-wrap:wrap}
.top{position:sticky;top:0;background:color-mix(in srgb,var(--bg) 85%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);z-index:5}.top .wrap{height:60px}
.brand{display:flex;align-items:center;gap:8px;font-weight:800;color:var(--fg);text-decoration:none}.logo{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--accent2),var(--accent))}
.tag{font-size:12px;font-weight:700;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);padding:2px 8px;border-radius:99px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:12px;padding:11px 18px;font:600 15px Inter,sans-serif;cursor:pointer;text-decoration:none;white-space:nowrap}
.btn.primary{background:var(--accent);color:#fff}.btn.primary:disabled{opacity:.5;cursor:default}.btn.ghost{background:transparent;color:var(--fg);border:1px solid var(--line)}.btn.small{padding:7px 12px;font-size:13px;border-radius:10px}
.hero{padding:64px 0 40px;background:radial-gradient(1200px 400px at 10% -10%,color-mix(in srgb,var(--accent2) 20%,transparent),transparent),radial-gradient(900px 300px at 100% 0,color-mix(in srgb,var(--accent) 16%,transparent),transparent)}
.eyebrow{color:var(--accent);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:12px;margin:0}
h1{font-size:clamp(28px,5vw,44px);line-height:1.12;margin:10px 0 12px;max-width:760px}.lead{color:var(--muted);font-size:17px;max-width:640px;margin:0 0 24px}
h2{margin:0 0 6px;font-size:22px}h3{margin:0 0 6px;font-size:17px}.muted{color:var(--muted)}.small{font-size:13px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:8px auto 28px}@media(max-width:760px){.grid3{grid-template-columns:1fr}}
.form-card{max-width:760px;margin:0 auto 40px}form{display:grid;gap:12px;margin-top:14px}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:600px){.two{grid-template-columns:1fr}}
label{display:grid;gap:6px;font-weight:600;font-size:13px}input,select,textarea{font:15px Inter,sans-serif;color:var(--fg);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:11px 12px;width:100%}
input:focus,select:focus,textarea:focus{outline:2px solid color-mix(in srgb,var(--accent) 40%,transparent);border-color:var(--accent)}
.msg{margin:0;min-height:20px;font-weight:600}.msg.ok{color:var(--ok)}.msg.err{color:var(--accent)}.foot{padding:20px 16px 40px}
/* dashboard */
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}@media(max-width:900px){.kpis{grid-template-columns:repeat(2,1fr)}}
.kpi .v{font-size:26px;font-weight:800;margin-top:4px}.kpi .s{font-size:12px;color:var(--muted)}
.hero-card{background:linear-gradient(120deg,#1b1036,#3a1460 55%,var(--accent));color:#fff;border:0}.hero-card .muted{color:rgba(255,255,255,.75)}
.pill{display:inline-block;padding:3px 10px;border-radius:99px;font-size:12px;font-weight:700;background:rgba(255,255,255,.18)}
.section{margin:18px 0}.section h2{font-size:18px}.bar{height:8px;border-radius:9px;background:var(--line);overflow:hidden}.bar>i{display:block;height:100%;background:linear-gradient(90deg,var(--accent2),var(--accent))}
table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);white-space:nowrap}th{font-size:12px;color:var(--muted);font-weight:600;cursor:pointer;user-select:none}
.tablewrap{overflow-x:auto}.who{display:flex;align-items:center;gap:10px}.av{width:34px;height:34px;border-radius:50%;background:var(--line);object-fit:cover;flex:none}
.badge{display:inline-block;padding:2px 8px;border-radius:99px;font-size:12px;font-weight:700}.badge.ok{background:color-mix(in srgb,var(--ok) 15%,transparent);color:var(--ok)}.badge.no{background:var(--line);color:var(--muted)}
.cols2{display:grid;grid-template-columns:1.2fr 1fr;gap:14px}@media(max-width:900px){.cols2{grid-template-columns:1fr}}
.list{display:grid;gap:8px}.li{display:flex;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}
.center{min-height:60vh;display:grid;place-items:center;text-align:center}.toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);background:var(--fg);color:var(--bg);padding:10px 16px;border-radius:10px;font-weight:600;display:none;z-index:9}
.tgt{display:grid;grid-template-columns:1.4fr 1fr 1fr auto;gap:8px;align-items:end}@media(max-width:600px){.tgt{grid-template-columns:1fr 1fr}}
[hidden]{display:none!important}
