:root {
  --bg:#f5f5f4; --panel:#ffffff; --panel2:#efefed; --text:#252525; --muted:#6d6d6a;
  --border:#d7d7d2; --accent:#7a1733; --accent2:#5d1026; --ok:#2f6b45; --danger:#8e2737;
  --shadow:0 10px 30px rgba(0,0,0,.07); --radius:12px;
}
:root[data-theme="dark"] {
  --bg:#1e1f20; --panel:#292a2c; --panel2:#343638; --text:#f0f0ee; --muted:#b8b8b4;
  --border:#45474a; --accent:#9a3655; --accent2:#b34b69; --ok:#66a17b; --danger:#ce6573;
  --shadow:0 10px 30px rgba(0,0,0,.25);
}
*{box-sizing:border-box} body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.45;transition:background .2s,color .2s}
a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.container{width:min(1180px,calc(100% - 32px));margin:28px auto 70px}
.topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:20px;padding:13px max(18px,calc((100% - 1180px)/2));background:var(--panel);border-bottom:1px solid var(--border)}
.brand{font-weight:760;color:var(--text);font-size:19px;text-decoration:none}.topnav{display:flex;align-items:center;gap:14px;margin-left:auto;flex-wrap:wrap}.topnav a{color:var(--text);font-size:14px}.menu-toggle{display:none;margin-left:auto;background:none;border:0;color:var(--text);font-size:24px}
.theme-switch{display:flex;align-items:center;gap:7px;font-size:13px;color:var(--muted)}.theme-switch input{accent-color:var(--accent)}
h1{font-size:28px;margin:0 0 20px}h2{font-size:21px;margin:24px 0 14px}h3{font-size:17px;margin:18px 0 10px}.muted{color:var(--muted)}
.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);animation:fadeIn .18s ease}.card+.card{margin-top:16px}
.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}.col-3{grid-column:span 3}.col-4{grid-column:span 4}.col-6{grid-column:span 6}.col-8{grid-column:span 8}.col-12{grid-column:span 12}
.metric{font-size:30px;font-weight:760;margin-top:4px}.metric-label{font-size:13px;color:var(--muted)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:9px 15px;border-radius:9px;border:1px solid transparent;background:var(--accent);color:white;font-weight:650;cursor:pointer;text-decoration:none;transition:transform .12s,background .15s,opacity .15s}.btn:hover{background:var(--accent2);text-decoration:none;transform:translateY(-1px)}.btn.secondary{background:var(--panel2);border-color:var(--border);color:var(--text)}.btn.danger{background:var(--danger)}.btn.small{min-height:32px;padding:6px 10px;font-size:13px}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}
.actions{display:flex;gap:9px;flex-wrap:wrap;margin:14px 0}.form-row{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}.field{grid-column:span 6;margin-bottom:14px}.field.full{grid-column:span 12}.field label{display:block;font-size:13px;font-weight:650;margin:0 0 6px}.field input,.field select,.field textarea{width:100%;padding:11px 12px;border:1px solid var(--border);background:var(--panel2);color:var(--text);border-radius:9px;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent)}.field textarea{min-height:100px;resize:vertical}.check-grid{display:flex;gap:12px;flex-wrap:wrap}.check{background:var(--panel2);border:1px solid var(--border);padding:9px 12px;border-radius:9px}
.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:10px;background:var(--panel)}table{width:100%;border-collapse:collapse;min-width:760px}th,td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--border);vertical-align:top}th{font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);background:var(--panel2)}tr:last-child td{border-bottom:0}
.badge{display:inline-block;padding:4px 8px;border-radius:999px;background:var(--panel2);border:1px solid var(--border);font-size:12px}.badge.open,.badge.completed{border-color:var(--ok);color:var(--ok)}.badge.closed{color:var(--muted)}.badge.ready{color:var(--accent)}
.alert{padding:11px 14px;border-radius:9px;margin-bottom:15px;border:1px solid var(--border);background:var(--panel)}.alert.success{border-color:var(--ok)}.alert.error{border-color:var(--danger)}
.progress{height:10px;border-radius:99px;overflow:hidden;background:var(--panel2);border:1px solid var(--border)}.progress>span{display:block;height:100%;background:var(--accent);transition:width .2s}.question{font-size:18px;white-space:pre-wrap}.answer-result{padding:12px;border-radius:9px;background:var(--panel2);margin:12px 0}.correct{color:var(--ok)}.wrong{color:var(--danger)}
.pagination{display:flex;gap:5px;margin:18px 0}.pagination a{min-width:34px;padding:7px;text-align:center;border:1px solid var(--border);border-radius:7px;background:var(--panel)}.pagination a.active{background:var(--accent);color:white}
.login-page{min-height:100vh;display:grid;place-items:center;background:#4d4f52;padding:24px}.login-card{width:min(420px,100%);background:#686b6f;color:#fff;border:1px solid #85888d;border-radius:16px;padding:30px;box-shadow:0 20px 60px rgba(0,0,0,.25)}.login-card h1{text-align:center}.login-card label{color:#f4f4f4}.login-card input{background:#5a5d60;color:#fff;border-color:#85888d}.login-card .btn{width:100%;background:#781a35}.login-card .alert{background:#5a5d60;color:#fff}
.loader{position:fixed;inset:0;background:rgba(0,0,0,.2);display:grid;place-items:center;z-index:100}.loader[hidden]{display:none}.loader span{width:44px;height:44px;border:4px solid rgba(255,255,255,.4);border-top-color:white;border-radius:50%;animation:spin .7s linear infinite}
.kv{display:grid;grid-template-columns:180px 1fr;gap:8px 16px}.kv div:nth-child(odd){color:var(--muted)}.choice-list{display:grid;gap:8px;margin:14px 0}.choice-option{display:flex;gap:10px;padding:10px;border:1px solid var(--border);border-radius:9px;background:var(--panel2)}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}
@media(max-width:900px){.col-3,.col-4{grid-column:span 6}.col-6,.col-8{grid-column:span 12}.menu-toggle{display:block}.topnav{display:none;position:absolute;left:12px;right:12px;top:58px;padding:14px;background:var(--panel);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}.topnav.open{display:flex}.topnav a{padding:7px}.field{grid-column:span 12}}
@media(max-width:560px){.container{width:min(100% - 20px,1180px);margin-top:18px}.col-3,.col-4,.col-6{grid-column:span 12}.card{padding:15px}h1{font-size:23px}.btn{width:100%}.actions .btn{flex:1 1 140px}.kv{grid-template-columns:1fr}.kv div:nth-child(odd){margin-top:7px}.table-wrap{border-radius:8px}}
