:root,[data-theme=dark]{--bg:#0b0f14;--card:#111824;--text:#e6eef8;--muted:#9fb1c5;--line:#243044;--accent:#5eead4;--danger:#fb7185;--warn:#fbbf24;--ok:#34d399;--surface:var(--card);--surface-alt:#1a2332;--border:var(--line);--fg:var(--text)}[data-theme=dark]{color-scheme:dark}[data-theme=light]{--bg:#f8f9fa;--card:#fff;--text:#1a1a2e;--muted:#6b7280;--line:#e5e7eb;--accent:#0d9488;--danger:#ef4444;--warn:#f59e0b;--ok:#10b981;--surface:var(--card);--surface-alt:#f1f3f5;--border:var(--line);--fg:var(--text);color-scheme:light}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{height:100%}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:hover{color:var(--accent);text-decoration:underline}input,select,textarea{width:100%;background:var(--surface-alt);border:1px solid var(--line);color:var(--text);padding:8px 12px;border-radius:6px;font-size:14px;font-family:inherit;outline:none;min-width:0}input[type=checkbox],input[type=radio]{width:auto;padding:0;border:none;background:none}input:focus,select:focus,textarea:focus{border-color:var(--accent)}textarea{min-height:90px;resize:vertical}button{cursor:pointer;font-size:14px;font-family:inherit;border:none;border-radius:6px;padding:8px 16px}button:hover{opacity:.85}button:disabled{opacity:.5;cursor:not-allowed}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--muted)}.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:16px}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border-radius:999px;border:1px solid var(--line)}.badge,.small{font-size:12px;color:var(--muted)}.h1{font-size:22px}.h1,.h2{font-weight:700;margin:0}.h2{font-size:16px}.tableWrap{width:100%;overflow-x:auto}.table{width:100%;border-collapse:separate;border-spacing:0 8px;table-layout:fixed}.table th{font-size:12px;color:var(--muted);text-align:left;font-weight:600;padding:6px 10px;vertical-align:top}.table td{padding:10px;background:var(--surface-alt);border-top:1px solid var(--line);border-bottom:1px solid var(--line);vertical-align:top;font-size:14px;line-height:1.35;word-break:break-word}.table tr td:first-child{border-left:1px solid var(--line);border-top-left-radius:10px;border-bottom-left-radius:10px}.table tr td:last-child{border-right:1px solid var(--line);border-top-right-radius:10px;border-bottom-right-radius:10px}.row{gap:12px;align-items:center}.kpi,.row{display:flex;flex-wrap:wrap}.kpi{gap:10px}.kpi .card{flex:1 1;min-width:220px}.split{display:grid;grid-template-columns:1fr;grid-gap:12px;gap:12px}@media(min-width:960px){.split{grid-template-columns:1.4fr .6fr}}.splitTwo{display:grid;grid-template-columns:1fr;grid-gap:12px;gap:12px}@media(min-width:960px){.splitTwo{grid-template-columns:1fr 1fr}}.gridFilters{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:12px;gap:12px;align-items:end}.filterField{display:flex;flex-direction:column;gap:6px;min-width:0;width:100%}.modalOverlay{position:fixed;inset:0;background:rgba(2,6,23,.75);display:flex;align-items:center;justify-content:center;padding:20px;z-index:50}.modalCard{width:min(980px,100%);max-height:90vh;overflow:auto;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:0 20px 50px rgba(0,0,0,.35)}.checklistBox{display:flex;flex-direction:column;gap:8px;max-height:220px;overflow:auto;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--surface-alt)}.checkItem{align-items:flex-start;font-size:13px;color:var(--text)}.checkItem,.nav{display:flex;gap:10px}.nav{flex-wrap:wrap;margin-top:12px}.nav a{padding:8px 10px;border-radius:10px;border:1px solid var(--line);background:var(--surface-alt)}.nav a.active{border-color:var(--accent)}code{word-break:break-all}.container{max-width:1200px;margin:0 auto;padding:20px}