.filter-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;background:var(--bg-2);color:var(--fg-2);border:1px solid var(--line-2);border-radius:var(--r-md);font:inherit;font-size:12.5px;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.filter-btn:hover{background:var(--bg-hover);border-color:var(--line-strong)}.filter-btn.is-open{background:var(--bg-elev);border-color:var(--violet-500);box-shadow:0 0 0 3px color-mix(in oklab,var(--violet-500) 18%,transparent)}.filter-btn.is-active{background:color-mix(in oklab,var(--violet-500) 14%,var(--bg-2));border-color:color-mix(in oklab,var(--violet-500) 55%,var(--line));color:var(--violet-500);font-weight:600}.filter-btn.is-active.is-open{background:var(--gradient);color:#fff;border-color:transparent;box-shadow:0 8px 24px -10px rgba(124,91,255,.55)}.kpi.featured{box-shadow:0 20px 48px -24px rgba(124,91,255,.6)}.kpi.featured .num{font-size:36px}.modal-back{position:fixed;inset:0;background:rgba(0,0,0,.5);backdrop-filter:blur(6px) saturate(140%);display:flex;align-items:center;justify-content:center;padding:30px;z-index:100}.modal{width:100%;max-width:760px;background:var(--bg-elev);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:0 40px 80px -20px rgba(0,0,0,.5),0 0 0 1px color-mix(in oklab,var(--violet-500) 25%,transparent);max-height:90vh;display:flex;flex-direction:column}.modal-h{display:flex;align-items:flex-start;gap:12px;padding:18px 22px;border-bottom:1px solid var(--line);background:radial-gradient(60% 100% at 100% 0,color-mix(in oklab,var(--violet-500) 12%,transparent),transparent 60%),var(--bg-elev)}.modal-title{margin:4px 0 0;font-size:18px;font-weight:600}.modal-b{padding:20px 22px;overflow-y:auto;flex:1}.modal-f{align-items:stretch;gap:8px;padding:14px 22px}.modal-f,.paginator{display:flex;border-top:1px solid var(--line);background:var(--bg-2)}.paginator{align-items:center;gap:12px;padding:10px 14px}.paginator .grow{flex:1}.paginator small{color:var(--fg-mute)}.paginator .page-btns{display:flex;gap:4px}.paginator .page-btn{width:28px;height:28px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;color:var(--fg-2);cursor:pointer;font-size:12px}.paginator .page-btn:hover{background:var(--bg-hover);border-color:var(--line)}.paginator .page-btn.is-active{background:var(--gradient);color:#fff;border-color:transparent}.paginator .page-btn:disabled{opacity:.4;cursor:default}.paginator .page-btn:disabled:hover{background:transparent;border-color:transparent}.switch{display:inline-flex;align-items:center;gap:8px;background:none;border:none;padding:2px;cursor:pointer;border-radius:var(--r-sm);outline:none}.switch:focus-visible{box-shadow:var(--ring)}.switch--disabled{opacity:.45;cursor:not-allowed}.switch__track{flex-shrink:0;position:relative;width:36px;height:20px;border-radius:var(--r-full);background:var(--line-2);transition:background .18s}.switch--on .switch__track{background:var(--violet-500)}.switch__knob{position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .18s}.switch--on .switch__knob{transform:translateX(16px)}.switch__label{font-size:13px;line-height:1;color:var(--fg-2);user-select:none}.tbl-wrap{background:var(--bg-elev);border:1px solid var(--line);border-radius:var(--r-lg);overflow-x:auto}.tbl-wrap>.paginator,.tbl-wrap>.tbl-toolbar{position:sticky;left:0}.tbl{width:100%;border-collapse:collapse}.tbl td,.tbl th{padding:10px 14px;text-align:left;vertical-align:middle}.tbl thead th{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--fg-mute);background:color-mix(in oklab,var(--bg-2) 60%,var(--bg));white-space:nowrap}.tbl tbody td,.tbl thead th{border-bottom:1px solid var(--line)}.tbl tbody td{font-size:13px}.tbl tbody tr:hover td{background:var(--bg-hover)}.tbl tbody tr:last-child td{border-bottom:none}.tbl .num-cell{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right}.tbl .id-cell{font-family:var(--font-mono);font-size:12px;color:var(--fg-2)}.empty{padding:48px 24px;text-align:center;color:var(--fg-mute);display:flex;flex-direction:column;align-items:center;gap:10px}