:root{--font-sans: "Inter", "Inter Display", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "SF Mono", ui-monospace, Menlo, Monaco, monospace;--text-2xs: 10px;--text-xs: 11px;--text-sm: 12px;--text-base: 13px;--text-md: 14px;--text-lg: 15px;--text-xl: 17px;--text-2xl: 20px;--text-3xl: 24px;--text-4xl: 30px;--text-5xl: 38px;--leading-tight: 1.2;--leading-snug: 1.35;--leading-normal: 1.5;--tracking-tight: -.02em;--tracking-snug: -.012em;--tracking-normal: 0;--tracking-wide: .04em;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--sp-0: 0px;--sp-px: 1px;--sp-0_5: 2px;--sp-1: 4px;--sp-1_5: 6px;--sp-2: 8px;--sp-2_5: 10px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--sp-16: 64px;--r-xs: 4px;--r-sm: 6px;--r-md: 8px;--r-lg: 12px;--r-xl: 14px;--r-2xl: 16px;--r-pill: 9999px;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-fast: .12s;--dur-base: .18s;--dur-slow: .28s;--z-base: 1;--z-dropdown: 50;--z-sticky: 100;--z-overlay: 500;--z-modal: 700;--z-toast: 900;--z-tooltip: 1000;--control-xs: 22px;--control-sm: 26px;--control-md: 30px;--control-lg: 36px;--neutral-50: #f7f7f9;--neutral-100: #eceef2;--neutral-200: #d8dbe2;--neutral-300: #c2c5cf;--neutral-400: #a1a5b1;--neutral-500: #8a8f9e;--neutral-600: #6c7080;--neutral-700: #4a4d57;--neutral-800: #2a2c33;--neutral-900: #1a1c20;--neutral-950: #0e1014;--success-50: #ecf7f0;--success-400: #4cb782;--success-500: #2f9c66;--success-700: #166c40;--warning-50: #fbf3df;--warning-400: #f2c057;--warning-500: #d49a2d;--warning-700: #8c6707;--danger-50: #fceaec;--danger-300: #eb5757;--danger-500: #d4364d;--danger-700: #8a1c2c;--info-50: #e7f1f9;--info-400: #4ea7d9;--info-500: #2978b8;--info-700: #174c79}:root,[data-theme=light]{--bg-app: #fbfbfc;--bg-base: #ffffff;--bg-elevated: #ffffff;--bg-overlay: #ffffff;--bg-sunken: #f4f5f8;--bg-hover: rgba(10, 12, 18, .04);--bg-active: rgba(10, 12, 18, .07);--bg-selected: rgba(72, 163, 104, .12);--border-subtle: rgba(10, 12, 18, .05);--border-default: rgba(10, 12, 18, .1);--border-strong: rgba(10, 12, 18, .18);--fg-primary: #0e1014;--fg-secondary: #5b6172;--fg-tertiary: #8a8f9e;--fg-disabled: #c2c5cf;--fg-inverse: #ffffff;--fg-on-accent: #ffffff;--accent-50: #eef9f1;--accent-100: #d9f0df;--accent-200: #b7e1c1;--accent-300: #8dce9d;--accent-400: #67b97a;--accent-500: #48a368;--accent-600: #368653;--accent-700: #286a42;--accent-800: #1f5234;--accent-900: #183f29;--accent-bg: var(--accent-500);--accent-bg-hover: var(--accent-400);--accent-bg-active: var(--accent-600);--accent-fg: #ffffff;--accent-soft-bg: rgba(72, 163, 104, .13);--accent-soft-fg: var(--accent-700);--scrollbar-track: rgba(10, 12, 18, .06);--scrollbar-thumb: rgba(72, 163, 104, .62);--scrollbar-thumb-hover: rgba(72, 163, 104, .78);--scrollbar-thumb-active: var(--accent-500);--success: var(--success-500);--success-bg: rgba(47, 156, 102, .12);--success-border: rgba(47, 156, 102, .28);--warning: var(--warning-500);--warning-bg: rgba(212, 154, 45, .14);--warning-border: rgba(212, 154, 45, .3);--danger: var(--danger-500);--danger-bg: rgba(212, 54, 77, .12);--danger-border: rgba(212, 54, 77, .3);--info: var(--info-500);--info-bg: rgba(41, 120, 184, .12);--info-border: rgba(41, 120, 184, .3);--shadow-xs: 0 1px 2px rgba(10, 12, 18, .06);--shadow-sm: 0 2px 8px rgba(10, 12, 18, .08);--shadow-md: 0 8px 24px rgba(10, 12, 18, .12);--shadow-lg: 0 18px 52px rgba(10, 12, 18, .2);--shadow-focus: 0 0 0 1px var(--accent-500);--shadow-focus-danger: 0 0 0 1px var(--danger)}[data-theme=dark]{--bg-app: #070808;--bg-base: #0d0f10;--bg-elevated: #131618;--bg-overlay: #171b1e;--bg-sunken: #090a0b;--bg-hover: rgba(255, 255, 255, .04);--bg-active: rgba(255, 255, 255, .07);--bg-selected: rgba(92, 200, 120, .16);--border-subtle: rgba(255, 255, 255, .05);--border-default: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .14);--fg-primary: #f3f4f6;--fg-secondary: #aeb4bd;--fg-tertiary: #747b85;--fg-disabled: #4c535b;--fg-inverse: #0d0f10;--fg-on-accent: #ffffff;--accent-50: #eef9f1;--accent-100: #d9f0df;--accent-200: #b7e1c1;--accent-300: #8dce9d;--accent-400: #7bd88f;--accent-500: #5cc878;--accent-600: #45a761;--accent-700: #34824e;--accent-800: #285f3b;--accent-900: #1d432b;--accent-bg: var(--accent-500);--accent-bg-hover: var(--accent-400);--accent-bg-active: var(--accent-600);--accent-fg: #ffffff;--accent-soft-bg: rgba(92, 200, 120, .16);--accent-soft-fg: var(--accent-200);--scrollbar-track: rgba(255, 255, 255, .06);--scrollbar-thumb: rgba(92, 200, 120, .7);--scrollbar-thumb-hover: rgba(92, 200, 120, .9);--scrollbar-thumb-active: var(--accent-500);--success: var(--success-400);--success-bg: rgba(76, 183, 130, .14);--success-border: rgba(76, 183, 130, .32);--warning: var(--warning-400);--warning-bg: rgba(242, 192, 87, .14);--warning-border: rgba(242, 192, 87, .32);--danger: var(--danger-300);--danger-bg: rgba(235, 87, 87, .14);--danger-border: rgba(235, 87, 87, .32);--info: var(--info-400);--info-bg: rgba(78, 167, 217, .14);--info-border: rgba(78, 167, 217, .32);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .25);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 8px 24px rgba(0, 0, 0, .35);--shadow-lg: 0 18px 52px rgba(0, 0, 0, .45);--shadow-focus: 0 0 0 1px var(--accent-500);--shadow-focus-danger: 0 0 0 1px var(--danger)}[data-theme=blue-light]{--accent-50: #e7f1f9;--accent-100: #c1dcef;--accent-200: #8ec0e2;--accent-300: #6cb0d9;--accent-400: #4ea7d9;--accent-500: #1c78b5;--accent-600: #1f6098;--accent-700: #174c79;--accent-800: #103859;--accent-900: #0a253a;--accent-bg: var(--accent-500);--accent-bg-hover: var(--accent-400);--accent-bg-active: var(--accent-600);--accent-soft-bg: rgba(28, 120, 181, .12);--accent-soft-fg: var(--accent-700);--bg-selected: rgba(28, 120, 181, .11);--scrollbar-thumb: rgba(28, 120, 181, .62);--scrollbar-thumb-hover: rgba(28, 120, 181, .78)}[data-theme=blue-dark]{--bg-app: #070808;--bg-base: #0d0f10;--bg-elevated: #131618;--bg-overlay: #171b1e;--bg-sunken: #090a0b;--bg-hover: rgba(255, 255, 255, .04);--bg-active: rgba(255, 255, 255, .07);--border-subtle: rgba(255, 255, 255, .05);--border-default: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .14);--fg-primary: #f3f4f6;--fg-secondary: #aeb4bd;--fg-tertiary: #747b85;--fg-disabled: #4c535b;--fg-inverse: #0d0f10;--fg-on-accent: #ffffff;--accent-50: #e7f1f9;--accent-100: #c1dcef;--accent-200: #8ec0e2;--accent-300: #6cb0d9;--accent-400: #4ea7d9;--accent-500: #1c78b5;--accent-600: #1f6098;--accent-700: #174c79;--accent-800: #103859;--accent-900: #0a253a;--accent-bg: var(--accent-500);--accent-bg-hover: var(--accent-400);--accent-bg-active: var(--accent-600);--accent-soft-bg: rgba(28, 120, 181, .16);--accent-soft-fg: var(--accent-200);--bg-selected: rgba(28, 120, 181, .16);--scrollbar-track: rgba(255, 255, 255, .06);--scrollbar-thumb: rgba(28, 120, 181, .7);--scrollbar-thumb-hover: rgba(28, 120, 181, .9);--scrollbar-thumb-active: var(--accent-500);--success: var(--success-400);--success-bg: rgba(76, 183, 130, .14);--success-border: rgba(76, 183, 130, .32);--warning: var(--warning-400);--warning-bg: rgba(242, 192, 87, .14);--warning-border: rgba(242, 192, 87, .32);--danger: var(--danger-300);--danger-bg: rgba(235, 87, 87, .14);--danger-border: rgba(235, 87, 87, .32);--info: var(--info-400);--info-bg: rgba(78, 167, 217, .14);--info-border: rgba(78, 167, 217, .32);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .25);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 8px 24px rgba(0, 0, 0, .35);--shadow-lg: 0 18px 52px rgba(0, 0, 0, .45);--shadow-focus: 0 0 0 1px var(--accent-500);--shadow-focus-danger: 0 0 0 1px var(--danger)}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--fg-primary);background:var(--bg-app);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv11","ss01","ss03"}button,input,select,textarea{font:inherit;color:inherit}button{background:none;border:0;padding:0;cursor:pointer}:focus{outline:none}::selection{background:var(--accent-soft-bg);color:var(--fg-primary)}*{scrollbar-color:var(--scrollbar-thumb) transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--r-sm)}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.ik-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-1_5);height:var(--control-md);padding:0 var(--sp-3);border-radius:var(--r-md);border:1px solid transparent;font-size:var(--text-sm);font-weight:var(--weight-medium);letter-spacing:var(--tracking-snug);white-space:nowrap;-webkit-user-select:none;user-select:none;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.ik-btn:focus-visible{box-shadow:var(--shadow-focus)}.ik-btn:disabled{cursor:not-allowed;opacity:.5}.ik-btn:active:not(:disabled){transform:translateY(.5px)}.ik-btn--xs{height:var(--control-xs);padding:0 var(--sp-2);font-size:var(--text-xs);border-radius:var(--r-sm)}.ik-btn--sm{height:var(--control-sm);padding:0 var(--sp-2_5)}.ik-btn--lg{height:var(--control-lg);padding:0 var(--sp-4);font-size:var(--text-md);border-radius:var(--r-lg)}.ik-btn--primary{background:var(--accent-bg);color:var(--accent-fg)}.ik-btn--primary:hover:not(:disabled){background:var(--accent-bg-hover)}.ik-btn--secondary{background:var(--bg-elevated);color:var(--fg-primary);border-color:var(--border-default)}.ik-btn--secondary:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-strong)}.ik-btn--ghost{background:transparent;color:var(--fg-secondary)}.ik-btn--ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--fg-primary)}.ik-btn--soft{background:var(--accent-soft-bg);color:var(--accent-soft-fg)}.ik-btn--danger{background:var(--danger);color:var(--fg-on-accent)}.ik-btn--icon{width:var(--control-md);padding:0;aspect-ratio:1 / 1}.ik-btn--xs.ik-btn--icon{width:var(--control-xs)}.ik-btn--sm.ik-btn--icon{width:var(--control-sm)}.ik-btn--lg.ik-btn--icon{width:var(--control-lg)}.ik-btn__loader,.ik-spinner{width:14px;height:14px;border:1.5px solid currentColor;border-top-color:transparent;border-radius:var(--r-pill);animation:ik-spin .7s linear infinite}.ik-btn-group{display:inline-flex}.ik-btn-group .ik-btn{border-radius:0}.ik-btn-group .ik-btn:first-child{border-radius:var(--r-md) 0 0 var(--r-md)}.ik-btn-group .ik-btn:last-child{border-radius:0 var(--r-md) var(--r-md) 0}.ik-btn-group .ik-btn+.ik-btn{margin-left:-1px}@keyframes ik-spin{to{transform:rotate(360deg)}}.ik-field{display:flex;flex-direction:column;gap:var(--sp-1_5)}.ik-label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--fg-secondary)}.ik-label__required{color:var(--danger);margin-left:var(--sp-0_5)}.ik-helper{font-size:var(--text-xs);color:var(--fg-tertiary)}.ik-helper--error{color:var(--danger)}.ik-input-wrap{position:relative;display:flex;align-items:center;width:100%}.ik-input,.ik-textarea{width:100%;background:var(--bg-base);color:var(--fg-primary);border:1px solid var(--border-default);border-radius:var(--r-md);font-size:var(--text-sm);letter-spacing:var(--tracking-snug);transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.ik-input{height:var(--control-md);padding:0 var(--sp-3)}.ik-input--sm{height:var(--control-sm);padding:0 var(--sp-2_5)}.ik-input--lg{height:var(--control-lg);font-size:var(--text-md);border-radius:var(--r-lg)}.ik-textarea{min-height:80px;padding:var(--sp-2) var(--sp-3);resize:vertical;line-height:var(--leading-snug)}.ik-input::placeholder,.ik-textarea::placeholder{color:var(--fg-tertiary)}.ik-input:hover:not(:disabled):not(:focus),.ik-textarea:hover:not(:disabled):not(:focus){border-color:var(--border-strong)}.ik-input:focus,.ik-textarea:focus{border-color:var(--accent-500);box-shadow:var(--shadow-focus)}.ik-input:disabled{background:var(--bg-sunken);color:var(--fg-disabled);cursor:not-allowed}.ik-input--invalid,.ik-textarea--invalid{border-color:var(--danger)}.ik-input--invalid:focus,.ik-textarea--invalid:focus{box-shadow:var(--shadow-focus-danger)}.ik-input--with-icon-left{padding-left:30px}.ik-input--with-icon-right{padding-right:30px}.ik-input__icon{position:absolute;display:inline-flex;align-items:center;justify-content:center;width:30px;height:100%;color:var(--fg-tertiary)}.ik-input__icon--left{left:0;pointer-events:none}.ik-input__icon--right{right:0}.ik-number{display:inline-flex;align-items:stretch}.ik-number .ik-input{border-radius:var(--r-md) 0 0 var(--r-md)}.ik-number__steppers{display:flex;flex-direction:column;border:1px solid var(--border-default);border-left:0;border-radius:0 var(--r-md) var(--r-md) 0;overflow:hidden}.ik-number__step{width:22px;flex:1;display:inline-flex;align-items:center;justify-content:center;color:var(--fg-tertiary);background:var(--bg-base)}.ik-number__step:hover{background:var(--bg-hover);color:var(--fg-primary)}.ik-number__step+.ik-number__step{border-top:1px solid var(--border-default)}.ik-check,.ik-radio,.ik-switch{display:inline-flex;align-items:center;gap:var(--sp-2);color:var(--fg-primary);font-size:var(--text-sm);-webkit-user-select:none;user-select:none}.ik-check input,.ik-radio input,.ik-switch input{position:absolute;opacity:0;pointer-events:none}.ik-check__box,.ik-radio__box{width:14px;height:14px;border:1px solid var(--border-strong);background:var(--bg-base);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--dur-fast) var(--ease-out)}.ik-check__box{border-radius:var(--r-xs);color:transparent}.ik-radio__box{border-radius:var(--r-pill)}.ik-radio__box:after{content:"";width:6px;height:6px;border-radius:var(--r-pill);background:var(--fg-on-accent);transform:scale(0);transition:transform var(--dur-fast) var(--ease-out)}.ik-check input:checked+.ik-check__box,.ik-radio input:checked+.ik-radio__box{background:var(--accent-bg);border-color:var(--accent-bg);color:var(--fg-on-accent)}.ik-radio input:checked+.ik-radio__box:after{transform:scale(1)}.ik-radio-group,.ik-check-group{display:flex;flex-direction:column;gap:var(--sp-2)}.ik-radio-group--row,.ik-check-group--row{flex-direction:row;gap:var(--sp-3);flex-wrap:wrap}.ik-switch__track{position:relative;width:28px;height:16px;border-radius:var(--r-pill);background:var(--border-strong);transition:background var(--dur-base) var(--ease-out)}.ik-switch__thumb{position:absolute;top:2px;left:2px;width:12px;height:12px;background:var(--fg-on-accent);border-radius:var(--r-pill);box-shadow:var(--shadow-xs);transition:transform var(--dur-base) var(--ease-out)}.ik-switch input:checked~.ik-switch__track{background:var(--accent-bg)}.ik-switch input:checked~.ik-switch__track .ik-switch__thumb{transform:translate(12px)}.ik-select{position:relative;display:inline-flex;min-width:180px}.ik-select--block{display:flex;width:100%}.ik-select__trigger{width:100%;min-height:var(--control-md);display:inline-flex;align-items:center;gap:var(--sp-2);justify-content:space-between;padding:0 var(--sp-2_5);border:1px solid var(--border-default);border-radius:var(--r-md);background:var(--bg-base);color:var(--fg-primary);text-align:left}.ik-select__trigger:hover{border-color:var(--border-strong)}.ik-select__trigger--invalid{border-color:var(--danger)}.ik-select__value{display:inline-flex;align-items:center;gap:var(--sp-1_5);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ik-select__value--multi{flex-wrap:wrap;white-space:normal;padding:var(--sp-1) 0}.ik-select__placeholder{color:var(--fg-tertiary)}.ik-select__tag{display:inline-flex;align-items:center;gap:var(--sp-1);max-width:100%;min-height:20px;padding:0 var(--sp-1_5);border-radius:var(--r-sm);background:var(--bg-sunken);border:1px solid var(--border-subtle)}.ik-select__tag-label{overflow:hidden;text-overflow:ellipsis}.ik-menu{position:absolute;top:calc(100% + var(--sp-1));left:0;min-width:100%;max-height:320px;overflow:auto;padding:var(--sp-1);border:1px solid var(--border-default);border-radius:var(--r-md);background:var(--bg-overlay);box-shadow:var(--shadow-md);z-index:var(--z-dropdown)}.ik-menu--portal{position:fixed;z-index:calc(var(--z-modal) + 1)}.ik-menu__search{padding:var(--sp-1)}.ik-menu__item{width:100%;min-height:var(--control-sm);display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-1_5) var(--sp-2);border-radius:var(--r-sm);color:var(--fg-secondary);text-align:left}.ik-menu__item:hover,.ik-menu__item[data-selected=true]{background:var(--bg-hover);color:var(--fg-primary)}.ik-menu__item--danger{color:var(--danger)}.ik-menu__item-label{flex:1;min-width:0;white-space:normal;overflow-wrap:anywhere}.ik-menu__item__check{margin-left:auto;opacity:0}.ik-menu__item[data-selected=true] .ik-menu__item__check{opacity:1;color:var(--accent-500)}.ik-menu__divider{height:1px;margin:var(--sp-1);background:var(--border-subtle)}.ik-menu__label,.ik-menu__empty{padding:var(--sp-2);color:var(--fg-tertiary);font-size:var(--text-xs)}.ik-badge,.ik-tag,.ik-chip,.ik-status-pill{display:inline-flex;align-items:center;gap:var(--sp-1);min-height:20px;padding:0 var(--sp-2);border-radius:var(--r-pill);font-size:var(--text-xs);font-weight:var(--weight-medium);border:1px solid var(--border-subtle);background:var(--bg-sunken);color:var(--fg-secondary)}.ik-badge--success{background:var(--success-bg);border-color:var(--success-border);color:var(--success)}.ik-badge--warning{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning)}.ik-badge--danger{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger)}.ik-badge--info{background:var(--info-bg);border-color:var(--info-border);color:var(--info)}.ik-chip[data-active=true]{background:var(--accent-soft-bg);color:var(--accent-soft-fg);border-color:var(--accent-500)}.ik-avatar{width:28px;height:28px;border-radius:var(--r-pill);background:var(--accent-soft-bg);color:var(--accent-soft-fg);display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:var(--weight-semibold);border:1px solid var(--border-subtle)}.ik-avatar-group{display:inline-flex}.ik-avatar-group .ik-avatar+.ik-avatar{margin-left:-8px;box-shadow:0 0 0 2px var(--bg-elevated)}.ik-progress-wrap{display:grid;gap:var(--sp-2);min-width:180px}.ik-progress__label{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);color:var(--fg-secondary);font-size:var(--text-xs);font-weight:var(--weight-medium)}.ik-progress{width:100%;height:6px;border-radius:var(--r-pill);background:var(--bg-sunken);overflow:hidden}.ik-progress__bar{height:100%;border-radius:inherit;background:var(--accent-bg)}.ik-skeleton{border-radius:var(--r-md);background:linear-gradient(90deg,var(--bg-sunken),var(--bg-hover),var(--bg-sunken));background-size:200% 100%;animation:ik-shimmer 1.4s ease-in-out infinite}@keyframes ik-shimmer{to{background-position:-200% 0}}.ik-card{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--r-md);padding:var(--sp-4);box-shadow:var(--shadow-xs)}.ik-card--interactive{cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.ik-card--interactive:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.ik-card__title{margin:0;color:var(--fg-primary);font-size:var(--text-lg);font-weight:var(--weight-semibold)}.ik-card__desc{margin:var(--sp-1) 0 0;color:var(--fg-tertiary);font-size:var(--text-sm)}.ik-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-2);padding:var(--sp-10) var(--sp-4);color:var(--fg-tertiary);text-align:center}.ik-empty__title{color:var(--fg-secondary);font-weight:var(--weight-semibold)}.ik-tabs__list{display:inline-flex;gap:var(--sp-1);border-bottom:1px solid var(--border-subtle)}.ik-tab{min-height:32px;display:inline-flex;align-items:center;justify-content:center;padding:0 var(--sp-3);color:var(--fg-secondary);border-bottom:2px solid transparent;font-size:var(--text-sm)}.ik-tab:hover{color:var(--fg-primary)}.ik-tab[data-active=true]{color:var(--fg-primary);border-color:var(--accent-500)}.ik-breadcrumbs{display:flex;align-items:center;gap:var(--sp-1);color:var(--fg-tertiary);font-size:var(--text-sm)}.ik-separator{height:1px;background:var(--border-subtle)}.ik-kbd{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 var(--sp-1_5);border:1px solid var(--border-default);border-radius:var(--r-sm);background:var(--bg-sunken);color:var(--fg-secondary);font-family:var(--font-mono);font-size:var(--text-xs)}.ik-alert,.ik-banner{display:flex;align-items:flex-start;gap:var(--sp-3);border:1px solid var(--border-default);border-radius:var(--r-md);background:var(--bg-elevated);padding:var(--sp-3);color:var(--fg-secondary)}.ik-alert--success{background:var(--success-bg);border-color:var(--success-border)}.ik-alert--warning{background:var(--warning-bg);border-color:var(--warning-border)}.ik-alert--danger{background:var(--danger-bg);border-color:var(--danger-border)}.ik-alert--info{background:var(--info-bg);border-color:var(--info-border)}.ik-alert__title{color:var(--fg-primary);font-weight:var(--weight-semibold);margin-bottom:var(--sp-0_5)}.ik-banner{align-items:center;justify-content:space-between}.ik-popover,.ik-tooltip,.ik-hover-preview{border:1px solid var(--border-default);border-radius:var(--r-md);background:var(--bg-overlay);box-shadow:var(--shadow-md);color:var(--fg-primary)}.ik-popover{position:absolute;z-index:var(--z-dropdown);min-width:220px;padding:var(--sp-3)}.ik-tooltip{position:fixed;z-index:var(--z-tooltip);max-width:260px;padding:var(--sp-1_5) var(--sp-2);font-size:var(--text-xs);color:var(--fg-secondary);pointer-events:none}.ik-fk-cell{text-decoration:underline;text-decoration-style:dashed;text-decoration-color:var(--fg-tertiary);text-underline-offset:3px;cursor:help}.ik-modal-backdrop{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--sp-4);background:#0000008c}.ik-modal-backdrop--top{align-items:flex-start;padding-top:var(--sp-12)}.ik-modal-backdrop--drawer-right{justify-content:flex-end;align-items:stretch;padding:0}.ik-modal{width:min(var(--ik-modal-width, 720px),calc(100vw - var(--sp-8)));max-height:calc(100vh - var(--sp-8));display:flex;flex-direction:column;border:1px solid var(--border-default);border-radius:var(--r-xl);background:var(--bg-overlay);box-shadow:var(--shadow-lg);overflow:hidden}.ik-modal--sm{--ik-modal-width: 420px}.ik-modal--lg{--ik-modal-width: 840px}.ik-modal--xl{--ik-modal-width: 1120px}.ik-modal--drawer{width:min(var(--ik-modal-width, 520px),92vw);height:100vh;max-height:100vh;border-radius:0}.ik-modal__header,.ik-modal__footer{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border-subtle)}.ik-modal__footer{border-top:1px solid var(--border-subtle);border-bottom:0;justify-content:flex-end}.ik-modal__title{min-width:0;color:var(--fg-primary);font-size:var(--text-lg);font-weight:var(--weight-semibold)}.ik-modal__actions{margin-left:auto;display:flex;align-items:center;gap:var(--sp-2)}.ik-modal__body{padding:var(--sp-4);overflow:auto}.ik-toast-host{position:fixed;right:var(--sp-4);z-index:var(--z-toast);pointer-events:none}.ik-toast-stack{display:flex;flex-direction:column;gap:var(--sp-2)}.ik-toast{width:min(360px,calc(100vw - var(--sp-8)));display:flex;align-items:flex-start;gap:var(--sp-2);padding:var(--sp-3);border:1px solid var(--border-default);border-radius:var(--r-md);background:var(--bg-overlay);box-shadow:var(--shadow-md);pointer-events:auto}.ik-toast__icon{margin-top:1px}.ik-toast__title{font-weight:var(--weight-semibold);color:var(--fg-primary)}.ik-toast__subtitle{color:var(--fg-secondary);font-size:var(--text-sm)}.ik-accordion{border:1px solid var(--border-subtle);border-radius:var(--r-md);overflow:hidden;background:var(--bg-elevated)}.ik-accordion__trigger{width:100%;display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-3);color:var(--fg-primary);text-align:left}.ik-accordion__trigger:hover{background:var(--bg-hover)}.ik-accordion__content{padding:0 var(--sp-3) var(--sp-3);color:var(--fg-secondary);font-size:var(--text-sm)}.ik-upload{display:block;border:1.5px dashed var(--border-strong);border-radius:var(--r-lg);padding:var(--sp-6) var(--sp-4);text-align:center;background:var(--bg-base);color:var(--fg-secondary);cursor:pointer}.ik-upload:hover{border-color:var(--accent-500);background:var(--accent-soft-bg)}.ik-tree{display:flex;flex-direction:column;gap:var(--sp-1)}.ik-tree-item{display:flex;align-items:center;gap:var(--sp-2);min-height:26px;padding:0 var(--sp-2);border-radius:var(--r-sm);color:var(--fg-secondary)}.ik-tree-item:hover,.ik-tree-item[data-selected=true]{background:var(--bg-hover);color:var(--fg-primary)}.ik-sidebar{width:220px;height:100%;display:flex;flex-direction:column;gap:var(--sp-1);padding:var(--sp-2);background:var(--bg-app)}.ik-sidebar__item{display:flex;align-items:center;gap:var(--sp-2);min-height:30px;padding:0 var(--sp-2);border-radius:var(--r-sm);color:var(--fg-secondary);text-align:left}.ik-sidebar__item:hover,.ik-sidebar__item[data-active=true]{background:var(--bg-hover);color:var(--fg-primary)}.ik-kanban-card,.ik-issue-row{border:1px solid var(--border-subtle);background:var(--bg-elevated)}.ik-kanban-card{border-radius:var(--r-md);padding:var(--sp-3);display:flex;flex-direction:column;gap:var(--sp-2)}.ik-issue-row{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-width:0 0 1px}.ik-issue-row:hover{background:var(--bg-hover)}.ik-table-host{width:100%;min-width:0}.ik-table-wrap .ant-table{background:var(--bg-base);color:var(--fg-primary)}.ik-table-wrap .ant-table-thead>tr>th{background:var(--bg-sunken)!important;color:var(--fg-tertiary)!important;border-bottom-color:var(--border-subtle)!important;font-size:var(--text-xs);font-weight:var(--weight-medium)}.ik-table-wrap .ant-table-tbody>tr>td{border-bottom-color:var(--border-subtle)!important;color:var(--fg-primary)}.ik-table-wrap--standard .ant-table-thead>tr>th{background:transparent!important;text-transform:none}.ik-table-wrap--standard .ant-table-tbody>tr:nth-child(2n)>td{background:var(--bg-hover)}.ik-table-wrap--standard .ant-table-tbody>tr:hover>td{background:var(--bg-active)!important}.ik-table-wrap--standard .ant-table-tbody>tr.ant-table-row-selected>td{background:var(--bg-selected)!important}.ik-registry-shell{height:100%;min-height:360px;display:flex;flex-direction:column;border:1px solid var(--border-subtle);border-radius:var(--r-md);background:var(--bg-elevated);overflow:hidden}.ik-registry-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-3);border-bottom:1px solid var(--border-subtle)}.ik-registry-overlay{position:absolute;inset:42px 0 0;display:flex;align-items:center;justify-content:center;background:var(--bg-elevated);color:var(--fg-tertiary);pointer-events:none}.ik-registry-row-selected>td{background:var(--bg-selected)!important}.ik-registry-row-even>td{background:var(--bg-hover)}.ik-registry-resize-handle{position:absolute;top:0;right:-5px;bottom:0;width:10px;cursor:col-resize}.ik-registry-resize-handle:after{content:"";position:absolute;top:25%;bottom:25%;right:4px;width:1px;background:transparent}.ik-registry-resize-handle:hover:after{background:var(--border-strong)}.ui-table,.ui-data-table,.ui-registry-table,.ui-virtual-registry-table,.ui-tree-registry-table{width:100%;min-width:0}.ui-table__antd,.ui-registry-table__antd{color:var(--fg-primary)}.ui-table__antd .ant-table,.ui-registry-table__antd .ant-table{background:var(--bg-base)}.ui-table--compact .ant-table-tbody>tr>td,.ui-registry-table .ant-table-tbody>tr>td{padding-block:var(--sp-2)}.ui-registry-table{position:relative;min-height:260px;border:1px solid var(--border-subtle);border-radius:var(--r-md);background:var(--bg-elevated);overflow:hidden}.ui-registry-table__header-cell{background:var(--bg-elevated)!important;color:var(--fg-tertiary)!important;border-bottom-color:var(--border-subtle)!important;font-size:var(--text-xs);font-weight:var(--weight-medium);position:relative}.ui-registry-table__cell{border-bottom-color:var(--border-subtle)!important}.ui-registry-table__row-number{color:var(--fg-tertiary);font-size:var(--text-xs);text-align:right}.ui-registry-table__row--even>td,.ui-registry-table__row-even>td{background:var(--bg-hover)}.ui-registry-table__row--selected>td,.ui-registry-table__row-selected>td{background:var(--bg-selected)!important}.ui-registry-table .ant-table-tbody>tr:hover>td{background:var(--bg-active)!important}.ui-registry-table__resizable-title{display:flex;align-items:center;min-width:0;position:relative}.ui-registry-table__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-registry-table__resize-handle{position:absolute;top:calc(-1 * var(--sp-2));right:calc(-1 * var(--sp-2));bottom:calc(-1 * var(--sp-2));width:10px;cursor:col-resize}.ui-registry-table__resize-handle:after{content:"";position:absolute;top:25%;right:4px;bottom:25%;width:1px;background:transparent}.ui-registry-table__resize-handle:hover:after{background:var(--border-strong)}.ui-registry-table__empty,.ui-registry-table__loading{position:absolute;inset:42px 0 0;display:grid;place-items:center;background:var(--bg-elevated);color:var(--fg-tertiary)}.ui-virtual-registry-table__placeholder{display:inline-block;width:72%;height:12px;border-radius:var(--r-xs);background:var(--bg-sunken)}.ui-hover-preview,.ui-fk-preview-cell{display:inline-flex;align-items:center;gap:var(--sp-2);max-width:100%}.ui-fk-preview-cell__label{overflow:hidden;text-overflow:ellipsis;text-decoration:underline;text-decoration-style:dashed;text-decoration-color:var(--fg-tertiary);text-underline-offset:3px;cursor:help}.ui-fk-preview-cell__muted{color:var(--fg-tertiary);font-size:var(--text-xs)}.ui-hover-preview__content{max-width:300px;color:var(--fg-primary)}.ik-table-layout{height:100%;min-height:0;display:flex}.ik-table-layout__sidebar{min-width:200px;max-width:600px;padding:var(--sp-3);overflow:auto}.ik-table-layout__resizer{width:6px;cursor:col-resize;position:relative}.ik-table-layout__resizer:before{content:"";position:absolute;inset:0 auto 0 50%;width:1px;background:var(--border-subtle)}.ik-table-layout__content{flex:1;min-width:0;padding:var(--sp-5);display:flex;flex-direction:column}.ik-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);min-height:36px}.ik-toolbar__left,.ik-toolbar__right,.ik-toolbar__group{display:flex;align-items:center;gap:var(--sp-2);min-width:0}.ik-toolbar__left{flex:1}@media(max-width:760px){.ik-modal{width:calc(100vw - var(--sp-4));max-height:calc(100vh - var(--sp-4))}.ik-toolbar,.ik-registry-toolbar{align-items:stretch;flex-direction:column}.ik-table-layout{flex-direction:column}.ik-table-layout__sidebar{max-width:none}.ik-table-layout__resizer{display:none}}*{box-sizing:border-box}html,body,#root{height:100%;overflow:hidden}body{margin:0;background:var(--bg-app);color:var(--fg-primary);font-family:var(--font-sans);font-size:var(--text-base);letter-spacing:var(--tracking-normal);--accent: var(--accent-500);--border: var(--border-default);--fg: var(--fg-primary);--muted: var(--fg-secondary);--surface: var(--bg-elevated);--surface-muted: var(--bg-base);--text: var(--fg-primary)}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}code{color:var(--fg-primary);font-family:var(--font-mono);font-size:var(--text-xs)}.app-shell{--sidebar-collapsed-width: 72px;--sidebar-expanded-width: 256px;--sidebar-width: var(--sidebar-expanded-width);display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);height:100vh;overflow:hidden;transition:grid-template-columns var(--dur-base) var(--ease-out)}.app-shell--sidebar-collapsed{--sidebar-width: var(--sidebar-collapsed-width)}.sidebar{background:var(--bg-base);border-right:1px solid var(--border-default);display:flex;flex-direction:column;gap:var(--sp-5);height:100vh;min-width:var(--sidebar-width);overflow:hidden;padding:var(--sp-4);transition:padding var(--dur-base) var(--ease-out),width var(--dur-base) var(--ease-out);width:var(--sidebar-width)}.sidebar__head{align-items:center;display:flex;gap:var(--sp-2);justify-content:space-between;min-height:42px}.brand{align-items:center;color:inherit;display:flex;gap:var(--sp-3);min-height:42px;min-width:0;text-decoration:none}.brand__mark{align-items:center;background:var(--accent-bg);border-radius:var(--r-sm);color:var(--fg-on-accent);display:inline-flex;font-weight:var(--weight-bold);height:34px;justify-content:center;width:34px}.brand strong,.brand small{display:block}.brand__copy{min-width:0;overflow:hidden}.brand__copy strong,.brand__copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-toggle{align-items:center;background:var(--bg-sunken);border:1px solid var(--border-default);border-radius:var(--r-sm);color:var(--fg-secondary);display:inline-flex;flex:0 0 auto;height:30px;justify-content:center;transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out);width:30px}.sidebar-toggle:hover{background:var(--bg-hover);border-color:var(--border-strong);color:var(--fg-primary)}.brand small,.muted,.unit,.model-row small,.journal-row small,.metric small,.panel p,.breadcrumbs{color:var(--fg-secondary)}.nav{display:grid;gap:var(--sp-1)}.nav__divider{background:var(--border-default);height:1px;margin:var(--sp-2) var(--sp-3)}.nav__item{align-items:center;background:transparent;border:0;border-radius:var(--r-sm);color:var(--fg-secondary);display:flex;gap:var(--sp-2);justify-content:flex-start;min-height:34px;padding:0 var(--sp-3);text-align:left;text-decoration:none;width:100%}.nav__item svg{flex:0 0 auto}.nav__item-label{display:block;flex:1;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.nav__item--active,.nav__item:hover{background:var(--bg-selected);color:var(--accent-soft-fg)}.nav-branch{display:grid;gap:var(--sp-1)}.nav__branch-toggle{align-items:center;color:var(--fg-tertiary);display:inline-flex;height:24px;justify-content:center;margin-left:auto;width:24px}.nav__branch-chevron{transition:transform var(--dur-fast) var(--ease-out)}.nav-branch:not(.nav-branch--open) .nav__branch-chevron{transform:rotate(-90deg)}.nav-subtree{display:grid;gap:var(--sp-0_5);padding-left:var(--sp-5)}.nav-branch:not(.nav-branch--open) .nav-subtree{display:none}.nav-subtree__item{background:transparent;border:0;border-radius:var(--r-sm);color:var(--fg-tertiary);min-height:28px;overflow:hidden;padding:0 var(--sp-2);text-align:left;text-overflow:ellipsis;white-space:nowrap}.nav-subtree__item:hover,.nav-subtree__item--active{background:var(--bg-hover);color:var(--fg-primary)}.nav-subtree__item--active{box-shadow:inset 2px 0 0 var(--accent-bg)}.role-panel{display:grid;gap:var(--sp-3);margin-top:auto}.app-shell--sidebar-collapsed .sidebar{align-items:stretch;gap:var(--sp-4);overflow:visible;padding:var(--sp-4) var(--sp-3)}.app-shell--sidebar-collapsed .sidebar__head{justify-content:center}.app-shell--sidebar-collapsed .brand{display:none}.app-shell--sidebar-collapsed .nav__item{justify-content:center;padding:0}.app-shell--sidebar-collapsed .nav__item-label,.app-shell--sidebar-collapsed .nav__branch-toggle,.app-shell--sidebar-collapsed .nav-subtree,.app-shell--sidebar-collapsed .nav__divider,.app-shell--sidebar-collapsed .role-panel{display:none}.role-switcher,.segmented{background:var(--bg-sunken);border:1px solid var(--border-default);border-radius:var(--r-sm);display:flex;gap:var(--sp-1);padding:var(--sp-1)}.sidebar-control{display:grid;gap:var(--sp-1_5)}.app-combobox{position:relative;width:100%;z-index:5}.app-combobox__trigger{align-items:center;background:transparent;border:0;border-radius:var(--r-sm);color:var(--fg-primary);display:flex;gap:var(--sp-2);min-height:34px;padding:0 var(--sp-2);text-align:left;width:100%}.app-combobox__trigger:hover,.app-combobox__trigger[aria-expanded=true]{background:var(--bg-hover);color:var(--fg-primary)}.app-combobox__icon{color:var(--fg-secondary);display:inline-flex;flex:0 0 auto}.app-combobox__content{display:grid;flex:1;gap:2px;min-width:0}.app-combobox__value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-combobox__chevron{color:var(--fg-tertiary);flex:0 0 auto;transition:transform var(--dur-fast) var(--ease-out)}.app-combobox__trigger[aria-expanded=true] .app-combobox__chevron{transform:rotate(180deg)}.app-combobox__menu{background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--r-sm);box-shadow:var(--shadow-lg);display:grid;gap:var(--sp-1);left:0;max-height:min(320px,calc(100vh - 120px));min-width:100%;overflow:auto;padding:var(--sp-1);position:absolute;top:calc(100% + var(--sp-1));z-index:50}.app-combobox__option{align-items:center;background:transparent;border:0;border-radius:var(--r-xs);color:var(--fg-primary);display:grid;gap:var(--sp-2);grid-template-columns:minmax(0,1fr) 16px;min-height:32px;padding:var(--sp-2);text-align:left}.app-combobox__option:hover,.app-combobox__option[aria-selected=true]{background:var(--bg-selected)}.app-combobox__option span{display:grid;gap:2px;min-width:0}.app-combobox__option strong,.app-combobox__option small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-combobox__option small{color:var(--fg-secondary)}.app-combobox__option svg{color:var(--accent-soft-fg)}.app-combobox--theme .app-combobox__trigger{color:var(--fg-secondary)}.auth-summary{display:grid;gap:var(--sp-2)}.auth-summary__identity{align-items:center;display:flex;gap:var(--sp-2);justify-content:space-between;min-width:0}.auth-summary__identity strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-pill{background:var(--accent-soft-bg);border-radius:var(--r-pill);color:var(--accent-soft-fg);flex:0 0 auto;font-size:var(--text-xs);font-weight:var(--weight-semibold);padding:var(--sp-0_5) var(--sp-2)}.dev-role-control{border-top:1px solid var(--border-default);display:grid;gap:var(--sp-1_5);padding-top:var(--sp-2)}.role-switcher button,.segmented button{background:transparent;border:0;border-radius:var(--r-xs);color:var(--fg-secondary);min-height:26px;padding:0 var(--sp-2)}.role-switcher .is-active,.segmented .is-active{background:var(--bg-base);box-shadow:var(--shadow-xs);color:var(--fg-primary)}.workspace{height:100vh;min-width:0;overflow:auto;padding:var(--sp-5)}.topbar{align-items:center;display:flex;gap:var(--sp-4);justify-content:space-between;margin-bottom:var(--sp-5)}.topbar h1{font-size:var(--text-3xl);letter-spacing:var(--tracking-normal);line-height:var(--leading-tight);margin:var(--sp-1) 0 0}.topbar__actions{align-items:center;display:flex;gap:var(--sp-2)}.model-selector,.app-combobox--model .app-combobox__trigger{align-items:center;background:var(--bg-base);border:1px solid var(--border-default);border-radius:var(--r-sm);display:flex;gap:var(--sp-2);min-height:48px;min-width:320px;padding:var(--sp-2) var(--sp-2);transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.app-combobox--model .app-combobox__trigger:hover,.app-combobox--model .app-combobox__trigger[aria-expanded=true]{background:var(--bg-hover);border-color:var(--accent-bg)}.app-combobox--model .app-combobox__trigger:focus-visible{box-shadow:var(--shadow-focus)}.app-combobox--model .app-combobox__icon,.model-selector__icon{align-items:center;background:var(--accent-soft-bg);border-radius:var(--r-sm);color:var(--accent-soft-fg);display:inline-flex;flex:0 0 auto;height:32px;justify-content:center;width:32px}.app-combobox--model .app-combobox__value{font-weight:var(--weight-semibold)}.model-selector--empty{cursor:default;color:var(--fg-secondary)}.button,.icon-button{align-items:center;border:1px solid var(--accent-bg);border-radius:var(--r-sm);display:inline-flex;gap:var(--sp-2);justify-content:center;min-height:32px}.button{background:var(--accent-bg);color:var(--fg-on-accent);padding:0 var(--sp-3)}.button--compact{min-height:38px;padding:0 var(--sp-3);width:auto}.button--secondary,.icon-button{background:var(--bg-base);border-color:var(--border-default);color:var(--fg-primary)}.button--danger{border-color:color-mix(in srgb,var(--danger),transparent 48%);color:var(--danger)}.button--danger:hover{background:var(--danger-bg)}.icon-button{width:32px}.icon-button--compact{flex:0 0 auto;min-height:30px;width:30px}.summary-grid{display:grid;gap:var(--sp-3)}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:var(--sp-3)}.metric,.panel{background:var(--bg-base);border:1px solid var(--border-default);border-radius:var(--r-md);position:relative}.metric{min-height:126px;padding:var(--sp-4)}.metric__icon{align-items:center;background:var(--accent-soft-bg);border-radius:var(--r-sm);color:var(--accent-soft-fg);display:inline-flex;height:30px;justify-content:center;margin-bottom:var(--sp-3);width:30px}.metric strong{display:block;font-size:var(--text-3xl);font-weight:var(--weight-semibold);line-height:var(--leading-tight);margin-top:var(--sp-1)}.meta-label{color:var(--fg-tertiary);display:block;font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase}.panel{min-width:0;padding:var(--sp-4)}.detail-panel--compact{padding:var(--sp-3) var(--sp-4)}.detail-panel--compact .detail-head{align-items:center;margin-bottom:0}.detail-panel--compact .signature-box{padding:var(--sp-2)}.detail-panel--compact .signature-box__line{margin-top:2px}.detail-panel--compact .signature-code{margin-top:0}.detail-panel:not(.detail-panel--compact){display:grid;gap:var(--sp-4)}.detail-panel:not(.detail-panel--compact) .detail-head{align-items:stretch;display:grid;gap:var(--sp-4);grid-template-columns:minmax(0,1fr) minmax(220px,max-content);margin-bottom:0}.detail-panel:not(.detail-panel--compact) .detail-head__title{background:var(--bg-sunken);border:1px solid var(--border-subtle);border-radius:var(--r-sm);justify-content:center;min-height:92px;padding:var(--sp-3)}.detail-panel:not(.detail-panel--compact) .signature-box{align-self:stretch;display:grid;min-width:0;padding:var(--sp-3)}.panel__header,.detail-head{align-items:flex-start;display:flex;gap:var(--sp-4);justify-content:space-between;margin-bottom:var(--sp-3)}.detail-head__title{align-items:flex-start;display:flex;flex-direction:column;gap:var(--sp-2)}.panel__header--inline{align-items:center}.panel h2,.detail-head h2{font-size:var(--text-xl);line-height:var(--leading-tight);margin:0}.panel p,.detail-head p{margin:var(--sp-1) 0 0}.panel__header-meta{align-self:flex-start;color:var(--fg-secondary);font-size:var(--text-sm);line-height:var(--leading-tight);padding-top:var(--sp-1);white-space:nowrap}.search-box{align-items:center;background:var(--bg-sunken);border:1px solid var(--border-default);border-radius:var(--r-sm);display:flex;gap:var(--sp-2);min-height:34px;padding:0 var(--sp-3)}.search-box input{background:transparent;border:0;color:var(--fg-primary);min-width:0;outline:0;width:100%}.select-box{align-items:center;background:var(--bg-sunken);border:1px solid var(--border-default);border-radius:var(--r-sm);display:flex;gap:var(--sp-2);min-height:34px;padding:0 var(--sp-2) 0 var(--sp-3)}.select-box span{color:var(--fg-secondary);font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;white-space:nowrap}.select-box select{background:transparent;border:0;color:var(--fg-primary);font:inherit;min-width:0;outline:0}.inline-notice{background:var(--info-bg);border:1px solid color-mix(in srgb,var(--info),transparent 64%);border-radius:var(--r-sm);color:var(--info);margin-bottom:var(--sp-3);padding:var(--sp-2) var(--sp-3)}.inline-notice--danger{background:var(--danger-bg);border-color:color-mix(in srgb,var(--danger),transparent 64%);color:var(--danger)}.inline-notice--success{background:var(--success-bg);border-color:color-mix(in srgb,var(--success),transparent 64%);color:var(--success)}.journal-page{min-height:540px}.journal-page>.panel__header{padding-inline:var(--sp-3)}.journal-table{border:1px solid var(--border-default);border-radius:var(--r-sm);margin-top:var(--sp-3);overflow:hidden}.journal-table__head,.journal-row__main{align-items:center;display:grid;gap:var(--sp-3);grid-template-columns:minmax(260px,1.5fr) minmax(132px,.7fr) minmax(132px,.7fr) minmax(160px,.8fr) 118px 36px;min-width:920px}.journal-table__head{background:var(--bg-sunken);color:var(--fg-secondary);font-size:var(--text-xs);font-weight:var(--weight-semibold);min-height:38px;padding:0 var(--sp-3);text-transform:uppercase}.journal-row{align-items:center;background:transparent;border:0;border-top:1px solid var(--border-default);color:inherit;display:block;padding:var(--sp-3);text-align:left;width:100%}.journal-row:hover{background:var(--bg-hover)}.journal-row__title strong,.journal-row__title small,.journal-row__main span>strong{display:block}.journal-row__chevron{align-items:center;color:var(--fg-tertiary);display:inline-flex;justify-content:center}.model-tabs{align-items:center;background:var(--bg-base);border:1px solid var(--border-default);border-radius:var(--r-md);display:flex;gap:var(--sp-1);overflow-x:auto;padding:var(--sp-1)}.model-tabs button{background:transparent;border:0;border-radius:var(--r-sm);color:var(--fg-secondary);min-height:34px;padding:0 var(--sp-3);white-space:nowrap}.model-tabs button:hover,.model-tabs .is-active{background:var(--bg-selected);color:var(--accent-soft-fg)}.model-detail-page{display:grid;gap:var(--sp-3)}.back-link{align-items:center;background:transparent;border:0;color:var(--fg-secondary);display:inline-flex;gap:var(--sp-1);justify-self:start;min-height:28px;padding:0}.back-link svg{transform:rotate(180deg)}.status,.role-badge,.tree-kind{border-radius:var(--r-pill);display:inline-flex;font-size:var(--text-xs);font-weight:var(--weight-semibold);line-height:1;padding:var(--sp-1) var(--sp-2);white-space:nowrap}.status--active,.role-badge--variable{background:var(--success-bg);color:var(--success)}.status--draft,.role-badge--calculation{background:var(--info-bg);color:var(--info)}.role-badge--admin{background:var(--accent-soft-bg);color:var(--accent-soft-fg)}.role-badge--unknown{background:var(--bg-sunken);color:var(--fg-secondary)}.status--validation_error{background:var(--danger-bg);color:var(--danger)}.status--archived{background:var(--bg-sunken);color:var(--fg-secondary)}.status--history-added{background:var(--success-bg);color:var(--success)}.status--history-changed{background:var(--warning-bg);color:var(--warning)}.status--history-removed{background:var(--danger-bg);color:var(--danger)}.signature-box{background:var(--bg-sunken);border:1px solid var(--border-default);border-radius:var(--r-sm);min-width:236px;padding:var(--sp-3)}.signature-box__line{align-items:center;display:flex;gap:var(--sp-2);margin-top:var(--sp-1)}.signature-code{background:var(--bg-sunken);border:1px solid var(--border-subtle);border-radius:var(--r-xs);display:inline-flex;margin-top:var(--sp-1);max-width:100%;overflow:hidden;padding:2px var(--sp-2);text-overflow:ellipsis;white-space:nowrap}.signature-copy{color:var(--fg-secondary);flex:0 0 auto;height:28px;min-height:28px;width:28px}.signature-box__hint{color:var(--success);display:block;font-size:var(--text-xs);margin-top:var(--sp-1)}.facts{display:grid;gap:var(--sp-2);grid-template-columns:repeat(4,minmax(0,1fr))}.facts--compact{grid-template-columns:repeat(4,minmax(120px,1fr))}.fact{background:var(--bg-sunken);border:1px solid var(--border-subtle);border-radius:var(--r-sm);min-width:0;padding:var(--sp-3)}.fact strong{display:block;margin-top:var(--sp-1)}.tree-node__label{align-items:center;background:transparent;border:0;border-radius:var(--r-xs);color:var(--fg-primary);display:flex;gap:var(--sp-2);min-height:28px;padding:0 var(--sp-1);text-align:left;width:100%}.tree-node__label:hover{background:var(--bg-hover)}.tree-node__children{border-left:1px solid var(--border-default);margin-left:var(--sp-3);padding-left:var(--sp-3)}.tree-node__spacer{width:14px}.tree-kind{background:var(--bg-sunken);color:var(--fg-secondary);min-width:58px;justify-content:center}.tree-kind--cell{background:var(--accent-soft-bg);color:var(--accent-soft-fg)}.table-wrap{border:1px solid var(--border-default);border-radius:var(--r-sm);overflow:auto}table{border-collapse:collapse;min-width:940px;width:100%}th,td{border-bottom:1px solid var(--border-subtle);padding:var(--sp-2) var(--sp-3);text-align:left;vertical-align:top}th{background:var(--bg-sunken);color:var(--fg-secondary);font-size:var(--text-xs);font-weight:var(--weight-semibold);position:sticky;top:0}tbody tr:nth-child(2n){background:var(--bg-hover)}.chart{display:grid;gap:var(--sp-3)}.line-chart-card{background:var(--bg-sunken);border:1px solid var(--border-default);border-radius:var(--r-md);min-width:0;padding:var(--sp-4)}.line-chart-card--fullscreen{background:var(--bg-base);box-shadow:0 24px 80px #0000008c;display:grid;grid-template-rows:auto minmax(0,1fr);inset:var(--sp-4);position:fixed;z-index:30}.line-chart-card__head{align-items:flex-start;display:flex;gap:var(--sp-3);justify-content:space-between;margin-bottom:var(--sp-3)}.line-chart-card__head h3{margin:0}.line-chart-card__head p,.line-chart-card__head span{color:var(--fg-secondary);margin:var(--sp-1) 0 0}.line-chart-card__actions{align-items:center;display:flex;flex:0 0 auto;gap:var(--sp-2)}.line-chart-card__actions .button{min-height:30px}.line-chart{display:block;height:auto;width:100%}.line-chart-card--fullscreen .line-chart{height:100%;min-height:0}.line-chart__plot{fill:var(--bg-base);stroke:var(--border-subtle)}.line-chart__grid{stroke:var(--border-default);stroke-width:1}.line-chart__label{fill:var(--fg-tertiary);font-family:var(--font-sans);font-size:11px}.line-chart__line{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:3;filter:drop-shadow(0 0 6px rgba(94,106,210,.18));opacity:.72}.line-chart__line.is-selected{opacity:1;stroke-width:4}.line-chart__line--scenario{stroke-dasharray:8 7}.line-chart__point{stroke:var(--bg-base);stroke-width:2}.line-chart__point--scenario{stroke:var(--fg-primary)}.line-chart__point-hit{cursor:pointer;outline:none}.line-chart__point-hit:focus .line-chart__point{stroke:var(--fg-primary)}.series-toggles{display:grid;gap:var(--sp-2);margin-bottom:var(--sp-4)}.series-toggles label,.series-toggles__item{align-items:center;background:var(--bg-sunken);border:1px solid var(--border-default);border-radius:var(--r-sm);display:flex;gap:var(--sp-2);min-height:34px;padding:0 var(--sp-3)}.series-toggles--stacked label,.series-toggles--stacked .series-toggles__item{align-items:flex-start;min-height:58px;padding:var(--sp-2) var(--sp-3)}.series-toggles label.is-selected,.series-toggles__item.is-selected{border-color:color-mix(in srgb,var(--accent-bg),transparent 35%);background:var(--accent-soft-bg)}.series-toggles input{accent-color:var(--accent-bg);margin-top:4px}.series-toggles>label>span,.series-toggles__item>span{border-radius:var(--r-pill);display:inline-flex;height:9px;margin-top:7px;flex:0 0 auto;width:22px}.series-toggles button{background:transparent;border:0;color:var(--fg-primary);display:flex;flex:1;flex-direction:column;gap:3px;min-width:0;padding:0;text-align:left}.series-toggles button small{color:var(--fg-secondary)}.chart-row{display:grid;gap:var(--sp-3);grid-template-columns:120px minmax(0,1fr);min-height:46px}.bars{display:grid;gap:var(--sp-1)}.bar{align-items:center;border-radius:var(--r-xs);display:flex;min-height:18px;min-width:92px;padding:0 var(--sp-2)}.bar small{color:var(--fg-on-accent);font-size:var(--text-xs)}.bar--plan{background:var(--accent-bg)}.bar--forecast{background:var(--info)}.segmented--compact{display:inline-flex;margin-bottom:var(--sp-3)}.analysis-split,.test-page-grid{display:grid;gap:var(--sp-3);grid-template-columns:minmax(0,1fr) minmax(280px,.42fr)}.test-page-grid--single{grid-template-columns:minmax(0,1fr)}.analysis-split h3,.chart-controls h3{font-size:var(--text-lg);margin:0 0 var(--sp-3)}.metric-detail{display:grid;gap:var(--sp-3)}.metric-detail__head{align-items:flex-start;display:flex;gap:var(--sp-3);justify-content:space-between}.metric-detail__head h3,.metric-detail__head p{margin:0}.metric-detail__head p,.metric-detail__head span{color:var(--fg-secondary)}.scenario-toolbar{align-items:center;display:flex;flex:1;flex-wrap:wrap;gap:12px;justify-content:space-between}.scenario-toolbar__controls{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.scenario-status{color:var(--fg-secondary);font-size:.86rem}.metric-detail__grid{display:grid;gap:var(--sp-3);grid-template-columns:minmax(0,1fr) minmax(280px,.42fr)}.formula-tree-panel{display:grid;gap:var(--sp-3)}.formula-tree{display:grid;gap:var(--sp-3);min-width:0}.formula-tree__stack{display:grid;gap:var(--sp-3);align-content:start;grid-auto-rows:max-content;max-height:560px;overflow:auto;padding-right:var(--sp-1)}.formula-tree__body{border:1px solid var(--border-default);border-radius:var(--r-sm);min-height:58px;overflow:hidden}.formula-tree__body.is-selected{border-color:color-mix(in srgb,var(--accent-bg),transparent 35%)}.formula-tree__body.is-muted{opacity:.52}.formula-tree__group{border-top:1px solid var(--border-subtle)}.formula-tree__row,.formula-tree__drivers label{align-items:center;display:grid;gap:var(--sp-2);min-height:48px;padding:var(--sp-2) var(--sp-3)}.formula-tree__row{grid-template-columns:96px minmax(0,1fr) minmax(160px,.35fr)}.formula-tree__row--root{background:var(--accent-soft-bg);grid-template-columns:18px 96px minmax(0,1fr) minmax(170px,.35fr) 32px;min-height:58px}.formula-tree__row--root>input{accent-color:var(--accent-bg)}.formula-tree__row--formula{background:var(--bg-sunken);grid-template-columns:96px minmax(0,1fr) minmax(170px,.35fr);min-height:56px;padding-left:calc(var(--sp-3) + 24px)}.formula-tree__badge{align-items:center;background:var(--accent-bg);border-radius:var(--r-pill);color:var(--fg-on-accent);display:inline-flex;font-size:var(--text-xs);font-weight:var(--weight-semibold);justify-content:center;min-height:24px;padding:0 var(--sp-3)}.formula-tree__badge--formula{background:var(--warning-bg);color:var(--warning)}.formula-tree__row strong,.formula-tree__row code,.formula-tree__drivers strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.formula-tree__row small,.formula-tree__drivers small{color:var(--fg-secondary);display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.formula-tree__drivers{display:grid}.formula-tree__drivers label{border-top:1px solid var(--border-subtle);grid-template-columns:18px minmax(0,1fr) minmax(96px,160px);min-height:54px;padding-left:calc(var(--sp-3) + 48px)}.formula-tree__drivers label.is-muted{opacity:.46}.formula-tree__drivers input{accent-color:var(--accent-bg)}.formula-tree__drivers b{font-weight:var(--weight-semibold);overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.scenario-layout{display:grid;gap:var(--sp-3);grid-template-columns:minmax(320px,.4fr) minmax(0,1fr)}.economics-workspace,.calculation-picker{display:grid;gap:var(--sp-3);min-width:0}.economics-workbench{align-items:start;display:grid;gap:var(--sp-3);grid-template-columns:minmax(420px,1fr) minmax(340px,.44fr);min-width:0}.economics-workbench--analysis{grid-template-columns:repeat(2,minmax(0,1fr))}.economics-workbench--analysis,.economics-workbench--analysis>.panel{min-height:0}.economics-workbench--analysis .formula-tree__stack,.economics-workbench--analysis .scenario-tree{max-height:min(520px,50vh);overflow-y:auto;overscroll-behavior:contain}.economics-side,.chart-controls{display:grid;gap:var(--sp-3);min-width:0}.chart-controls .series-toggles{margin-bottom:0;max-height:320px;overflow:auto;padding-right:var(--sp-1)}.detail-filters--calculation{grid-template-columns:minmax(0,1fr) minmax(250px,.32fr)}.detail-filters--calculation .select-box select{width:100%}.calculation-picker--wide{min-width:0}.calculation-setup{display:grid;gap:var(--sp-3)}.calculation-setup-grid{align-items:start;display:grid;gap:var(--sp-4);grid-template-columns:minmax(260px,1fr) minmax(0,2fr)}.calculation-setup-column{display:grid;gap:var(--sp-3);min-width:0}.calculation-setup-card{background:var(--bg-sunken);border:1px solid var(--border-default);border-radius:var(--r-sm);min-height:276px;padding:var(--sp-4)}.calculation-setup-card--wide{background:var(--bg-panel)}.calculation-setup-card .select-box select,.calculation-setup-card .field-line input{width:100%}.calculation-name-row{align-items:end;display:grid;gap:var(--sp-3);grid-template-columns:minmax(280px,1fr) max-content max-content}.calculation-builder-layout{align-items:start;display:grid;gap:var(--sp-3);grid-template-columns:minmax(0,1fr)}.calculation-cell-browser,.calculation-selected-panel,.calculation-results-panel{display:grid;gap:var(--sp-3);min-width:0}.calculation-step{color:var(--fg-secondary);display:block;font-size:var(--text-xs);font-weight:var(--weight-semibold);margin-bottom:var(--sp-1);text-transform:uppercase}.detail-filters.calculation-cell-filters{grid-template-columns:minmax(0,1fr) minmax(250px,.28fr) max-content}.detail-filters.calculation-cell-filters .search-box,.detail-filters.calculation-cell-filters .select-box select{width:100%}.calculation-lower-grid{align-items:start;display:grid;gap:var(--sp-3);grid-template-columns:minmax(0,.48fr) minmax(0,.52fr)}.selectable-cell-rows__head,.selectable-cell-row{grid-template-columns:46px minmax(74px,.18fr) minmax(100px,.28fr) minmax(80px,.18fr) minmax(110px,.26fr)}.selectable-cell-row{align-items:center;border-top:1px solid var(--border-subtle);display:grid;gap:var(--sp-2);min-height:46px;padding:var(--sp-2) var(--sp-3)}.selectable-cell-row.is-selected{background:var(--accent-soft-bg)}.selectable-cell-row.is-disabled{cursor:not-allowed;opacity:.55}.selectable-cell-row input[type=checkbox]{height:1px;opacity:0;position:absolute;width:1px}.selectable-cell-row__check{align-items:center;background:#d5d9e2;border:1px solid var(--border-default);border-radius:var(--r-xs);color:var(--fg-on-accent);display:inline-flex;height:18px;justify-content:center;transition:background-color .12s ease,border-color .12s ease,box-shadow .12s ease;width:18px}.selectable-cell-row.is-selected .selectable-cell-row__check{background:var(--accent-bg);border-color:var(--accent-bg)}.selectable-cell-row input[type=checkbox]:focus-visible+.selectable-cell-row__check{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-bg),transparent 70%)}[data-theme=dark] .selectable-cell-row__check{background:#f5f7fa;border-color:#ffffff6b}[data-theme=dark] .selectable-cell-row.is-selected .selectable-cell-row__check{background:var(--accent-bg);border-color:var(--accent-bg)}.selectable-cell-row code,.selectable-cell-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-scenario-cells{border:1px solid var(--border-default);border-radius:var(--r-sm);display:grid;max-height:300px;overflow:auto}.selected-scenario-cell{align-items:center;border-top:1px solid var(--border-subtle);display:grid;gap:var(--sp-3);grid-template-columns:minmax(0,1fr) minmax(210px,.62fr) 32px;min-height:68px;padding:var(--sp-2) var(--sp-3)}.selected-scenario-cell:first-child{border-top:0}.selected-scenario-cell strong,.selected-scenario-cell small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis}.selected-scenario-cell small{color:var(--fg-secondary);margin-top:3px;white-space:nowrap}.selected-scenario-cell__values{align-items:center;display:grid;gap:var(--sp-2);grid-template-columns:minmax(72px,.4fr) minmax(110px,1fr)}.selected-scenario-cell__values span{color:var(--fg-secondary);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-scenario-cell__values input{background:var(--bg-sunken);border:1px solid var(--border-default);border-radius:var(--r-xs);color:var(--fg-primary);min-height:36px;min-width:0;padding:0 var(--sp-2)}.calculation-actions,.calculation-setup-actions{align-items:center;display:flex;flex-wrap:wrap;gap:var(--sp-2);justify-content:flex-end}.calculation-results-table{border:1px solid var(--border-default);border-radius:var(--r-sm);display:grid;max-height:560px;overflow:auto}.calculation-results-table__head,.calculation-results-row{align-items:center;display:grid;gap:var(--sp-2);grid-template-columns:minmax(0,1fr) minmax(92px,.22fr) minmax(92px,.22fr) minmax(120px,.3fr);padding:var(--sp-2) var(--sp-3)}.calculation-results-table__head{background:var(--bg-sunken);color:var(--fg-secondary);font-size:var(--text-xs);font-weight:var(--weight-semibold);min-height:42px;text-transform:uppercase}.calculation-results-row{border-top:1px solid var(--border-subtle);min-height:58px}.calculation-results-row strong,.calculation-results-row small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis}.calculation-results-row small{color:var(--fg-secondary);margin-top:3px;white-space:nowrap}.calculation-results-row b,.calculation-results-row code{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calculation-results-row b{font-weight:var(--weight-semibold)}.calculation-comparison-page{display:grid;gap:var(--sp-2)}.calculation-comparison-picker,.calculation-comparison-report{display:grid;gap:var(--sp-3);min-width:0}.calculation-comparison-picker{align-content:start}.calculation-comparison-picker__actions{display:grid;gap:var(--sp-2);grid-template-columns:1.25fr 1fr 1fr}.calculation-comparison-picker__list{border:1px solid var(--border-default);border-radius:var(--r-sm);display:grid;max-height:640px;overflow:auto}.calculation-comparison-picker__list label{align-items:center;border-top:1px solid var(--border-subtle);display:grid;gap:var(--sp-2);grid-template-columns:18px minmax(0,1fr);min-height:58px;padding:var(--sp-2) var(--sp-3)}.calculation-comparison-picker__list label:first-child{border-top:0}.calculation-comparison-picker__list label:hover,.calculation-comparison-picker__list label.is-selected{background:var(--bg-hover)}.calculation-comparison-picker__list label.is-selected{box-shadow:inset 3px 0 0 var(--accent)}.calculation-comparison-picker__list strong,.calculation-comparison-picker__list small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calculation-comparison-picker__list small{color:var(--fg-secondary);font-size:var(--text-sm);margin-top:3px}.calculation-comparison-section{gap:var(--sp-4);min-width:0;overflow:hidden}.detail-filters.calculation-comparison-filters{grid-template-columns:minmax(0,1fr) minmax(250px,max-content)}.calculation-comparison-card-grid{display:grid;gap:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.calculation-comparison-card{content-visibility:auto;contain-intrinsic-size:236px;min-height:0}.calculation-comparison-card__bar--0{background:linear-gradient(90deg,#7fb047,#c8e67b)}.calculation-comparison-card__bar--1{background:#6ba8ff}.calculation-comparison-card__bar--2{background:#d6bb62}.calculation-comparison-card__bar--3{background:#8ea5ff}.calculation-comparison-card__bar--bad{background:linear-gradient(90deg,#c63838,#ff7b7b)}.calculation-comparison-table-card{max-width:100%;min-width:0;overflow-x:auto;width:100%}.calculation-comparison-sheet-list{display:grid;gap:var(--sp-3);min-width:0}.calculation-comparison-sheet{border:1px solid var(--border-default);border-radius:var(--r-sm);display:grid;min-width:0;overflow:hidden}.calculation-comparison-sheet__head{align-items:center;background:var(--bg-panel);border:0;color:inherit;cursor:pointer;display:grid;gap:var(--sp-2);grid-template-columns:22px minmax(0,1fr);min-height:58px;padding:var(--sp-3);text-align:left;width:100%}.calculation-comparison-sheet__head:hover{background:var(--bg-hover)}.calculation-comparison-sheet__head b,.calculation-comparison-sheet__head small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calculation-comparison-sheet__head b{font-weight:var(--weight-semibold)}.calculation-comparison-sheet__head small{color:var(--fg-secondary);font-size:var(--text-sm);margin-top:3px}.calculation-comparison-sheet__body{border-top:1px solid var(--border-subtle);display:grid;gap:var(--sp-3);min-width:0;padding:var(--sp-3)}.calculation-comparison-table{table-layout:auto;width:max-content}.calculation-comparison-table th,.calculation-comparison-table td{min-width:112px;white-space:nowrap}.calculation-comparison-table th:first-child,.calculation-comparison-table td:first-child{min-width:240px;white-space:normal}.calculation-comparison-table th:nth-child(2),.calculation-comparison-table td:nth-child(2){min-width:78px}.calculation-comparison-table th:nth-child(3),.calculation-comparison-table td:nth-child(3){min-width:104px}.calculation-comparison-table th:nth-child(4),.calculation-comparison-table td:nth-child(4){min-width:170px}.calculation-comparison-table td:nth-child(3n+5){min-width:170px}.calculation-comparison-table code{white-space:nowrap}.calculation-comparison-value--error{color:var(--danger);font-weight:var(--weight-semibold)}.calculation-sheet-chart{display:grid;gap:var(--sp-2);min-width:0}.calculation-sheet-chart__plot{background:var(--bg-soft);border:1px solid var(--border-subtle);border-radius:var(--r-sm);overflow:hidden}.calculation-sheet-chart__plot svg{display:block;height:auto;width:100%}.calculation-sheet-chart__plot text{fill:var(--fg-secondary);font-size:12px;font-weight:var(--weight-medium)}.calculation-sheet-chart__grid{stroke:var(--border-subtle);stroke-dasharray:4 6}.calculation-sheet-chart__line{fill:none;opacity:.92;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.4}.calculation-sheet-chart__legend{align-items:center;color:var(--fg-secondary);display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-3);font-size:var(--text-sm)}.calculation-sheet-chart__legend span{align-items:center;display:inline-flex;gap:6px}.calculation-sheet-chart__legend i{border-radius:999px;height:9px;width:9px}.saved-calculations-page{display:grid;gap:var(--sp-2)}.saved-calculation-list-panel,.saved-calculation-detail,.saved-calculation-section{display:grid;gap:var(--sp-3);min-width:0}.saved-calculation-list-panel{background:var(--bg-panel);border:1px solid var(--border-default);border-radius:var(--r-md);padding:var(--sp-4)}.saved-calculation-list-panel__head{align-items:start;display:flex;justify-content:space-between}.saved-calculation-list-panel__head h3,.saved-calculation-hero h3,.saved-calculation-section h3{margin:0}.saved-calculation-list-panel__head p,.saved-calculation-hero p,.saved-calculation-section p{color:var(--fg-secondary);margin:var(--sp-1) 0 0}.saved-calculation-list{display:grid;gap:var(--sp-2);max-height:680px;overflow:auto;padding-right:var(--sp-1)}.saved-calculation-card{background:var(--bg-sunken);border:1px solid var(--border-default);border-radius:var(--r-sm);color:var(--fg-primary);cursor:pointer;display:grid;gap:var(--sp-1);min-height:64px;padding:var(--sp-3);text-align:left}.saved-calculation-card.is-active{background:var(--accent-soft-bg);border-color:color-mix(in srgb,var(--accent-bg),transparent 30%)}.saved-calculation-card strong,.saved-calculation-card span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saved-calculation-card span{color:var(--fg-secondary);font-size:var(--text-sm)}.saved-calculation-hero{align-items:start;display:grid;gap:var(--sp-4);grid-template-columns:minmax(0,1fr) auto}.saved-calculation-actions{align-items:center;display:flex;flex-wrap:wrap;gap:var(--sp-2);justify-self:end}.saved-calculation-actions .button{min-width:160px}.saved-calculation-hero .facts--compact{grid-column:1 / -1;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.saved-calculation-hero .fact strong{overflow-wrap:anywhere}.saved-overrides-table{border:1px solid var(--border-default);border-radius:var(--r-sm);display:grid;max-height:360px;overflow:auto}.saved-overrides-table__head,.saved-overrides-row{align-items:center;display:grid;gap:var(--sp-2);grid-template-columns:minmax(0,1fr) minmax(100px,.24fr) minmax(100px,.24fr);padding:var(--sp-2) var(--sp-3)}.saved-overrides-table__head{background:var(--bg-sunken);color:var(--fg-secondary);font-size:var(--text-xs);font-weight:var(--weight-semibold);min-height:42px;text-transform:uppercase}.saved-overrides-row{border-top:1px solid var(--border-subtle);min-height:58px}.saved-overrides-row strong,.saved-overrides-row small,.saved-overrides-row b{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saved-overrides-row small{color:var(--fg-secondary);margin-top:3px}.saved-tree-block{display:grid;gap:var(--sp-2)}.detail-filters.saved-tree-toolbar{grid-template-columns:minmax(0,1fr) max-content}.saved-tree-toolbar .search-box{width:100%}.saved-tree-rows{border-top:1px solid var(--border-subtle)}.saved-tree-row{align-items:center;border-top:1px solid var(--border-subtle);display:grid;gap:var(--sp-2);min-height:50px;padding:var(--sp-2) var(--sp-3)}.saved-tree-row:first-child{border-top:0}.saved-tree-row--override{grid-template-columns:minmax(0,1fr) minmax(100px,.2fr) minmax(100px,.2fr)}.saved-tree-row--result{grid-template-columns:minmax(0,1fr) minmax(110px,.22fr) minmax(140px,.32fr)}.saved-tree-row strong,.saved-tree-row small,.saved-tree-row b,.saved-tree-row code{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saved-tree-row small{color:var(--fg-secondary);margin-top:3px}.selection-actions{display:flex;flex-wrap:wrap;gap:var(--sp-2);justify-content:flex-end}.calculation-list,.scenario-tree{border:1px solid var(--border-default);border-radius:var(--r-sm);display:grid;max-height:520px;overflow:auto}.calculation-list{max-height:620px}.scenario-tree{max-height:360px}.calculation-list label{align-items:center;border-top:1px solid var(--border-subtle);display:grid;gap:var(--sp-2);min-height:58px;padding:var(--sp-2) var(--sp-3)}.calculation-list label{grid-template-columns:18px minmax(0,1fr) minmax(92px,150px)}.calculation-list label:first-child{border-top:0}.calculation-list label.is-selected{background:var(--accent-soft-bg)}.calculation-list input{accent-color:var(--accent-bg)}.calculation-list strong,.calculation-list small{display:block}.calculation-list small{color:var(--fg-secondary);margin-top:3px}.calculation-list b{font-weight:var(--weight-semibold);overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.scenario-tree__metric{border-top:1px solid var(--border-subtle);display:grid}.scenario-tree__metric:first-child{border-top:0}.scenario-tree__root,.scenario-tree__formula,.scenario-tree__drivers label{align-items:center;display:grid;gap:var(--sp-2);min-width:0;padding:var(--sp-2) var(--sp-3)}.scenario-tree__root{background:var(--accent-soft-bg);grid-template-columns:92px minmax(0,1fr) 32px;min-height:58px}.scenario-tree__formula{background:var(--bg-sunken);border-top:1px solid var(--border-subtle);grid-template-columns:92px minmax(0,1fr);min-height:46px}.scenario-tree__drivers label{border-top:1px solid var(--border-subtle);grid-template-columns:minmax(0,1fr) minmax(120px,170px);min-height:58px}.scenario-tree strong,.scenario-tree small,.scenario-tree code{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis}.scenario-tree strong{overflow-wrap:anywhere;white-space:normal}.scenario-tree small,.scenario-tree code{color:var(--fg-secondary);white-space:nowrap}.scenario-tree input{background:var(--bg-sunken);border:1px solid var(--border-default);border-radius:var(--r-xs);color:var(--fg-primary);min-height:36px;min-width:0;padding:0 var(--sp-2);width:100%}.file-picker--compact{min-height:38px;width:auto}.scenario-mismatch-list{display:grid;gap:var(--sp-1);margin:var(--sp-2) 0 0;padding-left:var(--sp-4)}.scenario-mismatch-list small{color:var(--fg-secondary);display:block}.scenario-test-page{display:grid;gap:var(--sp-3)}.scenario-test-grid{align-items:start;display:grid;gap:var(--sp-3);grid-template-columns:repeat(2,minmax(0,1fr))}.scenario-test-panel{background:var(--bg-sunken);border:1px solid var(--border-default);border-radius:var(--r-sm);display:grid;gap:var(--sp-3);min-width:0;padding:var(--sp-3)}.scenario-test-panel h3{font-size:var(--text-md);margin:0}.scenario-test-actions{align-items:center;display:flex;flex-wrap:wrap;gap:var(--sp-2)}.scenario-test-actions--stack{align-items:stretch;display:grid}.scenario-test-actions input,.scenario-test-select{min-width:min(100%,260px)}.scenario-test-actions input{background:var(--bg-base);border:1px solid var(--border-default);border-radius:var(--r-sm);color:var(--fg-primary);min-height:34px;padding:0 var(--sp-3)}.scenario-test-facts{display:grid;gap:var(--sp-2);margin:0}.scenario-test-facts--grid{grid-template-columns:repeat(3,minmax(0,1fr))}.scenario-test-facts div{display:grid;gap:var(--sp-1)}.scenario-test-facts dt{color:var(--fg-tertiary);font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase}.scenario-test-facts dd{margin:0;min-width:0;overflow-wrap:anywhere}.scenario-test-json{background:var(--bg-base);border:1px solid var(--border-default);border-radius:var(--r-sm);color:var(--fg-secondary);font-size:var(--text-xs);margin:0;max-height:420px;overflow:auto;padding:var(--sp-3)}.scenario-test-table-wrap{border:1px solid var(--border-default);border-radius:var(--r-sm);overflow:auto}.scenario-test-table{border-collapse:collapse;font-size:var(--text-sm);min-width:760px;width:100%}.scenario-test-table th,.scenario-test-table td{border-top:1px solid var(--border-subtle);padding:var(--sp-2) var(--sp-3);text-align:left;vertical-align:top}.scenario-test-table th{background:var(--bg-base);color:var(--fg-tertiary);font-size:var(--text-xs);font-weight:var(--weight-semibold);position:sticky;text-transform:uppercase;top:0}.scenario-test-table tbody tr:first-child td{border-top:0}.scenario-test-table td{overflow-wrap:anywhere}.scenario-test-table strong,.scenario-test-table code{display:block}.scenario-test-table code{color:var(--fg-secondary);font-size:var(--text-xs);margin-top:2px}.scenario-test-cell-list{border:1px solid var(--border-default);border-radius:var(--r-sm);display:grid;max-height:360px;overflow:auto}.scenario-test-cell-row{align-items:center;background:var(--bg-base);border:0;border-top:1px solid var(--border-subtle);color:var(--fg-primary);display:grid;gap:var(--sp-2);grid-template-columns:minmax(0,1fr) minmax(160px,.44fr) minmax(86px,.18fr);min-height:54px;padding:var(--sp-2) var(--sp-3);text-align:left}.scenario-test-cell-row:first-child{border-top:0}.scenario-test-cell-row:hover{background:var(--accent-soft-bg)}.scenario-test-cell-row strong,.scenario-test-cell-row small,.scenario-test-cell-row code,.scenario-test-cell-row b{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis}.scenario-test-cell-row small,.scenario-test-cell-row code{color:var(--fg-secondary)}.scenario-test-cell-row b{font-weight:var(--weight-semibold);text-align:right}.metric-table{max-height:360px}.formula-drivers{border:1px solid var(--border-default);border-radius:var(--r-sm);display:grid;max-height:360px;overflow:auto}.formula-drivers label{align-items:center;border-top:1px solid var(--border-subtle);display:grid;gap:var(--sp-2);grid-template-columns:18px minmax(0,1fr) auto;min-height:58px;padding:var(--sp-2) var(--sp-3)}.formula-drivers label:first-child{border-top:0}.formula-drivers label.is-muted{opacity:.46}.formula-drivers input{accent-color:var(--accent-bg)}.formula-drivers strong,.formula-drivers small{display:block}.formula-drivers small{color:var(--fg-secondary);margin-top:3px}.formula-drivers b{font-weight:var(--weight-semibold)}.api-summary{display:grid;gap:var(--sp-3)}.summary-block,.detail-list-page{display:grid;gap:var(--sp-3);min-width:0}.admin-model-page{gap:var(--sp-3)}.admin-model-hero{align-items:flex-start;display:flex;gap:var(--sp-3);justify-content:space-between}.admin-model-hero__main{min-width:0}.admin-model-hero h2{margin:var(--sp-2) 0 var(--sp-1)}.admin-model-hero p{color:var(--fg-secondary);margin:0}.admin-model-actions,.admin-save-bar>div,.admin-rename-row{align-items:center;display:flex;gap:var(--sp-2)}.admin-model-actions{flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end;max-width:min(100%,720px)}.admin-model-actions__hint{color:var(--fg-muted);flex-basis:100%;font-size:var(--text-xs);text-align:right}.admin-model-settings{align-items:center;display:grid;gap:var(--sp-4);grid-template-columns:minmax(180px,240px) minmax(0,1fr)}.admin-model-settings h2{font-size:var(--text-lg);margin:0}.admin-cell-browser{display:grid;gap:var(--sp-5);min-width:0}.admin-rename-row input{flex:1 1 auto;min-width:0}.admin-rename-row .button{flex:0 0 auto}.admin-change-counter{align-self:center;background:var(--accent-soft-bg);border-radius:var(--r-pill);color:var(--accent-soft-fg);flex:0 0 auto;font-size:var(--text-sm);font-weight:var(--weight-semibold);padding:var(--sp-1) var(--sp-3)}.admin-save-bar{align-items:center;background:var(--bg-sunken);border:1px solid var(--border-default);border-radius:var(--r-sm);display:flex;gap:var(--sp-3);justify-content:space-between;padding:var(--sp-3)}.admin-save-bar--top{flex:0 0 auto;min-width:min(100%,520px);padding:var(--sp-2)}.panel__header .admin-save-bar--top{align-self:flex-start}.admin-save-bar span{color:var(--fg-secondary)}.summary-block__head,.detail-list-page__head{align-items:flex-start;display:flex;gap:var(--sp-3);justify-content:space-between}.detail-list-page__head--end{justify-content:flex-end;padding-inline-end:var(--sp-3)}.summary-block__head h3,.detail-list-page__head h3{font-size:var(--text-lg);margin:0}.summary-block__head p,.detail-list-page__head span{color:var(--fg-secondary);margin:0}.summary-block__head .button{flex:0 0 auto}.detail-filters{align-items:center;display:grid;gap:var(--sp-3);grid-template-columns:max-content minmax(260px,1fr) minmax(250px,max-content) max-content}.detail-filters .segmented--compact{margin-bottom:0}.detail-filters__search{min-width:0}.detail-filters__sort{justify-self:end;min-width:250px}.detail-filters__sort span{font-size:var(--text-sm);font-weight:var(--weight-regular);text-transform:none}.detail-filters__spacer{display:none}.cell-tree-controls{align-items:center;display:flex;gap:var(--sp-2)}.cell-tree-controls button{align-items:center;background:var(--bg-sunken);border:1px solid var(--border-default);border-radius:var(--r-xs);color:var(--fg-secondary);display:inline-flex;gap:var(--sp-1);min-height:30px;padding:0 var(--sp-2);white-space:nowrap}.cell-tree-controls button:not(:disabled):hover{background:var(--bg-hover);border-color:var(--border-strong);color:var(--fg-primary)}.cell-tree-controls button:disabled{background:var(--bg-sunken);border-color:var(--border-subtle);color:var(--fg-tertiary);cursor:not-allowed;opacity:.55}.cell-tree-toolbar{display:flex;justify-content:flex-end}.cell-tree{border:1px solid var(--border-default);border-radius:var(--r-sm);overflow:hidden}.cell-tree__node{--tree-level: 0;border-top:1px solid var(--border-subtle);content-visibility:auto;contain-intrinsic-size:42px}.cell-tree__node:first-child{border-top:0}.cell-tree__branch{align-items:center;background:transparent;border:0;color:var(--fg-primary);display:grid;gap:var(--sp-2);grid-template-columns:16px 66px minmax(0,1fr) max-content;min-height:42px;padding:0 var(--sp-3);padding-left:calc(var(--sp-3) + var(--tree-level) * 18px);text-align:left;width:100%}.cell-tree__branch:disabled{opacity:1}.cell-tree__branch:hover{background:var(--bg-hover)}.cell-tree__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-tree__count{color:var(--fg-secondary);font-size:var(--text-sm);white-space:nowrap}.tree-kind--sheet{background:var(--accent-soft-bg);color:var(--accent-soft-fg)}.tree-kind--group{background:var(--warning-bg);color:var(--warning)}.tree-kind--parameter{background:var(--success-bg);color:var(--success)}.tree-kind--type{background:var(--info-bg);color:var(--info)}.cell-tree__children{background:color-mix(in srgb,var(--bg-sunken),transparent 42%)}.cell-tree__rows{border-top:1px solid var(--border-subtle);display:grid;margin-left:calc(var(--sp-3) + 54px);overflow-x:auto}.cell-tree__row-head,.cell-tree__row{display:grid;gap:var(--sp-3);grid-template-columns:84px minmax(150px,1fr) 96px minmax(120px,.5fr) 128px;min-width:660px;padding:var(--sp-2) var(--sp-3)}.cell-tree__row-head{background:var(--bg-sunken);color:var(--fg-secondary);font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase}.cell-tree__row{border-top:1px solid var(--border-subtle)}.cell-tree__row-block{content-visibility:auto;contain-intrinsic-size:45px}.cell-tree__row-block:nth-child(odd) .cell-tree__row{background:var(--bg-hover)}.cell-tree__row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-tree__rows--editable .cell-tree__row-head,.cell-tree__rows--editable .cell-tree__row{grid-template-columns:84px minmax(130px,.8fr) minmax(160px,1fr) 110px 142px;min-width:760px}.cell-tree__rows--editable .cell-tree__row-block.is-edited .cell-tree__row{background:var(--warning-bg)}.cell-tree__rows--editable input{background:var(--bg-base);border:1px solid var(--border-default);border-radius:var(--r-xs);color:var(--fg-primary);min-height:30px;min-width:0;padding:0 var(--sp-2);width:100%}.cell-tree__rows--editable input:disabled{background:var(--bg-sunken);color:var(--fg-muted);cursor:not-allowed}.cell-edit-status{color:var(--fg-secondary);font-size:var(--text-sm)}.cell-edit-status--changed{color:var(--warning);font-weight:var(--weight-semibold)}.cell-tree__preview-toggle{align-items:center;background:transparent;border:1px solid var(--border-default);border-radius:var(--r-xs);color:var(--fg-primary);display:inline-flex;font:inherit;gap:var(--sp-1);height:28px;justify-content:center;min-width:0;padding:0 var(--sp-2)}.cell-tree__preview-toggle:hover{background:var(--bg-hover)}.cell-tree__preview-toggle:disabled{color:var(--fg-muted);cursor:not-allowed}.cell-preview{border-top:1px solid var(--border-subtle);padding:var(--sp-3)}.cell-preview__image{background:#fff;border:1px solid var(--border-default);border-radius:var(--r-xs);display:block;height:auto;max-width:min(100%,720px)}.cell-preview__image--hidden{height:1px;opacity:0;pointer-events:none}.cell-preview__loading{border:1px dashed var(--border-default);border-radius:var(--r-xs);color:var(--fg-secondary);padding:var(--sp-2) var(--sp-3)}.cell-preview__error{border:1px solid color-mix(in srgb,var(--danger),transparent 64%);border-radius:var(--r-xs);color:var(--danger);padding:var(--sp-2) var(--sp-3)}.cell-tree__more{background:transparent;border:0;border-top:1px solid var(--border-subtle);color:var(--accent-soft-fg);min-height:38px;text-align:left;padding:0 var(--sp-3)}.cell-tree__more:hover{background:var(--bg-hover)}.dashboard-grid{display:grid;gap:var(--sp-3);grid-template-columns:repeat(4,minmax(0,1fr))}.sheet-list{border:1px solid var(--border-default);border-radius:var(--r-sm);overflow:hidden}.sheet-list__row{align-items:center;border-top:1px solid var(--border-subtle);display:flex;gap:var(--sp-3);justify-content:space-between;min-height:52px;padding:var(--sp-2) var(--sp-3)}.sheet-list__row:first-child{border-top:0}.sheet-list__row strong,.sheet-list__row small{display:block}.sheet-list__row small,.sheet-list__row span{color:var(--fg-secondary)}.model-tables-page{display:grid;gap:var(--sp-2)}.model-tables-toolbar{align-items:center;display:flex;gap:var(--sp-2);justify-content:flex-start;min-height:34px}.model-tables-toolbar span{color:var(--fg-secondary);white-space:nowrap}.model-tables-layout{align-items:start;display:grid;gap:var(--sp-3);grid-template-columns:minmax(260px,.85fr) minmax(420px,1.4fr)}.model-tables-layout--detail-only{grid-template-columns:minmax(0,1fr)}.model-table-picker{display:grid;gap:var(--sp-2);position:relative}.model-table-list{border:1px solid var(--border-default);border-radius:var(--r-sm);overflow:hidden}.model-table-card{background:transparent;border:0;border-top:1px solid var(--border-subtle);color:var(--fg-primary);display:grid;gap:var(--sp-2);padding:var(--sp-3);text-align:left;width:100%}.model-table-card:first-child{border-top:0}.model-table-card:hover,.model-table-card.is-active{background:var(--bg-hover)}.model-table-card.is-active{box-shadow:inset 3px 0 0 var(--accent)}.model-table-card__head{align-items:flex-start;display:flex;gap:var(--sp-2);justify-content:space-between}.model-table-card__head strong{min-width:0}.model-table-card__meta{color:var(--fg-secondary);font-size:var(--text-sm)}.model-table-card__value{color:var(--fg-primary);font-weight:700}.model-table-card__warning{color:var(--danger);font-size:12px}.model-table-detail{border:1px solid var(--border-default);border-radius:var(--r-sm);display:grid;gap:var(--sp-3);min-width:0;padding:var(--sp-3)}.model-table-detail__head{align-items:flex-start;display:flex;gap:var(--sp-3);justify-content:space-between}.model-table-detail__head h3{font-size:var(--text-lg);margin:0}.model-table-detail__head p{color:var(--fg-secondary);margin:var(--sp-1) 0 0}.history-table{display:grid;gap:var(--sp-3)}.history-controls{align-items:stretch;display:grid;gap:var(--sp-3);grid-template-columns:max-content minmax(260px,1fr)}.history-controls .segmented--compact,.history-controls .search-box{height:44px;margin-bottom:0;min-height:44px}.history-controls .segmented button{min-height:34px}.history-load-more{align-items:center;color:var(--fg-secondary);display:flex;gap:var(--sp-3);justify-content:center}.history-load-more .button{min-height:36px;padding:0 var(--sp-3)}.empty-state{align-items:center;border:1px dashed var(--border-default);border-radius:var(--r-sm);color:var(--fg-secondary);display:flex;min-height:112px;padding:var(--sp-4)}.empty-state--error{border-color:var(--danger);color:var(--danger)}.economics-page{display:grid;gap:var(--sp-3)}.economic-modules h3{font-size:var(--text-lg);margin:0 0 var(--sp-3)}.module-grid{display:grid;gap:var(--sp-3);grid-template-columns:repeat(4,minmax(0,1fr))}.mini-dashboard{background:var(--bg-sunken);border:1px solid var(--border-default);border-radius:var(--r-sm);min-height:116px;padding:var(--sp-4)}.mini-dashboard span,.mini-dashboard small{color:var(--fg-secondary);display:block}.mini-dashboard strong{color:var(--accent-soft-fg);display:block;font-size:var(--text-4xl);font-weight:var(--weight-semibold);line-height:var(--leading-tight);margin:var(--sp-2) 0}.mini-dashboard--warning strong{color:var(--warning)}.flow-list,.permission-list,.user-list{display:grid;gap:var(--sp-2)}.user-card{align-items:center;background:var(--bg-sunken);border:1px solid var(--border-default);border-radius:var(--r-sm);display:grid;gap:var(--sp-3);grid-template-columns:38px minmax(0,1fr) max-content max-content;min-height:76px;padding:var(--sp-3)}.user-card--with-access{align-items:start;grid-template-columns:38px minmax(0,1fr) max-content max-content}.user-card__avatar{align-items:center;background:var(--accent-soft-bg);border-radius:var(--r-sm);color:var(--accent-soft-fg);display:inline-flex;font-weight:var(--weight-bold);height:38px;justify-content:center;width:38px}.user-card__main{display:grid;gap:3px;min-width:0}.user-card__main strong,.user-card__main small,.user-card__main em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-card__main small,.user-card__main em{color:var(--fg-secondary)}.user-card__main em{font-style:normal}.user-card__access{border-top:1px solid var(--border-default);display:grid;gap:var(--sp-2);grid-column:2 / -1;padding-top:var(--sp-3)}.user-access-list{display:grid;gap:var(--sp-2);grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.user-access-item{background:var(--bg-panel);border:1px solid var(--border-default);border-radius:var(--r-sm);display:grid;gap:2px;min-width:0;padding:var(--sp-2)}.user-access-item strong,.user-access-item small,.user-card__empty-access{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-access-item small,.user-card__empty-access{color:var(--fg-secondary)}.flow-list span,.permission{align-items:center;background:var(--bg-sunken);border:1px solid var(--border-default);border-radius:var(--r-sm);display:flex;gap:var(--sp-2);min-height:38px;padding:0 var(--sp-3)}.flow-list__active{border-color:color-mix(in srgb,var(--accent-bg),transparent 30%)!important;color:var(--accent-soft-fg)}.permission{align-items:flex-start;flex-direction:column;min-height:92px;padding:var(--sp-3)}.permission span{color:var(--accent-soft-fg)}.permission small{color:var(--fg-secondary)}.upload-drop{align-items:center;background:var(--bg-base);display:grid;gap:var(--sp-5);grid-template-columns:minmax(0,1fr) minmax(280px,420px);min-height:auto}.upload-drop__intro{display:flex;flex-direction:column;max-width:720px}.upload-drop__intro svg{margin-bottom:var(--sp-1)}.upload-drop__intro h2,.upload-drop__intro p{margin-left:0}.upload-cta{align-items:center;background:var(--bg-sunken);border:1px solid color-mix(in srgb,var(--accent-bg),transparent 58%);border-radius:var(--r-md);color:var(--fg-primary);display:grid;gap:var(--sp-3);grid-template-columns:42px minmax(0,1fr) 18px;justify-self:end;min-height:72px;padding:var(--sp-3);text-align:left;width:100%}.upload-cta:disabled{cursor:not-allowed;opacity:.55}.upload-cta:not(:disabled):hover{background:var(--accent-soft-bg);border-color:color-mix(in srgb,var(--accent-bg),transparent 28%);color:var(--fg-primary)}.upload-cta__icon{align-items:center;background:var(--accent-soft-bg);border:1px solid color-mix(in srgb,var(--accent-bg),transparent 52%);border-radius:var(--r-sm);color:var(--accent-soft-fg);display:inline-flex;height:42px;justify-content:center;width:42px}.upload-cta>svg{color:var(--accent-soft-fg)}.upload-cta__text{display:flex;flex-direction:column;gap:3px;min-width:0}.upload-cta__text strong,.upload-cta__text small{overflow-wrap:anywhere}.upload-cta__text strong{font-size:1rem}.upload-cta__text small{color:var(--fg-secondary);font-size:.88rem}.upload-mode{max-width:100%}.upload-mode button{min-height:34px}.upload-model-picker{max-width:520px;width:100%}.modal-backdrop{align-items:center;background:color-mix(in srgb,var(--bg-app),transparent 18%);display:flex;inset:0;justify-content:center;padding:var(--sp-6);position:fixed;z-index:var(--z-modal)}.upload-dialog{background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);display:grid;gap:var(--sp-4);max-height:calc(100vh - 48px);max-width:560px;overflow:auto;padding:var(--sp-5);width:min(560px,100%)}.upload-dialog__head{align-items:flex-start;display:flex;gap:var(--sp-3);justify-content:space-between}.upload-dialog__head>div{display:grid;gap:var(--sp-2)}.upload-dialog__head h2{margin:0}.upload-dialog__actions{display:flex;flex-wrap:wrap;gap:var(--sp-2);justify-content:flex-end}.confirm-dialog{background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);display:grid;gap:var(--sp-4);max-height:calc(100vh - 48px);max-width:520px;overflow:auto;padding:var(--sp-5);width:min(520px,100%)}.confirm-dialog--wide{max-width:820px;width:min(820px,100%)}.confirm-dialog__head{display:grid;gap:var(--sp-2)}.confirm-dialog__head h2,.confirm-dialog__head p{margin:0}.confirm-dialog__head p,.confirm-dialog__muted{color:var(--fg-secondary)}.confirm-dialog__model{background:var(--bg-sunken);border:1px solid var(--border-default);border-radius:var(--r-sm);display:grid;gap:var(--sp-1);padding:var(--sp-3)}.confirm-dialog__model span{color:var(--fg-muted);font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase}.confirm-dialog__model--danger{border-color:color-mix(in srgb,var(--danger),transparent 58%)}.confirm-dialog__model--danger span{color:var(--danger)}.confirm-dialog__actions{display:flex;flex-wrap:wrap;gap:var(--sp-2);justify-content:flex-end}.change-preview-table{border:1px solid var(--border-default);border-radius:var(--r-sm);display:grid;overflow:hidden}.change-preview-table__head,.change-preview-table__row{display:grid;gap:var(--sp-3);grid-template-columns:minmax(180px,1.1fr) 82px minmax(120px,.8fr) minmax(120px,.8fr);min-width:0;padding:var(--sp-2) var(--sp-3)}.change-preview-table__head{background:var(--bg-sunken);color:var(--fg-muted);font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase}.change-preview-table__row{border-top:1px solid var(--border-subtle)}.change-preview-table__row span,.change-preview-table__row code{min-width:0;overflow-wrap:anywhere}.file-picker{align-items:center;background:var(--bg-sunken);border:1px dashed color-mix(in srgb,var(--accent-bg),transparent 35%);border-radius:var(--r-sm);color:var(--fg-primary);display:inline-flex;gap:var(--sp-2);max-width:100%;min-height:38px;padding:0 var(--sp-3)}.file-picker input{height:1px;opacity:0;position:absolute;width:1px}.upload-status{background:var(--bg-sunken);border:1px solid var(--border-default);border-radius:var(--r-sm);display:grid;gap:var(--sp-2);max-width:100%;padding:var(--sp-3);width:100%}.upload-status--danger{border-color:color-mix(in srgb,var(--danger),transparent 55%);color:var(--danger)}.upload-status--warning{border-color:color-mix(in srgb,var(--warning),transparent 55%);color:var(--warning)}.upload-status dl{display:grid;gap:var(--sp-2);margin:0}.upload-status div{display:grid;gap:var(--sp-1)}.upload-status dt{color:var(--fg-tertiary);font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase}.upload-status dd{margin:0;overflow-wrap:anywhere}.parse-progress{display:grid;gap:var(--sp-1)}.parse-progress__header{align-items:baseline;display:flex;justify-content:space-between;font-size:var(--text-sm);font-weight:var(--weight-semibold)}.parse-progress__percent{color:var(--fg-tertiary);font-variant-numeric:tabular-nums}.parse-progress__track{background:color-mix(in srgb,var(--accent),transparent 85%);border-radius:999px;height:8px;overflow:hidden;position:relative}.parse-progress__fill{background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent),white 25%));border-radius:inherit;height:100%;transition:width .32s ease;position:relative}.parse-progress__fill:after{background:linear-gradient(90deg,transparent 0%,color-mix(in srgb,white,transparent 70%) 50%,transparent 100%);content:"";inset:0;position:absolute;animation:parse-progress-shimmer 1.6s linear infinite}.parse-progress--done .parse-progress__fill:after{animation:none;opacity:0}.parse-progress--failed .parse-progress__fill{background:var(--danger)}.parse-progress--failed .parse-progress__track{background:color-mix(in srgb,var(--danger),transparent 80%)}.parse-progress__detail{color:var(--fg-tertiary);font-size:var(--text-xs)}@keyframes parse-progress-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.processing-label:after{animation:processing-dots 1.2s steps(4,end) infinite;content:"";display:inline-block;min-width:18px;text-align:left}@keyframes processing-dots{0%,20%{content:""}40%{content:"."}60%{content:".."}80%,to{content:"..."}}.field-line{display:grid;gap:var(--sp-1);margin-bottom:var(--sp-3)}.field-line span{color:var(--fg-secondary);font-size:var(--text-xs);font-weight:var(--weight-semibold)}.field-line input{background:var(--bg-base);border:1px solid var(--border-default);border-radius:var(--r-xs);color:var(--fg-primary);min-height:38px;padding:0 var(--sp-3);width:100%}input,select{background:var(--bg-sunken);border:1px solid var(--border-default);border-radius:var(--r-sm);color:var(--fg-primary);min-height:34px;padding:0 var(--sp-3)}.app-loading{align-items:center;background:var(--bg-base);color:var(--fg-primary);display:flex;min-height:100vh;justify-content:center}.app-loading--error{color:var(--danger)}.dashboard-page{display:grid;gap:var(--sp-4)}.dashboard-page__tabs{display:flex;gap:var(--sp-2);overflow-x:auto;padding-bottom:var(--sp-1)}.dashboard-page__tab{align-items:flex-start;background:var(--surface-muted);border:1px solid var(--border);border-radius:8px;color:var(--muted);cursor:pointer;display:grid;gap:3px;min-width:190px;padding:var(--sp-3);text-align:left}.dashboard-page__tab span{color:var(--text);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-page__tab small{color:var(--muted)}.dashboard-page__tab--active{background:color-mix(in srgb,var(--accent) 22%,var(--surface-muted));border-color:color-mix(in srgb,var(--accent) 62%,var(--border))}.excel-dashboard{display:grid;gap:var(--sp-4)}.excel-dashboard__head{align-items:start;display:flex;gap:var(--sp-4);justify-content:space-between}.excel-dashboard__head h3{margin:var(--sp-1) 0}.excel-dashboard__head p{color:var(--muted);margin:0}.excel-dashboard__stats{display:grid;gap:var(--sp-2);grid-template-columns:repeat(2,minmax(120px,1fr));min-width:280px}.excel-dashboard__badges{align-items:flex-end;display:flex;flex-wrap:wrap;gap:var(--sp-2);justify-content:flex-end}.excel-dashboard__badges span{background:color-mix(in srgb,var(--accent) 13%,var(--surface-muted));border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border));border-radius:999px;color:var(--text);font-size:.86rem;font-weight:700;padding:8px 11px}.dashboard-chart-gallery{display:grid;gap:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.dashboard-comparison-grid{display:grid;gap:var(--sp-3);grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-comparison-card{background:var(--surface);border:1px solid color-mix(in srgb,var(--accent) 42%,var(--border));border-radius:8px;display:grid;gap:var(--sp-4);grid-template-rows:auto max-content;min-height:224px;min-width:0;overflow:hidden;padding:var(--sp-4)}.dashboard-comparison-card h5{align-self:start;font-size:1rem;line-height:1.3;margin:0;max-width:100%;overflow-wrap:anywhere}.dashboard-comparison-card__rows{display:grid;gap:var(--sp-3)}.dashboard-comparison-card__row{align-items:end;display:grid;gap:8px var(--sp-3);grid-template-columns:minmax(128px,1fr) minmax(96px,max-content);min-height:46px}.dashboard-comparison-card__row span{color:var(--muted);grid-column:1 / -1;line-height:1.2}.dashboard-comparison-card__row b{align-self:center;font-variant-numeric:tabular-nums;line-height:1.45;min-width:88px;overflow-wrap:normal;text-align:right;white-space:pre-line}.dashboard-comparison-card__track{align-self:center;background:color-mix(in srgb,var(--fg) 10%,transparent);border-radius:999px;display:block;height:12px;min-width:120px;overflow:hidden;width:100%}.dashboard-comparison-card__bar{border-radius:inherit;display:block;height:100%;min-width:4px}.dashboard-comparison-card__bar--base{background:#62666b}.dashboard-comparison-card__bar--calc{background:linear-gradient(90deg,#7fb047,#c8e67b)}.dashboard-comparison-card__bar--bad{background:linear-gradient(90deg,#c63838,#ff7b7b)}.dashboard-chart-card--wide{grid-column:1 / -1}.dashboard-chart-card{background:var(--surface-muted);border:1px solid color-mix(in srgb,var(--border) 70%,var(--accent));border-radius:8px;box-shadow:inset 0 1px color-mix(in srgb,var(--fg) 5%,transparent);display:grid;gap:var(--sp-3);min-width:0;overflow:auto;padding:var(--sp-4)}.dashboard-chart-card__head{align-items:start;display:flex;gap:var(--sp-3);justify-content:space-between;min-width:0}.dashboard-chart-card__head h4{line-height:1.35;margin:0;min-width:0}.dashboard-chart-card__head small,.dashboard-chart-card__warning{color:var(--muted);font-size:.78rem}.dashboard-chart-card__warning{border-left:2px solid var(--warning);padding-left:var(--sp-2)}.dashboard-bars{display:grid;gap:var(--sp-3)}.dashboard-bars__group{display:grid;gap:var(--sp-1);min-width:0}.dashboard-bars__label{color:var(--muted);font-size:var(--text-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-bars__columns{display:grid;gap:var(--sp-1)}.dashboard-bars__line{align-items:center;display:grid;gap:var(--sp-2);grid-template-columns:minmax(96px,1fr) minmax(82px,max-content);min-width:0}.dashboard-bars__line b{color:var(--fg-primary);font-size:var(--text-sm);font-variant-numeric:tabular-nums;min-width:0;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dashboard-bars__bar{background:var(--success);border-radius:999px;display:block;height:10px;min-height:3px;min-width:3px}.dashboard-bars__bar--base{background:#62666b}.dashboard-bars__bar--calc{background:linear-gradient(90deg,#7fb047,#c8e67b)}.dashboard-bars__bar--bad{background:linear-gradient(90deg,#c63838,#ff7b7b)}.dashboard-bars__bar--1{background:#6ba8ff}.dashboard-bars__bar--2{background:#d6bb62}.dashboard-bars__bar--3{background:#8ea5ff}.dashboard-bars__legend{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:0}.dashboard-bars__legend span{align-items:center;color:var(--muted);display:inline-flex;gap:6px;font-size:var(--text-sm);min-width:0}.dashboard-bars__legend-dot{background:var(--accent);border-radius:999px;height:8px;width:8px}.dashboard-bars__legend-dot--1{background:#8fd19e}.dashboard-bars__legend-dot--2{background:#d6bb62}.dashboard-bars__legend-dot--3{background:#8ea5ff}.excel-stacked-chart{align-items:end;display:grid;gap:clamp(var(--sp-8),8vw,var(--sp-12));grid-template-columns:repeat(2,minmax(120px,1fr));height:300px;justify-items:center;min-width:320px;overflow-x:auto;padding:var(--sp-3) var(--sp-6) 0}.excel-stacked-chart__column{align-items:center;display:grid;gap:8px;grid-template-rows:minmax(0,1fr) auto auto;height:100%;justify-items:center;min-width:130px}.excel-stacked-chart__bar{align-self:end;background:var(--surface);border:1px solid var(--border);display:flex;flex-direction:column;justify-content:flex-end;min-height:40px;overflow:hidden;width:clamp(116px,12vw,168px)}.excel-stacked-chart__segment{align-items:center;color:#fff;display:flex;font-style:normal;font-weight:800;justify-content:center;min-height:22px;padding:0 8px;text-align:center}.excel-stacked-chart__segment--0,.excel-stacked-chart__dot--0{background:#244f82}.excel-stacked-chart__segment--1,.excel-stacked-chart__dot--1{background:linear-gradient(180deg,#cbe77d,#799936)}.excel-stacked-chart__segment--2,.excel-stacked-chart__dot--2{background:#dc3545}.excel-stacked-chart__segment--fixed,.excel-stacked-chart__dot--fixed{background:#244f82}.excel-stacked-chart__segment--variable,.excel-stacked-chart__dot--variable{background:linear-gradient(180deg,#cbe77d,#799936)}.excel-stacked-chart__column strong{font-variant-numeric:tabular-nums}.excel-stacked-chart__column span,.excel-stacked-chart__legend span{color:var(--muted);font-size:.84rem;text-align:center}.excel-stacked-chart__legend{display:flex;flex-wrap:wrap;gap:var(--sp-3)}.excel-stacked-chart__legend span{align-items:center;display:inline-flex;gap:6px}.excel-stacked-chart__dot{border-radius:2px;height:10px;width:10px}.excel-grid-section{display:grid;gap:var(--sp-3)}.excel-grid-section__head,.dashboard-links__head{align-items:center;display:flex;justify-content:space-between}.excel-grid-section__head h4,.dashboard-links__head h4,.dashboard-links h4{margin:0}.excel-grid-section__head small,.dashboard-links__head small{color:var(--muted)}.excel-dashboard-grid-wrap{background:var(--surface-muted);border:1px solid var(--border);border-radius:8px;max-height:72vh;overflow:auto}.excel-dashboard-grid{display:grid;gap:1px;min-width:max-content;padding:var(--sp-3)}.excel-dashboard-cell{align-items:center;background:var(--surface);border:1px solid color-mix(in srgb,var(--border) 78%,transparent);color:var(--text);display:flex;font-size:.83rem;min-height:34px;overflow:hidden;padding:6px 8px}.excel-dashboard-cell span{overflow:hidden;text-overflow:ellipsis;white-space:normal}.excel-dashboard-cell--bold{font-weight:700}.excel-dashboard-cell--headline{font-size:.98rem}.excel-dashboard-cell--formula{box-shadow:inset 0 -2px color-mix(in srgb,var(--accent) 38%,transparent)}.excel-dashboard-cell--number{font-variant-numeric:tabular-nums}.dashboard-links{background:var(--surface-muted);border:1px solid var(--border);border-radius:8px;display:grid;gap:var(--sp-3);padding:var(--sp-4)}.dashboard-links summary{cursor:pointer;font-weight:800}.dashboard-links__list{display:grid;gap:var(--sp-2);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));padding-top:var(--sp-3)}.dashboard-links__item{border:1px solid var(--border);border-radius:8px;display:grid;gap:4px;padding:var(--sp-3)}.dashboard-links__item strong,.dashboard-links__item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-links__item span{color:var(--muted)}.presentation-dashboard{display:grid;gap:var(--sp-4)}.dashboard-passport{background:var(--surface-muted);border:1px solid color-mix(in srgb,var(--accent) 48%,var(--border));border-radius:8px;display:grid;gap:2px;grid-template-columns:repeat(5,minmax(180px,1fr));overflow:hidden}.dashboard-passport__item{background:var(--surface);border-left:1px solid color-mix(in srgb,var(--accent) 32%,transparent);display:grid;gap:8px;grid-template-rows:38px minmax(24px,auto);min-height:92px;padding:var(--sp-3)}.dashboard-passport__item:first-child{border-left:0}.dashboard-passport__item--main{background:var(--surface)}.dashboard-passport__item span{align-items:flex-start;color:var(--muted);display:flex;font-size:.78rem;font-weight:800;letter-spacing:0;line-height:1.25;max-width:100%;overflow:hidden}.dashboard-passport__item strong{align-self:start;color:var(--text);font-size:1.08rem;line-height:1.1;overflow-wrap:normal;white-space:normal}.presentation-section,.presentation-table-card,.factor-panel,.stacked-cost-card,.sparkline-card{background:var(--surface-muted);border:1px solid color-mix(in srgb,var(--border) 78%,var(--accent));border-radius:8px;box-shadow:inset 0 1px color-mix(in srgb,var(--fg) 6%,transparent);padding:var(--sp-3)}.presentation-section{display:grid;gap:var(--sp-3)}.presentation-section__head{align-items:end;display:flex;gap:var(--sp-3);justify-content:space-between}.presentation-section__head h4,.presentation-table-card h4,.factor-panel h4,.stacked-cost-card h4,.sparkline-card h4{margin:0}.presentation-section__head span{color:var(--muted)}.presentation-kpi-grid{display:grid;gap:var(--sp-2);grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.presentation-kpi-grid--five{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.presentation-kpi-card{background:radial-gradient(circle at 80% 0%,color-mix(in srgb,var(--accent) 20%,transparent),transparent 42%),var(--surface);border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border));border-radius:8px;display:grid;gap:var(--sp-2);min-height:178px;min-width:0;overflow:auto;padding:var(--sp-3)}.presentation-kpi-card__head{display:grid;gap:5px;min-height:42px}.presentation-kpi-card__head h5{font-size:.95rem;line-height:1.25;margin:0}.presentation-kpi-card__head span{color:var(--muted)}.presentation-kpi-card__value{display:grid;gap:2px}.presentation-kpi-card__value strong{font-size:1.55rem;line-height:1}.presentation-kpi-card__value small{color:var(--muted)}.presentation-bars{display:grid;gap:var(--sp-2)}.presentation-bars__row{display:grid;gap:7px}.presentation-bars__row span{color:var(--muted);font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.presentation-bars__row b{font-size:.94rem}.presentation-bars__bar{border-radius:999px;display:block;height:12px}.presentation-bars__bar--base{background:linear-gradient(90deg,#4c4f52,#777b7d)}.presentation-bars__bar--calc{background:linear-gradient(90deg,#8cbd42,#cce789)}.presentation-bars__bar--bad{background:linear-gradient(90deg,#b83b3b,#f08a8a)}.presentation-delta{border-radius:999px;font-size:.82rem;font-weight:800;justify-self:start;padding:6px 10px}.presentation-delta--good{background:var(--success-bg);color:var(--success)}.presentation-delta--bad{background:var(--danger-bg);color:var(--danger)}.presentation-delta--neutral{background:color-mix(in srgb,var(--fg) 8%,transparent);color:var(--muted)}.presentation-split{display:grid;gap:var(--sp-3);grid-template-columns:repeat(2,minmax(0,1fr))}.presentation-split--wide-left{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr)}.presentation-table-card{display:grid;gap:var(--sp-2);min-width:0}.presentation-table-card__head{align-items:center;display:flex;gap:var(--sp-3);justify-content:space-between}.presentation-table-card__head span{color:var(--muted);font-size:.84rem}.presentation-table-wrap{border:1px solid var(--border);border-radius:8px;overflow:auto;scrollbar-gutter:stable}.presentation-table{border-collapse:collapse;font-size:.82rem;min-width:100%;table-layout:fixed;width:100%}.presentation-table th,.presentation-table td{border-bottom:1px solid var(--border);height:40px;padding:8px 10px;text-align:right;vertical-align:middle}.presentation-table td{white-space:nowrap}.presentation-table th{background:color-mix(in srgb,var(--accent) 18%,var(--surface));color:var(--text);font-weight:700;line-height:1.25;overflow-wrap:anywhere;position:sticky;text-align:left;top:0;z-index:1}.presentation-table__col-label{width:300px}.presentation-table__col-unit{width:100px}.presentation-table__col-number{width:128px}.presentation-table__col-factor{width:220px}.presentation-table td:first-child,.presentation-table th:first-child{min-width:0;text-align:left;white-space:normal}.presentation-table td:first-child,.presentation-table__cell--label{background:var(--surface);color:var(--text);font-weight:400;text-align:left}.presentation-table:not(.presentation-table--metric) td:nth-child(2),.presentation-table:not(.presentation-table--metric) th:nth-child(2),.presentation-table--metric td:nth-child(2),.presentation-table--metric th:nth-child(2),.presentation-table__cell--unit{color:var(--muted);min-width:0;text-align:left}.presentation-table__cell--label{text-align:left;white-space:normal}.presentation-table__cell--number,.presentation-table th.presentation-table__cell--number{text-align:right}.presentation-table th.presentation-table__cell--label,.presentation-table th.presentation-table__cell--unit{text-align:left}.presentation-table tbody tr:nth-child(2n){background:color-mix(in srgb,var(--accent) 5%,transparent)}.presentation-table--wide{min-width:1360px}.presentation-table--wide .presentation-table__col-label{width:340px}.presentation-table--wide .presentation-table__col-unit{width:120px}.presentation-table--wide .presentation-table__col-number{width:150px}.presentation-table--metric .presentation-table__col-number{width:auto}.presentation-table--metric .presentation-table__col-label{width:32%}.presentation-table--metric .presentation-table__col-unit{width:9%}.presentation-table .presentation-table__group-title,.presentation-table .presentation-table__head-spacer{background:color-mix(in srgb,var(--accent) 24%,var(--surface));border-bottom-color:color-mix(in srgb,var(--accent) 35%,var(--border));color:var(--text);font-size:var(--text-sm)}.presentation-table .presentation-table__group-title,.presentation-table--wide .presentation-table__group-title,.presentation-table--factor .presentation-table__group-title{text-align:center}.presentation-table--wide thead tr:first-child th{border-bottom:2px solid color-mix(in srgb,var(--accent) 45%,var(--border))}.presentation-table--wide thead tr:nth-child(2) th{border-top:2px solid color-mix(in srgb,var(--accent) 42%,var(--border))}.presentation-table--wide thead tr:nth-child(2) th:nth-child(1),.presentation-table--wide thead tr:nth-child(2) th:nth-child(2){text-align:left}.presentation-table--wide thead tr:nth-child(2) th:nth-child(n+3){text-align:right}.presentation-table--wide.presentation-table--reservoir-comparison .presentation-table__reservoir-start{border-left:2px solid color-mix(in srgb,var(--accent) 45%,var(--border))}.presentation-table--wide th:nth-child(2),.presentation-table--wide td:nth-child(2),.presentation-table--factor th:nth-child(2),.presentation-table--factor td:nth-child(2),.presentation-table--metric .presentation-table__cell--unit{border-right:2px solid color-mix(in srgb,var(--accent) 42%,var(--border))}.presentation-table--factor{min-width:1080px;width:100%}.presentation-table--factor .presentation-table__col-label{width:34%}.presentation-table--factor .presentation-table__col-unit{width:110px}.presentation-table--factor .presentation-table__col-factor{width:auto}.presentation-table--factor th:nth-child(1),.presentation-table--factor th:nth-child(2){text-align:left}.presentation-table--factor th:nth-child(3),.presentation-table--factor th:nth-child(4){text-align:right}.presentation-table__subrow td{background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--text);font-style:normal;font-weight:400;text-align:left}.dashboard-delta-rail{display:grid;gap:6px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));overflow-x:auto}.dashboard-delta-rail__item{background:var(--surface);border:1px solid var(--border);border-radius:8px;display:grid;gap:6px;grid-template-columns:minmax(110px,1fr) minmax(80px,.8fr) max-content;min-width:300px;padding:8px 10px}.dashboard-delta-rail__item span{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-delta-rail__item div{align-self:center;background:color-mix(in srgb,var(--fg) 7%,transparent);border-radius:999px;height:8px;overflow:hidden}.dashboard-delta-rail__bar{border-radius:inherit;display:block;height:100%}.dashboard-delta-rail__bar--good{background:linear-gradient(90deg,var(--success),color-mix(in srgb,var(--success) 40%,white))}.dashboard-delta-rail__bar--bad{background:linear-gradient(90deg,var(--danger),color-mix(in srgb,var(--danger) 40%,white))}.dashboard-delta-rail__item b{font-variant-numeric:tabular-nums}.value-positive{color:var(--success);font-weight:800}.value-negative{color:var(--danger);font-weight:800}.factor-panel{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));display:grid;gap:var(--sp-2);grid-template-rows:minmax(60px,auto) max-content;align-content:start;min-width:0}.factor-panel--red{border-color:color-mix(in srgb,var(--danger) 35%,var(--border))}.factor-panel__head{align-items:start;display:flex;gap:var(--sp-3);justify-content:space-between;min-height:60px}.factor-panel__head strong{border-radius:999px;font-size:.98rem;padding:7px 10px;white-space:nowrap}.factor-panel--green .factor-panel__head strong{background:var(--success-bg);color:var(--success)}.factor-panel--red .factor-panel__head strong{background:var(--danger-bg);color:var(--danger)}.factor-panel__rows{display:grid;gap:1px;overflow:auto;border:1px solid var(--border);border-radius:8px}.factor-panel__row{align-items:center;background:var(--surface);display:grid;gap:var(--sp-2);grid-template-columns:minmax(220px,1fr) minmax(110px,max-content) 24px;min-height:34px;min-width:420px;padding:6px 8px}.factor-panel__row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.factor-panel__row b{text-align:right}.factor-panel__row i{color:var(--muted);font-style:normal;text-align:right}.stacked-cost-card{align-items:center;display:grid;gap:var(--sp-3);justify-items:center;min-width:0;overflow:auto}.stacked-cost-card__columns{align-items:end;display:grid;gap:var(--sp-3);grid-template-columns:repeat(2,minmax(120px,1fr));height:230px;min-width:280px;width:min(360px,100%)}.stacked-cost-card__column{align-items:center;display:grid;gap:8px;grid-template-rows:auto minmax(0,1fr) auto;height:100%;justify-items:center}.stacked-cost-card__column>span{color:var(--muted);font-size:.76rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.stacked-cost-card__column>b{font-variant-numeric:tabular-nums}.stacked-cost-card__bar{align-items:end;background:var(--surface);border:1px solid var(--border);border-radius:8px;align-self:end;display:flex;min-height:44px;overflow:hidden;width:100%}.stacked-cost-card__segment{align-items:center;color:#fff;display:flex;flex:1;font-style:normal;font-weight:800;justify-content:center;min-height:20px}.stacked-cost-card__segment--blue{background:linear-gradient(180deg,#5292d5,#1f4f86)}.stacked-cost-card__segment--green{background:linear-gradient(180deg,#cce789,#759a28)}.stacked-cost-card>strong{color:var(--accent);font-size:1.4rem}.stacked-cost-card__legend{display:flex;flex-wrap:wrap;gap:var(--sp-2);justify-content:center}.stacked-cost-card__legend span{color:var(--muted);font-size:.84rem}.sparkline-card{color:var(--accent);display:grid;gap:var(--sp-3)}.sparkline-card svg{background:var(--surface);border:1px solid var(--border);border-radius:8px;height:180px;overflow:visible;padding:var(--sp-3);width:100%}.sparkline-card__meta{align-items:center;color:var(--muted);display:flex;justify-content:space-between}.sparkline-card__meta strong{color:var(--text);font-size:1.2rem}[data-theme=dark] .dashboard-passport,[data-theme=dark] .presentation-section,[data-theme=dark] .presentation-table-card,[data-theme=dark] .factor-panel,[data-theme=dark] .stacked-cost-card,[data-theme=dark] .sparkline-card,[data-theme=dark] .dashboard-chart-card,[data-theme=dark] .dashboard-links{background:#121619;border-color:#7bd88f3d;box-shadow:inset 0 1px #ffffff0f,0 0 0 1px #ffffff06,0 12px 34px #00000038}[data-theme=dark] .dashboard-passport__item,[data-theme=dark] .dashboard-comparison-card,[data-theme=dark] .presentation-kpi-card,[data-theme=dark] .dashboard-delta-rail__item,[data-theme=dark] .factor-panel__row,[data-theme=dark] .presentation-table-wrap,[data-theme=dark] .stacked-cost-card__bar,[data-theme=dark] .dashboard-bars__stack,[data-theme=dark] .sparkline-card svg{background:#0b0f11;border-color:#ffffff1a}[data-theme=dark] .presentation-kpi-card{background:linear-gradient(180deg,rgba(255,255,255,.035),transparent),radial-gradient(circle at 88% 0%,rgba(123,216,143,.18),transparent 38%),#0b0f11}[data-theme=dark] .presentation-section__head,[data-theme=dark] .presentation-table-card__head,[data-theme=dark] .factor-panel__head{border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:var(--sp-2)}[data-theme=dark] .presentation-table th{background:#162119;border-bottom-color:#7bd88f38}[data-theme=dark] .presentation-table td{border-bottom-color:#ffffff13}[data-theme=dark] .presentation-table tbody tr:nth-child(2n){background:#7bd88f09}[data-theme=dark] .dashboard-delta-rail__item div,[data-theme=dark] .factor-panel__bar{background:#ffffff17}.empty-state--compact{min-height:auto;padding:var(--sp-3)}@media(max-width:1180px){.summary-grid,.facts,.dashboard-grid,.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.journal-grid,.analysis-split,.model-tables-layout,.calculation-comparison-page,.economics-workbench,.calculation-setup-grid,.calculation-lower-grid,.saved-calculations-page,.saved-calculation-hero,.test-page-grid,.scenario-test-grid,.admin-model-settings,.detail-filters{grid-template-columns:1fr}.admin-model-hero,.admin-save-bar{align-items:stretch;flex-direction:column}.admin-model-actions,.admin-save-bar>div,.admin-rename-row{align-items:stretch;flex-direction:column}.detail-filters__sort{justify-self:stretch;min-width:0}.history-controls{grid-template-columns:1fr}}@media(max-width:760px){.app-shell{grid-template-columns:1fr;height:auto;min-height:100vh;overflow:visible}.sidebar{height:auto;min-width:0;overflow:visible;position:static;width:100%}.app-shell--sidebar-collapsed .sidebar{gap:var(--sp-5);padding:var(--sp-4)}.app-shell--sidebar-collapsed .sidebar__head{justify-content:space-between}.app-shell--sidebar-collapsed .brand{display:flex}.app-shell--sidebar-collapsed .nav__item{justify-content:flex-start;padding:0 var(--sp-3)}.app-shell--sidebar-collapsed .nav__item-label,.app-shell--sidebar-collapsed .role-panel{display:grid}.app-shell--sidebar-collapsed .nav__item-label{display:inline}.workspace{height:auto;overflow:visible}.topbar,.panel__header,.detail-head{align-items:stretch;flex-direction:column}.detail-panel:not(.detail-panel--compact) .detail-head{grid-template-columns:1fr}.topbar__actions,.summary-grid,.facts,.dashboard-grid,.module-grid,.user-access-list,.upload-drop{grid-template-columns:1fr}.upload-cta{justify-self:stretch}.topbar__actions{display:grid}.scenario-test-cell-row,.calculation-name-row,.calculation-cell-filters,.calculation-comparison-picker__actions,.calculation-comparison-filters,.selectable-cell-rows__head,.selectable-cell-row,.selected-scenario-cell,.selected-scenario-cell__values,.calculation-results-table__head,.calculation-results-row,.saved-overrides-table__head,.saved-overrides-row,.scenario-test-facts--grid{grid-template-columns:1fr}.scenario-test-cell-row b{text-align:left}.model-selector{min-width:0;width:100%}.button,.icon-button{width:100%}.user-card,.user-card--with-access{grid-template-columns:38px minmax(0,1fr)}.user-card .role-badge,.user-card .status{justify-self:start}.user-card__access{grid-column:1 / -1}}
