:root{color-scheme:light;--bg: #f5f7fb;--bg-sidebar: #fafbfe;--surface: #ffffff;--surface-2: #f9f9fb;--surface-3: #ebebf0;--fill: rgba(118, 118, 128, .12);--fill-2: rgba(118, 118, 128, .07);--fill-strong: rgba(118, 118, 128, .2);--field: #f2f2f7;--segmented-bg: #e9edf4;--card-border: #e7ecf4;--tile-border: #e4eaf4;--separator: rgba(60, 60, 67, .15);--separator-strong: rgba(60, 60, 67, .29);--field-border: rgba(60, 60, 67, .12);--text: #1c1c1e;--text-2: #636366;--text-3: #6c6c70;--text-on-accent: #ffffff;--accent: #007aff;--accent-fill: #0071e3;--accent-fill-hover: #0066cc;--accent-fill-active: #0059b3;--accent-text: #0066cc;--accent-tint: rgba(0, 122, 255, .12);--accent-tint-strong: rgba(0, 122, 255, .2);--success: #1e7b34;--success-soft: rgba(52, 199, 89, .15);--success-dot: #34c759;--warning: #9a4a00;--warning-soft: rgba(255, 149, 0, .16);--warning-dot: #ff9500;--danger: #c0000f;--danger-soft: rgba(255, 59, 48, .11);--danger-dot: #ff3b30;--violet: #3634a3;--violet-soft: rgba(88, 86, 214, .13);--violet-dot: #5856d6;--neutral: #636366;--neutral-soft: var(--fill);--neutral-dot: #8e8e93;--info: var(--accent-text);--info-soft: var(--accent-tint);--info-dot: var(--accent);--c-blue: #007aff;--c-purple: #af52de;--c-indigo: #5856d6;--c-pink: #ff2d55;--c-brown: #a2845e;--c-teal: #30b0c7;--c-cyan: #32ade6;--c-green: #34c759;--c-orange: #ff9500;--c-red: #ff3b30;--c-gray: #8e8e93;--hero-gradient: linear-gradient(120deg, #0060ce, #0872de 70%, #0871d9);--focus: var(--accent);--font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Inter", system-ui, "Segoe UI", Roboto, sans-serif;--font-display: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Inter", system-ui, sans-serif;--font-mono: ui-monospace, "SF Mono", Consolas, monospace;--fs-2xs: 11px;--fs-xs: 13px;--fs-sm: 14px;--fs-table: 15px;--fs-base: 15px;--fs-md: 17px;--fs-lg: 20px;--fs-xl: 22px;--fs-2xl: 28px;--fs-3xl: 34px;--lh: 1.45;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--track-large: -.025em;--track-title: -.015em;--track-body: -.009em;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--sp-7: 48px;--gutter: 32px;--group-pad: 20px;--r-xs: 6px;--r-sm: 8px;--r-md: 10px;--r-lg: 12px;--r-tile: 16px;--r-card: 18px;--r-group: 20px;--r-sheet: 24px;--r-pill: 999px;--shadow-card: 0 2px 5px rgba(40, 63, 98, .02), 0 6px 15px rgba(40, 63, 98, .02);--shadow-group: 0 2px 6px rgba(27, 48, 83, .024), 0 8px 24px rgba(27, 48, 83, .04);--shadow-pop: 0 18px 48px rgba(0, 0, 0, .16), 0 3px 10px rgba(0, 0, 0, .06);--shadow-sheet: 0 -10px 40px rgba(0, 0, 0, .14);--material-bar: rgba(255, 255, 255, .61);--material-tab: rgba(249, 249, 251, .82);--material-drawer: rgba(242, 242, 247, .9);--material-blur: saturate(180%) blur(20px);--overlay: rgba(0, 0, 0, .28);--control-h: 44px;--control-h-sm: 36px;--row-h: 44px;--sidebar-w: 256px;--content-max: 1512px;--bar-h: 68px;--tabbar-h: 58px;--chat-w: 380px;--z-header: 20;--z-nav: 30;--z-drawer: 40;--z-modal: 50;--z-toast: 60;--ease-out: cubic-bezier(.23, 1, .32, 1);--ease-drawer: cubic-bezier(.32, .72, 0, 1);--dur-press: .12s;--dur-fast: .16s;--dur-base: .22s;--dur-sheet: .36s}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #000000;--bg-sidebar: #0b0b0d;--surface: #1c1c1e;--surface-2: #232326;--surface-3: #2c2c2e;--fill: rgba(118, 118, 128, .24);--fill-2: rgba(118, 118, 128, .16);--fill-strong: rgba(118, 118, 128, .32);--field: #2c2c2e;--segmented-bg: #1c1c1e;--card-border: #2c2c2e;--tile-border: #2c2c2e;--separator: rgba(84, 84, 88, .6);--separator-strong: rgba(84, 84, 88, .9);--field-border: rgba(84, 84, 88, .5);--text: #f5f5f7;--text-2: #aeaeb2;--text-3: #8e8e93;--accent: #0a84ff;--accent-fill: #0a84ff;--accent-fill-hover: #1f8fff;--accent-fill-active: #3a9bff;--accent-text: #409cff;--accent-tint: rgba(10, 132, 255, .2);--accent-tint-strong: rgba(10, 132, 255, .3);--success: #30d158;--success-soft: rgba(48, 209, 88, .18);--success-dot: #30d158;--warning: #ffb340;--warning-soft: rgba(255, 159, 10, .2);--warning-dot: #ff9f0a;--danger: #ff6961;--danger-soft: rgba(255, 69, 58, .2);--danger-dot: #ff453a;--violet: #a5a3ff;--violet-soft: rgba(94, 92, 230, .24);--violet-dot: #5e5ce6;--neutral: #aeaeb2;--neutral-dot: #8e8e93;--hero-gradient: linear-gradient(120deg, #0a3d7a, #0b4f9c 70%, #0a4a93);--shadow-card: none;--shadow-group: none;--shadow-pop: 0 18px 48px rgba(0, 0, 0, .6), 0 0 0 1px rgba(255, 255, 255, .06);--shadow-sheet: 0 -10px 40px rgba(0, 0, 0, .6);--material-bar: rgba(22, 22, 24, .72);--material-tab: rgba(22, 22, 24, .86);--material-drawer: rgba(28, 28, 30, .92);--overlay: rgba(0, 0, 0, .55)}}:root[data-theme=dark]{color-scheme:dark;--bg: #000000;--bg-sidebar: #0b0b0d;--surface: #1c1c1e;--surface-2: #232326;--surface-3: #2c2c2e;--fill: rgba(118, 118, 128, .24);--fill-2: rgba(118, 118, 128, .16);--fill-strong: rgba(118, 118, 128, .32);--field: #2c2c2e;--segmented-bg: #1c1c1e;--card-border: #2c2c2e;--tile-border: #2c2c2e;--separator: rgba(84, 84, 88, .6);--separator-strong: rgba(84, 84, 88, .9);--field-border: rgba(84, 84, 88, .5);--text: #f5f5f7;--text-2: #aeaeb2;--text-3: #8e8e93;--accent: #0a84ff;--accent-fill: #0a84ff;--accent-fill-hover: #1f8fff;--accent-fill-active: #3a9bff;--accent-text: #409cff;--accent-tint: rgba(10, 132, 255, .2);--accent-tint-strong: rgba(10, 132, 255, .3);--success: #30d158;--success-soft: rgba(48, 209, 88, .18);--success-dot: #30d158;--warning: #ffb340;--warning-soft: rgba(255, 159, 10, .2);--warning-dot: #ff9f0a;--danger: #ff6961;--danger-soft: rgba(255, 69, 58, .2);--danger-dot: #ff453a;--violet: #a5a3ff;--violet-soft: rgba(94, 92, 230, .24);--violet-dot: #5e5ce6;--neutral: #aeaeb2;--neutral-dot: #8e8e93;--hero-gradient: linear-gradient(120deg, #0a3d7a, #0b4f9c 70%, #0a4a93);--shadow-card: none;--shadow-group: none;--shadow-pop: 0 18px 48px rgba(0, 0, 0, .6), 0 0 0 1px rgba(255, 255, 255, .06);--shadow-sheet: 0 -10px 40px rgba(0, 0, 0, .6);--material-bar: rgba(22, 22, 24, .72);--material-tab: rgba(22, 22, 24, .86);--material-drawer: rgba(28, 28, 30, .92);--overlay: rgba(0, 0, 0, .55)}@media (max-width: 1250px) and (min-width: 1024px){:root{--gutter: 24px}}@media (max-width: 1023px){:root{--gutter: 20px}}@media (max-width: 639px){:root{--gutter: 16px;--group-pad: 16px;--r-group: 18px;--fs-3xl: 32px;--fs-base: 16px;--fs-sm: 15px;--bar-h: 58px}}@media (prefers-reduced-motion: reduce){:root{--dur-press: .01s;--dur-fast: .01s;--dur-base: .01s;--dur-sheet: .01s}}@media (prefers-reduced-transparency: reduce){:root{--material-blur: none;--material-bar: var(--surface);--material-tab: var(--surface);--material-drawer: var(--surface)}}@media (prefers-contrast: more){:root{--separator: rgba(60, 60, 67, .4);--card-border: #c7ccd6;--text-2: #48484a;--text-3: #48484a}}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.visible{visibility:visible}.relative{position:relative}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.border{border-width:1px}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}html,body{background:var(--bg);color:var(--text)}body{font-family:var(--font);font-size:var(--fs-base);line-height:var(--lh);letter-spacing:var(--track-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::-moz-selection{background:var(--accent-tint-strong)}::selection{background:var(--accent-tint-strong)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--r-sm)}.mono{font-family:var(--font-mono);font-size:.94em;letter-spacing:0}.tabular{font-variant-numeric:tabular-nums}.muted{color:var(--text-2)}.faint{color:var(--text-3)}.label-caps{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.06em;color:var(--text-3)}.truncate-1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:var(--control-h);padding:0 18px;border-radius:var(--r-pill);font-size:var(--fs-base);font-weight:var(--fw-semibold);letter-spacing:var(--track-body);border:0;cursor:pointer;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background var(--dur-fast) var(--ease-out),transform var(--dur-press) var(--ease-out),opacity var(--dur-fast)}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn svg{width:18px;height:18px;flex:none}.btn-primary{background:var(--accent-fill);color:var(--text-on-accent)}.btn-primary:hover:not(:disabled){background:var(--accent-fill-hover)}.btn-primary:active:not(:disabled){background:var(--accent-fill-active)}.btn-secondary{background:var(--fill);color:var(--text)}.btn-secondary:hover:not(:disabled){background:var(--fill-strong)}.btn-tinted{background:var(--accent-tint);color:var(--accent-text)}.btn-tinted:hover:not(:disabled){background:var(--accent-tint-strong)}.btn-plain{background:transparent;color:var(--accent-text);padding:0 10px}.btn-plain:hover:not(:disabled){background:var(--fill-2)}.btn-danger{background:var(--danger-soft);color:var(--danger)}.btn-danger:hover:not(:disabled){background:#ff3b302e}.btn-sm{height:var(--control-h-sm);padding:0 14px;font-size:var(--fs-sm)}.btn-block{width:100%}.icon-btn{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:var(--r-pill);background:transparent;color:var(--text-2);border:0;cursor:pointer;position:relative;transition:background var(--dur-fast),color var(--dur-fast)}.icon-btn:hover{background:var(--fill-2);color:var(--text)}.icon-btn svg{width:20px;height:20px}.icon-btn.is-active{background:var(--accent-tint);color:var(--accent-text)}.badge{position:absolute;top:2px;right:2px;min-width:18px;height:18px;padding:0 5px;border-radius:var(--r-pill);background:var(--danger-dot);color:#fff;font-size:11px;font-weight:var(--fw-bold);line-height:18px;text-align:center;box-shadow:0 0 0 2px var(--bg)}.spinner{width:18px;height:18px;border-radius:50%;flex:none;border:2px solid currentColor;border-right-color:transparent;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.card{background:var(--surface);border:1px solid var(--card-border);border-radius:var(--r-card);box-shadow:var(--shadow-card)}.card-pad,.card-section{padding:var(--group-pad)}.card-section+.card-section{border-top:1px solid var(--separator)}.card-foot{padding:14px var(--group-pad);border-top:1px solid var(--separator);display:flex;gap:10px;align-items:center}.section-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px}.section-head h3{font-size:var(--fs-md);font-weight:var(--fw-semibold);letter-spacing:var(--track-title);line-height:1.25}.section-head p{color:var(--text-2);font-size:var(--fs-sm);margin-top:2px}.icon-tile{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:9px;color:#fff}.icon-tile svg{width:18px;height:18px}.icon-tile.lg{width:40px;height:40px;border-radius:11px}.icon-tile.lg svg{width:22px;height:22px}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field-label{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-2)}.field-hint{font-size:var(--fs-xs);color:var(--text-3)}.field-error{font-size:var(--fs-xs);color:var(--danger)}.input,.select,.textarea{width:100%;height:var(--control-h);padding:0 14px;border-radius:var(--r-lg);background:var(--field);border:1px solid transparent;color:var(--text);font:inherit;font-size:var(--fs-base);letter-spacing:var(--track-body);transition:border-color var(--dur-fast),background var(--dur-fast),box-shadow var(--dur-fast)}.textarea{height:auto;min-height:88px;padding:11px 14px;resize:vertical;line-height:1.4}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:36px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%238e8e93' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}.input::-moz-placeholder,.textarea::-moz-placeholder{color:var(--text-3)}.input::placeholder,.textarea::placeholder{color:var(--text-3)}.input:focus,.select:focus,.textarea:focus{outline:none;background:var(--surface);border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-tint)}.input:disabled,.select:disabled,.textarea:disabled,.input[readonly]{opacity:.7;cursor:default}.input.is-invalid,.select.is-invalid{border-color:var(--danger-dot)}.input.num{text-align:right;font-variant-numeric:tabular-nums}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid .span-2{grid-column:1 / -1}@media (max-width: 639px){.form-grid{grid-template-columns:1fr}}.search-input{position:relative;flex:1;min-width:200px}.search-input svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--text-3);pointer-events:none}.search-input .input{padding-left:40px;border-radius:var(--r-pill)}.segmented{display:inline-flex;padding:3px;gap:2px;border-radius:var(--r-pill);background:var(--segmented-bg)}.segmented button{height:34px;padding:0 14px;border-radius:var(--r-pill);border:0;background:transparent;font:inherit;font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-2);cursor:pointer;white-space:nowrap;transition:background var(--dur-fast),color var(--dur-fast)}.segmented{max-width:100%;overflow-x:auto;scrollbar-width:none}.segmented button.is-on{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #0000001a}.select-pill{position:relative;display:inline-flex}.select-pill select{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:var(--control-h-sm);padding:0 32px 0 14px;border-radius:var(--r-pill);border:1px solid var(--separator);background:var(--surface);color:var(--text);font:inherit;font-size:var(--fs-sm);font-weight:var(--fw-medium);cursor:pointer;max-width:230px}.select-pill.is-set select{background:var(--accent-tint);border-color:transparent;color:var(--accent-text)}.select-pill svg{position:absolute;right:11px;top:50%;transform:translateY(-50%);width:14px;height:14px;pointer-events:none;color:var(--text-3)}.select-pill.is-set svg{color:var(--accent-text)}.option-card{display:flex;gap:12px;align-items:center;padding:12px 14px;border-radius:var(--r-lg);border:1.5px solid var(--separator);background:var(--surface);cursor:pointer;text-align:left;font:inherit;color:inherit;transition:border-color var(--dur-fast),background var(--dur-fast)}.option-card.is-on{border-color:var(--accent);background:var(--accent-tint)}.option-card .oc-title{font-weight:var(--fw-semibold)}.option-card .oc-desc{font-size:var(--fs-xs);color:var(--text-2)}.chip{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px 0 8px;border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:var(--fw-semibold);white-space:nowrap;background:var(--neutral-soft);color:var(--neutral)}.chip:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--neutral-dot)}.chip.no-dot{padding:0 10px}.chip.no-dot:before{display:none}.chip-success{background:var(--success-soft);color:var(--success)}.chip-success:before{background:var(--success-dot)}.chip-warning{background:var(--warning-soft);color:var(--warning)}.chip-warning:before{background:var(--warning-dot)}.chip-danger{background:var(--danger-soft);color:var(--danger)}.chip-danger:before{background:var(--danger-dot)}.chip-violet{background:var(--violet-soft);color:var(--violet)}.chip-violet:before{background:var(--violet-dot)}.chip-info{background:var(--info-soft);color:var(--info)}.chip-info:before{background:var(--info-dot)}.money{font-variant-numeric:tabular-nums;white-space:nowrap}.money .cur{font-size:.78em;color:var(--text-3);margin-right:3px;font-weight:var(--fw-medium)}.money .dec{color:var(--text-3)}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--fs-table)}.table th{text-align:left;font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--text-3);padding:12px 14px;border-bottom:1px solid var(--separator);white-space:nowrap;position:sticky;top:0;background:var(--surface)}.table td{padding:11px 14px;border-bottom:1px solid var(--separator);vertical-align:middle;height:var(--row-h)}.table tr:last-child td{border-bottom:0}.table .r{text-align:right}.table tbody tr.is-link{cursor:pointer;transition:background var(--dur-fast)}.table tbody tr.is-link:hover{background:var(--fill-2)}.table tbody tr.is-locked{box-shadow:inset 3px 0 0 var(--lock-color, var(--warning-dot))}.table th:first-child,.table td:first-child{padding-left:var(--group-pad)}.table th:last-child,.table td:last-child{padding-right:var(--group-pad)}.stack-cards{display:none}@media (max-width: 767px){.table-wrap.responsive{display:none}.stack-cards{display:flex;flex-direction:column}.stack-card{padding:14px var(--group-pad);border-bottom:1px solid var(--separator);display:flex;flex-direction:column;gap:6px}.stack-card:last-child{border-bottom:0}.stack-card.is-link{cursor:pointer}.stack-card .sc-main{font-weight:var(--fw-semibold);display:flex;justify-content:space-between;gap:10px;align-items:center}.stack-card .sc-row{display:flex;justify-content:space-between;gap:12px;font-size:var(--fs-sm)}.stack-card .sc-row>span:first-child{color:var(--text-3)}}.pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px var(--group-pad);border-top:1px solid var(--separator);font-size:var(--fs-sm);color:var(--text-2);flex-wrap:wrap}.pagination .pg-btns{display:flex;gap:6px;align-items:center}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:48px 24px}.empty .icon-tile{background:var(--fill);color:var(--text-3);width:52px;height:52px;border-radius:16px}.empty .icon-tile svg{width:26px;height:26px}.empty h4{font-size:var(--fs-md);font-weight:var(--fw-semibold)}.empty p{color:var(--text-2);max-width:380px;font-size:var(--fs-sm)}.skeleton{background:linear-gradient(90deg,var(--fill-2),var(--fill),var(--fill-2));background-size:200% 100%;animation:shimmer 1.3s infinite;border-radius:var(--r-sm)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.callout{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:var(--r-lg);font-size:var(--fs-sm);background:var(--info-soft);color:var(--text)}.callout svg{width:18px;height:18px;flex:none;margin-top:1px;color:var(--info)}.callout-warning{background:var(--warning-soft)}.callout-warning svg{color:var(--warning)}.callout-danger{background:var(--danger-soft)}.callout-danger svg{color:var(--danger)}.callout-success{background:var(--success-soft)}.callout-success svg{color:var(--success)}.callout .co-title{font-weight:var(--fw-semibold)}.toasts{position:fixed;z-index:var(--z-toast);left:50%;transform:translate(-50%);bottom:calc(24px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none;width:min(460px,calc(100vw - 32px))}.toast{pointer-events:auto;display:flex;gap:10px;align-items:center;padding:12px 16px;border-radius:var(--r-tile);background:var(--material-drawer);backdrop-filter:var(--material-blur);-webkit-backdrop-filter:var(--material-blur);box-shadow:var(--shadow-pop);font-size:var(--fs-sm);width:100%;animation:toast-in var(--dur-base) var(--ease-out)}.toast svg{width:18px;height:18px;flex:none}.toast .t-body{flex:1;min-width:0}.toast .t-title{font-weight:var(--fw-semibold)}@keyframes toast-in{0%{opacity:0;transform:translateY(10px) scale(.98)}}@media (max-width: 639px){.toasts{bottom:calc(var(--tabbar-h) + 16px + env(safe-area-inset-bottom))}}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);z-index:var(--z-modal);animation:fade-in var(--dur-base) var(--ease-out)}@keyframes fade-in{0%{opacity:0}}.sheet{position:fixed;z-index:var(--z-modal);background:var(--bg);display:flex;flex-direction:column;top:12px;right:12px;bottom:12px;width:min(var(--sheet-w, 640px),calc(100vw - 24px));border-radius:var(--r-sheet);box-shadow:var(--shadow-pop);overflow:hidden;animation:sheet-side var(--dur-sheet) var(--ease-drawer)}.sheet:focus,.sheet:focus-visible{outline:none}.sheet.sm{--sheet-w: 460px}.sheet.lg{--sheet-w: 820px}@keyframes sheet-side{0%{transform:translate(104%)}}.sheet-head{display:flex;align-items:flex-start;gap:12px;padding:18px 20px 14px;background:var(--material-bar);backdrop-filter:var(--material-blur);-webkit-backdrop-filter:var(--material-blur);border-bottom:1px solid var(--separator)}.sheet-head h2{font-family:var(--font-display);font-size:var(--fs-xl);font-weight:var(--fw-bold);letter-spacing:var(--track-title);line-height:1.2}.sheet-head p{color:var(--text-2);font-size:var(--fs-sm);margin-top:2px}.sheet-body{flex:1;overflow-y:auto;padding:18px 20px 24px;display:flex;flex-direction:column;gap:16px;overscroll-behavior:contain}.sheet-foot{display:flex;gap:10px;align-items:center;justify-content:flex-end;padding:14px 20px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--separator);background:var(--material-bar);backdrop-filter:var(--material-blur);-webkit-backdrop-filter:var(--material-blur)}@media (max-width: 639px){.sheet{top:auto;left:0;right:0;bottom:0;width:100%;max-height:calc(100dvh - 24px);height:calc(100dvh - 24px);border-radius:var(--r-sheet) var(--r-sheet) 0 0;box-shadow:var(--shadow-sheet);animation-name:sheet-up}@keyframes sheet-up{0%{transform:translateY(100%)}}.sheet.sm{height:auto}}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:24px;flex-wrap:wrap}.page-header h1{font-family:var(--font-display);font-size:var(--fs-3xl);font-weight:var(--fw-bold);letter-spacing:var(--track-large);line-height:1.1}.page-header p{color:var(--text-2);margin-top:6px;max-width:720px}.page-header .ph-actions{display:flex;gap:10px;flex-wrap:wrap}.kpi{padding:18px var(--group-pad);display:flex;flex-direction:column;gap:6px;min-width:0}.kpi .k-label{display:flex;align-items:center;gap:8px;font-size:var(--fs-sm);color:var(--text-2);font-weight:var(--fw-medium)}.kpi .k-value{font-family:var(--font-display);font-size:var(--fs-2xl);font-weight:var(--fw-bold);letter-spacing:var(--track-large);line-height:1.1}.kpi .k-sub{font-size:var(--fs-xs);color:var(--text-3)}.bar-row{display:grid;grid-template-columns:minmax(90px,160px) 1fr auto;gap:12px;align-items:center;font-size:var(--fs-sm);padding:6px 0}.bar-row .br-track{height:8px;border-radius:var(--r-pill);background:var(--fill-2);overflow:hidden}.bar-row .br-fill{height:100%;border-radius:var(--r-pill);background:var(--accent)}.timeline{display:flex;flex-direction:column}.tl-item{display:grid;grid-template-columns:20px 1fr;gap:10px;position:relative;padding-bottom:14px}.tl-item:before{content:"";position:absolute;left:9px;top:18px;bottom:0;width:2px;background:var(--separator)}.tl-item:last-child:before{display:none}.tl-dot{width:12px;height:12px;border-radius:50%;margin:4px 0 0 4px;background:var(--neutral-dot);box-shadow:0 0 0 3px var(--surface)}.tl-title{font-size:var(--fs-sm);font-weight:var(--fw-medium)}.tl-meta{font-size:var(--fs-xs);color:var(--text-3)}.dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px}.dl>div{min-width:0}.dl dt{font-size:var(--fs-xs);color:var(--text-3);margin-bottom:2px}.dl dd{font-size:var(--fs-base);overflow-wrap:anywhere}.dl .span-2{grid-column:1 / -1}@media (max-width: 639px){.dl{grid-template-columns:1fr}}.avatar{display:inline-grid;place-items:center;flex:none;width:32px;height:32px;border-radius:50%;color:#fff;font-size:12px;font-weight:var(--fw-bold);letter-spacing:0;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.avatar.sm{width:24px;height:24px;font-size:10px}.avatar.lg{width:44px;height:44px;font-size:16px}.avatar .presence-dot{position:absolute;right:-1px;bottom:-1px;width:10px;height:10px;border-radius:50%;background:var(--success-dot);box-shadow:0 0 0 2px var(--surface)}.avatar.sm .presence-dot{width:8px;height:8px}.avatar .presence-dot.is-idle{background:var(--warning-dot)}.avatar-stack{display:inline-flex;align-items:center}.avatar-stack .avatar{box-shadow:0 0 0 2px var(--bg)}.avatar-stack .avatar+.avatar{margin-left:-8px}.avatar-more{background:var(--fill-strong);color:var(--text)}.divider{height:1px;background:var(--separator);border:0;margin:0}.app{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);min-height:100vh;min-height:100dvh}.app.sidebar-closed{grid-template-columns:minmax(0,1fr)}.app.sidebar-closed .sidebar{display:none}.main-col{min-width:0;display:flex;flex-direction:column}.content{width:100%;max-width:var(--content-max);margin:0 auto;padding:28px var(--gutter) 64px;flex:1}.sidebar{position:sticky;top:0;height:100vh;height:100dvh;overflow-y:auto;background:var(--bg-sidebar);border-right:1px solid var(--separator);display:flex;flex-direction:column;padding:14px 12px 16px}.sb-brand{display:flex;align-items:center;gap:10px;padding:6px 8px 16px}.sb-brand .logo{width:34px;height:34px;border-radius:10px;background:var(--accent);color:#fff;display:grid;place-items:center;font-weight:800;font-size:16px}.sb-brand .b-name{font-family:var(--font-display);font-weight:var(--fw-bold);font-size:var(--fs-md);letter-spacing:var(--track-title);line-height:1.1}.sb-brand .b-sub{font-size:var(--fs-2xs);color:var(--text-3)}.sb-group{margin-top:14px}.sb-group>.label-caps{padding:0 10px 6px}.sb-link{display:flex;align-items:center;gap:10px;height:40px;padding:0 10px;border-radius:var(--r-md);color:var(--text);font-size:var(--fs-sm);font-weight:var(--fw-medium);text-decoration:none;transition:background var(--dur-fast)}.sb-link:hover{background:var(--fill-2)}.sb-link.active{background:var(--accent-tint);color:var(--accent-text)}.sb-link .icon-tile{width:26px;height:26px;border-radius:7px}.sb-link .icon-tile svg{width:15px;height:15px}.sb-link .sb-count{margin-left:auto;font-size:var(--fs-2xs);color:var(--text-3);font-weight:var(--fw-semibold)}.sb-link .sb-viewers{margin-left:auto}.sb-foot{margin-top:auto;padding-top:16px}.sb-close{display:none}.topbar{position:sticky;top:0;z-index:var(--z-header);height:var(--bar-h);display:flex;align-items:center;gap:8px;padding:0 var(--gutter);background:var(--material-bar);backdrop-filter:var(--material-blur);-webkit-backdrop-filter:var(--material-blur);border-bottom:1px solid transparent;transition:border-color var(--dur-base)}.topbar.is-scrolled{border-bottom-color:var(--separator)}.topbar .tb-title{font-family:var(--font-display);font-size:var(--fs-md);font-weight:var(--fw-semibold);letter-spacing:var(--track-title);min-width:0}.topbar .tb-spacer{flex:1}.tb-user{display:flex;align-items:center;gap:10px;padding:4px 6px 4px 4px;border-radius:var(--r-pill);border:0;background:transparent;cursor:pointer;color:inherit;font:inherit}.tb-user:hover{background:var(--fill-2)}.tb-user .u-name{font-size:var(--fs-sm);font-weight:var(--fw-semibold);line-height:1.1;text-align:left}.tb-user .u-role{font-size:var(--fs-2xs);color:var(--text-3);text-align:left}.tb-team{display:flex;align-items:center;gap:8px;padding:4px 10px 4px 6px;border-radius:var(--r-pill);border:0;background:transparent;cursor:pointer;color:var(--text-2);font:inherit;font-size:var(--fs-sm)}.tb-team:hover{background:var(--fill-2)}.menu-btn-mobile{display:none}.popover{position:absolute;top:calc(100% + 8px);right:0;z-index:var(--z-drawer);min-width:240px;background:var(--surface);border:1px solid var(--card-border);border-radius:var(--r-tile);box-shadow:var(--shadow-pop);padding:6px;animation:pop-in var(--dur-fast) var(--ease-out)}@keyframes pop-in{0%{opacity:0;transform:translateY(-4px) scale(.98)}}.popover .pm-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border-radius:var(--r-md);background:none;border:0;color:var(--text);font:inherit;font-size:var(--fs-sm);cursor:pointer;text-align:left;text-decoration:none}.popover .pm-item:hover{background:var(--fill-2)}.popover .pm-item svg{width:17px;height:17px;color:var(--text-2)}.popover .pm-item.danger{color:var(--danger)}.popover .pm-item.danger svg{color:var(--danger)}.popover .pm-sep{height:1px;background:var(--separator);margin:6px 4px}.team-list{display:flex;flex-direction:column}.team-row{display:flex;gap:12px;align-items:center;padding:10px;border-radius:var(--r-md)}.team-row:hover{background:var(--fill-2)}.team-row .tr-body{flex:1;min-width:0}.team-row .tr-name{font-weight:var(--fw-semibold);font-size:var(--fs-sm)}.team-row .tr-where{font-size:var(--fs-xs);color:var(--text-2)}.team-row .tr-edit{font-size:var(--fs-xs);color:var(--warning);font-weight:var(--fw-medium)}.chat-panel{position:fixed;z-index:var(--z-drawer);top:12px;right:12px;bottom:12px;width:min(var(--chat-w),calc(100vw - 24px));background:var(--surface);border:1px solid var(--card-border);border-radius:var(--r-sheet);box-shadow:var(--shadow-pop);display:flex;flex-direction:column;overflow:hidden;animation:sheet-side var(--dur-sheet) var(--ease-drawer)}.chat-head{display:flex;align-items:center;gap:10px;padding:14px 14px 12px 16px;border-bottom:1px solid var(--separator)}.chat-head h3{font-size:var(--fs-md);font-weight:var(--fw-semibold);flex:1;min-width:0}.chat-convs{overflow-y:auto;flex:1;padding:6px}.chat-conv{display:flex;gap:10px;align-items:center;padding:10px;border-radius:var(--r-md);cursor:pointer;width:100%;background:none;border:0;color:inherit;font:inherit;text-align:left}.chat-conv:hover{background:var(--fill-2)}.chat-conv .cc-body{flex:1;min-width:0}.chat-conv .cc-name{font-weight:var(--fw-semibold);font-size:var(--fs-sm);display:flex;justify-content:space-between;gap:8px}.chat-conv .cc-last{font-size:var(--fs-xs);color:var(--text-2)}.chat-conv .cc-unread{min-width:20px;height:20px;border-radius:var(--r-pill);background:var(--accent);color:#fff;font-size:11px;font-weight:700;display:grid;place-items:center;padding:0 6px}.chat-msgs{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:4px;background:var(--bg)}.msg{display:flex;gap:8px;align-items:flex-end;max-width:88%}.msg.mine{align-self:flex-end;flex-direction:row-reverse}.msg .bubble{padding:8px 12px;border-radius:18px;background:var(--surface);border:1px solid var(--card-border);font-size:var(--fs-sm);line-height:1.35;white-space:pre-wrap;overflow-wrap:anywhere}.msg.mine .bubble{background:var(--accent-fill);border-color:transparent;color:#fff}.msg .m-meta{font-size:10.5px;color:var(--text-3);margin:0 4px 2px;white-space:nowrap}.msg .m-author{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);margin:0 0 2px 12px}.msg .m-ref{display:flex;align-items:center;gap:6px;margin-top:6px;padding:6px 8px;border-radius:10px;background:var(--fill-2);font-size:var(--fs-xs);font-weight:var(--fw-medium);color:inherit;text-decoration:none}.msg.mine .m-ref{background:#ffffff2e}.msg .m-ref svg{width:14px;height:14px}.chat-day{align-self:center;font-size:var(--fs-2xs);color:var(--text-3);font-weight:var(--fw-semibold);padding:10px 0 4px}.chat-typing{font-size:var(--fs-xs);color:var(--text-3);padding:0 16px 6px;min-height:20px;background:var(--bg)}.chat-compose{display:flex;gap:8px;align-items:flex-end;padding:10px 12px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--separator)}.chat-compose .textarea{min-height:40px;max-height:140px;height:40px;border-radius:20px;padding:9px 14px;resize:none}.chat-compose .ref-pill{display:flex;align-items:center;gap:6px;font-size:var(--fs-xs);padding:4px 6px 4px 10px;background:var(--accent-tint);color:var(--accent-text);border-radius:var(--r-pill);margin:0 12px 8px;align-self:flex-start}.lock-banner{display:flex;gap:12px;align-items:center;padding:12px 14px;border-radius:var(--r-lg);background:var(--warning-soft);flex-wrap:wrap}.lock-banner .lb-text{flex:1;min-width:200px;font-size:var(--fs-sm)}.lock-banner .lb-text strong{font-weight:var(--fw-semibold)}.lock-banner.is-mine{background:var(--success-soft)}.viewers{display:flex;align-items:center;gap:8px;font-size:var(--fs-xs);color:var(--text-2)}.row-lock{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-2xs);font-weight:var(--fw-semibold);color:var(--warning);white-space:nowrap}.grid-kpi{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.grid-2{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:16px}@media (max-width: 1100px){.grid-kpi{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-2{grid-template-columns:1fr}}@media (max-width: 480px){.grid-kpi{grid-template-columns:1fr}}.cash-chart{display:flex;align-items:flex-end;gap:10px;height:180px;padding-top:10px}.cash-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0;height:100%}.cash-bars{flex:1;width:100%;display:flex;align-items:flex-end;justify-content:center;gap:3px}.cash-bar{width:42%;max-width:22px;border-radius:5px 5px 2px 2px;min-height:2px}.cash-bar.in{background:var(--accent)}.cash-bar.out{background:var(--c-orange)}.cash-lbl{font-size:var(--fs-2xs);color:var(--text-3);white-space:nowrap}.legend{display:flex;gap:14px;font-size:var(--fs-xs);color:var(--text-2)}.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}.filters{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:14px var(--group-pad);border-bottom:1px solid var(--separator)}.totals-strip{display:flex;gap:22px;flex-wrap:wrap;padding:10px var(--group-pad);border-bottom:1px solid var(--separator);font-size:var(--fs-sm);color:var(--text-2);background:var(--surface-2)}.totals-strip strong{color:var(--text);font-weight:var(--fw-semibold)}.due-soon{color:var(--warning);font-weight:var(--fw-semibold)}.overdue{color:var(--danger);font-weight:var(--fw-semibold)}.login-wrap{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:24px 16px;background:var(--bg)}.login-card{width:min(400px,100%)}.login-hero{background:var(--hero-gradient);color:#fff;padding:28px var(--group-pad) 24px;border-radius:var(--r-card) var(--r-card) 0 0}.login-hero h1{font-family:var(--font-display);font-size:var(--fs-2xl);font-weight:var(--fw-bold);letter-spacing:var(--track-large)}.login-hero p{opacity:.85;font-size:var(--fs-sm);margin-top:4px}@media (max-width: 1023px){.app,.app.sidebar-closed{grid-template-columns:minmax(0,1fr)}.app.sidebar-closed .sidebar{display:flex}.sidebar{position:fixed;z-index:var(--z-drawer);top:0;left:0;bottom:0;width:min(300px,86vw);height:auto;transform:translate(-104%);transition:transform var(--dur-sheet) var(--ease-drawer);background:var(--material-drawer);backdrop-filter:var(--material-blur);-webkit-backdrop-filter:var(--material-blur)}.app.drawer-open .sidebar{transform:none;box-shadow:var(--shadow-pop)}.drawer-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);z-index:calc(var(--z-drawer) - 1);animation:fade-in var(--dur-base)}.sb-close{display:inline-grid;margin-left:auto}.menu-btn-mobile{display:inline-grid}.menu-btn-desktop{display:none}}@media (min-width: 1024px){.drawer-scrim{display:none}}.tabbar{display:none}@media (max-width: 639px){.tabbar{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;z-index:var(--z-nav);left:0;right:0;bottom:0;height:calc(var(--tabbar-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--material-tab);backdrop-filter:var(--material-blur);-webkit-backdrop-filter:var(--material-blur);border-top:1px solid var(--separator)}.tabbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:10px;font-weight:var(--fw-medium);color:var(--text-3);text-decoration:none;position:relative}.tabbar a svg{width:22px;height:22px}.tabbar a.active{color:var(--accent)}.content{padding-bottom:calc(var(--tabbar-h) + 40px + env(safe-area-inset-bottom))}.topbar .hide-sm{display:none}.chat-panel{top:0;right:0;bottom:0;width:100vw;border-radius:0;border:0}}
