:root{--bg:#f4f5f7;--surface:#fff;--surface-hover:#f0f2f5;--text-primary:#111827;--text-secondary:#6b7280;--border-subtle:#e5e7eb;--primary:#3b63f3;--primary-tint:#3b63f31a;--accent-warm:#d97706;--accent-viz:#b14bf4;--success:#16a34a;--success-bg:#dcfce7;--danger:#dc2626;--danger-bg:#fee2e2;--warning:#d97706;--warning-bg:#fef3c7;--info:#2563eb;--info-bg:#dbeafe;--neutral:#6b7280;--neutral-bg:#f3f4f6;--shadow-card:0 1px 3px #1018280f;--radius-card:16px;--radius-control:10px;--radius-pill:999px}[data-theme=dark]{--bg:#12141c;--surface:#1b1e28;--surface-hover:#232734;--text-primary:#f3f4f6;--text-secondary:#9ca3af;--border-subtle:#2a2e3b;--primary:#5b7ef5;--primary-tint:#5b7ef529;--accent-warm:#d97706;--accent-viz:#b96af0;--success:#4ade80;--success-bg:#16a34a26;--danger:#f87171;--danger-bg:#dc262626;--warning:#fbbf24;--warning-bg:#d9770626;--info:#93c5fd;--info-bg:#2563eb26;--neutral:#9ca3af;--neutral-bg:#9ca3af1f;--shadow-card:none}*{box-sizing:border-box}body,html{margin:0;padding:0}body{-webkit-font-smoothing:antialiased;background:#f4f5f7;background:var(--bg);color:#111827;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.5}a{color:inherit}button{font-family:inherit}:focus-visible{border-radius:4px;outline:2px solid #3b63f3;outline:2px solid var(--primary);outline-offset:2px}.kpi-value,.num,td.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important}}.shell{display:flex;min-height:100vh}.sidebar{background:#fff;background:var(--surface);border-right:1px solid #e5e7eb;border-right:1px solid var(--border-subtle);display:flex;flex:0 0 240px;flex-direction:column;height:100vh;padding:20px 12px;position:-webkit-sticky;position:sticky;top:0;width:240px;z-index:50}.main{display:flex;flex:1 1;flex-direction:column;min-width:0}.content{flex:1 1;margin:0 auto;max-width:1440px;padding:20px;width:100%}.topbar{background:#f4f5f7;background:var(--bg);border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-subtle);gap:12px;padding:14px 20px;position:-webkit-sticky;position:sticky;top:0;z-index:40}.nav-item,.topbar{align-items:center;display:flex}.nav-item{background:none;border:none;border-radius:10px;border-radius:var(--radius-control);color:#6b7280;color:var(--text-secondary);cursor:pointer;font-size:13.5px;font-weight:500;gap:10px;padding:10px 12px;text-align:left;text-decoration:none;transition:background .15s ease-out,color .15s ease-out;width:100%}.nav-item:hover{background:#f0f2f5;background:var(--surface-hover);color:#111827;color:var(--text-primary)}.nav-item.active{background:#3b63f31a;background:var(--primary-tint);color:#3b63f3;color:var(--primary);font-weight:600}.nav-label{white-space:nowrap}.card{background:#fff;background:var(--surface);border-radius:16px;border-radius:var(--radius-card);box-shadow:0 1px 3px #1018280f;box-shadow:var(--shadow-card);padding:20px}.card-title{color:#111827;color:var(--text-primary);font-size:15px;font-weight:600;margin:0}.card-label{color:#6b7280;color:var(--text-secondary);font-size:12px;font-weight:500}.kpi-value{font-size:30px;font-weight:700;line-height:1.15}.btn,.kpi-value{color:#111827;color:var(--text-primary)}.btn{align-items:center;background:#fff;background:var(--surface);border:1px solid #e5e7eb;border:1px solid var(--border-subtle);border-radius:10px;border-radius:var(--radius-control);cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:6px;padding:8px 14px;transition:background .15s ease-out}.btn:hover{background:#f0f2f5;background:var(--surface-hover)}.btn:disabled{cursor:not-allowed;opacity:.55}.btn-primary{border-color:#3b63f3;border-color:var(--primary);color:#fff}.btn-primary,.btn-primary:hover{background:#3b63f3;background:var(--primary)}.btn-primary:hover{filter:brightness(1.08)}.select{background:#fff;background:var(--surface);border:1px solid #e5e7eb;border:1px solid var(--border-subtle);border-radius:10px;border-radius:var(--radius-control);color:#111827;color:var(--text-primary);font-family:inherit;font-size:13px;padding:8px 12px}.badge{align-items:center;border-radius:999px;border-radius:var(--radius-pill);display:inline-flex;font-size:11.5px;font-weight:600;gap:4px;line-height:1.4;padding:3px 10px}.table{border-collapse:collapse;width:100%}.table th{color:#6b7280;color:var(--text-secondary);font-size:12px;font-weight:600;letter-spacing:.04em;padding:10px 12px;text-align:left;text-transform:uppercase}.table td,.table th{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--border-subtle)}.table td{color:#111827;color:var(--text-primary);font-size:13px;height:48px;padding:0 12px}.table tbody tr{transition:background .15s ease-out}.table tbody tr:hover{background:#f0f2f5;background:var(--surface-hover)}.table td.num,.table th.num{text-align:right}.skeleton{background:#f0f2f5;background:var(--surface-hover);border-radius:8px;overflow:hidden;position:relative}.skeleton:after{animation:shimmer 1.4s infinite;background:linear-gradient(90deg,#0000,#ffffff40,#0000);content:"";inset:0;position:absolute;transform:translateX(-100%)}[data-theme=dark] .skeleton:after{background:linear-gradient(90deg,#0000,#ffffff0f,#0000)}@keyframes shimmer{to{transform:translateX(100%)}}.kpi-grid{grid-gap:16px;grid-template-columns:repeat(4,1fr)}.kpi-grid,.row-2col{display:grid;gap:16px}.row-2col{grid-gap:16px;align-items:start;grid-template-columns:2fr 1fr}.hamburger{display:none}@media (max-width:1279px){.sidebar{flex-basis:68px;padding:20px 10px;width:68px}.sidebar .brand-text,.sidebar .nav-label{display:none}.nav-item{justify-content:center;padding:10px}}@media (max-width:767px){.sidebar{border-right:1px solid #e5e7eb;border-right:1px solid var(--border-subtle);left:0;position:fixed;top:0;transform:translateX(-100%);transition:transform .2s ease-out;width:240px}.sidebar.open{transform:translateX(0)}.sidebar.open .brand-text,.sidebar.open .nav-label{display:inline}.sidebar.open .nav-item{justify-content:flex-start;padding:10px 12px}.hamburger{display:inline-flex}.topbar{flex-wrap:wrap}.topbar-date{display:none}.kpi-grid,.row-2col{grid-template-columns:1fr}.content{padding:12px}.scrim{background:#0006;inset:0;position:fixed;z-index:45}}@media (min-width:768px) and (max-width:1279px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.row-2col{grid-template-columns:1fr}}
/*# sourceMappingURL=main.9c397e52.css.map*/