:root{--bg:#f5f6f8;--surface:#fff;--border:#e3e6eb;--text:#1c2330;--muted:#6b7380;--accent:#1f5fd1;--accent-soft:#e8effc;--good:#0f7b4f;--good-soft:#e3f4ec;--bad:#b42318;--bad-soft:#fdecea;color:var(--text);background:var(--bg);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif}@media (prefers-color-scheme:dark){:root{--bg:#12151b;--surface:#1b1f27;--border:#2b313c;--text:#e6e9ef;--muted:#9aa3b2;--accent:#6c9cff;--accent-soft:#1f2a42;--good:#4cc38a;--good-soft:#17322a;--bad:#ff8a80;--bad-soft:#3a1d1d}}*{box-sizing:border-box}body{background:var(--bg);margin:0}button,input{font:inherit;color:inherit}button{cursor:pointer}h1,h2,h3{margin:0}h2{font-size:1.35rem}h3{font-size:1rem}.muted{color:var(--muted)}.error{color:var(--bad);background:var(--bad-soft);border-radius:8px;padding:8px 12px}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px}.login{place-items:center;min-height:100vh;padding:16px;display:grid}.login-card{flex-direction:column;gap:14px;width:100%;max-width:360px;padding:28px;display:flex}.login-card h1{margin-bottom:4px;font-size:1.3rem}.login-card label{color:var(--muted);flex-direction:column;gap:6px;font-size:.9rem;display:flex}.login-card input{border:1px solid var(--border);background:var(--bg);border-radius:8px;padding:10px 12px}.login-card button{background:var(--accent);color:#fff;border:0;border-radius:8px;padding:10px;font-weight:600}.login-card button:disabled{opacity:.6}.topbar{background:var(--surface);border-bottom:1px solid var(--border);z-index:2;align-items:center;gap:24px;height:56px;padding:0 24px;display:flex;position:sticky;top:0}.brand{font-weight:700}.tabs{flex:1;gap:4px;display:flex;overflow-x:auto}.tab{color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:8px;padding:8px 14px}.tab.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.user{color:var(--muted);align-items:center;gap:12px;font-size:.85rem;display:flex}.link{color:var(--accent);background:0 0;border:0;padding:0}.link.small{margin-left:10px;font-size:.8rem;font-weight:500}main{max-width:1600px;margin:0 auto;padding:24px}.report{flex-direction:column;gap:16px;display:flex}.report-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.report-head p{margin:4px 0 0;font-size:.9rem}.controls{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.presets{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:6px 12px;font-size:.85rem}.chip.active{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.date{color:var(--muted);align-items:center;gap:6px;font-size:.85rem;display:flex}.date input,.search{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:6px 10px}.stats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.stat{flex-direction:column;gap:6px;padding:16px;display:flex}.stat-label{color:var(--muted);font-size:.8rem}.stat-value{font-variant-numeric:tabular-nums;align-items:baseline;font-size:1.8rem;font-weight:700;display:flex}.table-card{overflow:hidden}.table-toolbar{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.checkbox{color:var(--muted);align-items:center;gap:6px;font-size:.85rem;display:flex}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.85rem}th,td{border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;padding:9px 12px}th{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);background:var(--surface);font-size:.72rem;font-weight:600}.pivot th:not(.sticky){text-align:right}.num{text-align:right;font-variant-numeric:tabular-nums}.zero{color:var(--muted);opacity:.5}.total{background:var(--accent-soft);font-weight:700}.sticky{background:var(--surface);font-weight:500;position:sticky;left:0}tfoot td{border-bottom:0;font-weight:700}tbody tr:hover td{background:var(--bg)}.badge{background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:2px 8px;font-size:.78rem;display:inline-block}.badge.tracked{background:var(--good-soft);color:var(--good);border-color:#0000}.badge.error,.badge.not_found{background:var(--bad-soft);color:var(--bad);border-color:#0000}.empty{text-align:center;padding:24px}.others{padding:12px 16px;font-size:.85rem}.others summary{cursor:pointer;color:var(--muted)}.others ul{columns:2;margin:8px 0 0;padding-left:20px}@media (width<=640px){.topbar{gap:12px;padding:0 16px}.user span{display:none}main{padding:16px}}.primary,.secondary,.danger{border:1px solid #0000;border-radius:8px;padding:8px 14px;font-size:.875rem;font-weight:600}.primary{background:var(--accent);color:#fff}.primary:disabled{opacity:.6}.secondary{background:var(--surface);border-color:var(--border)}.danger{color:var(--bad);border-color:var(--bad-soft);background:0 0}.small{font-size:.78rem}.user-cell{flex-direction:column;gap:2px;display:flex}td.wrap{white-space:normal;min-width:160px}td.actions{text-align:right}.badge.role-super_admin{background:var(--accent-soft);color:var(--accent);border-color:#0000}.badge.role-manager{background:var(--good-soft);color:var(--good);border-color:#0000}.notice{border-color:var(--accent);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.notice p{margin:4px 0 8px;font-size:.85rem}.notice-actions{align-items:center;gap:12px;display:flex}.credential{background:var(--bg);word-break:break-all;border-radius:6px;padding:6px 10px;font-size:.85rem;display:inline-block}.empty-state{text-align:center;padding:32px}.empty-state p{margin-top:8px}.modal-backdrop{z-index:10;background:#00000073;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{flex-direction:column;gap:14px;width:100%;max-width:440px;max-height:calc(100vh - 32px);padding:22px;display:flex;overflow-y:auto}.modal p{margin:0}.field{color:var(--muted);border:0;flex-direction:column;gap:6px;margin:0;padding:0;font-size:.85rem;display:flex}.field legend{margin-bottom:6px;padding:0}.field input,.field select{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:8px;width:100%;padding:9px 11px}.field .checkbox{color:var(--text);padding:3px 0}.hint{font-size:.78rem}.input-row{gap:8px;display:flex}.input-row input{flex:1;min-width:0}.modal-actions{align-items:center;gap:8px;margin-top:4px;display:flex}.spacer{flex:1}.field input[type=checkbox],.modal .checkbox input{width:auto;padding:0}.modal .checkbox{justify-content:flex-start;font-size:.85rem}
