@font-face{font-family:Inter Variable;src:url(/fonts/InterVariable.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}:root{--bg: #0b0f14;--surface: #111827;--surface-2: #171f2b;--border: #232c38;--text: #e8eef5;--text-dim: #aeb8c6;--text-faint: #7e8897;--accent: #00e6c3;--accent-ink: #06110d;--warning: #f5b942;--info: #4da3ff;--danger: #ff5c5c;color-scheme:dark;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--sp-7: 48px;--r-sm: 6px;--r-md: 10px;--r-lg: 14px;--r-pill: 999px;--fs-3xs: 10px;--fs-2xs: 11px;--fs-xs: 12px;--fs-sm: 13px;--fs-base: 14px;--fs-lg: 16px;--fs-xl: 20px;--fs-2xl: 24px;--fs-3xl: 30px;--shadow-s1: 0 1px 2px rgba(0, 0, 0, .35);--shadow-s2: 0 8px 20px rgba(0, 0, 0, .45);--shadow-s3: 0 16px 40px rgba(0, 0, 0, .55);--shadow-accent: 0 0 0 1px rgba(0, 230, 195, .28), 0 8px 24px rgba(0, 230, 195, .22);--ring-accent: 0 0 0 4px rgba(0, 230, 195, .22);--ease-smooth: cubic-bezier(.22, .61, .36, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--dur-fast: .12s;--dur-base: .15s;--dur-press: .17s;--dur-panel: .22s;--ease: var(--ease-smooth);--dur: var(--dur-base);--z-dropdown: 40;--z-popover: 50;--z-modal: 60;--z-toast: 70;--sidebar-w: 232px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter Variable,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:var(--fs-base)}#root{min-height:100vh}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-s1);padding:var(--sp-6);width:340px}.card button,.auth-screen button{width:100%}.card h1{font-size:var(--fs-xl);margin:0 0 4px}.card .subtitle{color:var(--text-dim);font-size:var(--fs-base);margin:0 0 var(--sp-5)}label{display:block;font-size:var(--fs-base);color:var(--text-dim);margin-bottom:6px}input{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text);padding:10px 12px;font-size:var(--fs-base);margin-bottom:var(--sp-4);transition:border-color var(--dur-fast) var(--ease-smooth),box-shadow var(--dur-fast) var(--ease-smooth)}input:hover{border-color:var(--text-faint)}input:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring-accent)}button{width:100%;background:var(--accent);color:var(--accent-ink);border:none;border-radius:var(--r-sm);padding:11px;font-size:var(--fs-base);font-weight:600;cursor:pointer;transition:background var(--dur) var(--ease),opacity var(--dur) var(--ease);font-family:inherit}button:disabled{opacity:.6;cursor:default}.error{color:var(--danger);font-size:var(--fs-base);margin:-8px 0 var(--sp-4)}.status-row{display:flex;justify-content:space-between;font-size:var(--fs-base);padding:var(--sp-2) 0;border-bottom:1px solid var(--border)}.status-row:last-child{border-bottom:none}.status-row .label{color:var(--text-dim)}.shell-outer{min-height:100vh;display:flex;flex-direction:column}.topbar{flex-shrink:0;height:52px;display:flex;align-items:center;justify-content:flex-end;padding:0 var(--sp-5);border-bottom:1px solid var(--border);background:var(--surface);position:sticky;top:0;z-index:20}.topbar-profile{position:relative}.topbar-profile-trigger{display:flex;align-items:center;gap:var(--sp-2);background:none;border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text);padding:6px var(--sp-3);font-size:var(--fs-base);font-weight:500;cursor:pointer;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease)}.topbar-profile-trigger:hover{background:var(--surface-2);border-color:var(--text-faint)}.topbar-profile-trigger svg{flex-shrink:0;stroke-width:1.75}.topbar-tariff-pill{font-variant-numeric:tabular-nums}.profile-panel{position:absolute;top:calc(100% + var(--sp-2));right:0;width:min(560px,calc(100vw - var(--sp-5) * 2));max-height:80vh;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-s3);padding:var(--sp-4);z-index:var(--z-popover);animation:dd-in var(--dur-panel) var(--ease-out)}.profile-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-3);padding-bottom:var(--sp-4);margin-bottom:var(--sp-4);border-bottom:1px solid var(--border)}.profile-panel-email{font-size:var(--fs-base);font-weight:600;margin:0 0 var(--sp-2);overflow-wrap:anywhere}.shell{display:flex;flex:1;min-height:0}.sidebar{width:var(--sidebar-w);flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:var(--sp-5) var(--sp-3);position:sticky;top:52px;height:calc(100vh - 52px);overflow-y:auto}.sidebar-brand{display:flex;align-items:center;gap:var(--sp-3);padding:0 var(--sp-2);margin-bottom:4px}.sidebar-brand .mark{width:24px;height:24px;border-radius:var(--r-sm);background:var(--accent);color:var(--accent-ink);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--fs-sm);flex-shrink:0}.sidebar-brand h1{font-size:var(--fs-base);margin:0;font-weight:600}.sidebar-context{font-size:var(--fs-xs);color:var(--text-faint);padding:0 var(--sp-2);margin:0 0 var(--sp-5);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-nav{display:flex;flex-direction:column;gap:2px;flex:1}.sidebar-nav button{display:flex;align-items:center;gap:var(--sp-3);width:100%;background:none;border:none;color:var(--text-dim);padding:9px var(--sp-3);border-radius:var(--r-sm);font-size:var(--fs-base);font-weight:500;cursor:pointer;text-align:left;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.sidebar-nav button svg{width:16px;height:16px;flex-shrink:0;stroke-width:1.75}.sidebar-nav button:hover{background:var(--surface-2);color:var(--text)}.sidebar-nav button.active{background:#00e6c31a;color:var(--accent)}button.link{width:auto;background:none;color:var(--text-dim);padding:6px 0;font-weight:500;transition:color var(--dur) var(--ease)}button.link:hover{color:var(--text)}.shell-main{flex:1;min-width:0;padding:var(--sp-6) var(--sp-6) 80px;max-width:1280px}.shell-main h1.page-title{font-size:var(--fs-2xl);margin:0 0 var(--sp-5);font-weight:700;letter-spacing:-.01em;animation:fade-down var(--dur-panel) var(--ease-out) both}@keyframes fade-down{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.shell{flex-direction:column}.sidebar{width:100%;height:auto;position:static;flex-direction:row;align-items:center;padding:var(--sp-3);gap:var(--sp-3)}.sidebar-brand{margin-bottom:0}.sidebar-context{display:none}.sidebar-nav{flex-direction:row;overflow-x:auto;flex:1}.topbar{padding:0 var(--sp-3)}.topbar-org-name{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-tariff-pill,.sidebar-nav button span{display:none}.shell-main{padding:var(--sp-4);max-width:100%}}.tabs{display:none}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-s1);padding:var(--sp-5);margin-bottom:var(--sp-4)}.panel h2{font-size:var(--fs-sm);margin:0 0 var(--sp-4);color:var(--text-dim);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.panel-subtitle{margin:calc(-1 * var(--sp-3)) 0 var(--sp-4);color:var(--text-faint);font-size:var(--fs-xs)}.toolbar{display:flex;gap:var(--sp-3);align-items:flex-end;flex-wrap:wrap;margin-bottom:var(--sp-4)}.toolbar .field{display:flex;flex-direction:column;gap:4px}.toolbar label{margin:0}.toolbar input,.toolbar select,.toolbar .dd-trigger{margin:0;width:auto;min-width:160px}.btn{width:auto;padding:9px 16px;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}.btn:not(.secondary):not(.ghost):not(.danger){position:relative;overflow:hidden;box-shadow:var(--shadow-accent);transition:background var(--dur-base) var(--ease-smooth),opacity var(--dur-base) var(--ease-smooth),transform var(--dur-press) var(--ease-spring),box-shadow var(--dur-base) var(--ease-smooth)}.btn:not(.secondary):not(.ghost):not(.danger):after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.35) 48%,rgba(255,255,255,.35) 52%,transparent 70%);transform:translate(-120%);opacity:0;transition:transform var(--dur-panel) var(--ease-out),opacity var(--dur-fast) var(--ease-smooth);pointer-events:none}.btn:not(.secondary):not(.ghost):not(.danger):hover:not(:disabled){transform:translateY(-1px)}.btn:not(.secondary):not(.ghost):not(.danger):hover:not(:disabled):after{transform:translate(120%);opacity:1}.btn:not(.secondary):not(.ghost):not(.danger):active:not(:disabled){transform:translateY(0) scale(.97)}.btn:not(.secondary):not(.ghost):not(.danger):disabled{box-shadow:none}.btn.secondary{background:var(--surface-2);color:var(--text);border:1px solid var(--border);transition:background var(--dur-fast) var(--ease-smooth),box-shadow var(--dur-fast) var(--ease-smooth)}.btn.secondary:hover{background:var(--border);box-shadow:var(--shadow-s1)}.btn.danger{background:#ff5c5c1a;color:var(--danger);border:1px solid rgba(255,92,92,.3)}.btn.danger:hover{background:#ff5c5c2e;border-color:#ff5c5c80}.btn.ghost{width:auto;background:none;color:var(--text-dim);border:1px solid transparent;padding:9px 16px;transition:color var(--dur-fast) var(--ease-smooth),background var(--dur-fast) var(--ease-smooth),box-shadow var(--dur-fast) var(--ease-smooth)}.btn.ghost:hover{color:var(--text);background:var(--surface-2);box-shadow:var(--shadow-s1)}.btn.sm{padding:6px 12px;font-size:var(--fs-sm)}.btn svg{width:14px;height:14px;flex-shrink:0}table{width:100%;border-collapse:collapse;font-size:var(--fs-base)}th{text-align:left;color:var(--text-faint);font-weight:600;text-transform:uppercase;letter-spacing:.03em;font-size:var(--fs-xs);padding:0 var(--sp-3) var(--sp-2);border-bottom:1px solid var(--border);white-space:nowrap}th.sortable{padding:0}.sort-trigger{width:100%;background:none;border:none;padding:0 var(--sp-3) var(--sp-2);margin:0;color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer;-webkit-user-select:none;user-select:none;transition:color var(--dur) var(--ease);text-align:left}.sort-trigger:hover{color:var(--text-dim)}.sort-icon{display:inline-flex;vertical-align:-3px;margin-left:3px;opacity:.55}th.sortable.active .sort-icon{opacity:1;color:var(--accent)}td{padding:var(--sp-3);border-bottom:1px solid var(--border);vertical-align:middle}tr:last-child td{border-bottom:none}tbody tr{transition:background var(--dur) var(--ease)}tbody tr:hover{background:var(--surface-2)}.table-scroll{overflow-x:auto}.empty-row{color:var(--text-faint);font-size:var(--fs-base);padding:var(--sp-3) 0}.tree-toggle-col{width:32px}.tree-row{cursor:pointer}.tree-toggle{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:none;border:none;border-radius:var(--r-sm);color:var(--text-dim);cursor:pointer;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.tree-toggle:hover{background:var(--surface-2);color:var(--text)}.tree-count{color:var(--text-dim)}.tree-row-city{background:var(--surface-2)}.tree-row-city:hover{background:var(--border)}.tree-city-name{font-weight:600}.tree-toggle-col-nested{padding-left:28px}.row-actions{display:flex;align-items:center;gap:6px}.row-actions .confirm-text{font-size:var(--fs-sm);color:var(--text-dim);white-space:nowrap;margin-right:2px}tr.tree-row.is-editing{background:#00e6c30d}.tree-detail-row td{background:var(--bg);padding:var(--sp-3) var(--sp-3) var(--sp-4) calc(var(--sp-3) + 60px);cursor:default}.tree-sub-table{width:100%;border-collapse:collapse;margin-bottom:var(--sp-3)}.tree-sub-table td{padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--border);font-size:var(--fs-sm)}.tree-sub-table tr:last-child td{border-bottom:none}.tree-add-form{display:flex;gap:var(--sp-2);align-items:center}.tree-add-form input{margin:0;max-width:220px}.tree-edit-input{margin:0;padding:6px 10px}.city-filter{margin-bottom:var(--sp-4)}.city-menu{position:relative;margin-left:auto}.city-menu-trigger{width:auto;background:none;border:1px solid transparent;color:var(--text-faint);padding:8px;display:inline-flex}.city-menu-trigger:hover{color:var(--text);background:var(--surface-2)}.city-menu-panel{position:absolute;top:calc(100% + var(--sp-2));right:0;width:min(320px,calc(100vw - var(--sp-5) * 2));background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-s3);padding:var(--sp-4);z-index:var(--z-popover);animation:dd-in var(--dur-panel) var(--ease-out)}.city-menu-panel .row-actions{flex-wrap:wrap}.pill{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-xs);font-weight:600;padding:3px 9px;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface-2);color:var(--text-dim);white-space:nowrap}.pill-success{background:#00e6c31f;color:var(--accent);border-color:#00e6c34d}.pill-warning{background:#f5b9421f;color:var(--warning);border-color:#f5b9424d}.pill-danger{background:#ff5c5c1a;color:var(--danger);border-color:#ff5c5c40}.pill-info{background:#4da3ff1a;color:var(--info);border-color:#4da3ff4d}.pill-neutral{color:var(--text-faint)}button.gated,.btn.gated{opacity:.45;cursor:not-allowed}.gate-reason{font-size:var(--fs-sm);color:var(--text-faint);margin-top:6px}.hint{font-size:var(--fs-sm);color:var(--text-faint);margin:-8px 0 var(--sp-4)}.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--sp-4);margin-bottom:var(--sp-4)}.kpi-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-s1);padding:var(--sp-4);animation:fade-up var(--dur-panel) var(--ease-out) both}.kpi-card:nth-child(1){animation-delay:0ms}.kpi-card:nth-child(2){animation-delay:40ms}.kpi-card:nth-child(3){animation-delay:80ms}.kpi-card:nth-child(4){animation-delay:.12s}.kpi-card:nth-child(5){animation-delay:.16s}.kpi-card:nth-child(6){animation-delay:.2s}.kpi-card .kpi-value{font-size:var(--fs-3xl);font-weight:700;color:var(--text);line-height:1.1;margin-bottom:4px;font-variant-numeric:tabular-nums}.num{font-variant-numeric:tabular-nums}.kpi-card .kpi-label{font-size:var(--fs-sm);color:var(--text-dim)}.fn-row{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);box-shadow:var(--shadow-s1);overflow:hidden;margin-bottom:var(--sp-3)}.fn-row:last-of-type{margin-bottom:0}.fn-head{display:flex;align-items:center;gap:var(--sp-4);padding:var(--sp-3) var(--sp-4)}.fn-name{font-weight:600;min-width:140px}.fn-price{display:flex;gap:var(--sp-4);flex-wrap:wrap;font-size:var(--fs-sm);color:var(--text-dim)}.fn-price b{color:var(--text);font-weight:600}.fn-price .seg-label{color:var(--text-faint);font-weight:500}.fn-included{color:var(--text-faint);font-size:var(--fs-sm)}.switch{margin-left:auto;flex-shrink:0;width:40px;height:22px;border-radius:var(--r-pill);background:var(--border);border:1px solid var(--border);position:relative;cursor:pointer;padding:0;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease)}.switch:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:var(--text-dim);transition:transform var(--dur) var(--ease),background var(--dur) var(--ease)}.switch[aria-checked=true]{background:#00e6c31a;border-color:#00e6c359}.switch[aria-checked=true]:after{transform:translate(18px);background:var(--accent)}.switch:disabled{opacity:.5;cursor:not-allowed}.seg-matrix{border-top:1px solid var(--border);display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border)}.seg-cell{background:var(--surface-2);padding:var(--sp-3) var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-2)}.seg-cell-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-2)}.seg-cell-name{font-size:var(--fs-sm);font-weight:600}.seg-cell-range{font-size:var(--fs-xs);color:var(--text-faint)}.unit-toggle{display:inline-flex;border:1px solid var(--border);border-radius:var(--r-sm);overflow:hidden;width:fit-content}.unit-toggle button{width:auto;border:0;background:none;color:var(--text-faint);font:inherit;font-size:var(--fs-xs);font-weight:600;padding:4px 9px;cursor:pointer;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.unit-toggle button.active{background:var(--accent);color:var(--accent-ink)}.unit-toggle button:not(.active):hover{background:var(--border);color:var(--text-dim)}.unit-toggle button:disabled{cursor:not-allowed;opacity:.6}.limit-input-row input{margin-bottom:0;padding:6px 9px;font-size:var(--fs-sm)}.usage-block{display:flex;flex-direction:column;gap:4px}.usage-line{display:flex;justify-content:space-between;font-size:var(--fs-xs);color:var(--text-faint)}.usage-line .used{color:var(--text-dim);font-weight:600}.usage-bar{height:4px;border-radius:var(--r-pill);background:var(--border);overflow:hidden}.usage-bar-fill{height:100%;border-radius:var(--r-pill);background:var(--accent);transition:width .42s var(--ease),background var(--dur) var(--ease)}.seg-cell.is-warning .usage-bar-fill{background:var(--warning)}.seg-cell.is-nolimit .usage-bar-fill{background:var(--text-faint);opacity:.5}.warn-chip{display:inline-flex;align-items:center;gap:5px;width:fit-content;font-size:var(--fs-xs);font-weight:600;color:var(--warning);background:#f5b9421f;border-radius:var(--r-sm);padding:3px 7px}@media(max-width:640px){.seg-matrix{grid-template-columns:1fr}.fn-price{display:none}}.issued-code-panel{border-color:var(--accent);box-shadow:0 0 0 1px #00e6c326}.code-row{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-4)}.connect-code{font-family:ui-monospace,SF Mono,Consolas,monospace;font-size:var(--fs-xl);font-weight:600;letter-spacing:.06em;background:var(--bg);border:1px solid var(--border);border-radius:var(--r-sm);padding:10px 16px;color:var(--accent)}.code-row .btn{width:auto}.scope-switch{display:flex;gap:var(--sp-2);align-items:center;flex-wrap:wrap}.scope-pill{width:auto;display:inline-flex;align-items:center;gap:6px;background:var(--surface-2);color:var(--text-dim);border:1px solid var(--border);border-radius:var(--r-pill);padding:8px 16px;font-size:var(--fs-base);font-weight:500}.scope-pill:hover{color:var(--text);border-color:var(--text-faint)}.scope-pill.active{background:#00e6c31f;border-color:#00e6c366;color:var(--accent)}.override-list{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.override-chip{width:auto;display:flex;flex-direction:column;align-items:flex-start;gap:2px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:10px 14px;color:var(--text);font-weight:500;text-align:left}.override-chip:hover{border-color:var(--accent)}.override-chip span{font-size:var(--fs-sm);color:var(--text-faint);font-weight:400}.matrix-table th{vertical-align:bottom}.matrix-range{display:block;font-weight:400;text-transform:none;letter-spacing:0;color:var(--text-faint);font-size:var(--fs-xs);margin-top:2px}.matrix-base-row td{background:#00e6c30a}.matrix-cell{display:flex;align-items:center;gap:4px}.matrix-cell input{width:68px;margin:0;padding:7px 8px;text-align:right;font-variant-numeric:tabular-nums}.matrix-cell input.cell-own{border-color:#00e6c373;color:var(--text);font-weight:600}.matrix-cell input.cell-inherited{color:var(--text-dim)}.matrix-cell input.cell-inherited::placeholder{color:var(--text-faint)}.cell-pct{font-size:var(--fs-sm);color:var(--text-faint)}.cell-reset{width:auto;background:none;border:none;padding:2px;color:var(--text-faint);display:inline-flex;align-items:center;cursor:pointer}.cell-reset:hover{color:var(--accent)}.mx-scope-spacer{flex:1}.mx-source-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}.mx-head-actions{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.mx-grid .mx-brand-col{position:sticky;left:0;z-index:1;background:var(--surface);min-width:190px}.mx-grid thead .mx-brand-col{z-index:2}.mx-grid .matrix-base-row .mx-brand-col,.mx-grid .mx-group-row .mx-brand-col,.mx-group-row td{background:var(--surface-2)}.mx-group-toggle{width:auto;display:inline-flex;align-items:center;gap:6px;padding:4px 8px 4px 0;background:none;border:none;color:var(--text);font-weight:600;font-size:var(--fs-base);cursor:pointer}.mx-group-toggle:hover{color:var(--accent)}.mx-nested-row .mx-brand-col{padding-left:calc(var(--sp-3) + 24px);color:var(--text-dim)}.mx-cell{position:relative;display:flex;flex-direction:column;gap:2px;min-width:118px}.mx-cell-input{display:flex;align-items:center;gap:4px}.mx-cell input{width:68px;margin:0;padding:7px 8px;text-align:right;font-variant-numeric:tabular-nums}.mx-cell-meta{display:flex;align-items:baseline;gap:6px;min-height:14px}.mx-src{font-size:var(--fs-xs);color:var(--text-faint);white-space:nowrap}.mx-note{font-size:var(--fs-xs);color:var(--text-faint)}.mx-cell-error{margin:2px 0 0;font-size:var(--fs-xs);color:var(--danger);max-width:160px}.mx-cell-actions{position:absolute;top:-2px;right:-2px;display:flex;gap:2px;opacity:0;transition:opacity var(--dur) var(--ease)}.mx-cell:hover .mx-cell-actions,.mx-cell:focus-within .mx-cell-actions{opacity:1}.mx-icon-btn{width:auto;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:2px 3px;color:var(--text-faint);display:inline-flex;align-items:center;cursor:pointer}.mx-icon-btn:hover{color:var(--accent);border-color:var(--accent)}.mx-cell.is-saving input{border-color:var(--text-faint)}.mx-cell.is-saved input{animation:mx-saved-flash var(--dur) var(--ease) 2 alternate}.mx-cell.is-error input{border-color:var(--danger)}@keyframes mx-saved-flash{0%{border-color:var(--border)}to{border-color:var(--accent)}}@media(prefers-reduced-motion:reduce){.mx-cell.is-saved input{animation:none;border-color:var(--accent)}}.mx-confirm{border:1px solid var(--border);border-left:2px solid var(--warning);border-radius:var(--r-sm);background:var(--surface-2);padding:var(--sp-4);margin-bottom:var(--sp-4)}.mx-confirm p{margin:0 0 var(--sp-3);font-size:var(--fs-base);color:var(--text-dim)}.mx-chain{list-style:none;margin:0 0 var(--sp-4);padding:0;border:1px solid var(--border);border-radius:var(--r-sm);overflow:hidden}.mx-chain-step{display:grid;grid-template-columns:1fr auto 110px;gap:var(--sp-3);align-items:baseline;padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--border);font-size:var(--fs-base);color:var(--text-dim)}.mx-chain-step:last-child{border-bottom:none}.mx-chain-step.is-applied{background:var(--surface-2);color:var(--text);font-weight:600}.mx-chain-step.is-empty,.mx-chain-step.is-shadowed{color:var(--text-faint)}.mx-chain-step.is-shadowed .mx-chain-value{text-decoration:line-through}.mx-chain-value{font-variant-numeric:tabular-nums;white-space:nowrap}.mx-chain-note{font-size:var(--fs-xs);color:var(--text-faint);text-align:right}.mx-source-money{margin:0 0 var(--sp-4);font-size:var(--fs-base);color:var(--text-dim)}.mx-bounds{display:flex;gap:var(--sp-2)}.mx-bounds input{max-width:110px}tr.is-editing{background:#00e6c30d}@media print{.sidebar,.topbar,.no-print,.btn,button{display:none!important}body,.panel,.kpi-card,table,td,th{background:#fff!important;color:#000!important}.shell{display:block}.shell-main{padding:0;max-width:100%}.panel,.kpi-card{border:1px solid #999!important;box-shadow:none!important;break-inside:avoid}.panel h2,.kpi-card .kpi-label,.hint{color:#333!important}.table-scroll{overflow:visible}a[href]:after{content:""}}.dd-trigger{width:100%;display:inline-flex;align-items:center;justify-content:space-between;gap:var(--sp-2);background:var(--bg);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text);padding:10px 12px;font-size:var(--fs-base);font-family:inherit;font-weight:400;text-align:left;cursor:pointer;transition:border-color var(--dur-fast) var(--ease-smooth),box-shadow var(--dur-fast) var(--ease-smooth)}.dd-trigger:hover:not(:disabled){border-color:var(--text-faint)}.dd-trigger:focus-visible,.dd-trigger.is-open{outline:none;border-color:var(--accent);box-shadow:var(--ring-accent)}.dd-trigger:disabled{opacity:.5;cursor:not-allowed}.dd-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dd-placeholder{color:var(--text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dd-chevron{flex-shrink:0;color:var(--text-faint);transition:transform var(--dur-fast) var(--ease-smooth),color var(--dur-fast) var(--ease-smooth)}.dd-trigger.is-open .dd-chevron{transform:rotate(180deg);color:var(--accent)}.dd-panel{width:var(--radix-popover-trigger-width);min-width:220px;max-width:min(420px,calc(100vw - var(--sp-5) * 2));background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-s3);overflow:hidden;z-index:var(--z-popover);animation:dd-in var(--dur-panel) var(--ease-out);transform-origin:var(--radix-popover-content-transform-origin)}@keyframes dd-in{0%{opacity:0;transform:scale(.97) translateY(-2px)}to{opacity:1;transform:scale(1) translateY(0)}}.dd-search-row{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--border)}.dd-search-icon{color:var(--text-faint);flex-shrink:0}.dd-command [cmdk-input]{flex:1;width:100%;background:none;border:none;color:var(--text);font-size:var(--fs-sm);font-family:inherit;padding:4px 0;margin:0}.dd-command [cmdk-input]:focus{outline:none}.dd-command [cmdk-input]::placeholder{color:var(--text-faint)}.dd-list{max-height:280px;overflow-y:auto;padding:var(--sp-1) 0}.dd-command [cmdk-empty]{padding:var(--sp-3);font-size:var(--fs-sm);color:var(--text-faint);text-align:center}.dd-command [cmdk-group-heading]{padding:var(--sp-2) var(--sp-3) 4px;font-size:var(--fs-3xs);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint)}.dd-command [cmdk-item]{display:flex;align-items:center;gap:var(--sp-2);padding:8px var(--sp-3);font-size:var(--fs-sm);color:var(--text);cursor:pointer;transition:background var(--dur-fast) var(--ease-smooth)}.dd-command [cmdk-item][data-selected=true]{background:var(--surface-2)}.dd-command [cmdk-item][data-selected=true]:active{background:var(--border)}.dd-check{flex-shrink:0;color:var(--accent)}.log-lines{font-family:ui-monospace,SF Mono,Consolas,monospace;font-size:var(--fs-sm);line-height:1.6;color:var(--text-dim);background:var(--bg);border:1px solid var(--border);border-radius:var(--r-sm);padding:var(--sp-3) 14px;margin:var(--sp-2) 0;white-space:pre-wrap;word-break:break-word;max-height:320px;overflow-y:auto}
