@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--brand-50: #FEF1FA;--brand-100: #FCE4F4;--brand-200: #F9CCE7;--brand-300: #F4A6D2;--brand-400: #E877B4;--brand-500: #D6579A;--brand-600: #BF3D7D;--brand-700: #A02F68;--brand-800: #842B58;--brand-900: #6E2749;--brand-950: #45102B;--brand-500-alpha-1: rgb(214 87 154 / .03);--brand-500-alpha-2: rgb(214 87 154 / .06);--brand-500-alpha-3: rgb(214 87 154 / .09);--brand-500-alpha-4: rgb(214 87 154 / .12);--brand-500-alpha-5: rgb(214 87 154 / .2);--light-00: #FCFCFC;--light-50: #F8F8FA;--light-100: #F6F6F7;--light-200: #F2F2F3;--light-300: #EBEBED;--light-400: #E7E7E8;--light-500: #E0E0E0;--light-600: #D9D9D9;--light-700: #D2D2D2;--light-800: #CBCBCB;--light-900: #C4C4C4;--light-950: #BDBDBD;--dark-00: #0F0F0F;--dark-50: #141414;--dark-100: #1A1A1A;--dark-200: #1F1F1F;--dark-300: #242424;--dark-400: #292929;--dark-500: #2E2E2E;--dark-600: #333333;--dark-700: #383838;--dark-800: #3D3D3D;--dark-900: #424242;--dark-950: #474747;--neutral-50: #F2F2F2;--neutral-100: #E6E6E6;--neutral-200: #CCCCCC;--neutral-300: #B3B3B3;--neutral-400: #999999;--neutral-500: #808080;--neutral-600: #666666;--neutral-700: #4D4D4D;--neutral-800: #333333;--neutral-900: #1A1A1A;--neutral-950: #0D0D0D;--white-100: #FFFFFF;--white-00: rgb(255 255 255 / 0);--black-100: #000000;--black-00: rgb(0 0 0 / 0);--red-50: #FEF3F2;--red-100: #FEE4E2;--red-200: #FECDCA;--red-300: #FDA29B;--red-400: #F97066;--red-500: #F04438;--red-600: #D92D20;--red-700: #B42318;--red-800: #912018;--red-900: #7A271A;--red-950: #55160C;--orange-50: #FFFAEB;--orange-100: #FEF0C7;--orange-200: #FEDF89;--orange-300: #FEC84B;--orange-400: #FDB022;--orange-500: #F79009;--orange-600: #DC6803;--orange-700: #B54708;--orange-800: #93370D;--orange-900: #7A2E0E;--orange-950: #4E1D09;--green-50: #ECFDF3;--green-100: #D1FADF;--green-200: #A6F4C5;--green-300: #6CE9A6;--green-400: #32D583;--green-500: #12B76A;--green-600: #039855;--green-700: #027A48;--green-800: #05603A;--green-900: #054F31;--green-950: #053321;--blue-50: #EFF8FF;--blue-100: #D1E9FF;--blue-200: #B2DDFF;--blue-300: #84CAFF;--blue-400: #53B1FD;--blue-500: #2E90FA;--blue-600: #1570EF;--blue-700: #175CD3;--blue-800: #1849A9;--blue-900: #194185;--blue-950: #102A56;--amber-50: #FFF9EB;--amber-100: #FDEFC8;--amber-200: #FBDD8C;--amber-300: #F8C650;--amber-400: #F5AE2A;--amber-500: #EE9A0C;--amber-600: #DC8A06;--amber-700: #C47A05;--amber-800: #9A5D08;--amber-900: #7A4A0B;--amber-950: #442805;--purple-50: #F4F3FF;--purple-100: #EBE9FE;--purple-200: #D9D6FE;--purple-300: #BDB4FE;--purple-400: #9B8AFB;--purple-500: #7A5AF8;--purple-600: #6938EF;--purple-700: #5925DC;--purple-800: #4A1FB8;--purple-900: #3E1C96;--purple-950: #27115F;--magenta-50: #FDF2FA;--magenta-100: #FCE7F6;--magenta-200: #FCCEEE;--magenta-300: #FAA7E0;--magenta-400: #F670C7;--magenta-500: #EE46BC;--magenta-600: #DD2590;--magenta-700: #C11574;--magenta-800: #9E165F;--magenta-900: #851651;--magenta-950: #4E0D30;--yellow-50: #FEFBE8;--yellow-100: #FEF7C3;--yellow-200: #FEEE95;--yellow-300: #FDE272;--yellow-400: #FAC515;--yellow-500: #EAAA08;--yellow-600: #CA8504;--yellow-700: #A15C07;--yellow-800: #854A0E;--yellow-900: #713B12;--yellow-950: #542C0D;--cyan-50: #EDFBFE;--cyan-100: #D2F3FA;--cyan-200: #A6E6F3;--cyan-300: #67D0E6;--cyan-400: #22B6D1;--cyan-500: #029CB4;--cyan-600: #03819A;--cyan-700: #0A677C;--cyan-800: #105465;--cyan-900: #124655;--cyan-950: #062C38;--font-sans: "Inter Variable", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas, monospace;--text-xxs: 11px;--text-xs: 12px;--text-sm: 14px;--text-base: 16px;--text-lg: 18px;--text-xl: 20px;--text-2xl: 24px;--text-3xl: 30px;--text-4xl: 36px;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--leading-tight: 1.25;--leading-snug: 1.37;--leading-normal: 1.5;--leading-relaxed: 1.63;--leading-loose: 2;--tracking-tighter: -.02em;--tracking-tight: -.01em;--tracking-normal: 0;--tracking-wide: .01em;--tracking-wider: .02em;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--space-24: 96px;--rounded-none: 0;--rounded-xs: 2px;--rounded-sm: 4px;--rounded-md: 6px;--rounded-lg: 8px;--rounded-xl: 12px;--rounded-2xl: 16px;--rounded-3xl: 24px;--rounded-4xl: 32px;--rounded-full: 9999px;--ease-out: cubic-bezier(.2, .8, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--dur-fast: .12s;--dur-base: .16s;--dur-slow: .24s;--sidebar-w: 232px;--sidebar-w-collapsed: 56px;--topbar-h: 52px;--row-h: 56px;--row-h-2line: 56px;--row-h-compact: 40px;--control-h: 32px;--control-h-sm: 28px;--control-h-lg: 36px}:root,:root[data-theme=light]{color-scheme:light;--white: var(--white-100);--black: var(--black-100);--brand: var(--brand-500);--bg-default: var(--light-00);--bg-subtle: var(--light-100);--surface-default: var(--light-50);--surface-raised: var(--light-100);--surface-elevated: var(--white-100);--surface-subtle: var(--light-200);--surface-inverse: var(--dark-100);--surface-brand: var(--brand-500);--border-default: var(--light-400);--border-strong: var(--light-600);--border-subtle: var(--light-300);--border-focus: var(--brand-500);--border-selected: var(--brand);--text-default: var(--neutral-800);--text-strong: var(--neutral-950);--text-subtle: var(--neutral-600);--text-muted: var(--neutral-400);--text-inverse: var(--light-00);--text-brand: var(--brand-600);--icon-default: var(--neutral-800);--icon-strong: var(--black-100);--icon-subtle: var(--neutral-600);--icon-muted: var(--neutral-500);--icon-inverse: var(--neutral-50);--icon-brand: var(--brand-500);--action-primary: var(--brand-500);--action-secondary: var(--light-400);--action-outline: var(--white-00);--action-ghost: var(--white-100);--action-link: var(--brand-500);--action-destructive: var(--red-600);--sidebar-bg: var(--light-200);--sidebar-surface: var(--light-400);--sidebar-item-bg: var(--light-00);--surface-success: var(--green-500);--surface-success-subtle: var(--green-50);--surface-warning: var(--orange-500);--surface-warning-subtle: var(--orange-50);--surface-error: var(--red-600);--surface-error-subtle: var(--red-50);--surface-info: var(--brand-500);--surface-info-subtle: var(--brand-50);--border-success: var(--green-200);--border-warning: var(--orange-200);--border-error: var(--red-200);--border-info: var(--brand-200);--text-success: var(--green-700);--text-warning: var(--orange-700);--text-error: var(--red-700);--text-info: var(--brand-600);--icon-success: var(--green-600);--icon-warning: var(--orange-600);--icon-error: var(--red-600);--icon-info: var(--brand-500);--app-bg: var(--sidebar-bg);--main-bg: var(--bg-default);--card-bg: var(--surface-elevated);--card-border: var(--border-default);--popover-bg: var(--surface-elevated);--table-head-bg: var(--surface-raised);--row-hover: var(--surface-default);--row-divider: var(--light-300);--comp-tray: var(--light-100);--comp-border: var(--light-300);--table-total-bg: var(--surface-raised);--row-selected: var(--brand-500-alpha-2);--control-bg: var(--surface-elevated);--control-border: var(--border-default);--control-hover: var(--surface-raised);--ghost-hover: var(--surface-subtle);--ghost-active: var(--light-400);--nav-hover: var(--light-300);--nav-active-bg: var(--sidebar-surface);--track-bg: var(--surface-subtle);--panel-bg: var(--surface-raised);--panel-item-bg: var(--surface-elevated);--kbd-bg: var(--surface-raised);--overlay: rgb(15 15 15 / .28);--button-primary-bg: var(--surface-inverse);--button-primary-hover: var(--dark-400);--button-primary-text: var(--text-inverse);--button-brand-bg: var(--action-primary);--button-brand-hover: var(--brand-600);--ai-text: var(--purple-700);--ai-surface: var(--purple-50);--ai-border: var(--purple-200);--ai-icon: var(--purple-600);--series-1: var(--brand-500);--series-2: var(--blue-600);--series-3: var(--amber-600);--series-4: var(--purple-500);--series-5: var(--cyan-500);--series-compare: var(--neutral-300);--series-neutral: var(--light-800);--chart-grid: var(--light-300);--chart-axis: var(--light-700);--chart-label: var(--neutral-500);--chart-forecast-band: var(--brand-500-alpha-3);--shadow-xs: 0 1px 2px rgb(15 15 15 / .04);--shadow-sm: 0 1px 2px rgb(15 15 15 / .05), 0 1px 3px rgb(15 15 15 / .04);--shadow-md: 0 4px 12px -2px rgb(15 15 15 / .08), 0 2px 4px -2px rgb(15 15 15 / .04);--shadow-lg: 0 16px 40px -8px rgb(15 15 15 / .16), 0 4px 12px -4px rgb(15 15 15 / .06);--focus-ring: 0 0 0 2px var(--bg-default), 0 0 0 4px var(--brand-500-alpha-5), 0 0 0 1px var(--border-focus)}:root[data-theme=dark]{color-scheme:dark;--brand: var(--brand-500);--bg-default: var(--dark-00);--bg-subtle: var(--dark-100);--surface-default: var(--dark-100);--surface-raised: var(--dark-200);--surface-elevated: var(--dark-300);--surface-subtle: var(--dark-300);--surface-inverse: var(--light-50);--surface-brand: var(--brand-950);--border-default: var(--dark-700);--border-strong: var(--dark-800);--border-subtle: var(--dark-500);--border-focus: var(--brand-500);--border-selected: var(--brand);--text-default: var(--neutral-200);--text-strong: var(--light-00);--text-subtle: var(--neutral-500);--text-muted: var(--neutral-500);--text-inverse: var(--neutral-900);--text-brand: var(--brand-400);--icon-default: var(--neutral-200);--icon-strong: var(--white-100);--icon-subtle: var(--neutral-400);--icon-muted: var(--neutral-500);--icon-inverse: var(--black-100);--icon-brand: var(--brand-400);--action-primary: var(--brand-500);--action-secondary: var(--dark-100);--action-outline: var(--black-00);--action-ghost: var(--black-00);--action-link: var(--brand-500);--action-destructive: var(--red-700);--sidebar-bg: var(--dark-200);--sidebar-surface: var(--dark-400);--sidebar-item-bg: var(--dark-00);--surface-success: var(--green-500);--surface-success-subtle: rgb(18 183 106 / .12);--surface-warning: var(--orange-500);--surface-warning-subtle: rgb(247 144 9 / .12);--surface-error: var(--red-600);--surface-error-subtle: rgb(240 68 56 / .12);--surface-info: var(--brand-500);--surface-info-subtle: var(--brand-500-alpha-4);--border-success: rgb(18 183 106 / .32);--border-warning: rgb(247 144 9 / .32);--border-error: rgb(240 68 56 / .36);--border-info: var(--brand-500-alpha-5);--text-success: var(--green-400);--text-warning: var(--orange-400);--text-error: var(--red-400);--text-info: var(--brand-400);--icon-success: var(--green-400);--icon-warning: var(--orange-400);--icon-error: var(--red-400);--icon-info: var(--brand-400);--app-bg: var(--sidebar-bg);--main-bg: var(--bg-default);--card-bg: var(--surface-default);--card-border: var(--border-subtle);--popover-bg: var(--surface-elevated);--table-head-bg: var(--surface-raised);--row-hover: var(--surface-raised);--row-divider: var(--dark-400);--comp-tray: var(--dark-100);--comp-border: var(--dark-500);--table-total-bg: var(--dark-200);--row-selected: var(--brand-500-alpha-3);--control-bg: var(--surface-default);--control-border: var(--border-default);--control-hover: var(--surface-raised);--ghost-hover: var(--dark-300);--ghost-active: var(--dark-500);--nav-hover: var(--dark-400);--nav-active-bg: var(--dark-500);--track-bg: var(--dark-300);--panel-bg: var(--dark-100);--panel-item-bg: var(--dark-300);--kbd-bg: var(--dark-400);--overlay: rgb(0 0 0 / .56);--button-primary-bg: var(--surface-inverse);--button-primary-hover: var(--light-300);--button-primary-text: var(--text-inverse);--button-brand-bg: var(--action-primary);--button-brand-hover: var(--brand-400);--ai-text: var(--purple-300);--ai-surface: rgb(122 90 248 / .12);--ai-border: rgb(122 90 248 / .32);--ai-icon: var(--purple-400);--series-1: var(--brand-500);--series-2: var(--blue-500);--series-3: var(--amber-700);--series-4: var(--purple-500);--series-5: var(--cyan-500);--series-compare: var(--dark-950);--series-neutral: var(--dark-900);--chart-grid: var(--dark-500);--chart-axis: var(--dark-800);--chart-label: var(--neutral-500);--chart-forecast-band: var(--brand-500-alpha-4);--shadow-xs: 0 1px 2px rgb(0 0 0 / .3);--shadow-sm: 0 1px 2px rgb(0 0 0 / .4);--shadow-md: 0 6px 16px -4px rgb(0 0 0 / .5), 0 0 0 1px rgb(255 255 255 / .04);--shadow-lg: 0 20px 48px -12px rgb(0 0 0 / .7), 0 0 0 1px rgb(255 255 255 / .05);--focus-ring: 0 0 0 2px var(--bg-default), 0 0 0 4px var(--brand-500-alpha-5), 0 0 0 1px var(--border-focus)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--app-bg);color:var(--text-default);font-family:var(--font-sans);font-size:var(--text-sm);line-height:var(--leading-normal);font-feature-settings:"cv11","ss01";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd{margin:0}ul,ol{margin:0;padding:0;list-style:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0;padding:0}a{color:inherit;text-decoration:none}img,svg{display:block}table{border-collapse:collapse;border-spacing:0}hr{border:0;border-top:1px solid var(--border-subtle);margin:0}::selection{background:var(--brand-500-alpha-5)}:focus{outline:none}:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--rounded-md)}.so-scroll{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.so-scroll::-webkit-scrollbar{width:10px;height:10px}.so-scroll::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:10px;border:3px solid transparent;background-clip:content-box}.so-scroll:hover::-webkit-scrollbar-thumb{background-color:var(--border-strong)}.so-scroll::-webkit-scrollbar-track{background:transparent}.num{font-variant-numeric:tabular-nums}.mono{font-family:var(--font-mono);font-size:.92em;letter-spacing:0}.t-strong{color:var(--text-strong)}.t-subtle{color:var(--text-subtle)}.t-muted{color:var(--text-muted)}.t-brand{color:var(--text-brand)}.t-success{color:var(--text-success)}.t-warning{color:var(--text-warning)}.t-error{color:var(--text-error)}.t-xs{font-size:var(--text-xs)}.t-sm{font-size:var(--text-sm)}.t-xxs{font-size:var(--text-xxs)}.t-medium{font-weight:var(--weight-medium)}.t-semibold{font-weight:var(--weight-semibold)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.so-skeleton{display:block;border-radius:var(--rounded-sm);background:linear-gradient(90deg,var(--surface-subtle) 0%,var(--surface-raised) 50%,var(--surface-subtle) 100%);background-size:200% 100%;animation:so-shimmer 1.4s ease-in-out infinite}@keyframes so-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes so-fade-in{0%{opacity:0}to{opacity:1}}@keyframes so-pop-in{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:none}}@keyframes so-slide-in-right{0%{transform:translate(16px);opacity:0}to{transform:none;opacity:1}}@keyframes so-spin{to{transform:rotate(360deg)}}@keyframes so-pulse{0%,to{opacity:1}50%{opacity:.35}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;transition-duration:1ms!important}}@media print{body{background:#fff}.so-no-print{display:none!important}}.so-btn{--btn-h: var(--control-h);display:inline-flex;align-items:center;justify-content:center;gap:6px;height:var(--btn-h);padding:0 12px;border-radius:var(--rounded-md);border:1px solid transparent;font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:1;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),transform var(--dur-fast),box-shadow var(--dur-fast)}.so-btn:active:not(:disabled){transform:scale(.97)}.so-btn:disabled{opacity:.5;cursor:not-allowed}.so-btn.is-loading{opacity:.8;cursor:progress}.so-btn--sm{--btn-h: var(--control-h-sm);padding:0 10px;font-size:var(--text-xs);gap:5px}.so-btn--lg{--btn-h: var(--control-h-lg);padding:0 14px}.so-btn--block{width:100%}.so-btn .so-kbd{margin-left:2px}.so-btn--primary{background:var(--button-primary-bg);color:var(--button-primary-text)}.so-btn--primary:hover:not(:disabled){background:var(--button-primary-hover)}.so-btn--primary .so-kbd{background:#ffffff24;color:inherit;border-color:transparent}:root[data-theme=dark] .so-btn--primary .so-kbd{background:#00000014}.so-btn--brand{background:var(--button-brand-bg);color:var(--white)}.so-btn--brand:hover:not(:disabled){background:var(--button-brand-hover)}.so-btn--secondary{background:var(--control-bg);color:var(--text-strong);border-color:var(--control-border);box-shadow:var(--shadow-xs)}.so-btn--secondary:hover:not(:disabled){background:var(--control-hover);border-color:var(--border-strong)}.so-btn--outline{background:transparent;color:var(--text-default);border-color:var(--border-default)}.so-btn--outline:hover:not(:disabled){background:var(--ghost-hover)}.so-btn--ghost{background:transparent;color:var(--text-default)}.so-btn--ghost:hover:not(:disabled){background:var(--ghost-hover);color:var(--text-strong)}.so-btn--danger{background:var(--action-destructive);color:var(--white)}.so-btn--danger:hover:not(:disabled){filter:brightness(.94)}.so-btn--link{background:none;height:auto;padding:0;color:var(--text-brand);border:0}.so-btn--link:hover:not(:disabled){text-decoration:underline;text-underline-offset:3px}.so-btn--link:active:not(:disabled){transform:none}.so-spin{animation:so-spin .9s linear infinite}.so-iconbtn{position:relative;display:inline-grid;place-items:center;flex:none;width:var(--control-h);height:var(--control-h);border-radius:var(--rounded-md);color:var(--icon-subtle);border:1px solid transparent;transition:background var(--dur-fast),color var(--dur-fast),transform var(--dur-fast)}.so-iconbtn:hover{background:var(--ghost-hover);color:var(--icon-default)}.so-iconbtn:active{transform:scale(.94)}.so-iconbtn.is-active{background:var(--ghost-active);color:var(--icon-strong)}.so-iconbtn--sm{width:var(--control-h-sm);height:var(--control-h-sm)}.so-iconbtn--lg{width:var(--control-h-lg);height:var(--control-h-lg)}.so-iconbtn--secondary{background:var(--control-bg);border-color:var(--control-border);color:var(--icon-default)}.so-iconbtn--secondary:hover{background:var(--control-hover)}.so-iconbtn--primary{background:var(--button-primary-bg);color:var(--button-primary-text)}.so-iconbtn__badge{position:absolute;top:5px;right:5px;width:7px;height:7px;border-radius:var(--rounded-full);background:var(--brand-500);box-shadow:0 0 0 2px var(--app-bg)}.so-iconbtn__badge.has-count{width:auto;height:15px;min-width:15px;padding:0 4px;top:2px;right:1px;font-size:10px;font-weight:var(--weight-semibold);line-height:15px;color:var(--white);text-align:center}.so-badge{display:inline-flex;align-items:center;gap:5px;flex:none;height:22px;padding:0 8px;border-radius:var(--rounded-full);font-size:var(--text-xs);font-weight:var(--weight-medium);line-height:1;white-space:nowrap;background:var(--surface-subtle);color:var(--text-default)}.so-badge--sm{height:18px;padding:0 6px;font-size:var(--text-xxs)}.so-badge__dot{width:6px;height:6px;border-radius:var(--rounded-full);background:currentColor;flex:none}.so-badge--success{background:var(--surface-success-subtle);color:var(--text-success)}.so-badge--warning{background:var(--surface-warning-subtle);color:var(--text-warning)}.so-badge--error{background:var(--surface-error-subtle);color:var(--text-error)}.so-badge--info,.so-badge--brand{background:var(--surface-info-subtle);color:var(--text-info)}.so-badge--ai{background:var(--ai-surface);color:var(--ai-text);box-shadow:inset 0 0 0 1px var(--ai-border)}.so-badge--outline{background:transparent;box-shadow:inset 0 0 0 1px var(--border-default);color:var(--text-subtle)}.so-badge--muted{background:transparent;color:var(--text-subtle);padding:0}.so-badge--neutral .so-badge__dot{color:var(--icon-muted)}.so-kbd{white-space:nowrap;flex:none;display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:var(--rounded-sm);background:var(--kbd-bg);border:1px solid var(--border-subtle);font-family:var(--font-sans);font-size:var(--text-xxs);font-weight:var(--weight-medium);color:var(--text-subtle);line-height:1}.so-avatar{display:inline-grid;place-items:center;flex:none;border-radius:var(--rounded-full);font-weight:var(--weight-semibold);letter-spacing:0}.so-avatar--img{object-fit:cover;background:var(--surface-subtle)}.so-avatar--t0{background:var(--brand-100);color:var(--brand-800)}.so-avatar--t1{background:var(--blue-100);color:var(--blue-800)}.so-avatar--t2{background:var(--amber-100);color:var(--amber-900)}.so-avatar--t3{background:var(--purple-100);color:var(--purple-800)}.so-avatar--t4{background:var(--cyan-100);color:var(--cyan-800)}:root[data-theme=dark] .so-avatar--img{object-fit:cover;background:var(--surface-subtle)}.so-avatar--t0{background:var(--brand-900);color:var(--brand-200)}:root[data-theme=dark] .so-avatar--t1{background:var(--blue-900);color:var(--blue-200)}:root[data-theme=dark] .so-avatar--t2{background:var(--amber-900);color:var(--amber-200)}:root[data-theme=dark] .so-avatar--t3{background:var(--purple-900);color:var(--purple-200)}:root[data-theme=dark] .so-avatar--t4{background:var(--cyan-900);color:var(--cyan-200)}.so-divider{display:block;height:1px;background:var(--border-subtle);flex:none}.so-divider--v{width:1px;height:16px}.so-meter{display:block;width:100%;border-radius:var(--rounded-full);background:var(--track-bg);overflow:hidden}.so-meter__fill{display:block;height:100%;border-radius:inherit;background:var(--brand-500);transition:width var(--dur-slow) var(--ease-out)}.so-meter--success .so-meter__fill{background:var(--surface-success)}.so-meter--warning .so-meter__fill{background:var(--surface-warning)}.so-meter--error .so-meter__fill{background:var(--surface-error)}.so-meter--neutral .so-meter__fill{background:var(--neutral-400)}.so-tooltip{z-index:1000;padding:6px 8px;border-radius:var(--rounded-md);background:var(--surface-inverse);color:var(--text-inverse);font-size:var(--text-xs);line-height:var(--leading-snug);box-shadow:var(--shadow-md);pointer-events:none;animation:so-fade-in var(--dur-fast) var(--ease-out)}.so-popover{z-index:900;background:var(--popover-bg);color:var(--text-default);border:1px solid var(--border-default);border-radius:var(--rounded-xl);box-shadow:var(--shadow-lg);overflow:auto;outline:none;animation:so-pop-in var(--dur-fast) var(--ease-out)}.so-popover--menu{padding:4px}.so-popover--md{padding:12px}.so-popover--none{padding:0}.so-menu{display:flex;flex-direction:column}.so-menu__item{display:flex;align-items:center;gap:8px;width:100%;min-height:32px;padding:6px 8px;border-radius:var(--rounded-md);text-align:left;font-size:var(--text-sm);color:var(--text-default)}.so-menu__item svg{color:var(--icon-subtle);flex:none}.so-menu__item:hover:not(:disabled),.so-menu__item:focus-visible{background:var(--ghost-hover);color:var(--text-strong);box-shadow:none;outline:none}.so-menu__item:disabled{opacity:.45;cursor:not-allowed}.so-menu__item.is-danger,.so-menu__item.is-danger svg{color:var(--text-error)}.so-menu__check{width:16px;display:grid;place-items:center;flex:none}.so-menu__check svg{color:var(--text-strong)}.so-menu__text{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.so-menu__hint{font-size:var(--text-xs);color:var(--text-subtle)}.so-menu__sep{height:1px;background:var(--border-subtle);margin:4px -4px}.so-menu__label{padding:8px 8px 4px;font-size:var(--text-xxs);font-weight:var(--weight-semibold);color:var(--text-subtle);text-transform:uppercase;letter-spacing:.04em}.so-select{display:inline-flex;align-items:center;gap:6px;height:var(--control-h);padding:0 8px 0 10px;min-width:0;border-radius:var(--rounded-md);background:var(--control-bg);border:1px solid var(--control-border);font-size:var(--text-sm);color:var(--text-strong);text-align:left;transition:border-color var(--dur-fast),background var(--dur-fast)}.so-select:hover:not(:disabled){border-color:var(--border-strong)}.so-select:disabled{opacity:.55;cursor:not-allowed}.so-select--sm{height:var(--control-h-sm);font-size:var(--text-xs)}.so-select--ghost{background:transparent;border-color:transparent}.so-select--ghost:hover:not(:disabled){background:var(--ghost-hover);border-color:transparent}.so-select__value{flex:1;min-width:0;display:flex;align-items:center;gap:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.so-select__value.is-placeholder{color:var(--text-muted)}.so-select__chev{color:var(--icon-muted);flex:none}.so-optlist{display:flex;flex-direction:column;min-width:180px}.so-optlist__search{display:flex;align-items:center;gap:6px;padding:4px 8px 8px;margin:0 -4px 4px;border-bottom:1px solid var(--border-subtle);color:var(--icon-muted)}.so-optlist__search input{flex:1;border:0;background:none;outline:none;font-size:var(--text-sm);height:26px;color:var(--text-strong)}.so-optlist__items{outline:none}.so-optlist__empty{padding:12px 8px;color:var(--text-subtle);font-size:var(--text-sm)}.so-option{display:flex;align-items:center;gap:8px;min-height:32px;padding:6px 8px;border-radius:var(--rounded-md);font-size:var(--text-sm);color:var(--text-default);cursor:pointer}.so-option.is-active{background:var(--ghost-hover);color:var(--text-strong)}.so-option.is-disabled{opacity:.45;cursor:not-allowed}.so-option__label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.so-option__hint{color:var(--text-subtle);font-size:var(--text-xs);flex:none;font-variant-numeric:tabular-nums}.so-option__tick{color:var(--text-strong);flex:none}.so-check{width:16px;height:16px;border-radius:var(--rounded-sm);border:1px solid var(--border-strong);background:var(--control-bg);display:grid;place-items:center;flex:none;color:var(--white)}.so-check.is-checked{background:var(--surface-inverse);border-color:var(--surface-inverse);color:var(--text-inverse)}.so-field{display:flex;flex-direction:column;gap:6px;min-width:0}.so-field--inline{flex-direction:row;align-items:center;justify-content:space-between;gap:12px}.so-field__label{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--text-default)}.so-field__req{color:var(--text-error)}.so-field__hint{font-size:var(--text-xs);color:var(--text-subtle)}.so-field__error{font-size:var(--text-xs);color:var(--text-error)}.so-input{display:inline-flex;align-items:center;gap:6px;height:var(--control-h);padding:0 10px;min-width:0;border-radius:var(--rounded-md);background:var(--control-bg);border:1px solid var(--control-border);transition:border-color var(--dur-fast),box-shadow var(--dur-fast)}.so-input:hover{border-color:var(--border-strong)}.so-input:focus-within{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--brand-500-alpha-4)}.so-input.is-invalid{border-color:var(--red-500)}.so-input--sm{height:var(--control-h-sm);padding:0 8px}.so-input input{flex:1;min-width:0;width:100%;height:100%;border:0;background:none;outline:none;font-size:var(--text-sm);color:var(--text-strong);box-shadow:none}.so-input--sm input{font-size:var(--text-xs)}.so-input input::placeholder{color:var(--text-muted)}.so-input input:focus-visible{box-shadow:none}.so-input__affix{color:var(--text-subtle);font-size:var(--text-sm);display:inline-flex;align-items:center;flex:none}.so-input--num input{font-variant-numeric:tabular-nums}.so-input--num input::-webkit-inner-spin-button{opacity:.4}.so-input--search input::-webkit-search-cancel-button{display:none}.so-input__clear{display:grid;place-items:center;width:18px;height:18px;border-radius:var(--rounded-sm);color:var(--icon-muted)}.so-input__clear:hover{background:var(--ghost-hover);color:var(--icon-default)}.so-textarea{width:100%;min-height:76px;padding:8px 10px;resize:vertical;border-radius:var(--rounded-md);background:var(--control-bg);border:1px solid var(--control-border);font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--text-strong);outline:none}.so-textarea:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--brand-500-alpha-4)}.so-checkbox{position:relative;display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:var(--text-sm);color:var(--text-default)}.so-checkbox input{position:absolute;opacity:0;width:16px;height:16px;margin:0;cursor:pointer}.so-checkbox__box{width:16px;height:16px;border-radius:var(--rounded-sm);border:1px solid var(--border-strong);background:var(--control-bg);display:grid;place-items:center;flex:none;color:var(--text-inverse);transition:background var(--dur-fast),border-color var(--dur-fast)}.so-checkbox input:checked+.so-checkbox__box,.so-checkbox input:indeterminate+.so-checkbox__box{background:var(--surface-inverse);border-color:var(--surface-inverse)}.so-checkbox input:focus-visible+.so-checkbox__box{box-shadow:var(--focus-ring)}.so-checkbox__dash{width:8px;height:2px;border-radius:1px;background:currentColor}.so-checkbox.is-disabled{opacity:.5;cursor:not-allowed}.so-checkbox--sm .so-checkbox__box{width:14px;height:14px}.so-switch{display:inline-flex;align-items:center;gap:8px;font-size:var(--text-sm);color:var(--text-default);cursor:pointer}.so-switch__track{position:relative;width:30px;height:18px;border-radius:var(--rounded-full);background:var(--border-strong);flex:none;transition:background var(--dur-base) var(--ease-out)}.so-switch--sm .so-switch__track{width:26px;height:16px}.so-switch__track.is-on{background:var(--surface-inverse)}.so-switch__thumb{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:var(--rounded-full);background:var(--white);box-shadow:0 1px 2px #0003;transition:transform var(--dur-base) var(--ease-out)}.so-switch--sm .so-switch__thumb{width:12px;height:12px}.so-switch__track.is-on .so-switch__thumb{transform:translate(12px)}:root[data-theme=dark] .so-switch__track.is-on .so-switch__thumb{background:var(--dark-100)}.so-switch--sm .so-switch__track.is-on .so-switch__thumb{transform:translate(10px)}.so-switch.is-disabled{opacity:.5;cursor:not-allowed}.so-radio{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:var(--text-sm)}.so-radio input{position:absolute;opacity:0;pointer-events:none}.so-radio__dot{width:16px;height:16px;margin-top:2px;border-radius:var(--rounded-full);border:1px solid var(--border-strong);background:var(--control-bg);flex:none;display:grid;place-items:center}.so-radio.is-checked .so-radio__dot{border:5px solid var(--surface-inverse)}.so-radio input:focus-visible+.so-radio__dot{box-shadow:var(--focus-ring)}.so-radio__text{display:flex;flex-direction:column;gap:2px}.so-radio__label{color:var(--text-strong);font-weight:var(--weight-medium)}.so-radio__hint{color:var(--text-subtle);font-size:var(--text-xs)}.so-radio.is-disabled{opacity:.5;cursor:not-allowed}.so-tabs{display:inline-flex;align-items:center;gap:2px;padding:3px;max-width:100%;border-radius:var(--rounded-lg);background:var(--track-bg);overflow-x:auto;scrollbar-width:none;align-self:flex-start}.so-tabs::-webkit-scrollbar{display:none}.so-tab{position:relative;display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-radius:var(--rounded-md);white-space:nowrap;flex:none;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-subtle);transition:color var(--dur-fast),background var(--dur-fast),box-shadow var(--dur-fast)}.so-tabs--sm .so-tab{height:26px;padding:0 10px;font-size:var(--text-xs)}.so-tab:hover{color:var(--text-strong)}.so-tab.is-active{color:var(--text-strong);background:var(--surface-elevated);box-shadow:var(--shadow-sm)}:root[data-theme=dark] .so-tab.is-active{background:var(--dark-600)}.so-tab:disabled{opacity:.45;cursor:not-allowed}.so-tab:focus-visible{box-shadow:var(--focus-ring)}.so-tabs--plain{background:none;padding:0;gap:4px}.so-tabs--plain .so-tab.is-active{background:var(--ghost-active);box-shadow:none}:root[data-theme=dark] .so-tabs--plain .so-tab.is-active{background:var(--dark-500)}.so-tab__count{font-size:var(--text-xxs);font-weight:var(--weight-medium);color:var(--text-muted);font-variant-numeric:tabular-nums}.so-tab.is-active .so-tab__count{color:var(--text-subtle)}.so-seg{display:inline-flex;padding:2px;border-radius:var(--rounded-md);background:var(--track-bg);gap:2px;flex:none}.so-seg__item{height:calc(var(--control-h) - 4px);padding:0 10px;border-radius:5px;font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--text-subtle);white-space:nowrap;transition:background var(--dur-fast),color var(--dur-fast),box-shadow var(--dur-fast)}.so-seg--sm .so-seg__item{height:calc(var(--control-h-sm) - 4px);padding:0 8px}.so-seg__item:hover{color:var(--text-strong)}.so-seg__item.is-active{background:var(--surface-elevated);color:var(--text-strong);box-shadow:var(--shadow-sm)}:root[data-theme=dark] .so-seg__item.is-active{background:var(--dark-600)}.so-overlay{z-index:800;background:var(--overlay);display:grid;place-items:center;padding:16px;animation:so-fade-in var(--dur-base) var(--ease-out)}.so-overlay--drawer{display:flex;justify-content:flex-end;padding:12px}.so-dialog{display:flex;flex-direction:column;max-height:calc(100vh - 48px);background:var(--popover-bg);border:1px solid var(--border-default);border-radius:var(--rounded-2xl);box-shadow:var(--shadow-lg);outline:none;animation:so-pop-in var(--dur-base) var(--ease-out)}.so-dialog__head,.so-drawer__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 20px 12px}.so-dialog__titles{display:flex;flex-direction:column;gap:4px;min-width:0}.so-dialog__title{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--text-strong);letter-spacing:var(--tracking-tight)}.so-dialog__desc{font-size:var(--text-sm);color:var(--text-subtle);line-height:var(--leading-snug)}.so-dialog__body{padding:4px 20px 16px;overflow:auto}.so-dialog__foot,.so-drawer__foot{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid var(--border-subtle);background:var(--surface-default);border-radius:0 0 var(--rounded-2xl) var(--rounded-2xl)}.so-confirm__body{font-size:var(--text-sm);color:var(--text-default);line-height:var(--leading-relaxed)}.so-drawer{height:100%;max-width:calc(100vw - 24px);display:flex;flex-direction:column;background:var(--popover-bg);overflow:hidden;border:1px solid var(--border-default);border-radius:20px;box-shadow:0 24px 48px -12px #0f0f0f2e,0 2px 6px #0f0f0f0d;outline:none;animation:so-slide-in-right var(--dur-slow) var(--ease-out)}.so-overlay--drawer .so-drawer{position:relative}.so-drawer--float{position:fixed;top:12px;right:12px;bottom:12px;height:auto;z-index:700}.so-drawer__head{padding:18px 20px 10px}.so-drawer__actions{display:flex;align-items:center;gap:4px;flex:none}.so-drawer__body{flex:1;overflow:auto;padding:16px 20px}.so-drawer__foot{border-radius:0;background:var(--popover-bg)}.so-toaster{position:fixed;z-index:1100;right:16px;bottom:16px;display:flex;flex-direction:column;gap:8px;width:min(380px,calc(100vw - 32px))}.so-toast{display:flex;align-items:flex-start;gap:10px;padding:12px 8px 12px 14px;background:var(--popover-bg);border:1px solid var(--border-default);border-radius:var(--rounded-xl);box-shadow:var(--shadow-lg);animation:so-pop-in var(--dur-base) var(--ease-out);transition:opacity var(--dur-base),transform var(--dur-base)}.so-toast.is-leaving{opacity:0;transform:translateY(6px)}.so-toast__icon{flex:none;margin-top:1px}.so-toast--success .so-toast__icon{color:var(--icon-success)}.so-toast--error .so-toast__icon{color:var(--icon-error)}.so-toast--warning .so-toast__icon{color:var(--icon-warning)}.so-toast--info .so-toast__icon{color:var(--icon-subtle)}.so-toast__text{flex:1;min-width:0;padding-top:1px}.so-toast__title{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-strong)}.so-toast__body{font-size:var(--text-xs);color:var(--text-subtle);margin-top:2px;line-height:var(--leading-snug)}@media(max-width:720px){.so-overlay--drawer{padding:0}.so-drawer{border-radius:0;max-width:100vw}.so-drawer--float{top:0;right:0;bottom:0;left:0}}.so-page{display:flex;flex-direction:column;gap:32px;padding:24px 32px 56px;margin:0 auto;width:100%}.so-page--wide{max-width:1440px}.so-page--narrow{max-width:920px}.so-page--full{max-width:none}@media(max-width:720px){.so-page{padding:16px 16px 40px;gap:24px}}.so-pagehead{display:flex;flex-direction:column;gap:12px}.so-crumbs{display:flex;align-items:center;gap:10px;font-size:var(--text-base);color:var(--text-subtle);flex-wrap:wrap;margin-bottom:4px}.so-crumbs__item{display:inline-flex;align-items:center;gap:10px}.so-crumbs a:hover{color:var(--text-strong)}.so-crumbs [aria-current=page]{color:var(--text-strong);font-weight:var(--weight-medium)}.so-crumbs__sep{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:var(--rounded-md);background:var(--surface-subtle);color:var(--icon-subtle)}.so-pagehead__row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;min-height:36px}.so-pagehead__titles{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1 1 320px}.so-pagehead__titleline{display:flex;align-items:center;gap:10px;min-width:0}.so-pagehead__title{font-size:var(--text-2xl);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tighter);color:var(--text-strong);line-height:var(--leading-tight)}.so-pagehead__meta{display:flex;align-items:center;gap:8px 14px;flex-wrap:wrap;font-size:var(--text-xs);color:var(--text-subtle)}.so-pagehead__actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.so-pagehead__below{margin-top:8px}@media(max-width:720px){.so-pagehead__title{font-size:var(--text-xl)}}.so-section{display:flex;flex-direction:column;gap:16px;min-width:0}.so-section__head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:30px;flex-wrap:wrap}.so-section__titles{display:flex;align-items:center;gap:6px;min-width:0}.so-section__title{font-size:var(--text-base);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);color:var(--text-strong)}.so-section__title.is-sub{font-size:var(--text-sm)}.so-section__actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.so-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--rounded-2xl);min-width:0;box-shadow:0 1px 2px #0f0f0f08}.so-card--muted{background:var(--panel-bg);border-color:transparent;border-radius:var(--rounded-2xl)}.so-card--none{padding:0}.so-card--sm{padding:12px}.so-card--md{padding:16px}.so-card--lg{padding:20px 24px}.so-cardhead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;min-height:28px}.so-cardhead__titles{display:flex;align-items:center;gap:6px;min-width:0}.so-cardhead__title{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text-strong)}.so-cardhead__actions{display:flex;align-items:center;gap:6px;flex:none}.so-grid{display:grid;min-width:0}.so-row{display:flex;min-width:0}.so-stack{display:flex;flex-direction:column;min-width:0}.so-kv{display:grid;gap:0 24px;margin:0}.so-kv--c2{grid-template-columns:repeat(2,minmax(0,1fr))}.so-kv--c3{grid-template-columns:repeat(3,minmax(0,1fr))}.so-kv--c4{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:720px){.so-kv--c3,.so-kv--c4{grid-template-columns:repeat(2,minmax(0,1fr))}}.so-kv__row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--border-subtle);min-width:0}.so-kv__row dt{font-size:var(--text-sm);color:var(--text-subtle);flex:none}.so-kv__row dd{margin:0;font-size:var(--text-sm);color:var(--text-strong);text-align:right;min-width:0;font-variant-numeric:tabular-nums;display:flex;flex-direction:column;align-items:flex-end;gap:2px}.so-kv__hint{font-size:var(--text-xs);color:var(--text-subtle)}.so-infotip{display:inline-grid;place-items:center;width:16px;height:16px;border-radius:var(--rounded-full);color:var(--icon-muted);flex:none}.so-infotip:hover{color:var(--icon-default)}.so-delta{display:inline-flex;align-items:center;gap:2px;font-size:var(--text-xs);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums;white-space:nowrap}.so-delta--good{color:var(--text-success)}.so-delta--bad{color:var(--text-error)}.so-delta--neutral,.so-delta--none{color:var(--text-subtle)}.so-delta--md{font-size:var(--text-sm)}.so-statgroup{display:flex;flex-direction:column;gap:8px;min-width:0}.so-statstrip{display:grid;grid-template-columns:repeat(var(--stat-n, 4),minmax(0,1fr));gap:4px;padding:6px;background:var(--panel-bg);border-radius:var(--rounded-2xl)}.so-statstrip--more .so-stat__value{font-size:var(--text-xl)}@media(max-width:900px){.so-statstrip{grid-template-columns:repeat(2,minmax(0,1fr))}}.so-statstrip:not(.has-sparks) .so-stat__spark{display:none}.so-statmore{align-self:flex-start;display:inline-flex;align-items:center;gap:4px;height:28px;padding:0 8px;margin-left:4px;border-radius:var(--rounded-md);font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--text-subtle)}.so-statmore:hover{color:var(--text-strong);background:var(--ghost-hover)}.so-statmore:focus-visible{box-shadow:var(--focus-ring)}.so-statmore__chev{transition:transform var(--dur-fast)}.so-statmore__chev.is-open{transform:rotate(180deg)}.so-stat{display:flex;flex-direction:column;gap:8px;padding:16px 18px;min-width:0;text-align:left;color:inherit;position:relative;border-radius:var(--rounded-xl)}.so-stat--link{transition:background var(--dur-fast)}.so-stat--link:hover{background:var(--panel-item-bg)}.so-stat--link:focus-visible{box-shadow:var(--focus-ring)}.so-stat__hit{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;border-radius:inherit}.so-stat__hit:focus-visible{box-shadow:var(--focus-ring)}.so-stat .so-infotip{position:relative;z-index:2;opacity:0;transition:opacity var(--dur-fast)}.so-stat:hover .so-infotip,.so-stat:focus-within .so-infotip{opacity:1}@media(hover:none){.so-stat .so-infotip{opacity:1}}.so-stat__label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:var(--weight-medium);color:var(--text-subtle);white-space:nowrap}.so-stat__label>span:first-child{overflow:hidden;text-overflow:ellipsis}.so-stat__est{font-size:var(--text-xxs);color:var(--text-subtle);border:1px dashed var(--border-strong);border-radius:var(--rounded-sm);padding:0 4px;line-height:14px}.so-stat__value{font-size:28px;font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tighter);color:var(--text-strong);line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.so-stat__value--warning{color:var(--text-warning)}.so-stat__value--error{color:var(--text-error)}.so-stat__foot{display:flex;align-items:center;gap:8px;min-height:16px;flex-wrap:wrap}.so-stat__compare{display:none}.so-stat__secondary{font-size:var(--text-xs);color:var(--text-subtle);font-variant-numeric:tabular-nums}.so-stat__spark{margin-top:4px;height:28px}.so-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;padding:48px 24px}.so-empty--compact{padding:24px 16px}.so-empty__icon{display:grid;place-items:center;width:40px;height:40px;border-radius:var(--rounded-xl);background:var(--surface-subtle);color:var(--icon-subtle);margin-bottom:6px}.so-empty--error .so-empty__icon{background:var(--surface-error-subtle);color:var(--icon-error)}.so-empty__title{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text-strong)}.so-empty__body{font-size:var(--text-sm);color:var(--text-subtle);max-width:440px;line-height:var(--leading-snug)}.so-empty__actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap;justify-content:center}.so-skelrows{display:flex;flex-direction:column}.so-skelrows__row{display:flex;align-items:center;justify-content:space-between;gap:24px;height:var(--row-h);padding:0 16px;border-bottom:1px solid var(--border-subtle)}.so-callout{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:var(--rounded-lg);background:var(--surface-default);border:1px solid var(--border-subtle)}.so-callout__icon{flex:none;margin-top:2px;color:var(--icon-subtle)}.so-callout__text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.so-callout__title{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-strong)}.so-callout__body{font-size:var(--text-sm);color:var(--text-default);line-height:var(--leading-snug)}.so-callout__actions{display:flex;gap:6px;flex:none;align-items:center}.so-callout--warning{background:var(--surface-warning-subtle);border-color:var(--border-warning)}.so-callout--warning .so-callout__icon{color:var(--icon-warning)}.so-callout--error{background:var(--surface-error-subtle);border-color:var(--border-error)}.so-callout--error .so-callout__icon{color:var(--icon-error)}.so-callout--success{background:var(--surface-success-subtle);border-color:var(--border-success)}.so-callout--success .so-callout__icon{color:var(--icon-success)}.so-callout--info{background:var(--surface-info-subtle);border-color:var(--border-info)}.so-callout--info .so-callout__icon{color:var(--icon-info)}.so-callout--ai{background:var(--ai-surface);border-color:var(--ai-border)}.so-callout--ai .so-callout__icon{color:var(--ai-icon)}@media(max-width:720px){.so-callout{flex-wrap:wrap}.so-callout__actions{width:100%}}.so-listrow{display:flex;align-items:center;gap:12px;width:100%;min-height:44px;padding:10px 16px;border-bottom:1px solid var(--border-subtle);text-align:left;color:inherit;min-width:0}.so-listrow:last-child{border-bottom:0}.so-listrow.is-interactive{transition:background var(--dur-fast);cursor:pointer}.so-listrow.is-interactive:hover{background:var(--row-hover)}.so-listrow.is-interactive:focus-visible{border-radius:0;box-shadow:inset var(--focus-ring)}@media(max-width:720px){.so-statstrip{grid-template-columns:repeat(2,minmax(0,1fr))}.so-stat{padding:12px}.so-stat__value{font-size:var(--text-xl)}.so-stat__label,.so-stat__compare{white-space:normal}}.so-panel{display:flex;flex-direction:column;min-width:0;height:100%;padding:0 4px 4px;border-radius:20px;background:var(--panel-bg)}.so-panel__head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:0 12px}.so-panel__title{display:inline-flex;align-items:center;gap:8px;font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text-strong)}.so-panel__actions{display:flex;align-items:center;gap:6px}.so-panel__body{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--card-bg);border:1px solid var(--card-border);border-radius:16px;overflow:hidden}.so-panel__body>.so-table{flex:1}.so-panel__body>.so-table .so-table__opts{background:var(--table-head-bg)}.so-table{position:relative;display:flex;flex-direction:column;min-width:0}.so-table__opts{position:absolute;top:9px;right:8px;z-index:4;border-radius:var(--rounded-md);background:var(--table-head-bg)}.so-table__opts .so-iconbtn{color:var(--icon-muted)}.so-table__opts .so-iconbtn:hover,.so-table__opts .so-iconbtn[aria-expanded=true]{color:var(--icon-default)}.so-table.is-bare th:last-child,.so-table.is-bare td:last-child{padding-right:44px}.so-table--bordered{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--rounded-2xl);overflow:hidden;box-shadow:0 1px 2px #0f0f0f08}.so-table__toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 10px 10px 16px;border-bottom:1px solid var(--border-subtle);min-height:48px;flex-wrap:wrap}.so-table__toolbar.is-bulk{background:var(--surface-default)}.so-table__toolbar-left{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0;flex:1}.so-table__toolbar-right{display:flex;align-items:center;gap:2px;flex:none}.so-table__bulkinfo{display:flex;align-items:center;gap:10px;font-size:var(--text-sm);color:var(--text-default)}.so-table__bulkinfo strong{color:var(--text-strong);font-weight:var(--weight-semibold)}.so-table__bulkactions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.so-table__scroll{overflow:auto;position:relative}.so-table table{width:100%;font-size:var(--text-sm)}.so-table th{position:sticky;top:0;z-index:2;height:44px;padding:0 16px;text-align:left;white-space:nowrap;background:var(--table-head-bg);border-bottom:1px solid var(--border-subtle);font-size:13px;font-weight:var(--weight-regular);color:var(--text-subtle);text-transform:none;letter-spacing:0}.so-table th.is-right{text-align:right}.so-table th.is-center{text-align:center}.so-th{display:inline-flex;align-items:center;gap:4px;max-width:100%}th.is-right .so-th{flex-direction:row-reverse}.so-th__btn{display:inline-flex;align-items:center;gap:4px;color:inherit;font:inherit;height:24px;border-radius:var(--rounded-sm)}th.is-right .so-th__btn{flex-direction:row-reverse}.so-th__btn:hover{color:var(--text-strong)}.so-th__ghost{opacity:0;transition:opacity var(--dur-fast)}.so-th__btn:hover .so-th__ghost{opacity:.45}th.is-sorted{color:var(--text-strong)}.so-th__resize{position:absolute;top:6px;bottom:6px;right:0;width:7px;cursor:col-resize;border-right:1px solid transparent}.so-table th:hover .so-th__resize{border-right-color:var(--border-strong)}.so-table td{height:var(--row-h);padding:14px 16px;border-bottom:1px solid var(--row-divider);color:var(--text-default);vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:420px;background:var(--card-bg)}.so-table--compact td,.so-table--compact tbody tr:has(.cell-stack,.so-prodcell) td{height:var(--row-h-compact);padding:6px 12px;font-size:var(--text-xs)}.so-table--compact th{height:36px;padding:0 12px}.so-table td.is-right,.so-table th.is-right{font-variant-numeric:tabular-nums}.so-table td:has(>.so-prodcell),.so-table td:has(>div>.so-prodcell){min-width:240px}.so-table .so-prodcell{max-width:340px}.so-table .so-badge{height:24px;padding:0 10px;font-size:var(--text-xs);gap:6px}.so-table--compact .so-badge{height:20px;padding:0 8px}.so-table td.is-right{text-align:right;font-variant-numeric:tabular-nums}.so-table td.is-center{text-align:center}.so-table tbody tr:last-child td{border-bottom:0}.so-table th+th,.so-table td+td{box-shadow:inset 1px 0 0 var(--row-divider)}.so-table th.so-td--select+th,.so-table td.so-td--select+td{box-shadow:inset 1px 0 0 var(--row-divider)}.so-table tbody tr.is-clickable{cursor:pointer}.so-table tbody tr:hover td{background:var(--row-hover)}.so-table tbody tr.is-selected td{background:var(--row-selected)}.so-table tbody tr:focus-visible{outline:none}.so-table tbody tr:focus-visible td{background:var(--row-hover);box-shadow:inset 0 1px 0 var(--border-focus),inset 0 -1px 0 var(--border-focus)}.so-table tbody tr.is-muted td{color:var(--text-subtle)}.so-table tfoot td{height:52px;background:var(--table-total-bg);font-weight:var(--weight-semibold);color:var(--text-strong);border-top:1px solid var(--border-default);border-bottom:0;position:sticky;bottom:0;z-index:1}.so-td--select{width:40px;min-width:40px;max-width:40px;padding:0 0 0 14px!important}.so-td--sticky{position:sticky;left:0;z-index:1}.so-table tbody tr:hover td.so-td--sticky{background:var(--row-hover)}th.so-td--sticky{z-index:3}.so-td--sticky2{left:40px}.so-table__scroll .so-td--sticky:not(.so-td--select):after{content:"";position:absolute;top:0;bottom:0;right:-1px;width:1px;background:var(--border-subtle)}.so-table__empty{padding:32px 16px;text-align:center}.so-table__pager{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 10px 10px 16px;border-top:1px solid var(--border-subtle);font-size:var(--text-xs);flex-wrap:wrap}.so-table__pager-right{display:flex;align-items:center;gap:6px}.cell-stack{display:flex;flex-direction:column;gap:3px;min-width:0;line-height:1.3}.cell-stack>:first-child{font-size:14px;color:var(--text-strong);font-weight:var(--weight-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-stack>:nth-child(2){font-size:12px;color:var(--text-subtle);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.so-table .cell-stack{flex-direction:row;align-items:baseline;gap:8px}.so-table .cell-stack>:first-child{flex:0 1 auto;min-width:0}.so-table .cell-stack>:nth-child(2){flex:0 10 auto;min-width:0;font-size:13px}.so-table td.is-right .cell-stack{justify-content:flex-end}.so-table .cell-stack>:nth-child(n+3){display:none}.so-table .so-prodcell .cell-stack>:nth-child(2){display:none}.so-table--compact .cell-stack{gap:1px}.so-table--compact .cell-stack>:first-child{font-size:var(--text-xs)}.cell-link{color:var(--text-strong);font-weight:var(--weight-medium)}.cell-link:hover{text-decoration:underline;text-underline-offset:3px}.so-filterbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}.so-filterbar__right{margin-left:auto;display:flex;align-items:center;gap:6px}.so-chip{display:inline-flex;align-items:center;gap:6px;height:var(--control-h-sm);padding:0 8px 0 10px;border-radius:var(--rounded-md);border:1px solid var(--border-default);background:var(--control-bg);font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--text-subtle);white-space:nowrap;transition:background var(--dur-fast),border-color var(--dur-fast),color var(--dur-fast)}.so-chip:hover{background:var(--control-hover);color:var(--text-strong)}.so-chip.is-active{border-color:transparent;background:var(--surface-subtle);color:var(--text-strong)}.so-chip__value{color:var(--text-brand);max-width:140px;overflow:hidden;text-overflow:ellipsis}.so-chip svg{color:var(--icon-muted)}.so-chip__foot{display:flex;justify-content:flex-end;padding:4px 4px 0;border-top:1px solid var(--border-subtle);margin-top:4px}.so-rangeform{display:flex;flex-direction:column;gap:10px}.so-rangeform__row{display:flex;align-items:center;gap:6px}.so-rangeform__actions{display:flex;justify-content:flex-end;gap:6px}.so-views{display:flex;flex-direction:column}.so-views__row{display:flex;align-items:center;gap:2px}.so-views__row .so-menu__item{flex:1}.so-views__form{display:flex;gap:6px;padding:4px}.so-menu__item.is-current{font-weight:var(--weight-semibold);color:var(--text-strong)}@media(max-width:720px){.so-table__toolbar{flex-direction:column;align-items:stretch;gap:6px;padding:8px}.so-table__toolbar-left{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.so-table__toolbar-left::-webkit-scrollbar{display:none}.so-table__toolbar-left .so-filterbar{flex-wrap:nowrap}.so-table__toolbar-left .so-input--search{min-width:180px}.so-table__toolbar-right{justify-content:flex-end}.so-filterbar{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.so-filterbar::-webkit-scrollbar{display:none}.so-chip{flex:none}}.so-chart{position:relative;width:100%;min-width:0}.so-chart__svg{display:block;overflow:visible;outline:none;border-radius:var(--rounded-md)}.so-chart__svg:focus-visible{box-shadow:var(--focus-ring)}.so-chart__grid{stroke:var(--chart-grid);stroke-width:1;shape-rendering:crispEdges}.so-chart__base{stroke:var(--chart-axis);stroke-width:1;shape-rendering:crispEdges}.so-chart__tick{font-size:11px;fill:var(--chart-label);font-variant-numeric:tabular-nums}.so-chart__tick.is-muted{fill:var(--text-muted)}.so-chart__vlabel{font-size:11px;font-weight:var(--weight-medium);fill:var(--text-default);font-variant-numeric:tabular-nums}.so-chart__line{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.so-chart__line.is-compare{stroke-width:1.5;stroke:var(--series-compare)!important}.so-chart__line.is-dashed{stroke-dasharray:5 4}.so-chart__line.is-compare.is-dashed{stroke-dasharray:4 3}.so-chart__band{opacity:.12}.so-chart__proj{fill:var(--surface-default);opacity:.7}:root[data-theme=dark] .so-chart__proj{fill:var(--dark-100);opacity:.5}.so-chart__bar{transition:opacity var(--dur-fast)}.so-chart__bar.is-dim{opacity:.45}.so-chart__bar.is-proj{opacity:.55}.so-chart__cross{stroke:var(--border-strong);stroke-width:1;shape-rendering:crispEdges}.so-chart__dot{stroke:var(--card-bg);stroke-width:2}.so-chart__ref{stroke:var(--text-muted);stroke-width:1;stroke-dasharray:3 3}.so-chart__reflabel{font-size:11px;fill:var(--text-subtle)}.so-chart__connector{stroke:var(--border-strong);stroke-width:1;stroke-dasharray:2 2}.so-chart__marker line{stroke:var(--border-strong);stroke-width:1;stroke-dasharray:2 3}.so-chart__marker text{font-size:10px;fill:var(--text-subtle)}.so-chart__tip{position:absolute;z-index:5;min-width:180px;max-width:280px;padding:8px 10px;pointer-events:none;background:var(--popover-bg);border:1px solid var(--border-default);border-radius:var(--rounded-lg);box-shadow:var(--shadow-md);font-size:var(--text-xs)}.so-chart__tiptitle{display:flex;align-items:center;justify-content:space-between;gap:8px;font-weight:var(--weight-semibold);color:var(--text-strong);margin-bottom:6px}.so-chart__tiptag{font-size:var(--text-xxs);font-weight:var(--weight-medium);color:var(--text-subtle);border:1px dashed var(--border-strong);border-radius:var(--rounded-sm);padding:0 4px}.so-chart__tiprow{display:flex;align-items:center;gap:8px;padding:2px 0;color:var(--text-default)}.so-chart__tiprow.is-sub,.so-chart__tiprow.is-total{border-top:1px solid var(--border-subtle);margin-top:4px;padding-top:5px;color:var(--text-subtle)}.so-chart__tiplabel{flex:1;min-width:0}.so-chart__tipval{font-variant-numeric:tabular-nums;color:var(--text-strong);font-weight:var(--weight-medium)}.so-chart__tipnote{margin-top:6px;color:var(--text-subtle);line-height:var(--leading-snug)}.so-legend{display:flex;flex-wrap:wrap;gap:4px 14px;margin:0 0 10px;font-size:var(--text-xs);color:var(--text-subtle)}.so-legend li{display:inline-flex;align-items:center;gap:6px}.so-legend__key{display:inline-block;width:12px;height:3px;border-radius:2px;background:var(--key);flex:none}.so-legend__key.is-dashed{background:repeating-linear-gradient(90deg,var(--key) 0 4px,transparent 4px 7px)}.so-legend__key.is-band{height:10px;opacity:.25;border-radius:2px}.so-legend__label{color:var(--text-default)}.so-legend__value{color:var(--text-strong);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums}.so-legend--wrap{margin:10px 0 0}.so-spark{width:100%}.so-barlist{display:flex;flex-direction:column;gap:2px}.so-barlist__row{display:flex;flex-direction:column;gap:5px;width:100%;padding:7px 8px;border-radius:var(--rounded-md);text-align:left;color:inherit}.so-barlist__row.is-clickable:hover{background:var(--row-hover)}.so-barlist__top{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:var(--text-sm)}.so-barlist__label{color:var(--text-default);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.so-barlist__value{color:var(--text-strong);font-weight:var(--weight-medium);flex:none}.so-barlist__track{height:4px;border-radius:var(--rounded-full);background:var(--track-bg);overflow:hidden}.so-barlist__fill{display:block;height:100%;border-radius:inherit}.so-barlist__sub{font-size:var(--text-xs);color:var(--text-subtle)}.so-stackbar__track{display:flex;gap:2px;border-radius:var(--rounded-full);overflow:hidden;background:var(--track-bg)}.so-stackbar__seg{display:block;height:100%;min-width:3px}.so-metrictabs{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);background:var(--surface-default);border-bottom:1px solid var(--row-divider);overflow-x:auto;scrollbar-width:none}.so-metrictab{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:104px;padding:12px 16px 14px;text-align:left}.so-metrictab+.so-metrictab{box-shadow:inset 1px 0 0 var(--row-divider)}.so-metrictab__label{font-size:var(--text-xs);color:var(--text-subtle);white-space:nowrap}.so-metrictab__value{font-size:var(--text-base);color:var(--text-default);font-variant-numeric:tabular-nums;white-space:nowrap}.so-metrictab__delta{font-size:var(--text-xxs);color:var(--text-muted)}.so-metrictab:hover .so-metrictab__value{color:var(--text-strong)}.so-metrictab.is-active{background:var(--card-bg)}.so-metrictab.is-active .so-metrictab__value{color:var(--text-strong);font-weight:var(--weight-semibold)}.so-metrictab.is-active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--text-strong)}.so-metrictab:focus-visible{outline:none;box-shadow:inset var(--focus-ring)}.so-chartkey{display:inline-flex;align-items:center;gap:12px;font-size:var(--text-xs);color:var(--text-subtle);white-space:nowrap}.so-chartkey__item{display:inline-flex;align-items:center;gap:6px}.so-chartkey__sw{width:12px;height:0;border-top:2px solid var(--sw);border-radius:2px}.so-chartkey__sw.is-dashed{border-top-style:dashed}@media(max-width:900px){.so-chartkey{display:none}}.so-thumb{display:inline-grid;place-items:center;flex:none;border-radius:var(--rounded-lg);border:1px solid var(--border-subtle)}.so-thumb--t0{background:var(--brand-50);color:var(--brand-700)}.so-thumb--t1{background:var(--blue-50);color:var(--blue-700)}.so-thumb--t2{background:var(--amber-50);color:var(--amber-800)}.so-thumb--t3{background:var(--cyan-50);color:var(--cyan-700)}:root[data-theme=dark] .so-thumb{border-color:var(--border-default)}:root[data-theme=dark] .so-thumb--t0{background:#d6579a24;color:var(--brand-300)}:root[data-theme=dark] .so-thumb--t1{background:#2e90fa24;color:var(--blue-300)}:root[data-theme=dark] .so-thumb--t2{background:#ee9a0c24;color:var(--amber-300)}:root[data-theme=dark] .so-thumb--t3{background:#029cb429;color:var(--cyan-300)}.so-prodcell{display:inline-flex;align-items:center;gap:10px;min-width:0;max-width:100%}.so-badgepair{display:inline-flex;align-items:center;gap:4px}.so-mkt{display:inline-flex;align-items:center;gap:5px;font-size:var(--text-xs);color:var(--text-default);white-space:nowrap}.so-mktcode{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:16px;padding:0 4px;border-radius:var(--rounded-xs);border:1px solid var(--border-default);background:var(--surface-default);font-size:10px;font-weight:var(--weight-semibold);letter-spacing:.02em;color:var(--text-subtle);line-height:1}.so-ful{display:inline-flex;align-items:center;height:18px;padding:0 5px;border-radius:var(--rounded-sm);font-size:var(--text-xxs);font-weight:var(--weight-semibold);letter-spacing:.02em;border:1px solid var(--border-default);color:var(--text-subtle)}.so-ful--fba{color:var(--text-default)}.so-est{display:inline-flex;align-items:center;height:16px;padding:0 5px;margin-left:6px;border-radius:var(--rounded-sm);border:1px dashed var(--border-strong);font-size:var(--text-xxs);font-weight:var(--weight-medium);color:var(--text-subtle);vertical-align:middle;white-space:nowrap}.so-conf{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-xs);color:var(--text-subtle);white-space:nowrap}.so-conf__bars{display:inline-flex;align-items:flex-end;gap:2px;height:10px}.so-conf__bars i{display:block;width:3px;border-radius:1px;background:var(--border-strong)}.so-conf__bars i:nth-child(1){height:4px}.so-conf__bars i:nth-child(2){height:7px}.so-conf__bars i:nth-child(3){height:10px}.so-conf--low .so-conf__bars i:nth-child(1),.so-conf--medium .so-conf__bars i:nth-child(-n+2),.so-conf--high .so-conf__bars i{background:var(--text-default)}.so-evidence{margin:0;display:flex;flex-direction:column}.so-evidence__row{display:flex;justify-content:space-between;gap:16px;padding:6px 0;border-bottom:1px solid var(--border-subtle);font-size:var(--text-sm)}.so-evidence__row:last-child{border-bottom:0}.so-evidence__row dt{color:var(--text-subtle);min-width:0}.so-evidence__row dd{margin:0;color:var(--text-strong);font-variant-numeric:tabular-nums;text-align:right;font-weight:var(--weight-medium)}.so-evidence--compact .so-evidence__row{padding:4px 0;font-size:var(--text-xs)}.so-actions{display:flex;gap:6px;flex-wrap:wrap}.so-insight{border-bottom:1px solid var(--border-subtle)}.so-insight:last-child{border-bottom:0}.so-insight__head{display:flex;align-items:flex-start;gap:12px;width:100%;padding:12px 14px 12px 16px;text-align:left;color:inherit}.so-insight__head:hover{background:var(--row-hover)}.so-insight__head:focus-visible{border-radius:0;box-shadow:inset var(--focus-ring)}.so-insight__sev{width:8px;height:8px;margin-top:6px;border-radius:var(--rounded-full);flex:none;background:var(--neutral-400)}.so-insight--critical .so-insight__sev{background:var(--surface-error)}.so-insight--high .so-insight__sev{background:var(--surface-warning)}.so-insight--medium .so-insight__sev{background:var(--brand-400)}.so-insight__main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.so-insight__headline{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-strong)}.so-insight__title{font-size:var(--text-xs);color:var(--text-muted)}.so-insight__metric{display:flex;flex-direction:column;align-items:flex-end;gap:1px;flex:none;text-align:right;padding-top:1px}.so-insight__mlabel{font-size:var(--text-xxs);color:var(--text-subtle);white-space:nowrap}.so-insight__mvalue{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text-strong);font-variant-numeric:tabular-nums;white-space:nowrap}.so-insight__chev{color:var(--icon-muted);flex:none;margin-top:4px;transition:transform var(--dur-fast)}.so-insight.is-open .so-insight__chev{transform:rotate(90deg)}.so-insight__body{padding:0 16px 16px 36px;display:flex;flex-direction:column;gap:12px}.so-insight__text{font-size:var(--text-sm);color:var(--text-default);line-height:var(--leading-relaxed);max-width:80ch}.so-insight__grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:20px}@media(max-width:860px){.so-insight__grid{grid-template-columns:1fr}.so-insight__metric{display:none}.so-insight__body{padding-left:16px}}.so-insight__label{font-size:var(--text-xxs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--text-subtle);margin-bottom:4px}.so-insight__side{display:flex;flex-direction:column;gap:8px}.so-insight__period{font-size:var(--text-xs);color:var(--text-default)}.so-insight__assume{font-size:var(--text-xs);color:var(--text-subtle);padding-left:14px;list-style:disc;display:flex;flex-direction:column;gap:2px}.so-insight__foot{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.so-answer{display:flex;flex-direction:column;gap:12px}.so-answer__head{display:flex;align-items:center;gap:8px}.so-answer__title{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text-strong)}.so-answer__summary,.so-answer__text{font-size:var(--text-sm);color:var(--text-default);line-height:var(--leading-relaxed)}.so-answer__metrics{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));border:1px solid var(--border-subtle);border-radius:var(--rounded-lg);overflow:hidden}.so-answer__metric{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-right:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);margin:0 -1px -1px 0}.so-answer__mlabel{font-size:var(--text-xxs);color:var(--text-subtle)}.so-answer__mvalue{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--text-strong);font-variant-numeric:tabular-nums}.so-answer__mdelta{font-size:var(--text-xs);color:var(--text-subtle)}.so-answer__mdelta.is-good{color:var(--text-success)}.so-answer__mdelta.is-bad{color:var(--text-error)}.so-answer__chart{padding:4px 0}.so-answer__table{border:1px solid var(--border-subtle);border-radius:var(--rounded-lg);overflow:auto}.so-answer__table table{width:100%;font-size:var(--text-xs)}.so-answer__table th{text-align:left;font-weight:var(--weight-medium);color:var(--text-subtle);background:var(--table-head-bg);padding:6px 10px;white-space:nowrap;border-bottom:1px solid var(--border-subtle)}.so-answer__table td{padding:6px 10px;border-bottom:1px solid var(--border-subtle);color:var(--text-default);white-space:nowrap}.so-answer__table tr:last-child td{border-bottom:0}.so-answer__table .is-right{text-align:right;font-variant-numeric:tabular-nums}.so-answer__table tr.is-clickable{cursor:pointer}.so-answer__table tr.is-clickable:hover td{background:var(--row-hover)}.so-answer__note{font-size:var(--text-xs);color:var(--text-subtle);padding:8px 10px;border-top:1px solid var(--border-subtle)}.so-answer__list{font-size:var(--text-sm);color:var(--text-default);padding-left:18px;list-style:disc;display:flex;flex-direction:column;gap:4px;line-height:var(--leading-snug)}.so-answer__list.is-ordered{list-style:decimal}.so-answer__section{display:flex;flex-direction:column}.so-answer__basis{display:flex;align-items:center;gap:6px 14px;flex-wrap:wrap;font-size:var(--text-xs);color:var(--text-subtle);padding-top:2px}.so-answer__follow{display:flex;flex-wrap:wrap;gap:6px}.so-suggest{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:var(--rounded-full);border:1px solid var(--border-default);background:var(--control-bg);font-size:var(--text-xs);color:var(--text-default);text-align:left;transition:background var(--dur-fast),border-color var(--dur-fast)}.so-suggest:hover{background:var(--control-hover);border-color:var(--border-strong);color:var(--text-strong)}.so-suggest svg{color:var(--icon-muted);flex:none}.so-app{display:flex;height:100vh;height:100dvh;background:var(--app-bg);overflow:hidden}.so-skip{position:absolute;left:-9999px;top:8px;z-index:2000;background:var(--surface-inverse);color:var(--text-inverse);padding:8px 12px;border-radius:var(--rounded-md)}.so-skip:focus{left:8px}.so-sidebar{width:var(--sidebar-w);flex:none;display:flex;flex-direction:column;padding:10px 8px 10px 10px;transition:width var(--dur-base) var(--ease-out)}.so-sidebar.is-collapsed{width:var(--sidebar-w-collapsed);padding:10px 8px}.so-sidebar__top{display:flex;align-items:center;justify-content:space-between;height:40px;padding:0 4px 0 8px;margin-bottom:8px}.so-sidebar.is-collapsed .so-sidebar__top{justify-content:center;padding:0}.so-sidebar__collapse{opacity:0;transition:opacity var(--dur-fast)}.so-sidebar:hover .so-sidebar__collapse,.so-sidebar__collapse:focus-visible{opacity:1}.so-sidebar__scroll{flex:1;overflow-y:auto;overflow-x:hidden;margin:0 -4px;padding:0 4px}.so-sidebar__bottom{display:flex;flex-direction:column;gap:8px;padding-top:8px}.so-sidebar__expand{align-self:center}.so-logo{display:inline-flex;align-items:center;gap:9px;color:var(--text-strong)}.so-logo__name{font-size:15px;font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tighter)}.so-logomark{flex:none}.so-nav__group{display:flex;flex-direction:column;gap:2px;padding:0}.so-nav__group+.so-nav__group{margin-top:18px}.so-nav__item{position:relative;display:flex;align-items:center;gap:10px;height:34px;padding:0 10px;border-radius:var(--rounded-lg);font-size:var(--text-sm);font-weight:var(--weight-regular);color:var(--text-default);transition:background var(--dur-fast),color var(--dur-fast)}.so-sidebar.is-collapsed .so-nav__item{justify-content:center;padding:0;width:40px}.so-nav__item:hover{background:var(--nav-hover);color:var(--text-strong)}.so-nav__item.is-active{background:var(--nav-active-bg);color:var(--text-strong);font-weight:var(--weight-medium)}.so-nav__icon{flex:none;color:var(--icon-subtle)}.so-nav__item:hover .so-nav__icon{color:var(--icon-default)}.so-nav__item.is-active .so-nav__icon{color:var(--icon-strong)}.so-nav__label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.so-nav__count{font-size:var(--text-xxs);font-weight:var(--weight-semibold);color:var(--text-subtle);min-width:18px;height:18px;padding:0 5px;border-radius:var(--rounded-full);display:grid;place-items:center;font-variant-numeric:tabular-nums}.so-nav__count.is-error{background:var(--surface-error-subtle);color:var(--text-error)}.so-nav__count.is-warning{background:var(--surface-warning-subtle);color:var(--text-warning)}.so-nav__dot{position:absolute;top:6px;right:6px;width:6px;height:6px;border-radius:var(--rounded-full);background:var(--surface-error)}.so-plan{display:flex;flex-direction:column;gap:2px;padding:10px;border-radius:var(--rounded-lg)}.so-plan:hover{background:var(--nav-hover)}.so-plan__name{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--text-strong)}.so-plan__meta{font-size:var(--text-xxs);color:var(--text-subtle)}.so-main{flex:1;min-width:0;display:flex;flex-direction:column;margin:8px 8px 8px 0;background:var(--main-bg);border:1px solid var(--border-default);border-radius:var(--rounded-xl);overflow:hidden;box-shadow:var(--shadow-xs)}:root[data-theme=dark] .so-main{border-color:var(--border-subtle)}.so-content{flex:1;overflow-y:auto;overflow-x:hidden;outline:none}.so-syncbanner{padding:12px 28px 0;max-width:1480px;margin:0 auto}@media print{.so-sidebar,.so-topbar,.so-mtabs,.so-syncbanner,.so-toaster{display:none!important}.so-app{display:block;height:auto;background:none}.so-main{margin:0;border:0;box-shadow:none}.so-content{overflow:visible}}.so-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;height:var(--topbar-h);padding:0 10px 0 12px;border-bottom:1px solid var(--border-subtle);flex:none}.so-topbar__left,.so-topbar__right{display:flex;align-items:center;gap:4px;min-width:0}.so-topbar__right{gap:2px}.so-topbar__sep{width:1px;height:18px;background:var(--border-default);margin:0 6px}.so-topbar__menu{display:none}.so-topctl{display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 8px;border-radius:var(--rounded-md);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-default);white-space:nowrap;min-width:0}.so-topctl:hover{background:var(--ghost-hover);color:var(--text-strong)}.so-topctl svg{color:var(--icon-subtle);flex:none}.so-topctl__label{overflow:hidden;text-overflow:ellipsis}.so-topctl__chev{color:var(--icon-muted)!important}.so-flag{font-size:14px;line-height:1}.so-wsbtn{display:inline-flex;align-items:center;gap:8px;height:30px;padding:0 8px 0 4px;border-radius:var(--rounded-md);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text-strong);min-width:0}.so-wsbtn:hover{background:var(--ghost-hover)}.so-wsbtn__mark{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:var(--rounded-md);background:var(--surface-inverse);color:var(--text-inverse);font-size:10px;font-weight:var(--weight-bold);flex:none;letter-spacing:0}.so-wsbtn__mark.is-sm{width:20px;height:20px;font-size:9px}.so-wsbtn__name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.so-searchbtn{flex:0 1 auto;min-width:0;display:inline-flex;align-items:center;gap:8px;height:30px;width:300px;padding:0 6px 0 10px;border-radius:var(--rounded-md);background:var(--control-bg);border:1px solid var(--control-border);color:var(--text-muted);font-size:var(--text-sm);margin-right:4px}.so-searchbtn:hover{border-color:var(--border-strong);color:var(--text-subtle)}.so-searchbtn__text{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.so-askbtn{white-space:nowrap;flex:none;display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 6px 0 9px;border-radius:var(--rounded-md);margin-right:6px;border:1px solid var(--ai-border);background:var(--ai-surface);color:var(--ai-text);font-size:var(--text-sm);font-weight:var(--weight-medium)}.so-askbtn:hover{filter:brightness(.98);border-color:var(--purple-300)}.so-askbtn .so-kbd{background:transparent;border-color:var(--ai-border);color:var(--ai-text)}.so-userbtn{display:grid;place-items:center;width:32px;height:32px;border-radius:var(--rounded-full);margin-left:2px}.so-userbtn:hover{background:var(--ghost-hover)}.so-sync{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 8px;border-radius:var(--rounded-md);font-size:var(--text-xs);color:var(--text-subtle);white-space:nowrap}.so-sync:hover{background:var(--ghost-hover)}.so-sync.is-ok svg{color:var(--icon-success)}.so-sync.is-busy svg{color:var(--icon-subtle)}.so-sync.is-warn{color:var(--text-warning)}.so-sync.is-err{color:var(--text-error);background:var(--surface-error-subtle)}.so-syncpop{display:flex;flex-direction:column;gap:10px}.so-syncpop__head{display:flex;flex-direction:column;gap:2px;font-size:var(--text-sm);color:var(--text-strong)}.so-syncpop__list{display:flex;flex-direction:column;gap:6px}.so-syncpop__list li{display:flex;align-items:center;gap:8px;font-size:var(--text-sm)}.so-syncpop__list li span:nth-child(2){flex:1}.so-syncpop__dot{width:7px;height:7px;border-radius:var(--rounded-full);background:var(--surface-success)}.so-syncpop__dot.is-err{background:var(--surface-error)}.so-syncpop__dot.is-busy{background:var(--neutral-400);animation:so-pulse 1s infinite}.so-syncpop__foot{display:flex;justify-content:space-between;gap:8px;border-top:1px solid var(--border-subtle);padding-top:10px}@media(max-width:1280px){.so-searchbtn{width:220px}.so-askbtn .so-kbd,.so-searchbtn .so-kbd{display:none}}@media(max-width:1100px){.so-searchbtn{width:auto}.so-searchbtn__text,.so-askbtn__text,.so-sync__text{display:none}.so-wsbtn__name{max-width:120px}}@media(max-width:1024px){.so-sidebar{width:var(--sidebar-w-collapsed);padding:10px 8px}.so-sidebar .so-nav__label,.so-sidebar .so-nav__count,.so-sidebar .so-plan,.so-sidebar .so-logo__name,.so-sidebar .so-sidebar__collapse{display:none}.so-sidebar .so-nav__item{justify-content:center;padding:0;width:40px}.so-sidebar .so-sidebar__top{justify-content:center;padding:0}}@media(max-width:720px){.so-app{flex-direction:column}.so-sidebar{position:fixed;z-index:750;inset:0 auto 0 0;width:272px;background:var(--sidebar-bg);transform:translate(-100%);transition:transform var(--dur-slow) var(--ease-out);padding:10px;box-shadow:var(--shadow-lg)}.so-sidebar.is-mobile-open{transform:none}.so-sidebar .so-nav__label,.so-sidebar .so-logo__name{display:block}.so-sidebar .so-nav__count{display:grid}.so-sidebar .so-plan{display:flex}.so-sidebar .so-nav__item{justify-content:flex-start;padding:0 8px;width:auto;height:38px}.so-sidebar .so-sidebar__top{justify-content:space-between;padding:0 4px 0 8px}.so-sidebar__scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:740;background:var(--overlay)}.so-main{margin:0;border-radius:0;border:0;padding-bottom:60px}.so-topbar{padding:0 8px;gap:4px}.so-topbar__menu{display:grid}.so-topbar__sep,.so-sync,.so-askbtn,.so-wsbtn__name{display:none}.so-topctl{padding:0 6px;gap:4px}.so-topctl__label{max-width:64px}.so-topctl__chev{display:none}.so-searchbtn{margin-right:0;padding:0 8px;border-color:transparent;background:transparent}.so-topbar__right>:nth-last-child(2){display:none}.so-syncbanner{padding:12px 16px 0}}.so-mtabs{display:none}@media(max-width:720px){.so-mtabs{display:flex;position:fixed;z-index:600;left:0;right:0;bottom:0;height:60px;padding-bottom:env(safe-area-inset-bottom);background:var(--popover-bg);border-top:1px solid var(--border-default)}.so-mtabs__item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:10px;font-weight:var(--weight-medium);color:var(--text-subtle)}.so-mtabs__item.is-active{color:var(--text-strong)}.so-toaster{bottom:72px}}.so-range{display:flex;flex-wrap:wrap;max-width:540px}.so-range__presets{width:200px;padding:4px;display:flex;flex-direction:column}.so-range__preset{display:flex;align-items:center;justify-content:space-between;width:100%;height:32px;padding:0 10px;border-radius:var(--rounded-md);font-size:var(--text-sm);color:var(--text-default);text-align:left}.so-range__preset:hover{background:var(--ghost-hover);color:var(--text-strong)}.so-range__preset.is-active{font-weight:var(--weight-semibold);color:var(--text-strong)}.so-range__sep{height:1px;background:var(--border-subtle);margin:4px 0}.so-range__cal{width:280px;padding:10px 12px;border-left:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:8px}.so-range__calhead{display:flex;align-items:center;justify-content:space-between}.so-range__month{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text-strong)}.so-range__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.so-range__dow{font-size:var(--text-xxs);color:var(--text-muted);text-align:center;padding:4px 0}.so-range__day{height:32px;border-radius:var(--rounded-md);font-size:var(--text-xs);color:var(--text-default);font-variant-numeric:tabular-nums}.so-range__day:hover:not(:disabled){background:var(--ghost-hover)}.so-range__day:disabled{color:var(--text-muted);opacity:.4;cursor:not-allowed}.so-range__day.is-in{background:var(--brand-500-alpha-3);border-radius:0}.so-range__day.is-edge{background:var(--surface-inverse);color:var(--text-inverse)}.so-range__day.is-today{box-shadow:inset 0 0 0 1px var(--border-strong)}.so-range__foot{display:flex;align-items:center;justify-content:space-between;padding-top:8px;border-top:1px solid var(--border-subtle)}.so-range__note{width:100%;padding:8px 14px 10px;border-top:1px solid var(--border-subtle);font-size:var(--text-xs);color:var(--text-subtle)}.so-overlay--palette{align-items:flex-start;padding-top:12vh}.so-palette{width:min(640px,calc(100vw - 32px));display:flex;flex-direction:column;max-height:70vh;background:var(--popover-bg);border:1px solid var(--border-default);border-radius:var(--rounded-2xl);box-shadow:var(--shadow-lg);overflow:hidden;outline:none;animation:so-pop-in var(--dur-base) var(--ease-out)}.so-palette__input{display:flex;align-items:center;gap:10px;padding:0 14px;height:52px;border-bottom:1px solid var(--border-subtle);color:var(--icon-subtle)}.so-palette__input input{flex:1;height:100%;border:0;background:none;outline:none;font-size:var(--text-base);color:var(--text-strong)}.so-palette__input input::placeholder{color:var(--text-muted)}.so-palette__input input:focus-visible{box-shadow:none}.so-palette__back{display:grid;place-items:center;width:24px;height:24px;border-radius:var(--rounded-sm);color:var(--icon-subtle)}.so-palette__back:hover{background:var(--ghost-hover)}.so-palette__list{flex:1;overflow-y:auto;padding:6px}.so-palette__group{padding:10px 10px 4px;font-size:var(--text-xxs);font-weight:var(--weight-semibold);letter-spacing:.05em;text-transform:uppercase;color:var(--text-subtle)}.so-palette__item{display:flex;align-items:center;gap:10px;height:38px;padding:0 10px;border-radius:var(--rounded-lg);cursor:pointer;font-size:var(--text-sm);color:var(--text-default)}.so-palette__item.is-active{background:var(--ghost-hover);color:var(--text-strong)}.so-palette__icon{display:grid;place-items:center;width:22px;flex:none;color:var(--icon-subtle)}.so-palette__label{flex:none;max-width:55%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.so-palette__hint{flex:1;min-width:0;font-size:var(--text-xs);color:var(--text-subtle);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right}.so-palette__enter{color:var(--icon-muted);flex:none}.so-palette__empty{padding:28px 16px;text-align:center;color:var(--text-subtle);font-size:var(--text-sm)}.so-palette__foot{display:flex;align-items:center;gap:14px;padding:8px 14px;border-top:1px solid var(--border-subtle);font-size:var(--text-xs);color:var(--text-subtle);background:var(--surface-default)}.so-palette__foot span{display:inline-flex;align-items:center;gap:4px}.so-palette__footright{margin-left:auto}@media(max-width:720px){.so-palette__foot{display:none}.so-overlay--palette{padding-top:16px}}.so-aipanel__title{display:inline-flex;align-items:center;gap:8px}.so-chat{display:flex;flex-direction:column;gap:20px}.so-chat__empty{display:flex;flex-direction:column;gap:10px}.so-chat__intro{font-size:var(--text-sm);color:var(--text-subtle);line-height:var(--leading-relaxed)}.so-chat__suggest{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.so-chat__turn{display:flex;flex-direction:column;gap:10px}.so-chat__q{align-self:flex-end;max-width:85%;padding:8px 12px;border-radius:var(--rounded-xl) var(--rounded-xl) var(--rounded-sm) var(--rounded-xl);background:var(--surface-subtle);font-size:var(--text-sm);color:var(--text-strong);line-height:var(--leading-snug)}.so-chat__thinking{display:flex;gap:10px;align-items:flex-start;font-size:var(--text-xs);color:var(--text-subtle);padding:4px 0}.so-chat__thinking ul{display:flex;flex-direction:column;gap:4px}.so-chat__thinking li{opacity:0;animation:so-fade-in var(--dur-slow) var(--ease-out) forwards}.so-composer{display:flex;align-items:flex-end;gap:8px;width:100%;padding:6px 6px 6px 12px;border:1px solid var(--control-border);border-radius:var(--rounded-xl);background:var(--control-bg)}.so-composer:focus-within{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--brand-500-alpha-4)}.so-composer textarea{flex:1;resize:none;border:0;outline:none;background:none;font-size:var(--text-sm);line-height:1.5;padding:6px 0;max-height:140px;color:var(--text-strong);field-sizing:content}.so-composer textarea:focus-visible{box-shadow:none}.so-notifs{display:flex;flex-direction:column;gap:8px}.so-notifs__list{display:flex;flex-direction:column}.so-notif{display:flex;align-items:flex-start;gap:4px;border-bottom:1px solid var(--border-subtle)}.so-notif:last-child{border-bottom:0}.so-notif__main{flex:1;min-width:0;display:flex;gap:10px;padding:12px 4px 12px 2px;text-align:left;color:inherit}.so-notif__main:hover .so-notif__title{text-decoration:underline;text-underline-offset:3px}.so-notif__dot{width:7px;height:7px;margin-top:6px;border-radius:var(--rounded-full);background:transparent;flex:none}.so-notif.is-unread .so-notif__dot{background:var(--brand-500)}.so-notif__text{display:flex;flex-direction:column;gap:2px;min-width:0}.so-notif__meta{display:flex;gap:6px;font-size:var(--text-xxs);color:var(--text-subtle)}.so-notif__title{font-size:var(--text-sm);color:var(--text-default);line-height:var(--leading-snug)}.so-notif.is-unread .so-notif__title{color:var(--text-strong);font-weight:var(--weight-medium)}.so-notif--critical.is-unread .so-notif__dot{background:var(--surface-error)}.so-notif__body{font-size:var(--text-xs);color:var(--text-subtle);line-height:var(--leading-snug);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.so-notif__actions{display:flex;gap:0;padding-top:8px;opacity:0;transition:opacity var(--dur-fast)}.so-notif:hover .so-notif__actions,.so-notif:focus-within .so-notif__actions{opacity:1}@media(hover:none){.so-notif__actions{opacity:1}}.so-shortcuts{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px 28px}.so-shortcuts dl{margin:0}.so-shortcuts__row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:6px 0;border-bottom:1px solid var(--border-subtle);font-size:var(--text-sm)}.so-shortcuts__row dd{margin:0;display:flex;gap:3px;align-items:center}.so-form{display:flex;flex-direction:column;gap:14px}.so-form__grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.so-form__grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}@media(max-width:640px){.so-form__grid2,.so-form__grid3{grid-template-columns:1fr}}.so-form__meta{margin-top:-6px}.so-dialog__summary{margin-right:auto;font-size:var(--text-sm)}.so-lines{display:flex;flex-direction:column;border:1px solid var(--border-subtle);border-radius:var(--rounded-lg);padding:4px 10px 8px}.so-lines__head,.so-lines__row{display:grid;grid-template-columns:minmax(0,1fr) 96px 104px 90px 32px;gap:8px;align-items:start}.so-lines__head--ship,.so-lines__row--ship{grid-template-columns:minmax(0,1fr) 100px 110px;align-items:center}.so-lines__head{padding:6px 0;font-size:var(--text-xxs);font-weight:var(--weight-semibold);color:var(--text-subtle);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border-subtle)}.so-lines__row{padding:8px 0;border-bottom:1px solid var(--border-subtle)}.so-lines__row>.is-right{padding-top:7px}.so-lines__head .is-right,.so-lines__row .is-right{text-align:right}.so-lines__prod{display:flex;flex-direction:column;gap:4px;min-width:0}.so-lines__prod .so-select{width:100%}.so-lines__impact{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px;font-size:var(--text-xxs);color:var(--text-subtle)}.so-lines__empty{padding:14px 0;font-size:var(--text-sm)}@media(max-width:640px){.so-lines__head{display:none}.so-lines__row{grid-template-columns:1fr 1fr}}.so-usercard{display:flex;align-items:center;gap:10px;padding:4px 0;text-transform:none;letter-spacing:0}.so-usercard>span{display:flex;flex-direction:column;gap:1px;min-width:0}.so-usercard strong{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text-strong)}.so-usercard span span{font-size:var(--text-xs);font-weight:var(--weight-regular);color:var(--text-subtle)}.so-wsmark{display:inline-grid;place-items:center;flex:none;overflow:hidden;color:var(--text-inverse);font-weight:var(--weight-bold);box-sizing:border-box}.so-wsmark svg{display:block}.so-comp{width:100%;border-radius:22px;background:var(--comp-tray);border:1px solid var(--comp-border)}.so-comp__card{display:flex;flex-direction:column;gap:6px;margin:-1px -1px 0;padding:14px 14px 10px 18px;border-radius:22px;background:var(--card-bg);border:1px solid var(--comp-border);box-shadow:0 2px 6px #0f0f0f0a,0 1px 2px #0f0f0f08;transition:border-color var(--dur-fast),box-shadow var(--dur-fast)}.so-comp__card:focus-within{border-color:var(--border-strong);box-shadow:0 4px 14px #0f0f0f0f,0 1px 2px #0f0f0f0a}.so-comp__card textarea{width:100%;resize:none;border:0;outline:none;background:none;font-size:var(--text-base);line-height:1.5;padding:2px 0;min-height:28px;max-height:160px;color:var(--text-strong);field-sizing:content}.so-comp__card textarea::placeholder{color:var(--text-muted)}.so-comp__card textarea:focus-visible{box-shadow:none}.so-comp__bar{display:flex;align-items:center;gap:6px;margin-left:-6px}.so-comp__scope{display:inline-flex;align-items:center;gap:6px;min-width:0;font-size:var(--text-sm);color:var(--text-subtle);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.so-comp__send{margin-left:auto;border-radius:var(--rounded-full)!important}.so-comp__trayrow{display:flex;align-items:center}.so-comp__trayright{flex:none;padding-right:16px;font-size:var(--text-sm)}.so-comp__tray{display:flex;align-items:center;gap:10px;flex:1;min-width:0;padding:10px 18px 11px;font-size:var(--text-sm);color:var(--text-subtle);border-radius:0 0 22px 22px;text-align:left}.so-comp__tray:hover{color:var(--text-strong)}.so-comp__tray:focus-visible{box-shadow:inset var(--focus-ring)}.so-comp__marks{display:inline-flex;gap:5px}.so-srcmark{display:inline-grid;place-items:center;flex:none;border-radius:5px;color:#fff;font-weight:var(--weight-bold);letter-spacing:0;line-height:1}.so-srclist{display:flex;flex-direction:column;padding:6px}.so-srclist__item{display:flex;align-items:flex-start;gap:12px;width:100%;padding:10px 12px;border-radius:14px;text-align:left}.so-srclist__item:hover,.so-srclist__item:focus-visible{background:var(--surface-default);outline:none}.so-srclist__text{display:flex;flex-direction:column;gap:3px;min-width:0}.so-srclist__top{display:flex;align-items:center;gap:8px}.so-srclist__top strong{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text-strong)}.so-srclist__pill{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 8px;border-radius:6px;background:var(--surface-subtle);font-size:var(--text-xxs);color:var(--text-subtle)}.so-srclist__pill.is-off{background:none;box-shadow:inset 0 0 0 1px var(--border-default);color:var(--text-muted)}.so-srclist__desc{font-size:var(--text-xs);color:var(--text-subtle)}.so-chat__hello{display:flex;align-items:center;gap:8px;margin:24px 0 12px;font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--text-strong)}.so-chat__hello svg{color:var(--brand-500)}.so-chat__starters{display:flex;flex-direction:column;gap:2px;margin:0 -10px}.ai-starter{display:flex;align-items:center;gap:12px;width:100%;padding:8px 10px;border-radius:var(--rounded-lg);font-size:var(--text-sm);color:var(--text-default);text-align:left}.ai-starter svg{color:var(--icon-subtle);flex:none}.ai-starter:hover{background:var(--surface-default);color:var(--text-strong)}.so-drawer .so-drawer__foot:has(.so-comp){border-top:0;padding:12px 16px 16px}.ov-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:stretch}.ov-grid>*{min-width:0;display:flex;flex-direction:column}.ov-grid>*>*{flex:1}.ov-span2{grid-column:span 2}@media(max-width:1100px){.ov-grid{grid-template-columns:1fr}.ov-span2{grid-column:auto}}.ov-count{margin-left:6px;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-muted);font-variant-numeric:tabular-nums}.ov-link{display:inline-flex;align-items:center;gap:4px;font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--text-subtle);white-space:nowrap}.ov-link:hover{color:var(--text-strong)}.ov-brief{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);overflow:hidden}.ov-brief__main{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:20px 22px}.ov-brief__title{font-size:var(--text-lg);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);color:var(--text-strong)}.ov-brief__text{font-size:var(--text-sm);color:var(--text-default);line-height:var(--leading-relaxed);max-width:60ch;margin-bottom:4px}.ov-brief__text strong{color:var(--text-strong);font-weight:var(--weight-semibold)}.ov-brief__list{display:flex;flex-direction:column;gap:2px;margin:6px;padding:14px 44px 14px 18px;border-radius:var(--rounded-xl);background:var(--panel-item-bg)}.ov-brief__list li{display:flex;gap:10px;align-items:baseline;padding:5px 0;font-size:var(--text-sm);color:var(--text-default);line-height:var(--leading-snug)}.ov-brief__n{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:var(--rounded-full);background:var(--surface-default);font-size:var(--text-xxs);font-weight:var(--weight-semibold);color:var(--text-subtle);flex:none}.ov-brief__close{position:absolute;top:10px;right:10px}@media(max-width:900px){.ov-brief{grid-template-columns:1fr}.ov-brief__list{margin-top:0}}.ov-sales__head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.ov-sales__total{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:12px}.ov-sales__value{font-size:var(--text-3xl);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tighter);color:var(--text-strong);line-height:1}.ov-tip{display:flex;flex-direction:column;gap:2px;border-top:1px solid var(--border-subtle);margin-top:6px;padding-top:6px}.ov-tip>div{display:flex;justify-content:space-between;gap:16px;font-variant-numeric:tabular-nums;color:var(--text-subtle)}.ov-tip>div span:last-child{color:var(--text-strong)}.ov-shipcounts{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0;border-bottom:1px solid var(--row-divider)}.ov-shipcount{display:flex;flex-direction:column;gap:2px;padding:2px 8px;min-width:0;border-radius:var(--rounded-md)}.ov-shipcount+.ov-shipcount{box-shadow:inset 1px 0 0 var(--row-divider);border-radius:0}.ov-shipcount:hover .ov-shipcount__l{color:var(--text-strong)}.ov-shipcount__n{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--text-strong);font-variant-numeric:tabular-nums}.ov-shipcount__l{font-size:var(--text-xs);color:var(--text-subtle);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ov-shipcount.is-alert .ov-shipcount__n,.ov-shipcount.is-alert .ov-shipcount__l{color:var(--text-error)}@media(max-width:640px){.ov-shipcounts{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:12px}}.ov-pnl{display:flex;flex-direction:column;padding:0}.ov-pnl__row{display:grid;grid-template-columns:minmax(0,1fr) 72px 120px;gap:16px;align-items:center;min-height:44px;padding:0 16px;font-size:var(--text-sm);border-bottom:1px solid var(--row-divider)}.ov-pnl__row.is-cost .ov-pnl__label,.ov-pnl__row.is-revenue .ov-pnl__label{padding-left:16px;color:var(--text-subtle)}.ov-pnl__row.is-subtotal{min-height:48px;font-weight:var(--weight-semibold);color:var(--text-strong);background:var(--table-total-bg)}.ov-pnl__row.is-total{min-height:52px;font-weight:var(--weight-semibold);font-size:var(--text-base);color:var(--text-strong);background:var(--table-total-bg);border-bottom:0;border-top:1px solid var(--border-default)}.ov-pnl__pct{text-align:right;font-size:var(--text-xs);color:var(--text-subtle);align-self:center}.ov-pnl__val{text-align:right}.ov-margins{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--border-subtle);margin-top:8px}.ov-margin{display:flex;flex-direction:column;gap:2px;padding:10px 16px;border-right:1px solid var(--border-subtle)}.ov-margin:last-child{border-right:0}.ov-margin__v{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--text-strong);font-variant-numeric:tabular-nums}@media(max-width:640px){.ov-margins{grid-template-columns:repeat(2,minmax(0,1fr))}}.ov-minis{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:12px;margin-bottom:14px}.ov-mini{display:flex;flex-direction:column;gap:2px}.ov-mini__v{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--text-strong);font-variant-numeric:tabular-nums}.ov-custom{display:flex;flex-direction:column}.ov-custom__row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 0;border-bottom:1px solid var(--border-subtle)}.ov-custom__move{display:flex;gap:2px}.ov-prod{max-width:260px;min-width:0;overflow:hidden}.ov-prod .so-prodcell{max-width:100%}@media(max-width:1600px){.ov-prod{max-width:180px}}@media(max-width:1100px){.ov-prod{max-width:260px}}.ov-firstrun{display:flex;flex-direction:column;gap:18px;padding:24px;border:1px solid var(--card-border);border-radius:var(--rounded-xl);background:var(--panel-item-bg)}.ov-firstrun__lead{font-size:var(--text-sm);color:var(--text-default);line-height:var(--leading-relaxed);max-width:64ch}.ov-firstrun__steps{display:flex;flex-direction:column;gap:12px}.ov-firstrun__steps li{display:flex;gap:12px;align-items:baseline;font-size:var(--text-sm);line-height:var(--leading-snug)}.ov-firstrun__steps strong{color:var(--text-strong);font-weight:var(--weight-medium)}.so-table td:has(.ov-prod){min-width:0}.ov-bodypad{padding:16px}.ov-sales{padding:0}.ov-sales__chart{padding:16px 16px 12px}.ov-sales__head{margin-bottom:8px}.ov-insights .so-insight:last-child{border-bottom:1px solid var(--border-subtle)}.ov-insights{justify-content:flex-start}.ov-margins{margin-top:auto}
