:root{color-scheme:light;--surface-1: #fcfcfb;--page-plane: #f9f9f7;--text-primary: #0b0b0b;--text-secondary: #52514e;--text-muted: #898781;--gridline: #e1e0d9;--baseline: #c3c2b7;--border: rgba(11, 11, 11, .1);--series-1: #2a78d6;--status-good: #0ca30c;--status-warning: #fab219;--status-critical: #d03b3b}@media (prefers-color-scheme: dark){:root:where(:not([data-theme=light])){color-scheme:dark;--surface-1: #1a1a19;--page-plane: #0d0d0d;--text-primary: #ffffff;--text-secondary: #c3c2b7;--text-muted: #898781;--gridline: #2c2c2a;--baseline: #383835;--border: rgba(255, 255, 255, .1);--series-1: #3987e5;--status-good: #0ca30c;--status-warning: #fab219;--status-critical: #d03b3b}}:root[data-theme=dark]{color-scheme:dark;--surface-1: #1a1a19;--page-plane: #0d0d0d;--text-primary: #ffffff;--text-secondary: #c3c2b7;--text-muted: #898781;--gridline: #2c2c2a;--baseline: #383835;--border: rgba(255, 255, 255, .1);--series-1: #3987e5;--status-good: #0ca30c;--status-warning: #fab219;--status-critical: #d03b3b}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:var(--page-plane);color:var(--text-primary)}.app-shell{max-width:1120px;margin:0 auto;padding:24px 20px 64px}.app-header h1{margin:0 0 4px;font-size:24px}.app-header__subtitle{margin:0 0 20px;color:var(--text-secondary);font-size:14px}.app-main{display:flex;flex-direction:column;gap:20px}.kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.kpi-card{background:var(--surface-1);border:1px solid var(--border);border-radius:10px;padding:16px}.kpi-card__title{font-size:13px;color:var(--text-secondary);margin-bottom:6px}.kpi-card__value{font-size:20px;font-weight:600;font-variant-numeric:tabular-nums}.charts-panel{display:grid;grid-template-columns:2fr 1fr;gap:12px}.chart-card{background:var(--surface-1);border:1px solid var(--border);border-radius:10px;padding:16px;position:relative}.chart-card__title{margin:0 0 12px;font-size:14px;color:var(--text-primary)}.chart-axis{stroke:var(--baseline);stroke-width:1}.chart-tick{fill:var(--text-muted);font-size:10px}.chart-line--series-1{stroke:var(--series-1);stroke-width:2;stroke-linecap:round}.chart-dot--series-1{fill:var(--series-1);stroke:var(--surface-1);stroke-width:2}.chart-crosshair{stroke:var(--gridline);stroke-width:1;stroke-dasharray:3 3}.chart-tooltip{position:absolute;top:12px;right:16px;background:var(--surface-1);border:1px solid var(--border);border-radius:8px;padding:6px 10px;font-size:12px;display:flex;flex-direction:column;gap:2px;box-shadow:0 2px 8px #0000001f}.donut-wrap{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.donut-track{stroke:var(--gridline);stroke-width:28}.donut-seg{transition:opacity .15s ease;cursor:pointer}.donut-seg--success{stroke:var(--status-good)}.donut-seg--failed{stroke:var(--status-critical)}.donut-seg--pending{stroke:var(--status-warning)}.donut-center-value{font-size:22px;font-weight:600;fill:var(--text-primary);font-variant-numeric:tabular-nums}.donut-center-label{font-size:11px;fill:var(--text-secondary)}.chart-legend{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:13px}.chart-legend__item{display:flex;align-items:center;gap:8px;cursor:pointer;color:var(--text-secondary);border-radius:6px;padding:2px 4px}.chart-legend__item.is-active{color:var(--text-primary);background:var(--page-plane)}.chart-legend__swatch{width:10px;height:10px;border-radius:3px;display:inline-block}.chart-legend__swatch--success{background:var(--status-good)}.chart-legend__swatch--failed{background:var(--status-critical)}.chart-legend__swatch--pending{background:var(--status-warning)}.filter-bar{display:flex;flex-wrap:wrap;align-items:end;gap:12px;background:var(--surface-1);border:1px solid var(--border);border-radius:10px;padding:14px 16px}.filter-field{display:flex;flex-direction:column;gap:4px;font-size:12px}.filter-field label{color:var(--text-secondary)}.filter-field input,.filter-field select{font:inherit;padding:6px 8px;border:1px solid var(--border);border-radius:6px;background:var(--page-plane);color:var(--text-primary);min-width:140px}.btn-clear-filters{font:inherit;padding:7px 14px;border:1px solid var(--border);border-radius:6px;background:var(--page-plane);color:var(--text-primary);cursor:pointer}.btn-clear-filters:hover{background:var(--gridline)}.status-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600}.status-badge--success{color:var(--status-good);background:color-mix(in srgb,var(--status-good) 14%,transparent)}.status-badge--failed{color:var(--status-critical);background:color-mix(in srgb,var(--status-critical) 14%,transparent)}.status-badge--pending{color:#8a6400;background:color-mix(in srgb,var(--status-warning) 22%,transparent)}.transaction-table-wrap{background:var(--surface-1);border:1px solid var(--border);border-radius:10px;padding:8px 16px 16px;overflow-x:auto}.transaction-table{width:100%;border-collapse:collapse;font-size:13px}.transaction-table th,.transaction-table td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--gridline);white-space:nowrap}.cell-numeric{font-variant-numeric:tabular-nums}.sort-header{display:inline-flex;align-items:center;gap:4px;background:none;border:none;font:inherit;font-weight:600;color:var(--text-secondary);cursor:pointer;padding:0}.sort-header.is-active{color:var(--text-primary)}.sort-header__arrow{font-size:10px}.pagination{display:flex;align-items:center;gap:12px;padding-top:12px;font-size:13px}.pagination button{font:inherit;padding:6px 12px;border:1px solid var(--border);border-radius:6px;background:var(--page-plane);color:var(--text-primary);cursor:pointer}.pagination button:disabled{opacity:.4;cursor:not-allowed}.pagination__indicator{color:var(--text-secondary)}.empty-state{background:var(--surface-1);border:1px solid var(--border);border-radius:10px;padding:40px 20px;text-align:center}.empty-state__title{font-size:16px;font-weight:600;margin:0 0 4px}.empty-state__body{color:var(--text-secondary);margin:0 0 16px}@media (max-width: 860px){.kpi-row{grid-template-columns:repeat(2,1fr)}.charts-panel{grid-template-columns:1fr}}@media (max-width: 520px){.kpi-row{grid-template-columns:1fr}.filter-bar{flex-direction:column;align-items:stretch}.filter-field input,.filter-field select{min-width:0}}
