:root{color-scheme:light;--primary: #2563eb;--primary-hover: #1d4ed8;--on-primary: #ffffff;--accent: #f59e0b;--success: #2a9d8f;--danger: #e76f51;--danger-surface: #fff4f3;--danger-border: #f2b8b5;--bg-base: #f4f7fb;--bg-subtle: #edf2f7;--surface: #ffffff;--surface-muted: #eef2f6;--surface-strong: #14213d;--text-main: #1d2430;--text-muted: #526170;--text-subtle: #6d7a86;--on-strong: #ffffff;--border: #dbe1e6;--border-strong: #c7d0da;--control-border: #bfccd6;--neutral-action: #687781;--neutral-action-text: #ffffff;--sidebar-bg: #14213d;--sidebar-surface: #243554;--sidebar-text: #ffffff;--sidebar-muted: #b7c5d3;--brand-mark-bg: #fca311;--brand-mark-text: #14213d;--status-pending: #fca311;--badge-bg: #e9f5f3;--badge-text: #2a6f65;--shadow-light: #ffffff;--shadow-dark: #aab7c8;--shadow-inset: inset 4px 4px 8px var(--shadow-dark), inset -4px -4px 8px var(--shadow-light);--shadow-drop: 8px 8px 18px rgba(170, 183, 200, .46), -8px -8px 18px rgba(255, 255, 255, .86);--shadow-card: 0 8px 24px rgba(29, 36, 48, .06);--glass-bg: rgba(255, 255, 255, .7);--glass-border: rgba(255, 255, 255, .52);--glass-blur: blur(14px);--focus-ring: 0 0 0 3px rgba(37, 99, 235, .28);--lab-bg-top: #f8fbff;--lab-bg-bottom: #eef3f8;--lab-glow-primary: rgba(37, 99, 235, .1);--lab-glow-secondary: rgba(45, 212, 191, .1);--lab-sidebar-bg: rgba(255, 255, 255, .92);--lab-sidebar-border: rgba(148, 163, 184, .32);--lab-topbar-bg: rgba(255, 255, 255, .86);--lab-panel-bg: rgba(255, 255, 255, .92);--lab-panel-row-bg: rgba(241, 245, 249, .88);--lab-border: rgba(148, 163, 184, .28);--lab-border-soft: rgba(148, 163, 184, .2);--lab-text-strong: #0f172a;--lab-text-main: #1e293b;--lab-text-muted: #64748b;--lab-text-subtle: #7c8a9b;--lab-nav-active-bg: #e9f2ff;--lab-secondary-bg: #eef2f7;--lab-progress-bg: #dbe4ee;--lab-control-bg: #ffffff;--lab-chart-bg: #f8fafc;--lab-chart-grid: rgba(15, 23, 42, .07);--lab-avatar-bg: #dbeafe;--lab-positive-bg: rgba(20, 184, 166, .14);--lab-positive-text: #0f766e;--lab-brand-bg: #1d7ef2;--lab-brand-text: #ffffff;--lab-shadow: 0 14px 32px rgba(15, 23, 42, .1)}.dark-theme{color-scheme:dark;--primary: #8fb4ff;--primary-hover: #b3caff;--on-primary: #ffffff;--accent: #fbbf24;--success: #5eead4;--danger: #fb8a6f;--danger-surface: rgba(251, 138, 111, .12);--danger-border: rgba(251, 138, 111, .38);--bg-base: #121722;--bg-subtle: #1a2230;--surface: #202938;--surface-muted: #273244;--surface-strong: #0f172a;--text-main: #f7fafc;--text-muted: #cbd5e1;--text-subtle: #94a3b8;--on-strong: #ffffff;--border: #354154;--border-strong: #475569;--control-border: #64748b;--neutral-action: #334155;--neutral-action-text: #f8fafc;--sidebar-bg: #0f172a;--sidebar-surface: #1e293b;--sidebar-text: #ffffff;--sidebar-muted: #cbd5e1;--brand-mark-bg: #fbbf24;--brand-mark-text: #0f172a;--status-pending: #fbbf24;--badge-bg: rgba(94, 234, 212, .13);--badge-text: #9af8ec;--shadow-light: #2b3446;--shadow-dark: #080b12;--shadow-inset: inset 4px 4px 8px var(--shadow-dark), inset -4px -4px 8px var(--shadow-light);--shadow-drop: 8px 8px 18px rgba(8, 11, 18, .62), -8px -8px 18px rgba(43, 52, 70, .46);--shadow-card: 0 12px 30px rgba(0, 0, 0, .28);--glass-bg: rgba(15, 23, 42, .62);--glass-border: rgba(255, 255, 255, .1);--glass-blur: blur(14px);--focus-ring: 0 0 0 3px rgba(143, 180, 255, .34);--lab-bg-top: #080d13;--lab-bg-bottom: #0b1119;--lab-glow-primary: rgba(37, 99, 235, .16);--lab-glow-secondary: rgba(45, 212, 191, .11);--lab-sidebar-bg: rgba(7, 11, 16, .94);--lab-sidebar-border: rgba(120, 140, 160, .18);--lab-topbar-bg: rgba(10, 15, 22, .86);--lab-panel-bg: rgba(12, 18, 26, .9);--lab-panel-row-bg: rgba(17, 26, 36, .92);--lab-border: rgba(120, 140, 160, .18);--lab-border-soft: rgba(120, 140, 160, .14);--lab-text-strong: #f4f8fb;--lab-text-main: #dbe7f3;--lab-text-muted: #8fa1b3;--lab-text-subtle: #7e8c9d;--lab-nav-active-bg: #121c27;--lab-secondary-bg: #111a24;--lab-progress-bg: #243241;--lab-control-bg: #111a24;--lab-chart-bg: #101821;--lab-chart-grid: rgba(255, 255, 255, .05);--lab-avatar-bg: #263a4c;--lab-positive-bg: rgba(45, 212, 191, .14);--lab-positive-text: #66f0dd;--lab-brand-bg: #1d7ef2;--lab-brand-text: #ffffff;--lab-shadow: 0 14px 32px rgba(0, 0, 0, .22)}:root{--font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace}h1,h2,h3,h4,p{margin-block:0}.sidebar-menu{min-width:230px;border:1px solid var(--lab-border);border-radius:12px;background:var(--lab-panel-bg);box-shadow:var(--lab-shadow)}.sidebar-menu-heading,.user-menu-identity{display:grid;padding:12px 16px 8px;color:var(--lab-text-strong)}.sidebar-menu-heading{font-size:.7rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.sidebar-menu-item{color:var(--lab-text-main);font-size:.84rem}.team-option{display:flex;gap:8px}.team-option.selected{color:#5c32cc;font-weight:750}.organization-group-label{padding:8px 16px 4px;color:var(--lab-text-muted);font-size:.7rem;font-weight:700}.menu-check{display:inline-block;width:16px;color:currentColor}.menu-check svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.menu-divider{border-top:1px solid var(--lab-border)}.user-menu-identity{gap:3px;padding-bottom:12px;border-bottom:1px solid var(--lab-border)}.user-menu-identity strong,.user-menu-identity small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-identity strong{font-size:.86rem}.user-menu-identity small{color:var(--lab-text-muted);font-size:.73rem}.sign-out-item{color:var(--danger)}app-home{display:block;min-width:0;color:var(--lab-text-main)}app-home .home-content{width:100%;min-width:0;max-width:1540px;margin:0 auto;padding:40px 42px 52px}app-home .home-header{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:28px}app-home .eyebrow,app-home .card-kicker{margin:0 0 7px;color:var(--primary);font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}app-home h1{margin:0;color:var(--lab-text-strong);font-size:clamp(1.75rem,2.5vw,2.3rem);font-weight:750;letter-spacing:-.035em;line-height:1.1}app-home .home-intro{margin:9px 0 0;color:var(--lab-text-muted);font-size:.92rem}app-home .header-actions{display:flex;align-items:center;gap:10px}app-home .header-actions mat-form-field{width:min(290px,28vw)}app-home .header-actions>a,app-home .header-actions>button{min-height:42px;white-space:nowrap}app-home .dashboard-error{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;padding:11px 14px;border:1px solid var(--danger-border);border-radius:7px;background:var(--danger-surface);color:var(--danger)}app-home .metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:20px}app-home .metric-card{position:relative;display:flex;min-width:0;min-height:126px;flex-direction:row;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px;border:1px solid var(--lab-border-soft);border-radius:9px;background:var(--lab-panel-bg);box-shadow:0 1px 2px color-mix(in srgb,var(--lab-text-strong) 5%,transparent)}app-home .metric-card:before{position:absolute;inset:0 auto 0 0;width:3px;border-radius:9px 0 0 9px;background:var(--primary);content:""}app-home .metric-card>div{display:grid;min-width:0;gap:5px}app-home .metric-card div>span,app-home .metric-card small{color:var(--lab-text-muted);font-size:.76rem}app-home .metric-card div>span{font-weight:750;letter-spacing:.045em;text-transform:uppercase}app-home .metric-card strong{color:var(--lab-text-strong);font-size:2rem;font-weight:760;letter-spacing:-.04em;line-height:1}app-home .metric-icon,app-home .organization-avatar{display:grid;flex:0 0 auto;place-items:center;background:var(--lab-nav-active-bg);color:var(--primary);font-weight:850}app-home .metric-icon{width:40px;height:40px;border:1px solid color-mix(in srgb,var(--primary) 18%,transparent);border-radius:8px}app-home .metric-card.green:before{background:var(--lab-positive-text)}app-home .metric-card.green .metric-icon{border-color:color-mix(in srgb,var(--lab-positive-text) 20%,transparent);background:var(--lab-positive-bg);color:var(--lab-positive-text)}app-home .dashboard-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.85fr);gap:18px}app-home .dashboard-card{min-width:0;overflow:hidden;border:1px solid var(--lab-border-soft);border-radius:9px;background:var(--lab-panel-bg);box-shadow:0 1px 2px color-mix(in srgb,var(--lab-text-strong) 5%,transparent)}app-home .dashboard-card mat-card-header{display:flex;min-height:68px;align-items:center;justify-content:space-between;gap:14px;padding:13px 18px;border-bottom:1px solid var(--lab-border-soft)}app-home .dashboard-card mat-card-header>div:first-child{min-width:0}app-home .dashboard-card .card-kicker{margin-bottom:3px;font-size:.61rem}app-home .dashboard-card mat-card-title{color:var(--lab-text-strong);font-size:.96rem;font-weight:760;line-height:1.25}app-home .dashboard-card mat-card-content{padding:0}app-home .data-table{min-width:610px}app-home .recent-card{overflow-x:auto}app-home .data-row{display:grid;grid-template-columns:1.3fr 1fr .62fr .68fr;align-items:center;min-height:60px;gap:14px;padding:9px 18px;border-bottom:1px solid var(--lab-border-soft);color:var(--lab-text-main);text-decoration:none;transition:background-color .12s ease}app-home .data-row:last-child,app-home .project-row:last-child{border-bottom:0}app-home .data-row:not(.data-head):hover,app-home .organization-row:hover,app-home .project-row:hover{background:var(--lab-panel-row-bg)}app-home .data-row span{min-width:0}app-home .data-row span:first-child{display:grid;gap:3px}app-home .data-row strong,app-home .organization-row strong,app-home .project-row strong{overflow:hidden;color:var(--lab-text-strong);font-size:.82rem;text-overflow:ellipsis;white-space:nowrap}app-home .data-row small,app-home .organization-row small,app-home .project-row small{overflow:hidden;color:var(--lab-text-muted);font-size:.73rem;text-overflow:ellipsis;white-space:nowrap}app-home .data-head{min-height:38px;color:var(--lab-text-muted);font-size:.65rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}app-home .status{display:inline-flex;width:fit-content;padding:4px 8px;border:1px solid var(--lab-border-soft);border-radius:999px;background:var(--lab-secondary-bg);color:var(--lab-text-muted);font-size:.68rem;font-style:normal;font-weight:750;line-height:1;text-transform:capitalize}app-home .status.running,app-home .status.active{border-color:color-mix(in srgb,var(--primary) 20%,transparent);background:var(--lab-nav-active-bg);color:var(--primary)}app-home .status.completed{border-color:color-mix(in srgb,var(--lab-positive-text) 18%,transparent);background:var(--lab-positive-bg);color:var(--lab-positive-text)}app-home .organization-list{display:grid;gap:9px;padding:14px!important}app-home .organization-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:11px;padding:11px;border:1px solid var(--lab-border-soft);border-radius:7px;color:var(--lab-text-main);text-decoration:none;transition:background-color .12s ease}app-home .organization-avatar{width:36px;height:36px;border-radius:7px}app-home .organization-row>span:nth-child(2),app-home .project-row>span:first-child{display:grid;gap:3px;min-width:0}app-home .organization-row em{color:var(--primary);font-size:.66rem;font-style:normal;font-weight:800;text-transform:uppercase}app-home .project-card,app-home .activity-card{min-height:278px}app-home .project-row{display:grid;grid-template-columns:minmax(180px,1.3fr) minmax(110px,.75fr) auto auto;align-items:center;gap:16px;min-height:63px;padding:9px 18px;border-bottom:1px solid var(--lab-border-soft);color:var(--lab-text-main);font-size:.76rem;text-decoration:none;transition:background-color .12s ease}app-home .progress-pending{display:grid;gap:5px;min-width:0}app-home .loading-state{display:grid;gap:18px;min-height:190px;align-content:center;padding:24px 18px}app-home .loader-line{width:100%;height:14px;border-radius:4px;background:linear-gradient(90deg,var(--lab-secondary-bg) 25%,var(--lab-panel-row-bg) 50%,var(--lab-secondary-bg) 75%);background-size:200% 100%;animation:home-loading 1.4s ease-in-out infinite}app-home .loader-line:nth-child(2){width:84%}app-home .loader-line:nth-child(3){width:92%}app-home .empty-state{display:grid;min-height:156px;place-content:center;justify-items:center;gap:7px;padding:24px;color:var(--lab-text-muted);font-size:.8rem;text-align:center}app-home .empty-state strong{color:var(--lab-text-strong)}app-home .empty-symbol{display:grid;width:36px;height:36px;margin-bottom:3px;place-items:center;border:1px solid var(--lab-border-soft);border-radius:8px;color:var(--primary)}app-home .visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}app-home a:focus-visible,app-home button:focus-visible{outline:0;box-shadow:var(--focus-ring)}@media(max-width:1120px){app-home .dashboard-grid{grid-template-columns:1fr}}@media(max-width:760px){app-home .home-content{padding:26px 20px 38px}app-home .home-header,app-home .header-actions{align-items:stretch;flex-direction:column}app-home .header-actions mat-form-field{width:100%}app-home .header-actions>a,app-home .header-actions>button{width:100%}app-home .metric-grid{grid-template-columns:1fr}app-home .metric-card{min-height:105px;padding:17px}app-home .project-row{grid-template-columns:minmax(0,1fr) auto}app-home .project-row .progress-pending{grid-column:1/-1;grid-row:2}}@media(max-width:430px){app-home .home-content{padding:22px 14px 32px}app-home .home-header{margin-bottom:22px}app-home .dashboard-grid{gap:14px}app-home .organization-row{grid-template-columns:auto minmax(0,1fr) auto}app-home .organization-row>span:last-child{display:none}}@keyframes home-loading{0%{background-position:200% 0}to{background-position:-200% 0}}app-organization{display:block;min-height:100dvh;color:var(--lab-text-main);background:var(--lab-bg-bottom);font-family:var(--font-sans)}app-organization .shell{display:grid;grid-template-columns:132px minmax(0,1fr);min-height:100dvh;background:radial-gradient(circle at 76% 18%,var(--lab-glow-secondary),transparent 28%),linear-gradient(180deg,var(--lab-bg-top) 0%,var(--lab-bg-bottom) 100%)}app-organization .sidebar{display:flex;flex-direction:column;gap:18px;padding:12px 9px;border-right:1px solid var(--lab-sidebar-border);background:var(--lab-sidebar-bg);color:var(--lab-text-main)}app-organization .brand{display:flex;align-items:center;gap:8px;min-height:36px}app-organization .brand-mark{display:grid;width:24px;height:24px;place-items:center;border-radius:6px;background:var(--lab-brand-bg);color:var(--lab-brand-text);font-weight:900}app-organization h1,app-organization h2,app-organization h3,app-organization p{margin:0}app-organization h1{font-size:.82rem;line-height:1.18}app-organization h2{margin-top:2px;font-size:1.1rem;line-height:1.15}app-organization h3{font-size:.86rem;line-height:1.2}app-organization .eyebrow{color:var(--lab-text-subtle);font-size:.66rem;font-weight:800;letter-spacing:0;text-transform:uppercase}app-organization .sidebar .eyebrow{color:var(--lab-text-muted)}app-organization .nav{display:grid;gap:4px}app-organization .nav button{display:flex;align-items:center;min-height:28px;padding:0 8px;border-radius:6px;color:var(--lab-text-muted);font-size:.72rem;font-weight:700;text-decoration:none;text-align:left}app-organization .nav button.active,app-organization .nav button:not(:disabled):hover{background:var(--lab-nav-active-bg);color:var(--lab-text-strong)}app-organization .nav button:disabled{cursor:not-allowed;opacity:.45}app-organization .content{display:flex;flex-direction:column;gap:8px;min-width:0;padding:10px}app-organization .topbar,app-organization .session-actions,app-organization .panel-heading{display:flex;align-items:center;gap:8px}app-organization .topbar{justify-content:space-between;min-height:36px;border:1px solid var(--lab-border);border-radius:8px;padding:6px 8px;background:var(--lab-topbar-bg)}app-organization .session-actions span{color:var(--lab-text-main);font-size:.72rem;font-weight:800}app-organization button{min-height:28px;border:0;border-radius:6px;padding:0 10px;background:var(--primary);color:var(--on-primary);font-size:.72rem;font-weight:800;cursor:pointer}app-organization button.secondary,app-organization .icon-button{border:1px solid var(--lab-border);background:var(--lab-secondary-bg);color:var(--lab-text-main)}app-organization .icon-button{width:24px;min-height:24px;padding:0}app-organization button:focus-visible,app-organization .nav button:focus-visible{outline:0;box-shadow:var(--focus-ring)}app-organization .step-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:4px;border:1px solid var(--lab-border);border-radius:8px;background:var(--lab-topbar-bg)}app-organization .step-tabs button{min-height:30px;background:transparent;color:var(--lab-text-muted)}app-organization .step-tabs button.active{background:var(--lab-nav-active-bg);color:var(--lab-text-strong)}app-organization .dashboard-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:8px}app-organization .panel{min-width:0;border:1px solid var(--lab-border);border-radius:8px;background:var(--lab-panel-bg);box-shadow:var(--lab-shadow)}app-organization .panel-heading{justify-content:space-between;min-height:30px;padding:8px 9px 0}app-organization .dashboard-grid>.panel{grid-column:span 4}app-organization .factors-panel{grid-column:span 5}app-organization .recommendations-panel{grid-column:span 3}app-organization .runs-panel{grid-column:span 8}app-organization .project-list,app-organization .factor-list,app-organization .setting-list,app-organization .contract-list,app-organization .runs-table{display:grid;gap:6px;padding:9px}app-organization .project-row,app-organization .factor-row,app-organization .recommendation-row,app-organization .activity-item,app-organization .table-head,app-organization .table-row,app-organization .contract-list div,app-organization .constraint-box{border:1px solid var(--lab-border-soft);border-radius:6px;background:var(--lab-panel-row-bg)}app-organization .project-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;padding:8px}app-organization .project-row strong,app-organization .activity-item strong,app-organization .recommendation-row strong{color:var(--lab-text-strong);font-size:.76rem}app-organization .project-row span,app-organization .activity-item p,app-organization .recommendation-row span,app-organization .factor-row span,app-organization .constraint-box p,app-organization .engine-panel p,app-organization .assistant-panel p,app-organization .contract-list dd{color:var(--lab-text-muted);font-size:.72rem}app-organization .status-pill,app-organization .badge,app-organization .recommendation-row em{border-radius:999px;padding:3px 7px;background:var(--lab-positive-bg);color:var(--lab-positive-text);font-size:.66rem;font-style:normal;font-weight:900}app-organization .progress-track,app-organization .confidence-meter{grid-column:1/-1;height:5px;overflow:hidden;border-radius:999px;background:var(--lab-progress-bg)}app-organization .progress-track span,app-organization .confidence-meter span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--success),var(--primary))}app-organization .confidence-meter{margin:10px 9px 7px}app-organization .confidence-meter span{width:91%}app-organization .engine-panel strong{display:block;padding:0 9px 10px;color:var(--lab-positive-text);font-size:.74rem}app-organization .engine-panel p,app-organization .assistant-panel p{padding:8px 9px 0}app-organization .activity-item{display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;margin:9px;padding:8px}app-organization .avatar{display:grid;width:26px;height:26px;place-items:center;border-radius:50%;background:var(--lab-avatar-bg);color:var(--lab-text-main);font-size:.72rem;font-weight:900}app-organization .factor-row{display:grid;grid-template-columns:minmax(118px,1.2fr) minmax(74px,.8fr) 54px 34px;gap:8px;align-items:center;min-height:30px;padding:6px 8px}app-organization .factor-row strong{color:var(--lab-text-strong);font-size:.72rem}app-organization .toggle{justify-self:end;position:relative;width:28px;height:16px;border-radius:999px;background:var(--lab-progress-bg)}app-organization .toggle:after{content:"";position:absolute;top:3px;left:3px;width:10px;height:10px;border-radius:50%;background:var(--lab-text-muted)}app-organization .toggle.on{background:var(--primary)}app-organization .toggle.on:after{left:15px;background:var(--on-primary)}app-organization .setting-list label{display:flex;align-items:center;gap:8px;color:var(--lab-text-main);font-size:.72rem;font-weight:800}app-organization .radio{width:14px;height:14px;border:2px solid var(--control-border);border-radius:50%}app-organization .radio.checked{border-color:var(--primary);box-shadow:inset 0 0 0 3px var(--lab-panel-bg);background:var(--primary)}app-organization .constraint-box{display:grid;gap:6px;margin:0 9px 9px;padding:8px}app-organization .constraint-box strong{color:var(--lab-text-strong);font-size:.74rem}app-organization .text-action{justify-self:start;min-height:24px;padding:0;background:transparent;color:var(--primary)}app-organization .surface-chart,app-organization .pareto-chart{position:relative;height:156px;margin:8px 9px 10px;overflow:hidden;border:1px solid var(--lab-border-soft);border-radius:6px;background:linear-gradient(var(--lab-chart-grid) 1px,transparent 1px),linear-gradient(90deg,var(--lab-chart-grid) 1px,transparent 1px),var(--lab-chart-bg);background-size:100% 38px,42px 100%,auto}app-organization .recommendation-row{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:8px;align-items:center;margin:8px 9px 0;padding:8px}app-organization .runs-table{overflow-x:auto}app-organization .table-head,app-organization .table-row{display:grid;grid-template-columns:repeat(5,minmax(86px,1fr));gap:8px;align-items:center;min-width:620px;padding:8px}app-organization .table-head{color:var(--lab-text-muted);font-size:.68rem;font-weight:900;text-transform:uppercase}app-organization .table-row{color:var(--lab-text-main);font-size:.72rem}app-organization .contract-list{margin:0}app-organization .contract-list div{display:grid;grid-template-columns:48px minmax(0,1fr);gap:8px;align-items:center;padding:7px 8px}app-organization .contract-list dt{color:var(--success);font-size:.68rem;font-weight:900}app-organization .contract-list dd{margin:0;overflow-wrap:anywhere}@media(max-width:1180px){app-organization .dashboard-grid{grid-template-columns:repeat(6,minmax(0,1fr))}app-organization .dashboard-grid>*{grid-column:span 6}}@media(max-width:780px){app-organization .shell{grid-template-columns:1fr}app-organization .sidebar{border-right:0;border-bottom:1px solid var(--lab-sidebar-border)}app-organization .nav,app-organization .step-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}app-organization .topbar,app-organization .session-actions{align-items:stretch;flex-direction:column}app-organization .dashboard-grid{grid-template-columns:1fr}app-organization .dashboard-grid>*{grid-column:span 1}app-organization .factor-row,app-organization .recommendation-row{grid-template-columns:1fr}}.organization-view{display:grid;gap:12px;min-width:0;padding:14px;border:1px solid var(--lab-border);border-radius:10px;background:var(--lab-panel-bg);box-shadow:var(--lab-shadow)}.organization-heading,.organization-context,.form-heading,.confirmation-actions{display:flex;align-items:center;gap:10px}.organization-heading{justify-content:space-between}.organization-heading h3,.invite-form h3,.removal-confirmation h3{margin:0;color:var(--lab-text-strong)}.organization-context{flex-wrap:wrap;justify-content:flex-end;color:var(--lab-text-muted);font-size:.75rem}.organization-context strong,.organization-context span{padding:5px 8px;border:1px solid var(--lab-border-soft);border-radius:999px;background:var(--lab-panel-row-bg)}.feedback,.permission-note,.organization-state,.removal-confirmation{margin:0;padding:10px 12px;border:1px solid var(--lab-border-soft);border-radius:7px;color:var(--lab-text-main);background:var(--lab-panel-row-bg);font-size:.78rem}.feedback.error,.removal-confirmation{border-color:var(--danger-border);background:var(--danger-surface)}.feedback.success{color:var(--lab-positive-text);background:var(--lab-positive-bg)}.organization-state{display:grid;gap:5px;min-height:90px;place-content:center;text-align:center}.organization-state h3,.organization-state p,.invite-form p,.removal-confirmation p{margin:0}.invite-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:10px;align-items:start;padding:12px;border:1px solid var(--lab-border-soft);border-radius:8px;background:var(--lab-panel-row-bg)}.form-heading{grid-column:1/-1;justify-content:space-between}.form-heading p,.invite-form label span,.muted-action{color:var(--lab-text-muted);font-size:.7rem}.invite-form label{display:grid;gap:5px;color:var(--lab-text-main);font-size:.72rem;font-weight:800}.invite-form input,.invite-form select,.member-row select{width:100%;min-height:34px;border:1px solid var(--control-border);border-radius:6px;padding:0 8px;background:var(--lab-control-bg);color:var(--lab-text-main)}.invite-form input:focus-visible,.invite-form select:focus-visible,.member-row select:focus-visible{outline:0;box-shadow:var(--focus-ring)}.invite-form button{align-self:end;min-height:34px}.invite-form button:disabled,.member-row button:disabled,.removal-confirmation button:disabled{cursor:wait;opacity:.55}.field-error{color:var(--danger)!important;font-weight:700}.member-table{display:grid;overflow-x:auto;border:1px solid var(--lab-border-soft);border-radius:8px}.member-row{display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(190px,1.2fr) minmax(130px,.7fr) 90px;gap:12px;align-items:center;min-width:720px;min-height:54px;padding:8px 10px;color:var(--lab-text-main);font-size:.74rem}.member-row+.member-row{border-top:1px solid var(--lab-border-soft)}.member-header{min-height:36px;background:var(--lab-panel-row-bg);color:var(--lab-text-muted);font-size:.68rem;font-weight:900;text-transform:uppercase}.member-identity{display:flex;align-items:center;gap:8px}.member-identity>span:last-child{display:grid;gap:2px}.member-identity em{color:var(--lab-text-muted);font-size:.65rem;font-style:normal}.role-pill{display:inline-flex;border-radius:999px;padding:4px 8px;background:var(--lab-positive-bg);color:var(--lab-positive-text);font-weight:900}.danger-action{min-height:28px;border:1px solid var(--danger-border);background:transparent;color:var(--danger)}.removal-confirmation{display:flex;justify-content:space-between;gap:16px;align-items:center}.removal-confirmation>div:first-child{display:grid;gap:4px}.danger-button{background:var(--danger);color:var(--on-primary)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.organization-switcher,.organization-create-form{display:flex;align-items:end;gap:10px;border:1px solid var(--lab-border);border-radius:8px;padding:10px;background:var(--lab-panel-bg)}.organization-switcher>div,.organization-create-form>div:first-child{margin-right:auto}.organization-create-form{align-items:stretch;flex-direction:column}.organization-create-form input,.organization-create-form select,.organization-create-form textarea,.organization-switcher select{min-height:34px;border:1px solid var(--lab-border);border-radius:6px;padding:0 9px;background:var(--lab-secondary-bg);color:var(--lab-text-main)}.organization-create-form textarea{padding-block:8px;resize:vertical}.organization-create-form .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.organization-create-form .form-grid label{display:grid;gap:6px}.projects-view,.project-catalog{display:grid;gap:10px}.projects-toolbar,.project-overview{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--lab-border);border-radius:8px;padding:10px;background:var(--lab-panel-bg)}.projects-toolbar>div,.project-card>span:first-child,.project-overview>div{display:grid;gap:3px}.projects-toolbar span,.project-card em,.project-overview p,.project-overview span{color:var(--lab-text-muted);font-size:.72rem;font-style:normal}.project-catalog{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.project-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;min-height:92px;border:1px solid var(--lab-border);padding:12px;background:var(--lab-panel-row-bg);color:var(--lab-text-main);text-align:left}.project-card.selected{border-color:var(--primary);box-shadow:var(--focus-ring)}.project-card .status-pill{justify-self:start}.project-overview>div:first-child{flex:1}.experiment-list{display:grid;gap:6px}.experiment-row,.experiment-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--lab-border);border-radius:8px;padding:10px 12px;background:var(--lab-panel-bg);color:var(--lab-text-main);text-align:left}.experiment-row.selected{border-color:var(--primary)}.experiment-row>span:first-child,.experiment-summary>div{display:grid;gap:3px}.experiment-row em,.experiment-summary p{color:var(--lab-text-muted);font-size:.72rem;font-style:normal}.form-actions{display:flex;justify-content:flex-end;gap:8px}@media(max-width:1040px){.invite-form{grid-template-columns:repeat(2,minmax(0,1fr))}.invite-form button{justify-self:start}}@media(max-width:780px){.organization-heading,.organization-context,.removal-confirmation{align-items:stretch;flex-direction:column}.organization-context{justify-content:flex-start}.invite-form{grid-template-columns:1fr}.confirmation-actions{flex-wrap:wrap}}html{--mat-sys-background: light-dark(#faf9fd, #121316);--mat-sys-error: light-dark(#ba1a1a, #ffb4ab);--mat-sys-error-container: light-dark(#ffdad6, #93000a);--mat-sys-inverse-on-surface: light-dark(#f2f0f4, #2f3033);--mat-sys-inverse-primary: light-dark(#abc7ff, #005cbb);--mat-sys-inverse-surface: light-dark(#2f3033, #e3e2e6);--mat-sys-on-background: light-dark(#1a1b1f, #e3e2e6);--mat-sys-on-error: light-dark(#ffffff, #690005);--mat-sys-on-error-container: light-dark(#93000a, #ffdad6);--mat-sys-on-primary: light-dark(#ffffff, #002f65);--mat-sys-on-primary-container: light-dark(#00458f, #d7e3ff);--mat-sys-on-primary-fixed: light-dark(#001b3f, #001b3f);--mat-sys-on-primary-fixed-variant: light-dark(#00458f, #00458f);--mat-sys-on-secondary: light-dark(#ffffff, #283041);--mat-sys-on-secondary-container: light-dark(#3e4759, #dae2f9);--mat-sys-on-secondary-fixed: light-dark(#131c2b, #131c2b);--mat-sys-on-secondary-fixed-variant: light-dark(#3e4759, #3e4759);--mat-sys-on-surface: light-dark(#1a1b1f, #e3e2e6);--mat-sys-on-surface-variant: light-dark(#44474e, #e0e2ec);--mat-sys-on-tertiary: light-dark(#ffffff, #502400);--mat-sys-on-tertiary-container: light-dark(#723600, #ffdcc7);--mat-sys-on-tertiary-fixed: light-dark(#311300, #311300);--mat-sys-on-tertiary-fixed-variant: light-dark(#723600, #723600);--mat-sys-outline: light-dark(#74777f, #8e9099);--mat-sys-outline-variant: light-dark(#c4c6d0, #44474e);--mat-sys-primary: light-dark(#005cbb, #abc7ff);--mat-sys-primary-container: light-dark(#d7e3ff, #00458f);--mat-sys-primary-fixed: light-dark(#d7e3ff, #d7e3ff);--mat-sys-primary-fixed-dim: light-dark(#abc7ff, #abc7ff);--mat-sys-scrim: light-dark(#000000, #000000);--mat-sys-secondary: light-dark(#565e71, #bec6dc);--mat-sys-secondary-container: light-dark(#dae2f9, #3e4759);--mat-sys-secondary-fixed: light-dark(#dae2f9, #dae2f9);--mat-sys-secondary-fixed-dim: light-dark(#bec6dc, #bec6dc);--mat-sys-shadow: light-dark(#000000, #000000);--mat-sys-surface: light-dark(#faf9fd, #121316);--mat-sys-surface-bright: light-dark(#faf9fd, #38393c);--mat-sys-surface-container: light-dark(#efedf0, #1f2022);--mat-sys-surface-container-high: light-dark(#e9e7eb, #292a2c);--mat-sys-surface-container-highest: light-dark(#e3e2e6, #343537);--mat-sys-surface-container-low: light-dark(#f4f3f6, #1a1b1f);--mat-sys-surface-container-lowest: light-dark(#ffffff, #0d0e11);--mat-sys-surface-dim: light-dark(#dbd9dd, #121316);--mat-sys-surface-tint: light-dark(#005cbb, #abc7ff);--mat-sys-surface-variant: light-dark(#e0e2ec, #44474e);--mat-sys-tertiary: light-dark(#964900, #ffb787);--mat-sys-tertiary-container: light-dark(#ffdcc7, #723600);--mat-sys-tertiary-fixed: light-dark(#ffdcc7, #ffdcc7);--mat-sys-tertiary-fixed-dim: light-dark(#ffb787, #ffb787);--mat-sys-neutral-variant20: #2d3038;--mat-sys-neutral10: #1a1b1f;--mat-sys-level0: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-sys-level1: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-sys-level2: 0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12);--mat-sys-level3: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-sys-level4: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-sys-level5: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mat-sys-body-large: 400 1rem / 1.5rem Roboto;--mat-sys-body-large-font: Roboto;--mat-sys-body-large-line-height: 1.5rem;--mat-sys-body-large-size: 1rem;--mat-sys-body-large-tracking: .031rem;--mat-sys-body-large-weight: 400;--mat-sys-body-medium: 400 .875rem / 1.25rem Roboto;--mat-sys-body-medium-font: Roboto;--mat-sys-body-medium-line-height: 1.25rem;--mat-sys-body-medium-size: .875rem;--mat-sys-body-medium-tracking: .016rem;--mat-sys-body-medium-weight: 400;--mat-sys-body-small: 400 .75rem / 1rem Roboto;--mat-sys-body-small-font: Roboto;--mat-sys-body-small-line-height: 1rem;--mat-sys-body-small-size: .75rem;--mat-sys-body-small-tracking: .025rem;--mat-sys-body-small-weight: 400;--mat-sys-display-large: 400 3.562rem / 4rem Roboto;--mat-sys-display-large-font: Roboto;--mat-sys-display-large-line-height: 4rem;--mat-sys-display-large-size: 3.562rem;--mat-sys-display-large-tracking: -.016rem;--mat-sys-display-large-weight: 400;--mat-sys-display-medium: 400 2.812rem / 3.25rem Roboto;--mat-sys-display-medium-font: Roboto;--mat-sys-display-medium-line-height: 3.25rem;--mat-sys-display-medium-size: 2.812rem;--mat-sys-display-medium-tracking: 0;--mat-sys-display-medium-weight: 400;--mat-sys-display-small: 400 2.25rem / 2.75rem Roboto;--mat-sys-display-small-font: Roboto;--mat-sys-display-small-line-height: 2.75rem;--mat-sys-display-small-size: 2.25rem;--mat-sys-display-small-tracking: 0;--mat-sys-display-small-weight: 400;--mat-sys-headline-large: 400 2rem / 2.5rem Roboto;--mat-sys-headline-large-font: Roboto;--mat-sys-headline-large-line-height: 2.5rem;--mat-sys-headline-large-size: 2rem;--mat-sys-headline-large-tracking: 0;--mat-sys-headline-large-weight: 400;--mat-sys-headline-medium: 400 1.75rem / 2.25rem Roboto;--mat-sys-headline-medium-font: Roboto;--mat-sys-headline-medium-line-height: 2.25rem;--mat-sys-headline-medium-size: 1.75rem;--mat-sys-headline-medium-tracking: 0;--mat-sys-headline-medium-weight: 400;--mat-sys-headline-small: 400 1.5rem / 2rem Roboto;--mat-sys-headline-small-font: Roboto;--mat-sys-headline-small-line-height: 2rem;--mat-sys-headline-small-size: 1.5rem;--mat-sys-headline-small-tracking: 0;--mat-sys-headline-small-weight: 400;--mat-sys-label-large: 500 .875rem / 1.25rem Roboto;--mat-sys-label-large-font: Roboto;--mat-sys-label-large-line-height: 1.25rem;--mat-sys-label-large-size: .875rem;--mat-sys-label-large-tracking: .006rem;--mat-sys-label-large-weight: 500;--mat-sys-label-large-weight-prominent: 700;--mat-sys-label-medium: 500 .75rem / 1rem Roboto;--mat-sys-label-medium-font: Roboto;--mat-sys-label-medium-line-height: 1rem;--mat-sys-label-medium-size: .75rem;--mat-sys-label-medium-tracking: .031rem;--mat-sys-label-medium-weight: 500;--mat-sys-label-medium-weight-prominent: 700;--mat-sys-label-small: 500 .688rem / 1rem Roboto;--mat-sys-label-small-font: Roboto;--mat-sys-label-small-line-height: 1rem;--mat-sys-label-small-size: .688rem;--mat-sys-label-small-tracking: .031rem;--mat-sys-label-small-weight: 500;--mat-sys-title-large: 400 1.375rem / 1.75rem Roboto;--mat-sys-title-large-font: Roboto;--mat-sys-title-large-line-height: 1.75rem;--mat-sys-title-large-size: 1.375rem;--mat-sys-title-large-tracking: 0;--mat-sys-title-large-weight: 400;--mat-sys-title-medium: 500 1rem / 1.5rem Roboto;--mat-sys-title-medium-font: Roboto;--mat-sys-title-medium-line-height: 1.5rem;--mat-sys-title-medium-size: 1rem;--mat-sys-title-medium-tracking: .009rem;--mat-sys-title-medium-weight: 500;--mat-sys-title-small: 500 .875rem / 1.25rem Roboto;--mat-sys-title-small-font: Roboto;--mat-sys-title-small-line-height: 1.25rem;--mat-sys-title-small-size: .875rem;--mat-sys-title-small-tracking: .006rem;--mat-sys-title-small-weight: 500;--mat-sys-corner-extra-large: 28px;--mat-sys-corner-extra-large-top: 28px 28px 0 0;--mat-sys-corner-extra-small: 4px;--mat-sys-corner-extra-small-top: 4px 4px 0 0;--mat-sys-corner-full: 9999px;--mat-sys-corner-large: 16px;--mat-sys-corner-large-end: 0 16px 16px 0;--mat-sys-corner-large-start: 16px 0 0 16px;--mat-sys-corner-large-top: 16px 16px 0 0;--mat-sys-corner-medium: 12px;--mat-sys-corner-none: 0;--mat-sys-corner-small: 8px;--mat-sys-dragged-state-layer-opacity: .16;--mat-sys-focus-state-layer-opacity: .12;--mat-sys-hover-state-layer-opacity: .08;--mat-sys-pressed-state-layer-opacity: .12}*{box-sizing:border-box}html,body{min-height:100%}html{background:var(--bg-base)}body{margin:0;background-color:var(--bg-base);color:var(--text-main);font-family:var(--font-sans);transition:background-color .18s ease,color .18s ease}button,input,select,textarea{font:inherit}::selection{background:var(--primary);color:var(--on-primary)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
