:root{--bg: #f5f6f8;--surface: #ffffff;--surface-2: #f8fafc;--surface-3: #f1f4f8;--border: #e5e8ee;--border-strong: #d3d9e2;--text: #0f172a;--text-soft: #475569;--text-muted: #7c879a;--accent: #4f46e5;--accent-hover: #4338ca;--accent-soft: #eef0ff;--accent-line: #c7cbff;--on-accent: #ffffff;--danger: #dc2626;--danger-soft: #fef2f2;--danger-line: #fbcfcf;--success: #0f766e;--success-soft: #ecfdf5;--warning: #b45309;--warning-soft: #fffbeb;--violet: #7c3aed;--violet-soft: #f5f3ff;--overlay: rgba(15, 23, 42, .42);--series-1: #4f46e5;--series-2: #0d9488;--series-3: #d97706;--grid-line: rgba(100, 116, 139, .16);--radius: 14px;--radius-sm: 10px;--radius-xs: 7px;--shadow-xs: 0 1px 2px rgba(15, 23, 42, .05);--shadow-sm: 0 1px 3px rgba(15, 23, 42, .07), 0 1px 2px rgba(15, 23, 42, .04);--shadow-md: 0 8px 24px rgba(15, 23, 42, .1);--shadow-lg: 0 24px 56px rgba(15, 23, 42, .22);--topbar-h: 60px;--row-h: 40px;color-scheme:light}[data-theme=dark]{--bg: #0a0d14;--surface: #121722;--surface-2: #171d2a;--surface-3: #1d2431;--border: #242c3b;--border-strong: #333d50;--text: #e8ecf4;--text-soft: #aeb9cc;--text-muted: #7d89a3;--accent: #7c8cff;--accent-hover: #94a1ff;--accent-soft: #1b2140;--accent-line: #37407a;--on-accent: #0a0d14;--danger: #ff6b6b;--danger-soft: #2a1618;--danger-line: #4d2529;--success: #34d399;--success-soft: #10231f;--warning: #fbbf24;--warning-soft: #2a2113;--violet: #a78bfa;--violet-soft: #201a38;--overlay: rgba(2, 4, 10, .66);--series-1: #7c8cff;--series-2: #2dd4bf;--series-3: #fbbf24;--grid-line: rgba(148, 163, 184, .14);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .4);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .45);--shadow-md: 0 8px 24px rgba(0, 0, 0, .5);--shadow-lg: 0 24px 56px rgba(0, 0, 0, .6);color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:radial-gradient(1100px 400px at 50% -190px,var(--accent-soft),transparent 70%),var(--bg);color:var(--text);font-family:Inter,Segoe UI Variable Text,Segoe UI,system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0;font-weight:650;letter-spacing:-.015em}h1{font-size:21px}h2{font-size:15px}h3{font-size:13.5px}p{margin:0}button{font:inherit;color:inherit;cursor:pointer;border:none;background:none}button:disabled{cursor:not-allowed;opacity:.5}input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border:3px solid transparent;background-clip:content-box;border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted);background-clip:content-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.eyebrow{display:block;font-size:10px;font-weight:700;letter-spacing:.1em;color:var(--text-muted);text-transform:uppercase}.kbd{display:inline-flex;align-items:center;justify-content:center;min-width:19px;height:19px;padding:0 5px;border:1px solid var(--border-strong);border-bottom-width:2px;border-radius:5px;background:var(--surface-2);font-family:inherit;font-size:10.5px;font-weight:600;color:var(--text-muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:34px;padding:0 13px;border:1px solid var(--border-strong);border-radius:var(--radius-xs);background:var(--surface);font-size:13px;font-weight:600;color:var(--text-soft);white-space:nowrap;transition:border-color .12s,color .12s,background-color .12s}.btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.btn-primary{border-color:transparent;background:var(--accent);color:var(--on-accent)}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:transparent;color:var(--on-accent)}.btn-ghost{border-color:transparent;background:transparent}.btn-ghost:hover:not(:disabled){background:var(--surface-3);color:var(--text);border-color:transparent}.btn-danger{border-color:var(--danger-line);color:var(--danger)}.btn-danger:hover:not(:disabled){background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}.icon-button{display:grid;place-items:center;width:34px;height:34px;flex:none;border:1px solid var(--border-strong);border-radius:var(--radius-xs);background:var(--surface);color:var(--text-soft);transition:border-color .12s,color .12s}.icon-button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.icon-button.subtle{border-color:transparent;background:transparent}.icon-button.subtle:hover:not(:disabled){background:var(--surface-3);color:var(--text)}.segmented{display:inline-flex;gap:2px;padding:3px;border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--surface-2)}.segmented button{min-width:42px;height:26px;padding:0 10px;border-radius:5px;font-size:12.5px;font-weight:600;color:var(--text-muted);transition:color .12s,background-color .12s}.segmented button:hover:not(.active){color:var(--text)}.segmented button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-xs)}.spin-icon{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.button-spinner,.loader{display:inline-block;width:15px;height:15px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;opacity:.8;animation:spin .7s linear infinite}.loader{width:26px;height:26px;color:var(--accent);opacity:1}.skeleton{display:block;border-radius:6px;background:linear-gradient(90deg,var(--surface-2) 25%,var(--surface-3) 37%,var(--surface-2) 63%);background-size:400% 100%;animation:shimmer 1.5s ease infinite}@keyframes shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.topbar{position:sticky;top:0;z-index:40;height:var(--topbar-h);border-bottom:1px solid var(--border);background:var(--surface)}.topbar-inner{display:flex;align-items:center;gap:12px;max-width:1560px;height:100%;margin:0 auto;padding:0 20px}.brand{display:flex;align-items:center;gap:10px;flex:none}.brand-mark{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:linear-gradient(140deg,var(--accent),var(--violet));color:#fff}.brand-copy{display:flex;flex-direction:column;line-height:1.15}.brand-copy strong{font-size:14px;font-weight:650;letter-spacing:-.01em}.brand-copy small{font-size:11px;color:var(--text-muted)}.topbar-divider{width:1px;height:24px;background:var(--border);flex:none}.topbar-context{display:flex;align-items:center;gap:2px;min-width:0;flex:1}.crumb-sep{color:var(--border-strong);flex:none}.topbar-actions{display:flex;align-items:center;gap:8px;flex:none;margin-left:auto}.cmd-trigger{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 7px 0 11px;border:1px solid var(--border-strong);border-radius:var(--radius-xs);background:var(--surface);color:var(--text-muted);font-size:13px;transition:border-color .12s}.cmd-trigger:hover{border-color:var(--accent);color:var(--text-soft)}.cmd-trigger span{min-width:92px;text-align:left}.user-menu{flex:none}.user-chip{display:flex;align-items:center;gap:9px;height:38px;padding:0 10px 0 6px;border:1px solid transparent;border-radius:var(--radius-xs);background:transparent;text-align:left;transition:background-color .12s,border-color .12s}.user-chip:hover{background:var(--surface-3);border-color:var(--border)}.user-avatar{display:grid;place-items:center;width:28px;height:28px;flex:none;border-radius:999px;background:linear-gradient(140deg,var(--accent),var(--violet));color:#fff;font-size:12px;font-weight:700}.user-copy{display:flex;flex-direction:column;line-height:1.15}.user-copy strong{font-size:12.5px;font-weight:650;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-copy small{font-size:10.5px;color:var(--text-muted)}.login-page{display:grid;place-items:center;min-height:100vh;padding:24px;background:radial-gradient(1200px 600px at 50% -10%,var(--surface-3),var(--surface))}.login-card{display:flex;flex-direction:column;align-items:center;gap:14px;width:100%;max-width:400px;padding:40px 32px;border:1px solid var(--border);border-radius:16px;background:var(--surface);box-shadow:var(--shadow-md, 0 18px 50px rgba(0,0,0,.12));text-align:center}.login-brand{margin-bottom:6px}.login-card h1{font-size:24px;font-weight:750;letter-spacing:-.02em}.login-subtitle{font-size:13px;color:var(--text-muted);line-height:1.5}.login-sso-btn{width:100%;height:42px;margin-top:8px;gap:10px;font-size:14px}.login-card .error-banner{width:100%;text-align:left}.admin-shell{min-height:100%;background:var(--bg)}.admin-topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:var(--topbar-h);padding:10px 24px;border-bottom:1px solid var(--border);background:var(--surface)}.admin-brand,.admin-actions{display:flex;align-items:center;gap:12px}.admin-brand h1{font-size:17px}.admin-brand .brand-mark{width:32px;height:32px;flex:none}.admin-actions{margin-left:auto}.admin-identity{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);font-size:12px}.back-icon{transform:rotate(180deg)}.admin-page{max-width:1240px;margin:0 auto;padding:34px 24px 64px}.admin-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}.admin-heading h2{margin-top:5px;font-size:25px;letter-spacing:-.025em}.admin-heading p{margin-top:5px;color:var(--text-muted)}.admin-count{display:flex;align-items:baseline;gap:7px;padding:10px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.admin-count strong{font-size:24px;font-variant-numeric:tabular-nums}.admin-count span{color:var(--text-muted);font-size:12px}.admin-grid{display:grid;grid-template-columns:minmax(240px,.72fr) minmax(540px,1.8fr);align-items:start;gap:14px}.admin-field{display:flex;flex-direction:column;gap:6px}.admin-field>span{color:var(--text-soft);font-size:12px;font-weight:650}.admin-field>span small{color:var(--text-muted);font-weight:400}.admin-field input,.admin-field select{width:100%;height:36px;padding:0 10px;border:1px solid var(--border-strong);border-radius:var(--radius-xs);background:var(--surface);outline:none}.admin-field input:focus,.admin-field select:focus{border-color:var(--accent)}.admin-submit{width:100%;margin-top:4px}.admin-table-wrap{min-height:160px;overflow-x:auto}.admin-empty{min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:30px;text-align:center;color:var(--text-muted)}.admin-empty strong{color:var(--text)}.admin-empty .empty-icon{width:44px;height:44px}.admin-notice{display:flex;align-items:center;gap:8px;margin-bottom:14px;padding:10px 13px;border:1px solid color-mix(in srgb,var(--success) 30%,transparent);border-radius:var(--radius-sm);background:var(--success-soft);color:var(--success);font-size:13px}.admin-row{display:grid;grid-template-columns:minmax(220px,1.5fr) 100px 100px 88px;align-items:center;gap:12px;min-width:620px;padding:10px 16px;border-bottom:1px solid var(--border)}.admin-row:last-child{border-bottom:none}.admin-row-head{padding-top:11px;padding-bottom:8px;color:var(--text-muted);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.account-cell{display:flex;align-items:center;gap:9px;min-width:0}.account-cell>span:last-child{display:flex;flex-direction:column;min-width:0;line-height:1.25}.account-cell strong,.account-cell small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-cell strong{font-size:12.5px}.account-cell small{color:var(--text-muted);font-size:11px}.select-field.compact{width:92px;height:30px;padding-left:8px;font-size:12px}.admin-status{display:inline-flex;align-items:center;gap:6px;color:var(--text-muted);font-size:12px;text-transform:capitalize}.admin-status i{width:7px;height:7px;border-radius:50%;background:var(--text-muted)}.admin-status.active{color:var(--success)}.admin-status.active i{background:var(--success)}.compact-btn{height:30px;padding:0 8px;font-size:11.5px}@media(max-width:900px){.admin-grid{grid-template-columns:1fr}.admin-topbar{padding:10px 14px}.admin-identity{display:none}}@media(max-width:560px){.admin-page{padding:24px 12px 44px}.admin-heading{align-items:flex-start;flex-direction:column;gap:14px}.admin-heading h2{font-size:21px}.admin-actions .btn-ghost{display:none}.admin-brand h1{font-size:15px}}.combo{position:relative;min-width:0}.combo-trigger{display:flex;align-items:center;gap:8px;max-width:250px;height:38px;padding:0 8px 0 10px;border:1px solid transparent;border-radius:var(--radius-xs);background:transparent;text-align:left;transition:background-color .12s,border-color .12s}.combo-trigger:hover:not(:disabled),.combo-trigger.open{background:var(--surface-3);border-color:var(--border)}.combo-copy{display:flex;flex-direction:column;min-width:0;line-height:1.15}.combo-copy small{font-size:9.5px;font-weight:700;letter-spacing:.09em;color:var(--text-muted);text-transform:uppercase}.combo-copy strong{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.combo-trigger>svg:last-child{color:var(--text-muted);flex:none}.combo-menu{position:absolute;z-index:50;top:calc(100% + 6px);left:0;width:max(300px,100%);display:flex;flex-direction:column;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-lg);overflow:hidden}.combo-search{display:flex;align-items:center;gap:8px;padding:9px 12px;border-bottom:1px solid var(--border);color:var(--text-muted)}.combo-search input{flex:1;min-width:0;border:none;background:none;outline:none}.combo-list{max-height:300px;overflow-y:auto;padding:6px}.combo-option{display:flex;align-items:center;gap:9px;width:100%;padding:8px 10px;border-radius:var(--radius-xs);text-align:left;font-size:13px}.combo-option span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.combo-option svg{flex:none;color:var(--accent)}.combo-option:hover,.combo-option.cursor{background:var(--surface-3)}.combo-option.active{color:var(--accent);font-weight:600}.combo-empty{padding:26px 16px;text-align:center;color:var(--text-muted);font-size:13px}.page{max-width:1560px;margin:0 auto;padding:18px 20px 64px;display:flex;flex-direction:column;gap:14px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.page-title{display:flex;flex-direction:column;gap:1px}.status-strip{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 11px;border:1px solid var(--border);border-radius:99px;background:var(--surface);font-size:12px;color:var(--text-muted)}.chip strong{color:var(--text);font-weight:600}.chip .dot{width:6px;height:6px;border-radius:50%;background:var(--success);flex:none}.chip.alert{border-color:var(--danger-line);background:var(--danger-soft);color:var(--danger)}.chip.alert strong{color:var(--danger)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:13px 16px;border-bottom:1px solid var(--border)}.panel-title{display:flex;align-items:center;gap:10px;min-width:0}.panel-title small{display:block;font-size:12px;font-weight:400;color:var(--text-muted)}.section-icon{display:grid;place-items:center;width:30px;height:30px;flex:none;border-radius:9px;background:var(--accent-soft);color:var(--accent)}.panel-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.panel-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:12px}.error-banner{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--danger-line);border-radius:var(--radius);background:var(--danger-soft);color:var(--danger)}.banner-icon{display:grid;place-items:center;flex:none}.error-banner>div{flex:1;min-width:0}.error-banner strong{display:block;font-size:13.5px}.error-banner p{font-size:12.5px;opacity:.85;overflow-wrap:anywhere}.text-button{padding:6px 12px;border:1px solid var(--danger-line);border-radius:var(--radius-xs);background:var(--surface);color:var(--danger);font-size:13px;font-weight:600;white-space:nowrap}.text-button:hover{background:var(--danger-soft)}.dismiss-button{display:grid;place-items:center;width:28px;height:28px;flex:none;border-radius:6px}.dismiss-button:hover{background:var(--surface)}.welcome-state{display:flex;flex-direction:column;align-items:center;gap:10px;padding:80px 24px;text-align:center;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.welcome-state p{color:var(--text-muted);max-width:400px}.empty-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:var(--accent-soft);color:var(--accent)}.toast-stack{position:fixed;left:50%;bottom:24px;z-index:90;display:flex;flex-direction:column;gap:8px;align-items:center;transform:translate(-50%)}.toast{display:flex;align-items:center;gap:9px;max-width:min(520px,calc(100vw - 32px));padding:10px 15px;border-radius:10px;background:var(--text);color:var(--surface);font-size:13px;box-shadow:var(--shadow-lg);animation:toast-in .16s ease-out}.toast svg{flex:none}.toast.error{background:var(--danger);color:#fff}.toast.success{background:var(--success);color:#fff}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.dropzone-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:95;display:grid;place-items:center;padding:32px;background:var(--overlay)}.dropzone-overlay>div{display:flex;flex-direction:column;align-items:center;gap:10px;width:min(520px,100%);padding:48px 32px;border:2px dashed var(--accent);border-radius:20px;background:var(--surface);text-align:center}.dropzone-overlay p{color:var(--text-muted)}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(288px,1fr));gap:12px}.kpi-card{display:flex;flex-direction:column;gap:10px;padding:15px 16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);transition:border-color .12s}.kpi-card:hover{border-color:var(--border-strong)}.kpi-head{display:flex;align-items:center;gap:9px}.kpi-icon{display:grid;place-items:center;width:28px;height:28px;flex:none;border-radius:8px;background:var(--kpi-soft, var(--accent-soft));color:var(--kpi-color, var(--accent))}.kpi-card.red{--kpi-color: var(--danger);--kpi-soft: var(--danger-soft)}.kpi-card.violet{--kpi-color: var(--violet);--kpi-soft: var(--violet-soft)}.kpi-card.teal{--kpi-color: var(--success);--kpi-soft: var(--success-soft)}.kpi-label{font-size:12.5px;font-weight:600;color:var(--text-soft)}.kpi-value{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;font-size:30px;font-weight:680;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.kpi-delta{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:99px;font-size:11.5px;font-weight:650;background:var(--surface-3);color:var(--text-muted)}.kpi-delta.up{background:var(--danger-soft);color:var(--danger)}.kpi-delta.down{background:var(--success-soft);color:var(--success)}.kpi-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;min-height:30px}.kpi-foot small{font-size:11.5px;color:var(--text-muted)}.sparkline{display:block;flex:none;overflow:visible}.sparkline path.area{fill:var(--kpi-color, var(--accent));opacity:.12}.sparkline path.line{fill:none;stroke:var(--kpi-color, var(--accent));stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}.sparkline circle{fill:var(--kpi-color, var(--accent))}.kpi-skeleton{width:120px;height:32px}.text-skeleton{width:150px;height:11px}.chart-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2)}.control-label{display:block;margin-bottom:5px;font-size:11px;font-weight:650;letter-spacing:.03em;color:var(--text-muted)}.date-range{display:flex;align-items:center;gap:6px;height:34px;padding:0 10px;border:1px solid var(--border-strong);border-radius:var(--radius-xs);background:var(--surface);color:var(--text-muted)}.date-range:focus-within{border-color:var(--accent)}.chart-toolbar .date-range{margin-left:auto}.date-range>svg{flex:none}.date-picker{position:relative}.date-picker-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:128px;height:30px;padding:0 3px;border:none;background:none;color:var(--text-muted);font:inherit;font-size:13px;font-weight:600;text-align:left}.date-picker-trigger.has-value{color:var(--text)}.date-picker-trigger svg{flex:none;opacity:.65}.date-picker-trigger:hover svg,.date-picker-trigger[aria-expanded=true] svg{opacity:1;color:var(--accent)}.calendar-popover{position:absolute;z-index:50;top:calc(100% + 9px);right:-8px;width:294px;padding:12px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);box-shadow:var(--shadow-lg)}.calendar-popover header,.calendar-popover footer{display:flex;align-items:center;justify-content:space-between}.calendar-popover header{margin-bottom:8px;padding:0 2px}.calendar-popover header strong{font-size:13.5px}.calendar-popover header div{display:flex;gap:2px}.calendar-popover header button{display:grid;place-items:center;width:28px;height:28px;border:none;border-radius:6px;background:none;color:var(--text-muted)}.calendar-popover header button:hover:not(:disabled){background:var(--surface-3);color:var(--text)}.calendar-popover button:disabled{opacity:.3;cursor:not-allowed}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.calendar-weekdays{margin-bottom:3px}.calendar-weekdays span{padding:5px 0;text-align:center;font-size:10px;font-weight:700;color:var(--text-muted);text-transform:uppercase}.calendar-grid>button{position:relative;height:34px;border:none;border-radius:7px;background:none;color:var(--text);font-size:12.5px;font-variant-numeric:tabular-nums}.calendar-grid>button:hover:not(:disabled):not(.selected){background:var(--surface-3)}.calendar-grid>button.outside{color:var(--text-muted);opacity:.55}.calendar-grid>button.today:not(.selected):after{content:"";position:absolute;bottom:3px;left:50%;width:3px;height:3px;border-radius:50%;background:var(--accent);transform:translate(-50%)}.calendar-grid>button.selected{background:var(--accent);color:var(--on-accent);font-weight:700}.calendar-popover footer{margin-top:8px;padding:8px 3px 0;border-top:1px solid var(--border)}.calendar-popover footer button{border:none;background:none;color:var(--accent);font-size:12px;font-weight:650}.calendar-popover footer button:hover:not(:disabled){text-decoration:underline}.clear-button{display:inline-flex;align-items:center;gap:5px;height:34px;padding:0 11px;border:1px solid var(--border-strong);border-radius:var(--radius-xs);background:var(--surface);font-size:12.5px;font-weight:600;color:var(--text-soft)}.clear-button:hover{border-color:var(--danger);color:var(--danger)}.field-error{font-size:12.5px;color:var(--danger)}.ms{position:relative;min-width:0}.ms-trigger{display:flex;align-items:center;gap:7px;min-width:176px;max-width:300px;height:34px;padding:0 8px 0 10px;border:1px solid var(--border-strong);border-radius:var(--radius-xs);background:var(--surface);text-align:left;font-size:13px;color:var(--text);transition:border-color .12s,color .12s}.ms-trigger>svg{flex:none;color:var(--text-muted)}.ms-trigger:hover:not(:disabled),.ms-trigger.open{border-color:var(--accent)}.ms-trigger.filled{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.ms-trigger.filled>svg,.ms-trigger.filled .ms-label{color:var(--accent)}.ms-label{flex:none;font-weight:600;color:var(--text-muted)}.ms-summary{flex:1;min-width:0;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ms-count{flex:none;min-width:19px;padding:1px 6px;border-radius:99px;background:var(--accent);color:var(--on-accent);font-size:10.5px;font-weight:700;text-align:center}.ms-menu{position:absolute;z-index:30;top:calc(100% + 6px);left:0;width:max(280px,100%);display:flex;flex-direction:column;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-lg);overflow:hidden}.ms-search{display:flex;align-items:center;gap:8px;padding:9px 12px;border-bottom:1px solid var(--border);color:var(--text-muted)}.ms-search input{flex:1;min-width:0;border:none;background:none;outline:none;color:var(--text)}.ms-search button{display:grid;place-items:center;width:21px;height:21px;border-radius:5px}.ms-search button:hover{background:var(--surface-3);color:var(--text)}.ms-hint{display:flex;align-items:center;gap:6px;padding:7px 12px;border-bottom:1px solid var(--border);background:var(--accent-soft);color:var(--accent);font-size:11.5px;font-weight:600}.ms-hint svg{flex:none}.ms-hint.warn{background:var(--warning-soft);color:var(--warning)}.ms-list{max-height:292px;overflow-y:auto;padding:6px}.ms-option{display:flex;align-items:center;gap:9px;width:100%;padding:7px 9px;border-radius:var(--radius-xs);text-align:left;font-size:13px}.ms-option>span:last-child{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ms-option:hover:not(:disabled){background:var(--surface-3)}.ms-option.active{color:var(--accent);font-weight:600}.ms-option:disabled{opacity:.4}.ms-check{display:grid;place-items:center;width:16px;height:16px;flex:none;border:1px solid var(--border-strong);border-radius:5px;background:var(--surface);color:var(--on-accent)}.ms-check.on{background:var(--accent);border-color:var(--accent)}.ms-empty{padding:28px 16px;text-align:center;color:var(--text-muted);font-size:13px}.ms-menu footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 8px 7px 12px;border-top:1px solid var(--border);background:var(--surface-2);font-size:11.5px;color:var(--text-muted)}.ms-actions{display:flex;align-items:center;gap:2px;flex:none}.ms-actions button{height:24px;padding:0 9px;border-radius:5px;font-size:12px;font-weight:600;color:var(--accent)}.ms-actions button:hover:not(:disabled){background:var(--accent-soft)}.chart-card{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.chart-card-header{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:11px 13px;border-bottom:1px solid var(--border);background:var(--surface-2)}.chart-context{display:flex;flex-direction:column;gap:1px;min-width:0;line-height:1.25}.chart-context span{font-size:10px;font-weight:700;letter-spacing:.08em;color:var(--text-muted);text-transform:uppercase}.chart-context strong{font-size:13.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.series-legend{display:flex;align-items:center;gap:7px;flex-wrap:wrap;flex:1;min-width:0}.series-legend>div{display:flex;align-items:center;gap:8px;max-width:280px;padding:4px 10px;border:1px solid var(--border);border-radius:99px;background:var(--surface)}.series-legend i{width:10px;height:10px;flex:none;border-radius:3px}.series-legend span{min-width:0;display:flex;flex-direction:column;line-height:1.15}.series-legend strong{font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.series-legend small{font-size:10.5px;color:var(--text-muted);font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chart-summary{display:flex;gap:8px;margin-left:auto}.chart-summary>div{display:flex;flex-direction:column;min-width:88px;padding:6px 10px;border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--surface);line-height:1.2}.chart-summary span{font-size:10px;font-weight:650;letter-spacing:.06em;color:var(--text-muted);text-transform:uppercase}.chart-summary strong{font-size:16px;font-weight:650;font-variant-numeric:tabular-nums}.chart-summary small{font-size:10.5px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chart-summary .anomaly-summary{border-color:var(--danger-line);background:var(--danger-soft)}.chart-summary .anomaly-summary strong{color:var(--danger)}.chart-canvas{position:relative;height:360px;padding:12px}.chart-skeleton{display:flex;align-items:flex-end;gap:14px;height:100%}.chart-skeleton .skeleton{flex:1}.chart-skeleton .skeleton:nth-child(1){height:55%}.chart-skeleton .skeleton:nth-child(2){height:85%}.chart-skeleton .skeleton:nth-child(3){height:70%}.chart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;height:100%;color:var(--text-muted);text-align:center}.chart-empty>span{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--surface-2)}.chart-empty strong{color:var(--text);font-size:14px}.records-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.search-field{display:flex;align-items:center;gap:8px;width:250px;height:34px;padding:0 9px;border:1px solid var(--border-strong);border-radius:var(--radius-xs);background:var(--surface);color:var(--text-muted)}.search-field:focus-within{border-color:var(--accent)}.search-field input{flex:1;min-width:0;border:none;background:none;outline:none;color:var(--text)}.search-field button{display:grid;place-items:center;width:21px;height:21px;border-radius:5px}.search-field button:hover{background:var(--surface-3);color:var(--text)}.select-field{height:34px;padding:0 28px 0 10px;border:1px solid var(--border-strong);border-radius:var(--radius-xs);background-color:var(--surface);font-size:13px;font-weight:600;color:var(--text-soft);-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%237c879a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right 7px center}.select-field:hover:not(:disabled){border-color:var(--accent)}.toggle-field{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 11px;border:1px solid var(--border-strong);border-radius:var(--radius-xs);background:var(--surface);font-size:12.5px;font-weight:600;color:var(--text-soft);cursor:pointer;white-space:nowrap}.toggle-field input{position:absolute;opacity:0;pointer-events:none}.toggle-field .track{position:relative;width:28px;height:16px;flex:none;border-radius:99px;background:var(--border-strong);transition:background-color .14s}.toggle-field .track:after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:var(--surface);transition:transform .14s}.toggle-field input:checked+.track{background:var(--danger)}.toggle-field input:checked+.track:after{transform:translate(12px)}.toggle-field:has(input:checked){border-color:var(--danger-line);color:var(--danger)}.toggle-field input:focus-visible+.track{outline:2px solid var(--accent);outline-offset:2px}.filter-summary{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 4px 0 11px;border-radius:var(--radius-xs);background:var(--accent-soft);font-size:12.5px;font-weight:600;color:var(--accent)}.filter-summary button{display:grid;place-items:center;width:24px;height:24px;border-radius:5px;color:inherit}.filter-summary button:hover{background:var(--surface)}.table-scroll{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:auto;max-height:640px}.table-scroll table{width:100%;border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums}.table-scroll thead th{position:sticky;top:0;z-index:3;height:38px;padding:0 12px;border-bottom:1px solid var(--border);background:var(--surface-2);font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);text-align:right;white-space:nowrap}.table-scroll thead th.sticky-code,.table-scroll thead th.sticky-category{text-align:left;z-index:5}.sort-header{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 6px;border-radius:5px;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit}.sort-header:hover{background:var(--surface-3);color:var(--text)}.sort-header.active{color:var(--accent)}.sort-header svg{opacity:0}.sort-header:hover svg{opacity:.5}.sort-header.active svg{opacity:1}.table-scroll tbody td{height:var(--row-h);padding:0 12px;border-bottom:1px solid var(--border);text-align:right;white-space:nowrap}.table-scroll tbody tr:hover td{background:var(--surface-2)}.table-scroll tbody tr:last-child td{border-bottom:none}.sticky-code{position:sticky;left:0;z-index:2;background:var(--surface);min-width:190px;text-align:left!important}.sticky-category{position:sticky;left:190px;z-index:2;background:var(--surface);min-width:210px;max-width:300px;border-right:1px solid var(--border);text-align:left!important;color:var(--text-soft);overflow:hidden;text-overflow:ellipsis}.table-scroll tbody tr:hover .sticky-code,.table-scroll tbody tr:hover .sticky-category{background:var(--surface-2)}.child-row td{color:var(--text-soft)}.child-row .sticky-code,.child-row .sticky-category{background:var(--surface-2)}.table-scroll tbody tr.child-row:hover .sticky-code,.table-scroll tbody tr.child-row:hover .sticky-category{background:var(--surface-3)}.code-cell{display:flex;align-items:center;gap:4px;padding-left:calc(var(--depth, 0) * 16px)}.expand-button{display:grid;place-items:center;width:21px;height:21px;flex:none;border-radius:5px;color:var(--text-muted)}.expand-button:hover{background:var(--accent-soft);color:var(--accent)}.expand-button svg{transition:transform .12s ease}.expand-button[aria-expanded=true] svg{transform:rotate(90deg)}.row-spacer{width:21px;flex:none}.code-chart-link{display:inline-flex;align-items:center;gap:6px;max-width:152px;padding:3px 7px;border-radius:6px;font-weight:600}.code-chart-link .code-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.code-chart-link svg{opacity:0;color:var(--accent);flex:none}.code-chart-link:hover{background:var(--accent-soft);color:var(--accent)}.code-chart-link:hover svg,.code-chart-link:focus-visible svg{opacity:1}.amount-cell{position:relative;width:100%;padding:4px 8px;border-radius:6px;text-align:right;font-size:13px}.amount-cell:before{content:"";position:absolute;top:2px;right:0;bottom:2px;left:0;border-radius:5px;background:var(--accent);opacity:calc(var(--heat, 0) * .18);pointer-events:none}.amount-cell>*{position:relative}.amount-cell:not(:disabled):hover{background:var(--accent-soft);color:var(--accent)}.amount-cell.empty{color:var(--border-strong);opacity:1}.amount-cell.anomaly{background:var(--danger-soft);color:var(--danger);font-weight:650}.amount-cell.anomaly:before{background:var(--danger)}.amount-cell.anomaly:hover{background:var(--danger-soft);color:var(--danger)}.amount-cell.noted,.amount-cell.noted:hover{background:var(--warning-soft);color:var(--warning);font-weight:650;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--warning) 45%,transparent)}.amount-cell.noted:before{background:var(--warning)}.amount-cell i{position:absolute;top:3px;right:3px;width:5px;height:5px;border-radius:50%;background:var(--danger)}.amount-cell.noted i{background:var(--warning)}.total-cell{font-weight:650;background:var(--surface-2)}.anom-cell{font-weight:650;color:var(--text-muted)}.anom-cell.has{color:var(--danger)}.table-skeleton-row td{padding:8px 12px}.table-skeleton-row .skeleton{height:15px;width:100%}.table-empty{padding:60px 16px!important;text-align:center!important}.table-empty .empty-badge{display:grid;place-items:center;width:44px;height:44px;margin:0 auto 8px;border-radius:13px;background:var(--surface-2);color:var(--text-muted)}.table-empty strong{display:block;font-size:14px}.table-empty small{color:var(--text-muted)}.table-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--text-muted)}.table-legend{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.table-legend span{display:inline-flex;align-items:center;gap:6px}.table-legend i{width:8px;height:8px;border-radius:50%}.table-legend i.anomaly{background:var(--danger)}.table-legend i.note{background:var(--warning)}.pager{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pager>span{font-variant-numeric:tabular-nums}.pager .select-field{height:30px;font-size:12px}.pager-nav{display:flex;align-items:center;gap:4px}.pager-nav .icon-button{width:30px;height:30px}.pager-nav>span{min-width:56px;text-align:center;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}.drawer-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;justify-content:flex-end;background:var(--overlay)}.detail-drawer{display:flex;flex-direction:column;width:min(500px,100vw);height:100%;background:var(--surface);box-shadow:var(--shadow-lg);overflow-y:auto;animation:drawer-in .16s ease-out}@keyframes drawer-in{0%{transform:translate(20px);opacity:.5}to{transform:none;opacity:1}}.detail-drawer>header{position:sticky;top:0;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:15px 18px;border-bottom:1px solid var(--border);background:var(--surface)}.detail-drawer>header h2{font-size:18px}.detail-drawer>header p{font-size:12.5px;color:var(--text-muted)}.drawer-nav{display:flex;align-items:center;gap:4px;flex:none}.drawer-nav .icon-button{width:30px;height:30px}.drawer-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:13px 18px;border-bottom:1px solid var(--border);background:var(--surface-2)}.drawer-summary>div{display:flex;flex-direction:column;line-height:1.25}.drawer-summary span{font-size:10px;font-weight:650;letter-spacing:.06em;color:var(--text-muted);text-transform:uppercase}.drawer-summary strong{font-size:14px;font-variant-numeric:tabular-nums}.drawer-summary strong.danger{color:var(--danger)}.drawer-summary strong.success{color:var(--success)}.drawer-records{display:flex;flex-direction:column;gap:10px;padding:14px 18px}.drawer-records article{padding:12px;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .12s}.drawer-records article:hover{border-color:var(--border-strong)}.drawer-records article.is-anomaly{border-color:var(--danger-line);background:var(--danger-soft)}.drawer-records article.is-active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.drawer-records article>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.drawer-records time{font-size:12.5px;font-weight:600}.status-pill{padding:2px 9px;border-radius:99px;font-size:11px;font-weight:700;text-transform:capitalize;background:var(--success-soft);color:var(--success)}.status-pill.anomaly{background:var(--danger-soft);color:var(--danger)}.drawer-records dl{display:flex;gap:20px;margin:0 0 6px}.drawer-records dl div{display:flex;flex-direction:column}.drawer-records dt{font-size:10px;font-weight:650;letter-spacing:.06em;color:var(--text-muted);text-transform:uppercase}.drawer-records dd{margin:0;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}.drawer-records p{font-size:12.5px;color:var(--text-soft);margin-top:6px}.drawer-records p b{display:block;font-size:10px;font-weight:700;letter-spacing:.06em;color:var(--text-muted);text-transform:uppercase}.drawer-records p.note{padding:8px 10px;border-radius:6px;border-left:3px solid var(--warning);background:var(--warning-soft)}.note-editor{display:flex;flex-direction:column;gap:10px;margin-top:auto;padding:15px 18px;border-top:1px solid var(--border);background:var(--surface-2)}.note-editor label{display:flex;flex-direction:column;gap:5px}.note-editor label span{font-size:12px;font-weight:600;color:var(--text-soft)}.note-editor input,.note-editor textarea{padding:9px 10px;border:1px solid var(--border-strong);border-radius:var(--radius-xs);background:var(--surface);outline:none;resize:vertical}.note-editor input:focus,.note-editor textarea:focus{border-color:var(--accent)}.note-editor footer{display:flex;align-items:center;justify-content:flex-end;gap:8px}.note-editor footer .hint{margin-right:auto;font-size:11.5px;color:var(--text-muted)}.palette-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;justify-content:center;padding:12vh 16px 16px;background:var(--overlay)}.palette{display:flex;flex-direction:column;width:min(640px,100%);max-height:68vh;border:1px solid var(--border-strong);border-radius:16px;background:var(--surface);box-shadow:var(--shadow-lg);overflow:hidden;animation:palette-in .14s ease-out}@keyframes palette-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.palette-search{display:flex;align-items:center;gap:10px;padding:13px 16px;border-bottom:1px solid var(--border);color:var(--text-muted)}.palette-search input{flex:1;min-width:0;border:none;background:none;outline:none;font-size:15px;color:var(--text)}.palette-list{flex:1;overflow-y:auto;padding:6px}.palette-group{padding:10px 10px 4px;font-size:10.5px;font-weight:700;letter-spacing:.08em;color:var(--text-muted);text-transform:uppercase}.palette-item{display:flex;align-items:center;gap:11px;width:100%;padding:8px 10px;border-radius:var(--radius-xs);text-align:left}.palette-item.cursor{background:var(--accent-soft)}.palette-item .p-icon{display:grid;place-items:center;width:26px;height:26px;flex:none;border-radius:7px;background:var(--surface-3);color:var(--text-soft)}.palette-item.cursor .p-icon{background:var(--accent);color:var(--on-accent)}.palette-item .p-copy{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25}.palette-item .p-copy strong{font-size:13.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.palette-item .p-copy small{font-size:11.5px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.palette-item .p-tag{flex:none;font-size:11px;color:var(--text-muted)}.palette-empty{padding:44px 16px;text-align:center;color:var(--text-muted)}.palette-footer{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:9px 14px;border-top:1px solid var(--border);background:var(--surface-2);font-size:11.5px;color:var(--text-muted)}.palette-footer span{display:inline-flex;align-items:center;gap:5px}@media(max-width:1180px){.chart-summary{margin-left:0;width:100%;overflow-x:auto}.brand-copy{display:none}}@media(max-width:900px){.topbar{position:static;height:auto}.topbar-inner{flex-wrap:wrap;gap:10px;padding:10px 14px}.topbar-context{order:3;width:100%;flex-basis:100%}.topbar-divider{display:none}.topbar-actions{margin-left:auto}.cmd-trigger span{display:none}.cmd-trigger{padding:0 10px}}@media(max-width:720px){.page{padding:14px 12px 44px}.search-field,.records-toolbar{width:100%}.chart-canvas{height:290px;padding:8px}.drawer-summary{grid-template-columns:1fr}.sticky-category{position:static;min-width:150px}.palette-layer{padding:8vh 10px 10px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
