@layer theme;@layer base{:root{--bg:#f6f7f9;--fg:#14181f;--muted:#5b6573;--card:#fff;--line:#dfe3e8;--accent:#1a56db;--ok:#137a3f;--warn:#a15c00;--bad:#b42318;--review:#6b3fa0}@media (prefers-color-scheme:dark){:root{--bg:#12151a;--fg:#e8ebf0;--muted:#98a2b3;--card:#1b2028;--line:#2c333d;--accent:#6b9bff;--ok:#4cc38a;--warn:#f0b24a;--bad:#ff7b72;--review:#b794f4}}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--fg);margin:0;font:15px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.nav{background:var(--card);border-bottom:1px solid var(--line);align-items:center;gap:20px;padding:12px 24px;display:flex}.nav strong{margin-right:8px}.nav .spacer{flex:1}.container{max-width:1180px;margin:0 auto;padding:24px 16px 64px}h1{margin:0 0 16px;font-size:22px}.card{background:var(--card);border:1px solid var(--line);border-radius:10px;margin-bottom:16px;padding:16px}.muted{color:var(--muted)}button,.btn{font:inherit;border:1px solid var(--line);background:var(--card);color:var(--fg);cursor:pointer;border-radius:8px;padding:8px 14px}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button:disabled{opacity:.5;cursor:not-allowed}input,select{font:inherit;border:1px solid var(--line);background:var(--card);color:var(--fg);border-radius:8px;padding:8px 10px}.filters{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:8px 10px}th{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);white-space:nowrap;font-size:12px}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.badge{white-space:nowrap;border:1px solid;border-radius:999px;padding:1px 8px;font-size:12px;display:inline-block}.s-ok,.s-selesai{color:var(--ok)}.s-peringatan{color:var(--warn)}.s-perlu_review{color:var(--review)}.s-gagal{color:var(--bad)}.s-duplikat,.s-menunggu,.s-diproses{color:var(--muted)}.drop{border:2px dashed var(--line);text-align:center;border-radius:12px;padding:36px}.drop.over{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent)}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.kpis{flex-wrap:wrap;gap:12px;margin-bottom:12px;display:flex}.kpi{flex:150px}.kpi b{font-size:20px;display:block}.error{color:var(--bad)}}@layer components,utilities;
