:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--space-0:0;--space-xs:.25rem;--space-sm:.5rem;--space-md:.75rem;--space-lg:1rem;--space-xl:1.5rem;--space-2xl:2rem;--space-3xl:3rem;--space-4xl:4rem;--radius-none:0;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-full:9999px;--text-xs:.75rem;--text-sm:.8125rem;--text-md:.875rem;--text-lg:1rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--lh-tight:1.25;--lh-normal:1.5;--lh-relaxed:1.75;--border-none:0;--border-thin:1px;--border-medium:2px;--z-base:0;--z-sticky:100;--z-dropdown:1000;--z-overlay:1100;--z-drawer:1200;--z-modal:1300;--z-popover:1400;--z-toast:1500;--z-tooltip:1600;--motion-fast:.12s;--motion-base:.18s;--motion-slow:.28s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--control-sm:30px;--control-md:36px;--control-lg:44px;--touch-target:44px;--density-table-compact:28px;--density-table-default:36px;--density-table-comfortable:44px;--color-success:#16a34a;--color-success-soft:#ecfdf5;--color-warning:#d97706;--color-warning-soft:#fffbeb;--color-error:#dc2626;--color-error-soft:#fef2f2;--color-info:#0284c7;--color-info-soft:#f0f9ff;--color-critical:#b91c1c;--color-critical-soft:#fee2e2;--accent:#2563eb;--accent-strong:#1e40af;--accent-ink:#1e40af;--accent-soft:#dbeafe;--accent-contrast:#fff;--shadow-sm:0 1px 2px #0f172a14;--shadow-md:0 4px 10px #0f172a1a;--shadow-lg:0 10px 24px #0f172a24}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}[data-accent=blue]{--accent:#2563eb;--accent-strong:#1e40af;--accent-ink:#1e40af;--accent-soft:#dbeafe}[data-accent=indigo]{--accent:#4f46e5;--accent-strong:#4338ca;--accent-ink:#4338ca;--accent-soft:#e0e7ff}[data-accent=purple]{--accent:#9333ea;--accent-strong:#7e22ce;--accent-ink:#7e22ce;--accent-soft:#f3e8ff}[data-accent=green]{--accent:#16a34a;--accent-strong:#15803d;--accent-ink:#15803d;--accent-soft:#dcfce7}[data-accent=teal]{--accent:#0d9488;--accent-strong:#0f766e;--accent-ink:#0f766e;--accent-soft:#ccfbf1}[data-accent=orange]{--accent:#ea580c;--accent-strong:#c2410c;--accent-ink:#c2410c;--accent-soft:#ffedd5}[data-accent=red]{--accent:#dc2626;--accent-strong:#b91c1c;--accent-ink:#b91c1c;--accent-soft:#fee2e2}[data-accent=neutral]{--accent:#475569;--accent-strong:#334155;--accent-ink:#334155;--accent-soft:#e2e8f0}[data-theme=light]{--surface:#fff;--surface-muted:#f1f5f9;--surface-raised:#fff;--text:#0f172a;--text-muted:#475569;--border-soft:#e2e8f0;--focus-ring:var(--accent);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--surface:#0b1220;--surface-muted:#16203a;--surface-raised:#111a2e;--text:#e2e8f0;--text-muted:#94a3b8;--border-soft:#243049;--focus-ring:var(--accent);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-success:#4ade80;--color-success-soft:#14532d;--color-warning:#fbbf24;--color-warning-soft:#451a03;--color-error:#f87171;--color-error-soft:#450a0a;--color-info:#38bdf8;--color-info-soft:#082f49;--color-critical:#fca5a5;--color-critical-soft:#450a0a}[data-theme=dark][data-accent=blue]{--accent-ink:#93c5fd;--accent-soft:#1e3a8a}[data-theme=dark][data-accent=indigo]{--accent-ink:#a5b4fc;--accent-soft:#312e81}[data-theme=dark][data-accent=purple]{--accent-ink:#d8b4fe;--accent-soft:#581c87}[data-theme=dark][data-accent=green]{--accent-ink:#86efac;--accent-soft:#14532d}[data-theme=dark][data-accent=teal]{--accent-ink:#5eead4;--accent-soft:#134e4a}[data-theme=dark][data-accent=orange]{--accent-ink:#fdba74;--accent-soft:#7c2d12}[data-theme=dark][data-accent=red]{--accent-ink:#fca5a5;--accent-soft:#7f1d1d}[data-theme=dark][data-accent=neutral]{--accent-ink:#cbd5e1;--accent-soft:#334155}@media (prefers-color-scheme:dark){html:not([data-theme]){--surface:#0b1220;--surface-muted:#16203a;--surface-raised:#111a2e;--text:#e2e8f0;--text-muted:#94a3b8;--border-soft:#243049}}[data-contrast=high]{--border-soft:var(--text-muted);--text-muted:var(--text);--focus-ring:var(--accent-strong)}[data-contrast=high] .spsf-card,[data-contrast=high] input.spsf-input{border-color:var(--text-muted)}[data-energy=power-saving]{--motion-fast:0s;--motion-base:0s;--motion-slow:0s;--accent-soft:color-mix(in srgb, var(--accent) 15%, var(--surface-muted));--color-success-soft:color-mix(in srgb, var(--color-success) 15%, var(--surface-muted));--color-warning-soft:color-mix(in srgb, var(--color-warning) 15%, var(--surface-muted));--color-error-soft:color-mix(in srgb, var(--color-error) 15%, var(--surface-muted));--color-info-soft:color-mix(in srgb, var(--color-info) 15%, var(--surface-muted));--shadow-sm:none;--shadow-md:none;--shadow-lg:none;--border-thin:1px;--border-medium:1px;--focus-ring:var(--accent-strong)}[data-energy=power-saving] *,[data-energy=power-saving] :before,[data-energy=power-saving] :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}[data-energy=power-saving] .spsf-card,[data-energy=power-saving] .ui-card{box-shadow:none;border-width:1px}[data-energy=power-saving] .ui-btn,[data-energy=power-saving] button.spsf-button,[data-energy=power-saving] .shell-sidebar,[data-energy=power-saving] .trk-stat{transition:none}html{font-size:100%}@media (min-width:768px){html{font-size:102%}}@media (min-width:1440px){html{font-size:105%}}*{box-sizing:border-box}body{background:var(--surface);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Tahoma,sans-serif;font-size:var(--text-md);line-height:var(--lh-normal);margin:0}a{color:var(--accent)}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.t-xs{font-size:var(--text-xs)}.t-sm{font-size:var(--text-sm)}.t-md{font-size:var(--text-md)}.t-lg{font-size:var(--text-lg)}.t-xl{font-size:var(--text-xl)}.t-2xl{font-size:var(--text-2xl)}.t-3xl{font-size:var(--text-3xl)}.t-4xl{font-size:var(--text-4xl)}.fw-regular{font-weight:var(--fw-regular)}.fw-medium{font-weight:var(--fw-medium)}.fw-semibold{font-weight:var(--fw-semibold)}.fw-bold{font-weight:var(--fw-bold)}.lh-tight{line-height:var(--lh-tight)}.lh-normal{line-height:var(--lh-normal)}.lh-relaxed{line-height:var(--lh-relaxed)}.rtl{direction:rtl}.ltr{direction:ltr}.u-ltr{direction:ltr;unicode-bidi:isolate}.spsf-page{min-width:0;max-width:72rem;padding-inline:var(--space-lg);padding-block:var(--space-xl);margin-inline:auto}.spsf-card{background:var(--surface-raised);border:var(--border-thin) solid var(--border-soft);border-radius:var(--radius-lg);padding:var(--space-xl);box-shadow:var(--shadow-sm)}.spsf-stack{gap:var(--space-lg);flex-direction:column;display:flex}.spsf-state{border-radius:var(--radius-md);padding:var(--space-lg);border:1px dashed var(--border-soft);color:var(--text-muted)}.spsf-state--loading{animation:1.2s ease-in-out infinite spsf-pulse}.spsf-state--empty{border-style:dashed}.spsf-state--error{border-color:var(--color-error);color:var(--color-error)}.spsf-state--degraded{border-color:var(--color-warning);color:var(--color-warning)}@keyframes spsf-pulse{0%,to{opacity:1}50%{opacity:.45}}button.spsf-button{background:var(--accent);color:var(--accent-contrast);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-lg);font-size:var(--text-md);cursor:pointer;transition:background-color var(--motion-fast) var(--ease-standard);border:0}button.spsf-button:hover{background:var(--accent-strong)}button.spsf-button:disabled{opacity:.5;cursor:not-allowed}input.spsf-input{width:100%;height:var(--control-md);padding:var(--space-sm) var(--space-md);border:1px solid var(--border-soft);border-radius:var(--radius-md);background:var(--surface);color:var(--text)}input.spsf-input:focus{outline:2px solid var(--focus-ring);outline-offset:0}.shell{grid-template-columns:auto 1fr;height:100dvh;display:grid;overflow:hidden}.shell-sidebar{gap:var(--space-lg);background:var(--surface-muted);border-inline-end:var(--border-thin) solid var(--border-soft);width:264px;min-width:264px;padding:var(--space-lg) var(--space-md);transition:width var(--motion-base) var(--ease-standard);flex-direction:column;display:flex;overflow-y:auto}.trk-stat-grid{gap:var(--space-sm);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));display:grid}.trk-stat{align-items:flex-start;gap:var(--space-xs);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-lg);background:var(--surface-raised);border:1px solid var(--border-soft);color:var(--text-strong);cursor:pointer;text-align:start;transition:border-color var(--motion-fast) var(--ease-standard), background-color var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);flex-direction:column;display:flex}.trk-stat:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.trk-stat:disabled{cursor:default;opacity:.7}.trk-stat--active{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.trk-stat__label{font-size:var(--text-sm);color:var(--text-muted);align-items:center;gap:var(--space-xs);display:inline-flex}.trk-stat--active .trk-stat__label{color:var(--text-strong)}.trk-stat__value{font-size:var(--text-2xl);font-weight:var(--fw-bold);line-height:1}.trk-stat--sm{align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-pill,999px);flex-direction:row}.trk-stat--sm .trk-stat__value{font-size:var(--text-sm);font-weight:var(--fw-bold)}.shell-brand{align-items:center;gap:var(--space-sm);padding-inline:var(--space-sm);display:flex}.shell-brand__mark{width:var(--control-lg);height:var(--control-lg);border-radius:var(--radius-md);background:var(--accent);color:var(--accent-contrast);font-weight:var(--fw-bold);box-shadow:0 4px 12px color-mix(in srgb, var(--accent) 45%, transparent);flex:none;justify-content:center;align-items:center;display:inline-flex}.shell-brand__mark svg{display:block}.shell-brand__mark:hover{filter:brightness(1.05)}.shell-nav{gap:var(--space-sm);flex-direction:column;display:flex}.shell-group__title{cursor:pointer;padding:var(--space-xs) var(--space-sm);color:var(--text-muted);list-style:none}.shell-group__list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.shell-item{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);color:var(--text);font-size:var(--text-sm);text-decoration:none;display:block}.shell-item:hover,.shell-item--active{background:var(--surface-raised)}.shell-item--muted{color:var(--text-muted);cursor:default}.shell-empty{color:var(--text-muted);padding:var(--space-sm)}.shell-body{flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.shell-topbar{align-items:center;gap:var(--space-lg);padding:var(--space-sm) var(--space-lg);background:var(--surface-raised);border-block-end:var(--border-thin) solid var(--border-soft);grid-template-columns:auto 1fr auto;min-height:56px;display:grid}.shell-topbar__start,.shell-topbar__end{align-items:center;gap:var(--space-sm);display:flex}.shell-topbar__center{min-width:0}.shell-search{align-items:center;gap:var(--space-sm);border:var(--border-thin) solid var(--border-soft);border-radius:var(--radius-md);padding-inline:var(--space-sm);background:var(--surface-muted);max-width:420px;margin-inline:auto;display:flex}.shell-search input{color:var(--text);height:var(--control-md);width:100%;font-size:var(--text-sm);background:0 0;border:0;outline:0}.shell-icon,.shell-quick{width:var(--control-lg);height:var(--control-lg);border:var(--border-none);border-radius:var(--radius-md);color:var(--text);font-size:var(--text-md);cursor:pointer;background:0 0;justify-content:center;align-items:center;display:inline-flex}.shell-icon:hover{background:var(--surface-muted)}.shell-quick{background:var(--accent);color:var(--accent-contrast);font-size:var(--text-xl)}.shell-breadcrumb a{color:var(--text-muted);text-decoration:none}.shell-user{position:relative}.shell-avatar{width:var(--control-lg);height:var(--control-lg);border-radius:var(--radius-full);background:var(--accent-soft);color:var(--accent-ink);font-weight:var(--fw-bold);cursor:pointer;justify-content:center;align-items:center;list-style:none;display:inline-flex}.shell-user__menu{top:calc(100% + var(--space-sm));min-width:200px;z-index:var(--z-popover);position:absolute;inset-inline-end:0}.shell-user__menu[hidden]{display:none}.shell-content{overflow-y:auto}.shell-backdrop{display:none}@media (max-width:1023px){.shell{grid-template-columns:1fr}.shell-sidebar{z-index:var(--z-drawer);width:264px;min-width:264px;transition:transform var(--motion-base) var(--ease-standard);position:fixed;inset-block:0;inset-inline-start:0}html:not([dir=rtl]) .shell-sidebar{transform:translate(-110%)}html[dir=rtl] .shell-sidebar{transform:translate(110%)}.shell .shell-sidebar.shell-sidebar--open{transform:translate(0)}.shell-backdrop{z-index:var(--z-overlay);background:#00000073;display:block;position:fixed;inset:0}.shell-topbar{grid-template-columns:auto 1fr}.shell-topbar__center{display:none}}@media (min-width:1024px){.shell-topbar__center{display:block}.shell--no-sidebar{grid-template-columns:1fr}.shell--no-sidebar .shell-sidebar{display:none}}.ui-btn{justify-content:center;align-items:center;gap:var(--space-sm);border-radius:var(--radius-md);border:var(--border-thin) solid transparent;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;min-width:0;max-width:100%;transition:background-color var(--motion-fast) var(--ease-standard), border-color var(--motion-fast) var(--ease-standard);font-family:inherit;display:inline-flex;overflow:hidden}.ui-btn:disabled{opacity:.5;cursor:not-allowed}.ui-btn--primary{background:var(--accent);color:var(--accent-contrast)}.ui-btn--primary:hover:not(:disabled){background:var(--accent-strong)}.ui-btn--secondary{background:var(--surface-muted);color:var(--text);border-color:var(--border-soft)}.ui-btn--secondary:hover:not(:disabled){background:var(--border-soft)}.ui-btn--ghost{color:var(--accent);background:0 0}.ui-btn--ghost:hover:not(:disabled){background:var(--accent-soft)}.ui-btn--danger{background:var(--color-error);color:#fff}.ui-btn--danger:hover:not(:disabled){background:var(--color-critical)}.ui-btn--sm{height:var(--control-sm);padding-inline:var(--space-md);font-size:var(--text-xs)}.ui-btn--md{height:var(--control-md);padding-inline:var(--space-lg);font-size:var(--text-sm)}.ui-btn--lg{height:var(--control-lg);padding-inline:var(--space-xl);font-size:var(--text-md)}.ui-icon-btn{width:var(--control-lg);height:var(--control-lg);border:var(--border-none);border-radius:var(--radius-md);color:var(--text);cursor:pointer;background:0 0;justify-content:center;align-items:center;display:inline-flex}.ui-icon-btn:hover{background:var(--surface-muted)}.ui-icon-btn--danger{color:var(--color-error)}.ui-field{gap:var(--space-xs);flex-direction:column;display:flex}.ui-field__label{color:var(--text)}.ui-field__req{color:var(--color-error)}.ui-field__hint{color:var(--text-muted)}.ui-field__error{color:var(--color-error)}.ui-input{width:100%;min-height:var(--control-md);padding:var(--space-sm) var(--space-md);border:var(--border-thin) solid var(--border-soft);border-radius:var(--radius-md);background:var(--surface);color:var(--text);font-family:inherit;font-size:var(--text-sm)}.ui-input:focus-visible{outline:2px solid var(--focus-ring);outline-offset:0}.ui-input--invalid{border-color:var(--color-error)}.ui-input--area{resize:vertical;min-height:96px}.ui-select{appearance:auto}.ui-check{width:18px;height:18px;accent-color:var(--accent)}.ui-switch{border-radius:var(--radius-full);border:var(--border-none);background:var(--border-soft);cursor:pointer;width:40px;height:24px;transition:background-color var(--motion-fast) var(--ease-standard);position:relative}.ui-switch--on{background:var(--accent)}.ui-switch__thumb{top:3px;border-radius:var(--radius-full);width:18px;height:18px;transition:inset-inline-start var(--motion-fast) var(--ease-standard);background:#fff;position:absolute;inset-inline-start:3px}.ui-switch--on .ui-switch__thumb{inset-inline-start:19px}.ui-badge{border-radius:var(--radius-full);padding:2px var(--space-md);font-size:var(--text-xs);font-weight:var(--fw-medium);align-items:center;display:inline-flex}.ui-badge--neutral{background:var(--surface-muted);color:var(--text-muted)}.ui-badge--success{background:var(--color-success-soft);color:var(--color-success)}.ui-badge--warning{background:var(--color-warning-soft);color:var(--color-warning)}.ui-badge--error{background:var(--color-error-soft);color:var(--color-error)}.ui-badge--info{background:var(--color-info-soft);color:var(--color-info)}.ui-badge--critical{background:var(--color-critical-soft);color:var(--color-critical)}.ui-spinner{border:2px solid var(--border-soft);border-top-color:var(--accent);border-radius:var(--radius-full);animation:.7s linear infinite ui-spin;display:inline-block}@keyframes ui-spin{to{transform:rotate(360deg)}}.ui-skeleton{background:linear-gradient(90deg, var(--surface-muted) 25%, var(--border-soft) 50%, var(--surface-muted) 75%);border-radius:var(--radius-md);background-size:200% 100%;animation:1.2s infinite ui-shimmer;display:inline-block}@keyframes ui-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.ui-card{background:var(--surface-raised);border:var(--border-thin) solid var(--border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.ui-tabs{gap:var(--space-xs);border-block-end:var(--border-thin) solid var(--border-soft);display:flex;overflow-x:auto}.ui-tab{border:var(--border-none);color:var(--text-muted);padding:var(--space-sm) var(--space-md);cursor:pointer;white-space:nowrap;background:0 0;border-block-end:2px solid #0000}.ui-tab--active{color:var(--accent);border-block-end-color:var(--accent)}.ui-overlay{z-index:var(--z-modal);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.ui-overlay__backdrop{background:#00000073;position:absolute;inset:0}.ui-modal{width:min(92vw,520px);max-height:86vh;padding:var(--space-xl);position:relative;overflow:auto}.ui-modal__head{justify-content:space-between;align-items:center;gap:var(--space-lg);margin-block-end:var(--space-lg);display:flex}.ui-modal__body{gap:var(--space-lg);flex-direction:column;display:flex}.ui-modal__foot{justify-content:flex-end;gap:var(--space-sm);margin-block-start:var(--space-lg);display:flex}.ui-drawer{border-radius:var(--radius-lg) 0 0 var(--radius-lg);width:min(90vw,400px);padding:var(--space-xl);position:absolute;inset-block:0;inset-inline-end:0;overflow-y:auto}.ui-toast-region{z-index:var(--z-toast);gap:var(--space-sm);flex-direction:column;max-width:min(90vw,360px);display:flex;position:fixed;inset-block-end:var(--space-xl);inset-inline-end:var(--space-xl)}.ui-toast{padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);background:var(--surface-raised);border:var(--border-thin) solid var(--border-soft);box-shadow:var(--shadow-md);font-size:var(--text-sm)}.ui-toast--success{border-inline-start:4px solid var(--color-success)}.ui-toast--info{border-inline-start:4px solid var(--color-info)}.ui-toast--warning{border-inline-start:4px solid var(--color-warning)}.ui-toast--error{border-inline-start:4px solid var(--color-error)}.ui-radio-group{gap:var(--space-sm);flex-direction:column;display:flex}.ui-radio-group--row{gap:var(--space-md);flex-flow:wrap}.ui-radio{align-items:center;gap:var(--space-sm);cursor:pointer;display:inline-flex}.ui-radio--disabled{opacity:.5;cursor:not-allowed}.ui-radio__input{opacity:0;width:0;height:0;position:absolute}.ui-radio__dot{border:2px solid var(--border-soft);background:var(--surface);width:18px;height:18px;transition:border-color var(--motion-fast) var(--ease-standard);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.ui-radio__input:checked+.ui-radio__dot{border-color:var(--accent)}.ui-radio__input:checked+.ui-radio__dot:after{content:"";background:var(--accent);border-radius:50%;width:8px;height:8px}.ui-radio__input:focus-visible+.ui-radio__dot{outline:2px solid var(--focus-ring);outline-offset:2px}.ui-number-input{align-items:center;gap:0;display:inline-flex}.ui-number-input__btn{width:var(--control-md);height:var(--control-md);border:var(--border-thin) solid var(--border-soft);background:var(--surface-muted);color:var(--text);cursor:pointer;font-size:var(--text-md);border-radius:0;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.ui-number-input__btn:first-child{border-radius:var(--radius-md) 0 0 var(--radius-md)}.ui-number-input__btn:last-child{border-radius:0 var(--radius-md) var(--radius-md) 0}.ui-number-input__btn:disabled{opacity:.4;cursor:not-allowed}.ui-number-input__field{text-align:center;-moz-appearance:textfield;border-inline:none;width:56px;border-radius:0!important}.ui-number-input__field::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.ui-number-input__field::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.ui-slider{align-items:center;gap:var(--space-sm);display:flex;position:relative}.ui-slider--disabled{opacity:.5;pointer-events:none}.ui-slider__input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute}.ui-slider__track{background:var(--surface-muted);border-radius:999px;flex:1;height:6px;position:relative;overflow:hidden}.ui-slider__fill{background:var(--accent);transition:width var(--motion-fast) var(--ease-standard);border-radius:999px;position:absolute;inset-block:0;inset-inline-start:0}.ui-slider__value{text-align:end;min-width:32px;color:var(--text-muted);font-variant-numeric:tabular-nums}.ui-tag-input{gap:var(--space-xs);min-height:var(--control-md);padding:var(--space-xs) var(--space-sm);border:var(--border-thin) solid var(--border-soft);border-radius:var(--radius-md);background:var(--surface);cursor:text;flex-wrap:wrap;align-items:center;display:flex}.ui-tag-input:focus-within{outline:2px solid var(--focus-ring);outline-offset:0}.ui-tag-input--disabled{opacity:.5;cursor:not-allowed}.ui-tag-input__tag{align-items:center;gap:var(--space-xs);background:var(--accent-soft);color:var(--accent);border-radius:var(--radius-full);padding:2px var(--space-sm);font-size:var(--text-xs);font-weight:var(--fw-medium);display:inline-flex}.ui-tag-input__remove{cursor:pointer;color:inherit;background:0 0;border:none;align-items:center;padding:0;font-size:14px;line-height:1;display:inline-flex}.ui-tag-input__remove:hover{opacity:.6}.ui-tag-input__field{min-width:80px;font:inherit;color:var(--text);padding:var(--space-xs) 0;background:0 0;border:none;outline:none;flex:1}.ui-tag-input__field::placeholder{color:var(--text-muted)}.ui-file-upload{justify-content:center;align-items:center;gap:var(--space-sm);padding:var(--space-xl);border:2px dashed var(--border-soft);border-radius:var(--radius-lg);background:var(--surface-muted);cursor:pointer;text-align:center;min-height:120px;transition:border-color var(--motion-fast) var(--ease-standard), background var(--motion-fast) var(--ease-standard);flex-direction:column;display:flex;position:relative}.ui-file-upload:hover{border-color:var(--accent);background:var(--accent-soft)}.ui-file-upload--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.ui-file-upload__icon{color:var(--text-muted);font-size:24px}.ui-file-upload__input{opacity:0;cursor:pointer;position:absolute;inset:0}.dt-toolbar{gap:var(--space-md);padding:var(--space-md) var(--space-lg);flex-wrap:wrap;align-items:center;display:flex}.dt-search{max-width:260px}.dt-cols{position:relative}.dt-cols summary{cursor:pointer;color:var(--text-muted)}.dt-cols__menu{top:calc(100% + var(--space-sm));z-index:var(--z-popover);padding:var(--space-md);gap:var(--space-sm);flex-direction:column;min-width:180px;display:flex;position:absolute;inset-inline-start:0}.dt-table-wrap{padding:0;overflow-x:auto}.dt-table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.dt-table th,.dt-table td{text-align:start;padding:var(--space-sm) var(--space-md);border-block-end:var(--border-thin) solid var(--border-soft)}.dt-table thead th{background:var(--surface-muted);color:var(--text-muted)}.spsf-table-wrap{-webkit-overflow-scrolling:touch;width:100%;max-width:100%;overflow-x:auto}.spsf-table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.spsf-table th,.spsf-table td{text-align:start;padding:var(--space-sm) var(--space-md);border-block-end:var(--border-thin) solid var(--border-soft);white-space:nowrap}.spsf-table thead th{background:var(--surface-muted);color:var(--text-muted);font-weight:var(--fw-semibold)}.spsf-table tbody tr:hover{background:var(--surface-muted)}.dt-th{border:var(--border-none);color:inherit;font-weight:var(--fw-semibold);cursor:pointer;background:0 0;padding:0}.dt-check{width:44px}.dt-row--active{background:var(--accent-soft)}.dt-bulk{justify-content:flex-end;display:flex}.dt-pagination{justify-content:space-between;align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}@media (max-width:640px){.dt-toolbar{align-items:stretch}.dt-search{width:100%;max-width:none}.dt-table-wrap{padding:0}}html,body{max-width:100%;overflow-x:hidden}.shell{max-width:100vw}.shell-topbar{padding-top:max(var(--space-sm), env(safe-area-inset-top,0px))}.shell-content{padding-bottom:env(safe-area-inset-bottom,0px)}.ui-lang__select{width:auto;min-width:104px}.shell-mobile-hide{display:inline-flex}.shell-offline-dot{background:var(--color-error);border-radius:50%;flex-shrink:0;width:8px;height:8px;display:none}.shell-offline-dot--visible{display:inline-block}@media (max-width:640px){.shell-mobile-hide{display:none}.shell-topbar{gap:var(--space-sm);padding-inline:var(--space-sm)}.shell-topbar__start,.shell-topbar__end{gap:var(--space-xs)}.shell-icon,.shell-quick,.shell-avatar{min-width:var(--control-lg);min-height:var(--control-lg);width:var(--control-lg);height:var(--control-lg)}.shell-quick{font-size:var(--text-lg)}.spsf-page{padding-inline:var(--space-md)}.ui-lang__select{min-width:0;max-width:104px;font-size:var(--text-xs)}.shell-item{padding:var(--space-md) var(--space-md);min-height:var(--touch-target);align-items:center;display:flex}.trk-stat-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))!important}.trk-stat--sm{flex:auto;min-width:0;max-width:none}.trk-list-scroll{max-height:min(50vh,480px)!important}.spsf-page input[style*="minWidth: 200"],.spsf-page input[style*="min-width: 200px"]{flex:1 1 0!important;min-width:0!important}.dt-pagination{flex-direction:column;align-items:stretch!important;gap:var(--space-xs)!important}.dt-pagination>span{justify-content:center}.ui-btn--sm{min-height:var(--touch-target)}}.ui-combo{min-width:0;position:relative}.ui-combo__trigger{align-items:center;gap:var(--space-sm);min-height:var(--control-md);padding-inline:var(--space-md);border:var(--border-thin) solid var(--border-soft);border-radius:var(--radius-md);background:var(--surface);display:flex}.ui-combo__value{font-size:var(--text-sm);flex:1}.ui-combo__input{color:var(--text);font-size:var(--text-sm);background:0 0;border:0;outline:0;flex:1;min-width:0}.ui-combo__clear,.ui-combo__caret{color:var(--text-muted);cursor:pointer;padding:0 var(--space-xs);background:0 0;border:0}.ui-combo__menu{top:calc(100% + var(--space-xs));z-index:var(--z-popover);background:var(--surface-raised);border:var(--border-thin) solid var(--border-soft);border-radius:var(--radius-md);box-shadow:var(--shadow-md);max-height:260px;padding:var(--space-xs);position:absolute;inset-inline:0;overflow-y:auto}.ui-combo__msg{padding:var(--space-md);color:var(--text-muted);font-size:var(--text-sm)}.ui-combo__item{text-align:start;width:100%;color:var(--text);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);font-size:var(--text-sm);cursor:pointer;background:0 0;border:0;display:block}.ui-combo__item--hl{background:var(--accent-soft)}.cmd{z-index:var(--z-modal);padding:var(--space-4xl) var(--space-lg) 0;justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0}.cmd__backdrop{background:#00000073;position:absolute;inset:0}.cmd__panel{width:min(92vw,560px);padding:var(--space-md);gap:var(--space-md);flex-direction:column;display:flex;position:relative}.cmd__input{width:100%;min-height:var(--control-lg);border:var(--border-thin) solid var(--border-soft);border-radius:var(--radius-md);background:var(--surface-muted);color:var(--text);padding:var(--space-sm) var(--space-md);font-size:var(--text-md)}.cmd__list{flex-direction:column;gap:2px;max-height:320px;display:flex;overflow-y:auto}.cmd__msg{padding:var(--space-lg);color:var(--text-muted);text-align:center}.cmd__item{color:var(--text);text-align:start;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-sm);background:0 0;border:0}.cmd__item--hl{background:var(--accent-soft)}.shell-pop{position:relative}.shell-pop summary{list-style:none}.shell-pop__menu{top:calc(100% + var(--space-sm));z-index:var(--z-popover);width:min(84vw,320px);padding:var(--space-md);position:absolute;inset-inline-end:0}.shell-pop__menu[hidden]{display:none}.shell-pop__item{align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);color:var(--text-strong);font-size:var(--text-sm);text-align:start;cursor:pointer;background:0 0;border:0;display:flex}.shell-pop__item:hover{background:var(--surface-muted)}.ui-state{gap:var(--space-md);border-radius:var(--radius-md);padding:var(--space-lg);border:var(--border-thin) dashed var(--border-soft);align-items:flex-start;display:flex}.ui-state__icon{font-size:var(--text-2xl);color:var(--text-muted);line-height:1}.ui-state__body{gap:var(--space-xs);flex-direction:column;align-items:flex-start;display:flex}.ui-state__title{margin:0}.ui-state__desc{color:var(--text-muted);margin:0}.ui-state--loading .ui-state__icon{animation:.9s linear infinite ui-spin}.ui-state--error{border-color:var(--color-error)}.ui-state--error .ui-state__icon{color:var(--color-error)}.ui-state--permission{border-color:var(--color-warning)}.ui-state--permission .ui-state__icon,.ui-state--degraded .ui-state__icon{color:var(--color-warning)}.ui-state--offline .ui-state__icon{color:var(--color-error)}.ui-alert{border-radius:var(--radius-md);padding:var(--space-md) var(--space-lg);border:var(--border-thin) solid var(--border-soft);gap:var(--space-xs);flex-direction:column;display:flex}.ui-alert--info{border-inline-start:4px solid var(--color-info);background:var(--color-info-soft)}.ui-alert--success{border-inline-start:4px solid var(--color-success);background:var(--color-success-soft)}.ui-alert--warning{border-inline-start:4px solid var(--color-warning);background:var(--color-warning-soft)}.ui-alert--error{border-inline-start:4px solid var(--color-error);background:var(--color-error-soft)}.ui-banner{justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-lg);font-size:var(--text-sm);display:flex}.ui-banner__body{flex:1}.ui-banner__close{color:inherit;cursor:pointer;background:0 0;border:0}.ui-alert__title{font-weight:var(--fw-semibold)}.task-list{margin:0;padding:0;list-style:none}.task-list li+li{border-block-start:var(--border-thin) solid var(--border-soft)}.task-row{justify-content:space-between;align-items:center;gap:var(--space-md);width:100%;padding:var(--space-md) var(--space-lg);color:var(--text);text-align:start;cursor:pointer;background:0 0;border:0;display:flex}.task-row:hover{background:var(--surface-muted)}.task-row__title{flex-direction:column;gap:2px;min-width:0;display:flex}.task-row__meta{align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.task-list>.task-row{width:auto}.spsf-card,.ui-card{overflow-wrap:break-word;word-break:normal}.spsf-card,.ui-card,.spsf-card p,.ui-card p,.spsf-card dd,.ui-card dd,.spsf-card li,.ui-card li,.ui-card li>*,.spsf-card li>*,.task-row,.task-row__title,.task-row__meta{min-width:0}.task-row__title,.task-row__meta{overflow-wrap:break-word;word-break:normal}@media (max-width:640px){.task-row{display:block}.task-row__meta{margin-top:var(--space-xs)}}.task-board{gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:start;display:grid}.task-column{padding:var(--space-md);gap:var(--space-sm);flex-direction:column;display:flex}.task-column__items{gap:var(--space-sm);flex-direction:column;display:flex}.task-card{gap:var(--space-xs);text-align:start;border:var(--border-thin) solid var(--border-soft);background:var(--surface);color:var(--text);border-radius:var(--radius-md);padding:var(--space-md);cursor:pointer;flex-direction:column;align-items:flex-start;display:flex}.task-card:hover{border-color:var(--accent)}.chat-screen{max-width:none;height:calc(100dvh - 60px);min-height:0;padding-block:var(--space-md);gap:var(--space-md);flex-direction:column;display:flex}@media (min-width:1024px){.chat-screen{height:calc(100dvh - 64px)}}.chat-screen .demo-notice{flex:none}.chat-screen>.chat{flex:auto;min-height:0}.chat{gap:var(--space-md);grid-template-columns:minmax(300px,360px) minmax(0,1fr);align-items:stretch;min-height:0;display:grid;overflow:hidden}.chat-list{flex-direction:column;gap:0;min-height:0;padding:0;display:flex;overflow:hidden}.chat-list__head{justify-content:space-between;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border-block-end:var(--border-thin) solid var(--border-soft);background:var(--surface-raised);flex:none;display:flex}.chat-list__items{flex:auto;min-height:0;margin:0;padding:0;list-style:none;overflow-y:auto}.chat-list__item{align-items:center;gap:var(--space-md);text-align:start;border:0;border-block-end:var(--border-thin) solid var(--border-soft);width:100%;color:var(--text);padding:var(--space-md) var(--space-lg);cursor:pointer;transition:background var(--motion-fast) var(--ease-standard);background:0 0;border-radius:0;display:flex}.chat-list__item:hover{background:var(--surface-muted)}.chat-list__item--active{background:var(--accent-soft);color:var(--text)}.chat-list__avatar{border-radius:var(--radius-full);background:var(--accent-soft);width:44px;height:44px;color:var(--accent-ink);font-weight:var(--fw-semibold);flex:none;justify-content:center;align-items:center;display:inline-flex}.chat-list__item--active .chat-list__avatar{background:var(--accent);color:var(--accent-contrast)}.chat-list__main{gap:var(--space-0);flex-direction:column;flex:auto;min-width:0;display:flex}.chat-list__row{justify-content:space-between;align-items:center;gap:var(--space-sm);min-width:0;display:flex}.chat-list__title{font-weight:var(--fw-medium);white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.chat-list__time{color:var(--text-muted);flex:none}.chat-list__preview{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.chat-badge{border-radius:var(--radius-full);background:var(--accent);min-width:20px;height:20px;color:var(--accent-contrast);font-size:var(--text-xs);padding-inline:var(--space-xs);flex:none;justify-content:center;align-items:center;display:inline-flex}.chat-thread{flex-direction:column;min-width:0;min-height:0;padding:0;display:flex;position:relative;overflow:hidden}.chat-thread__head{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-block-end:var(--border-thin) solid var(--border-soft);background:var(--surface-raised);flex-wrap:wrap;flex:none;display:flex}.chat-live{font-size:var(--text-xs);color:var(--text-muted);border:var(--border-thin) solid var(--border-soft);border-radius:var(--radius-full);padding:2px var(--space-sm);align-items:center;gap:6px;margin-inline-start:auto;display:inline-flex}.chat-live--on{color:var(--accent-ink);border-color:color-mix(in srgb, var(--accent) 45%, transparent)}.chat-live--on:before{content:"";border-radius:var(--radius-full);background:var(--accent);width:8px;height:8px}.chat-thread__headInfo{flex-direction:column;flex:auto;gap:0;min-width:0;display:flex}.chat-working{font-size:var(--text-xs);color:var(--accent-ink);border:var(--border-thin) solid color-mix(in srgb, var(--accent) 45%, transparent);border-radius:var(--radius-full);padding:2px var(--space-sm);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;max-width:40ch;display:inline-flex;overflow:hidden}.chat-working__spinner{border-radius:var(--radius-full);border:2px solid color-mix(in srgb, var(--accent) 35%, transparent);border-top-color:var(--accent);flex:none;width:12px;height:12px;animation:.8s linear infinite chatSpin}@keyframes chatSpin{to{transform:rotate(360deg)}}.chat-event{align-items:flex-start;gap:var(--space-sm);margin:var(--space-sm) auto;padding:var(--space-sm) var(--space-md);border:var(--border-thin) solid var(--border-soft);border-radius:var(--radius-lg);background:var(--surface-muted);color:var(--text-soft);text-align:start;min-width:0;max-width:min(90%,660px);animation:chat-event-in var(--motion-slow) var(--ease-standard);display:flex}.chat-event__icon{border-radius:var(--radius-full);background:var(--surface-base);border:var(--border-thin) solid var(--border-soft);flex:none;justify-content:center;align-items:center;width:26px;height:26px;font-size:14px;display:inline-flex}.chat-event__content{flex-direction:column;gap:2px;min-width:0;display:flex}.chat-event__agent{font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--accent-ink)}.chat-event__body{font-size:var(--text-xs);line-height:var(--lh-normal);overflow-wrap:anywhere;white-space:pre-wrap}.chat-event--handoff{border-color:color-mix(in srgb, var(--accent) 30%, var(--border-soft));background:var(--accent-soft)}.chat-event--handoff .chat-event__agent{color:var(--accent-ink)}.chat-event--consent{border-color:color-mix(in srgb, var(--color-warning) 30%, var(--border-soft));background:var(--color-warning-soft)}.chat-event--status{border-style:dashed}.chat-text{overflow-wrap:anywhere;word-break:break-word;line-height:var(--lh-normal);margin:0;display:block}.chat-code{text-align:left;white-space:pre;max-width:100%;max-height:220px;margin:var(--space-xs) 0;padding:var(--space-sm) var(--space-md);border:var(--border-thin) solid var(--border-soft);border-radius:var(--radius-md);background:color-mix(in srgb, currentColor 6%, transparent);direction:ltr;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:11px;line-height:1.6;display:block;overflow:auto}@keyframes chat-event-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.chat-event{animation:none}}@media (max-width:640px){.chat-event{max-width:100%}}.chat-load-older{margin:var(--space-sm) auto;padding:var(--space-xs) var(--space-md);border:var(--border-thin) dashed var(--border-soft);border-radius:var(--radius-full);color:var(--text-muted);font-size:var(--text-xs);cursor:pointer;background:0 0;display:block}.chat-load-older:hover{background:var(--surface-muted);color:var(--text)}.chat-scroll-down{z-index:var(--z-sticky);border-radius:var(--radius-full);border:var(--border-thin) solid var(--border-soft);background:var(--surface-raised);width:40px;height:40px;color:var(--accent-ink);box-shadow:var(--shadow-md);cursor:pointer;transition:background var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);animation:chat-event-in var(--motion-base) var(--ease-standard);justify-content:center;align-items:center;display:inline-flex;position:absolute;inset-block-end:calc(var(--space-3xl) + var(--space-lg));inset-inline-end:var(--space-lg)}.chat-scroll-down:hover{background:var(--accent-soft);transform:translateY(-2px)}.chat-scroll-down svg{width:18px;height:18px}.consent-modal{background:var(--surface-base);border:var(--border-thin) solid var(--border-soft);border-radius:var(--radius-xl);padding:var(--space-2xl);width:100%;max-width:420px;box-shadow:var(--shadow-lg);animation:slideUp var(--motion-slow) var(--ease-standard);gap:var(--space-md);text-align:center;display:grid;position:relative}.consent-modal__icon{font-size:2rem}.consent-modal__actions{gap:var(--space-sm);flex-wrap:wrap;justify-content:center;display:flex}.chat-thread__headInfo h1,.chat-thread__headInfo h2,.chat-thread__headInfo h3{white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.chat-thread__status{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.chat-thread__body{min-width:0;min-height:0;padding:var(--space-md) var(--space-lg);gap:var(--space-xs);background:var(--surface-muted);flex-direction:column;flex:auto;display:flex;overflow:hidden auto}.chat-msg{align-items:flex-end;min-width:0;display:flex}.chat-msg--user{justify-content:flex-end}.chat-msg__bubble{overflow-wrap:anywhere;min-width:0;max-width:82%;padding:var(--space-sm) var(--space-md) var(--space-0);border-radius:var(--radius-lg) var(--radius-lg) var(--radius-lg) var(--radius-sm);background:var(--surface-raised);border:var(--border-thin) solid var(--border-soft);box-shadow:var(--shadow-sm);flex-direction:column;gap:2px;min-width:60px;display:flex;position:relative}.chat-msg__bubble p{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;line-height:var(--lh-normal);margin:0}.chat-msg--user .chat-msg__bubble{background:var(--accent);color:var(--accent-contrast);border-radius:var(--radius-lg) var(--radius-lg) var(--radius-sm) var(--radius-lg);border-color:#0000}.chat-msg__bubble--typing{background:var(--surface-raised);color:var(--text-muted);border-style:dashed}.chat-msg__meta{opacity:.75;align-self:flex-end;align-items:center;gap:var(--space-xs);max-width:100%;flex-wrap:wrap;padding-block-end:var(--space-xs);padding-inline-start:var(--space-lg);display:inline-flex}.chat-composer{align-items:flex-end;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border-block-start:var(--border-thin) solid var(--border-soft);background:var(--surface-raised);flex:none;display:flex}.chat-composer .ui-input--area{min-height:44px;max-height:200px}.chat-composer__field{flex:auto;min-width:0}.chat-composer__actions{gap:var(--space-xs);flex-direction:column;flex:none;display:flex}.chat-composer--withbar{align-items:stretch;gap:var(--space-xs);flex-direction:column}.chat-composer__row{align-items:flex-end;gap:var(--space-sm);display:flex}.chat-composer__row .chat-composer__field{flex:auto;min-width:0}.chat-composer__count{color:var(--text-muted);font-variant-numeric:tabular-nums;align-self:flex-end}.send-icobtn{border-radius:var(--radius-full);background:var(--accent);width:42px;height:42px;color:var(--accent-contrast);cursor:pointer;box-shadow:var(--shadow-sm);border:0;flex:none;justify-content:center;align-items:center;padding:0;transition:transform .12s,box-shadow .12s,background .12s;animation:.18s send-pop;display:inline-flex}@keyframes send-pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.send-icobtn svg{width:19px;height:19px}[dir=rtl] .send-icobtn svg{transform:scaleX(-1)}.send-icobtn:hover{box-shadow:var(--shadow-md);transform:scale(1.07)}.send-icobtn:active{transform:scale(.96)}.send-icobtn--voice{background:var(--accent-soft);color:var(--accent-ink)}.chat-composer--unified{flex-direction:row;align-items:flex-end}.chat-fieldwrap{flex:auto;min-width:0;display:flex;position:relative}.chat-fieldwrap__input{min-width:0;flex:auto;padding-inline-start:calc(var(--space-md) + 40px)}.chat-fieldwrap--external .chat-fieldwrap__input{padding-inline-start:calc(var(--space-md) + 76px)}.chat-fieldtools{inset-inline-start:8px;opacity:1;align-items:center;gap:4px;transition:opacity .15s;display:inline-flex;position:absolute;bottom:8px}.mode-dot--infield{background:0 0;border-color:#0000;width:28px;height:28px}.mode-dot--infield:hover{background:var(--surface-muted)}.mode-dot--infield svg{width:17px;height:17px}.provider-mark{width:18px;height:18px;color:var(--accent-ink);justify-content:center;align-items:center;display:inline-flex}.provider-mark svg{width:18px;height:18px}.model-pop--infield{bottom:calc(100% + 10px);min-width:190px;max-width:min(78vw,280px);max-height:min(46dvh,320px);inset-inline-start:0;overflow-y:auto}.menu-backdrop{z-index:20;cursor:default;background:0 0;border:0;padding:0;position:fixed;inset:0}.model-pop--infield{z-index:30}.chat-modebar{align-items:center;gap:var(--space-sm);opacity:1;min-height:30px;max-height:40px;transition:max-height .18s,opacity .18s,min-height .18s;display:flex;overflow:hidden}.chat-modebar--typing{opacity:0;pointer-events:none;min-height:0;max-height:0}.chat-modebar__modes{align-items:center;gap:6px;display:inline-flex}.chat-modebar__label{color:var(--text-muted);min-width:34px}.chat-modebar__count{color:var(--text-muted);font-variant-numeric:tabular-nums;margin-inline-start:auto}.mode-dot{border-radius:var(--radius-full);border:var(--border-thin) solid var(--border-soft);background:var(--surface-muted);width:30px;height:30px;color:var(--text-muted);cursor:pointer;justify-content:center;align-items:center;padding:0;transition:transform .12s,color .12s,border-color .12s,background .12s;display:inline-flex}.mode-dot svg{width:16px;height:16px}.mode-dot:hover{color:var(--text);transform:scale(1.08)}.mode-dot--active{color:var(--accent-contrast);background:var(--accent);box-shadow:var(--shadow-sm);border-color:#0000}.mode-dot--model{gap:4px;width:auto;min-width:30px;padding-inline:6px}.mode-dot__tag{font-size:var(--text-xs);line-height:1}.chat-modebar__model{display:inline-flex;position:relative}.model-pop{bottom:calc(100% + 6px);z-index:30;border-radius:var(--radius-md);background:var(--surface-raised);border:var(--border-thin) solid var(--border-soft);min-width:150px;box-shadow:var(--shadow-md);flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;inset-inline-start:0}.model-pop__item{border-radius:var(--radius-sm);color:var(--text);font-size:var(--text-sm);cursor:pointer;text-align:start;background:0 0;border:0;align-items:center;gap:8px;padding:7px 10px;display:flex}.model-pop__item:hover{background:var(--surface-muted)}.model-pop__item--active{background:color-mix(in srgb, var(--accent) 14%, transparent)}.model-pop__item--disabled{opacity:.55;cursor:not-allowed}.model-pop__item--disabled:hover{background:0 0}.model-pop__sep{background:var(--border-soft);height:1px;margin:4px 6px}.chat{height:calc(100dvh - 132px);min-height:440px;max-height:920px;overflow:hidden}@media (max-height:760px){.chat{height:calc(100dvh - 112px)}}@media (min-width:1024px){.chat{grid-template-columns:minmax(300px,340px) minmax(0,1fr)}}@media (max-width:1023px){.spsf-page.chat .chat{height:calc(100dvh - 112px);min-height:0;max-height:none}body[data-chatview=thread] .shell,body[data-chatview=sessions] .shell{grid-template-rows:minmax(0,1fr)}body[data-chatview=thread] .shell-content,body[data-chatview=sessions] .shell-content{flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex;overflow:hidden}body[data-chatview=thread] .spsf-page.chat,body[data-chatview=sessions] .spsf-page.chat,.spsf-page.chat.chatview-thread,.spsf-page.chat.chatview-sessions{flex-direction:column;flex:auto;width:100%;min-width:0;max-width:100%;min-height:0;padding:0;display:flex}body[data-chatview=thread] .spsf-page.chat .chat,body[data-chatview=sessions] .spsf-page.chat .chat,.spsf-page.chat.chatview-thread .chat,.spsf-page.chat.chatview-sessions .chat{flex:auto;gap:0;height:auto;min-height:0;max-height:none}body[data-chatview=thread] .spsf-page.chat .chat-thread,body[data-chatview=sessions] .spsf-page.chat .chat-sessions,.spsf-page.chat.chatview-thread .chat-thread,.spsf-page.chat.chatview-sessions .chat-sessions{border-width:0;border-radius:0;flex:auto;min-height:0}}.chat-list__items,.chat-thread__body{scrollbar-width:thin;scrollbar-color:var(--accent) var(--surface-muted)}.chat-list__items::-webkit-scrollbar{width:10px;height:10px}.chat-thread__body::-webkit-scrollbar{width:10px;height:10px}.chat-list__items::-webkit-scrollbar-track{background:var(--surface-muted);border-radius:var(--radius-full)}.chat-thread__body::-webkit-scrollbar-track{background:var(--surface-muted);border-radius:var(--radius-full)}.chat-list__items::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--accent) 45%, var(--border-soft));border-radius:var(--radius-full);border:2px solid var(--surface-muted)}.chat-thread__body::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--accent) 45%, var(--border-soft));border-radius:var(--radius-full);border:2px solid var(--surface-muted)}.chat-list__items::-webkit-scrollbar-thumb:hover{background:var(--accent)}.chat-thread__body::-webkit-scrollbar-thumb:hover{background:var(--accent)}.chat-welcome{justify-content:center;align-items:center;gap:var(--space-md);text-align:center;min-height:0;padding:var(--space-xl);background:radial-gradient(circle at 50% 40%, color-mix(in srgb, var(--accent-soft) 55%, transparent), transparent 60%), var(--surface-muted);flex-direction:column;flex:auto;display:flex;overflow:hidden}.chat-welcome__icon{border-radius:var(--radius-full);background:var(--accent-soft);width:96px;height:96px;color:var(--accent-ink);animation:chat-pulse 2.4s var(--ease-standard) infinite;box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 35%, transparent);justify-content:center;align-items:center;font-size:46px;display:inline-flex}@keyframes chat-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 35%, transparent);transform:scale(1)}50%{box-shadow:0 0 0 18px color-mix(in srgb, var(--accent) 0%, transparent);transform:scale(1.08)}to{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 0%, transparent);transform:scale(1)}}.chat-welcome__title{color:var(--text);margin:0}.chat-welcome__hint{max-width:360px;color:var(--text-muted);margin:0}.chat-msg__status{color:var(--text-muted);align-items:center;gap:2px;font-size:12px;line-height:1;display:inline-flex}.chat-msg__status svg{width:14px;height:14px}.chat-msg__status--sending,.chat-msg__status--sent,.chat-msg__status--delivered{color:var(--text-muted)}.chat-msg__status--read{color:var(--accent)}.chat-msg__status .chat-status-clock{animation:1s steps(2,jump-none) infinite chat-clock}@keyframes chat-clock{0%,to{opacity:1}50%{opacity:.4}}.trk-chat{flex-direction:column;min-height:0;display:flex;overflow:hidden}.trk-chat .chat-thread__body{background:var(--surface-muted)}.trk-chat .chat-thread__head,.trk-chat .chat-composer{flex-wrap:wrap}.chat-sessions{flex-direction:column;min-height:0;padding:0;display:flex;overflow:hidden}.chat-back--always{display:inline-flex}.sess-filter{padding:var(--space-sm) var(--space-md);border-block-end:var(--border-thin) solid var(--border-soft);background:var(--surface-raised);scrollbar-width:none;flex-wrap:wrap;flex:none;gap:6px;display:flex;overflow-x:visible}.sess-filter::-webkit-scrollbar{display:none}.sess-chip{border-radius:var(--radius-full);border:var(--border-thin) solid var(--border-soft);background:var(--surface-muted);color:var(--text-muted);font-size:var(--text-xs);cursor:pointer;flex:none;align-items:center;gap:6px;padding:6px 12px;transition:transform .12s,background .12s,color .12s,border-color .12s;display:inline-flex}.sess-chip:hover{color:var(--text);transform:translateY(-1px)}.sess-chip--active{background:var(--accent);color:var(--accent-contrast);box-shadow:var(--shadow-sm);border-color:#0000}.sess-chip--project{padding:0;position:relative;overflow:visible}.sess-chip--project>button:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:180px;color:inherit;cursor:pointer;background:0 0;border:0;padding:6px 4px 6px 12px;overflow:hidden}.sess-chip__options{border:0;border-inline-start:var(--border-thin) solid currentColor;color:inherit;cursor:pointer;background:0 0;padding:4px 7px;line-height:1}.sess-chip__menu{z-index:2;border:var(--border-thin) solid var(--border-soft);border-radius:var(--radius-md);background:var(--surface-raised);min-width:92px;box-shadow:var(--shadow-md);padding:4px;display:grid;position:absolute;inset-block-start:calc(100% + 4px);inset-inline-end:0}.sess-chip__menu button{border-radius:var(--radius-sm);color:var(--text);text-align:start;cursor:pointer;background:0 0;border:0;padding:6px 8px}.sess-chip__menu button:hover{background:var(--surface-muted)}.sess-chip--add{border-style:dashed}.sess-list{gap:var(--space-sm);min-height:0;padding:var(--space-md) var(--space-lg);background:var(--surface-muted);flex-direction:column;flex:auto;display:flex;overflow-y:auto}.sess-new{align-items:center;gap:var(--space-md);text-align:start;padding:var(--space-md) var(--space-lg);border-radius:var(--radius-lg);border:2px dashed color-mix(in srgb, var(--accent) 45%, var(--border-soft));background:color-mix(in srgb, var(--accent-soft) 45%, transparent);color:var(--text);cursor:pointer;transition:transform .14s,box-shadow .14s,background .14s;display:flex}.sess-new:hover{box-shadow:var(--shadow-md);background:var(--accent-soft);transform:translateY(-2px)}.sess-new:active{transform:translateY(0)scale(.99)}.sess-new:disabled{opacity:.6;cursor:wait;transform:none}.sess-new__icon{border-radius:var(--radius-full);background:var(--accent);width:44px;height:44px;color:var(--accent-contrast);box-shadow:var(--shadow-sm);flex:none;justify-content:center;align-items:center;font-size:22px;transition:transform .2s;display:inline-flex}.sess-new:hover .sess-new__icon{transform:rotate(90deg)scale(1.06)}.sess-card{align-items:center;gap:var(--space-md);text-align:start;padding:var(--space-md) var(--space-lg);border-radius:var(--radius-lg);border:var(--border-thin) solid var(--border-soft);background:var(--surface-raised);color:var(--text);box-shadow:var(--shadow-sm);transition:transform .13s,box-shadow .13s,border-color .13s;animation:.25s backwards sess-in;display:flex}.sess-card__open{align-items:center;gap:var(--space-md);min-width:0;color:inherit;text-align:start;cursor:pointer;background:0 0;border:0;flex:1;padding:0;display:flex}.sess-card__delete{border-radius:var(--radius-full);color:var(--text-muted);cursor:pointer;background:0 0;border:0;flex:none;width:28px;height:28px;font-size:20px}.sess-card__delete:hover{background:color-mix(in srgb, var(--danger) 14%, transparent);color:var(--danger)}@keyframes sess-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.sess-card:hover{box-shadow:var(--shadow-md);border-color:var(--accent);transform:translateY(-2px)}.sess-card:active{transform:translateY(0)scale(.995)}.sess-card__icon{border-radius:var(--radius-full);background:var(--accent-soft);width:42px;height:42px;color:var(--accent-ink);flex:none;justify-content:center;align-items:center;font-size:20px;display:inline-flex}.sess-card__main{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.sess-card__unread{border-radius:var(--radius-full);background:var(--accent);min-width:20px;height:20px;color:var(--accent-contrast);font-size:11px;font-weight:var(--fw-bold);flex:none;justify-content:center;align-items:center;padding:0 6px;line-height:1;display:inline-flex}.sess-card__row{justify-content:space-between;align-items:center;gap:var(--space-sm);min-width:0;display:flex}.sess-card__preview{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sess-badge{font-size:var(--text-xs);color:var(--accent-ink);background:var(--accent-soft);border-radius:var(--radius-full);white-space:nowrap;align-self:flex-start;padding:1px 10px}.sess-card__go{color:var(--text-muted);flex:none;font-size:20px;transition:transform .13s}.sess-card:hover .sess-card__go{color:var(--accent-ink);transform:translate(-4px)}[dir=ltr] .sess-card:hover .sess-card__go{transform:translate(4px)}.chat-msg__bubble .chat-edit-field{background:var(--surface);color:var(--text);caret-color:var(--accent);border:var(--border-thin) solid var(--accent)}.chat-msg__bubble .chat-edit-field::placeholder{color:var(--text-muted)}.msg-icobtn{border-radius:var(--radius-full);width:24px;height:24px;color:inherit;cursor:pointer;opacity:.85;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;transition:opacity .12s,background .12s,transform .12s;display:inline-flex}.msg-icobtn svg{width:14px;height:14px}.msg-icobtn:hover{opacity:1;background:color-mix(in srgb, currentColor 14%, transparent);transform:scale(1.08)}.msg-icobtn:disabled{opacity:.4;cursor:default;transform:none}.chat-source-badge{border:var(--border-thin) solid var(--border-soft);border-radius:var(--radius-full);color:var(--text-muted);margin-inline-start:var(--space-xs);padding:1px 5px;font-size:10px;line-height:1.4;display:inline-flex}.chat-rerun-external{color:var(--accent-ink);font:inherit;cursor:pointer;background:0 0;border:0;margin-inline-start:var(--space-xs);padding:1px 3px;font-size:10px;text-decoration:underline}.chat-rerun-external:disabled{opacity:.5;cursor:default}.chat-msg-icobtn{border-radius:var(--radius-full);cursor:pointer;width:24px;height:24px;color:var(--text-muted);transition:background var(--motion-base) var(--ease-standard), transform var(--motion-base) var(--ease-standard), color var(--motion-base) var(--ease-standard);background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.chat-msg-icobtn svg{width:14px;height:14px}.chat-msg-icobtn:hover{background:color-mix(in srgb, var(--accent) 14%, transparent);transform:scale(1.12)}.chat-msg-icobtn:disabled{opacity:.4;cursor:default;transform:none}.chat-rerun-icobtn:hover{color:var(--accent-ink)}.chat-pos-rate:hover{color:var(--color-success);background:var(--color-success-soft)}.chat-neg-rate:hover{color:var(--color-error);background:var(--color-error-soft)}.chat-copy-icobtn:hover{color:var(--accent-ink);background:var(--accent-soft)}.rating-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:var(--z-modal);padding:var(--space-lg);animation:fadeIn var(--motion-base) var(--ease-standard);background:#0f172a80;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.rating-modal{background:var(--surface-base);border:var(--border-thin) solid var(--border-soft);border-radius:var(--radius-xl);padding:var(--space-2xl);width:100%;max-width:400px;box-shadow:var(--shadow-lg);animation:slideUp var(--motion-slow) var(--ease-standard);gap:var(--space-md);display:grid;position:relative}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.rating-modal__close{top:var(--space-sm);left:var(--space-sm);border-radius:var(--radius-full);cursor:pointer;width:32px;height:32px;color:var(--text-muted);transition:background var(--motion-fast) var(--ease-standard);background:0 0;border:0;justify-content:center;align-items:center;display:flex;position:absolute}.rating-modal__close:hover{background:color-mix(in srgb, var(--text-soft) 14%, transparent)}.rating-modal__close svg{width:16px;height:16px}.rating-modal__icon{margin-top:var(--space-sm);justify-content:center;display:flex}.rating-modal__icon svg{width:56px;height:56px;animation:popIn var(--motion-slow) var(--ease-standard)}@keyframes popIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.rating-modal__title{text-align:center;margin:0}.rating-modal__stars{justify-content:center;gap:var(--space-sm);display:flex}.rating-star{cursor:pointer;color:var(--border-soft);transition:color var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);-webkit-user-select:none;user-select:none;background:0 0;border:0;padding:2px;font-size:32px;line-height:1}.rating-star:hover{transform:scale(1.2)}.rating-star--active{color:var(--color-warning)}.rating-modal__note{resize:none}.rating-modal__actions{justify-content:flex-end;gap:var(--space-sm);display:flex}.chat-project-picker{gap:var(--space-xs);max-height:42vh;display:grid;overflow-y:auto}.chat-project-picker label{align-items:center;gap:var(--space-sm);padding:var(--space-sm);border:var(--border-thin) solid var(--border-soft);border-radius:var(--radius-md);cursor:pointer;grid-template-columns:auto 1fr auto;min-width:0;display:grid}.chat-project-picker span{color:var(--text-muted);font-size:var(--text-xs);text-overflow:ellipsis;overflow:hidden}.chat-confirm{align-items:flex-start;gap:var(--space-sm);color:var(--text);cursor:pointer;display:flex}@media (max-width:1023px){.chat{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.chat-list--hidden{display:none}.chat-thread{min-width:0;display:none}.chat-thread--open{display:flex}.chat-sessions{display:none}.chat-sessions--open{width:100%;max-width:100%;display:flex;overflow-x:hidden}.sess-filter{padding:var(--space-sm);flex-wrap:wrap;overflow-x:visible}.sess-chip{max-width:100%}.sess-list{padding:var(--space-sm)}.sess-card,.sess-new{min-width:0;padding:var(--space-md)}.sess-chip--project>button:first-child{max-width:135px}.sess-card__preview{-webkit-line-clamp:2;white-space:normal;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}}.chat-back{flex:none;display:none}.chat-edit-btn{border:var(--border-thin) solid var(--border-soft);background:var(--surface-muted);color:var(--text);cursor:pointer;font-size:var(--text-xs);padding:2px var(--space-sm);border-radius:var(--radius-full);transition:border-color var(--motion-fast) var(--ease-standard), color var(--motion-fast) var(--ease-standard), background var(--motion-fast) var(--ease-standard)}.chat-edit-btn:hover{color:var(--accent-ink);border-color:var(--accent);background:var(--accent-soft)}@media (max-width:1023px){.chat-back{display:inline-flex}}@media (max-width:640px){.chat-list__avatar{width:40px;height:40px}.chat-list__item{padding:var(--space-sm) var(--space-md)}.chat-thread__body{padding:var(--space-md)}.chat-composer{padding:var(--space-sm) var(--space-md)}}.widget-grid{gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));display:grid}.widget{gap:var(--space-md);text-align:start;color:var(--text);cursor:pointer;padding:var(--space-lg);flex-direction:column;align-items:flex-start;display:flex}.widget:disabled{cursor:default}.widget:hover:not(:disabled){border-color:var(--accent)}.widget__title{color:var(--text-muted)}.widget__value{font-size:var(--text-2xl);font-weight:var(--fw-bold);align-items:baseline;gap:var(--space-xs);display:inline-flex}.charts-grid{gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.chart-card{padding:var(--space-md)}.chart{gap:var(--space-xs);flex-direction:column;min-height:140px;display:flex}.chart__bars{align-items:flex-end;gap:var(--space-sm);flex:1;display:flex}.chart__col{flex:1;align-items:flex-end;height:100%;display:flex}.chart__bar{border-radius:var(--radius-sm) var(--radius-sm) 0 0;width:100%;min-height:4px}.chart__labels{justify-content:space-around;display:flex}.chart__label{font-size:var(--text-xs);color:var(--text-muted)}.chart__svg{width:100%;height:90px}.donut{gap:var(--space-lg);flex-wrap:wrap;align-items:center;display:flex}.donut__ring{border-radius:var(--radius-full);flex:none;width:110px;height:110px}.donut__legend{gap:var(--space-xs);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.donut__legend li{align-items:center;gap:var(--space-xs);font-size:var(--text-xs);display:flex}.donut__dot{border-radius:var(--radius-full);width:10px;height:10px;display:inline-block}.run-timeline{gap:var(--space-md);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.run-timeline__step{align-items:center;gap:var(--space-md);color:var(--text-muted);display:flex}.run-timeline__dot{border-radius:var(--radius-full);border:2px solid var(--border-soft);flex:none;width:12px;height:12px}.run-timeline__step--done{color:var(--text)}.run-timeline__step--done .run-timeline__dot{background:var(--accent);border-color:var(--accent)}.run-logs{color:#a5f3fc;text-align:left;padding:var(--space-lg);border-radius:var(--radius-md);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--text-xs);direction:ltr;background:#0b1220;max-height:260px;overflow:auto}.ops-grid{gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid}.ops-card{gap:var(--space-md);text-align:start;color:var(--text);cursor:pointer;padding:var(--space-xl);flex-direction:column;align-items:flex-start;display:flex}.ops-card:hover{border-color:var(--accent)}.ops-card__icon{font-size:var(--text-2xl)}@media print{.shell-sidebar,.shell-topbar,.shell-quick,.shell-icon,.ui-btn,.spsf-button,.dt-toolbar,.cmd{display:none!important}.shell,.shell-body,.shell-content{height:auto;display:block;overflow:visible}.spsf-card,.ui-card{box-shadow:none;border-color:#000}body{color:#000;background:#fff}}.skip-link{inset-inline-start:-9999px;z-index:var(--z-tooltip);background:var(--accent);color:var(--accent-contrast);padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-md);position:absolute;top:0}.skip-link:focus{inset-inline-start:var(--space-sm)}.live-notice{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-full);background:var(--accent-soft);color:var(--accent-ink);font-size:var(--text-sm);display:inline-flex}.live-dot{border-radius:var(--radius-full);background:var(--color-success);width:8px;height:8px;animation:1.4s ease-in-out infinite live-pulse}@keyframes live-pulse{0%,to{opacity:1}50%{opacity:.35}}.shell-icon-mark{flex:none;justify-content:center;align-items:center;width:20px;line-height:1;display:inline-flex}.shell-item .shell-icon-mark,.shell-group__title .shell-icon-mark{border-radius:var(--radius-sm);background:var(--surface-muted);width:26px;height:26px;transition:background var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);font-size:14px}.shell-item:hover .shell-icon-mark,.shell-item--active .shell-icon-mark,.shell-group__title:hover .shell-icon-mark,.shell-group__title--active .shell-icon-mark{background:var(--accent-soft)}.shell-item--active .shell-icon-mark{transform:scale(1.06)}.shell-item,.shell-group__title{align-items:center;gap:var(--space-sm);display:flex}.shell-group__title{cursor:pointer;justify-content:space-between;list-style:none}.shell-group__title::-webkit-details-marker{display:none}.shell-group__title::marker{display:none}.shell-group__head{align-items:center;gap:var(--space-sm);display:inline-flex}.shell-group__title:after{content:"▸";font-size:var(--text-xs);transition:transform var(--motion-fast) var(--ease-standard)}[dir=rtl] .shell-group__title:after{content:"◂"}details[open] .shell-group__title:after,[dir=rtl] details[open] .shell-group__title:after{content:"▾"}.shell-sidebar--rail .shell-group__title{justify-content:center;padding-inline:0}.shell-sidebar--rail .shell-group__title .shell-icon-mark{margin-inline:0}.shell-sidebar--rail .shell-item{justify-content:center;align-items:center;gap:0;padding-inline:0;display:flex}.shell-sidebar--rail .shell-item .shell-item__text,.shell-sidebar--rail .shell-item .t-xs,.shell-sidebar--rail .shell-group__label{display:none}.shell-sidebar--rail .shell-item .shell-icon-mark,.shell-sidebar--rail .shell-group__title .shell-group__head .shell-icon-mark{margin-inline:0}.shell-sidebar--rail .shell-group__title .shell-group__head span:not(.shell-icon-mark){display:none}.shell[data-env=production] .shell-topbar{box-shadow:inset 0 0 0 2px var(--color-warning)}.shell[data-env=staging] .shell-topbar{box-shadow:inset 0 0 0 1px var(--color-info)}html[data-density=compact] .dt-table td,html[data-density=compact] .dt-table th{padding:var(--space-xs)}html[data-density=comfortable] .dt-table td,html[data-density=comfortable] .dt-table th{padding:var(--space-md)}html[data-radius=sm]{--radius-sm:4px;--radius-md:6px;--radius-lg:8px}html[data-radius=lg]{--radius-sm:8px;--radius-md:14px;--radius-lg:22px}.shell-group[data-divider=true]{border-top:1px solid var(--border-soft);margin-top:var(--space-md);padding-top:var(--space-xs)}.oc-feed{overflow:hidden}.oc-feed__head{gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-bottom:var(--border-thin) solid var(--border-soft);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;display:flex}.oc-feed__tools{align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.oc-feed__tools label{align-items:center;gap:var(--space-xs);display:inline-flex}.oc-feed__body{padding:var(--space-md) var(--space-lg);gap:var(--space-md);background:var(--surface-muted);flex-direction:column;display:flex}.oc-msg{gap:var(--space-sm);align-items:flex-start;display:flex}.oc-msg__avatar{background:var(--surface-raised);border:var(--border-thin) solid var(--border-soft);border-radius:50%;flex:0 0 28px;place-items:center;width:28px;height:28px;font-size:14px;display:grid}.oc-msg__content{background:var(--surface-raised);border:var(--border-thin) solid var(--border-soft);border-radius:var(--radius-lg);min-width:0;padding:var(--space-sm) var(--space-md);flex:auto}.oc-msg--user .oc-msg__content{background:var(--surface-muted)}.oc-msg__meta{gap:var(--space-sm);opacity:.85;margin-bottom:var(--space-xs);align-items:baseline;display:flex}.oc-h{margin:var(--space-sm) 0 var(--space-xs);font-size:1.05em}.oc-p{margin:var(--space-0) 0 var(--space-xs);line-height:var(--lh-normal);white-space:pre-wrap;word-break:break-word}.oc-ul{margin:0 0 var(--space-xs);gap:2px;padding-inline-start:var(--space-lg);display:grid}.oc-code{font-family:var(--font-mono,monospace);background:var(--surface-muted);border-radius:4px;padding:1px 4px;font-size:.92em}.oc-pre{margin:var(--space-xs) 0;padding:var(--space-sm) var(--space-md);background:var(--surface-muted);border:1px solid var(--border-soft);border-radius:var(--radius-sm);white-space:pre;text-align:left;max-height:420px;font-family:var(--font-mono,monospace);direction:ltr;font-size:.86em;line-height:1.45;overflow:auto}.oc-pre--cmd{color:var(--text-strong)}.oc-pre--out{color:var(--text-soft)}.oc-table-wrap{margin:var(--space-xs) 0;overflow-x:auto}.oc-table{border-collapse:collapse;width:100%;font-size:.9em}.oc-table th,.oc-table td{border:1px solid var(--border-soft);text-align:start;vertical-align:top;padding:4px 8px}.oc-table th{background:var(--surface-muted)}.oc-tool{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--surface-muted);margin:var(--space-xs) 0}.oc-tool__summary{cursor:pointer;gap:var(--space-sm);padding:var(--space-xs) var(--space-md);flex-wrap:wrap;align-items:center;display:flex}.oc-tool__name{font-weight:700;font-family:var(--font-mono,monospace);text-transform:lowercase;font-size:.85em}.oc-tool__file{font-family:var(--font-mono,monospace);direction:ltr;font-size:.85em}.oc-tool__cmd{font-family:var(--font-mono,monospace);opacity:.8;text-overflow:ellipsis;white-space:nowrap;direction:ltr;max-width:46ch;font-size:.82em;overflow:hidden}.oc-tool__body{padding:0 var(--space-md) var(--space-sm)}.oc-tool__section{margin-top:var(--space-xs)}.oc-tool__label{text-transform:uppercase;letter-spacing:.04em;opacity:.7;margin-bottom:2px;font-size:.78em}.oc-badge{font-family:var(--font-mono,monospace);border-radius:6px;padding:0 6px;font-size:.78em}.oc-badge--ok{color:var(--color-success,#1e7e34);background:#228b2229}.oc-badge--err{color:var(--color-danger,#b42318);background:#c83c3c29}.badge-lowercase{text-transform:lowercase}.oc-diff{margin-top:var(--space-xs)}.oc-diff__head{align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.oc-diff__title{font-family:var(--font-mono,monospace);direction:ltr;font-size:.85em;font-weight:700}.oc-diff__count{font-family:var(--font-mono,monospace);border-radius:6px;padding:0 6px;font-size:.8em}.oc-diff__count--del{color:var(--color-danger,#b42318);background:#c83c3c29}.oc-diff__count--add{color:var(--color-success,#1e7e34);background:#228b2229}.oc-diff__col{margin-top:4px}.oc-diff__label{text-transform:uppercase;letter-spacing:.04em;opacity:.75;margin-bottom:2px;font-size:.78em}.oc-diff__label--del{color:var(--color-danger,#b42318)}.oc-diff__label--add{color:var(--color-success,#1e7e34)}.oc-pre--del{border-color:#c83c3c59}.oc-pre--add{border-color:#228b2259}.oc-line-mark{opacity:.6;width:1.2em;display:inline-block}@media print{@page{size:A4;margin:10mm}html{font-size:12px}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}body{color:#1a1a1a!important;background:#fff!important}.shell-sidebar,.shell-topbar,.shell-backdrop,.dt-toolbar,.dt-filters,.dt-cols,.dt-bulk,.dt-pagination,.dt-search,.chat-composer,.chat-list,.shell-quick,.trk-stat-grid,.shell-pop,.shell-user,.shell-quick,button:not(.printable),.spsf-button,.btn,.dt-check,th.dt-check{display:none!important}.shell,.shell-body,.shell-content,.spsf-page,main,.spsf-stack,.dt-table-wrap{width:100%!important;max-width:100%!important;height:auto!important;display:block!important;overflow:visible!important}.spsf-card,.card{break-inside:avoid;margin-bottom:6mm;box-shadow:none!important;border:1px solid #c9c9c9!important;border-radius:4px!important;padding:4mm!important}h1,h2,h3{break-after:avoid}table,.dt-table{table-layout:auto;word-break:normal;font-size:10.5pt;border-collapse:collapse!important;width:100%!important;max-width:100%!important}.dt-table th,table th,.dt-table td,table td{white-space:normal;word-break:break-word;overflow-wrap:anywhere}.dt-table-wrap{overflow:visible!important}.dt-table th,table th,.dt-table thead th{text-align:start;-webkit-print-color-adjust:exact;print-color-adjust:exact;padding:2.5mm;font-weight:700;color:#fff!important;background:linear-gradient(#1e3a8a,#1e40af)!important;border:1px solid #163d79!important}.dt-table td,table td{vertical-align:top;padding:2mm;border:1px solid #c7d2e2!important}.dt-table tbody tr:nth-child(2n),table tbody tr:nth-child(2n){background:#eef4fc!important}thead{display:table-header-group}tr,.dt-table tbody tr,table tbody tr,.spsf-card,.card{break-inside:auto}.task-list{margin:0;padding:0;list-style:none}.task-list>li{break-inside:avoid}.trk-list-scroll,.oc-feed__body,.chat-thread__body{max-height:none!important;overflow:visible!important}.task-row{break-inside:avoid;background:#fff;border-radius:4px;margin-bottom:2mm;padding:2mm;display:block;border:1px solid #cfd6e0!important}.task-row__title{display:block}.task-row__meta{margin-top:1mm;display:block}.badge,.ui-badge{border:1px solid #999;border-radius:3px;padding:0 2mm;font-size:8.5pt;display:inline-block}[dir=rtl] .dt-table-wrap,[dir=ltr] .dt-table-wrap{overflow:visible!important}}.chat-thread__tools{align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.chat-thread__session{align-items:center;gap:var(--space-xs);display:inline-flex}.chat-thread__session select{max-width:240px}body,.spsf-page,.spsf-card,.card,.ui-state,.dt-table,.chat-msg__bubble,.chat-list__item,.task-row,.widget,.chip{color:var(--text-strong)}input,select,textarea,.ui-input,.dt-search,.chat-composer__field{background:var(--surface);color:var(--text-strong);caret-color:var(--accent)}.spsf-state,.t-sm,.t-xs,.chat-msg__meta{color:var(--text-soft)}[data-theme=dark] ::placeholder,.t-xs::placeholder{color:var(--text-muted)}[dir=rtl] .dt-table-wrap,[dir=ltr] .dt-table-wrap{overflow-x:auto}@media (max-width:640px){.dt-table-wrap{-webkit-overflow-scrolling:touch}}select option{background:var(--surface);color:var(--text-strong)}
