:root { --bg:#f7fafc; --card:#ffffff; --border:#e2e8f0; --text:#111827; }
*{box-sizing:border-box} body{margin:0;font-family:system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--text);background:var(--bg)}
.container{max-width:960px;margin:auto;padding:16px}
.card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:16px;margin:16px 0}
h1,h2,h3{margin:0 0 12px}
.grid{display:grid;gap:12px}
.grid.grid-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
label{display:block}
select,input[type=number],input[type=text],input[type=password]{width:100%;padding:10px;border:1px solid var(--border);border-radius:8px}
.checkbox{display:flex;gap:8px;align-items:center}
.radios label{display:block;margin:.25rem 0}
.qblock{margin-bottom:12px}
.hidden{display:none}
.actions{display:flex;gap:12px;align-items:center}
button,.btn{background:#111827;color:#fff;border:none;padding:10px 14px;border-radius:8px;cursor:pointer;text-decoration:none;display:inline-block}
button[disabled]{opacity:.5;cursor:not-allowed}
.table{width:100%;border-collapse:collapse}
.table th,.table td{border:1px solid var(--border);padding:8px;text-align:left}
.error{color:#b91c1c}
.admin-header{display:flex;justify-content:space-between;align-items:center;margin:10px 0}
.filters{display:flex;gap:8px;flex-wrap:wrap;align-items:end;margin:10px 0}
