:root { font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial; }
body { margin:0; background:#0f1115; color:#e8eaed; }
.hidden { display:none !important; }
.topbar { position:sticky; top:0; z-index:10; display:flex; align-items:center; gap:12px; padding:12px 16px; background:#0b0d11; border-bottom:1px solid #23262e; }
.brand { font-weight:700; letter-spacing:0.5px; }
.spacer { flex:1; }

.wrap { max-width:1100px; margin:24px auto; padding:0 16px; }
.grid { display:grid; grid-template-columns: 1fr 1.3fr; gap:16px; }

.card { background:#151823; border:1px solid #23262e; border-radius:16px; padding:16px; box-shadow: 0 6px 24px rgba(0,0,0,0.35); }
h1,h2,h3 { margin:0 0 10px; }
h3 { margin-top:16px; }
.muted { color:#a6adbb; font-size:0.95rem; }
label { display:block; margin:10px 0 6px; color:#cdd3df; font-size:0.95rem; }
input, select { width:100%; padding:10px 12px; border-radius:12px; border:1px solid #2b3040; background:#0f1220; color:#e8eaed; outline:none; }
input:focus, select:focus { border-color:#4b8cff; }
.row { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:10px; }
.two { display:grid; grid-template-columns: 1fr 1fr; gap:12px; }

.btn { border:1px solid #2b3040; background:#0f1220; color:#e8eaed; padding:10px 12px; border-radius:12px; cursor:pointer; }
.btn:hover { border-color:#4b8cff; }
.btn.primary { background:#2b6dff; border-color:#2b6dff; }
.btn.primary:hover { filter:brightness(1.05); }
.btn.ghost { background:transparent; }

.list { margin-top:12px; display:flex; flex-direction:column; gap:10px; }
.item { padding:10px 12px; border:1px solid #2b3040; background:#0f1220; border-radius:12px; cursor:pointer; }
.item:hover { border-color:#4b8cff; }
.item .t { font-weight:600; }
.item .s { color:#a6adbb; font-size:0.9rem; margin-top:4px; display:flex; justify-content:space-between; gap:8px; }

.check { display:flex; align-items:center; gap:8px; user-select:none; color:#cdd3df; }
.check input { width:auto; }

.msg { margin-top:10px; color:#ffd166; font-size:0.95rem; min-height:18px; }

.kpis { display:grid; grid-template-columns: 1fr 1fr 1fr; gap:10px; margin-top:12px; }
.kpi { padding:12px; border:1px solid #2b3040; border-radius:12px; background:#0f1220; }
.big { font-size:1.35rem; font-weight:800; margin-top:6px; }
