@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@600;700;800&family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ts-primary:#1a56db;--ts-primary-hover:#1648b8;--ts-primary-soft:#edf2ff;--ts-primary-muted:#7baaf7;--ts-bg:#f0f3f8;--ts-surface:#fff;--ts-surface-muted:#f6f8fb;--ts-surface-raised:#fff;--ts-surface-sunken:#eaeef5;--ts-border:#d4dce8;--ts-border-strong:#b8c5d6;--ts-border-subtle:#e8edf5;--ts-text:#0c1829;--ts-heading:#0a1628;--ts-text-muted:#566a82;--ts-text-inverse:#fff;--ts-text-subtle:#8494a7;--ts-success:#0d7a56;--ts-success-soft:#eafaf4;--ts-warning:#b85c00;--ts-warning-soft:#fdf4e8;--ts-danger:#c72a2a;--ts-danger-soft:#fdf0f0;--ts-info:#1a56db;--ts-info-soft:#edf2ff;--ts-module-accent-dl:#0f766e;--ts-module-accent-ss:#6d28d9;--ts-module-accent-cm:#1a56db;--ts-module-accent-dc:#0284c7;--ts-module-accent-lci:#1a56db;--ts-module-accent-aa:#566a82;--ts-ring:#1a56db33;--ts-app-bg:radial-gradient(circle at top left, #1a56db0d, transparent 340px), radial-gradient(circle at top right, #0f766e0b, transparent 300px), var(--ts-bg);--ts-topbar-bg:linear-gradient(180deg, #fffffffa, #f8fafcf5);--ts-panel-bg:linear-gradient(180deg, #fff 0%, #fbfdff 100%);--ts-panel-muted-bg:#f8fbff;--ts-table-head-bg:#f2f5f9;--ts-table-row-hover:#1a56db09;--ts-input-bg:#fff;--ts-overlay-bg:#0f172a6b;--ts-status-ready:#2563eb;--ts-status-running:#10b981;--ts-status-scheduled:#d97706;--ts-status-failed:#ef4444;--ts-status-muted:#94a3b8;--ts-run-ok:#6ee7a7;--ts-run-failed:#fca5a5;--ts-run-pending:#f6c56f;--ts-font-heading:"Plus Jakarta Sans", "Inter", ui-sans-serif, system-ui, -apple-system, sans-serif;--ts-font-body:"Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--ts-font-mono:"JetBrains Mono", ui-monospace, "Cascadia Code", "Fira Code", monospace;--ts-text-hero:38px;--ts-text-h1:28px;--ts-text-h2:22px;--ts-text-h3:18px;--ts-text-body:15px;--ts-text-small:13px;--ts-text-tiny:11.5px;--ts-text-mono-size:13px;--ts-leading-tight:1.2;--ts-leading-normal:1.5;--ts-leading-relaxed:1.6;--ts-tracking-tight:-.015em;--ts-tracking-normal:0;--ts-tracking-wide:.04em;--ts-tracking-wider:.06em;--ts-space-xs:4px;--ts-space-sm:8px;--ts-space-md:16px;--ts-space-lg:24px;--ts-space-xl:32px;--ts-space-2xl:48px;--ts-shadow-xs:0 1px 2px #0a16280a;--ts-shadow-sm:0 1px 3px #0a16280f, 0 1px 2px #0a16280a;--ts-shadow-md:0 4px 8px -1px #0a162812, 0 2px 4px -1px #0a16280a;--ts-shadow-lg:0 10px 24px -3px #0a162814, 0 4px 6px -2px #0a16280a;--ts-shadow-xl:0 20px 40px -5px #0a16281a, 0 8px 16px -4px #0a16280d;--ts-shadow-ring:0 0 0 1px #0a16280d;--ts-radius-sm:6px;--ts-radius-md:8px;--ts-radius-lg:12px;--ts-radius-xl:16px;--ts-radius-full:9999px;--ts-transition-fast:.1s cubic-bezier(.4, 0, .2, 1);--ts-transition-normal:.18s cubic-bezier(.4, 0, .2, 1);--ts-transition-slow:.28s cubic-bezier(.4, 0, .2, 1);--ts-z-dropdown:1200;--ts-z-sticky:1100;--ts-z-modal-backdrop:1300;--ts-z-modal:1400;--ts-z-toast:1500}:root[data-theme=dark],:root[data-theme=system][data-resolved-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ts-primary:#5b8dff;--ts-primary-hover:#7da4ff;--ts-primary-soft:#5b8dff26;--ts-primary-muted:#9bb9ff;--ts-bg:#07111f;--ts-surface:#101b2b;--ts-surface-muted:#152235;--ts-surface-raised:#17263a;--ts-surface-sunken:#07101d;--ts-border:#263750;--ts-border-strong:#3a506f;--ts-border-subtle:#1d2c42;--ts-text:#dce7f5;--ts-heading:#f4f8fc;--ts-text-muted:#9aabc0;--ts-text-inverse:#06101d;--ts-text-subtle:#75869d;--ts-success:#6ee7a7;--ts-success-soft:#10b98124;--ts-warning:#f6c56f;--ts-warning-soft:#d9770629;--ts-danger:#f87171;--ts-danger-soft:#ef444426;--ts-info:#93c5fd;--ts-info-soft:#3b82f629;--ts-module-accent-dl:#2dd4bf;--ts-module-accent-ss:#86a8ff;--ts-module-accent-cm:#7da4ff;--ts-module-accent-dc:#38bdf8;--ts-module-accent-lci:#7da4ff;--ts-module-accent-aa:#a8b5c6;--ts-ring:#7da4ff42;--ts-app-bg:radial-gradient(circle at top left, #2dd4bf17, transparent 360px), radial-gradient(circle at top right, #5b8dff14, transparent 320px), linear-gradient(180deg, #091321 0%, #07111f 100%);--ts-topbar-bg:linear-gradient(180deg, #142031fa, #0c1624f5);--ts-panel-bg:linear-gradient(180deg, #111d2d 0%, #0e1827 100%);--ts-panel-muted-bg:#142238;--ts-table-head-bg:#142238;--ts-table-row-hover:#7da4ff14;--ts-input-bg:#0d1726;--ts-overlay-bg:#02060fad;--ts-status-ready:#60a5fa;--ts-status-running:#34d399;--ts-status-scheduled:#fbbf24;--ts-status-failed:#f87171;--ts-status-muted:#64748b;--ts-run-ok:#5ee6a0;--ts-run-failed:#fb8f8f;--ts-run-pending:#f1c15f;--ts-shadow-xs:0 1px 2px #00000038;--ts-shadow-sm:0 1px 3px #0000003d, 0 1px 2px #0000002e;--ts-shadow-md:0 8px 18px -12px #0000008c;--ts-shadow-lg:0 16px 34px -24px #000000b3;--ts-shadow-xl:0 24px 54px -28px #000000c7;--ts-shadow-ring:0 0 0 1px #94a3b81a}:root[data-theme=midnight]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ts-primary:#38bdf8;--ts-primary-hover:#7dd3fc;--ts-primary-soft:#38bdf829;--ts-primary-muted:#93c5fd;--ts-bg:#030816;--ts-surface:#0a1224;--ts-surface-muted:#101b31;--ts-surface-raised:#14213a;--ts-surface-sunken:#020611;--ts-border:#1e3354;--ts-border-strong:#34527a;--ts-border-subtle:#13233b;--ts-text:#d6e6ff;--ts-heading:#f5f9ff;--ts-text-muted:#8ca9cf;--ts-text-inverse:#031021;--ts-text-subtle:#6683aa;--ts-success:#2dd4bf;--ts-success-soft:#2dd4bf26;--ts-warning:#fbbf24;--ts-warning-soft:#fbbf2429;--ts-danger:#fb7185;--ts-danger-soft:#fb718526;--ts-info:#7dd3fc;--ts-info-soft:#7dd3fc29;--ts-module-accent-dl:#22d3ee;--ts-module-accent-ss:#8b5cf6;--ts-module-accent-cm:#60a5fa;--ts-module-accent-dc:#38bdf8;--ts-module-accent-lci:#818cf8;--ts-module-accent-aa:#9fb6d8;--ts-ring:#38bdf847;--ts-app-bg:radial-gradient(circle at top left, #22d3ee1f, transparent 360px), radial-gradient(circle at top right, #6366f11a, transparent 340px), linear-gradient(180deg, #071126 0%, #030816 52%, #020512 100%);--ts-topbar-bg:linear-gradient(180deg, #0d1830fa, #081124f5);--ts-panel-bg:linear-gradient(180deg, #0d1729 0%, #081225 100%);--ts-panel-muted-bg:#101b31;--ts-table-head-bg:#101d35;--ts-table-row-hover:#38bdf814;--ts-input-bg:#071020;--ts-overlay-bg:#010510bd;--ts-status-ready:#60a5fa;--ts-status-running:#22d3ee;--ts-status-scheduled:#fbbf24;--ts-status-failed:#fb7185;--ts-status-muted:#52657f;--ts-run-ok:#67e8f9;--ts-run-failed:#fda4af;--ts-run-pending:#fcd34d;--ts-shadow-xs:0 1px 2px #00000047;--ts-shadow-sm:0 1px 3px #0000004d, 0 1px 2px #00000038;--ts-shadow-md:0 8px 18px -12px #0000009e;--ts-shadow-lg:0 16px 34px -24px #000000c7;--ts-shadow-xl:0 24px 54px -28px #000000db;--ts-shadow-ring:0 0 0 1px #7dd3fc1f}:root[data-theme=nord]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ts-primary:#88c0d0;--ts-primary-hover:#8fbcbb;--ts-primary-soft:#88c0d029;--ts-primary-muted:#81a1c1;--ts-bg:#242933;--ts-surface:#2e3440;--ts-surface-muted:#343c4a;--ts-surface-raised:#3b4252;--ts-surface-sunken:#202630;--ts-border:#465164;--ts-border-strong:#5a667a;--ts-border-subtle:#384252;--ts-text:#d8dee9;--ts-heading:#eceff4;--ts-text-muted:#b8c3d4;--ts-text-inverse:#1f2630;--ts-text-subtle:#93a1b5;--ts-success:#a3be8c;--ts-success-soft:#a3be8c29;--ts-warning:#ebcb8b;--ts-warning-soft:#ebcb8b29;--ts-danger:#bf616a;--ts-danger-soft:#bf616a29;--ts-info:#88c0d0;--ts-info-soft:#88c0d029;--ts-module-accent-dl:#8fbcbb;--ts-module-accent-ss:#b48ead;--ts-module-accent-cm:#81a1c1;--ts-module-accent-dc:#88c0d0;--ts-module-accent-lci:#5e81ac;--ts-module-accent-aa:#d8dee9;--ts-ring:#88c0d047;--ts-app-bg:radial-gradient(circle at top left, #8fbcbb1f, transparent 360px), radial-gradient(circle at top right, #b48ead1a, transparent 340px), linear-gradient(180deg, #2e3440 0%, #242933 52%, #202630 100%);--ts-topbar-bg:linear-gradient(180deg, #3b4252fa, #2e3440f5);--ts-panel-bg:linear-gradient(180deg, #343c4a 0%, #2e3440 100%);--ts-panel-muted-bg:#3b4252;--ts-table-head-bg:#3b4252;--ts-table-row-hover:#88c0d014;--ts-input-bg:#242933;--ts-overlay-bg:#141921b3;--ts-status-ready:#81a1c1;--ts-status-running:#a3be8c;--ts-status-scheduled:#ebcb8b;--ts-status-failed:#bf616a;--ts-status-muted:#7b8798;--ts-run-ok:#a3be8c;--ts-run-failed:#d08770;--ts-run-pending:#ebcb8b;--ts-shadow-xs:0 1px 2px #10141c47;--ts-shadow-sm:0 1px 3px #10141c4d, 0 1px 2px #10141c33;--ts-shadow-md:0 8px 18px -12px #0f141c94;--ts-shadow-lg:0 16px 34px -24px #0f141cb8;--ts-shadow-xl:0 24px 54px -28px #0f141ccc;--ts-shadow-ring:0 0 0 1px #d8dee91f}:root[data-theme=solarized-light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ts-primary:#268bd2;--ts-primary-hover:#1f75af;--ts-primary-soft:#268bd221;--ts-primary-muted:#5fa8d8;--ts-bg:#eee8d5;--ts-surface:#fdf6e3;--ts-surface-muted:#f6efd9;--ts-surface-raised:#fff9e8;--ts-surface-sunken:#e8dfc7;--ts-border:#d8cfb8;--ts-border-strong:#b9ad91;--ts-border-subtle:#e5dcc5;--ts-text:#073642;--ts-heading:#002b36;--ts-text-muted:#586e75;--ts-text-inverse:#fdf6e3;--ts-text-subtle:#839496;--ts-success:#6c7f00;--ts-success-soft:#85990024;--ts-warning:#b58900;--ts-warning-soft:#b5890026;--ts-danger:#dc322f;--ts-danger-soft:#dc322f21;--ts-info:#268bd2;--ts-info-soft:#268bd221;--ts-module-accent-dl:#2aa198;--ts-module-accent-ss:#6c71c4;--ts-module-accent-cm:#268bd2;--ts-module-accent-dc:#2aa198;--ts-module-accent-lci:#b58900;--ts-module-accent-aa:#586e75;--ts-ring:#268bd23d;--ts-app-bg:radial-gradient(circle at top left, #268bd21f, transparent 360px), radial-gradient(circle at top right, #2aa1981a, transparent 320px), linear-gradient(180deg, #f6efd9 0%, #eee8d5 56%, #e8dfc7 100%);--ts-topbar-bg:linear-gradient(180deg, #fdf6e3fa, #f6efd9f5);--ts-panel-bg:linear-gradient(180deg, #fff9e8 0%, #fdf6e3 100%);--ts-panel-muted-bg:#f6efd9;--ts-table-head-bg:#eee8d5;--ts-table-row-hover:#268bd20f;--ts-input-bg:#fff9e8;--ts-overlay-bg:#002b3657;--ts-status-ready:#268bd2;--ts-status-running:#859900;--ts-status-scheduled:#b58900;--ts-status-failed:#dc322f;--ts-status-muted:#93a1a1;--ts-run-ok:#a8b84a;--ts-run-failed:#f0837f;--ts-run-pending:#d7ad3e;--ts-shadow-xs:0 1px 2px #002b360f;--ts-shadow-sm:0 1px 3px #002b3614, 0 1px 2px #002b360d;--ts-shadow-md:0 8px 18px -12px #002b3638;--ts-shadow-lg:0 16px 34px -24px #002b3647;--ts-shadow-xl:0 24px 54px -28px #002b3652;--ts-shadow-ring:0 0 0 1px #002b3614}*,:before,:after{box-sizing:border-box}body{font-family:var(--ts-font-body);font-size:var(--ts-text-body);line-height:var(--ts-leading-normal);color:var(--ts-text);background:var(--ts-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-feature-settings:"cv02", "cv03", "cv04", "cv11"}:root{--ts-banner-action-height:40px;--ts-banner-action-width:148px;--ts-banner-action-collapsed-size:40px}.ts-app-shell{background:var(--ts-app-bg);min-height:100vh;color:var(--ts-text);padding:16px 24px 18px}.ts-shell-header{z-index:var(--ts-z-sticky);margin-bottom:18px;position:relative}.ts-shell-topbar,.ts-shell-subbar,.ts-page-actions,.ts-toolbar{justify-content:space-between;align-items:center;gap:var(--ts-space-md);flex-wrap:wrap;display:flex}.ts-shell-topbar{border:1px solid var(--ts-border);background:var(--ts-topbar-bg);box-shadow:var(--ts-shadow-md);border-radius:18px;padding:14px 18px}.ts-shell-subbar{align-items:flex-start;padding:26px 24px 6px}.ts-main{min-width:0;padding:0 24px 24px}.ts-module-brand{align-items:center;gap:14px;min-width:0;display:flex}.ts-module-brand-product-logo{object-fit:contain;width:auto;max-width:100%;height:70px;display:block}.ts-themed-logo{place-items:center start;line-height:0;display:inline-grid}.ts-themed-logo-img{transition:opacity var(--ts-transition-fast);grid-area:1/1}.ts-themed-logo-img-dark,.ts-themed-logo-img-solarized,:root[data-resolved-theme=dark] .ts-themed-logo-img-light{opacity:0;pointer-events:none}:root[data-resolved-theme=dark] .ts-themed-logo-img-dark{opacity:1}:root[data-theme=solarized-light] .ts-themed-logo-img-light,:root[data-theme=solarized-light] .ts-themed-logo-img-dark{opacity:0;pointer-events:none}:root[data-theme=solarized-light] .ts-themed-logo-img-solarized{opacity:1}.ts-page-headline{min-width:0}.ts-page-title{margin:0 0 var(--ts-space-xs);font-family:var(--ts-font-heading);font-size:var(--ts-text-h1);line-height:var(--ts-leading-tight);letter-spacing:0;color:var(--ts-heading);font-weight:800}.ts-page-subtitle{max-width:820px;color:var(--ts-text-muted);font-size:var(--ts-text-body);margin:0;line-height:1.45}.ts-page-actions,.ts-toolbar{justify-content:flex-end;gap:10px}.ts-panel{background:var(--ts-panel-bg);border:1px solid var(--ts-border);border-radius:var(--ts-radius-md);box-shadow:var(--ts-shadow-ring), var(--ts-shadow-sm);color:var(--ts-text)}.ts-panel-compact{padding:var(--ts-space-md)}.ts-metric-card{background:var(--ts-panel-bg);border:1px solid var(--ts-border);border-radius:var(--ts-radius-md);box-shadow:var(--ts-shadow-xs);padding:14px 16px}h1,h2,h3,h4,h5,h6,.ts-h1,.ts-h2,.ts-h3,.ts-hero{font-family:var(--ts-font-heading);color:var(--ts-heading);line-height:var(--ts-leading-tight);margin:0}.ts-hero{font-size:var(--ts-text-hero);font-weight:800}.ts-h1{font-size:var(--ts-text-h1);font-weight:700}.ts-h2{font-size:var(--ts-text-h2);font-weight:700}.ts-h3{font-size:var(--ts-text-h3);font-weight:600}.ts-text-muted{color:var(--ts-text-muted)}.ts-text-small{font-size:var(--ts-text-small)}.ts-text-tiny{font-size:var(--ts-text-tiny);font-weight:500}.ts-text-mono{font-family:var(--ts-font-mono);font-size:var(--ts-text-mono-size)}.ts-text-medium{font-weight:500}.ts-text-semibold{font-weight:600}.ts-text-bold{font-weight:700}.ts-text-uppercase{text-transform:uppercase;letter-spacing:.04em;font-size:var(--ts-text-tiny);color:var(--ts-text-muted);font-weight:600}.ts-btn{font-family:var(--ts-font-body);border-radius:var(--ts-radius-sm);cursor:pointer;transition:background-color var(--ts-transition-fast), border-color var(--ts-transition-fast), color var(--ts-transition-fast), box-shadow var(--ts-transition-fast), transform var(--ts-transition-fast);white-space:nowrap;letter-spacing:.01em;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:8px 16px;font-size:13.5px;font-weight:600;line-height:1.4;text-decoration:none;display:inline-flex}.ts-btn:focus-visible{outline:2px solid var(--ts-primary);outline-offset:2px;box-shadow:none}.ts-btn:active:not(:disabled){transform:translateY(.5px)}.ts-btn-sm{padding:5px 10px;font-size:12.5px}.ts-btn-lg{padding:11px 22px;font-size:15px}.ts-btn-primary{background:var(--ts-primary);color:var(--ts-text-inverse);border-color:var(--ts-primary);box-shadow:var(--ts-shadow-xs), inset 0 1px 0 #ffffff1a}.ts-btn-primary:hover{background:var(--ts-primary-hover);border-color:var(--ts-primary-hover);box-shadow:var(--ts-shadow-sm), inset 0 1px 0 #ffffff1a}.ts-btn-secondary{background:var(--ts-surface);color:var(--ts-text);border-color:var(--ts-border-strong);box-shadow:var(--ts-shadow-xs)}.ts-btn-secondary:hover{background:var(--ts-surface-muted);border-color:var(--ts-border-strong);box-shadow:var(--ts-shadow-sm)}.ts-btn-ghost{color:var(--ts-primary);background:0 0}.ts-btn-ghost:hover{background:var(--ts-primary-soft)}.ts-icon-btn,.ts-nav-btn{border:1px solid var(--ts-border);border-radius:var(--ts-radius-sm);background:var(--ts-surface);color:var(--ts-text);box-shadow:var(--ts-shadow-xs);transition:background-color var(--ts-transition-fast), border-color var(--ts-transition-fast), color var(--ts-transition-fast), box-shadow var(--ts-transition-fast), transform var(--ts-transition-fast);justify-content:center;align-items:center;display:inline-flex}.ts-icon-btn{width:34px;height:34px;padding:0}.ts-nav-btn{white-space:nowrap;gap:8px;min-height:38px;padding:8px 13px;font-weight:600;text-decoration:none}.ts-icon-btn:hover,.ts-nav-btn:hover{background:var(--ts-surface-muted);border-color:var(--ts-border-strong);box-shadow:var(--ts-shadow-sm)}.ts-nav-btn[aria-current=page],.ts-nav-btn.is-active{color:var(--ts-primary);border-color:color-mix(in srgb, var(--ts-primary) 42%, var(--ts-border));background:var(--ts-primary-soft)}.ts-btn-danger{background:var(--ts-danger);color:var(--ts-text-inverse);border-color:var(--ts-danger);box-shadow:var(--ts-shadow-xs)}.ts-btn-danger:hover{box-shadow:var(--ts-shadow-sm);background:#a82222;border-color:#a82222}.ts-btn:disabled,.ts-btn[disabled]{opacity:.45;cursor:not-allowed;pointer-events:none;box-shadow:none}.ts-card{background:var(--ts-panel-bg);border-radius:var(--ts-radius-md);padding:var(--ts-space-lg);border:1px solid var(--ts-border);box-shadow:var(--ts-shadow-ring), var(--ts-shadow-sm)}.ts-card-hover{transition:box-shadow var(--ts-transition-normal), border-color var(--ts-transition-normal)}.ts-card-hover:hover{box-shadow:var(--ts-shadow-ring), var(--ts-shadow-md);border-color:var(--ts-border-strong)}.ts-card-compact{padding:var(--ts-space-md)}.ts-card-flat{box-shadow:none}.ts-badge{font-family:var(--ts-font-body);font-size:var(--ts-text-tiny);border-radius:var(--ts-radius-full);white-space:nowrap;letter-spacing:.01em;align-items:center;gap:5px;padding:3px 9px;font-weight:600;line-height:1.3;display:inline-flex}.ts-badge-success{background:var(--ts-success-soft);color:var(--ts-success);border:1px solid #0d7a561f}.ts-badge-warning{background:var(--ts-warning-soft);color:var(--ts-warning);border:1px solid #b85c001f}.ts-badge-danger{background:var(--ts-danger-soft);color:var(--ts-danger);border:1px solid #c72a2a1f}.ts-badge-info{background:var(--ts-info-soft);color:var(--ts-info);border:1px solid #1a56db1f}.ts-badge-neutral{background:var(--ts-surface-muted);color:var(--ts-text-muted);border:1px solid var(--ts-border)}.ts-badge-dot:before{content:"";background:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px}.ts-input,.ts-select,.ts-textarea{font-family:var(--ts-font-body);font-size:var(--ts-text-body);border:1px solid var(--ts-border);border-radius:var(--ts-radius-sm);background:var(--ts-input-bg);color:var(--ts-text);transition:border-color var(--ts-transition-fast), box-shadow var(--ts-transition-fast);width:100%;box-shadow:var(--ts-shadow-xs);padding:9px 13px}.ts-input:focus,.ts-select:focus,.ts-textarea:focus{border-color:var(--ts-primary);box-shadow:0 0 0 3px var(--ts-ring);outline:none}.ts-input:focus-visible,.ts-select:focus-visible,.ts-textarea:focus-visible{outline:2px solid var(--ts-primary);outline-offset:2px;box-shadow:none}.ts-input::placeholder,.ts-textarea::placeholder{color:var(--ts-text-muted)}.ts-input-sm{font-size:var(--ts-text-small);padding:7px 10px}.ts-input-error{border-color:var(--ts-danger)}.ts-input-error:focus{box-shadow:0 0 0 3px #dc262633}.ts-form-grid{gap:var(--ts-space-md);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.ts-field-label{color:var(--ts-heading);font-size:var(--ts-text-small);gap:6px;font-weight:700;display:grid}.ts-field-hint{color:var(--ts-text-muted);font-size:var(--ts-text-small);margin:0;line-height:1.4}.ts-table-wrapper{border-radius:var(--ts-radius-md);border:1px solid var(--ts-border);max-width:100%;box-shadow:var(--ts-shadow-ring), var(--ts-shadow-xs);background:var(--ts-surface);overflow-x:auto}.ts-table{border-collapse:separate;border-spacing:0;width:100%;font-size:13.5px}.ts-table th{font-family:var(--ts-font-body);text-transform:uppercase;letter-spacing:var(--ts-tracking-wider);color:var(--ts-text-muted);background:var(--ts-table-head-bg);text-align:left;border-bottom:1px solid var(--ts-border-strong);z-index:1;padding:10px 12px;font-size:10.5px;font-weight:700;position:sticky;top:0}.ts-table td{border-bottom:1px solid var(--ts-border-subtle,var(--ts-border));color:var(--ts-text);vertical-align:middle;padding:10px 12px}.ts-table tbody tr{transition:background-color var(--ts-transition-fast)}.ts-table tbody tr:hover td{background:var(--ts-table-row-hover)}.ts-table-dense th,.ts-table-dense td{padding:7px 10px;font-size:13px}.ts-table-striped tbody tr:nth-child(2n) td{background:var(--ts-surface-muted)}.ts-table tbody tr:last-child td{border-bottom:none}.ts-cell-truncate{text-overflow:ellipsis;white-space:nowrap;max-width:260px;overflow:hidden}.ts-status-dot{border-radius:var(--ts-radius-full);background:var(--ts-status-muted);width:9px;height:9px;box-shadow:0 0 0 3px color-mix(in srgb, currentColor 14%, transparent);display:inline-block}.ts-status-dot-ready{background:var(--ts-status-ready);color:var(--ts-status-ready)}.ts-status-dot-running{background:var(--ts-status-running);color:var(--ts-status-running)}.ts-status-dot-scheduled{background:var(--ts-status-scheduled);color:var(--ts-status-scheduled)}.ts-status-dot-failed{background:var(--ts-status-failed);color:var(--ts-status-failed)}.ts-alert{border:1px solid var(--ts-border);border-radius:var(--ts-radius-md);background:var(--ts-surface-muted);color:var(--ts-text);padding:10px 12px}.ts-alert-success{border-color:color-mix(in srgb, var(--ts-success) 28%, var(--ts-border));background:var(--ts-success-soft);color:var(--ts-success)}.ts-alert-warning{border-color:color-mix(in srgb, var(--ts-warning) 28%, var(--ts-border));background:var(--ts-warning-soft);color:var(--ts-warning)}.ts-alert-danger{border-color:color-mix(in srgb, var(--ts-danger) 28%, var(--ts-border));background:var(--ts-danger-soft);color:var(--ts-danger)}.ts-empty-state{border:1px dashed var(--ts-border-strong);border-radius:var(--ts-radius-lg);background:var(--ts-surface-muted);color:var(--ts-text-muted);padding:24px}.ts-modal-overlay{background:var(--ts-overlay-bg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--ts-z-modal-backdrop);justify-content:center;align-items:center;animation:.2s ts-fade-in;display:flex;position:fixed;inset:0}.ts-modal{background:var(--ts-panel-bg);border:1px solid var(--ts-border);border-radius:var(--ts-radius-lg);padding:var(--ts-space-xl);box-shadow:var(--ts-shadow-xl);width:90%;max-width:560px;z-index:var(--ts-z-modal);animation:.2s ts-slide-up}.ts-drawer{background:var(--ts-panel-bg);border:1px solid var(--ts-border);box-shadow:var(--ts-shadow-xl);color:var(--ts-text)}.module-shell-header,.dl-shell-header,.sbi-shell-header,.portal-shell-header,.lci-shell-header,.module-shell-topbar,.dl-shell-topbar,.sbi-shell-topbar,.portal-shell-topbar,.lci-shell-topbar{z-index:var(--ts-z-sticky);position:relative}.module-shell-actions .app-shell-link-btn,.module-shell-actions .page-shell-link-btn,.dl-header-actions .dl-header-link-btn,.sbi-header-actions .sbi-header-link-btn,.lci-shell-actions .lci-shell-link-btn,.portal-shell-actions .portal-action-btn,.module-shell-actions .ts-user-menu-trigger,.dl-header-actions .ts-user-menu-trigger,.sbi-header-actions .ts-user-menu-trigger,.lci-shell-actions .ts-user-menu-trigger,.portal-shell-actions .ts-user-menu-trigger{width:var(--ts-banner-action-width);min-width:var(--ts-banner-action-width);max-width:var(--ts-banner-action-width);height:var(--ts-banner-action-height);min-height:var(--ts-banner-action-height);border-radius:var(--ts-radius-md);flex:0 0 var(--ts-banner-action-width);justify-content:center;padding:0 12px;line-height:1}.module-shell-actions .ts-user-menu-name,.dl-header-actions .ts-user-menu-name,.sbi-header-actions .ts-user-menu-name,.lci-shell-actions .ts-user-menu-name,.portal-shell-actions .ts-user-menu-name{min-width:0}.module-shell-actions .ts-user-menu-avatar,.dl-header-actions .ts-user-menu-avatar,.sbi-header-actions .ts-user-menu-avatar,.lci-shell-actions .ts-user-menu-avatar,.portal-shell-actions .ts-user-menu-avatar{border-radius:var(--ts-radius-full);flex:0 0 26px;width:26px;height:26px;line-height:1}.module-shell-actions.ts-topbar-minimal-actions .app-shell-link-btn,.module-shell-actions.ts-topbar-minimal-actions .page-shell-link-btn,.dl-header-actions.ts-topbar-minimal-actions .dl-header-link-btn,.sbi-header-actions.ts-topbar-minimal-actions .sbi-header-link-btn,.lci-shell-actions.ts-topbar-minimal-actions .lci-shell-link-btn,.portal-shell-actions.ts-topbar-minimal-actions .portal-action-btn,.module-shell-actions.ts-topbar-minimal-actions .ts-user-menu-trigger,.dl-header-actions.ts-topbar-minimal-actions .ts-user-menu-trigger,.sbi-header-actions.ts-topbar-minimal-actions .ts-user-menu-trigger,.lci-shell-actions.ts-topbar-minimal-actions .ts-user-menu-trigger,.portal-shell-actions.ts-topbar-minimal-actions .ts-user-menu-trigger{width:var(--ts-banner-action-collapsed-size);min-width:var(--ts-banner-action-collapsed-size);max-width:var(--ts-banner-action-collapsed-size);height:var(--ts-banner-action-collapsed-size);min-height:var(--ts-banner-action-collapsed-size);flex:0 0 var(--ts-banner-action-collapsed-size);justify-content:center;gap:0;padding:0}.module-shell-actions.ts-topbar-minimal-actions .app-shell-link-btn span,.module-shell-actions.ts-topbar-minimal-actions .page-shell-link-btn span,.dl-header-actions.ts-topbar-minimal-actions .dl-header-link-btn span,.sbi-header-actions.ts-topbar-minimal-actions .sbi-header-link-btn span,.lci-shell-actions.ts-topbar-minimal-actions .lci-shell-link-btn span,.portal-shell-actions.ts-topbar-minimal-actions .portal-action-btn span,.module-shell-actions.ts-topbar-minimal-actions .ts-user-menu-name,.dl-header-actions.ts-topbar-minimal-actions .ts-user-menu-name,.sbi-header-actions.ts-topbar-minimal-actions .ts-user-menu-name,.lci-shell-actions.ts-topbar-minimal-actions .ts-user-menu-name,.portal-shell-actions.ts-topbar-minimal-actions .ts-user-menu-name,.module-shell-actions.ts-topbar-minimal-actions .ts-user-menu-trigger>svg,.dl-header-actions.ts-topbar-minimal-actions .ts-user-menu-trigger>svg,.sbi-header-actions.ts-topbar-minimal-actions .ts-user-menu-trigger>svg,.lci-shell-actions.ts-topbar-minimal-actions .ts-user-menu-trigger>svg,.portal-shell-actions.ts-topbar-minimal-actions .ts-user-menu-trigger>svg{display:none}@media (width<=1100px){.module-shell-actions .app-shell-link-btn,.module-shell-actions .page-shell-link-btn,.dl-header-actions .dl-header-link-btn,.sbi-header-actions .sbi-header-link-btn,.lci-shell-actions .lci-shell-link-btn,.portal-shell-actions .portal-action-btn,.module-shell-actions .ts-user-menu-trigger,.dl-header-actions .ts-user-menu-trigger,.sbi-header-actions .ts-user-menu-trigger,.lci-shell-actions .ts-user-menu-trigger,.portal-shell-actions .ts-user-menu-trigger{width:var(--ts-banner-action-collapsed-size);min-width:var(--ts-banner-action-collapsed-size);max-width:var(--ts-banner-action-collapsed-size);height:var(--ts-banner-action-collapsed-size);min-height:var(--ts-banner-action-collapsed-size);flex-basis:var(--ts-banner-action-collapsed-size);padding:0}.module-shell-actions .app-shell-link-btn span,.module-shell-actions .page-shell-link-btn span,.dl-header-actions .dl-header-link-btn span,.sbi-header-actions .sbi-header-link-btn span,.lci-shell-actions .lci-shell-link-btn span,.portal-shell-actions .portal-action-btn span,.module-shell-actions .ts-user-menu-name,.dl-header-actions .ts-user-menu-name,.sbi-header-actions .ts-user-menu-name,.lci-shell-actions .ts-user-menu-name,.portal-shell-actions .ts-user-menu-name,.module-shell-actions .ts-user-menu-trigger>svg,.dl-header-actions .ts-user-menu-trigger>svg,.sbi-header-actions .ts-user-menu-trigger>svg,.lci-shell-actions .ts-user-menu-trigger>svg,.portal-shell-actions .ts-user-menu-trigger>svg{display:none}}.ts-user-menu{z-index:var(--ts-z-dropdown);display:inline-flex;position:relative}.ts-user-menu-trigger{border:1px solid var(--ts-border);border-radius:var(--ts-radius-md);background:var(--ts-surface);min-height:40px;color:var(--ts-text);box-shadow:var(--ts-shadow-xs);align-items:center;gap:10px;padding:8px 12px;display:inline-flex}.ts-user-menu-trigger:hover{background:var(--ts-surface-muted);border-color:var(--ts-border-strong)}.ts-user-menu-avatar{border-radius:var(--ts-radius-full);background:var(--ts-primary);width:28px;height:28px;color:var(--ts-text-inverse);justify-content:center;align-items:center;font-weight:800;display:inline-flex}:root body .ts-user-menu-trigger{border:1px solid var(--ts-border);border-radius:var(--ts-radius-md);background:var(--ts-surface);color:var(--ts-text);cursor:pointer;white-space:nowrap;box-shadow:none;transition:background-color var(--ts-transition-normal) ease, border-color var(--ts-transition-normal) ease, box-shadow var(--ts-transition-normal) ease, transform var(--ts-transition-normal) ease;align-items:center;gap:8px;padding:6px 12px;font-size:13px;font-weight:500;line-height:1;display:inline-flex}:root body .ts-user-menu-trigger:hover{border-color:var(--ts-border-strong);background:var(--ts-surface-muted);box-shadow:var(--ts-shadow-sm)}:root body .ts-user-menu-avatar{aspect-ratio:1;border-radius:var(--ts-radius-full);background:linear-gradient(135deg, var(--ts-primary) 0%, var(--ts-primary-hover) 100%);width:26px;height:26px;color:var(--ts-text-inverse);letter-spacing:.02em;flex:0 0 26px;font-size:12px;font-weight:700;line-height:1}.ts-user-menu-name{text-overflow:ellipsis;white-space:nowrap;max-width:160px;overflow:hidden}.ts-user-menu-dropdown{z-index:var(--ts-z-dropdown);border:1px solid var(--ts-border);border-radius:var(--ts-radius-md);background:var(--ts-surface);min-width:220px;box-shadow:var(--ts-shadow-lg);color:var(--ts-text);padding:8px;position:absolute;top:calc(100% + 8px);right:0}.ts-user-menu-header{border-bottom:1px solid var(--ts-border-subtle);color:var(--ts-text-muted);font-size:var(--ts-text-small);padding:8px 10px 10px}.ts-user-menu-header strong{color:var(--ts-heading)}.ts-user-menu-section{border-bottom:1px solid var(--ts-border-subtle);gap:4px;padding:8px 0;display:grid}.ts-user-menu-item,.ts-theme-choice{border-radius:var(--ts-radius-sm);width:100%;min-height:34px;color:var(--ts-text);font-size:var(--ts-text-small);text-align:left;box-shadow:none;background:0 0;border:0;justify-content:flex-start;align-items:center;gap:8px;padding:7px 10px;display:flex}.panel,.content-panel,.form-panel,.dl-card,.dc-panel,.lci-card,.portal-empty-state,.group-card{background:var(--ts-panel-bg);border-color:var(--ts-border);color:var(--ts-text)}.btn,.dl-btn,.dc-btn,.lci-btn,.portal-action-btn,.portal-back-link,.page-shell-link-btn,.page-shell-logout-btn,.lci-shell-btn{color:var(--ts-text);border-color:var(--ts-border);background:var(--ts-surface)}.btn-primary,.dl-btn-primary,.dc-btn-primary,.lci-btn-primary{color:var(--ts-text-inverse);border-color:var(--ts-primary);background:var(--ts-primary)}.text-input,.select-input,.textarea-input,.dl-input,.dl-select,.dl-textarea,.dc-input,.dc-select,.dc-textarea,.lci-input,.lci-select,.lci-textarea{color:var(--ts-text);border-color:var(--ts-border);background:var(--ts-input-bg)}.dl-table-wrap,.dc-table-wrap,.lci-table-wrapper,.table-wrapper{border-color:var(--ts-border);background:var(--ts-surface)}.dl-table,.dc-table,.lci-table,table{color:var(--ts-text);background:var(--ts-surface)}.dl-table th,.dc-table th,.lci-table th,table th{color:var(--ts-text-muted);border-color:var(--ts-border);background:var(--ts-table-head-bg)}.dl-table td,.dc-table td,.lci-table td,table td{color:var(--ts-text);border-color:var(--ts-border-subtle)}:root[data-theme=dark],:root[data-theme=midnight],:root[data-theme=nord],:root[data-theme=system][data-resolved-theme=dark]{scrollbar-color:#3a506f #07111f}:root[data-theme=solarized-light],:root[data-theme=solarized-light] *{scrollbar-color:#8f8267 #eee8d5}:root[data-theme=solarized-light] ::-webkit-scrollbar{width:11px;height:11px}:root[data-theme=solarized-light] ::-webkit-scrollbar{width:11px;height:11px}:root[data-theme=solarized-light] ::-webkit-scrollbar-track{background:#eee8d5;border:1px solid #d8cfb8}:root[data-theme=solarized-light] ::-webkit-scrollbar-track{background:#eee8d5;border:1px solid #d8cfb8}:root[data-theme=solarized-light] ::-webkit-scrollbar-thumb{background:#8f8267;border:2px solid #eee8d5;border-radius:999px}:root[data-theme=solarized-light] ::-webkit-scrollbar-thumb{background:#8f8267;border:2px solid #eee8d5;border-radius:999px}:root[data-theme=solarized-light] ::-webkit-scrollbar-thumb:hover{background:#6f634d}:root[data-theme=solarized-light] ::-webkit-scrollbar-thumb:hover{background:#6f634d}:root[data-theme=solarized-light] ::-webkit-scrollbar-corner{background:#eee8d5}:root[data-theme=solarized-light] ::-webkit-scrollbar-corner{background:#eee8d5}:root[data-theme=dark] body,:root[data-theme=midnight] body,:root[data-theme=nord] body,:root[data-theme=system][data-resolved-theme=dark] body,:root[data-theme=dark] .spark-studio-shell,:root[data-theme=dark] .dl-shell,:root[data-theme=dark] .portal-shell,:root[data-theme=dark] .page-shell,:root[data-theme=dark] .lci-page-shell,:root[data-theme=nord] .spark-studio-shell,:root[data-theme=system][data-resolved-theme=dark] .spark-studio-shell,:root[data-theme=nord] .dl-shell,:root[data-theme=system][data-resolved-theme=dark] .dl-shell,:root[data-theme=nord] .portal-shell,:root[data-theme=system][data-resolved-theme=dark] .portal-shell,:root[data-theme=nord] .page-shell,:root[data-theme=system][data-resolved-theme=dark] .page-shell,:root[data-theme=nord] .lci-page-shell,:root[data-theme=system][data-resolved-theme=dark] .lci-page-shell{color:var(--ts-text);background:var(--ts-app-bg)}:root[data-theme=dark] .module-shell-topbar,:root[data-theme=dark] .dl-shell-topbar,:root[data-theme=dark] .portal-shell-topbar,:root[data-theme=dark] .lci-shell-topbar,:root[data-theme=nord] .module-shell-topbar,:root[data-theme=system][data-resolved-theme=dark] .module-shell-topbar,:root[data-theme=nord] .dl-shell-topbar,:root[data-theme=system][data-resolved-theme=dark] .dl-shell-topbar,:root[data-theme=nord] .portal-shell-topbar,:root[data-theme=system][data-resolved-theme=dark] .portal-shell-topbar,:root[data-theme=nord] .lci-shell-topbar,:root[data-theme=system][data-resolved-theme=dark] .lci-shell-topbar{border-color:var(--ts-border);background:var(--ts-topbar-bg);box-shadow:var(--ts-shadow-md)}:root[data-theme=dark] .module-page-title,:root[data-theme=dark] .dl-module-page-title,:root[data-theme=dark] .portal-page-title,:root[data-theme=dark] .lci-page-title,:root[data-theme=dark] .page-title,:root[data-theme=dark] h1,:root[data-theme=dark] h2,:root[data-theme=dark] h3,:root[data-theme=nord] .module-page-title,:root[data-theme=system][data-resolved-theme=dark] .module-page-title,:root[data-theme=nord] .dl-module-page-title,:root[data-theme=system][data-resolved-theme=dark] .dl-module-page-title,:root[data-theme=nord] .portal-page-title,:root[data-theme=system][data-resolved-theme=dark] .portal-page-title,:root[data-theme=nord] .lci-page-title,:root[data-theme=system][data-resolved-theme=dark] .lci-page-title,:root[data-theme=nord] .page-title,:root[data-theme=system][data-resolved-theme=dark] .page-title,:root[data-theme=nord] h1,:root[data-theme=system][data-resolved-theme=dark] h1,:root[data-theme=nord] h2,:root[data-theme=system][data-resolved-theme=dark] h2,:root[data-theme=nord] h3,:root[data-theme=system][data-resolved-theme=dark] h3{color:var(--ts-heading)}:root[data-theme=dark] .module-page-subtitle,:root[data-theme=dark] .dl-module-page-subtitle,:root[data-theme=dark] .portal-page-subtitle,:root[data-theme=dark] .lci-page-subtitle,:root[data-theme=dark] .page-subtitle,:root[data-theme=dark] .dl-muted,:root[data-theme=dark] .dc-muted,:root[data-theme=dark] .lci-muted,:root[data-theme=dark] label span,:root[data-theme=nord] .module-page-subtitle,:root[data-theme=system][data-resolved-theme=dark] .module-page-subtitle,:root[data-theme=nord] .dl-module-page-subtitle,:root[data-theme=system][data-resolved-theme=dark] .dl-module-page-subtitle,:root[data-theme=nord] .portal-page-subtitle,:root[data-theme=system][data-resolved-theme=dark] .portal-page-subtitle,:root[data-theme=nord] .lci-page-subtitle,:root[data-theme=system][data-resolved-theme=dark] .lci-page-subtitle,:root[data-theme=nord] .page-subtitle,:root[data-theme=system][data-resolved-theme=dark] .page-subtitle,:root[data-theme=nord] .dl-muted,:root[data-theme=system][data-resolved-theme=dark] .dl-muted,:root[data-theme=nord] .dc-muted,:root[data-theme=system][data-resolved-theme=dark] .dc-muted,:root[data-theme=nord] .lci-muted,:root[data-theme=system][data-resolved-theme=dark] .lci-muted,:root[data-theme=nord] label span,:root[data-theme=system][data-resolved-theme=dark] label span{color:var(--ts-text-muted)}:root[data-theme=dark] .panel,:root[data-theme=dark] .content-panel,:root[data-theme=dark] .form-panel,:root[data-theme=dark] .dl-card,:root[data-theme=dark] .dc-panel,:root[data-theme=dark] .lci-card,:root[data-theme=dark] .portal-empty-state,:root[data-theme=dark] .group-card,:root[data-theme=dark] .modal-panel,:root[data-theme=nord] .panel,:root[data-theme=system][data-resolved-theme=dark] .panel,:root[data-theme=nord] .content-panel,:root[data-theme=system][data-resolved-theme=dark] .content-panel,:root[data-theme=nord] .form-panel,:root[data-theme=system][data-resolved-theme=dark] .form-panel,:root[data-theme=nord] .dl-card,:root[data-theme=system][data-resolved-theme=dark] .dl-card,:root[data-theme=nord] .dc-panel,:root[data-theme=system][data-resolved-theme=dark] .dc-panel,:root[data-theme=nord] .lci-card,:root[data-theme=system][data-resolved-theme=dark] .lci-card,:root[data-theme=nord] .portal-empty-state,:root[data-theme=system][data-resolved-theme=dark] .portal-empty-state,:root[data-theme=nord] .group-card,:root[data-theme=system][data-resolved-theme=dark] .group-card,:root[data-theme=nord] .modal-panel,:root[data-theme=system][data-resolved-theme=dark] .modal-panel{color:var(--ts-text);border-color:var(--ts-border);background:var(--ts-panel-bg);box-shadow:var(--ts-shadow-ring), var(--ts-shadow-sm)}:root[data-theme=dark] .btn,:root[data-theme=dark] .dl-btn,:root[data-theme=dark] .dc-btn,:root[data-theme=dark] .lci-btn,:root[data-theme=dark] .portal-action-btn,:root[data-theme=dark] .portal-back-link,:root[data-theme=dark] .page-shell-link-btn,:root[data-theme=dark] .lci-shell-btn,:root[data-theme=nord] .btn,:root[data-theme=system][data-resolved-theme=dark] .btn,:root[data-theme=nord] .dl-btn,:root[data-theme=system][data-resolved-theme=dark] .dl-btn,:root[data-theme=nord] .dc-btn,:root[data-theme=system][data-resolved-theme=dark] .dc-btn,:root[data-theme=nord] .lci-btn,:root[data-theme=system][data-resolved-theme=dark] .lci-btn,:root[data-theme=nord] .portal-action-btn,:root[data-theme=system][data-resolved-theme=dark] .portal-action-btn,:root[data-theme=nord] .portal-back-link,:root[data-theme=system][data-resolved-theme=dark] .portal-back-link,:root[data-theme=nord] .page-shell-link-btn,:root[data-theme=system][data-resolved-theme=dark] .page-shell-link-btn,:root[data-theme=nord] .lci-shell-btn,:root[data-theme=system][data-resolved-theme=dark] .lci-shell-btn{color:var(--ts-text);border-color:var(--ts-border);background:var(--ts-surface)}:root[data-theme=dark] .btn-primary,:root[data-theme=dark] .dl-btn-primary,:root[data-theme=dark] .dc-btn-primary,:root[data-theme=dark] .lci-btn-primary,:root[data-theme=nord] .btn-primary,:root[data-theme=system][data-resolved-theme=dark] .btn-primary,:root[data-theme=nord] .dl-btn-primary,:root[data-theme=system][data-resolved-theme=dark] .dl-btn-primary,:root[data-theme=nord] .dc-btn-primary,:root[data-theme=system][data-resolved-theme=dark] .dc-btn-primary,:root[data-theme=nord] .lci-btn-primary,:root[data-theme=system][data-resolved-theme=dark] .lci-btn-primary{color:var(--ts-text-inverse);border-color:var(--ts-primary);background:var(--ts-primary)}:root[data-theme=dark] input,:root[data-theme=dark] select,:root[data-theme=dark] textarea,:root[data-theme=dark] .text-input,:root[data-theme=dark] .select-input,:root[data-theme=dark] .textarea-input,:root[data-theme=dark] .dl-input,:root[data-theme=dark] .dl-select,:root[data-theme=dark] .dl-textarea,:root[data-theme=dark] .dc-input,:root[data-theme=dark] .dc-select,:root[data-theme=dark] .dc-textarea,:root[data-theme=dark] .lci-input,:root[data-theme=dark] .lci-select,:root[data-theme=dark] .lci-textarea,:root[data-theme=nord] input,:root[data-theme=system][data-resolved-theme=dark] input,:root[data-theme=nord] select,:root[data-theme=system][data-resolved-theme=dark] select,:root[data-theme=nord] textarea,:root[data-theme=system][data-resolved-theme=dark] textarea,:root[data-theme=nord] .text-input,:root[data-theme=system][data-resolved-theme=dark] .text-input,:root[data-theme=nord] .select-input,:root[data-theme=system][data-resolved-theme=dark] .select-input,:root[data-theme=nord] .textarea-input,:root[data-theme=system][data-resolved-theme=dark] .textarea-input,:root[data-theme=nord] .dl-input,:root[data-theme=system][data-resolved-theme=dark] .dl-input,:root[data-theme=nord] .dl-select,:root[data-theme=system][data-resolved-theme=dark] .dl-select,:root[data-theme=nord] .dl-textarea,:root[data-theme=system][data-resolved-theme=dark] .dl-textarea,:root[data-theme=nord] .dc-input,:root[data-theme=system][data-resolved-theme=dark] .dc-input,:root[data-theme=nord] .dc-select,:root[data-theme=system][data-resolved-theme=dark] .dc-select,:root[data-theme=nord] .dc-textarea,:root[data-theme=system][data-resolved-theme=dark] .dc-textarea,:root[data-theme=nord] .lci-input,:root[data-theme=system][data-resolved-theme=dark] .lci-input,:root[data-theme=nord] .lci-select,:root[data-theme=system][data-resolved-theme=dark] .lci-select,:root[data-theme=nord] .lci-textarea,:root[data-theme=system][data-resolved-theme=dark] .lci-textarea{color:var(--ts-text);border-color:var(--ts-border);background:var(--ts-input-bg)}:root[data-theme=dark] table,:root[data-theme=dark] .dl-table,:root[data-theme=dark] .dc-table,:root[data-theme=dark] .lci-table,:root[data-theme=nord] table,:root[data-theme=system][data-resolved-theme=dark] table,:root[data-theme=nord] .dl-table,:root[data-theme=system][data-resolved-theme=dark] .dl-table,:root[data-theme=nord] .dc-table,:root[data-theme=system][data-resolved-theme=dark] .dc-table,:root[data-theme=nord] .lci-table,:root[data-theme=system][data-resolved-theme=dark] .lci-table{color:var(--ts-text);background:var(--ts-surface)}:root[data-theme=dark] th,:root[data-theme=dark] .dl-table th,:root[data-theme=dark] .dc-table th,:root[data-theme=dark] .lci-table th,:root[data-theme=nord] th,:root[data-theme=system][data-resolved-theme=dark] th,:root[data-theme=nord] .dl-table th,:root[data-theme=system][data-resolved-theme=dark] .dl-table th,:root[data-theme=nord] .dc-table th,:root[data-theme=system][data-resolved-theme=dark] .dc-table th,:root[data-theme=nord] .lci-table th,:root[data-theme=system][data-resolved-theme=dark] .lci-table th{color:var(--ts-text-muted);border-color:var(--ts-border);background:var(--ts-table-head-bg)}:root[data-theme=dark] td,:root[data-theme=dark] .dl-table td,:root[data-theme=dark] .dc-table td,:root[data-theme=dark] .lci-table td,:root[data-theme=nord] td,:root[data-theme=system][data-resolved-theme=dark] td,:root[data-theme=nord] .dl-table td,:root[data-theme=system][data-resolved-theme=dark] .dl-table td,:root[data-theme=nord] .dc-table td,:root[data-theme=system][data-resolved-theme=dark] .dc-table td,:root[data-theme=nord] .lci-table td,:root[data-theme=system][data-resolved-theme=dark] .lci-table td{color:var(--ts-text);border-color:var(--ts-border-subtle)}:root[data-theme=dark] tbody tr:hover,:root[data-theme=dark] tbody tr:hover td,:root[data-theme=nord] tbody tr:hover,:root[data-theme=system][data-resolved-theme=dark] tbody tr:hover,:root[data-theme=nord] tbody tr:hover td,:root[data-theme=system][data-resolved-theme=dark] tbody tr:hover td{background:var(--ts-table-row-hover)}.ts-modal-header{font-family:var(--ts-font-heading);font-size:var(--ts-text-h3);margin-bottom:var(--ts-space-md);color:var(--ts-heading);font-weight:600}.ts-modal-footer{gap:var(--ts-space-sm);margin-top:var(--ts-space-lg);justify-content:flex-end;display:flex}.ts-skeleton{background:linear-gradient(90deg, var(--ts-surface-muted) 25%, #edf1f7 50%, var(--ts-surface-muted) 75%);border-radius:var(--ts-radius-sm);background-size:200% 100%;animation:1.5s infinite ts-shimmer}.ts-skeleton-text{width:80%;height:14px;margin-bottom:8px}.ts-skeleton-text:last-child{width:60%}.ts-skeleton-row{width:100%;height:44px;margin-bottom:4px}.ts-skeleton-circle{border-radius:50%;width:40px;height:40px}.ts-page-shell{max-width:1400px;padding:var(--ts-space-lg) var(--ts-space-xl);margin:0 auto}.ts-page-header{margin-bottom:var(--ts-space-lg);justify-content:space-between;align-items:center;gap:var(--ts-space-md);display:flex}.ts-page-title{font-family:var(--ts-font-heading);font-size:var(--ts-text-h1);color:var(--ts-heading);font-weight:700}.ts-page-subtitle{font-size:var(--ts-text-body);color:var(--ts-text-muted);margin-top:var(--ts-space-xs)}.ts-section{margin-bottom:var(--ts-space-xl)}.ts-section-title{font-family:var(--ts-font-heading);font-size:var(--ts-text-h2);color:var(--ts-heading);margin-bottom:var(--ts-space-md);font-weight:700}.ts-divider{border:none;border-top:1px solid var(--ts-border);margin:var(--ts-space-lg) 0}.ts-empty-state{padding:var(--ts-space-2xl) var(--ts-space-lg);text-align:center;color:var(--ts-text-muted);border:1px dashed var(--ts-border);border-radius:var(--ts-radius-lg);background:var(--ts-surface-muted);flex-direction:column;justify-content:center;align-items:center;display:flex}.ts-empty-state svg{width:48px;height:48px;margin-bottom:var(--ts-space-md);opacity:.4}.ts-empty-state-icon{margin-bottom:var(--ts-space-md);opacity:.4;font-size:40px}.ts-empty-state-title{font-family:var(--ts-font-heading);font-size:var(--ts-text-h3);color:var(--ts-heading);margin-bottom:var(--ts-space-xs);font-weight:600}.ts-empty-state-description{font-size:var(--ts-text-small);max-width:360px}.ts-chip{font-size:var(--ts-text-tiny);border-radius:var(--ts-radius-full);border:1px solid var(--ts-border);background:var(--ts-surface);color:var(--ts-text-muted);align-items:center;gap:4px;padding:3px 10px;font-weight:500;display:inline-flex}.ts-tooltip{font-size:var(--ts-text-small);background:var(--ts-text);color:var(--ts-text-inverse);border-radius:var(--ts-radius-sm);box-shadow:var(--ts-shadow-md);max-width:280px;z-index:var(--ts-z-toast);padding:6px 10px}.ts-alert{padding:var(--ts-space-md);border-radius:var(--ts-radius-md);align-items:flex-start;gap:var(--ts-space-sm);border:1px solid;font-size:14px;display:flex}.ts-alert-success{background:var(--ts-success-soft);color:#065f46;border-color:#a7f3d0}.ts-alert-warning{background:var(--ts-warning-soft);color:#92400e;border-color:#fde68a}.ts-alert-danger{background:var(--ts-danger-soft);color:#991b1b;border-color:#fecaca}.ts-alert-info{background:var(--ts-info-soft);color:#1e40af;border-color:#bfdbfe}.ts-p-xs{padding:var(--ts-space-xs)}.ts-p-sm{padding:var(--ts-space-sm)}.ts-p-md{padding:var(--ts-space-md)}.ts-p-lg{padding:var(--ts-space-lg)}.ts-p-xl{padding:var(--ts-space-xl)}.ts-mt-xs{margin-top:var(--ts-space-xs)}.ts-mt-sm{margin-top:var(--ts-space-sm)}.ts-mt-md{margin-top:var(--ts-space-md)}.ts-mt-lg{margin-top:var(--ts-space-lg)}.ts-mt-xl{margin-top:var(--ts-space-xl)}.ts-mb-xs{margin-bottom:var(--ts-space-xs)}.ts-mb-sm{margin-bottom:var(--ts-space-sm)}.ts-mb-md{margin-bottom:var(--ts-space-md)}.ts-mb-lg{margin-bottom:var(--ts-space-lg)}.ts-gap-xs{gap:var(--ts-space-xs)}.ts-gap-sm{gap:var(--ts-space-sm)}.ts-gap-md{gap:var(--ts-space-md)}.ts-gap-lg{gap:var(--ts-space-lg)}.ts-flex{display:flex}.ts-flex-col{flex-direction:column;display:flex}.ts-flex-center{align-items:center;display:flex}.ts-flex-between{justify-content:space-between;align-items:center;display:flex}.ts-flex-wrap{flex-wrap:wrap}.ts-flex-1{flex:1}@keyframes ts-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes ts-fade-in{0%{opacity:0}to{opacity:1}}@keyframes ts-slide-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes ts-spin{to{transform:rotate(360deg)}}.ts-spinner{border:2px solid var(--ts-border);border-top-color:var(--ts-primary);border-radius:50%;width:20px;height:20px;animation:.6s linear infinite ts-spin;display:inline-block}.ts-spinner-lg{border-width:3px;width:32px;height:32px}@media (width<=768px){.ts-page-shell{padding:var(--ts-space-md)}.ts-page-header{flex-direction:column;align-items:flex-start}.ts-hide-mobile{display:none!important}}@media (width>=769px){.ts-hide-desktop{display:none!important}}@media (width<=1024px){.ts-hide-tablet{display:none!important}}.ts-focus-ring:focus-visible{outline:2px solid var(--ts-primary);outline-offset:2px}.ts-clickable{cursor:pointer;transition:color var(--ts-transition-fast), background-color var(--ts-transition-fast)}.ts-clickable:hover{color:var(--ts-primary)}.ts-page-enter{animation:ts-page-fade-in var(--ts-transition-slow) ease}@keyframes ts-page-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.ts-toast{bottom:var(--ts-space-lg);right:var(--ts-space-lg);z-index:var(--ts-z-toast);align-items:center;gap:var(--ts-space-sm);padding:var(--ts-space-sm) var(--ts-space-md);border-radius:var(--ts-radius-md);background:var(--ts-surface);box-shadow:var(--ts-shadow-lg);border:1px solid var(--ts-border);font-size:var(--ts-text-small);animation:ts-toast-in var(--ts-transition-slow) ease;display:flex;position:fixed}.ts-toast-success{border-left:3px solid var(--ts-success)}.ts-toast-error{border-left:3px solid var(--ts-danger)}.ts-toast-warning{border-left:3px solid var(--ts-warning)}.ts-toast-info{border-left:3px solid var(--ts-primary)}@keyframes ts-toast-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.ts-tooltip-auto{position:relative}.ts-tooltip-auto:after{content:attr(data-tooltip);border-radius:var(--ts-radius-sm);background:var(--ts-text);color:var(--ts-text-inverse);font-size:var(--ts-text-tiny);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--ts-transition-fast);z-index:var(--ts-z-toast);padding:4px 8px;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.ts-tooltip-auto:hover:after{opacity:1}:root{--bg:var(--ts-bg);--surface:var(--ts-surface);--surface-muted:var(--ts-surface-muted);--border:var(--ts-border);--border-strong:var(--ts-border-strong);--text:var(--ts-text);--text-muted:var(--ts-text-muted);--heading:var(--ts-heading);--primary:var(--ts-primary);--primary-hover:var(--ts-primary-hover);--primary-soft:var(--ts-primary-soft);--shadow:var(--ts-shadow-sm);--shadow-lg:var(--ts-shadow-lg);--shadow-hover:var(--ts-shadow-xl);--portal-shell-bg:var(--ts-app-bg);--portal-topbar-bg:var(--ts-topbar-bg);--portal-panel-bg:var(--ts-panel-bg);--portal-panel-muted-bg:var(--ts-panel-muted-bg);--portal-input-bg:var(--ts-input-bg);--portal-hover-shadow:var(--ts-shadow-md);--portal-card-hover-border:color-mix(in srgb, var(--primary) 22%, var(--border));--portal-card-glow-primary:color-mix(in srgb, var(--primary) 12%, transparent);--portal-card-glow-info:color-mix(in srgb, var(--ts-info) 10%, transparent);--portal-status-ready-fg:var(--ts-success);--portal-status-ready-bg:var(--ts-success-soft);--portal-status-ready-border:color-mix(in srgb, var(--ts-success) 26%, var(--border));--portal-status-core-fg:var(--ts-info);--portal-status-core-bg:var(--ts-info-soft);--portal-status-core-border:color-mix(in srgb, var(--ts-info) 26%, var(--border));--portal-status-wip-fg:var(--ts-warning);--portal-status-wip-bg:var(--ts-warning-soft);--portal-status-wip-border:color-mix(in srgb, var(--ts-warning) 28%, var(--border))}*{box-sizing:border-box}html,body,#root{background:var(--bg);min-height:100%;color:var(--text);font-family:var(--ts-font-body);margin:0;padding:0}body{min-height:100vh}a{color:inherit}button,input,select,textarea{font:inherit}.portal-shell{background:var(--portal-shell-bg);min-height:100vh;padding:16px 24px 18px}.portal-container{width:100%}.portal-shell-header{margin-bottom:18px}.portal-shell-topbar,.portal-shell-subbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.portal-shell-topbar{border:1px solid var(--ts-border);background:var(--portal-topbar-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--ts-shadow-md);border-radius:18px;padding:14px 18px}.portal-shell-subbar{padding:26px 24px 6px}.portal-module-brand,.portal-shell-actions{align-items:center;gap:14px;display:flex}.portal-module-brand{gap:14px;min-width:0}.portal-module-brand-product-logo{object-fit:contain;width:auto;max-width:100%;height:70px;display:block}.portal-shell-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px}.portal-page-headline{min-width:0}.portal-page-title{font-family:var(--ts-font-heading);color:var(--heading);margin:0 0 6px;font-size:32px;font-weight:700;line-height:1.12}.portal-page-subtitle{max-width:920px;color:var(--text-muted);margin:0;font-size:15px;line-height:1.45}.portal-section{gap:22px;display:grid}.portal-home-section{gap:18px}.portal-section-header{justify-content:space-between;align-items:end;gap:16px;display:flex}.portal-section-title{font-family:var(--ts-font-heading);color:var(--heading);margin:0;font-size:22px;font-weight:700;line-height:1.2}.portal-section-text{color:var(--text-muted);margin:6px 0 0;font-size:15px}.portal-back-link,.portal-action-btn{border-radius:var(--ts-radius-md);border:1px solid var(--border);background:var(--surface);color:var(--heading);cursor:pointer;transition:transform var(--ts-transition-normal) ease, box-shadow var(--ts-transition-normal) ease, border-color var(--ts-transition-normal) ease, background-color var(--ts-transition-normal) ease;justify-content:center;align-items:center;gap:8px;padding:10px 14px;text-decoration:none;display:inline-flex}.portal-back-link:hover,.portal-action-btn:hover{box-shadow:var(--portal-hover-shadow);transform:translateY(-1px)}.portal-action-btn-active{background:var(--primary-soft);color:var(--primary);border-color:var(--ts-primary-muted)}.portal-action-btn:disabled{opacity:.6;cursor:not-allowed}.portal-user-pill{border:1px solid var(--border);border-left:2px solid var(--ts-primary);border-radius:var(--ts-radius-md);background:var(--surface-muted);white-space:nowrap;align-items:center;gap:8px;min-height:40px;padding:8px 12px;font-size:13px;display:inline-flex}.portal-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px;display:grid}.portal-home-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}.portal-empty-state{border:1px dashed var(--border-strong);background:var(--portal-panel-bg);box-shadow:var(--shadow);border-radius:24px;padding:28px}.portal-empty-title{font-family:var(--ts-font-heading);color:var(--heading);margin:0 0 8px;font-size:24px;line-height:1.15}.portal-empty-text{max-width:720px;color:var(--text-muted);margin:0;font-size:15px;line-height:1.7}.access-admin-summary-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;display:grid}.portal-summary-card{border:1px solid var(--border);border-radius:var(--ts-radius-md);background:var(--portal-panel-bg);box-shadow:var(--shadow);transition:transform var(--ts-transition-normal) ease, box-shadow var(--ts-transition-normal) ease, border-color var(--ts-transition-normal) ease;gap:4px;padding:16px 18px;display:grid}.portal-summary-card:hover,.access-admin-module-card:hover{box-shadow:var(--portal-hover-shadow);transform:translateY(-1px)}.portal-summary-card strong{font-family:var(--ts-font-heading);color:var(--heading);font-size:28px;font-weight:800;line-height:1}.portal-summary-card span{color:var(--text-muted);font-size:13px}.access-admin-section-header{margin-top:6px}.access-admin-toolbar{grid-template-columns:minmax(220px,1fr) auto minmax(280px,360px);align-items:center;gap:12px;display:grid}.access-admin-search,.access-admin-user-select{border-radius:var(--ts-radius-sm);border:1px solid var(--border);background:var(--portal-input-bg);width:100%;color:var(--text);transition:border-color var(--ts-transition-normal) ease, box-shadow var(--ts-transition-normal) ease;padding:10px 14px}.access-admin-search::placeholder{color:var(--ts-text-subtle)}.access-admin-search:focus,.access-admin-user-select:focus{border-color:var(--ts-primary);box-shadow:0 0 0 3px var(--ts-ring);outline:none}.access-admin-user-card{border:1px solid var(--border);border-radius:var(--ts-radius-md);background:var(--surface);flex-wrap:wrap;gap:12px;padding:14px 16px;display:flex}.access-admin-panel{gap:18px;display:grid}.access-admin-tabs{border:1px solid var(--border);border-radius:var(--ts-radius-md);background:var(--portal-panel-muted-bg);gap:10px;padding:4px;display:flex;overflow-x:auto}.access-admin-tab{border-radius:var(--ts-radius-sm);color:var(--text-muted);cursor:pointer;white-space:nowrap;transition:background-color var(--ts-transition-normal) ease, border-color var(--ts-transition-normal) ease, color var(--ts-transition-normal) ease, box-shadow var(--ts-transition-normal) ease;background:0 0;border:1px solid #0000;align-items:center;gap:10px;padding:10px 14px;display:inline-flex}.access-admin-tab small{border-radius:var(--ts-radius-full);background:var(--portal-panel-muted-bg);min-width:22px;height:22px;color:var(--text-muted);font-size:var(--ts-text-tiny);justify-content:center;align-items:center;padding:0 6px;font-weight:700;display:inline-flex}.access-admin-tab:hover{color:var(--heading);background:var(--surface)}.access-admin-tab.is-active{border-color:var(--ts-primary-muted);background:var(--surface);color:var(--heading);box-shadow:var(--shadow)}.access-admin-tab.is-active small{background:var(--primary-soft);color:var(--primary)}.access-admin-module-card{border:1px solid var(--border);border-radius:var(--ts-radius-md);background:var(--portal-panel-bg);box-shadow:var(--shadow);padding:18px}.access-admin-module-header{justify-content:space-between;align-items:start;gap:16px;margin-bottom:12px;display:flex}.access-admin-module-header h3{font-family:var(--ts-font-heading);color:var(--heading);margin:0 0 6px;font-weight:700}.access-admin-module-header p{color:var(--text-muted);margin:0;font-size:14px}.access-admin-table-wrap{border:1px solid var(--ts-border);border-radius:var(--ts-radius-md);background:var(--surface);overflow-x:auto}.access-admin-table-wrap .access-admin-table{border-collapse:collapse}.access-admin-audit-toolbar{grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px;margin-bottom:14px;display:grid}.access-admin-table{border-collapse:collapse;width:100%}.access-admin-table th,.access-admin-table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:middle;padding:12px 10px}.access-admin-table th{z-index:var(--ts-z-sticky);background:var(--ts-table-head-bg);color:var(--text-muted);font-size:var(--ts-text-tiny);text-transform:uppercase;letter-spacing:.05em;font-weight:600;position:sticky;top:0}.access-admin-table tbody tr{transition:background-color var(--ts-transition-fast) ease}.access-admin-table tbody tr:hover td{background:var(--ts-table-row-hover)}.access-admin-table code{font-family:var(--ts-font-mono);font-size:var(--ts-text-mono-size);color:var(--primary);border:1px solid var(--ts-border-subtle);border-radius:var(--ts-radius-sm);background:var(--surface-muted);padding:2px 5px}.access-admin-role-missing{color:var(--ts-warning);margin-top:4px;font-size:12px}.access-admin-role-derived{color:var(--ts-primary);margin-top:4px;font-size:12px}.access-admin-toggle-cell{align-items:flex-start;gap:10px;display:flex}.access-admin-toggle-meta{color:var(--text-muted);gap:2px;font-size:12px;display:grid}.access-admin-toggle-note{color:var(--ts-warning)}.access-admin-empty{border:1px dashed var(--border-strong);border-radius:var(--ts-radius-md);color:var(--text-muted);background:var(--surface-muted);padding:14px}.access-admin-error,.access-admin-success{border-radius:var(--ts-radius-md);margin:0;padding:12px 14px}.access-admin-error{color:var(--ts-danger);background:var(--ts-danger-soft);border:1px solid var(--ts-danger);border-left:3px solid var(--ts-danger)}.access-admin-success{color:var(--ts-success);background:var(--ts-success-soft);border:1px solid var(--ts-success);border-left:3px solid var(--ts-success)}.access-admin-pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;display:flex}.access-admin-pagination-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.access-admin-pagination-actions button{border-radius:var(--ts-radius-sm);transition:var(--ts-transition-normal)}.access-admin-pagination-label{color:var(--text-muted);font-size:14px}.sentinel-ia-admin-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);align-items:start;gap:18px;display:grid}.sentinel-ia-admin-lower-grid{grid-template-columns:minmax(280px,.45fr) minmax(0,1fr)}.sentinel-ia-admin-card{gap:14px;display:grid}.sentinel-ia-admin-form-grid{grid-template-columns:repeat(2,minmax(160px,1fr));gap:12px;display:grid}.sentinel-ia-admin-provider-grid{grid-template-columns:repeat(3,minmax(150px,1fr))}.sentinel-ia-admin-field,.sentinel-ia-admin-toggle{color:var(--text-muted);gap:6px;font-size:12px;font-weight:700;display:grid}.sentinel-ia-admin-toggle{border:1px solid var(--border);border-radius:var(--ts-radius-sm);background:var(--surface);min-height:38px;color:var(--text);grid-template-columns:auto 1fr;align-items:center;padding:8px 10px}.sentinel-ia-admin-field span{text-transform:uppercase;letter-spacing:.05em}.sentinel-ia-admin-field input,.sentinel-ia-admin-field select,.sentinel-ia-admin-test-row input{border:1px solid var(--border);border-radius:var(--ts-radius-sm);background:var(--portal-input-bg);width:100%;color:var(--text);padding:9px 10px}.sentinel-ia-admin-field input:focus,.sentinel-ia-admin-field select:focus,.sentinel-ia-admin-test-row input:focus{border-color:var(--ts-primary);box-shadow:0 0 0 3px var(--ts-ring);outline:none}.sentinel-ia-admin-tabs{margin-bottom:2px}.sentinel-ia-admin-provider-meta{color:var(--text-muted);flex-wrap:wrap;gap:10px;font-size:12px;display:flex}.sentinel-ia-admin-actions,.sentinel-ia-admin-retention-row,.sentinel-ia-admin-test-row{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.sentinel-ia-admin-test-row input{flex:260px}.sentinel-ia-admin-retention-row .sentinel-ia-admin-field{min-width:140px}.sentinel-ia-admin-audit-toolbar{grid-template-columns:minmax(180px,1fr) 120px auto}.portal-card{color:inherit;background:var(--portal-panel-bg);border:1px solid var(--ts-border);border-radius:var(--ts-radius-xl);box-shadow:var(--ts-shadow-sm);transition:transform var(--ts-transition-normal) ease, box-shadow var(--ts-transition-slow) ease, border-color var(--ts-transition-slow) ease;padding:24px;text-decoration:none;display:block;position:relative;overflow:hidden}.portal-card:hover{border-color:var(--portal-card-hover-border);box-shadow:var(--ts-shadow-lg), 0 0 20px var(--portal-card-glow-primary), 0 0 40px var(--portal-card-glow-info);transform:translateY(-3px)}.portal-card:focus-visible{outline:3px solid var(--ts-ring);outline-offset:2px;border-color:var(--primary)}.portal-card-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;display:flex}.portal-card-icon{border-radius:var(--ts-radius-lg);background:linear-gradient(135deg, var(--primary-soft) 0%, color-mix(in srgb, var(--primary) 8%, transparent) 100%);width:46px;height:46px;color:var(--primary);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.portal-domain-chip{border:1px solid var(--portal-status-core-border);border-radius:var(--ts-radius-full);background:var(--portal-status-core-bg);color:var(--portal-status-core-fg);font-size:var(--ts-text-tiny);white-space:nowrap;justify-content:center;align-items:center;padding:4px 10px;font-weight:700;display:inline-flex}.portal-status,.portal-status-badge{letter-spacing:.03em;text-transform:uppercase;border-radius:999px;align-items:center;padding:3px 10px;font-size:11px;font-weight:700;line-height:1.5;display:inline-flex}.portal-status-ready{color:var(--portal-status-ready-fg);background:var(--portal-status-ready-bg);border:1px solid var(--portal-status-ready-border)}.portal-status-core{color:var(--portal-status-core-fg);background:var(--portal-status-core-bg);border:1px solid var(--portal-status-core-border)}.portal-status-wip,.portal-status-progress{color:var(--portal-status-wip-fg);background:var(--portal-status-wip-bg);border:1px solid var(--portal-status-wip-border)}.portal-card-title{font-family:var(--ts-font-heading);color:var(--heading);margin:0 0 2px;font-size:19px;font-weight:700;line-height:1.2}.portal-card-domain{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:0 0 10px;font-size:12px;font-weight:600}.portal-card-description{color:var(--ts-text-muted);min-height:42px;margin:0;font-size:14px;line-height:1.5}.portal-capabilities{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.portal-capability-chip{color:var(--text-muted);background:var(--surface-muted);border:1px solid var(--ts-border);border-radius:999px;align-items:center;padding:3px 10px;font-size:11px;font-weight:600;display:inline-flex}.portal-card-footer{border-top:1px solid var(--ts-border);justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding-top:12px;display:flex}.portal-card-linktext{color:var(--primary);align-items:center;gap:6px;font-size:13px;font-weight:700;display:inline-flex}.portal-card-linktext:after{content:"→";opacity:.55;transition:transform var(--ts-transition-normal) ease, opacity var(--ts-transition-normal) ease}.portal-card:hover .portal-card-linktext:after{opacity:.9;transform:translate(3px)}.portal-card-meta{color:var(--ts-text-subtle);font-size:13px}@media (width<=768px){.portal-shell{padding:20px 16px 32px}.portal-shell-topbar,.portal-shell-subbar{align-items:flex-start}.portal-page-title{font-size:30px}.portal-grid{grid-template-columns:1fr;gap:12px}.portal-card{border-radius:14px;padding:16px}.portal-card-description{min-height:auto}.portal-section-title{font-size:22px}.access-admin-toolbar,.access-admin-audit-toolbar,.access-admin-summary-row{grid-template-columns:1fr}.access-admin-tabs{padding:6px}.access-admin-tab{padding:10px 12px}.sentinel-ia-admin-grid,.sentinel-ia-admin-lower-grid,.sentinel-ia-admin-form-grid,.sentinel-ia-admin-provider-grid,.sentinel-ia-admin-audit-toolbar{grid-template-columns:1fr}}.ts-user-menu{position:relative}.ts-user-menu-trigger{border:1px solid var(--ts-border);border-radius:var(--ts-radius-md);background:var(--ts-surface);color:var(--ts-text);cursor:pointer;transition:all var(--ts-transition-normal) ease;white-space:nowrap;align-items:center;gap:8px;padding:6px 12px;font-size:13px;font-weight:500;display:inline-flex}.ts-user-menu-trigger:hover{border-color:var(--ts-border-strong);background:var(--ts-surface-muted);box-shadow:var(--ts-shadow-sm)}.ts-user-menu-avatar{border-radius:var(--ts-radius-full);background:linear-gradient(135deg, var(--ts-primary) 0%, var(--ts-primary-hover) 100%);width:26px;height:26px;color:var(--ts-text-inverse);letter-spacing:.02em;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.ts-user-menu-name{text-overflow:ellipsis;max-width:160px;overflow:hidden}.ts-user-menu-backdrop{z-index:var(--ts-z-dropdown);position:fixed;inset:0}.ts-user-menu-dropdown{background:var(--ts-surface);border:1px solid var(--ts-border);border-radius:var(--ts-radius-md);min-width:200px;box-shadow:var(--ts-shadow-lg), 0 0 20px var(--portal-card-glow-primary);z-index:calc(var(--ts-z-dropdown) + 1);padding:4px;animation:.15s ts-dropdown-in;position:absolute;top:calc(100% + 6px);right:0}.ts-user-menu-header{color:var(--ts-text-muted);border-bottom:1px solid var(--ts-border);margin-bottom:4px;padding:10px 12px 8px;font-size:13px}.ts-user-menu-header strong{color:var(--ts-text);font-weight:600}.ts-user-menu-section{border-bottom:1px solid var(--ts-border);gap:4px;margin-bottom:4px;padding:8px 0;display:grid}.ts-user-menu-section-title{color:var(--ts-text-muted);font-size:var(--ts-text-tiny);letter-spacing:var(--ts-tracking-wide);text-transform:uppercase;padding:0 10px 2px;font-weight:800}.ts-user-menu-item,.ts-theme-choice{border-radius:var(--ts-radius-sm);width:100%;min-height:34px;color:var(--ts-text);cursor:pointer;transition:background var(--ts-transition-fast) ease;background:0 0;border:none;align-items:center;gap:8px;padding:8px 12px;font-size:13px;display:flex}.ts-user-menu-item:hover,.ts-theme-choice:hover{background:var(--ts-surface-muted)}.ts-user-menu-item:hover{color:var(--ts-danger)}.ts-theme-choice{justify-content:flex-start}.ts-theme-choice.is-active{background:var(--ts-primary-soft);color:var(--ts-primary);font-weight:700}.ts-theme-choice-check{color:currentColor;margin-left:auto}:root[data-theme=dark] .portal-shell-topbar,:root[data-theme=midnight] .portal-shell-topbar,:root[data-theme=nord] .portal-shell-topbar,:root[data-theme=system][data-resolved-theme=dark] .portal-shell-topbar,:root[data-theme=dark] .portal-card,:root[data-theme=midnight] .portal-card,:root[data-theme=nord] .portal-card,:root[data-theme=system][data-resolved-theme=dark] .portal-card,:root[data-theme=dark] .portal-summary-card,:root[data-theme=midnight] .portal-summary-card,:root[data-theme=nord] .portal-summary-card,:root[data-theme=system][data-resolved-theme=dark] .portal-summary-card,:root[data-theme=dark] .access-admin-module-card,:root[data-theme=midnight] .access-admin-module-card,:root[data-theme=nord] .access-admin-module-card,:root[data-theme=system][data-resolved-theme=dark] .access-admin-module-card{box-shadow:var(--ts-shadow-ring), var(--ts-shadow-sm)}:root[data-theme=dark] .portal-card:hover,:root[data-theme=midnight] .portal-card:hover,:root[data-theme=nord] .portal-card:hover,:root[data-theme=system][data-resolved-theme=dark] .portal-card:hover{box-shadow:var(--ts-shadow-lg), 0 0 18px var(--portal-card-glow-primary)}:root[data-theme=dark] .access-admin-search,:root[data-theme=midnight] .access-admin-search,:root[data-theme=nord] .access-admin-search,:root[data-theme=system][data-resolved-theme=dark] .access-admin-search,:root[data-theme=dark] .access-admin-user-select,:root[data-theme=midnight] .access-admin-user-select,:root[data-theme=nord] .access-admin-user-select,:root[data-theme=system][data-resolved-theme=dark] .access-admin-user-select,:root[data-theme=dark] .sentinel-ia-admin-field input,:root[data-theme=midnight] .sentinel-ia-admin-field input,:root[data-theme=nord] .sentinel-ia-admin-field input,:root[data-theme=system][data-resolved-theme=dark] .sentinel-ia-admin-field input,:root[data-theme=dark] .sentinel-ia-admin-field select,:root[data-theme=midnight] .sentinel-ia-admin-field select,:root[data-theme=nord] .sentinel-ia-admin-field select,:root[data-theme=system][data-resolved-theme=dark] .sentinel-ia-admin-field select,:root[data-theme=dark] .sentinel-ia-admin-test-row input,:root[data-theme=midnight] .sentinel-ia-admin-test-row input,:root[data-theme=nord] .sentinel-ia-admin-test-row input,:root[data-theme=system][data-resolved-theme=dark] .sentinel-ia-admin-test-row input{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@keyframes ts-dropdown-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (width<=720px){.portal-module-brand-product-logo{height:70px}}.sentinel-ia-overlay-root{z-index:calc(var(--ts-z-toast,1500) + 40);color:var(--ts-text);font-family:var(--ts-font-body);pointer-events:none;position:fixed}.sentinel-ia-overlay-root>*{pointer-events:auto}.sentinel-ia-overlay-root.is-collapsed{bottom:18px;right:18px}.sentinel-ia-overlay-root.is-open{width:min(430px,100vw);top:0;bottom:0;right:0}.sentinel-ia-launcher{border:1px solid color-mix(in srgb, var(--ts-primary) 38%, var(--ts-border));width:44px;height:44px;color:var(--ts-heading);background:linear-gradient(135deg, color-mix(in srgb, var(--ts-surface-raised) 92%, transparent), color-mix(in srgb, var(--ts-primary-soft) 48%, var(--ts-surface))), var(--ts-surface);box-shadow:0 16px 34px #030c1c3d, var(--ts-shadow-ring);cursor:pointer;border-radius:14px;place-items:center;padding:0;display:inline-grid;position:relative}.sentinel-ia-launcher:hover{border-color:color-mix(in srgb, var(--ts-primary) 62%, var(--ts-border));box-shadow:0 24px 60px #030c1c47, 0 0 0 4px var(--ts-ring)}.sentinel-ia-launcher .sentinel-ia-mascot{width:32px;height:32px}.sentinel-ia-launcher-status{border:2px solid var(--ts-surface);background:#86efac;border-radius:999px;width:8px;height:8px;position:absolute;bottom:6px;right:6px;box-shadow:0 0 10px #86efacb8}.sentinel-ia-launcher-status[data-online=false]{background:#fb923c;box-shadow:0 0 10px #fb923cb8}.sentinel-ia-panel{box-sizing:border-box;resize:none;border:1px solid color-mix(in srgb, var(--ts-border-strong) 72%, var(--ts-primary));width:100%;min-width:0;max-width:100vw;height:100dvh;min-height:0;max-height:100dvh;color:var(--ts-text);background:linear-gradient(180deg, color-mix(in srgb, var(--ts-surface-raised) 96%, transparent), color-mix(in srgb, var(--ts-surface) 94%, var(--ts-surface-sunken))), var(--ts-surface);box-shadow:-22px 0 64px #030c1c47, var(--ts-shadow-ring);border-width:0 0 0 1px;border-radius:0;grid-template-rows:auto minmax(0,1fr) auto;display:grid;overflow:hidden}.sentinel-ia-panel-header{border-bottom:1px solid var(--ts-border);background:linear-gradient(135deg, #07111ff5, color-mix(in srgb, var(--ts-primary) 30%, #07111feb)), #07111f;color:#f8fbff;justify-content:space-between;align-items:center;gap:14px;padding:12px 13px;display:flex}.sentinel-ia-panel-title{align-items:center;gap:10px;display:flex}.sentinel-ia-panel-title strong{font-family:var(--ts-font-heading);font-size:16px;display:block}.sentinel-ia-panel-title span{color:#b9c8dc;letter-spacing:.05em;text-transform:uppercase;align-items:center;gap:5px;font-size:11px;font-weight:800;display:inline-flex}.sentinel-ia-panel-title span:before{content:"";background:#86efac;border-radius:999px;width:7px;height:7px;box-shadow:0 0 12px #86efaccc}.sentinel-ia-panel-title span.is-alert:before{background:#fb923c;box-shadow:0 0 12px #fb923cd9}.sentinel-ia-panel-actions{gap:6px;display:inline-flex}.sentinel-ia-panel-actions button,.sentinel-ia-input-row button,.sentinel-ia-action-buttons button{border:1px solid color-mix(in srgb, var(--ts-border) 78%, transparent);color:inherit;background:color-mix(in srgb, var(--ts-surface-raised) 72%, transparent);cursor:pointer;border-radius:9px;place-items:center;display:inline-grid}.sentinel-ia-panel-actions button{color:#dce7f5;background:#ffffff14;width:30px;height:30px}.sentinel-ia-panel-body{background:radial-gradient(circle at top right, color-mix(in srgb, var(--ts-primary-soft) 60%, transparent), transparent 240px), color-mix(in srgb, var(--ts-surface-muted) 46%, var(--ts-surface));min-height:0;padding:12px;overflow:auto}.sentinel-ia-thinking,.sentinel-ia-error{border:1px dashed var(--ts-border-strong);color:var(--ts-text-muted);background:color-mix(in srgb, var(--ts-surface) 72%, transparent);border-radius:12px;gap:4px;padding:12px;display:grid}.sentinel-ia-error{border-color:color-mix(in srgb, var(--ts-danger) 45%, var(--ts-border));color:var(--ts-danger);background:var(--ts-danger-soft);margin-bottom:10px}.sentinel-ia-intro-strip{border:1px solid color-mix(in srgb, var(--ts-border) 82%, var(--ts-primary));color:var(--ts-text-muted);background:linear-gradient(135deg, color-mix(in srgb, var(--ts-surface-raised) 90%, transparent), color-mix(in srgb, var(--ts-primary-soft) 18%, var(--ts-surface))), var(--ts-surface);box-shadow:var(--ts-shadow-xs);border-radius:10px;align-items:baseline;gap:8px;margin-bottom:12px;padding:9px 10px;display:flex}.sentinel-ia-intro-strip strong{color:var(--ts-heading);font-family:var(--ts-font-heading);flex:none;font-size:13px}.sentinel-ia-intro-strip span{min-width:0;font-size:12px;line-height:1.35}.sentinel-ia-message-list{gap:10px;display:grid}.sentinel-ia-message{border:1px solid var(--ts-border);background:var(--ts-surface);max-width:92%;box-shadow:var(--ts-shadow-xs);border-radius:13px;padding:10px 11px}.sentinel-ia-message-user{color:var(--ts-text-inverse);border-color:color-mix(in srgb, var(--ts-primary) 60%, var(--ts-border));background:linear-gradient(135deg, var(--ts-primary), color-mix(in srgb, var(--ts-primary) 80%, #0f766e));justify-self:end}.sentinel-ia-message-role{letter-spacing:.06em;text-transform:uppercase;opacity:.72;margin-bottom:4px;font-size:10.5px;font-weight:800}.sentinel-ia-message-content{white-space:pre-wrap;font-size:13.2px;line-height:1.45}.sentinel-ia-actions-stack{gap:8px;margin-top:12px;display:grid}.sentinel-ia-action{border:1px solid var(--ts-border);border-left:3px solid var(--ts-info);background:color-mix(in srgb, var(--ts-surface) 82%, transparent);border-radius:12px;padding:10px}.sentinel-ia-action-high,.sentinel-ia-action-critical{border-left-color:var(--ts-danger)}.sentinel-ia-action-medium{border-left-color:var(--ts-warning)}.sentinel-ia-action-top{color:var(--ts-text-muted);letter-spacing:.06em;text-transform:uppercase;justify-content:space-between;align-items:center;font-size:10.5px;font-weight:800;display:flex}.sentinel-ia-action h4{font-family:var(--ts-font-heading);color:var(--ts-heading);margin:6px 0 3px;font-size:13.5px}.sentinel-ia-action p{color:var(--ts-text-muted);margin:0;font-size:12.5px}.sentinel-ia-action-error{color:var(--ts-danger)!important;margin-top:6px!important}.sentinel-ia-action-buttons{gap:8px;margin-top:9px;display:flex}.sentinel-ia-action-buttons button{min-height:30px;padding:0 10px;font-size:12px;font-weight:800}.sentinel-ia-panel-footer{border-top:1px solid var(--ts-border);background:color-mix(in srgb, var(--ts-surface-raised) 86%, transparent);padding:11px}.sentinel-ia-input-row{grid-template-columns:minmax(0,1fr) 42px;gap:8px;display:grid}.sentinel-ia-input-row textarea{resize:vertical;border:1px solid var(--ts-border-strong);min-height:46px;max-height:130px;color:var(--ts-text);background:var(--ts-input-bg);font:inherit;border-radius:12px;padding:9px 10px;font-size:13px}.sentinel-ia-input-row button{width:42px;min-height:46px;color:var(--ts-text-inverse);background:linear-gradient(135deg, var(--ts-primary), color-mix(in srgb, var(--ts-primary) 72%, #14b8a6))}.sentinel-ia-input-row button:disabled{cursor:not-allowed;opacity:.5}.sentinel-ia-panel-footer p{color:var(--ts-text-subtle);margin:8px 2px 0;font-size:11px}.sentinel-ia-mascot{filter:drop-shadow(0 0 12px #0ea5e93d);flex:none;place-items:center;width:46px;height:46px;display:inline-grid}.sentinel-ia-mascot img{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.sentinel-ia-panel-title .sentinel-ia-mascot{width:36px;height:36px}.sentinel-ia-mascot-idle{transform-origin:50%;animation:3.2s ease-in-out infinite sentinelIaBreathe}.sentinel-ia-mascot-thinking{filter:drop-shadow(0 0 18px #2dd4bf6b);animation:1.1s ease-in-out infinite sentinelIaPulse}.sentinel-ia-mascot-responding{animation:.9s ease-in-out infinite alternate sentinelIaSpeak}.sentinel-ia-mascot-alert{filter:drop-shadow(0 0 18px #fb923c80);animation:1.1s ease-in-out infinite sentinelIaAlert}@keyframes sentinelIaBreathe{0%,to{transform:scale(1)}50%{transform:scale(1.015)}}@keyframes sentinelIaRadar{to{transform:rotate(360deg)}}@keyframes sentinelIaPulse{0%,to{opacity:.82}50%{opacity:1}}@keyframes sentinelIaSpeak{0%{opacity:.62;transform:translateY(0)}to{opacity:1;transform:translateY(-2px)}}@keyframes sentinelIaAlert{0%,to{transform:scale(1)}50%{transform:scale(1.035)}}@media (width<=720px){.sentinel-ia-overlay-root.is-collapsed{bottom:12px;right:12px}.sentinel-ia-overlay-root.is-open{width:100vw}.sentinel-ia-launcher{width:42px;height:42px}.sentinel-ia-intro-strip{gap:3px;display:grid}}
