:root{--bg-0:oklch(0.155 0.008 264);--bg-1:oklch(0.185 0.009 264);--bg-2:oklch(0.215 0.010 264);--bg-3:oklch(0.255 0.011 264);--bg-inverse:oklch(0.97 0.003 264);--border:oklch(0.28 0.011 264);--border-strong:oklch(0.38 0.012 264);--border-faint:oklch(0.235 0.010 264);--text-0:oklch(0.975 0.003 264);--text-1:oklch(0.80 0.008 264);--text-2:oklch(0.60 0.010 264);--text-3:oklch(0.45 0.010 264);--accent-h:264;--accent:oklch(0.68 0.18 var(--accent-h));--accent-hi:oklch(0.74 0.17 var(--accent-h));--accent-lo:oklch(0.55 0.18 var(--accent-h));--accent-bg:oklch(0.30 0.10 var(--accent-h)/0.25);--accent-bg-strong:oklch(0.40 0.14 var(--accent-h)/0.35);--accent-fg:#fff;--success:oklch(0.74 0.16 155);--success-bg:oklch(0.35 0.10 155/0.20);--warning:oklch(0.80 0.15 75);--warning-bg:oklch(0.35 0.10 75/0.20);--danger:oklch(0.68 0.22 25);--danger-bg:oklch(0.35 0.15 25/0.22);--r-xs:4px;--r-sm:6px;--r-md:8px;--r-lg:12px;--r-xl:16px;--r-2xl:20px;--density:1;--row-h:calc(40px * var(--density));--pad-x:calc(14px * var(--density));--pad-y:calc(10px * var(--density));--shadow-1:0 1px 0 0 oklch(1 0 0/0.04) inset,0 1px 2px oklch(0 0 0/0.4);--shadow-2:0 1px 0 0 oklch(1 0 0/0.05) inset,0 8px 24px oklch(0 0 0/0.4),0 2px 6px oklch(0 0 0/0.3);--shadow-pop:0 1px 0 0 oklch(1 0 0/0.06) inset,0 20px 50px -10px oklch(0 0 0/0.6),0 8px 16px oklch(0 0 0/0.35);--font-sans:"Geist",ui-sans-serif,system-ui,-apple-system,sans-serif;--font-mono:"Geist Mono",ui-monospace,"SF Mono",monospace}[data-theme=light]{--bg-0:oklch(0.985 0.003 264);--bg-1:oklch(1 0 0);--bg-2:oklch(0.965 0.006 264);--bg-3:oklch(0.935 0.008 264);--bg-inverse:oklch(0.18 0.009 264);--border:oklch(0.91 0.008 264);--border-strong:oklch(0.82 0.010 264);--border-faint:oklch(0.945 0.006 264);--text-0:oklch(0.18 0.012 264);--text-1:oklch(0.38 0.012 264);--text-2:oklch(0.55 0.010 264);--text-3:oklch(0.70 0.010 264);--accent-bg:oklch(0.92 0.06 var(--accent-h)/0.7);--accent-bg-strong:oklch(0.85 0.10 var(--accent-h));--shadow-1:0 1px 2px oklch(0 0 0/0.06);--shadow-2:0 8px 24px oklch(0 0 0/0.08),0 1px 2px oklch(0 0 0/0.04);--shadow-pop:0 20px 40px -10px oklch(0 0 0/0.18)}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg-0);color:var(--text-0);font-family:var(--font-sans);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased;font-feature-settings:"cv11","ss01","ss03";text-rendering:optimizeLegibility}#root{min-height:100vh}button{background:none;border:0;cursor:pointer;padding:0}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px;border:2px solid var(--bg-0)}::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}.mono{font-family:var(--font-mono);font-feature-settings:"tnum","zero"}.tnum{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.label{font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}.muted{color:var(--text-2)}.kbd,.subtle{color:var(--text-1)}.kbd{font-family:var(--font-mono);font-size:11px;padding:2px 6px;border-radius:4px;background:var(--bg-2);border:solid var(--border);border-width:1px 1px 2px;line-height:1}.btn{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:var(--r-sm);font-size:13px;font-weight:500;border:1px solid var(--border);background:var(--bg-1);color:var(--text-0);transition:background .12s,border-color .12s,transform 80ms;white-space:nowrap}.btn:hover{background:var(--bg-2);border-color:var(--border-strong)}.btn:active{transform:translateY(.5px)}.btn[disabled]{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg);box-shadow:inset 0 1px 0 0 oklch(1 0 0/.2),0 1px 2px oklch(0 0 0/.3)}.btn.primary:hover{background:var(--accent-hi);border-color:var(--accent-hi)}.btn.ghost{background:transparent;border-color:transparent}.btn.ghost:hover{background:var(--bg-2)}.btn.danger{background:transparent;border-color:var(--border);color:var(--danger)}.btn.danger:hover{background:var(--danger-bg);border-color:var(--danger)}.btn.sm{height:26px;padding:0 8px;font-size:12px;border-radius:var(--r-xs)}.btn.lg{height:40px;padding:0 16px;font-size:14px;border-radius:var(--r-md)}.input,.select,.textarea{width:100%;height:36px;padding:0 12px;border-radius:var(--r-sm);border:1px solid var(--border);background:var(--bg-1);color:var(--text-0);font-size:13px;outline:none;transition:border-color .12s,background .12s,box-shadow .12s}.input::placeholder,.textarea::placeholder{color:var(--text-3)}.input:hover,.select:hover,.textarea:hover{border-color:var(--border-strong)}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px oklch(from var(--accent) l c h/.18);background:var(--bg-1)}.textarea{height:auto;padding:10px 12px;resize:vertical;min-height:72px;line-height:1.5}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--text-2) 50%),linear-gradient(135deg,var(--text-2) 50%,transparent 50%);background-position:calc(100% - 16px) 50%,calc(100% - 11px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:30px}.field{display:flex;flex-direction:column;gap:6px}.field-label{font-size:12px;color:var(--text-1);font-weight:500;display:flex;justify-content:space-between;align-items:baseline}.field-hint{font-size:12px;color:var(--text-3)}.field-required{color:var(--accent)}.card{background:var(--bg-1);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-1)}.card-pad{padding:18px}.card-pad-lg{padding:22px 24px}.card-h{padding:14px 18px;border-bottom:1px solid var(--border-faint);display:flex;align-items:center;gap:10px;justify-content:space-between}.card-h h3{margin:0;font-size:14px;font-weight:600;letter-spacing:-.01em}.badge{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 7px;border-radius:999px;font-size:11px;font-weight:500;background:var(--bg-2);color:var(--text-1);border:1px solid var(--border);line-height:1}.badge.success{background:var(--success-bg);color:var(--success);border-color:oklch(from var(--success) l c h/.3)}.badge.warning{background:var(--warning-bg);color:var(--warning);border-color:oklch(from var(--warning) l c h/.3)}.badge.danger{background:var(--danger-bg);color:var(--danger);border-color:oklch(from var(--danger) l c h/.3)}.badge.accent{background:var(--accent-bg);color:var(--accent-hi);border-color:oklch(from var(--accent) l c h/.3)}.badge.dot:before{content:"";width:6px;height:6px;border-radius:999px;background:currentColor;box-shadow:0 0 8px currentColor}.tbl{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.tbl th{text-align:left;font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);padding:10px 14px;background:var(--bg-1);position:-webkit-sticky;position:sticky;top:0;z-index:1}.tbl td,.tbl th{border-bottom:1px solid var(--border-faint)}.tbl td{padding:12px 14px;vertical-align:middle;color:var(--text-1)}.tbl tr:last-child td{border-bottom:0}.tbl tr.row{transition:background .1s;cursor:pointer}.tbl tr.row:hover td{background:var(--bg-2)}.tbl td.strong{color:var(--text-0);font-weight:500}.tbl td .delta,.tbl td.num{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tbl td .delta{color:var(--success)}.tbl td .delta.neg{color:var(--danger)}.tbl td .delta.zero{color:var(--text-3)}.page-h{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:22px 28px 18px;border-bottom:1px solid var(--border-faint)}.page-h .title-row{display:flex;flex-direction:column;gap:4px}.page-h h1{margin:0;font-size:22px;font-weight:600;letter-spacing:-.02em}.page-h .crumb{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-2)}.page-body{padding:24px 28px 60px}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.4)}}.pulse{animation:pulse-dot 1.6s ease-in-out infinite}@keyframes spin{to{transform:rotate(1turn)}}.spin{animation:spin .8s linear infinite}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:fadeUp .24s ease-out both}@keyframes slideIn{0%{transform:translateX(100%)}to{transform:translateX(0)}}.slide-in{animation:slideIn .22s cubic-bezier(.2,.8,.2,1) both}[data-density=compact]{--row-h:32px;--pad-x:10px;--pad-y:6px}[data-density=compact] .tbl th{padding:8px 12px}[data-density=compact] .tbl td{padding:8px 12px;font-size:12.5px}[data-density=compact] .card-pad{padding:14px}[data-density=spacious]{--row-h:48px;--pad-x:18px;--pad-y:14px}[data-density=spacious] .tbl th{padding:14px 18px}[data-density=spacious] .tbl td{padding:16px 18px}[data-density=spacious] .card-pad{padding:24px}.grid-5{grid-template-columns:repeat(5,1fr);grid-gap:14px}.grid-4,.grid-5{display:grid;gap:14px}.grid-4{grid-template-columns:repeat(4,1fr);grid-gap:14px}.grid-3{grid-template-columns:repeat(3,1fr);grid-gap:14px}.grid-2,.grid-3{display:grid;gap:14px}.grid-2{grid-template-columns:1fr 1fr;grid-gap:14px}@media (max-width:1100px){.grid-4,.grid-5{grid-template-columns:repeat(2,1fr)}}.stack{flex-direction:column}.row,.stack{display:flex}.row{align-items:center}.row.between{justify-content:space-between}.gap-4{gap:4px}.gap-6{gap:6px}.gap-8{gap:8px}.gap-10{gap:10px}.gap-12{gap:12px}.gap-14{gap:14px}.gap-16{gap:16px}.gap-20{gap:20px}.gap-24{gap:24px}.mt-4{margin-top:4px}.mt-6{margin-top:6px}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mt-20{margin-top:20px}.mt-24{margin-top:24px}.mt-32{margin-top:32px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}@media (max-width:768px){aside{transform:translateX(-100%);z-index:100;position:fixed!important}aside.mobile-open{transform:translateX(0)}.sidebar-overlay{display:none;position:fixed;inset:0;background:oklch(0 0 0/.5);z-index:99}.sidebar-overlay.active{display:block}.hamburger{display:inline-flex!important;position:fixed;top:10px;left:10px;width:40px;height:40px;border-radius:10px;color:var(--text-0);z-index:101;box-shadow:var(--shadow-2)}.page-h{padding-left:60px!important}main{min-width:0!important}.page-h{padding:14px 16px 12px;flex-wrap:wrap;gap:12px}.page-h h1{font-size:18px}.page-h .crumb{font-size:11px}.page-body{padding:16px 16px 80px}.grid-2,.grid-3,.grid-4,.grid-5{grid-template-columns:1fr!important}.card-pad{padding:14px}.card-pad-lg{padding:16px}.card-h{padding:12px 14px}.page-h>.row{flex-wrap:wrap;gap:8px}.page-h .btn.primary{width:100%;justify-content:center}.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.tbl{min-width:600px}.tbl td,.tbl th{padding:10px 12px}.row.between.wrap-mobile{flex-direction:column;align-items:flex-start;gap:12px}.input,.select,.textarea{font-size:16px}.hamburger{display:flex!important;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--r-sm);border:1px solid var(--border);background:var(--bg-1);flex-shrink:0}.stat-value{font-size:28px!important}.tbl .col-hide-mobile{display:none}}.hamburger{display:none}@media (max-width:480px){.page-h h1{font-size:16px}.grid-2,.grid-3,.grid-4,.grid-5{gap:10px}.card-pad,.card-pad-lg{padding:12px}.page-body{padding:12px 12px 80px}}body,html{overflow-x:hidden;max-width:100vw}*{max-width:100%;min-width:0}.tbl{max-width:none;min-width:600px}.tbl-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}