@import "https://fonts.googleapis.com/css2?family=Bebas+Neue&display=swap";:root{--vx-primary:var(--bs-primary,#7367f0);--vx-primary-dark:var(--bs-link-hover-color,#675dd8);--vx-success:var(--bs-success,#28c76f);--vx-info:var(--bs-info,#00bad1);--vx-info-rgb:0, 186, 209;--vx-warning:var(--bs-warning,#ff9f43);--vx-danger:var(--bs-danger,#ff4c51);--vx-danger-rgb:255, 76, 81;--vx-bg:var(--bs-body-bg,#f8f7fa);--vx-surface:var(--bs-white,#fff);--vx-surface-soft:var(--bs-gray-50,#f3f2f3);--vx-surface-rgb:255, 255, 255;--vx-text:var(--bs-emphasis-color,#2f2b3d);--vx-text-rgb:47, 43, 61;--vx-muted:rgba(var(--bs-body-color-rgb,109, 107, 119), .82);--vx-faint:#2f2b3d14;--vx-border:var(--bs-border-color-translucent,#2f2b3d1f);--vx-shadow-sm:var(--bs-box-shadow-sm,0 3px 12px #2f2b3d1f);--vx-shadow:var(--bs-box-shadow-sm,0 3px 12px #2f2b3d1f);--vx-shadow-lg:var(--bs-box-shadow-lg,0 12px 30px #2f2b3d29);--vx-panel:rgba(var(--vx-surface-rgb), .72);--vx-panel-strong:rgba(var(--vx-surface-rgb), .92);--vx-elevated:rgba(var(--vx-surface-rgb), .86);--vx-table-row:#fff;--vx-map-bg:#eef3f1;--vx-input-disabled:#f1f0f2;--vx-subtle-gradient-end:rgba(var(--vx-surface-rgb), 0);--vx-login-bg:linear-gradient(135deg, #f8f7fa 0%, #eef9fb 52%, #fff8ef 100%);--vx-radius:var(--bs-border-radius,6px);--vx-radius-sm:var(--bs-border-radius-sm,4px);font-family:var(--bs-font-sans-serif,"Public Sans", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);color:var(--vx-text);background:var(--vx-bg)}:root[data-theme=dark]{--vx-primary:var(--bs-primary-text-emphasis,#aba4f6);--vx-primary-dark:var(--bs-link-hover-color,#b3adf7);--vx-success:var(--bs-success-text-emphasis,#7edda9);--vx-info:var(--bs-info-text-emphasis,#66d6e3);--vx-info-rgb:102, 214, 227;--vx-warning:var(--bs-warning-text-emphasis,#ffc58e);--vx-danger:var(--bs-danger-text-emphasis,#ff9497);--vx-danger-rgb:255, 148, 151;--vx-bg:var(--bs-body-bg,#25293c);--vx-surface:#2f3349;--vx-surface-soft:#e1def50f;--vx-surface-rgb:47, 51, 73;--vx-text:var(--bs-heading-color,#cfcde4);--vx-text-rgb:244, 242, 255;--vx-muted:rgba(var(--bs-body-color-rgb,172, 171, 193), .86);--vx-faint:#e1def51a;--vx-border:var(--bs-border-color-translucent,#e1def524);--vx-shadow-sm:var(--bs-box-shadow-sm,0 8px 28px #00000061);--vx-shadow:var(--bs-box-shadow-sm,0 8px 28px #00000061);--vx-shadow-lg:var(--bs-box-shadow-lg,0 18px 46px #0000007a);--vx-panel:rgba(var(--vx-surface-rgb), .76);--vx-panel-strong:rgba(var(--vx-surface-rgb), .94);--vx-elevated:rgba(var(--vx-surface-rgb), .88);--vx-table-row:#2f3349;--vx-map-bg:#25293c;--vx-input-disabled:#393c56;--vx-subtle-gradient-end:rgba(var(--vx-surface-rgb), 0);--vx-login-bg:radial-gradient(circle at 12% 0%, #8c82ff47, transparent 34%), linear-gradient(135deg, #13111c 0%, #191b2a 52%, #241a25 100%)}*{box-sizing:border-box}body{color:var(--vx-text);background:var(--vx-bg);margin:0;overflow-x:hidden}button,input,select,textarea{font:inherit}button{appearance:none;border-radius:var(--vx-radius);cursor:pointer;border:0;padding:10px 14px;font-weight:600;transition:background .15s,box-shadow .15s,color .15s}button:disabled{opacity:.55;cursor:not-allowed}input,select,textarea{border:1px solid var(--vx-border);border-radius:var(--vx-radius);color:var(--vx-text);background:var(--vx-surface);padding:9px 11px}input::-moz-placeholder{color:var(--vx-muted);opacity:.74}textarea::-moz-placeholder{color:var(--vx-muted);opacity:.74}input::placeholder,textarea::placeholder{color:var(--vx-muted);opacity:.74}textarea{resize:vertical;width:100%;min-height:220px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.5}input[type=range]{accent-color:var(--vx-primary);padding:0}input:focus,select:focus,textarea:focus{border-color:var(--vx-primary);outline:0;box-shadow:0 0 0 3px #7367f024}button:focus-visible,[role=button]:focus-visible,a:focus-visible{outline:2px solid var(--vx-primary);outline-offset:2px}input:disabled,select:disabled{background:var(--vx-input-disabled);color:var(--vx-muted)}.shell{min-height:100vh}.app-shell{background:var(--vx-bg);grid-template-columns:260px minmax(0,1fr);transition:grid-template-columns .18s;display:grid}.app-shell.sidebar-collapsed{grid-template-columns:78px minmax(0,1fr)}.sidebar{background:var(--vx-surface);border-right:1px solid var(--vx-border);grid-template-rows:auto auto 1fr auto;gap:18px;min-height:100vh;padding:24px 18px;display:grid;position:sticky;top:0;box-shadow:8px 0 24px #2f2b3d0a}.mobile-menu-toggle,.mobile-sidebar-backdrop{display:none}.mobile-menu-toggle{width:44px;height:44px;min-height:44px;color:var(--vx-primary);box-shadow:none;background:#7367f01a;border:1px solid #7367f03d;border-radius:10px;flex:0 0 44px;padding:0}.mobile-menu-toggle span{background:currentColor;border-radius:999px;width:18px;height:2px;margin:4px auto;display:block}.brand-block{align-items:center;gap:12px;min-height:42px;display:flex;position:relative}.brand-mark{width:42px;height:42px;box-shadow:none;background:0 0;flex:0 0 42px;place-items:center;display:grid;overflow:visible}.brand-mark img{-o-object-fit:contain;object-fit:contain;width:42px;height:42px;display:block}.brand-block strong,.brand-block span{display:block}.brand-block strong{letter-spacing:0;font-size:17px;line-height:1.12}.brand-block span{color:var(--vx-muted);font-size:12px}.brand-text{min-width:0}.sidebar-toggle{width:40px;height:40px;min-height:40px;color:var(--vx-primary);box-shadow:none;background:#7367f01a;border:1px solid #7367f03d;border-radius:8px;padding:0}.sidebar-controls{align-items:center;gap:6px;margin-left:auto;display:flex}.sidebar-pin{width:40px;height:40px;min-height:40px;color:var(--vx-muted);box-shadow:none;background:0 0;border:1px solid #7367f03d;border-radius:8px;place-items:center;padding:0;display:inline-grid}.sidebar-pin:hover,.sidebar-pin:focus-visible,.sidebar-pin.is-pinned{color:var(--vx-primary);background:#7367f01a}.sidebar-pin svg{width:18px;height:18px}@media (width<=760px){.sidebar-toggle,.sidebar-pin{width:44px;min-width:44px;height:44px;min-height:44px}}.sidebar-toggle span{color:inherit;font-size:22px;font-weight:800;line-height:1;display:block}.caas-calc-viewport-hint{display:none}@media (width<=1079px){.caas-calc-viewport-hint{text-align:center;color:var(--vx-text-secondary,#666);background:var(--vx-surface,#fff);border:1px solid var(--vx-border,#e0e0e0);border-radius:12px;justify-content:center;align-items:center;margin:24px;padding:48px 24px;font-size:1rem;display:flex}.caas-calc-viewport-hint+section.content-grid{display:none}}.sync-health-pill{border:1px solid var(--vx-border);border-radius:var(--vx-radius);background:var(--vx-surface-soft);width:100%;min-height:48px;color:var(--vx-text);box-shadow:none;text-align:left;grid-template-columns:10px minmax(0,1fr);align-items:center;gap:10px;padding:9px 10px;display:grid}.sync-health-pill span{min-width:0}.sync-health-pill strong,.sync-health-pill small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.sync-health-pill strong{font-size:12px}.sync-health-pill small{color:var(--vx-muted);font-size:11px}.sync-health-dot{background:var(--vx-muted);border-radius:999px;width:10px;height:10px}.sync-health-success .sync-health-dot{background:#28c76f}.sync-health-warning .sync-health-dot{background:#ff9f43}.sync-health-danger .sync-health-dot{background:#ff4c51}.sync-health-info .sync-health-dot{background:#00bad1}.sync-health-card{border:1px solid var(--vx-border);border-radius:var(--vx-radius);background:var(--vx-surface-soft);gap:4px;margin-top:12px;padding:12px;display:grid}.sync-health-card span,.sync-health-card small{color:var(--vx-muted);font-size:12px}.sync-health-card strong{font-size:14px}.sync-health-card.sync-health-success{background:#28c76f14;border-color:#28c76f47}.sync-health-card.sync-health-warning{background:#ff9f4317;border-color:#ff9f4357}.sync-health-card.sync-health-danger{background:#ff4c5114;border-color:#ff4c514d}.sync-health-card.sync-health-info{background:#00bad114;border-color:#00bad14d}.workspace{min-width:0;max-width:100%;padding:24px}.page-content{width:100%;min-width:0;max-width:none;margin:0}.login-shell{background:var(--vx-login-bg);place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{background:var(--vx-surface);border:1px solid var(--vx-border);border-radius:var(--vx-radius);width:min(100%,420px);box-shadow:var(--vx-shadow);gap:14px;padding:24px;display:grid}.login-panel input,.login-panel select,.login-panel textarea{min-height:42px}.login-brand-header{text-align:center;justify-items:center;gap:14px;display:grid}.login-brand-logo{width:clamp(64px,18vw,92px);height:auto;display:block}.login-brand-header h1{color:var(--vx-muted);letter-spacing:0;text-align:center;margin:0;font-family:Bebas Neue,Arial Narrow,Impact,sans-serif;font-size:clamp(26px,8vw,36px);font-weight:400;line-height:.92}.field.field-attention span{color:var(--vx-danger)}.field.field-attention input{border-color:rgba(var(--vx-danger-rgb), .74);box-shadow:0 0 0 3px rgba(var(--vx-danger-rgb), .14)}.location-registration-panel{width:min(100%,560px)}.registration-name-grid,.external-dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.registration-summary-card,.external-location-card{gap:10px;display:grid}.registration-summary-card{border:1px solid var(--vx-border);border-radius:var(--vx-radius-sm);background:rgba(var(--vx-primary-rgb), .06);padding:14px}.registration-summary-card strong{font-size:20px}.external-intro-card{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.external-parking-list{gap:10px;display:grid}.external-manager-panel{border:1px solid rgba(var(--vx-primary-rgb), .2);border-radius:var(--vx-radius-sm);background:rgba(var(--vx-primary-rgb), .04);gap:12px;padding:14px;display:grid}.section-head.compact{margin:0}.external-manager-metrics{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.external-manager-metrics .mini-card{min-height:104px}.external-manager-metrics small{color:var(--vx-muted);font-weight:800}.external-progress-card-grid.manager-cards{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.external-active-project{border:1px solid var(--vx-border);border-radius:var(--vx-radius-sm);background:rgba(var(--vx-primary-rgb), .05);grid-template-columns:minmax(0,1fr) minmax(180px,260px);align-items:center;gap:14px;padding:14px;display:grid}.external-active-project h4,.external-project-list h4{margin:0}.external-active-project.muted-state{background:var(--vx-soft)}.external-progress-meter{gap:8px;display:grid}.external-progress-meter span{color:var(--vx-primary);justify-self:end;font-size:18px;font-weight:900}.external-progress-meter div{background:rgba(var(--vx-primary-rgb), .12);border-radius:999px;height:10px;overflow:hidden}.external-progress-meter i{border-radius:inherit;background:linear-gradient(90deg, var(--vx-primary), var(--vx-info));max-width:100%;height:100%;display:block}.external-progress-card-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;display:grid}.external-progress-card{border:1px solid var(--vx-border);border-left:4px solid var(--vx-primary);border-radius:var(--vx-radius-sm);background:var(--vx-surface);align-content:start;gap:8px;min-height:140px;padding:12px;display:grid}.external-progress-card>div{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.external-progress-card span,.external-project-list small{color:var(--vx-muted);text-transform:uppercase;font-size:12px;font-weight:900}.external-progress-card strong{color:var(--vx-primary);text-align:right}.external-progress-card p,.external-progress-card ul{color:var(--vx-muted);margin:0}.external-progress-card .compact-button{align-self:flex-start;margin-top:auto;padding:7px 11px;font-size:13px}.external-progress-card ul{padding-left:18px}.external-progress-card.status-done{border-left-color:var(--vx-success)}.external-progress-card.status-attention{border-left-color:var(--vx-warning)}.external-progress-card.status-not_connected{border-left-color:var(--vx-muted)}.external-portal-sections{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:12px;display:grid}.external-portal-list-panel{border:1px solid var(--vx-border);border-radius:var(--vx-radius-sm);background:var(--vx-surface);align-content:start;gap:10px;min-width:0;padding:12px;display:grid}.external-task-list,.external-contract-list{gap:8px;display:grid}.external-task-row,.external-contract-row{border-top:1px solid var(--vx-border);justify-content:space-between;align-items:center;gap:12px;min-width:0;padding-top:8px;display:flex}.external-task-row:first-child,.external-contract-row:first-child{border-top:0;padding-top:0}.external-task-row label{align-items:flex-start;gap:10px;min-width:0;display:flex}.external-task-row input{margin-top:3px}.external-task-row span,.external-contract-row>div{min-width:0}.external-task-row strong,.external-contract-row strong{overflow-wrap:anywhere;display:block}.external-task-row small,.external-contract-row small{color:var(--vx-muted);overflow-wrap:anywhere;font-weight:800;display:block}.external-contract-detail{border:1px solid var(--vx-border);border-radius:var(--vx-radius-sm);background:color-mix(in srgb, var(--vx-surface) 88%, var(--vx-primary) 12%);gap:12px;padding:12px;display:grid}.external-contract-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.external-contract-preview{border:1px solid var(--vx-border);border-radius:var(--vx-radius-sm);background:var(--vx-surface);max-height:260px;color:var(--vx-text);padding:12px;overflow:auto}.external-contract-preview *{max-width:100%}.external-contract-fields{gap:10px;display:grid}.external-contract-stepper{border:1px solid color-mix(in srgb, var(--vx-primary) 32%, var(--vx-border));border-radius:var(--vx-radius-sm);background:color-mix(in srgb, var(--vx-surface) 92%, var(--vx-primary) 8%);gap:12px;padding:12px;display:grid}.external-contract-stepper-head{gap:5px;display:grid}.external-contract-stepper-head>span{color:var(--vx-primary);letter-spacing:0;text-transform:uppercase;font-size:12px;font-weight:900}.external-contract-stepper-head strong{font-size:18px}.external-contract-stepper-head em{width:fit-content;color:var(--vx-warning);background:#ff9f4324;border-radius:999px;padding:2px 8px;font-size:12px;font-style:normal;font-weight:900}.external-contract-stepper-head p{color:var(--vx-muted);margin:0;font-weight:700}.external-contract-stepper-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.external-contract-fields summary{cursor:pointer;color:var(--vx-primary);font-weight:900}.external-contract-fields h5{margin:0;font-size:14px}.external-contract-field-list{gap:10px;margin-top:10px;display:grid}.external-contract-field{gap:6px;display:grid}.external-contract-field span{flex-wrap:wrap;align-items:center;gap:8px;font-weight:900;display:flex}.external-contract-field em{color:var(--vx-warning);background:#ff9f4324;border-radius:999px;padding:2px 8px;font-size:12px;font-style:normal}.external-contract-field small{color:var(--vx-muted);font-weight:700}.external-contract-field input,.external-contract-field select,.external-contract-field textarea{width:100%;min-width:0}.external-project-list{border:1px solid var(--vx-border);border-radius:var(--vx-radius-sm);gap:8px;padding:12px;display:grid}.external-project-list>div{border-top:1px solid var(--vx-border);justify-content:space-between;align-items:center;gap:12px;padding-top:8px;display:flex}.external-project-list>div.is-active span{color:var(--vx-primary);font-weight:900}.action-modules-page{gap:18px;display:grid}.action-module-adapter-note{border:1px solid rgba(var(--vx-info-rgb), .28);border-radius:var(--vx-radius-sm);background:rgba(var(--vx-info-rgb), .08);color:var(--vx-text);align-items:center;gap:12px;padding:12px 14px;display:flex}.action-module-adapter-note strong{color:var(--vx-info);white-space:nowrap}.action-module-adapter-note span{color:var(--vx-muted)}.action-module-error{border:1px solid rgba(var(--vx-danger-rgb), .28);border-radius:var(--vx-radius-sm);background:rgba(var(--vx-danger-rgb), .08);color:var(--vx-danger);padding:10px 12px}.action-module-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.action-module-card{border:1px solid var(--vx-border);border-radius:var(--vx-radius);background:var(--vx-elevated);box-shadow:var(--vx-shadow-sm);flex-direction:column;gap:14px;padding:18px;display:flex}.action-module-card-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.action-module-card h3,.action-module-card dl,.action-module-card dd{margin:0}.action-module-card dl{gap:10px;display:grid}.action-module-card dt{color:var(--vx-muted);text-transform:uppercase;font-size:12px;font-weight:900}.action-module-card dd{color:var(--vx-text)}.action-module-card .config-preview{border:1px solid var(--vx-border);border-radius:var(--vx-radius-sm);background:rgba(var(--vx-primary-rgb), .06);max-height:220px;color:var(--vx-text);white-space:pre-wrap;word-break:break-word;margin:0;padding:10px;font-size:12px;line-height:1.45;overflow:auto}.action-module-config-editor textarea{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.external-status-pill{background:rgba(var(--vx-primary-rgb), .12);width:fit-content;color:var(--vx-primary);border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900;display:inline-flex}.external-status-pill.status-not_connected{color:var(--vx-muted);background:#a8aaae29}.next-step-list{color:var(--vx-muted);margin:0;padding-left:20px}.topbar{z-index:120;width:100%;max-width:none;block-size:auto;background:var(--vx-elevated);border:1px solid var(--vx-border);border-radius:var(--vx-radius);height:auto;box-shadow:var(--vx-shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex-direction:column;align-items:stretch;gap:0;margin:0 0 24px;padding:12px 16px;display:flex;position:sticky;top:0}.topbar-row{flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:12px 18px;width:100%;display:flex}.topbar-title-col{flex:1 1 0;align-items:center;gap:10px;width:100%;min-width:0;padding-top:4px;display:flex;container:topbar-title-cluster/inline-size}.theme-toggle{border:1px solid var(--vx-border);width:38px;height:38px;min-height:38px;color:var(--vx-text);background:rgba(var(--vx-surface-rgb), .74);box-shadow:none;border-radius:999px;place-items:center;padding:0;display:inline-grid}.theme-toggle svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.theme-toggle:hover,.theme-toggle:focus-visible{color:var(--vx-primary);background:#7367f01f;border-color:#7367f06b}.topbar h1,.section-head h2,.service-card h3{margin:0}.topbar h1{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;font-size:22px;font-weight:700;overflow:hidden}.topbar-meta{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px 10px;min-width:0;max-width:100%;display:flex}.topbar-meta>*{max-width:100%}.topbar-status{text-overflow:ellipsis;white-space:nowrap;max-width:min(420px,42vw);overflow:hidden}.topbar-status--multiline{white-space:pre-line;text-overflow:clip;max-width:min(220px,28vw);font-size:12px;line-height:1.25;overflow:visible}@media (width>=981px){.topbar-title-col{min-width:140px}.topbar-meta{flex-wrap:wrap;align-items:flex-start}.topbar-meta>.active-project-topbar-group{flex-shrink:80;min-width:152px}.topbar-meta>.topbar-status{flex-shrink:20;min-width:64px}.topbar-meta>.impersonation-banner{flex-shrink:60;min-width:0}.topbar-meta>.theme-toggle,.topbar-meta>.topbar-clock,.topbar-meta>.user-chip{flex-shrink:0}.topbar-meta>.user-chip strong,.topbar-meta>.user-chip small{text-overflow:ellipsis;white-space:nowrap;max-width:160px;overflow:hidden}.topbar-meta>.user-chip--avatar-only{flex-shrink:0;min-width:0}}.impersonation-banner{min-width:0;max-width:min(520px,42vw);color:var(--vx-text);background:#ff9f431f;border:1px solid #ff9f4357;border-radius:6px;justify-content:space-between;align-items:center;gap:10px;padding:6px 8px 6px 10px;font-size:12px;font-weight:700;display:inline-flex}.impersonation-banner span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.impersonation-banner button{flex:none}.topbar-segment-row{flex-wrap:nowrap;flex:none;align-items:center;gap:4px;min-width:0;max-width:100%;padding:0;display:flex}.topbar-seg-btn{min-height:30px;color:var(--vx-text);cursor:pointer;white-space:nowrap;box-shadow:none;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:6px;padding:4px 10px;font-size:13px;font-weight:600;line-height:1.1;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.topbar-seg-btn:hover:not(:disabled){color:var(--vx-primary);background:#7367f014}.topbar-seg-btn.active{color:var(--vx-primary);background:#7367f01f;border-color:#7367f052;font-weight:700}.topbar-seg-btn-icon{opacity:.78;flex:0 0 18px;place-items:center;width:18px;height:18px;display:grid}.topbar-seg-btn-icon svg{width:18px;height:18px}.topbar-seg-btn.active .topbar-seg-btn-icon{opacity:1}.topbar-seg-btn--loading{color:var(--vx-muted);cursor:default;font-style:italic}@container topbar-title-cluster (width<=440px){.topbar-segment-row[data-module-count="1"] .topbar-seg-btn-label{display:none}.topbar-segment-row[data-module-count="1"] .topbar-seg-btn{gap:0}}@container topbar-title-cluster (width<=600px){.topbar-segment-row[data-module-count="2"] .topbar-seg-btn-label{display:none}.topbar-segment-row[data-module-count="2"] .topbar-seg-btn{gap:0}}@container topbar-title-cluster (width<=740px){.topbar-segment-row[data-module-count="3"] .topbar-seg-btn-label{display:none}.topbar-segment-row[data-module-count="3"] .topbar-seg-btn{gap:0}}@media (pointer:coarse){.topbar-seg-btn{min-width:44px;min-height:44px;padding:0 10px}}.user-chip--avatar-only{cursor:pointer;position:relative}.user-chip-popover{background:var(--vx-elevated);border:1px solid var(--vx-border);border-radius:var(--vx-radius);min-width:160px;box-shadow:var(--vx-shadow);pointer-events:none;visibility:hidden;opacity:0;z-index:500;white-space:nowrap;padding:8px 12px;transition:opacity .12s;position:absolute;top:calc(100% + 6px);right:0}.user-chip--avatar-only:hover .user-chip-popover,.user-chip--avatar-only:focus .user-chip-popover{visibility:visible;opacity:1}.avatar-context-menu{background:var(--vx-elevated);border:1px solid var(--vx-border);border-radius:var(--vx-radius);box-shadow:var(--vx-shadow);z-index:2000;min-width:200px;padding:4px}.avatar-context-menu-item{text-align:left;cursor:pointer;width:100%;color:var(--vx-text);box-shadow:none;background:0 0;border:none;border-radius:4px;padding:8px 12px;font-size:13px;display:block}.avatar-context-menu-item:hover:not(:disabled){color:var(--vx-primary);background:#7367f014}.avatar-context-menu-item:disabled{opacity:.45;cursor:not-allowed}.avatar-context-menu-item--mobile-theme{display:none}.location-access-context-menu{border:1px solid var(--vx-border);border-radius:var(--vx-radius);background:var(--vx-elevated);min-width:210px;box-shadow:var(--vx-shadow);padding:4px}.location-access-context-menu-item{width:100%;min-height:40px;color:var(--vx-text);box-shadow:none;text-align:left;background:0 0;border:0;border-radius:4px;align-items:center;gap:10px;padding:8px 10px;font-size:13px;font-weight:750;display:flex}.location-access-context-menu-item:hover,.location-access-context-menu-item:focus-visible{color:var(--vx-primary);background:#8517ff17}.location-access-context-menu-icon{width:18px;height:18px;color:var(--vx-primary);place-items:center;display:grid}.location-access-context-menu-icon svg{fill:currentColor;width:16px;height:16px}.active-project-topbar-group{flex-direction:column;flex:0 auto;justify-content:flex-start;align-items:flex-start;gap:6px;min-width:0;max-width:100%;display:flex}.topbar-clock{white-space:nowrap;border:1px solid var(--vx-border);background:rgba(var(--vx-surface-rgb), .72);min-height:34px;color:var(--vx-muted);border-radius:8px;align-items:center;padding:7px 10px;font-size:12px;font-weight:800;display:inline-flex}.active-project-topbar-chip{-moz-column-gap:8px;max-width:min(280px,100%);min-height:34px;color:var(--vx-text);box-shadow:none;text-align:left;background:#28c76f1a;border:1px solid #28c76f47;border-radius:6px;flex:none;grid-template-columns:16px minmax(0,1fr);align-items:center;gap:1px 8px;padding:5px 10px;display:grid}.active-project-topbar-chip svg{color:#16844a;flex-shrink:0;grid-row:span 2}.active-project-topbar-chip strong,.active-project-topbar-chip small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.active-project-topbar-chip strong{font-size:13px;line-height:1.15}.active-project-topbar-chip small{color:var(--vx-muted);font-size:11px;font-weight:800}.topbar-project-modules{flex-wrap:wrap;flex:none;justify-content:flex-start;align-items:center;gap:6px;min-width:0;max-width:100%;display:flex}.topbar-module-pill{white-space:nowrap;border-radius:6px;flex:none;max-width:100%;margin-top:0;line-height:1.15}.topbar-module-pill.active{color:var(--vx-primary);background:#7367f01f;border-color:#7367f059}.topbar-module-pill.loading{color:var(--vx-muted);background:#a8aaae1a;border-color:#a8aaae38}.topbar p,.muted{color:var(--vx-muted);margin:4px 0 0}.eyebrow{color:var(--vx-primary);letter-spacing:0;text-transform:uppercase;margin:0 0 4px;font-size:12px;font-weight:800}.nav-actions{align-content:start;gap:6px;display:grid}.nav-group{gap:6px;display:grid}.nav-toggle{justify-content:space-between;align-items:center;gap:12px;display:flex}.nav-caret{font-size:16px;line-height:1}.nav-icon{width:28px;height:28px;color:var(--vx-primary);text-transform:uppercase;background:#7367f01f;border-radius:8px;flex:0 0 28px;place-items:center;font-size:12px;font-weight:800;display:none}.nav-icon svg{width:17px;height:17px}.nav-tooltip{display:none}.nav-label{text-overflow:ellipsis;min-width:0;overflow:hidden}.nav-toggle .nav-caret{margin-left:auto}.nav-subactions{border-left:2px solid #7367f029;gap:4px;padding-left:14px;display:grid}.nav-subactions button{min-height:34px;padding:7px 10px;font-size:12px}.nav-subgroup{gap:4px;display:grid}.nav-subsection{gap:5px;padding:6px 0 2px;display:grid}.nav-subheading{color:var(--vx-muted);letter-spacing:0;text-transform:uppercase;padding:0 10px;font-size:11px;font-weight:900}.nav-settings-actions{margin-left:4px}.nav-subgroup>button{justify-content:space-between;align-items:center;gap:10px;display:flex}.nested-subactions{border-left-width:1px;margin-left:10px;padding-left:10px}.primary{background:linear-gradient(135deg, var(--vx-primary), var(--vx-primary-dark));color:#fff;box-shadow:0 4px 14px #7367f052}.secondary{color:var(--vx-primary);background:#7367f01f}.secondary:hover{background:#7367f02e}.danger{color:var(--vx-danger);background:#ff4c511a}.danger:hover{background:#ff4c5129}.ghost{color:var(--vx-muted);background:0 0}.login-action-divider{color:var(--vx-muted);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:12px;margin:4px 0 0;font-size:12px;font-weight:800;display:flex}.login-action-divider:before,.login-action-divider:after{content:"";background:#28c76f4d;flex:1;height:1px}.login-magic-button{color:#16824a;background:#28c76f1f;border:1px solid #28c76f7a;justify-content:center;width:100%;font-weight:800;box-shadow:0 4px 14px #28c76f29}.login-magic-button:hover{background:#28c76f2e}.login-email-prompt{color:var(--vx-danger);margin-top:-6px;font-weight:700}.sso-divider{color:var(--vx-muted);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:12px;margin:8px 0;font-size:12px;display:flex}.sso-divider:before,.sso-divider:after{content:"";background:#7367f02e;flex:1;height:1px}.sso-button{color:var(--vx-primary-dark);background:#fff;border:1px solid #7367f052;border-radius:10px;justify-content:center;align-items:center;gap:10px;padding:11px 14px;font-weight:600;text-decoration:none;transition:background .15s,transform .15s;display:flex}.sso-button:hover{background:#7367f014;transform:translateY(-1px)}.login-entra-preference{color:var(--vx-text);background:#8517ff0f;border:1px solid #8517ff61;border-left:4px solid #8517ff;border-radius:8px;gap:6px;padding:14px;display:grid}.login-entra-preference strong{color:#8517ff}.login-entra-preference small{color:var(--vx-muted)}.sso-button-preferred{background:var(--vx-surface);color:#8517ff;border-color:#8517ff;margin-top:4px}.inline-link{justify-self:start;min-height:40px;padding:8px 0}.sidebar .ghost,.sidebar .primary,.sidebar .secondary,.sidebar .nav-toggle{text-align:left;justify-content:flex-start;align-items:center;gap:10px;width:100%;display:flex}.sidebar a.ghost{border-radius:var(--vx-radius);min-height:40px;padding:10px 14px;font-weight:600;text-decoration:none;transition:background .15s,box-shadow .15s,color .15s}.sidebar .ghost:hover{color:var(--vx-primary);background:#7367f014}.sidebar-footer{border-top:1px solid var(--vx-border);gap:10px;padding-top:16px;display:grid}.sidebar-collapsed .sidebar{padding-inline:14px}.sidebar-collapsed .brand-block{flex-direction:column;gap:8px}.sidebar-collapsed .brand-text,.sidebar-collapsed .nav-caret,.sidebar-collapsed .sync-health-pill span:not(.sync-health-dot),.sidebar-collapsed .sidebar-footer .pill{display:none}.sidebar-collapsed .nav-label{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.sidebar-collapsed .brand-mark{flex-basis:36px;width:36px;height:36px}.sidebar-collapsed .brand-mark img{width:36px;height:36px}.sidebar-collapsed .sidebar-controls{margin-left:0}.sidebar-collapsed .sidebar-pin{display:none}.sidebar-collapsed .nav-icon{display:grid}.sidebar-collapsed .sync-health-pill{grid-template-columns:1fr;place-items:center;min-height:38px;padding:8px}.sidebar-collapsed .sidebar .ghost,.sidebar-collapsed .sidebar .primary,.sidebar-collapsed .sidebar .secondary,.sidebar-collapsed .sidebar .nav-toggle{justify-content:center;padding-inline:8px}.sidebar-collapsed .nav-actions :is(button,a),.sidebar-collapsed .sidebar-footer :is(button,a){position:relative}.sidebar-collapsed .nav-actions :is(button,a):is(:hover,:focus-visible) .nav-tooltip,.sidebar-collapsed .sidebar-footer :is(button,a):is(:hover,:focus-visible) .nav-tooltip{z-index:30;border:1px solid var(--vx-border);background:var(--vx-text);width:max-content;max-width:220px;color:var(--vx-surface);pointer-events:none;border-radius:6px;padding:7px 9px;font-size:12px;font-weight:700;line-height:1.2;display:block;position:absolute;top:50%;left:calc(100% + 12px);transform:translateY(-50%);box-shadow:0 8px 18px #2f2b3d2e}.sidebar-collapsed .nav-subactions,.sidebar-collapsed .nested-subactions{border-left:0;margin-left:0;padding-left:0}.user-chip{align-items:center;gap:10px;min-width:0;max-width:100%;display:flex}.user-chip span{border-radius:var(--vx-radius);color:#fff;background:var(--vx-warning);place-items:center;width:36px;height:36px;font-weight:800;display:grid}.user-chip strong,.user-chip small{display:block}.user-chip small{color:var(--vx-muted)}.user-avatar-swatch{border-radius:var(--vx-radius);color:#fff;background:linear-gradient(135deg,#ff9f43,#ea5455);place-items:center;width:36px;height:36px;font-weight:800;display:grid}.user-avatar-swatch--lade{background:linear-gradient(135deg,#7367f0,#00cfe8)}.user-avatar-swatch--blue{background:linear-gradient(135deg,#2f80ed,#56ccf2)}.user-avatar-swatch--green{background:linear-gradient(135deg,#16844a,#28c76f)}.user-avatar-swatch--amber{color:#2f2500;background:linear-gradient(135deg,#ff9f43,#f6c343)}.user-avatar-swatch--rose{background:linear-gradient(135deg,#ea5455,#ff8fab)}.user-avatar-swatch--slate{background:linear-gradient(135deg,#2f3a4a,#6b7280)}.full{width:100%;margin-top:12px}.calc-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:18px;display:grid}.content-grid{grid-template-columns:minmax(0,1fr);gap:18px;min-width:0;max-width:100%;display:grid}.table-scroll{min-width:0;max-width:100%;overflow-x:auto}.section-head{justify-content:space-between;align-items:flex-end;gap:18px;display:flex}.calc-summary-head{align-items:center}.calc-summary-head .eyebrow{margin-bottom:0}.section-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.panel,.results,.context-panel,.json-panel{background:var(--vx-surface);border:1px solid var(--vx-border);border-radius:var(--vx-radius);box-shadow:var(--vx-shadow);padding:16px}.panel h2{margin:14px 0 10px;font-size:16px}.panel h2:first-child{margin-top:0}.field{gap:5px;margin-bottom:10px;font-size:13px;font-weight:650;display:grid}.field .info-label,.form-section h2 .info-label{font-weight:inherit}.field-error{color:var(--vx-danger);font-size:12px;font-weight:700}.network-addon-field{border-radius:var(--vx-radius);background:#7367f009;border:1px solid #7367f02e;grid-column:1/-1;gap:8px;padding:10px;display:grid}.network-addon-field.automatic{background:#28c76f0b;border-color:#28c76f40}.network-addon-field.manual{background:#ff9f430e;border-color:#ff9f4347}.network-addon-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.network-addon-field .field{margin-bottom:0}.network-addon-field .hint{margin:0}.mains-current-field{position:relative}.mains-current-combo{grid-template-columns:minmax(0,1fr) 42px;display:grid;position:relative}.mains-current-combo input{border-radius:var(--vx-radius) 0 0 var(--vx-radius);border-right:0;min-width:0}.mains-current-toggle{border:1px solid var(--vx-border);border-radius:0 var(--vx-radius) var(--vx-radius) 0;background:var(--vx-surface);color:var(--vx-text);box-shadow:none;place-items:center;padding:0;font-size:20px;line-height:1;display:grid}.mains-current-toggle:hover{background:#7367f014}.mains-current-menu{z-index:3200;border-radius:var(--vx-radius);background:var(--vx-surface);max-height:260px;box-shadow:var(--vx-shadow);border:1px solid #7367f047;gap:4px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto}.mains-current-menu button{text-align:left;width:100%;color:var(--vx-text);box-shadow:none;background:0 0;border-radius:6px;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 10px;display:flex}.mains-current-menu button:hover,.mains-current-menu button.active{color:var(--vx-primary);background:#7367f01f}.mains-current-menu small{color:var(--vx-muted);white-space:nowrap;font-weight:700}.range-field span{line-height:1.3}.form-sections{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start;gap:16px;display:grid}.module-shell{gap:14px;display:grid}.module-summary{border-radius:var(--vx-radius);background:linear-gradient(135deg,#7367f017,#00bad112);border:1px solid #7367f038;gap:4px;padding:12px;display:grid}.module-summary span{color:var(--vx-primary);text-transform:uppercase;font-size:12px;font-weight:800}.module-summary strong{font-size:14px}.module-tabs{grid-auto-columns:max-content;grid-auto-flow:column;gap:8px;padding-bottom:2px;display:grid;overflow-x:auto}.module-tabs button{white-space:nowrap;min-width:86px}.form-section{border:1px solid var(--vx-border);border-radius:var(--vx-radius);background:var(--vx-panel);min-width:0;padding:14px}.form-section:first-child{border-top:1px solid var(--vx-border);padding-top:14px}.compact-field-row{grid-template-columns:minmax(140px,.8fr) minmax(180px,1fr);align-items:end;gap:10px;display:grid}.compact-field-row .field{margin-bottom:10px}.checks{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.checks.vertical{margin-top:0;display:grid}.checks.inline{margin-top:0}.checks label,.access-list label{align-items:center;gap:6px;display:inline-flex}.status,.hint,.empty,.subtext{color:var(--vx-muted);font-size:13px}.warning-text{color:var(--vx-danger)}.status{color:#00899a;background:#00bad11f;border-radius:999px;align-items:center;width:fit-content;padding:5px 10px;font-weight:600;display:inline-flex}.info-label{cursor:help;white-space:normal;border-bottom:1px dotted;align-items:center;width:fit-content;display:inline-flex;position:relative}.info-tooltip,.kpis .info-tooltip,.hero-metrics .info-tooltip{z-index:2400;border-radius:var(--vx-radius);color:#fff;text-transform:none;white-space:normal;pointer-events:none;background:#2f2b3dfa;width:min(440px,100vw - 24px);max-height:calc(100vh - 24px);padding:13px 15px;font-size:15px;font-weight:600;line-height:1.5;display:block;position:fixed;overflow-y:auto;box-shadow:0 12px 32px #2f2b3d42}.floating-tooltip-trigger{align-items:center;display:inline-flex}.rich-tooltip{z-index:2600;border-radius:var(--vx-radius);color:#fff;text-transform:none;white-space:normal;pointer-events:none;background:#2f2b3dfa;width:min(520px,100vw - 24px);max-height:calc(100vh - 24px);padding:13px 15px;font-size:13px;font-weight:600;line-height:1.45;display:block;position:fixed;overflow-y:auto;box-shadow:0 12px 32px #2f2b3d42}.rich-tooltip p{color:#ffffffc7;margin:6px 0 10px}.price-sheet-tooltip{gap:8px;display:grid}.price-sheet-tooltip-table{border-collapse:collapse;border-radius:4px;width:100%;overflow:hidden}.price-sheet-tooltip-table th,.price-sheet-tooltip-table td{text-align:left;vertical-align:top;border-bottom:1px solid #ffffff29;padding:6px 7px}.price-sheet-tooltip-table th{color:#ffffffad;text-transform:uppercase;font-size:11px}.price-sheet-tooltip-table td:last-child,.price-sheet-tooltip-table th:last-child{text-align:right;white-space:nowrap}.price-sheet-tooltip-table small{color:#ffffff94;margin-top:2px;font-size:11px;display:block}.price-sheet-tooltip-table tfoot td{color:#fff;border-bottom:0;font-weight:800}.status-row{border-top:1px solid var(--vx-border);justify-content:space-between;align-items:center;gap:14px;padding-top:12px;display:flex}.status-display{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.status-label{color:var(--vx-muted);font-weight:700}.status-select{min-width:220px;margin-bottom:0}.calc-status{border-radius:999px;width:fit-content;padding:6px 10px;font-size:12px;font-weight:800;display:inline-flex}.calc-status-insufficient_data{color:#8a5d00;background:#ff9f432e}.calc-status-estimate{color:#007886;background:#00bad129}.calc-status-calculated{color:var(--vx-primary-dark);background:#7367f029}.calc-status-approved{color:#1f7d49;background:#28c76f2e}.source-status-badge{width:fit-content;max-width:260px;color:var(--vx-info);background:#00bad11a;border:1px solid #00bad12e;border-radius:999px;gap:2px;padding:5px 9px;font-size:11px;font-weight:800;line-height:1.15;display:inline-grid}.source-status-empty{color:var(--vx-muted);border-color:var(--vx-border);background:var(--vx-surface-muted)}.source-status-badge span,.source-status-badge strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.source-status-badge span{color:var(--vx-muted);text-transform:uppercase;font-size:9px}.source-status-stack{flex-wrap:wrap;gap:5px;margin-top:6px;display:flex}.sharepoint-link{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.kpis{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));grid-auto-rows:minmax(104px,auto);gap:12px;margin:12px 0 16px;display:grid}.cockpit-section{border-top:1px solid var(--vx-border);margin-top:14px;padding-top:14px}.cockpit-head{justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:6px;display:flex}.cockpit-head h3{margin:0;font-size:16px}.cockpit-head .hint{text-align:right;margin:0}.admin-cockpit{border-radius:var(--vx-radius);background:linear-gradient(135deg,#00bad10f,#7367f00d);border:1px solid #00bad138;min-width:0;max-width:100%;padding:14px}.shareholder-cockpit{border-radius:var(--vx-radius);background:linear-gradient(135deg,#28c76f12,#7367f00a);border:1px solid #28c76f3d;padding:14px}.investor-hero{border-radius:var(--vx-radius);color:#fff;background:linear-gradient(135deg, #2f2b3df5, #675dd8eb), var(--vx-primary-dark);grid-template-columns:minmax(220px,1fr) minmax(260px,1.35fr);align-items:stretch;gap:16px;margin-bottom:14px;padding:18px;display:grid;box-shadow:0 10px 28px #2f2b3d2e}.investor-hero span{color:#ffffffc7;text-transform:uppercase;margin-bottom:8px;font-size:12px;font-weight:800;display:inline-flex}.investor-hero h2{margin:0;font-size:clamp(28px,4vw,44px);line-height:1.05}.investor-hero p{color:#ffffffb8;margin:8px 0 0}.hero-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.hero-metrics article{border-radius:var(--vx-radius);background:#ffffff1a;border:1px solid #ffffff29;min-width:0;padding:12px}.hero-metrics span{color:#ffffffb3;margin:0 0 8px}.hero-metrics strong{color:#fff;font-size:18px;display:block}.kpis article{border:1px solid var(--vx-border);background:var(--vx-surface);border-radius:var(--vx-radius);flex-direction:column;min-height:70px;padding:12px;display:flex;box-shadow:0 2px 8px #2f2b3d14}.kpis span{color:var(--vx-primary);text-transform:uppercase;font-size:12px;font-weight:700;display:block}.kpis strong{margin-top:auto;font-size:18px;display:block}.kpis em{color:var(--vx-muted);margin-top:4px;font-size:12px;font-style:normal;display:block}.service-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;display:grid}.service-card{background:var(--vx-surface);border:1px solid var(--vx-border);border-radius:var(--vx-radius);min-height:190px;box-shadow:var(--vx-shadow);flex-direction:column;justify-content:space-between;gap:18px;padding:18px;display:flex}.service-card p{color:var(--vx-muted);line-height:1.5}.tool-status-panel{background:var(--vx-surface);border:1px solid var(--vx-border);border-radius:var(--vx-radius);box-shadow:var(--vx-shadow);grid-template-columns:repeat(2,minmax(220px,1fr)) minmax(180px,max-content);align-items:stretch;gap:14px;padding:18px;display:grid}.tool-status-panel h3{margin:0;font-size:18px}.tool-launch{place-items:end;display:grid}.sim-portal-view{grid-template-rows:auto auto}.sim-dashboard-error{border:1px solid rgba(var(--vx-danger-rgb), .28);border-radius:var(--vx-radius);background:rgba(var(--vx-danger-rgb), .08);color:var(--vx-danger);text-align:left;width:100%;margin:8px 0 0;padding:9px 12px;font-size:13px;font-weight:600}.embedded-tool-view{grid-template-rows:auto minmax(560px,1fr);gap:12px;min-height:calc(100vh - 132px);display:grid}.embedded-tool-toolbar{border:1px solid var(--vx-border);border-radius:var(--vx-radius);background:var(--vx-surface);min-height:58px;box-shadow:var(--vx-shadow);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.embedded-tool-toolbar h2{margin:0;font-size:18px}.embedded-tool-frame{border:1px solid var(--vx-border);border-radius:var(--vx-radius);background:var(--vx-surface);width:100%;height:100%;min-height:560px;box-shadow:var(--vx-shadow)}.stirling-pdf-view{grid-template-rows:auto minmax(620px,1fr)}.pill{color:#1f9d59;background:#28c76f24;border-radius:999px;width:fit-content;margin-bottom:10px;padding:4px 8px;font-size:12px;font-weight:800;display:inline-flex}.context-panel{gap:14px;display:grid}.context-grid{grid-template-columns:minmax(160px,1fr) minmax(160px,1fr) minmax(160px,1fr) minmax(220px,1.1fr);align-items:end;gap:12px;display:grid}.context-meta{color:var(--vx-muted);gap:4px;padding-bottom:10px;font-size:13px;display:grid}.context-meta strong{color:var(--vx-text)}.parking-inclusion-toggles{flex-wrap:wrap;align-items:center;gap:6px;padding:4px 0 8px;display:flex}.parking-inclusion-title{text-transform:uppercase;letter-spacing:.04em;color:var(--vx-muted);margin-right:2px;font-size:11px;font-weight:800}.parking-inclusion-chip{border:1px solid var(--vx-border);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:12px;font-weight:700;display:inline-flex}.parking-inclusion-chip input{cursor:pointer;margin:0}.parking-inclusion-chip.is-active{color:#16844a;background:#28c76f1a;border-color:#28c76f66}.parking-inclusion-chip.is-inactive{color:var(--vx-muted);background:#a8aaae1a;text-decoration:line-through;text-decoration-thickness:1px}.location-form{grid-template-columns:minmax(170px,1.1fr) minmax(180px,1.4fr) minmax(110px,.7fr) minmax(110px,.7fr) auto;align-items:center;gap:10px;display:grid}.location-edit-form{border-top:1px solid var(--vx-border);grid-template-columns:minmax(170px,1.1fr) minmax(220px,1.7fr) minmax(110px,.7fr) minmax(110px,.7fr) auto;align-items:start;gap:10px;padding-top:12px;display:grid}.address-search{gap:4px;display:grid;position:relative}.address-search input{width:100%}.suggestions{z-index:15;border:1px solid var(--vx-border);border-radius:var(--vx-radius);background:var(--vx-surface);max-height:220px;box-shadow:var(--vx-shadow);position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:auto}.suggestions button{text-align:left;border-radius:0;justify-content:flex-start;width:100%;padding:9px 10px}.action-row{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.split-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-bottom:16px;display:grid}.metric-block{border:1px solid var(--vx-border);border-radius:var(--vx-radius);background:#7367f009;padding:12px}.metric-block h3{margin:0 0 10px;font-size:14px}.big-number{margin:0;font-size:20px;font-weight:800}.mix-bar{background:#f1f0f2;border-radius:999px;height:14px;display:flex;overflow:hidden}.mix-bar span{min-width:0;display:block}.mix-emp{background:var(--vx-primary)}.mix-guest{background:var(--vx-warning)}.mix-fleet{background:var(--vx-success)}.cashflow-block,.lp-ramp-block{grid-column:span 2}.cashflow-block{grid-column:1/-1;padding:16px}.cashflow-card-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.cashflow-card-head h3{margin-bottom:4px}.cashflow-card-head p{color:var(--vx-muted);margin:0;font-size:12px}.cashflow-card-head>span{color:var(--vx-primary);background:#7367f01a;border-radius:999px;flex:none;padding:6px 10px;font-size:12px;font-weight:800}.cashflow-summary{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-bottom:12px;display:grid}.cashflow-summary article{border-radius:var(--vx-radius);background:var(--vx-panel);border:1px solid #7367f029;min-width:0;padding:9px 10px}.cashflow-summary span{color:var(--vx-muted);text-transform:uppercase;font-size:11px;font-weight:800;display:block}.cashflow-summary strong{color:var(--vx-text);margin-top:4px;font-size:15px;line-height:1.25;display:block}.cashflow-chart{grid-template-columns:96px minmax(0,1fr);align-items:stretch;gap:12px;display:grid}.cashflow-scale{color:var(--vx-muted);text-align:right;align-content:space-between;padding:14px 0 28px;font-size:12px;font-weight:800;display:grid}.cashflow-bars{--cashflow-zero:22px;border-radius:var(--vx-radius);background:linear-gradient(#7367f014 1px,#0000 1px) 0 0/100% 25%,#2f2b3d0a;border:1px solid #7367f01f;align-items:stretch;gap:9px;height:220px;padding:14px 14px 28px;display:flex;position:relative}.cashflow-zero-line{left:14px;right:14px;bottom:var(--cashflow-zero);background:#2f2b3d38;border-radius:999px;height:2px;position:absolute}.cashflow-column{flex:1 1 0;min-width:22px;position:relative}.cashflow-column em{color:var(--vx-muted);text-align:center;font-size:11px;font-style:normal;font-weight:800;position:absolute;bottom:-21px;left:0;right:0}.cashflow-bar{--bar-bottom:28px;--bar-height:4px;right:14%;bottom:var(--bar-bottom);min-height:4px;height:var(--bar-height);cursor:help;border-radius:9px 9px 3px 3px;transition:transform .14s,filter .14s;position:absolute;left:14%}.cashflow-bar:hover,.cashflow-bar:focus-visible{z-index:4;filter:brightness(1.05);outline:none;transform:scaleX(1.18)}.cashflow-bar:after{z-index:20;border-radius:var(--vx-radius);color:#fff;content:attr(data-tooltip);text-align:left;white-space:normal;background:#2f2b3dfa;width:max-content;max-width:min(300px,58vw);padding:10px 12px;font-size:12px;font-weight:700;line-height:1.45;display:none;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);box-shadow:0 14px 34px #2f2b3d3d}.cashflow-column:first-child .cashflow-bar:after{left:0;transform:none}.cashflow-column:last-child .cashflow-bar:after{left:auto;right:0;transform:none}.cashflow-bar:hover:after,.cashflow-bar:focus-visible:after{display:block}.cashflow-bar.positive{background:linear-gradient(#31d179,#1f9d59)}.cashflow-bar.negative{background:linear-gradient(180deg, #ff6b73, var(--vx-danger));border-radius:3px 3px 9px 9px}.lp-ramp-summary{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:12px;display:grid}.lp-ramp-summary article{border-radius:var(--vx-radius);background:#ffffffbd;border:1px solid #00bad129;min-width:0;padding:9px 10px}.lp-ramp-summary span{color:var(--vx-muted);text-transform:uppercase;font-size:11px;font-weight:800;display:block}.lp-ramp-summary strong{color:var(--vx-text);margin-top:4px;font-size:15px;line-height:1.25;display:block}.lp-ramp-chart{grid-template-columns:92px minmax(0,1fr);align-items:stretch;gap:8px;display:grid}.lp-ramp-scale{color:var(--vx-muted);text-align:right;align-content:space-between;padding:10px 0 22px;font-size:11px;font-weight:800;display:grid}.lp-ramp-bars{border-radius:var(--vx-radius);background:linear-gradient(#7367f014 1px,#0000 1px) 0 0/100% 25%,#00bad109;border:1px solid #7367f01f;align-items:stretch;gap:6px;min-width:0;height:160px;padding:10px 9px 22px;display:flex;position:relative;overflow-x:auto}.lp-potential-line{--lp-potential-bottom:22px;z-index:1;right:9px;bottom:var(--lp-potential-bottom);border-top:2px dashed #ff9f43c7;height:2px;position:absolute;left:9px}.lp-ramp-column{flex:1 0 34px;min-width:34px;position:relative}.lp-ramp-bar{--lp-height:4px;z-index:2;min-height:4px;height:var(--lp-height);cursor:help;background:linear-gradient(#00bad1,#7367f0);border-radius:8px 8px 3px 3px;transition:transform .14s,filter .14s;position:absolute;bottom:22px;left:18%;right:18%;box-shadow:0 8px 16px #7367f024}.lp-ramp-bar:hover,.lp-ramp-bar:focus-visible{z-index:7;filter:brightness(1.05);outline:none;transform:scaleX(1.14)}.lp-ramp-bar:after{z-index:30;border-radius:var(--vx-radius);color:#fff;content:attr(data-tooltip);text-align:left;white-space:normal;background:#2f2b3dfa;width:max-content;max-width:min(320px,60vw);padding:10px 12px;font-size:12px;font-weight:700;line-height:1.45;display:none;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);box-shadow:0 14px 34px #2f2b3d3d}.lp-ramp-column:first-child .lp-ramp-bar:after{left:0;transform:none}.lp-ramp-column:last-child .lp-ramp-bar:after{left:auto;right:0;transform:none}.lp-ramp-bar:hover:after,.lp-ramp-bar:focus-visible:after{display:block}.lp-required-dot{--lp-required-bottom:22px;right:6px;bottom:var(--lp-required-bottom);z-index:4;background:var(--vx-success);border:2px solid #fff;border-radius:999px;width:8px;height:8px;position:absolute;box-shadow:0 0 0 2px #28c76f3d}.lp-ramp-column b{z-index:5;color:var(--vx-success);background:#28c76f24;border-radius:999px;padding:2px 5px;font-size:10px;line-height:1;position:absolute;top:3px;right:2px}.lp-ramp-column em{color:var(--vx-muted);text-align:center;font-size:10px;font-style:normal;font-weight:800;position:absolute;bottom:-17px;left:0;right:0}.lp-ramp-legend{color:var(--vx-muted);flex-wrap:wrap;gap:10px;margin-top:10px;font-size:12px;font-weight:700;display:flex}.lp-ramp-legend span{align-items:center;gap:6px;display:inline-flex}.lp-ramp-legend i{border-radius:999px;width:14px;height:8px}.legend-installed{background:linear-gradient(90deg,#00bad1,#7367f0)}.legend-required{background:var(--vx-success);width:8px!important;height:8px!important}.legend-potential{border-top:2px dashed #ff9f43c7;height:2px!important}.json-panel summary{cursor:pointer;margin-bottom:10px;font-weight:800}.map-panel{background:var(--vx-surface);border:1px solid var(--vx-border);border-radius:var(--vx-radius);box-shadow:var(--vx-shadow);gap:12px;padding:16px;display:grid}.map-head{justify-content:space-between;gap:12px;display:flex}.map-head h3{margin:0}.location-map{border:1px solid var(--vx-border);border-radius:var(--vx-radius);background:var(--vx-map-bg);height:380px;min-height:380px;position:relative;overflow:hidden}.leaflet-map{width:100%;height:100%}.location-map .leaflet-container{font:inherit}.map-zoom-hint{z-index:700;border-radius:var(--vx-radius);max-width:min(420px,100% - 120px);color:var(--vx-text);background:rgba(var(--vx-surface-rgb), .92);box-shadow:var(--vx-shadow);text-align:center;pointer-events:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid #7367f033;padding:8px 12px;font-size:12px;font-weight:800;line-height:1.35;position:absolute;top:14px;left:50%;transform:translate(-50%)}.real-map-marker-wrap{background:0 0;border:0}.real-map-marker{color:#fff;background:linear-gradient(135deg, var(--vx-primary), var(--vx-info));border-radius:999px 999px 999px 4px;place-items:center;width:34px;height:34px;font-size:13px;font-weight:800;display:grid;position:relative;transform:rotate(-45deg);box-shadow:0 6px 16px #2f2b3d38}.real-map-marker span{transform:rotate(45deg)}.numbered-map-marker{letter-spacing:0;font-size:12px}.numbered-map-marker span{text-align:center;min-width:18px;display:inline-block}.marker-digits-3{font-size:10px}.editable-map-marker{background:linear-gradient(135deg, #ff9f43, var(--vx-primary))}.parking-map-marker{background:linear-gradient(135deg, var(--vx-info), var(--vx-primary));border-radius:999px 999px 999px 5px;width:26px;height:26px;font-size:11px;box-shadow:0 5px 14px #2f2b3d2e}.parking-map-marker span{text-align:center;min-width:18px}.location-position-editor{gap:10px;padding:0 12px 12px;display:grid}.location-position-editor p{margin:4px 0 0}.location-position-map{border:1px solid var(--vx-border);border-radius:var(--vx-radius);background:var(--vx-map-bg);height:300px;min-height:300px;overflow:hidden}.map-popup{min-width:180px;color:var(--vx-text);gap:3px;font-size:13px;display:grid}.map-popup strong{font-size:14px}.map-popup span{color:var(--vx-muted)}.map-empty-overlay{z-index:410;border:1px solid var(--vx-border);border-radius:var(--vx-radius);background:var(--vx-panel-strong);max-width:min(360px,100% - 28px);color:var(--vx-muted);box-shadow:var(--vx-shadow);padding:10px 12px;font-size:13px;font-weight:650;position:absolute;bottom:14px;left:14px}.parking-context{border-radius:var(--vx-radius);background:linear-gradient(135deg,#7367f014,#00bad10d);border:1px solid #7367f038;grid-template-columns:1fr;gap:12px;margin-bottom:14px;padding:14px;display:grid}.parking-context-head,.parking-context-kpi-card,.parking-description-section{align-content:start;gap:10px;display:grid}.parking-context span{color:var(--vx-primary);text-transform:uppercase;font-size:12px;font-weight:800}.parking-context strong{font-size:18px}.parking-context-head strong{font-size:22px;line-height:1.16}.parking-context p{color:var(--vx-muted);margin:0;line-height:1.45}.parking-context .parking-usage-note{color:var(--vx-text);font-weight:800}.parking-context-kpi-card{border-radius:var(--vx-radius);background:#ffffffc7;border:1px solid #7367f029;padding:12px;box-shadow:0 10px 28px #2f2b3d0f}.parking-description-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;display:grid}.parking-description-grid article{border-radius:var(--vx-radius);background:#ffffffc7;border:1px solid #7367f024;align-content:start;gap:8px;padding:12px;display:grid}.parking-description-grid article>div{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.parking-description-grid article strong{font-size:15px}.parking-description-grid article p{color:var(--vx-muted);-webkit-line-clamp:6;-webkit-box-orient:vertical;font-size:14px;display:-webkit-box;overflow:hidden}.parking-description-grid article.is-expanded p{-webkit-line-clamp:initial;display:block;overflow:visible}.text-button{color:var(--vx-primary);font:inherit;cursor:pointer;background:#7367f01a;border:0;border-radius:999px;justify-self:start;padding:6px 10px;font-size:13px;font-weight:800}.text-button:hover{background:#7367f02e}.parking-context-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.parking-context-metrics article{border-radius:var(--vx-radius);background:#ffffffb8;border:1px solid #7367f029;padding:10px}.parking-context-metric-button{border-radius:var(--vx-radius);width:100%;min-width:0;color:var(--vx-text);box-shadow:none;text-align:left;font:inherit;cursor:pointer;background:linear-gradient(135deg,#7367f01f,#00bad112);border:1px solid #7367f03d;padding:10px;display:grid}.parking-context-metrics article span{color:var(--vx-muted)}.parking-context-metric-button span{color:var(--vx-muted);text-transform:uppercase;font-size:12px;font-weight:800}.parking-context-metrics article strong,.parking-context-metric-button strong{margin-top:6px;font-size:20px;display:block}.parking-context-metric-button small{color:var(--vx-primary);margin-top:4px;font-size:11px;font-weight:850}.parking-context-metric-button:hover,.clickable-invest-breakdown:hover{border-color:#7367f06b;box-shadow:0 8px 22px #7367f024}.clickable-invest-breakdown{cursor:pointer}.parking-context-metric-button:focus-visible,.clickable-invest-breakdown:focus-visible{outline-offset:2px;outline:3px solid #00bad140}.parking-invest-breakdown{border-radius:var(--vx-radius);background:#ffffffbd;border:1px solid #7367f029;gap:6px;margin-top:2px;padding:10px;display:grid}.parking-invest-breakdown>span{color:var(--vx-muted)}.parking-invest-list{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:8px;display:grid}.parking-invest-list div,.parking-invest-breakdown .parking-invest-total{background:#ffffffb8;border:1px solid #7367f01f;border-radius:8px;justify-content:space-between;align-items:baseline;gap:10px;padding:8px 10px;display:flex}.parking-invest-breakdown em{color:var(--vx-text);font-size:13px;font-style:normal;font-weight:750}.parking-invest-breakdown strong{white-space:nowrap;font-size:15px}.parking-invest-breakdown .parking-invest-total{color:var(--vx-primary);background:#7367f014}.energy-context-grid{grid-template-columns:minmax(180px,.9fr) minmax(180px,.9fr) minmax(260px,1.2fr) auto}.energy-hero{border-radius:var(--vx-radius);color:#fff;background:linear-gradient(135deg, #2f2b3df5, #675dd8e0), var(--vx-primary-dark);box-shadow:var(--vx-shadow);border:1px solid #7367f02e;grid-template-columns:minmax(260px,.9fr) minmax(420px,1.6fr);align-items:stretch;gap:16px;padding:18px;display:grid}.energy-hero>div:first-child{align-content:center;gap:8px;display:grid}.energy-hero span{color:#ffffffc7;text-transform:uppercase;font-size:12px;font-weight:800}.energy-hero h3{color:#fff;margin:0;font-size:clamp(32px,5vw,54px);line-height:1}.energy-hero p{color:#ffffffbd;margin:0}.energy-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.energy-kpis article{border-radius:var(--vx-radius);background:#ffffff1a;border:1px solid #ffffff29;min-width:0;padding:12px}.energy-kpis article span{color:#ffffffb8;text-transform:uppercase;font-size:11px;font-weight:800;display:block}.energy-kpis article strong{color:#fff;margin-top:8px;font-size:18px;display:block}.energy-kpis article em{color:#ffffffb3;margin-top:4px;font-size:12px;font-style:normal;display:block}.compact-kpis{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:14px}.compact-kpis article{border-color:var(--vx-border);background:#7367f00b}.compact-kpis article span,.compact-kpis article em{color:var(--vx-muted)}.compact-kpis article strong{color:var(--vx-text)}.demand-logic-card{overflow:hidden}.demand-flow{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.demand-flow article{border-radius:var(--vx-radius);background:linear-gradient(135deg,#7367f014,#00cfe80f);border:1px solid #7367f02e;gap:5px;min-height:94px;padding:12px;display:grid;position:relative}.demand-flow span{width:26px;height:26px;color:var(--vx-primary);background:var(--vx-primary-soft);border-radius:50%;place-items:center;font-weight:900;display:inline-grid}.demand-flow strong,.demand-scenario-head strong,.demand-group-grid strong,.demand-capacity-box strong{color:var(--vx-text)}.demand-flow code,.demand-group-grid code,.demand-capacity-box code{white-space:normal;color:var(--vx-muted);font-family:inherit;font-size:13px;font-weight:800}.demand-model-note{border-radius:var(--vx-radius);background:#00cfe80f;border:1px solid #00cfe838;gap:6px;padding:12px 14px;display:grid}.demand-model-note strong{color:var(--vx-text)}.demand-model-note p{color:var(--vx-muted);margin:0;line-height:1.42}.demand-scenario-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.demand-scenario-card{border:1px solid var(--vx-border);border-radius:var(--vx-radius);background:#ffffffb8;gap:12px;padding:14px;display:grid}.demand-scenario-head{gap:4px;display:grid}.demand-scenario-head span,.demand-group-grid span{color:var(--vx-primary);text-transform:uppercase;font-size:12px;font-weight:900}.demand-scenario-head strong{font-size:28px}.demand-scenario-head em{color:var(--vx-muted);font-style:normal}.demand-group-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.demand-group-grid div{border-radius:var(--vx-radius);background:var(--vx-surface);border:1px solid #2f2b3d1a;gap:6px;min-height:170px;padding:12px;display:grid}.demand-group-grid p,.demand-capacity-box p{color:var(--vx-muted);margin:0;line-height:1.35}.demand-capacity-box{border-radius:var(--vx-radius);background:#28c76f0f;border:1px solid #28c76f3d;gap:6px;padding:12px;display:grid}.demand-ramp-panel{border-radius:var(--vx-radius);background:linear-gradient(135deg,#00cfe812,#7367f00e);border:1px solid #00cfe833;gap:12px;padding:14px;display:grid}.demand-ramp-control-panel{margin-top:4px}.demand-ramp-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.demand-ramp-head h4{color:var(--vx-text);margin:0;font-size:18px}.demand-ramp-head p{margin:3px 0 0}.demand-ramp-head strong{color:var(--vx-info);background:#00cfe821;border-radius:999px;flex:none;padding:8px 12px}.demand-ramp-slider{width:100%;accent-color:var(--vx-primary)}.demand-ramp-axis{color:var(--vx-muted);text-align:center;grid-template-columns:repeat(10,minmax(0,1fr));gap:4px;font-size:11px;font-weight:800;display:grid}.demand-ramp-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.demand-ramp-summary article{border-radius:var(--vx-radius);background:var(--vx-surface);border:1px solid #2f2b3d1a;gap:4px;min-width:0;padding:12px;display:grid}.demand-ramp-summary span{color:var(--vx-primary);text-transform:uppercase;font-size:12px;font-weight:900}.demand-ramp-summary strong{color:var(--vx-text);font-size:22px}.demand-ramp-summary em{color:var(--vx-muted);font-style:normal}.demand-ramp-bars{grid-template-columns:repeat(10,minmax(0,1fr));gap:8px;min-height:150px;padding-top:6px;display:grid}.demand-ramp-bars button{border-radius:var(--vx-radius);cursor:pointer;background:#ffffffb8;border:1px solid #7367f029;justify-content:center;align-items:flex-end;min-width:0;min-height:140px;display:flex;position:relative;overflow:hidden}.demand-ramp-bars button.active{border-color:var(--vx-primary);box-shadow:0 0 0 2px #7367f024}.demand-ramp-bars button span{z-index:2;color:var(--vx-muted);font-size:11px;font-weight:900;line-height:1.1;position:absolute;top:7px;left:8px}.demand-ramp-bars i{border-radius:10px 10px 0 0;width:34%;transition:height .16s;position:absolute;bottom:0}.demand-ramp-bars i.best{background:linear-gradient(180deg, var(--vx-info), var(--vx-primary));left:20%}.demand-ramp-bars i.worst{background:linear-gradient(#ff9f43e6,#ff9f437a);right:20%}.demand-ramp-legend{color:var(--vx-muted);flex-wrap:wrap;gap:14px;font-weight:800;display:flex}.demand-ramp-legend span{align-items:center;gap:8px;display:inline-flex}.demand-ramp-legend i{border-radius:999px;width:22px;height:9px;display:inline-block}.demand-ramp-legend i.best{background:linear-gradient(90deg, var(--vx-info), var(--vx-primary))}.demand-ramp-legend i.worst{background:linear-gradient(90deg,#ff9f43e6,#ff9f437a)}.demand-ramp-legend i.active{border:2px solid var(--vx-primary);background:0 0}.energy-grid{grid-template-columns:minmax(0,1.45fr) minmax(320px,.8fr);align-items:start;gap:18px;display:grid}.energy-review-grid{grid-template-columns:minmax(0,1fr)}.energy-review-grid .monthly-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.energy-card{border:1px solid var(--vx-border);border-radius:var(--vx-radius);background:var(--vx-surface);min-width:0;box-shadow:var(--vx-shadow);gap:14px;padding:16px;display:grid}.caas-settings-page{grid-template-columns:1fr}.settings-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;display:grid}.settings-kpi-grid article{border-radius:var(--vx-radius);background:linear-gradient(135deg,#7367f00e,#00bad10b);border:1px solid #7367f029;min-width:0;padding:12px}.settings-kpi-grid span{color:var(--vx-primary);text-transform:uppercase;font-size:12px;font-weight:800;display:block}.settings-kpi-grid strong{margin-top:8px;font-size:20px;display:block}.settings-kpi-grid em{color:var(--vx-muted);margin-top:4px;font-size:12px;font-style:normal;display:block}.card-head{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.card-head h3{margin:0}.source-list{gap:8px;display:grid}.source-list p{border-left:3px solid var(--vx-info);color:var(--vx-muted);background:#00bad10f;margin:0;padding:8px 10px}.source-control-card{gap:12px}.source-control-grid{grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) minmax(210px,1fr) auto;align-items:end;gap:10px;display:grid}.file-field{gap:5px;margin-bottom:10px;font-size:13px;font-weight:650;display:grid;position:relative}.file-field span{border:1px solid var(--vx-border);border-radius:var(--vx-radius);color:var(--vx-muted);background:var(--vx-surface);text-overflow:ellipsis;white-space:nowrap;padding:9px 11px;display:block;overflow:hidden}.file-field input{opacity:0;cursor:pointer;position:absolute;inset:0}.supplier-csv-input{min-height:92px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.energy-chart{gap:10px;display:grid}.energy-chart svg{border:1px solid var(--vx-border);border-radius:var(--vx-radius);background:linear-gradient(#fff,#fafafa);width:100%;min-height:240px}.energy-chart text{fill:var(--vx-muted);font-size:12px;font-weight:700}.chart-grid-line{stroke:#2f2b3d29;stroke-width:1px}.chart-grid-line.average{stroke:#ff9f43a6;stroke-dasharray:7 5}.chart-grid-line.zero{stroke:#2f2b3d38;stroke-width:1.2px}.chart-month-line{stroke:#2f2b3d14;stroke-width:1px}.chart-selection-line{stroke:var(--vx-warning);stroke-width:2px;stroke-dasharray:6 4}.chart-hit-zone{fill:#0000;cursor:zoom-in;outline:none}.chart-hit-zone:hover,.chart-hit-zone:focus{fill:#7367f014}.chart-line{fill:none;stroke-linejoin:round;stroke-linecap:round;stroke-width:3px}.purchase-line{stroke:var(--vx-primary)}.spot-line{stroke:var(--vx-info);stroke-dasharray:8 6}.scenario-line{stroke-width:2.6px}.scenario-line-synthetic{stroke:var(--vx-primary)}.scenario-line-energy{stroke:var(--vx-success)}.scenario-line-supplier{stroke:var(--vx-warning)}.scenario-bar{opacity:.84;shape-rendering:crispedges;transition:opacity .12s,stroke-width .12s}.scenario-bar:hover{opacity:1;stroke:#2f2b3d47;stroke-width:.7px}.scenario-bar.scenario-line-synthetic{fill:#7892ad;stroke:none}.scenario-bar.scenario-line-energy{fill:var(--vx-success);stroke:none}.scenario-bar.scenario-line-supplier{fill:var(--vx-warning);stroke:none}.scenario-bar-negative{fill:#a4c46f!important}.chart-legend{color:var(--vx-muted);flex-wrap:wrap;gap:12px;font-size:12px;font-weight:700;display:flex}.chart-legend span{align-items:center;gap:6px;display:inline-flex}.chart-legend i{border-radius:999px;width:12px;height:12px;display:inline-block}.week-profile-legend{border-radius:var(--vx-radius);background:#7367f00d;border:1px solid #7367f024;width:fit-content;max-width:100%;margin:8px 0 12px;padding:8px 10px}.week-profile-legend .legend-price{background:linear-gradient(90deg,#7367f029 0 25%,#7367f04d 25% 50%,#7367f07a 50% 75%,#7367f0a8 75% 100%);border:1px solid #7367f061}.week-profile-legend .legend-optimized{box-shadow:inset -4px 0 0 var(--vx-success);border-radius:2px}.chart-zoom-summary{color:var(--vx-muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.chart-zoom-summary strong{color:var(--vx-text)}.scenario-day-zoom{border-radius:var(--vx-radius);background:#7367f00b;border:1px solid #7367f02e;gap:10px;padding:12px;display:grid}.scenario-day-zoom h4,.scenario-day-zoom p{margin:0}.scenario-day-zoom svg{border:1px solid var(--vx-border);border-radius:var(--vx-radius);background:#fff;width:100%;min-height:240px}.scenario-day-zoom svg.scenario-day-bars{background:linear-gradient(#fff 0% 52%,#e6f3da47 52% 100%)}.scenario-day-zoom text{fill:var(--vx-muted);font-size:12px;font-weight:700}.scenario-day-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;display:grid}.scenario-day-grid article{border:1px solid var(--vx-border);border-radius:var(--vx-radius);background:var(--vx-surface);padding:10px}.scenario-day-grid span,.scenario-day-grid em{color:var(--vx-muted);text-transform:uppercase;font-size:12px;font-style:normal;font-weight:800;display:block}.scenario-day-grid strong{margin:6px 0 3px;font-size:18px;display:block}.legend-purchase,.legend-price{background:var(--vx-primary)}.legend-spot{background:var(--vx-info)}.legend-emp{background:var(--vx-primary)}.legend-guest{background:var(--vx-warning)}.legend-fleet{background:#f6c343}.legend-synthetic{background:var(--vx-primary)}.legend-energy_charts{background:var(--vx-success)}.legend-supplier_file{background:var(--vx-warning)}.scenario-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.scenario-card{border:1px solid var(--vx-border);border-radius:var(--vx-radius);background:#7367f009;padding:12px}.scenario-card span,.scenario-card em{color:var(--vx-muted);text-transform:uppercase;font-size:12px;font-style:normal;font-weight:800;display:block}.scenario-card strong{margin-top:8px;font-size:22px;display:block}.scenario-card p{color:var(--vx-muted);margin:6px 0 0;font-size:13px;line-height:1.4}.scenario-error{background:#ff4c510f;border-color:#ff4c5147}.scenario-missing{background:#ff9f4312;border-color:#ff9f4347}.week-chart-scroll{gap:10px;max-height:620px;padding-bottom:4px;display:grid;position:relative;overflow:auto}.week-chart{gap:4px;min-width:1080px;display:grid}.week-row{grid-template-columns:76px repeat(24,minmax(32px,1fr));align-items:stretch;gap:4px;display:grid}.week-head-row{z-index:4;position:sticky;top:0}.week-day-label,.week-hour-label,.week-cell{border-radius:var(--vx-radius)}.week-day-label{min-height:46px;color:var(--vx-text);background:#f1f0f2;align-content:center;padding:8px;font-size:12px;font-weight:800;display:grid}.week-row .week-day-label{z-index:3;position:sticky;left:0}.week-head-row .week-day-label{z-index:5}.week-day-label span{color:var(--vx-muted);font-size:11px;font-weight:700}.week-hour-label{min-height:30px;color:var(--vx-muted);background:#f1f0f2;place-items:center;font-size:11px;font-weight:800;display:grid}.week-cell{cursor:crosshair;background:#7367f014;border:1px solid #7367f02e;min-height:46px;position:relative;overflow:hidden}.week-price-stripes{z-index:0;pointer-events:none;grid-template-columns:repeat(4,1fr);display:grid;position:absolute;inset:0}.week-price-stripe{border-right:1px solid #ffffff8a;min-width:0}.week-price-stripe:last-child{border-right:0}.week-cell:hover{border-color:#7367f075;box-shadow:inset 0 0 0 1px #7367f02e}.week-cell-optimized{border-color:#28c76f57}.week-optimized-marker{background:var(--vx-success);z-index:2;border-radius:999px;width:6px;min-height:4px;max-height:calc(100% - 4px);position:absolute;inset:auto 2px 2px auto;box-shadow:0 0 0 1px #ffffffb3}.week-optimized-quarters{z-index:3;pointer-events:none;grid-template-columns:repeat(4,3px);align-items:end;gap:1px;width:15px;display:grid;position:absolute;inset:3px 2px 2px auto}.week-optimized-quarters span{background:0 0;border-radius:999px;justify-self:center;width:3px}.week-optimized-quarters span.is-active{background:var(--vx-success);min-height:5px;box-shadow:0 0 0 1px #ffffffbd}.week-energy-stack{z-index:2;align-items:flex-end;gap:2px;height:32px;display:flex;position:absolute;inset:auto 22px 5px 5px}.week-energy-stack span{border-radius:999px 999px 2px 2px;width:100%;min-height:0}.energy-emp{background:var(--vx-primary)}.energy-guest{background:var(--vx-warning)}.energy-fleet{background:#f6c343;box-shadow:inset 0 0 0 1px #78580024}.legend-optimized{background:var(--vx-success)}.energy-hover-tooltip{z-index:2600;border-radius:var(--vx-radius);color:#fff;pointer-events:none;background:#2f2b3df7;border:1px solid #2f2b3d29;gap:6px;width:min(380px,100vw - 24px);max-height:calc(100vh - 24px);padding:13px 14px;font-size:14px;line-height:1.35;display:grid;position:fixed;overflow-y:auto;box-shadow:0 14px 34px #2f2b3d47}.energy-hover-tooltip strong{font-size:15px}.energy-hover-tooltip span{color:#ffffffd1}.plain-table-wrap{box-shadow:none}.monthly-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.monthly-grid div{border:1px solid var(--vx-border);border-radius:var(--vx-radius);background:#7367f009;padding:10px}.monthly-grid span,.monthly-grid em{color:var(--vx-muted);font-size:12px;font-style:normal;display:block}.monthly-grid strong{margin:5px 0;font-size:16px;display:block}.monthly-reference{color:var(--vx-muted);margin:6px 0 0;font-size:12px;line-height:1.25}.monthly-optimized{border-top:1px solid #7367f029;justify-content:space-between;align-items:baseline;gap:8px;margin:10px 0 0;padding-top:8px;display:flex}.monthly-optimized b{color:var(--vx-success);font-size:14px}.monthly-optimized b.muted-value{color:var(--vx-muted)}.formula-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;display:grid}.formula-grid article{border:1px solid var(--vx-border);border-radius:var(--vx-radius);background:#00bad10a;gap:8px;padding:12px;display:grid}.formula-grid span{color:var(--vx-primary);text-transform:uppercase;font-size:12px;font-weight:800}.formula-grid code{white-space:normal;color:var(--vx-text);font-size:13px;font-weight:800}.formula-grid p{color:var(--vx-muted);margin:0;line-height:1.45}.document-title{color:var(--vx-primary);font-weight:800;line-height:1.35;display:block}.document-link-row{color:var(--vx-muted);flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:4px;font-size:12px;font-weight:700;display:flex}.document-link-row a{color:var(--vx-primary)}.global-assumption-grid{grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;gap:12px 16px;display:grid}.global-assumption-grid .field{min-width:0;margin-bottom:0}.global-assumption-grid input{width:100%;height:44px}.assumption-field-short{grid-column:span 2}.assumption-field-count{grid-column:span 3}.assumption-note-field{grid-column:span 5}.assumption-note-field textarea{height:150px;min-height:150px;font-size:13px;line-height:1.45}.ev-ramp-chart{gap:10px;display:grid}.ev-ramp-chart svg{border-radius:var(--vx-radius);background:linear-gradient(180deg, #fffffff5, #f8f7faeb), var(--vx-surface);border:1px solid #7367f02e;width:100%;min-height:300px}.ev-ramp-chart text{fill:var(--vx-muted);font-size:12px;font-weight:800}.ev-best-line{stroke:var(--vx-success)}.ev-worst-line{stroke:var(--vx-warning)}.ev-target-line{stroke:var(--vx-primary);stroke-dasharray:9 6}.legend-best,.legend-worst,.legend-target{border-radius:999px;width:18px!important;height:4px!important}.legend-best{background:var(--vx-success)}.legend-worst{background:var(--vx-warning)}.legend-target{background:repeating-linear-gradient(90deg, var(--vx-primary) 0 8px, transparent 8px 13px)}.caas-source-links{margin-top:14px}.caas-source-links a{font-size:12px}.grid-cost-hero{color:#fff;background:linear-gradient(135deg, #2f2b3df5, #00bad1c7), var(--vx-info);grid-template-columns:minmax(260px,.8fr) minmax(420px,1.4fr);align-items:stretch;min-width:0;max-width:100%}.grid-cost-page>*{min-width:0;max-width:100%}.grid-cost-hero>div:first-child{align-content:center;gap:8px;min-width:0;display:grid}.grid-cost-hero span{color:#ffffffc7;text-transform:uppercase;font-size:12px;font-weight:800}.grid-cost-hero h3{color:#fff;margin:0;font-size:clamp(32px,5vw,54px);line-height:1}.grid-cost-hero p{color:#ffffffbd;margin:0}.compact-formula-grid{grid-template-columns:minmax(0,1fr);min-width:0}.compact-formula-grid article{background:#ffffff1a;border-color:#fff3;min-width:0}.compact-formula-grid code{color:#fff}.energy-hero .formula-grid article,.grid-cost-hero .formula-grid article{background:#ffffff1f;border-color:#ffffff3d}.energy-hero .formula-grid span,.energy-hero .formula-grid code,.grid-cost-hero .formula-grid span,.grid-cost-hero .formula-grid code{color:#fff}.energy-hero .formula-grid p,.grid-cost-hero .formula-grid p{color:#ffffffc7}.grid-cost-controls{grid-template-columns:minmax(180px,1.1fr) minmax(220px,1.3fr) repeat(4,minmax(130px,.7fr));align-items:end;gap:10px;width:100%;min-width:0;max-width:100%;display:grid}.grid-cost-controls .field,.grid-cost-controls label{min-width:0}.grid-cost-controls input,.grid-cost-controls select{width:100%;min-width:0}.grid-cost-location-context{border-radius:var(--vx-radius-sm);min-width:0;max-width:100%;color:var(--vx-text);background:#00bad114;border:1px solid #00bad142;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:12px;padding:10px 12px;display:flex}.grid-cost-location-context.warning{background:#ff9f431a;border-color:#ff9f4361}.grid-cost-location-context strong{overflow-wrap:anywhere;min-width:0;font-weight:900}.grid-cost-location-context span:not(.pill){min-width:0;color:var(--vx-muted);overflow-wrap:anywhere}.grid-cost-grid{grid-template-columns:minmax(0,1fr) minmax(360px,.78fr);min-width:0}.grid-cost-grid>.energy-card{min-width:0;max-width:100%}.grid-cost-grid .card-head>*{min-width:0}.grid-cost-grid .card-head .status{overflow-wrap:anywhere;white-space:normal;max-width:100%}.table-wrap.grid-cost-breakdown-wrap{width:100%;min-width:0;max-width:100%;overflow-x:auto}.grid-cost-breakdown-table{table-layout:fixed;width:100%;min-width:560px}.grid-cost-breakdown-table th,.grid-cost-breakdown-table td{white-space:normal;overflow-wrap:anywhere;word-break:normal;vertical-align:top}.grid-cost-breakdown-table th:first-child,.grid-cost-breakdown-table td:first-child{width:68%}.grid-cost-breakdown-table th:last-child,.grid-cost-breakdown-table td:last-child{text-align:right;width:32%}.grid-cost-breakdown-table .table-section-row th{text-align:left}.grid-cost-breakdown-table .subtext,.cost-tax-note{white-space:normal;overflow-wrap:anywhere}.grid-component-grid{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}.grid-component-grid>div{min-width:0}.source-list a,.source-list span{display:block}.source-list a{color:var(--vx-primary);font-weight:800;text-decoration:none}.source-list span{margin-top:3px}.operator-workbench{grid-template-columns:1fr;align-items:start;gap:12px;display:grid}.operator-meta{border-radius:var(--vx-radius);background:#7367f00a;border:1px solid #7367f029;gap:6px;padding:12px;display:grid}.operator-meta span{color:var(--vx-muted);line-height:1.45}.operator-meta a{color:var(--vx-primary);font-weight:800;text-decoration:none}.document-search-status-panel{border-bottom:1px solid var(--vx-border);background:#7367f009;grid-template-columns:minmax(150px,.7fr) minmax(150px,.7fr) minmax(260px,1.6fr);gap:10px;padding:12px;display:grid}.document-search-status-panel article{border-radius:var(--vx-radius);background:#ffffffc7;border:1px solid #7367f024;gap:3px;min-width:0;padding:9px 10px;display:grid}.document-search-status-panel span{color:var(--vx-muted);text-transform:uppercase;font-size:11px;font-weight:800}.document-search-status-panel strong{overflow-wrap:anywhere;font-size:13px;line-height:1.35}.manual-document-row{border-top:1px solid var(--vx-border);background:#f8f7faa6;grid-template-columns:minmax(160px,.8fr) minmax(260px,1.4fr) max-content;align-items:center;gap:8px;padding:12px;display:grid}.document-parse-detail{white-space:normal;max-width:320px}.document-ignore-control{gap:6px;min-width:180px;display:grid}.document-ignore-control label{align-items:center;gap:6px;font-size:12px;font-weight:800;display:flex}.document-ignore-control input[type=text],.document-ignore-control input:not([type]){min-height:32px;padding:6px 8px;font-size:12px}.muted-document-row td{color:var(--vx-muted);background:#f8f7fac2}.muted-document-row a{color:var(--vx-muted)}.crawler-control-panel{gap:14px;display:grid}.crawler-config-grid{grid-template-columns:repeat(5,minmax(140px,1fr));gap:10px;display:grid}.crawler-config-grid label{color:var(--vx-muted);gap:6px;font-size:12px;font-weight:800;display:grid}.crawler-config-grid .checkbox-line{min-height:42px;color:var(--vx-text);display:flex}.crawler-action-row,.operator-table-tools{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.crawler-action-row{padding-top:4px}.crawler-action-row button{white-space:nowrap;border:1px solid #7367f033;min-height:36px;padding:8px 12px;font-size:13px;font-weight:750;line-height:1}.crawler-action-row .secondary{background:#7367f017}.crawler-action-row .secondary:hover{background:#7367f026;border-color:#7367f06b;box-shadow:0 3px 10px #7367f01f}.crawler-run-limit{min-width:150px;max-width:170px;color:var(--vx-muted);text-transform:uppercase;gap:4px;font-size:11px;font-weight:800;line-height:1;display:grid}.crawler-run-limit select{min-height:36px;color:var(--vx-text);text-transform:none;padding:7px 32px 7px 10px;font-size:13px;font-weight:750}.crawler-result-cell{white-space:normal;min-width:280px;max-width:560px;line-height:1.35}.crawler-result-cell small{color:var(--vx-muted);margin-top:3px;display:block}.operator-table-tools{border-bottom:1px solid var(--vx-border)}.operator-table-tools input{flex:320px;width:auto}.operator-table-tools select{flex:0 190px}.vuexy-table-toolbar{border-radius:var(--vx-radius);background:linear-gradient(#7367f00b,#fff0);border:1px solid #7367f01f;gap:10px;padding:14px}.operator-create-row{grid-template-columns:minmax(180px,.8fr) minmax(260px,1.3fr) max-content;align-items:center;gap:8px;display:grid}.operator-table-summary,.operator-kpi-strip{grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px;display:grid}.operator-table-summary div,.operator-kpi-strip div{border-radius:var(--vx-radius);background:#7367f00b;border:1px solid #7367f024;gap:4px;padding:12px;display:grid}.operator-table-summary span,.operator-kpi-strip span{color:var(--vx-muted);text-transform:uppercase;font-size:11px;font-weight:900}.operator-table-summary strong,.operator-kpi-strip strong{font-size:20px}.operator-table-meta,.operator-pagination{color:var(--vx-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;font-size:12px;font-weight:800;display:flex}.operator-pagination{justify-content:flex-end}.vuexy-data-table table{min-width:980px}.operator-row-clickable{cursor:pointer}.operator-row-clickable:hover td{background:#7367f00f}.operator-detail-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}.operator-master-data{grid-column:1/-1}.raw-json-preview{white-space:pre-wrap;max-height:220px;font-size:11px;line-height:1.45;overflow:auto}.table-tools{border-bottom:1px solid var(--vx-border);flex-wrap:wrap;align-items:flex-start;gap:8px;padding:12px;display:flex}.table-tools input{width:min(100%,420px)}.overview-filter-bar{grid-template-columns:minmax(200px,260px) minmax(180px,220px) minmax(320px,1fr) auto;align-items:end;gap:14px;padding:14px 16px;display:grid}.overview-group-select,.overview-status-select{gap:6px;width:100%;display:grid}.overview-search-field{gap:6px;min-width:0;display:grid}.overview-group-select span,.overview-status-select span,.overview-search-field>label{color:var(--vx-muted);text-transform:uppercase;font-size:11px;font-weight:800}.overview-group-select select,.overview-status-select select{width:100%}.overview-filter-bar select,.overview-filter-bar input{height:44px}.overview-search{width:100%;min-width:0;position:relative}.overview-search input{width:100%}.overview-filter-actions{flex-wrap:wrap;align-items:center;gap:10px;min-height:44px;display:flex}.overview-archive-toggle{white-space:nowrap;min-height:44px}.overview-archive-toggle input{height:auto}.overview-filter-reset{width:44px;height:44px;color:var(--vx-primary);box-shadow:none;background:#7367f014;border:1px solid #7367f02e}.search-suggestions{z-index:900;border:1px solid var(--vx-border);border-radius:var(--vx-radius);background:var(--vx-surface);width:min(520px,92vw);box-shadow:var(--vx-shadow-lg);position:absolute;top:calc(100% + 6px);left:0;overflow:hidden}.search-suggestions button{width:100%;color:var(--vx-text);box-shadow:none;text-align:left;background:0 0;border-radius:0;grid-template-columns:92px minmax(120px,1fr);gap:2px 10px;padding:10px 12px;display:grid}.search-suggestions button+button{border-top:1px solid var(--vx-border)}.search-suggestions button.active,.search-suggestions button:hover{background:#7367f01a}.search-suggestions span{color:var(--vx-primary);text-transform:uppercase;font-size:11px;font-weight:800}.search-suggestions strong{font-size:13px}.search-suggestions small{color:var(--vx-muted);white-space:normal;grid-column:2}.tenant-row{background:#7367f009}.active-project-overview-panel{border:1px solid var(--vx-border);border-radius:var(--vx-radius);background:rgba(var(--vx-surface-rgb), .68);box-shadow:none;justify-content:space-between;align-items:center;gap:16px;padding:10px 12px;display:flex}.active-project-overview-panel h3{margin:0;font-size:17px}.active-project-overview-panel.compact-project-context .eyebrow{margin-bottom:2px}.active-project-overview-panel .location-module-pills{justify-content:flex-end;margin-top:0}.tenant-expander-header,.tenant-expander-cell,.tenant-tree-cell{width:54px;min-width:54px;text-align:center!important}.tenant-name-cell{white-space:normal;text-align:left!important}.overview-record-title{text-align:left;align-items:center;gap:8px;min-width:0;max-width:100%;display:flex}.overview-record-title.has-record-info{-moz-column-gap:8px;grid-template-columns:28px minmax(0,1fr) auto;align-items:start;gap:4px 8px;min-width:0;max-width:100%;display:grid}.overview-record-title .activity-log-control{justify-self:end}.overview-record-title .tenant-jump-button{text-align:left;white-space:normal;overflow-wrap:break-word;word-break:normal;-webkit-hyphens:auto;hyphens:auto;justify-self:start;min-width:0;max-width:100%;line-height:1.35}.overview-record-title .icon-button.info,.location-title-line .activity-log-control .icon-button.info{border-radius:8px;width:26px;height:26px}.overview-record-title .icon-button.info svg,.location-title-line .activity-log-control .icon-button.info svg{width:15px;height:15px}.tenant-expand-button{border-radius:var(--vx-radius);width:32px;height:32px;color:var(--vx-muted);box-shadow:none;background:0 0;border:1px solid #0000;place-items:center;padding:0;line-height:1;transition:background .14s,border-color .14s,color .14s,transform .14s;display:inline-grid}.tenant-expand-icon{border-bottom:2px solid;border-right:2px solid;width:7px;height:7px;transition:transform .16s;transform:rotate(-45deg)}.tenant-expand-button[aria-expanded=true] .tenant-expand-icon{transform:rotate(45deg)translate(-1px,-1px)}.tenant-expand-button:hover,.tenant-expand-button:focus-visible{color:var(--vx-primary);background:#7367f01a;border-color:#7367f038;transform:translateY(-1px)}.tenant-expand-button[aria-expanded=true]{color:var(--vx-primary);background:#7367f01f;border-color:#7367f038}.tenant-jump-button{vertical-align:middle}.tenant-table th,.tenant-table td{text-align:left}.caas-overview-table-wrap{max-width:100%;overflow-x:hidden}.overview-tenant-editor{justify-content:space-between;align-items:end;gap:16px;display:flex}.overview-tenant-editor form{grid-template-columns:minmax(260px,1fr) auto;align-items:end;gap:12px;min-width:min(560px,100%);display:grid}.overview-tenant-editor .field{margin:0}.tenant-table .tenant-row-actions,.tenant-table .overview-action-buttons{flex-flow:row;justify-content:flex-start;align-items:center;gap:8px;min-width:max-content;display:flex}.tenant-table .overview-action-cell{white-space:nowrap}.tenant-table .overview-action-buttons>*{flex:none}.tenant-table{table-layout:fixed;width:100%}.tenant-table-expander-col{width:54px}.tenant-table-main-col{width:36%}.tenant-table-locations-col{width:26%}.tenant-table-status-col{width:14%}.tenant-table-count-col{width:7%}.tenant-table-action-col{width:190px}.tenant-table th,.tenant-table td,.tenant-table .subtext{overflow-wrap:break-word;word-break:normal}.tenant-table td{vertical-align:middle}.tenant-table td:nth-child(3),.tenant-table td:nth-child(4){text-align:left}.tenant-location-list{text-align:left;white-space:normal;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;max-width:100%;line-height:1.35;display:block}@media (width<=640px){.caas-overview-table-wrap{box-shadow:none;background:0 0;border:0;overflow-x:visible}.caas-overview-table-wrap .tenant-table,.caas-overview-table-wrap .tenant-table tbody,.caas-overview-table-wrap .tenant-table tr,.caas-overview-table-wrap .tenant-table td{width:100%;display:block}.caas-overview-table-wrap .tenant-table{table-layout:auto;border-collapse:separate;border-spacing:0}.caas-overview-table-wrap .tenant-table colgroup,.caas-overview-table-wrap .tenant-table thead{display:none}.caas-overview-table-wrap .tenant-table tbody{gap:10px;display:grid}.caas-overview-table-wrap .tenant-table tr{border:1px solid var(--vx-border);border-radius:var(--vx-radius);background:var(--vx-surface);overflow:hidden;box-shadow:0 8px 18px #2f2b3d0f}.caas-overview-table-wrap .tenant-table td{white-space:normal;overflow-wrap:anywhere;word-break:normal;-webkit-hyphens:auto;hyphens:auto;border-bottom:1px solid #2f2b3d14;min-height:0;padding:10px 12px}.caas-overview-table-wrap .tenant-table td:last-child{border-bottom:0}.caas-overview-table-wrap .tenant-table td[data-label]:before{content:attr(data-label);color:var(--vx-muted);letter-spacing:0;text-transform:uppercase;margin-bottom:4px;font-size:11px;font-weight:900;display:block}.caas-overview-table-wrap .tenant-table .tenant-tree-cell{display:none}.caas-overview-table-wrap .tenant-table .tenant-expander-cell{justify-content:space-between;align-items:center;display:flex}.caas-overview-table-wrap .tenant-table .tenant-expander-cell:before{margin-bottom:0}.caas-overview-table-wrap .tenant-expand-button{width:44px;height:44px}.caas-overview-table-wrap .tenant-row,.caas-overview-table-wrap .location-row{min-width:0}.caas-overview-table-wrap .tenant-table tr.location-row{border-left:4px solid #7367f042;width:calc(100% - 18px);margin-left:18px}.caas-overview-table-wrap .location-row td{background:var(--vx-surface)}.caas-overview-table-wrap .location-row.active-project-row td{background:#28c76f14}.caas-overview-table-wrap .overview-record-title,.caas-overview-table-wrap .location-title-line{white-space:normal;align-items:flex-start;gap:6px}.caas-overview-table-wrap .tenant-jump-button,.caas-overview-table-wrap .location-title-text,.caas-overview-table-wrap .tenant-location-list,.caas-overview-table-wrap .subtext{white-space:normal;overflow-wrap:anywhere;word-break:normal;max-width:100%}.caas-overview-table-wrap .tenant-table .tenant-row-actions,.caas-overview-table-wrap .tenant-table .overview-action-buttons{flex-wrap:wrap;min-width:0}.caas-overview-table-wrap .tenant-table .overview-action-cell{white-space:normal}}.location-row td{background:var(--vx-table-row)}.location-row.active-project-row td{background:#28c76f14}.active-project-select{min-height:24px;color:var(--vx-primary);box-shadow:none;background:#7367f014;border:1px solid #7367f038;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:900;line-height:1}.active-project-select.selected{color:#16844a;background:#28c76f29;border-color:#28c76f57}.overview-parking-editor-row td{background:#7367f00b}.overview-parking-editor{border-radius:var(--vx-radius);background:#ffffffd1;border:1px solid #7367f029;gap:12px;padding:12px;display:grid}.overview-parking-editor-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.overview-parking-editor-head>div{gap:2px;display:grid}.overview-parking-editor-head strong{font-size:14px}.overview-parking-editor-head span{color:var(--vx-muted);font-size:12px}.overview-parking-list{gap:8px;display:grid}.overview-parking-row{border:1px solid var(--vx-border);border-radius:var(--vx-radius);background:#fff;grid-template-columns:minmax(92px,120px) minmax(180px,1fr) minmax(160px,auto) auto auto;align-items:end;gap:10px;padding:10px;display:grid}.overview-parking-row label{gap:4px;min-width:0;display:grid}.overview-parking-row label span,.overview-parking-meta span{color:var(--vx-muted);text-transform:uppercase;font-size:11px;font-weight:800}.overview-parking-row input{width:100%;min-width:0;height:38px}.overview-parking-meta{align-self:center;gap:4px;display:grid}.tenant-tree-cell{position:relative;padding:0!important}.tenant-tree-elbow{background:0 0;border-bottom:1px solid #7367f042;border-left:1px solid #7367f042;width:18px;height:50%;position:absolute;top:0;left:50%;transform:none}.tenant-tree-elbow:after{content:"";display:none}.location-number-cell{width:58px;text-align:center!important}.location-index-pill{min-width:28px;height:28px;color:var(--vx-primary);background:#7367f01f;border-radius:999px;place-items:center;font-size:12px;font-weight:900;display:inline-grid}.location-indent-cell{width:180px}.location-name-cell{padding-left:8px}.location-name-cell-child{padding-left:0}.location-title-line{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.location-title-line .activity-log-control{justify-content:flex-end;width:28px}.location-title-text{overflow-wrap:anywhere;min-width:0}.location-index-chip{border-radius:var(--vx-radius);min-height:22px;color:var(--vx-primary);white-space:nowrap;background:#7367f014;border:1px solid #7367f02e;align-items:center;padding:2px 7px;font-size:11px;font-weight:900;display:inline-flex}.source-badge{border-radius:6px;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;font-weight:900;line-height:1;display:inline-flex}.source-tables{color:#0f8f7f;background:#00cfe81f;border:1px solid #00cfe83d}.source-local{color:var(--vx-primary);background:#7367f01f;border:1px solid #7367f03d}.location-module-pills{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.module-pill{color:#16844a;min-height:26px;box-shadow:none;white-space:nowrap;background:#28c76f1f;border:1px solid #28c76f47;border-radius:999px;align-items:center;padding:4px 9px;font-size:12px;font-weight:900;line-height:1;display:inline-flex}.module-pill:hover:not(:disabled),.module-pill:focus-visible:not(:disabled){background:#28c76f33;transform:translateY(-1px)}.module-pill.inactive{color:var(--vx-muted);background:#82868b14;border-color:#82868b3d}.module-pill.can-activate{color:#a05a00;background:#ff9f431f;border-color:#ff9f4352}.module-pill.can-activate:hover:not(:disabled),.module-pill.can-activate:focus-visible:not(:disabled){background:#ff9f4333}.module-pill:disabled{cursor:not-allowed;opacity:.56}.archived-row{opacity:.72;background:#82868b0f}.archived-status{color:#606a75;background:#82868b29}.location-context-cell{color:var(--vx-muted)}.table-sort,.link-button{color:var(--vx-primary);box-shadow:none;background:0 0;padding:0}.table-sort{color:inherit;font-size:inherit;text-transform:uppercase}.link-button{font-weight:800}.table-actions{white-space:normal;flex-wrap:wrap;align-items:center;gap:6px;display:flex}.table-actions button+button{margin-left:0}.tenant-child-spacer{width:1px}.compact{padding:4px 8px;font-size:12px}.selected-row td{background:#7367f014}.table-wrap{border:1px solid var(--vx-border);border-radius:var(--vx-radius);background:var(--vx-surface);min-width:0;max-width:100%;box-shadow:var(--vx-shadow);overflow:auto}.collapsible-table-section{border:1px solid var(--vx-border);border-radius:var(--vx-radius);background:var(--vx-surface);width:100%;min-width:0;max-width:100%;box-shadow:var(--vx-shadow);grid-column:1/-1;gap:0;display:grid;overflow:hidden}.collapsible-table-head{border-bottom:1px solid var(--vx-border);background:linear-gradient(180deg, #7367f00b, var(--vx-subtle-gradient-end));grid-template-columns:auto minmax(0,1fr) auto;align-items:flex-start;gap:10px;padding:14px 16px;display:grid}.collapsible-table-title{gap:3px;min-width:0;display:grid}.collapsible-table-title h3{margin:0;font-size:18px}.collapsible-table-title p{margin:0}.collapsible-table-meta{justify-content:flex-end;align-items:center;gap:8px;display:flex}.collapsible-table-body{width:100%;min-width:0;max-width:100%;overflow:auto}.collapse-icon-button{width:30px;height:30px;box-shadow:none;background:#7367f017;border:1px solid #7367f038;border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex}.collapse-icon-button span{border-right:2px solid var(--vx-primary);border-bottom:2px solid var(--vx-primary);width:9px;height:9px;transition:transform .16s;transform:rotate(45deg)translate(-1px,-1px)}.is-collapsed .collapse-icon-button span{transform:rotate(-45deg)translate(-1px,1px)}table{border-collapse:collapse;width:100%;font-size:13px}.location-editor-panel{background:var(--vx-surface);border:1px solid var(--vx-border);border-radius:var(--vx-radius);box-shadow:var(--vx-shadow);gap:14px;padding:16px;display:grid}.detail-head{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.detail-head h3{margin:0;font-size:18px}.compact-head{align-items:center}.operator-cost-positions{gap:12px;display:grid}.position-filter-toolbar input{flex:320px;min-width:260px}.position-filter-toolbar select{flex:0 190px}.operator-cost-positions .dense-table{width:100%}.operator-cost-positions .dense-table th,.operator-cost-positions .dense-table td{vertical-align:middle}.operator-cost-positions .dense-table td:first-child{white-space:normal;min-width:280px}.operator-cost-positions .dense-table td:nth-child(4){min-width:260px}.editable-value-button{width:100%;min-width:190px;color:var(--vx-text);text-align:left;box-shadow:none;cursor:pointer;background:#7367f00a;border:1px solid #7367f029;border-radius:8px;gap:3px;padding:8px 10px;display:grid}.editable-value-button:hover:not(:disabled),.editable-value-button:focus-visible:not(:disabled){background:#7367f014;border-color:#7367f06b}.editable-value-button:disabled{cursor:default;opacity:1}.editable-value-button strong{font-size:13px}.ai-extracted-value{color:var(--vx-muted);font-size:11px;font-weight:750}.inline-edit-grid{grid-template-columns:minmax(90px,1fr) minmax(130px,.9fr);gap:6px;min-width:260px;display:grid}.inline-edit-grid input,.inline-edit-grid select{min-height:34px;padding:7px 9px;font-size:12px}.inline-checkbox{color:var(--vx-muted);align-items:center;gap:6px;font-size:12px;font-weight:800;display:inline-flex}.inline-checkbox input{width:auto}.compact-actions{grid-column:1/-1;grid-template-columns:repeat(2,max-content);min-width:0}.position-history-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.position-history-grid article{border-radius:var(--vx-radius);background:#7367f00a;border:1px solid #7367f029;gap:8px;padding:10px;display:grid}.position-history-grid article>div:first-child{gap:2px;display:grid}.position-history-grid span,.position-history-grid small{color:var(--vx-muted);font-size:12px}.position-history-bars{border-bottom:1px solid var(--vx-border);align-items:end;gap:5px;min-height:66px;display:flex}.position-history-bars span{background:linear-gradient(#7367f0,#28c76f);border-radius:4px 4px 0 0;width:14px}.location-new-form,.location-detail-form{gap:10px;display:grid}.location-new-form{grid-template-columns:minmax(180px,.8fr) minmax(200px,1fr) minmax(280px,1.5fr) minmax(120px,.6fr) minmax(120px,.6fr);align-items:end}.location-new-form>button{grid-column:1/-1}.location-detail-form{border-top:1px solid var(--vx-border);grid-template-columns:minmax(180px,.8fr) minmax(280px,1.2fr) minmax(280px,1.2fr) minmax(120px,.5fr) minmax(120px,.5fr) auto;align-items:end;padding-top:14px}.wide-field{grid-column:span 2;min-width:0}.location-parameter-panel{border-radius:var(--vx-radius);background:linear-gradient(135deg,#00bad10b,#7367f009);border:1px solid #00bad133;grid-column:1/-1;gap:12px;padding:14px;display:grid}.location-parameter-panel h3,.location-parameter-grid h4{margin:0}.location-parameter-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:start;gap:14px;display:grid}.location-parameter-grid section{border:1px solid var(--vx-border);border-radius:var(--vx-radius);background:#ffffffb8;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px 10px;min-width:0;padding:12px;display:grid}.location-parameter-grid h4{text-transform:uppercase;color:var(--vx-muted);grid-column:1/-1;font-size:13px}.location-briefing{border-radius:var(--vx-radius);background:linear-gradient(135deg,#7367f00f,#00bad109);border:1px solid #7367f029;grid-template-columns:minmax(280px,1.2fr) minmax(360px,1fr);align-items:stretch;gap:14px;padding:14px;display:grid}.location-identity-panel{grid-template-columns:minmax(420px,1.45fr) minmax(360px,.95fr);align-items:start}.location-core-form{grid-template-columns:minmax(180px,.6fr) minmax(360px,1.4fr);gap:10px 12px;min-width:0;display:grid}.location-core-form .field{min-width:0;margin-bottom:0}.location-core-form input,.location-core-form textarea{width:100%}.location-description-field{grid-column:1/-1}.location-description-field textarea{min-height:170px}.location-briefing-copy{gap:6px;display:grid}.location-briefing-copy span,.parking-card-head span{text-transform:uppercase;color:var(--vx-primary);font-size:12px;font-weight:800}.location-briefing-copy h4,.location-briefing-copy p{margin:0}.location-briefing-copy p{color:var(--vx-muted);line-height:1.45}.location-briefing-metrics{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;display:grid}.location-briefing-metrics article{border-radius:var(--vx-radius);background:#ffffffc2;border:1px solid #7367f024;gap:4px;padding:10px;display:grid}.location-briefing-metrics span,.parking-cost-summary span{color:var(--vx-muted);text-transform:uppercase;font-size:11px;font-weight:800}.location-briefing-metrics strong{font-size:18px}.management-accordion{border-radius:var(--vx-radius);box-shadow:var(--vx-shadow);background:#ffffffdb;border:1px solid #7367f029;gap:12px;display:grid}.management-accordion>summary{cursor:pointer;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:8px 12px;padding:12px 14px;list-style:none;display:grid}.management-accordion>summary::-webkit-details-marker{display:none}.management-accordion>summary:before{content:"▸";color:var(--vx-primary);font-size:15px;line-height:1;transform:translateY(1px)}.management-accordion[open]>summary:before{content:"▾"}.management-accordion>summary span{color:var(--vx-primary);text-transform:uppercase;font-size:11px;font-weight:850}.management-accordion>summary strong{min-width:0;font-size:17px}.management-accordion>summary em{color:var(--vx-muted);text-align:right;font-size:12px;font-style:normal;font-weight:800}.management-accordion>.vnb-assignment-panel,.management-accordion>.connection-scenario-panel,.management-accordion>.location-parameter-panel,.management-accordion>.parking-section,.management-accordion>.location-position-editor,.management-accordion>.registration-links-panel{box-shadow:none;margin:0 12px 12px}.registration-links-panel{border-radius:var(--vx-radius);background:linear-gradient(135deg,#7367f00e,#00bad109);border:1px solid #7367f024;gap:12px;padding:14px;display:grid}.location-access-path-guide{background:#7367f00b;border:1px solid #7367f038;border-radius:8px;gap:10px;padding:12px;display:grid}.location-access-path-guide h4,.location-access-path-guide p,.location-access-path-card h5{margin:5px 0 0}.location-access-path-guide h4{font-size:15px}.location-access-path-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.location-access-path-card{background:#ffffffb8;border:1px solid #7367f02e;border-radius:8px;align-content:start;gap:7px;min-width:0;padding:11px;display:grid}.location-access-path-card h5{font-size:14px}.location-access-path-card p{font-size:13px;line-height:1.45}.location-access-path-card .ghost{justify-self:start;min-height:40px;margin-top:3px}.location-access-path-card--external{border-color:#16844a47}.location-access-path-card--internal{border-color:#00bad14d}.location-access-path-warning{color:#9b3c00;font-weight:750}.registration-link-create{grid-template-columns:minmax(150px,.8fr) minmax(120px,.55fr) minmax(240px,1.2fr) minmax(150px,.8fr) auto;align-items:end;gap:10px;display:grid}.registration-links-note{margin:0}.location-participant-panel{background:#28c76f0e;border:1px solid #16844a38;border-radius:8px;gap:10px;padding:12px;display:grid}.location-participant-panel-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.location-participant-panel-head h4,.location-participant-panel-head p{margin:5px 0 0}.location-participant-panel-head h4{font-size:15px}.location-participant-panel-head>strong{color:#0b7d44;background:#16844a1f;border-radius:50%;place-items:center;min-width:32px;min-height:32px;display:grid}.location-participant-list{gap:8px;display:grid}.location-participant-card{background:var(--vx-surface);border:1px solid #16844a29;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px;display:flex}.location-participant-card>div:first-child,.location-participant-card-meta{gap:3px;min-width:0;display:grid}.location-participant-card strong,.location-participant-card small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.location-participant-card small,.location-participant-card-meta small{color:var(--vx-muted)}.location-participant-card-meta{text-align:right;grid-template-columns:auto minmax(0,140px) 40px;align-items:center}.location-participant-card-meta>span{color:#0b7d44;font-size:12px;font-weight:800}@media (width<=640px){.location-participant-card{flex-direction:column;align-items:flex-start}.location-participant-card-meta{text-align:left;grid-template-columns:auto minmax(0,1fr) 40px;width:100%}}.registration-link-list{gap:10px;display:grid}.registration-link-card{border-radius:var(--vx-radius);background:var(--vx-surface);border:1px solid #7367f024;gap:12px;padding:12px;display:grid}.registration-link-card.is-fresh{border-color:#28c76f6b;box-shadow:0 12px 24px #28c76f1f}.registration-link-card.is-inactive{opacity:.74}.registration-link-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.registration-link-head h4{margin:6px 0 0;font-size:17px}.registration-link-status{border-radius:999px;padding:6px 10px;font-size:12px;font-weight:850}.registration-link-status.active{color:#0b7d44;background:#28c76f24}.registration-link-status.inactive{color:#7b6f00;background:#ff9f4329}.registration-link-meta{grid-template-columns:repeat(3,minmax(120px,1fr));gap:8px;margin:0;display:grid}.registration-link-meta div{background:#ffffffa8;border:1px solid #7367f01f;border-radius:8px;padding:8px}.registration-link-meta dt{color:var(--vx-muted);text-transform:uppercase;font-size:11px;font-weight:850}.registration-link-meta dd{margin:2px 0 0;font-weight:800}.registration-link-copy-grid{grid-template-columns:minmax(260px,1.5fr) minmax(180px,.8fr);gap:10px;display:grid}.copy-field-row{grid-template-columns:minmax(0,1fr) 42px;align-items:center;gap:8px;display:grid}.copy-field-row input[readonly]{text-overflow:ellipsis;overflow:hidden}.copy-field-row .icon-button{border-radius:8px;width:42px;height:42px}.vnb-assignment-panel{border-radius:var(--vx-radius);background:linear-gradient(135deg,#28c76f0f,#7367f009);border:1px solid #28c76f38;gap:12px;padding:14px;display:grid}.vnb-assignment-panel h3,.vnb-assignment-panel p{margin:0}.vnb-assignment-grid{grid-template-columns:repeat(3,minmax(160px,1fr));gap:10px;display:grid}.vnb-assignment-grid article{border-radius:var(--vx-radius);background:#ffffffc7;border:1px solid #28c76f2e;gap:4px;padding:10px;display:grid}.vnb-assignment-grid span,.vnb-assignment-grid em{color:var(--vx-muted);text-transform:uppercase;font-size:11px;font-style:normal;font-weight:800}.vnb-assignment-grid strong{font-size:16px}.vnb-assignment-grid a{color:var(--vx-primary);font-weight:800;text-decoration:none}.connection-explainer-card,.connection-scenario-panel{border-radius:var(--vx-radius);background:var(--vx-surface);min-width:0;box-shadow:var(--vx-shadow);border:1px solid #7367f029;gap:14px;padding:14px;display:grid}.connection-explainer-card{background:linear-gradient(135deg,#7367f00f,#00bad109)}.connection-explainer-toggle{width:100%;color:inherit;text-align:left;box-shadow:none;background:0 0;justify-content:space-between;align-items:center;gap:16px;padding:0;display:flex}.connection-explainer-toggle:hover,.connection-explainer-toggle:focus-visible{box-shadow:none;background:0 0}.connection-explainer-toggle h3,.connection-explainer-toggle p{margin:0}.connection-explainer-toggle h3{margin-top:10px}.connection-explainer-toggle-icon{width:38px;height:38px;color:var(--vx-primary);background:#7367f01f;border-radius:999px;flex:0 0 38px;place-items:center;font-size:24px;font-weight:800;line-height:1;display:grid}.connection-explainer-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.connection-explainer-grid article,.connection-scenario-grid article{border-radius:var(--vx-radius);background:#ffffffc7;border:1px solid #7367f024;gap:9px;min-width:0;padding:12px;display:grid}.connection-explainer-grid h4,.connection-explainer-grid p,.connection-scenario-grid h4,.connection-scenario-grid p{margin:0}.connection-explainer-grid p,.connection-scenario-grid p{color:var(--vx-muted);line-height:1.45}.source-link-grid{flex-wrap:wrap;gap:6px;display:flex}.source-link-grid a{color:var(--vx-primary);background:#7367f01a;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:800;text-decoration:none}.connection-scenario-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:12px;display:grid}.scenario-period-control{border-radius:var(--vx-radius);background:linear-gradient(135deg,#7367f014,#00bad10a);border:1px solid #7367f029;grid-template-columns:minmax(220px,340px) minmax(220px,1fr);align-items:center;gap:10px 16px;padding:12px;display:grid}.scenario-period-control span{color:var(--vx-muted);text-transform:uppercase;font-size:11px;font-weight:800;display:block}.scenario-period-control strong{margin-top:2px;font-size:24px;display:block}.scenario-period-control p{color:var(--vx-muted);margin:2px 0 0;line-height:1.35}.scenario-period-control input[type=range]{width:100%}.scenario-vnb-context{border-radius:var(--vx-radius);background:#00bad112;border:1px solid #00bad138;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.scenario-vnb-context.warning{background:#ff9f4314;border-color:#ff9f4347}.scenario-vnb-context>div{gap:2px;display:grid}.scenario-vnb-context span{color:var(--vx-muted);text-transform:uppercase;font-size:11px;font-weight:800}.scenario-vnb-context strong{color:var(--vx-text);font-size:17px}.scenario-vnb-context em{color:var(--vx-muted);font-style:normal}.scenario-period-scale{color:var(--vx-muted);grid-column:2;justify-content:space-between;margin-top:-6px;font-size:11px;font-weight:800;display:flex}.connection-scenario-grid article{align-content:start}.connection-scenario-grid article.selectable-scenario{cursor:pointer;transition:border-color .18s,box-shadow .18s,transform .18s}.connection-scenario-grid article.selectable-scenario:hover,.connection-scenario-grid article.selectable-scenario:focus-visible{border-color:#7367f08c;outline:none;transform:translateY(-1px);box-shadow:0 12px 28px #7367f029}.connection-scenario-grid article.recommended-scenario{border-color:#28c76f7a;box-shadow:0 10px 24px #28c76f1f}.connection-scenario-grid article.selected-scenario{border-color:var(--vx-primary);box-shadow:0 14px 34px #7367f038}.connection-scenario-grid article.disabled-scenario{opacity:.64;background:#f8f7fab8}.scenario-pill-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.scenario-pill-row .pill{margin-bottom:0}.active-scenario-pill{color:#fff;background:var(--vx-primary)}.danger-pill{color:#ea5455;background:#ea54551f}.scenario-card-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.scenario-card-head h4{margin-top:5px}.scenario-card-head>strong{white-space:nowrap;font-size:18px}.scenario-card-price{white-space:nowrap;justify-items:end;gap:3px;display:grid}.scenario-card-price span{color:var(--vx-muted);text-transform:uppercase;font-size:10px;font-weight:800}.scenario-card-price strong{font-size:18px}.scenario-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.scenario-metric-grid div{border:1px solid var(--vx-border);background:#f8f7fadb;border-radius:8px;gap:3px;min-width:0;padding:8px;display:grid}.scenario-metric-grid span{color:var(--vx-muted);text-transform:uppercase;font-size:10px;font-weight:800}.scenario-metric-grid strong{overflow-wrap:anywhere;font-size:15px}.scenario-audit{background:#f8f7fac2;border:1px solid #7367f029;border-radius:8px;overflow:hidden}.scenario-audit summary{cursor:pointer;color:var(--vx-primary);padding:8px 10px;font-size:12px;font-weight:800}.scenario-audit-grid{background:#7367f01f;border-top:1px solid #7367f01f;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid}.scenario-audit-grid div{background:#ffffffe0;gap:3px;padding:8px;display:grid}.scenario-audit-grid span{color:var(--vx-muted);text-transform:uppercase;overflow-wrap:anywhere;font-size:10px;font-weight:800}.scenario-audit-grid strong{overflow-wrap:anywhere;font-size:13px}.scenario-possibility-button{color:#ea5455;background:#ea545514;border:1px solid #ea54552e;border-radius:8px;padding:8px 10px;font-weight:800}.scenario-possibility-button.restore{color:#1f9d59;background:#28c76f1a;border-color:#28c76f38}.scenario-warning-list{gap:6px;display:grid}.scenario-warning-list span{color:#c73535;background:#ea54551a;border:1px solid #ea545538;border-radius:8px;padding:7px 8px;font-size:12px;font-weight:700}.scenario-warning-list a{color:#c73535;background:#ea54551f;border-radius:8px;justify-self:start;padding:7px 9px;font-size:12px;font-weight:800;text-decoration:none}.vnb-source-details{grid-template-columns:repeat(2,minmax(180px,1fr));align-items:start;gap:10px;display:grid}.vnb-source-details article,.vnb-source-details details{border-radius:var(--vx-radius);background:#ffffffb8;border:1px solid #28c76f29;gap:4px;padding:10px;display:grid}.vnb-source-details details{grid-column:1/-1}.vnb-source-details span,.vnb-source-details summary,.vnb-source-details em{color:var(--vx-muted);text-transform:uppercase;font-size:11px;font-style:normal;font-weight:800}.vnb-source-details strong{font-size:15px}.preset-form{gap:12px;display:grid}.compact-select{min-width:260px;margin-bottom:0}.form-inline{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.management-search{margin:4px -16px 0}.parking-section{border-top:1px solid var(--vx-border);gap:12px;padding-top:14px;display:grid}.parking-section-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.parking-section-head>div{gap:3px;display:grid}.parking-section-head strong{color:var(--vx-text)}.parking-section-head span{color:var(--vx-muted);font-size:13px}.parking-seed-panel{border-radius:var(--vx-radius);background:#7367f009;border:1px solid #7367f029;grid-column:1/-1;gap:12px;padding:14px;display:grid}.parking-seed-panel h3{margin:0;font-size:16px}.parking-seed-grid{grid-template-columns:minmax(90px,.45fr) minmax(160px,.9fr) repeat(4,minmax(120px,.6fr)) minmax(260px,1.4fr);align-items:end;gap:10px;display:grid}.editable-table input,.editable-table textarea{width:100%;min-width:80px}.compact-fields{grid-template-columns:minmax(90px,.6fr) minmax(180px,1.2fr) repeat(4,minmax(120px,.7fr));align-items:end;gap:10px;display:grid}.compact-textarea{min-height:64px;font-family:inherit;font-size:13px;line-height:1.45}.parking-card-grid{grid-template-columns:minmax(0,1fr);gap:14px;display:grid}.parking-edit-card{border:1px solid var(--vx-border);border-radius:var(--vx-radius);box-shadow:var(--vx-shadow);background:#ffffffc2;grid-template-columns:minmax(0,1fr);gap:12px;padding:14px;display:grid}.parking-edit-card.dirty-card{background:#ff9f430e;border-color:#ff9f437a}.parking-edit-card .field{min-width:0;margin-bottom:0}.parking-edit-card .field span{line-height:1.25}.parking-edit-card input,.parking-edit-card select,.parking-edit-card textarea{width:100%;min-width:0}.new-parking-card{background:#28c76f0b;border-color:#28c76f42}.collapsed-new-card{grid-template-columns:minmax(0,1fr) auto;align-items:center}.parking-card-head{justify-content:space-between;align-items:flex-start;gap:12px;min-width:0;display:flex;overflow:hidden}.parking-card-title-strip{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.parking-optional-toggle{color:var(--vx-muted);border:1px solid var(--vx-border);cursor:pointer;background:#ffffffb8;border-radius:999px;align-items:center;gap:6px;padding:5px 8px;font-size:12px;font-weight:800;line-height:1;display:inline-flex}.parking-optional-toggle input{width:auto;min-width:0}.optional-pill{color:#7367f0;background:#7367f01f}.optional-status{color:#7367f0;white-space:normal;text-align:right;word-break:break-word;background:#7367f01f}.parking-card-head h4{margin:6px 0 0;font-size:18px}.parking-card-head strong{white-space:nowrap;font-size:18px}.parking-card-head-meta{flex-shrink:1;justify-items:end;gap:6px;min-width:0;display:grid}.unsaved-status{color:#a05a00;background:#ff9f4329}.parking-cost-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.parking-scenario-matrix{border-radius:var(--vx-radius);background:#7367f00b;border:1px solid #7367f029;gap:10px;min-width:0;padding:10px;display:grid;overflow-x:auto}.empty-scenario-matrix{background:#f8f7fadb}.parking-scenario-matrix-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.parking-scenario-matrix-head span,.scenario-cost-row-head span{color:var(--vx-muted);text-transform:uppercase;font-size:10px;font-weight:800}.scenario-cost-row-head .source-status-badge{text-transform:none;max-width:100%;margin-top:4px;display:inline-grid}.scenario-cost-row-head .source-status-badge span,.scenario-cost-row-head .source-status-badge strong{text-transform:none;font-size:9px}.parking-scenario-matrix-head strong{margin-top:3px;display:block}.parking-scenario-matrix-head p{max-width:560px;color:var(--vx-muted);text-align:right;margin:0;font-size:12px;line-height:1.35}.parking-source-status-row{grid-template-columns:repeat(2,minmax(240px,1fr));gap:10px;margin:12px 0;display:grid}.parking-source-status-row>div{border:1px solid var(--vx-border);background:var(--vx-surface-muted);border-radius:8px;justify-content:space-between;align-items:center;gap:10px;min-width:0;padding:8px 10px;display:flex}.parking-source-status-row>div>span{color:var(--vx-muted);text-transform:uppercase;font-size:10px;font-weight:800}.scenario-cost-table{gap:6px;display:grid}.scenario-cost-row{background:#ffffffd1;border:1px solid #7367f01f;border-radius:8px;grid-template-columns:70px minmax(220px,1.25fr) minmax(180px,.85fr) minmax(150px,.75fr) minmax(150px,.75fr) minmax(120px,.55fr);align-items:center;gap:8px;padding:8px;display:grid}.scenario-cost-row-head{background:0 0;border:0;padding-block:0}.scenario-cost-row-disabled{opacity:.58}.scenario-mains-field{gap:4px;display:grid}.scenario-mains-field .mains-current-field{margin:0}.scenario-mains-field .mains-current-combo{grid-template-columns:minmax(0,1fr) 34px}.scenario-enable-toggle{align-items:center;gap:6px;font-size:12px;font-weight:800;display:flex}.scenario-cost-label{gap:3px;min-width:0;display:grid}.scenario-cost-label strong{overflow-wrap:anywhere}.scenario-cost-label span{color:var(--vx-muted);font-size:11px;font-weight:700}.scenario-cost-field{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;display:grid}.scenario-cost-actions{align-items:center;gap:4px;display:inline-flex}.scenario-price-info{color:#00899a;cursor:help;background:#00bad11f;border-radius:999px;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:900;display:inline-flex}.scenario-price-info:focus-visible{outline:2px solid var(--vx-primary);outline-offset:2px}.icon-reset-button{width:28px;min-height:28px;padding:0;font-size:14px;line-height:1}.micro-action{min-height:32px;padding:5px 8px;font-size:11px}.scenario-cost-total{white-space:nowrap;justify-self:end}.cost-description-field{grid-column:span 2}.parking-card-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.module-toggle-panel{border:1px solid var(--vx-border);border-radius:var(--vx-radius);background:#fff;gap:12px;padding:16px;display:grid}.module-toggle-panel h3{margin:0;font-size:16px}.location-module-field{grid-column:1/-1}.parking-calculator-view{gap:18px;display:grid}.parking-toolbar,.parking-level-tabs,.space-admin-actions{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.plan-level-tabs-lock{align-items:center;margin-left:auto;display:flex}.parking-toolbar{border:1px solid var(--vx-border);border-radius:var(--vx-radius);box-shadow:var(--vx-shadow);background:#fff;padding:14px}.parking-toolbar .field{min-width:220px}.parking-calc-layout{grid-template-columns:minmax(0,1fr) 420px;align-items:start;gap:18px;display:grid}.parking-calc-layout.quote-collapsed{grid-template-columns:minmax(0,1fr) 54px}@media (width<=1279px){.parking-calc-layout:not(.external-participant-layout){grid-template-columns:minmax(0,1fr)}.parking-calc-layout:not(.external-participant-layout) .quote-panel{max-height:none;position:static}.parking-calc-layout:not(.external-participant-layout) .quote-position-list{max-height:none}.parking-calc-layout.quote-collapsed:not(.external-participant-layout){grid-template-columns:minmax(0,1fr)}}@media (width<=1320px){.parking-calc-layout.external-participant-layout{grid-template-columns:minmax(0,1fr)}.parking-calc-layout.external-participant-layout .quote-panel{max-height:none;position:static}.parking-calc-layout.external-participant-layout .quote-position-list{max-height:none}}.parking-overview-layout .parking-plan-panel{align-self:stretch}.parking-overview-panel,.parking-overview-list{gap:12px;display:grid}.parking-overview-map-stage{border-radius:var(--vx-radius);background:#f8f9ff;border:1px solid #7367f029;min-height:360px;position:relative;overflow:hidden}.parking-overview-map-stage.empty{place-items:center;display:grid}.parking-overview-map-image{-o-object-fit:contain;object-fit:contain;background:#fff;width:100%;height:auto;min-height:360px;display:block}.parking-overview-map-placeholder{color:var(--vx-muted);text-align:center;place-items:center;gap:4px;padding:34px;display:grid}.parking-overview-map-placeholder strong{color:var(--vx-text)}.parking-overview-marker{z-index:2;border:2px solid var(--vx-primary);min-width:42px;height:32px;color:var(--vx-primary);touch-action:none;background:#ffffffeb;border-radius:999px;place-items:center;padding:0 10px;font-size:12px;font-weight:900;line-height:1;display:inline-grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 10px 24px #7367f038}.parking-overview-marker.editable{cursor:grab;color:#a05a00;border-color:#ff9f43;box-shadow:0 10px 24px #ff9f433d}.parking-overview-marker.dragging{cursor:grabbing;transform:translate(-50%,-50%)scale(1.06)}.parking-overview-editor-toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.parking-overview-editor-toolbar .upload-button{border-radius:var(--vx-radius);cursor:pointer;place-items:center;min-height:38px;padding:8px 12px;display:inline-grid;position:relative}.parking-overview-editor-toolbar .upload-button input{opacity:0;cursor:pointer;position:absolute;inset:0}.parking-overview-row{border-radius:var(--vx-radius);background:#f8f9ffd1;border:1px solid #7367f029;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px;display:grid}.parking-overview-row.editable{grid-template-columns:minmax(78px,110px) minmax(180px,1fr) minmax(150px,auto) auto;align-items:end}.parking-overview-row>div:first-child{gap:5px;display:grid}.parking-overview-row .field{margin:0}.parking-overview-row input{width:100%}.parking-overview-row-meta{color:var(--vx-muted);gap:4px;font-size:12px;font-weight:800;display:grid}.parking-overview-row p{color:var(--vx-muted);margin:0;font-weight:700}.parking-plan-panel,.quote-panel,.parking-admin-grid>details{border:1px solid var(--vx-border);border-radius:var(--vx-radius);box-shadow:var(--vx-shadow);background:#fff}.parking-plan-panel{grid-template-columns:minmax(0,1fr);gap:12px;min-width:0;padding:14px;display:grid}.parking-level-tabs .upload-button{border-radius:var(--vx-radius);cursor:pointer;place-items:center;min-height:38px;padding:8px 12px;display:inline-grid;position:relative}.parking-level-tabs .upload-button input{opacity:0;cursor:pointer;position:absolute;inset:0}.plan-edit-status-row{justify-content:flex-end;display:flex}.plan-ribbon-context{background:var(--vx-subtle,#00000008);border-bottom:1px solid var(--border,#e0e0e0);flex-direction:column;align-items:stretch;gap:0;display:flex}.plan-ribbon-context:empty{display:none}.plan-ribbon-context button{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.plan-ribbon-context button svg{flex-shrink:0;width:15px;height:15px}.plan-ribbon-context .plan-ribbon-row{align-items:center;min-height:40px}.plan-ribbon-context button.primary.compact,.plan-ribbon-context button.secondary.compact{height:30px;padding:4px 12px;font-weight:600}.plan-ribbon{background:var(--bg-secondary,#f5f5f5);border-bottom:1px solid var(--border,#e0e0e0);flex-wrap:wrap;align-items:center;gap:4px 8px;min-height:40px;padding:6px 10px;display:flex}.plan-ribbon.plan-ribbon-multi{flex-direction:column;align-items:stretch;gap:0;padding:0}.plan-ribbon-row{flex-wrap:wrap;align-items:center;gap:4px 8px;min-height:36px;padding:4px 10px;display:flex}.plan-ribbon-row--primary{border-bottom:1px solid var(--border,#e0e0e0);padding:4px 10px}.plan-ribbon-row--extended{background:var(--vx-subtle,#00000008);border-bottom:1px solid var(--border,#e0e0e0);font-size:13px}.plan-ribbon-row--voltage{background:var(--vx-subtle,#00000006);flex-wrap:wrap;gap:4px 6px;padding:3px 10px}.plan-ribbon-inline-label{flex-direction:column;gap:1px;font-size:0;display:inline-flex}.plan-ribbon-inline-label>span{text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted,#888);font-size:.65rem;font-weight:700;line-height:1}.plan-ribbon-ref-field{align-items:center;gap:2px;display:flex}.plan-ribbon-ref-active .plan-ribbon-ref-field input{border-color:var(--vx-primary,#7367f0);outline:1px solid #7367f066}.plan-ribbon-select--wide{max-width:200px}.plan-ribbon-group--wrap{flex-wrap:wrap}.distributor-ribbon-detail{background:#7367f00f;border:1px solid #7367f02e;border-radius:7px;flex-wrap:wrap;align-items:center;gap:4px;min-width:0;padding:2px 6px;display:inline-flex}.central-strand-id-chip,.central-strand-chip{min-height:28px;color:var(--vx-primary,#7367f0);white-space:nowrap;background:#7367f01a;border:1px solid #7367f03d;border-radius:999px;align-items:center;padding:2px 8px;font-size:12px;font-weight:900;line-height:1;display:inline-flex}.central-strand-assignment{flex-wrap:wrap;align-items:center;gap:5px;min-width:0;display:inline-flex;position:relative}.central-strand-chip{color:#16844a;background:#28c76f1f;border-color:#28c76f47;gap:4px;min-height:24px;padding:1px 5px 1px 8px}.central-strand-chip button{color:currentColor;width:18px;height:18px;min-height:18px;box-shadow:none;background:#28c76f29;border:0;border-radius:50%;place-items:center;padding:0;font-size:14px;font-weight:900;line-height:1;display:inline-grid}.central-strand-popover,.central-route-context-menu{z-index:12;min-width:180px;box-shadow:var(--vx-shadow-lg);background:#fffffffa;border:1px solid #7367f038;border-radius:8px;gap:6px;padding:8px;display:grid;position:absolute}.central-strand-popover{top:calc(100% + 6px);left:0}.central-route-context-menu{transform:translate(8px,8px)}.central-strand-docking-summary{gap:6px;min-width:0;max-width:min(320px,100vw - 48px);padding:2px;display:grid}.central-strand-docking-title{color:var(--vx-muted);letter-spacing:0;text-transform:uppercase;font-size:10px;font-weight:900;line-height:1.15}.central-strand-docking-list,.central-strand-article-summary{flex-wrap:wrap;gap:5px;min-width:0;display:flex}.central-strand-docking-row,.central-strand-article-pill{max-width:100%;min-height:28px;color:var(--vx-heading);background:#28c76f14;border:1px solid #28c76f38;border-radius:7px;align-items:center;padding:5px 7px;font-size:11px;font-weight:850;line-height:1.2;display:inline-flex}.central-strand-docking-row{gap:5px}.central-strand-docking-row strong{color:var(--vx-heading);white-space:nowrap;font-size:11px;line-height:1.15}.central-strand-docking-row span,.central-strand-article-pill{text-overflow:ellipsis;overflow:hidden}.central-strand-docking-summary--empty p{color:var(--vx-muted);border:1px dashed #7367f03d;border-radius:7px;margin:0;padding:7px 8px;font-size:11px;font-weight:800}.central-strand-option{min-height:34px;color:var(--vx-heading);border-radius:6px;align-items:center;gap:8px;padding:5px 7px;font-size:12px;font-weight:800;display:flex}.central-strand-option:hover,.central-strand-option:focus-within{background:#7367f014}.central-strand-option input{width:16px;height:16px;accent-color:var(--vx-primary,#7367f0)}.central-strand-empty{color:var(--vx-muted);font-size:12px;font-weight:800}.route-node-central-assignment{background:#7367f00d;border:1px solid #7367f029;border-radius:7px;gap:4px;max-width:min(320px,100vw - 48px);padding:6px;display:grid}.route-node-central-option{min-height:30px;padding:4px 6px}.vd-chip{white-space:nowrap;border:1px solid #0000;border-radius:3px;align-items:center;padding:1px 5px;font-family:monospace;font-size:11px;display:inline-flex}.vd-chip--ok{color:#16844a;background:#28c76f26}.vd-chip--check{color:#a0600a;background:#ff9f4326}.vd-chip--critical{color:#c0392b;background:#ea545526}.vd-chip--missing{color:var(--text-muted,#888);background:#a8aaae1f}.vd-chip--selected{border-color:currentColor;font-weight:700}.vd-chip--loss{color:#087986;background:#00bad124}.vd-chip--cost{color:#5146b8;background:#7367f021}.vd-chip--breakeven{color:#16844a;background:#28c76f26}.plan-ribbon-voltage-length{color:var(--text-muted,#888);padding:0 4px;font-family:monospace;font-size:11px}.plan-ribbon-loss-control{min-height:20px;color:var(--text-muted,#888);grid-template-columns:auto 74px auto;align-items:center;gap:4px;font-size:11px;display:inline-grid}.plan-ribbon-loss-control>span{text-transform:uppercase;font-size:.62rem;font-weight:700}.plan-ribbon-loss-control input[type=range]{width:74px;margin:0}.plan-ribbon-loss-control strong{min-width:34px;color:var(--text,#333);font-family:monospace;font-size:11px}.plan-ribbon-group{flex-wrap:nowrap;align-items:center;gap:4px;display:flex}.plan-ribbon-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted,#888);white-space:nowrap;padding-right:2px;font-size:.7rem;font-weight:600}.plan-ribbon-divider{background:var(--border,#e0e0e0);flex-shrink:0;width:1px;height:24px;margin:0 4px}.plan-ribbon-select{max-width:120px;height:28px;padding:2px 4px;font-size:.8rem}.plan-ribbon-number{text-align:right;width:52px;height:28px;padding:2px 4px;font-size:.8rem}.ribbon-uv-price-state{align-self:center;padding:3px 7px;font-size:11px;line-height:1}.plan-ribbon-short-input{width:60px;height:28px;padding:2px 4px;font-size:.8rem}.plan-ribbon-upload{cursor:pointer}.plan-ribbon button.compact,.plan-ribbon button.ghost.compact,.plan-ribbon button.secondary.compact{height:28px;padding:3px 8px;font-size:.8rem}.plan-tool-section{border-radius:var(--vx-radius);background:#f8f9ffc7;border:1px solid #7367f029;gap:10px;display:grid;overflow:hidden}.plan-tool-section>summary{cursor:pointer;align-items:center;gap:10px;padding:10px 12px;list-style:none;display:grid}.plan-tool-section>summary::-webkit-details-marker{display:none}.plan-tool-section>summary:before{content:"›";width:18px;color:var(--vx-primary);font-weight:900;transition:transform .16s;transform:rotate(0)}.plan-tool-section[open]>summary:before{transform:rotate(90deg)}.plan-tool-section>summary{grid-template-columns:18px minmax(100px,.48fr) minmax(180px,1fr) auto}.plan-tool-section>summary span,.plan-tool-section>summary em{color:var(--vx-muted);font-size:12px;font-style:normal;font-weight:800}.plan-tool-section>summary strong{color:var(--vx-text);font-size:14px}.plan-detection-toolbar{flex-wrap:wrap;align-items:flex-end;gap:10px;padding:10px;display:flex}.plan-upload-button{border-radius:var(--vx-radius);cursor:pointer;place-items:center;min-height:38px;padding:8px 12px;display:inline-grid;position:relative}.plan-upload-button input{opacity:0;cursor:pointer;position:absolute;inset:0}.plan-empty-state{flex-direction:column;align-items:center;gap:12px;padding:24px 16px;display:flex}.plan-empty-state .empty{margin:0}.plan-edit-toggle{color:var(--vx-primary);background:#7367f014;border:1px solid #7367f038}.plan-edit-toggle.active{color:#16884f;background:#28c76f24;border-color:#28c76f75}.plan-level-editor{border:1px solid var(--vx-border);border-radius:var(--vx-radius);background:#fff;grid-template-columns:86px minmax(140px,1fr) auto;align-items:center;gap:6px;max-width:410px;padding:3px;display:grid}.plan-level-editor.active{background:#7367f00f;border-color:#7367f06b}.plan-level-editor input{min-width:0;height:34px;margin:0}.plan-edit-toolbar{border-radius:var(--vx-radius);background:#7367f00f;border:1px solid #7367f02e;flex-wrap:wrap;align-items:flex-end;gap:10px;padding:10px;display:flex}.editor-selection-summary{align-self:center;gap:2px;min-width:120px;display:grid}.editor-selection-summary strong{font-size:14px}.editor-selection-summary span{color:var(--vx-muted);font-size:12px;font-weight:700}.plan-edit-toolbar .field,.plan-space-detail-toolbar .field,.plan-strand-row .field{min-width:0}.plan-edit-toolbar .field{min-width:180px}.plan-edit-toolbar .snap-grid-field{min-width:130px}.marker-size-control{border-radius:var(--vx-radius-sm);background:#ffffffb8;border:1px solid #ff9f4338;flex-wrap:wrap;align-items:flex-end;gap:8px;padding:8px;display:flex}.plan-edit-toolbar .marker-size-field{min-width:78px}.marker-size-field input{width:78px;min-width:0}.calibration-control{border-radius:var(--vx-radius-sm);background:#ffffffb8;border:1px solid #007aff38;flex-wrap:wrap;align-items:center;gap:8px;min-height:58px;padding:8px;display:flex}.calibration-control>span{width:100%;color:var(--vx-muted);font-size:12px;font-weight:800}.calibration-control strong{color:#006adc;background:#007aff1a;border-radius:6px;place-items:center;min-height:28px;padding:0 8px;font-size:12px;display:inline-grid}.advanced-plan-toolbar{border-radius:var(--vx-radius);background:#28c76f12;border:1px solid #28c76f38;gap:10px;padding:10px;display:grid}.advanced-plan-section{border-radius:var(--vx-radius-sm);background:#ffffffc7;border:1px solid #2f2b3d14;flex-wrap:wrap;align-items:flex-end;gap:8px;padding:10px;display:flex}.advanced-collapsible-section{padding:0;display:block;overflow:hidden}.advanced-collapsible-section summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:10px;list-style:none;display:flex}.advanced-collapsible-section summary::-webkit-details-marker{display:none}.advanced-collapsible-section summary>div:first-child{gap:2px;min-width:0;display:grid}.advanced-collapsible-section summary strong{color:var(--vx-heading)}.advanced-collapsible-section summary span{color:var(--vx-muted);font-size:12px;font-weight:800}.section-summary-actions{flex-shrink:0;align-items:center;gap:8px;display:inline-flex}.advanced-plan-section-body{padding:0 10px 10px}.reference-settings-grid{grid-template-columns:repeat(4,minmax(120px,1fr));align-items:end;gap:8px;display:grid}.reference-field-actions{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;display:grid}.reference-value-field.selected input{border-color:#007aff99;box-shadow:0 0 0 3px #007aff1a}.advanced-plan-section>strong{min-height:38px;color:var(--vx-text);align-items:center;display:inline-flex}.advanced-plan-section .field{min-width:132px}.advanced-plan-section .tiny-field{max-width:150px}.advanced-plan-section input,.advanced-plan-section select{min-width:0}.section-inline-head{justify-content:space-between;align-items:center;gap:10px;width:100%;display:flex}.distributor-list{gap:8px;width:100%;display:grid}.distributor-row{border-radius:var(--vx-radius-sm);background:#ffffffb8;border:1px solid #7367f024;grid-template-columns:76px minmax(160px,1fr) 120px minmax(150px,.8fr) auto auto;align-items:end;gap:8px;padding:8px;display:grid}.distributor-row.selected{background:#00bad114;border-color:#00bad17a}.distributor-row input,.distributor-row select{min-width:0}.route-section{border-color:#00bad138;grid-template-columns:minmax(180px,260px) minmax(0,1fr);align-items:end;display:grid}.route-section-head{grid-column:1/-1;justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.route-section-head>div:first-child{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.route-section-head strong{color:var(--vx-heading)}.route-section-actions,.route-icon-actions{flex-shrink:0;align-items:center;gap:6px;display:inline-flex}.route-planning-grid{grid-column:1/-1;grid-template-columns:minmax(140px,.7fr) minmax(220px,1.2fr) minmax(110px,.45fr) minmax(130px,.6fr) minmax(250px,1.2fr) auto;align-items:end;gap:8px;width:100%;display:grid}.voltage-drop-card{border-radius:var(--vx-radius-sm);background:#7367f00a;border:1px solid #7367f029;grid-column:1/-1;gap:8px;margin-top:8px;padding:10px;display:grid}.voltage-drop-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.voltage-drop-card p{color:var(--vx-muted);margin:0;font-size:.85rem}.voltage-drop-card table{border-collapse:collapse;width:100%;font-size:.82rem}.voltage-drop-card th,.voltage-drop-card td{text-align:left;border-bottom:1px solid #7367f01f;padding:5px 6px}.voltage-drop-card tr.selected td{background:#7367f017;font-weight:800}.strand-current-status,.voltage-rating{border-radius:999px;align-items:center;width:fit-content;padding:2px 8px;font-size:.76rem;font-weight:800;display:inline-flex}.strand-current-status.ok,.voltage-rating.ok{color:#168851;background:#28c76f26}.strand-current-status.missing,.voltage-rating.check,.voltage-rating.missing{color:#9f5f12;background:#ff9f4329}.strand-current-status.too_low,.voltage-rating.critical{color:#c52f35;background:#ea545524}.route-cable-grid{border-top:1px solid #00bad11f;grid-template-columns:minmax(240px,1.25fr) minmax(160px,.75fr) minmax(150px,.7fr) minmax(130px,.6fr) auto;padding-top:8px}.route-section>.route-3d-panel,.route-section>.dockable-placeholder{grid-column:1/-1;width:100%;min-width:0}.route-section>.route-3d-panel{margin-top:4px}.route-section>.route-3d-panel .route-3d-canvas{min-height:clamp(340px,42vw,560px)}.initial-cost-fields{grid-template-columns:minmax(110px,1fr) minmax(110px,1fr);gap:8px;display:grid}@media (width<=1180px){.reference-settings-grid,.route-planning-grid,.route-cable-grid{grid-template-columns:repeat(2,minmax(160px,1fr))}.route-icon-actions{justify-content:flex-start}}@media (width<=760px){.reference-settings-grid,.route-planning-grid,.route-cable-grid,.initial-cost-fields{grid-template-columns:minmax(0,1fr)}.route-section-head{flex-direction:column;align-items:flex-start}.connection-explainer-grid,.connection-scenario-grid,.scenario-period-control{grid-template-columns:1fr}.scenario-vnb-context,.connection-scenario-panel .detail-head,.scenario-card-head{flex-wrap:wrap}.scenario-card-price{justify-items:start}}.advanced-route-summary{color:#0a5d67;background:#00bad11a;border-radius:6px;align-items:center;min-height:34px;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.route-3d-panel{border-radius:var(--vx-radius-sm);background:linear-gradient(#f8fbfff5,#f1f5ffeb);border:1px solid #7367f02e;gap:8px;width:100%;padding:10px;display:grid}.route-3d-inline-frame{grid-column:1/-1;width:100%;min-width:0}.route-3d-inline-frame .route-3d-panel,.route-3d-inline-frame .dockable-placeholder{width:100%;min-width:0}.route-3d-inline-frame .route-3d-canvas{min-height:clamp(360px,42vw,620px)}.route-3d-head,.route-3d-meta,.route-3d-legend{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.route-3d-head{justify-content:space-between}.route-3d-head>div:first-child{gap:2px;display:grid}.route-3d-head strong{color:var(--vx-heading);font-size:14px}.route-3d-head span,.route-3d-meta{color:var(--vx-muted);font-size:12px;font-weight:800}.route-3d-legend span{align-items:center;gap:5px;display:inline-flex}.route-3d-strand-picker{min-width:min(280px,100%);color:var(--vx-muted);background:#ffffffc2;border:1px solid #7367f02e;border-radius:8px;align-items:center;gap:8px;padding:5px 8px;font-size:12px;font-weight:900;display:inline-flex}.route-3d-strand-picker select{width:100%;min-width:0;min-height:34px;color:var(--vx-heading);background:#fff;border:1px solid #7367f038;border-radius:6px;font-size:12px;font-weight:800}.route-3d-warning{color:#8a4a00;background:#ff9f431c;border:1px solid #ff9f4347;border-radius:8px;gap:4px;padding:8px 10px;font-size:12px;font-weight:800;display:grid}.route-3d-legend i{border-radius:999px;width:14px;height:5px;display:inline-block}.route-legend-strand{background:#ea5455}.route-legend-height{background:#ff9f43}.route-legend-tray{background:#7367f0}.plan-symbol-legend{z-index:4;border-top:1px solid var(--vx-border);color:#444;background:#ffffffed;flex-wrap:wrap;gap:6px 16px;padding:6px 12px;font-size:11px;display:flex;position:sticky;bottom:0}.plan-symbol-legend span{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.plan-symbol-legend i{border-radius:999px;width:14px;height:5px;display:inline-block}.plan-legend-strand{background:#ea5455}.plan-legend-reference{background:#00cfe8}.plan-legend-tray{background:#7367f0}.plan-legend-space{background:#4a90d9}.plan-space-context-menu{border:1px solid var(--vx-border);background:#fff;border-radius:8px;flex-direction:column;min-width:180px;max-height:320px;padding:4px;display:flex;overflow-y:auto;box-shadow:0 6px 24px #0000002e}.plan-space-context-menu .context-menu-head{color:#666;padding:6px 10px 4px;font-size:11px;font-weight:700}.plan-space-context-menu button{text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:5px;padding:7px 10px;font-size:13px}.plan-space-context-menu button:hover{background:#7367f01a}.plan-space-context-menu .context-menu-clear{color:#ea5455;border-top:1px solid var(--vx-border);margin-top:2px}.distributor-context-menu{width:min(360px,100vw - 24px);max-width:calc(100vw - 24px)}.plan-space-context-menu .context-menu-field{gap:4px;padding:6px 8px;display:grid}.plan-space-context-menu .context-menu-field span{color:#2f2b3db8;font-size:11px;font-weight:800}.plan-space-context-menu .context-menu-field select,.plan-space-context-menu .context-menu-field input{border:1px solid var(--vx-border);color:#2f2b3d;width:100%;min-height:36px;font:inherit;background:#fff;border-radius:6px;padding:6px 8px;font-size:13px}.plan-space-context-menu .context-menu-field--inline{grid-template-columns:minmax(0,1fr) 96px;align-items:center}.distributor-central-attach{border-top:1px solid var(--vx-border)}.distributor-central-attach-list{overscroll-behavior:contain;gap:2px;max-height:min(220px,100vh - 360px);display:grid;overflow:auto}.distributor-central-option{min-width:0;padding-inline:2px}.distributor-central-option span{min-width:0;color:var(--vx-heading);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.distributor-central-option small{color:var(--vx-muted);text-align:right;white-space:nowrap;margin-left:auto;font-size:10px;font-weight:800;line-height:1.15}.route-3d-controls{background:#ffffffb8;border:1px solid #7367f024;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px;display:flex}.route-3d-controls .compact{min-height:34px}.route-3d-controls .active{border-color:#7367f06b;box-shadow:0 8px 20px #7367f024}.route-3d-view-buttons,.route-3d-zoom{background:#7367f00d;border:1px solid #7367f01f;border-radius:8px;align-items:center;gap:4px;padding:3px;display:inline-flex}.route-3d-zoom span{min-width:52px;color:var(--vx-heading);text-align:center;font-size:12px;font-weight:900}.route-3d-opacity{min-width:210px;color:var(--vx-muted);gap:4px;font-size:12px;font-weight:900;display:grid}.route-3d-opacity input{width:100%;accent-color:var(--vx-primary)}.dockable-placeholder{border-radius:var(--vx-radius-sm);color:var(--vx-muted);background:#7367f00f;border:1px dashed #7367f052;justify-content:space-between;align-items:center;gap:10px;padding:12px;font-size:13px;font-weight:800;display:flex}.dockable-placeholder strong{color:var(--vx-heading)}.dockable-panel{z-index:1120;resize:both;background:var(--vx-surface);border:1px solid #7367f047;border-radius:10px;grid-template-rows:auto minmax(0,1fr);min-width:420px;max-width:calc(100vw - 16px);min-height:300px;max-height:calc(100vh - 16px);display:grid;position:fixed;overflow:hidden;box-shadow:0 22px 70px #22292f38}.dockable-panel-head{border-bottom:1px solid var(--vx-border);cursor:move;-webkit-user-select:none;user-select:none;touch-action:none;background:#7367f014;justify-content:space-between;align-items:center;gap:10px;min-height:48px;padding:9px 10px 9px 14px;display:flex}.dockable-panel-head>div{gap:2px;min-width:0;display:grid}.dockable-panel-actions{flex-shrink:0;align-items:center;gap:6px;display:inline-flex}.dockable-panel-head strong,.dockable-panel-head span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dockable-panel-head strong{color:var(--vx-heading);font-size:14px}.dockable-panel-head span{color:var(--vx-muted);font-size:12px;font-weight:800}.dockable-panel-body{background:var(--vx-body-bg);min-height:0;overflow:auto}.plan-dockable .dockable-panel-body{padding:8px}.plan-dockable .project-plan-stage{height:100%;min-height:0}.route-3d-dockable .dockable-panel-body{padding:8px}.route-3d-dockable .route-3d-panel{grid-template-rows:auto auto minmax(0,1fr) auto;min-height:100%}.route-3d-dockable .route-3d-canvas{height:100%;min-height:0}.route-3d-canvas{background:#f8fbff;border:1px solid #7367f024;border-radius:8px;width:100%;min-height:300px;overflow:hidden}.route-3d-canvas canvas{cursor:grab;width:100%;height:100%;display:block}.route-3d-canvas canvas:active{cursor:grabbing}.route-3d-meta{justify-content:flex-end}.detection-debug-panel{border-radius:var(--vx-radius);background:#007aff0f;border:1px solid #007aff38;gap:10px;padding:10px;display:grid}.detection-debug-panel summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;display:flex}.detection-debug-panel summary span{color:var(--vx-muted);font-size:12px;font-weight:800}.detection-debug-grid{grid-template-columns:repeat(3,minmax(120px,1fr));gap:8px;display:grid}.detection-debug-grid article,.detection-debug-tiles span{border-radius:var(--vx-radius-sm);background:#ffffffc2;border:1px solid #2f2b3d14;padding:8px}.detection-debug-grid span,.detection-debug-tiles span{color:var(--vx-muted);font-size:12px;font-weight:800}.detection-debug-grid article{gap:3px;display:grid}.detection-debug-tiles{flex-wrap:wrap;gap:8px;display:flex}.detection-debug-panel pre{border-radius:var(--vx-radius-sm);max-height:280px;color:var(--vx-text);white-space:pre-wrap;background:#ffffffe0;border:1px solid #2f2b3d1a;margin:0;padding:10px;font-size:12px;line-height:1.45;overflow:auto}.plan-edit-toolbar .tiny-field input,.plan-space-detail-toolbar .tiny-field input,.plan-strand-row .tiny-field input{min-width:0}.plan-space-detail-toolbar{border-radius:var(--vx-radius);background:#ff9f4314;border:1px solid #ff9f4338;grid-template-columns:minmax(120px,180px) minmax(160px,1fr) auto;align-items:end;gap:10px;padding:10px;display:grid}.plan-strand-editor{border-radius:var(--vx-radius);background:#2f2b3d05;border:1px solid #7367f024;grid-template-columns:minmax(0,1fr);gap:10px;padding:10px;display:grid}.plan-strand-editor-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.plan-strand-head-actions{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.compact-checkbox{min-height:34px}.strand-batch-toolbar{border-radius:var(--vx-radius);background:#ff9f4314;border:1px solid #ff9f4338;grid-template-columns:minmax(120px,.7fr) minmax(180px,1.2fr) 120px minmax(180px,1fr) minmax(190px,1fr) auto auto auto;align-items:center;gap:8px;padding:10px;display:grid;overflow-x:auto}.strand-batch-toolbar strong{font-size:13px}.strand-batch-toolbar .compact-textarea{min-height:42px}.plan-strand-list{gap:8px;display:grid;overflow-x:auto}.plan-strand-row{border:1px solid var(--vx-border);border-radius:var(--vx-radius);background:#fff;grid-template-columns:minmax(120px,.72fr) minmax(140px,.78fr) minmax(150px,.84fr) minmax(170px,1fr) minmax(170px,1fr) minmax(150px,.78fr) minmax(180px,.9fr) auto auto;align-items:center;gap:8px;padding:8px;display:grid}.plan-strand-row.batch-mode{grid-template-columns:34px minmax(120px,.72fr) minmax(140px,.78fr) minmax(150px,.84fr) minmax(170px,1fr) minmax(170px,1fr) minmax(150px,.78fr) minmax(180px,.9fr) auto auto}.plan-strand-row.selected{background:#ff9f4314;border-color:#ff9f437a}.strand-select-cell{place-items:center;min-height:34px;display:grid}.plan-strand-row .compact-textarea{min-height:44px}.strand-product-choice-config{gap:6px;min-width:0;display:grid}.strand-product-choice-config .compact-field{gap:4px}.strand-product-choice-config select[multiple]{min-height:70px;font-size:12px}.price-copy-control{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;display:grid}.price-copy-control input{width:100%;min-width:0}.price-copy-button{white-space:nowrap;min-height:34px}.plan-strand-row .price-copy-button{padding-inline:8px;font-size:11px}.plan-space-legend{background:var(--vx-card-bg,#fff);border-top:1px solid var(--vx-border,#2f2b3d1f);color:var(--vx-text-muted,#6c757d);flex-wrap:wrap;align-items:center;gap:6px 16px;padding:6px 10px;font-size:11.5px;display:flex}.plan-space-legend-item{align-items:center;gap:5px;display:flex}.plan-space-legend-swatch{background:#ffffffc2;border:2px solid #00bad1cc;border-radius:3px;flex-shrink:0;width:18px;height:13px;display:inline-block}.plan-space-legend-swatch.status-reserved,.plan-space-legend-swatch.status-assigned{background:#fff3e0db;border-color:#ff9f43db}.plan-space-legend-swatch.status-blocked{background:#ebedf0b8;border-color:#6c757db8}.plan-space-legend-swatch.selected{background:#28c76fdb;border-color:#28c76f}.project-plan-stage{border:1px solid var(--vx-border);border-radius:var(--vx-radius);-webkit-overflow-scrolling:touch;background:#fdfdfd;width:100%;overflow:auto}.project-plan-stage.edit-mode{background:#fbfbff;border-color:#7367f073}.project-plan-stage.calibration-frame-mode{border-color:#007aff94}.parking-editor-statusbar{z-index:5;background:#7367f01a;border-bottom:1px solid #7367f059;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:8px 12px;font-size:.85rem;display:flex;position:sticky;top:0}.parking-editor-statusbar .editor-mode-indicator{color:#564cc4;white-space:nowrap;font-weight:700}.parking-editor-statusbar .editor-mode-hint{color:var(--vx-text-muted,#555);flex:12rem;min-width:0}.parking-editor-statusbar .editor-mode-shortcuts{flex-wrap:wrap;gap:4px;display:inline-flex}.parking-editor-statusbar kbd{font:inherit;border:1px solid var(--vx-border);color:#333;white-space:nowrap;background:#fff;border-radius:5px;padding:1px 6px;font-size:.78rem}.editor-history-pills{align-items:center;gap:4px;display:inline-flex}.editor-history-pill{color:#564cc4;width:30px;min-width:30px;height:24px;min-height:24px;box-shadow:none;background:#ffffffe0;border:1px solid #7367f061;border-radius:999px;place-items:center;padding:0;font-size:15px;font-weight:900;line-height:1;display:inline-grid}.editor-history-pill:hover:not(:disabled){background:#fff;border-color:#7367f0b8}.editor-history-pill:disabled{cursor:not-allowed;opacity:.42}.plan-edit-ribbon{z-index:6;scrollbar-width:thin;background:#2f2b3df5;border-bottom:1px solid #7367f059;flex-wrap:nowrap;align-items:center;gap:4px;padding:6px 10px;display:flex;position:sticky;top:0;overflow-x:auto;container:planribbon/inline-size}.plan-ribbon-tool{border-radius:var(--vx-radius,6px);color:#ffffffd1;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;align-items:center;gap:5px;padding:5px 10px;font-size:.82rem;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.plan-ribbon-tool:hover:not(:disabled){color:#fff;background:#ffffff1a}.plan-ribbon-tool.ribbon-active{color:#fff;background:#7367f0d9;border-color:#7367f0}.plan-ribbon-tool:disabled{opacity:.38;cursor:not-allowed}.plan-ribbon-tool svg{flex-shrink:0;width:15px;height:15px}.plan-ribbon-history{flex-shrink:0;align-items:center;gap:4px;display:flex}.plan-ribbon-sep{background:#ffffff2e;flex-shrink:0;width:1px;height:22px;margin:0 4px}@media (width<=760px){.plan-ribbon-tool span{display:none}.plan-ribbon-tool{padding:6px 8px}}@container planribbon (width<=1180px){.plan-edit-ribbon{gap:3px;padding:6px 8px}.plan-ribbon-tool{gap:0;padding:5px 7px;font-size:.8rem}.plan-ribbon-tool span{display:none}.plan-ribbon-history{gap:2px}.plan-ribbon-sep{margin:0 2px}}.plan-context-panel{border-top:1px solid var(--vx-border);background:#2f2b3d06;min-height:48px;padding:10px 12px}.plan-context-strand-head{flex-wrap:wrap;align-items:center;gap:8px 14px;display:flex}.plan-context-strand-head>strong{font-size:.95rem}.plan-context-label{color:var(--vx-text-muted,#666);white-space:nowrap;font-size:.78rem}.plan-context-strand-actions{flex-wrap:wrap;align-items:center;gap:6px;margin-left:auto;display:flex}.plan-context-space{border-top:1px solid var(--vx-border);flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;padding-top:8px;font-size:.85rem;display:flex}.plan-context-empty{margin:0;font-size:.83rem;line-height:2.2}@media (width<=760px){.plan-context-strand-actions{margin-left:0}.plan-context-panel{padding:8px}}.project-plan-stage.calibration-frame-mode .project-plan-canvas,.project-plan-canvas.reference-anchor-placement-mode,.project-plan-canvas.distributor-placement-mode{cursor:crosshair}.project-plan-canvas{width:100%;min-width:820px;min-height:360px;aspect-ratio:var(--plan-image-aspect-ratio,16 / 10);touch-action:pan-x pan-y;outline:none;position:relative;overflow:hidden}.project-plan-canvas:focus-visible{outline-offset:-3px;outline:3px solid #7367f06b}.project-plan-canvas.plan-zoomed,.project-plan-canvas.plan-zoomed .openseadragon-canvas{touch-action:none!important}.project-plan-canvas img,.plan-fallback-image{-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.plan-fallback-image{left:var(--plan-image-left,0%);top:var(--plan-image-top,0%);-o-object-fit:fill;object-fit:fill;max-width:none;position:absolute;width:var(--plan-image-width,100%)!important;height:var(--plan-image-height,100%)!important}.plan-deepzoom-viewer{z-index:0;background:#fff;position:absolute;inset:0;overflow:hidden}.plan-deepzoom-viewer .openseadragon-canvas{outline:none;touch-action:pan-x pan-y!important}.plan-zoom-controls{z-index:12;pointer-events:auto;background:#fffffff0;border:1px solid #2f2b3d33;border-radius:999px;align-items:stretch;display:inline-flex;position:absolute;top:10px;right:10px;overflow:hidden;box-shadow:0 4px 14px #2f2b3d29}.plan-zoom-controls button{color:#2f2b3d;min-width:36px;min-height:34px;box-shadow:none;background:0 0;border:0;border-right:1px solid #2f2b3d24;border-radius:0;place-items:center;padding:0 10px;font-size:18px;font-weight:900;line-height:1;display:inline-grid}.plan-zoom-controls button:last-child{border-right:0}.plan-zoom-controls button:hover:not(:disabled){color:#5e50ee;background:#7367f01a}.plan-zoom-controls button:disabled{cursor:not-allowed;opacity:.38}.plan-zoom-controls .plan-zoom-reset{font-variant-numeric:tabular-nums;min-width:58px;font-size:11px}.plan-image-overlay-layer{left:var(--plan-image-left,0%);top:var(--plan-image-top,0%);z-index:2;width:var(--plan-image-width,100%);height:var(--plan-image-height,100%);pointer-events:none;position:absolute}.plan-image-overlay-layer .route-node-popover,.plan-image-overlay-layer .reference-measure-popover,.plan-image-overlay-layer .central-route-context-menu,.plan-image-overlay-layer .plan-space-context-menu,.plan-image-overlay-layer .plan-calibration-frame,.plan-image-overlay-layer .plan-selection-box,.plan-image-overlay-layer .plan-crop-overlay{pointer-events:auto}.project-plan-canvas.image-loading,.project-plan-canvas.image-error{width:100%;min-height:420px;aspect-ratio:var(--plan-image-aspect-ratio,16 / 10);background:linear-gradient(135deg,#7367f00f,#28c76f0d),#fff;place-items:center;display:grid}.project-plan-canvas.image-loading img,.project-plan-canvas.image-error img{display:none}.project-plan-image-status{z-index:3;max-width:520px;color:var(--vx-muted);text-align:center;pointer-events:none;justify-items:center;gap:8px;padding:24px;display:grid;position:relative}.project-plan-image-status .plan-error-upload{pointer-events:auto}.project-plan-image-status strong{color:var(--vx-text);font-size:18px}.project-plan-image-status span{font-size:13px;font-weight:800;line-height:1.45}.project-plan-image-status em{max-width:100%;color:var(--vx-muted);overflow-wrap:anywhere;font-size:11px;font-style:normal;font-weight:700}.project-plan-canvas.image-loading .plan-route-overlay,.project-plan-canvas.image-loading .plan-image-overlay-layer,.project-plan-canvas.image-loading .route-height-overlay,.project-plan-canvas.image-loading .route-node-popover,.project-plan-canvas.image-loading .reference-measure-popover,.project-plan-canvas.image-loading .garage-distributor-marker,.project-plan-canvas.image-loading .plan-calibration-frame,.project-plan-canvas.image-loading .plan-selection-box,.project-plan-canvas.image-loading .space-marker{display:none}.plan-route-overlay{z-index:1;pointer-events:none;--plan-route-line-width:3px;width:100%;height:100%;position:absolute;inset:0}.plan-route-overlay.route-drawing-exclusive .plan-route-line,.plan-route-overlay.route-drawing-exclusive .plan-route-handle,.plan-route-overlay.route-drawing-exclusive .reference-crosshair,.plan-route-overlay.route-drawing-exclusive .reference-anchor-crosshair{pointer-events:none}.plan-route-line{fill:none;stroke:#ea5455;stroke-width:var(--plan-route-line-width);stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.plan-route-handle,.reference-crosshair,.reference-anchor-crosshair,.editable-reference-crosshair{pointer-events:auto}.plan-crosshair-hitbox{fill:#0000;stroke:none;pointer-events:all}.plan-crosshair-arm,.plan-crosshair-ring,.plan-crosshair-center-line{fill:none;stroke:currentColor;stroke-width:1.35px;stroke-linecap:square;stroke-linejoin:round;paint-order:stroke;vector-effect:non-scaling-stroke}.plan-crosshair-center-dot{fill:currentColor;stroke:#fffffff5;stroke-width:.8px;vector-effect:non-scaling-stroke}.plan-crosshair-label{paint-order:stroke;stroke:#fffffffa;stroke-width:2px;fill:currentColor;text-anchor:middle;vector-effect:non-scaling-stroke;font-size:9px;font-weight:900}.plan-route-line.active{stroke:#d9363e;stroke-width:calc(var(--plan-route-line-width) + 1px)}.cable-tray-route{stroke:#7367f0;stroke-dasharray:8 6}.cable-tray-route.active{stroke:#5e50ee}.cable-tray-route.snap-target{stroke:#8f85ff;stroke-width:calc(var(--plan-route-line-width) + 3px);filter:drop-shadow(0 0 6px #ff9f4394)}.reference-route{stroke:#007aff;stroke-width:max(2px, calc(var(--plan-route-line-width) * .85));pointer-events:stroke;cursor:pointer}.reference-route.selected{stroke-width:max(3px, calc(var(--plan-route-line-width) + 1px));filter:drop-shadow(0 0 5px #007aff59)}.vertical-reference-route{stroke:#00bad1}.vertical-reference-route.selected{filter:drop-shadow(0 0 5px #00bad159)}.plan-route-handle{color:#ea5455;pointer-events:all;cursor:move}.plan-route-handle:hover,.plan-route-handle.selected{color:#d9363e}.plan-route-handle.segment-start{color:#130f40}.plan-route-handle.segment-start .plan-crosshair-ring{stroke-dasharray:2 1.35}.plan-route-handle.segment-start.selected{color:#d9363e}.plan-route-handle.cable-tray-connected{color:#ff9f43}.plan-route-handle.cable-tray-connected.selected{color:#f08c22}.plan-route-node-number{pointer-events:none;paint-order:stroke;stroke:#ffffffeb;stroke-width:.42px;fill:#6b5eea;vector-effect:non-scaling-stroke;font-size:1.85px;font-weight:900}.central-route-endpoint-label{pointer-events:none;paint-order:stroke;stroke:#fffffff5;stroke-width:.5px;fill:#5f4500;vector-effect:non-scaling-stroke;font-size:2px;font-weight:900}.central-route-endpoint-label--end{fill:#c27a00}.central-strand-end-marker{z-index:2;pointer-events:none;background:#ffd23f;border:2px solid #5f4500;border-radius:50%;width:20px;height:20px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 3px #ffd23f42,0 2px 6px #2f2b3d52}.central-strand-end-marker:after{content:"";background:#5f4500;border-radius:50%;position:absolute;inset:5px}.central-strand-end-marker span{color:#5f4500;text-shadow:0 1px #ffffffe6;white-space:nowrap;font-size:10px;font-weight:800;line-height:1;position:absolute;top:calc(100% + 2px);left:50%;transform:translate(-50%)}.cable-tray-node-number{fill:#087987}.cable-tray-handle{color:#7367f0}.cable-tray-handle.selected{color:#5e50ee}.reference-handle,.draft-reference-handle{stroke:#007afff2}.reference-crosshair{color:#007aff;pointer-events:none}.editable-reference-crosshair{pointer-events:all;cursor:move}.vertical-reference-crosshair{color:#00bad1}.editable-reference-crosshair.selected{color:#0057b8}.vertical-reference-crosshair .plan-crosshair-label{fill:#087987}.reference-anchor-crosshair{pointer-events:all;cursor:pointer;color:var(--vx-primary)}.reference-anchor-crosshair.selected{color:#5e50ee}.draft-reference-route{stroke-dasharray:7 5;opacity:.88}.draft-reference-crosshair,.preview-reference-crosshair{opacity:.92}.reference-measure-popover{z-index:8;border-radius:var(--vx-radius);width:min(240px,100% - 24px);box-shadow:var(--vx-shadow-lg);background:#fffffff7;border:1px solid #007aff47;gap:8px;padding:10px;display:grid;position:absolute;transform:translate(12px,12px)}.reference-measure-popover strong{font-size:13px}.reference-measure-popover label{color:var(--vx-muted);text-transform:uppercase;gap:5px;font-size:11px;font-weight:900;display:grid}.reference-measure-popover div{flex-wrap:wrap;gap:6px;display:flex}.route-height-overlay{z-index:6;pointer-events:none;position:absolute;inset:0}.route-height-leaders{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.route-height-leaders line{stroke:#d9363e80;stroke-width:1px;stroke-linecap:round;stroke-dasharray:3 3;vector-effect:non-scaling-stroke}.route-height-control{pointer-events:auto;background:#ffffffed;border:1px solid #ea54553d;border-radius:7px;align-items:center;gap:3px;padding:2px 4px;display:inline-flex;position:absolute;transform:translate(8px,-50%);box-shadow:0 4px 12px #2f2b3d1f}.route-height-chip{box-sizing:border-box;text-align:center;color:#d9363e;pointer-events:auto;white-space:nowrap;background:#ffffffdb;border:1px solid #ea545529;border-radius:999px;place-content:center;gap:0;padding:1px 5px;font-size:10px;font-weight:900;line-height:1.35;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 2px 8px #2f2b3d1a}.route-height-chip span{justify-content:center;align-items:center;gap:4px;display:inline-flex}.route-height-chip span+span{color:#2f2b3dc2;font-size:9px}.route-height-transition-toggle{color:#d9363e;width:16px;height:16px;min-height:16px;box-shadow:none;background:#ea545514;border:1px solid #ea545542;border-radius:5px;place-items:center;padding:0;font-size:10px;font-weight:950;line-height:1;display:inline-grid}.route-height-transition-toggle.diagonal{color:#b85f00;background:#ff9f4324;border-color:#ff9f436b}.route-height-transition-toggle:disabled{cursor:not-allowed;opacity:.45}.route-height-chip.selected{background:#ea54551f;border-color:#ea545570;box-shadow:0 0 0 3px #ea54551f}.route-height-control input{color:#2f2b3d;text-align:right;background:#ea545514;border:0;border-radius:5px;width:48px;min-height:24px;padding:2px 4px;font-size:11px;font-weight:900}.route-height-control input:focus{background:#fff;outline:2px solid #ea545547}.route-height-control span{color:#d9363e;font-size:10px;font-weight:900}.route-node-popover{z-index:9;width:min(320px,100% - 24px);box-shadow:var(--vx-shadow-lg);background:#fffffff5;border:1px solid #7367f038;border-radius:8px;gap:8px;padding:10px;display:grid;position:absolute;transform:translate(12px,-50%)}.route-node-popover strong{color:var(--vx-heading);font-size:12px;line-height:1.15}.route-node-popover span{color:var(--vx-muted);font-size:11px;font-weight:800;line-height:1.2}.route-node-popover-field{gap:5px;display:grid}.route-node-popover-note{color:var(--vx-muted);background:#ff9f4317;border:1px solid #ff9f4338;border-radius:7px;margin:0;padding:7px 8px;font-size:11px;font-weight:800;line-height:1.35}.route-node-popover-field span,.route-node-article-picker>span{color:var(--vx-muted);letter-spacing:0;text-transform:uppercase;font-size:10px;font-weight:900}.route-node-popover-field input{width:100%;min-height:34px;color:var(--vx-heading);text-align:right;background:#7367f00f;border:1px solid #7367f02e;border-radius:7px;padding:6px 8px;font-size:16px;font-weight:900}.route-node-popover-field input:focus{background:#fff;outline:2px solid #7367f040}.route-node-popover-actions{flex-wrap:wrap;gap:6px;display:flex}.route-node-popover-actions .route-node-action-button{grid-template-columns:auto minmax(0,max-content);gap:6px;width:auto;min-width:34px;height:34px;padding:0 9px}.route-node-action-button span{font-size:11px;font-weight:900;line-height:1}.route-node-article-picker{gap:6px;display:grid}.route-node-article-picker select{width:100%;min-height:34px;color:var(--vx-heading);background:#7367f00f;border:1px solid #7367f02e;border-radius:7px;padding:6px 8px;font-size:12px;font-weight:800}.garage-distributor-marker{z-index:4;width:44px;height:44px;color:var(--vx-primary);box-shadow:none;pointer-events:auto;background:0 0;border:0;border-radius:0;place-items:center;padding:0;font-size:12px;font-weight:900;display:grid;position:absolute;transform:translate(-50%,-50%)}.garage-distributor-crosshair{pointer-events:none;width:34px;height:34px;overflow:visible}.garage-distributor-preview{z-index:5;color:#ff9f43;pointer-events:none}.garage-distributor-label{color:currentColor;text-shadow:0 1px #fffffffa,0 -1px #fffffffa,1px 0 #fffffffa,-1px 0 #fffffffa,0 2px 5px #2f2b3d73;pointer-events:none;white-space:nowrap;font-size:11px;font-weight:950;line-height:1;position:absolute;top:calc(50% + 14px);left:50%;transform:translate(-50%)}.project-plan-stage.edit-mode .garage-distributor-marker.distributor-editable{cursor:grab;touch-action:none}.project-plan-stage.edit-mode .garage-distributor-marker.distributor-editable:active{cursor:grabbing}.garage-distributor-marker.active{color:#087987}.garage-distributor-marker.snap-target{color:#ff9f43}.space-marker{z-index:2;color:#0a5d67;pointer-events:auto;background:#ffffffc2;border:2px solid #00bad1cc;min-width:28px;min-height:24px;padding:0;font-size:12px;line-height:1;display:block;position:absolute;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 2px 8px #2f2b3d24}.space-marker-number{text-overflow:ellipsis;white-space:nowrap;text-align:left;text-shadow:0 1px 2px #ffffffb8;max-width:calc(100% - 9px);font-weight:900;position:absolute;top:3px;left:4px;overflow:hidden}.space-marker.selected .space-marker-number{text-shadow:0 1px 2px #00000038}.space-marker-strand-badge{color:#fff;background:#ea5455eb;border-radius:4px 0 0;place-items:center;min-width:13px;height:13px;font-size:9px;font-weight:900;line-height:1;display:grid;position:absolute;bottom:-1px;right:-1px}.space-marker.editable{cursor:move}.space-marker.editing{border-color:var(--vx-warning);color:var(--vx-text);background:#fffffff0;box-shadow:0 0 0 4px #ff9f4338,0 8px 20px #2f2b3d33}.space-marker.dragging{z-index:4}.space-marker.selected{border-color:var(--vx-success);color:#fff;background:#28c76fdb}.space-marker.status-reserved:not(.selected),.space-marker.status-assigned:not(.selected){color:#8a5400;background:#fff3e0db;border-color:#ff9f43db}.space-marker.status-blocked:not(.selected),.space-marker.unavailable:not(.selected){color:#6c757d;cursor:not-allowed;background:#ebedf0b8;border-color:#6c757db8}.space-marker.editor-selected{z-index:3;border-color:var(--vx-warning);color:var(--vx-text);background:#fffffff0;box-shadow:0 0 0 4px #ff9f4347,0 8px 18px #2f2b3d2e}.space-marker.calibration-sample{z-index:5;color:#0057b8;background:#fffffff5;border-color:#006adc;box-shadow:0 0 0 4px #007aff38,0 8px 18px #2f2b3d2e}.plan-calibration-frame{z-index:2;pointer-events:none;background:#007aff14;border:2px solid #007affe6;position:absolute;box-shadow:inset 0 0 0 2px #ffffffbd}.plan-selection-box{z-index:2;pointer-events:none;background:#7367f024;border:2px solid #7367f0c7;position:absolute}.plan-selection-box.calibration{z-index:6;background:#007aff24;border-color:#007affeb}.project-plan-canvas.crop-mode{cursor:crosshair}.plan-crop-overlay{z-index:7;pointer-events:none;background:#ff9f431f;border:2.5px solid #ff9f43f2;position:absolute;box-shadow:0 0 0 9999px #00000052}.quote-panel{gap:14px;padding:16px;display:grid;position:sticky;top:24px}.quote-panel.collapsed{place-items:start center;min-height:180px;padding:10px}.quote-panel-toggle{border-radius:var(--vx-radius);width:34px;height:34px;color:var(--vx-primary);background:#7367f014;border:1px solid #7367f038;place-items:center;padding:0;font-size:24px;font-weight:900;line-height:1;display:inline-grid}.quote-panel-toggle:disabled{cursor:default;opacity:.62}.quote-panel-collapsed-copy{color:var(--vx-muted);text-transform:uppercase;writing-mode:vertical-rl;justify-items:center;gap:4px;font-size:11px;font-weight:900;display:grid;transform:rotate(180deg)}.quote-panel-collapsed-copy strong{color:var(--vx-text);font-size:13px}.quote-position-list{scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#7367f0b8 #2f2b3d1a;gap:10px;max-height:calc(100vh - 310px);padding-right:8px;display:grid;overflow:hidden scroll}.quote-position-list::-webkit-scrollbar{width:10px}.quote-position-list::-webkit-scrollbar-track{background:#2f2b3d1a;border-radius:999px}.quote-position-list::-webkit-scrollbar-thumb{background:#7367f0b8;border:2px solid #fff;border-radius:999px}.quote-position-list::-webkit-scrollbar-thumb:hover{background:#675dd8e6}.participant-asset-selection{border-radius:var(--vx-radius);background:#7367f00f;border:1px solid #7367f033;gap:10px;padding:12px;display:grid}.participant-selection-head,.participant-space-card{justify-content:space-between;align-items:center;gap:10px;display:flex}.participant-selection-head h4{margin:0}.participant-selection-head span,.participant-space-card small{color:var(--vx-muted)}.participant-space-list{gap:8px;max-height:220px;padding-right:4px;display:grid;overflow-y:auto}.participant-base-cost-card{border-radius:var(--vx-radius);background:#28c76f14;border:1px solid #28c76f52;justify-content:space-between;align-items:center;gap:12px;padding:10px;display:flex}.participant-base-cost-card.pending{background:#ff9f4317;border-color:#ff9f4366}.participant-base-cost-card>div{align-items:center;gap:8px;display:flex}.participant-base-cost-card strong,.participant-base-cost-card small{display:block}.participant-base-cost-card small{color:var(--vx-muted);text-align:right}.participant-space-card{border:1px solid var(--vx-border);border-radius:var(--vx-radius);background:var(--vx-surface);padding:10px}.participant-product-choice{max-width:360px;margin-top:8px}.participant-product-choice select{min-height:34px}.participant-space-card.own{background:#28c76f14;border-color:#28c76f80}.seat-reservation-mode .participant-space-card.available{background:#28c76f12;border-color:#28c76f73}.seat-reservation-mode .participant-space-card.own{background:#28c76f24;border-color:#28c76fbf;box-shadow:inset 3px 0 #28c76fe6}.seat-reservation-mode .participant-space-card.foreign-occupied{color:var(--vx-text);background:#ea545514;border-color:#ea54556b}.seat-reservation-mode .participant-space-card.foreign-occupied .pill{color:#c93434;background:#ea545529}.seat-reservation-mode .participant-space-card.foreign-occupied button{cursor:not-allowed}.quote-position{border:1px solid var(--vx-border);border-radius:var(--vx-radius);background:#fff;grid-template-columns:minmax(0,1fr) minmax(150px,auto);gap:12px;padding:12px;display:grid}.quote-position>div{min-width:0}.quote-position.optional-off{opacity:.72}.weg-base-cost-position{background:#28c76f0f;border-color:#28c76f47}.weg-base-cost-position.pending{background:#ff9f4314;border-color:#ff9f4359}.quote-position strong,.quote-position p,.quote-position small{display:block}.quote-position p{color:var(--vx-muted);overflow-wrap:anywhere;margin:6px 0 0;font-size:13px;line-height:1.4}.quote-position small{color:var(--vx-muted);margin-top:6px}.dynamic-position{grid-template-columns:minmax(0,1fr)}.quote-position-copy{gap:8px;display:grid}.quote-position-title{align-items:center;gap:10px;min-width:0;display:flex}.quote-position-title strong{line-height:1.2}.quote-position-description{white-space:normal;max-width:100%;margin:0}.quote-meta-list{grid-template-columns:repeat(auto-fit,minmax(138px,1fr));gap:7px 12px;display:grid}.quote-meta-list small{overflow-wrap:anywhere;margin-top:0;line-height:1.35}.quote-meta-list b{color:var(--vx-text);text-transform:uppercase;font-size:11px;font-weight:900;display:block}.quote-position-price{justify-items:end;gap:8px;min-width:128px;display:grid}.quote-position-price span{color:var(--vx-muted);font-size:12px}.quote-breakdown{align-self:start;gap:7px;min-width:0;display:grid}.dynamic-position .quote-breakdown{border-top:1px solid var(--vx-border);width:100%;min-width:0;padding-top:10px}.quote-breakdown div{grid-template-columns:minmax(0,1fr) minmax(64px,auto);align-items:start;gap:10px;display:grid}.quote-breakdown span{color:var(--vx-muted);overflow-wrap:anywhere;text-align:right;font-size:12px;line-height:1.35}.dynamic-position .quote-breakdown span{text-align:left}.quote-breakdown strong{text-align:right;white-space:nowrap;min-width:54px}.quote-breakdown-total{border-top:1px solid var(--vx-border);margin-top:3px;padding-top:7px}.quote-breakdown-total span,.quote-breakdown-total strong{color:var(--vx-text);font-weight:900}.quote-totals{border-top:1px solid var(--vx-border);gap:8px;padding-top:12px;display:grid}.quote-totals div{justify-content:space-between;align-items:center;gap:12px;display:flex}.quote-grand-total{font-size:20px}.quote-order-panel{border-top:1px solid var(--vx-border);gap:10px;padding-top:12px;display:grid}.quote-order-panel .primary{width:100%}.parking-admin-grid{gap:14px;display:grid}.strand-admin-legacy{display:none}.article-admin-grid{grid-template-columns:minmax(0,1fr);gap:14px;width:100%;min-width:0;max-width:100%;display:grid;overflow-x:hidden}.article-admin-section{border:1px solid var(--vx-border);border-radius:var(--vx-radius);width:100%;min-width:0;max-width:100%;box-shadow:var(--vx-shadow-sm);background:#fff;grid-template-columns:minmax(0,1fr);gap:10px;padding:14px;display:grid;overflow-x:hidden}.article-admin-summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;width:100%;min-width:0;max-width:100%;list-style:none;display:flex}.article-admin-summary::-webkit-details-marker{display:none}.article-admin-summary:before{content:"⌄";width:28px;height:28px;color:var(--vx-primary);background:#7367f014;border:1px solid #7367f047;border-radius:8px;flex:0 0 28px;place-items:center;font-weight:900;transition:transform .16s;display:inline-grid}.article-admin-section:not([open]) .article-admin-summary:before{transform:rotate(-90deg)}.article-admin-summary>div{flex:auto;min-width:0}.article-table-wrap{overscroll-behavior-x:contain;width:100%;min-width:0;max-width:100%;box-shadow:none;overflow-x:auto}.article-admin-table{table-layout:fixed;width:100%;min-width:0}.article-admin-table th,.article-admin-table td{text-align:left;overflow-wrap:normal;word-break:normal;white-space:nowrap;vertical-align:top;text-overflow:ellipsis;min-width:0;max-width:0;overflow:hidden}.article-admin-table th:first-child,.article-admin-table td:first-child{width:14%}.article-admin-table th:nth-child(2),.article-admin-table td:nth-child(2){white-space:normal;overflow-wrap:anywhere;width:22%}.article-admin-table th:nth-child(3),.article-admin-table td:nth-child(3){width:8%}.article-admin-table th:nth-child(5),.article-admin-table td:nth-child(5){width:14%}.article-admin-table th:nth-child(4),.article-admin-table td:nth-child(4){text-align:right;width:12%}.article-admin-table th:nth-child(6),.article-admin-table td:nth-child(6){width:20%}.article-admin-table th:last-child,.article-admin-table td:last-child{width:10%}.article-admin-table td:last-child{overflow:visible}.article-admin-table input:not([type=checkbox]),.article-admin-table select{min-width:0}.table-sort-button{width:auto;min-height:0;color:inherit;box-shadow:none;font:inherit;text-align:left;text-transform:inherit;background:0 0;border:0;border-radius:0;justify-content:flex-start;align-items:center;gap:6px;padding:0;display:inline-flex}.table-sort-button:hover,.table-sort-button:focus-visible{color:var(--vx-primary);box-shadow:none;background:0 0}.table-sort-button small{color:var(--vx-muted);text-transform:uppercase;font-size:14px;font-weight:800}.table-sort-button .sort-arrow{line-height:1}.table-sort-button.active small{color:var(--vx-primary)}.article-description-cell{white-space:normal;color:var(--vx-text);overflow-wrap:anywhere;line-height:1.35}.article-row-actions{flex-wrap:wrap;justify-content:flex-end;min-width:0;display:flex}.row-actions.article-row-actions{min-width:0}.article-edit-row td{white-space:normal;background:#7367f00b;overflow:visible}.article-edit-form{grid-template-columns:minmax(150px,.8fr) minmax(260px,1.4fr) minmax(80px,.45fr) minmax(140px,.7fr) auto;align-items:end;gap:10px;display:grid}.article-create-inline-form{border-radius:var(--vx-radius-sm);background:#7367f00a;border:1px solid #7367f02e;grid-template-columns:minmax(150px,.8fr) minmax(260px,1.4fr) minmax(80px,.45fr) minmax(140px,.7fr) auto;align-items:end;gap:10px;padding:12px;display:grid}.article-create-inline-form .field{margin-bottom:0}.article-add-button{justify-self:start}.article-edit-form .field{margin-bottom:0}.article-edit-name{min-width:240px}.article-edit-description{grid-column:1/-1}.article-edit-description textarea{min-height:76px}.article-edit-actions{grid-column:1/-1;justify-content:flex-start;align-items:center;gap:8px;display:flex}.article-edit-actions button{width:auto}.article-tech-fields{border-radius:var(--vx-radius-sm);background:#00bad10b;border:1px solid #00bad129;grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:end;gap:10px;padding:10px;display:grid}.article-tech-fields .field{margin-bottom:0}.article-tech-reference{color:var(--vx-muted);margin-top:4px;font-size:.74rem;line-height:1.25;display:block}.article-tech-reference-button{width:fit-content;margin-top:6px}.article-tech-suggestion{border-radius:var(--vx-radius-sm);background:#ffffffb8;border:1px solid #7367f02e;grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;display:grid}.article-tech-suggestion span,.article-tech-suggestion small{color:var(--vx-muted);font-size:.76rem;line-height:1.35;display:block}.article-tech-suggestion strong{color:var(--vx-text);overflow-wrap:anywhere;margin:2px 0;font-size:.88rem;line-height:1.35;display:block}.article-tech-suggestion .row-actions{justify-content:flex-end;min-width:0}.article-tech-suggestion .row-actions.horizontal-actions{flex-wrap:wrap}.article-tech-note{color:var(--vx-muted);grid-column:1/-1;margin:0;font-size:.78rem;line-height:1.35}.article-labor-costs{border-radius:var(--vx-radius-sm);background:#ffffffb8;border:1px solid #7367f02e;grid-column:1/-1;gap:8px;min-width:min(100%,560px);padding:10px;display:grid}.article-labor-costs-head,.article-labor-cost-total{justify-content:space-between;align-items:center;gap:12px;display:flex}.article-labor-cost-row{grid-template-columns:minmax(96px,.7fr) minmax(136px,1fr) minmax(132px,1fr) 40px;align-items:end;gap:8px;display:grid}.tool-usage-unit-toggle{border-radius:var(--vx-radius-sm);background:#7367f00f;border:1px solid #7367f033;align-items:center;gap:2px;margin-top:4px;padding:2px;display:inline-flex}.tool-usage-unit-toggle button{border-radius:calc(var(--vx-radius-sm) - 2px);min-width:32px;min-height:28px;color:var(--vx-muted);background:0 0;border:0;padding:3px 7px;font-size:12px;font-weight:800}.tool-usage-unit-toggle button.active{background:var(--vx-primary);color:#fff}.article-labor-cost-total{border-top:1px solid #7367f029;padding-top:6px}@media (width<=900px){.article-admin-table{display:block}.article-admin-table thead,.article-admin-table tbody,.article-admin-table tr,.article-admin-table th,.article-admin-table td{width:100%;max-width:100%;display:block}.article-admin-table thead{clip:auto;white-space:normal;width:100%;height:auto;position:static;overflow:visible}.article-admin-table thead tr{background:#7367f00d;border:1px solid #7367f024;border-radius:8px;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:4px;padding:8px;display:grid}.article-admin-table th{background:rgba(var(--vx-surface-rgb), .72);text-overflow:clip;white-space:normal;border:0;border-radius:6px;min-height:32px;padding:5px 6px;overflow:visible}.article-admin-table tbody{gap:8px;display:grid}.article-admin-table tr{border-bottom:1px solid var(--vx-border);grid-template-columns:minmax(0,1fr);display:grid}.article-admin-table td{white-space:normal;overflow-wrap:anywhere;text-overflow:clip;border-bottom:0;overflow:visible}.article-admin-table td:nth-child(4){text-align:left}.article-admin-table td:last-child{width:100%}.article-row-actions{justify-content:flex-start}}.wholesale-admin-panel{gap:14px;width:100%;min-width:0;max-width:100%;display:grid}.wholesale-admin-panel>*{min-width:0;max-width:100%}.wholesale-admin-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,820px),1fr));gap:14px;width:100%;min-width:0;max-width:100%;display:grid}.wholesale-admin-panel .article-admin-section{width:100%;min-width:0;max-width:100%}.wholesale-proxy-status{border-radius:var(--vx-radius-sm);min-width:0;max-width:100%;color:var(--vx-muted);background:#7367f00b;border:1px solid #7367f029;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 12px;font-size:.82rem;line-height:1.35;display:flex}.wholesale-proxy-status span{overflow-wrap:anywhere;min-width:0}.wholesale-inline-form,.wholesale-upload-form,.wholesale-search-form,.wholesale-create-form,.wholesale-link-form{align-items:end;gap:10px;width:100%;min-width:0;max-width:100%;display:grid}.wholesale-inline-form{grid-template-columns:minmax(150px,1fr) minmax(120px,.7fr) minmax(180px,1fr) auto auto}.wholesale-upload-form{grid-template-columns:minmax(180px,.9fr) minmax(180px,.9fr) minmax(220px,1.2fr) auto}.wholesale-search-form{grid-template-columns:minmax(260px,1.25fr) minmax(170px,.75fr) minmax(180px,.8fr) minmax(140px,.55fr) minmax(120px,.5fr) auto}.wholesale-create-form{border-radius:var(--vx-radius-sm);background:#7367f00b;border:1px solid #7367f029;grid-template-columns:minmax(240px,1.2fr) minmax(180px,.8fr) minmax(130px,.5fr) minmax(150px,.6fr) auto;padding:10px 12px}.wholesale-link-form{grid-template-columns:minmax(240px,1.1fr) minmax(260px,1.2fr) minmax(130px,.45fr) auto auto minmax(180px,.8fr) auto}.wholesale-inline-form .field,.wholesale-upload-form .field,.wholesale-search-form .field,.wholesale-create-form .field,.wholesale-link-form .field{min-width:0;margin-bottom:0}.wholesale-inline-form input,.wholesale-inline-form select,.wholesale-upload-form input,.wholesale-upload-form select,.wholesale-search-form input,.wholesale-search-form select,.wholesale-create-form input,.wholesale-create-form select,.wholesale-link-form input,.wholesale-link-form select{width:100%;min-width:0}.wholesale-file-field input[type=file]{width:100%;max-width:100%;min-height:42px;padding:9px 10px;font-size:13px}.wholesale-table-wrap{width:100%;min-width:0;max-width:100%;box-shadow:none;overflow-x:auto}.wholesale-table{min-width:820px}.wholesale-article-results{min-width:1080px}.wholesale-table td,.wholesale-table th{vertical-align:top;white-space:normal}.wholesale-table td:last-child,.wholesale-table th:last-child{text-align:left}.wholesale-link-summary{border-radius:var(--vx-radius-sm);background:#7367f00b;border:1px solid #7367f029;flex-wrap:wrap;align-items:center;gap:8px 14px;min-width:0;max-width:100%;padding:10px 12px;display:flex}.wholesale-link-summary strong,.wholesale-link-summary span{overflow-wrap:anywhere;min-width:0}.wholesale-link-summary span{color:var(--vx-muted)}.wholesale-link-notes{min-width:0}.wholesale-create-form button,.wholesale-link-form button[type=submit]{white-space:nowrap;width:auto}.wholesale-search-actions{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.wholesale-search-actions button{white-space:nowrap}.wholesale-search-hints{color:var(--vx-muted);flex-wrap:wrap;gap:8px 14px;font-size:.82rem;line-height:1.35;display:flex}.wholesale-search-hints span:last-child{color:var(--vx-warning,#b96e13)}.wholesale-admin-panel .selected-row td{background:#7367f014}.wholesale-stale-row td{background:#ff4c5114}.wholesale-sync-warning-row td{color:var(--vx-text);background:#ff4c511a;padding-top:0}.wholesale-sync-diff{flex-wrap:wrap;gap:6px 10px;margin-top:6px;display:flex}.wholesale-sync-diff span{border-radius:var(--vx-radius-xs);max-width:100%;color:var(--vx-danger);overflow-wrap:anywhere;background:#ff4c511f;padding:4px 7px;font-size:.78rem;line-height:1.35;display:inline-flex}.wholesale-article-cell-head,.wholesale-link-article-cell{flex-wrap:wrap;align-items:center;gap:6px 8px;min-width:0;display:flex}.wholesale-article-info{z-index:120;align-items:center;display:inline-flex;position:relative}.wholesale-article-info .icon-button{width:28px;height:28px}.wholesale-article-popover{border-radius:var(--vx-radius-sm);background:var(--vx-surface);width:min(560px,76vw);max-height:min(520px,72vh);color:var(--vx-text);text-align:left;white-space:normal;overflow-wrap:anywhere;z-index:3400;border:1px solid #7367f057;padding:14px;font-size:.78rem;line-height:1.4;display:none;position:absolute;top:calc(100% + 8px);left:0;overflow:auto;box-shadow:0 18px 48px #2f2b3d38}.wholesale-article-popover strong,.wholesale-article-popover span{display:block}.wholesale-article-popover strong{margin-bottom:6px;font-size:.86rem}.wholesale-article-popover span+span{margin-top:5px}.wholesale-popover-muted{color:var(--vx-muted-color)}.wholesale-popover-section-title{color:var(--vx-muted-color);text-transform:uppercase;border-top:1px solid #7367f024;padding-top:8px;font-size:.72rem;font-weight:800;margin-top:10px!important}.wholesale-surcharge-line{border-radius:var(--vx-radius-xs);background:#7367f014;padding:5px 7px}.wholesale-article-info:hover .wholesale-article-popover,.wholesale-article-info:focus-within .wholesale-article-popover{display:block}.wholesale-article-info.popover-flip-up .wholesale-article-popover{top:auto;bottom:calc(100% + 8px)}.account-error{color:var(--vx-danger);background:#ff4c5124}@media (width<=1280px){.wholesale-admin-grid{grid-template-columns:1fr}.wholesale-inline-form,.wholesale-upload-form,.wholesale-search-form,.wholesale-create-form,.wholesale-link-form{grid-template-columns:repeat(2,minmax(0,1fr))}.wholesale-create-form button,.wholesale-link-form button[type=submit],.wholesale-search-form button[type=submit],.wholesale-upload-form button[type=submit],.wholesale-search-actions{justify-self:start}}@media (width<=760px){.wholesale-inline-form,.wholesale-upload-form,.wholesale-search-form,.wholesale-create-form,.wholesale-link-form{grid-template-columns:1fr}.wholesale-table-wrap{width:100%;max-width:100%}.wholesale-article-popover{width:min(320px,100vw - 32px);left:auto;right:0}}:root[data-theme=dark] .wholesale-link-summary,:root[data-theme=dark] .wholesale-create-form,:root[data-theme=dark] .wholesale-proxy-status{background:#ffffff0b;border-color:#8492a647}.article-admin-card{border-radius:var(--vx-radius-sm);background:#7367f00a;border:1px solid #7367f024;gap:8px;padding:10px;display:grid}.article-admin-row{grid-template-columns:minmax(130px,.75fr) minmax(220px,1.35fr) minmax(80px,.45fr) minmax(120px,.55fr) minmax(96px,.45fr) auto auto auto;align-items:end;gap:8px;display:grid}.article-admin-row .field{margin-bottom:0}.article-admin-row .field span{color:var(--vx-muted);text-transform:uppercase;font-size:11px;font-weight:800}.article-admin-row input{min-width:0}.article-active-toggle{align-items:center;min-height:42px}.parking-admin-grid.edit-blocked details>:not(summary){pointer-events:none;opacity:.58}.project-admin-list,.strand-admin-grid,.space-admin-table{gap:10px;padding:14px;display:grid}.project-admin-row{border:1px solid var(--vx-border);border-radius:var(--vx-radius);grid-template-columns:1.1fr minmax(180px,1.6fr) 92px 100px 120px auto auto;align-items:center;gap:10px;padding:10px;display:grid}.project-admin-row .compact-textarea,.strand-admin-card .compact-textarea{min-height:64px}.strand-admin-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.strand-admin-actions{grid-column:1/-1;padding:0}.admin-batch-toolbar{grid-column:1/-1}.strand-admin-card{border:1px solid var(--vx-border);border-radius:var(--vx-radius);gap:10px;padding:12px;display:grid}.strand-admin-card.selected,.space-admin-row.selected{background:#ff9f4314;border-color:#ff9f437a}.strand-card-head{grid-template-columns:34px minmax(150px,1fr) minmax(140px,.8fr) minmax(150px,.9fr) minmax(170px,1fr) auto;align-items:center;gap:8px;display:grid}.asset-assignment-summary{grid-template-columns:repeat(4,minmax(120px,1fr)) minmax(260px,2fr);gap:10px;padding:14px;display:grid}.asset-assignment-kpi,.asset-assignment-note{border:1px solid var(--vx-border);border-radius:var(--vx-radius);background:var(--vx-surface);gap:4px;padding:12px;display:grid}.asset-assignment-kpi span,.asset-assignment-note span{color:var(--vx-muted);font-size:13px}.asset-assignment-kpi strong{font-size:24px}.space-batch-toolbar{border-radius:var(--vx-radius);background:#ff9f4314;border:1px solid #ff9f4338;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));align-items:end;gap:8px;padding:10px 14px;display:grid}.space-batch-toolbar strong{align-self:center;font-size:13px}.space-admin-row{border:1px solid var(--vx-border);border-radius:var(--vx-radius);grid-template-columns:34px minmax(58px,.45fr) repeat(4,minmax(108px,1fr)) auto auto;align-items:center;gap:8px;padding:8px;display:grid}.space-admin-row input,.space-admin-row select,.space-batch-toolbar input,.space-batch-toolbar select{width:100%;min-width:0}.space-admin-row>button,.space-admin-row>.icon-button,.space-admin-row>.danger,.space-admin-row>.ghost.compact{justify-self:end;width:auto}.table-select-cell{place-items:center;min-height:34px;display:grid}.icon-button{border-radius:var(--vx-radius);place-items:center;width:34px;height:34px;padding:0;display:inline-grid}.icon-button svg{fill:currentColor;width:18px;height:18px}.icon-button.info{color:var(--vx-primary);box-shadow:none;background:#7367f014;border:1px solid #7367f038}.icon-button.info.active,.icon-button.info:hover:not(:disabled),.icon-button.info:focus-visible:not(:disabled){background:#7367f029;border-color:#7367f07a}.icon-button.primary-icon{background:linear-gradient(135deg, var(--vx-primary), var(--vx-primary-dark));color:#fff;border:1px solid #7367f042;box-shadow:0 4px 14px #7367f047}.activity-log-control{flex:none;align-items:center;display:inline-flex;position:relative}.activity-log-popover{z-index:2500;border-radius:var(--vx-radius);background:var(--vx-surface);max-height:min(440px,100vh - 32px);color:var(--vx-text);border:1px solid #7367f038;gap:10px;padding:14px;display:grid;position:fixed;overflow-y:auto;box-shadow:0 18px 48px #22292f33}.activity-log-popover-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.activity-log-title{color:var(--vx-heading);font-size:14px}.activity-log-empty,.activity-log-error{color:var(--vx-muted);margin:0;font-size:13px}.activity-log-error{color:#ea5455}.activity-log-list{gap:10px;display:grid}.activity-log-entry{border:1px solid var(--vx-border);border-radius:var(--vx-radius);background:#7367f00a;gap:6px;padding:10px;display:grid}.activity-log-entry-head{grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:10px;display:grid}.activity-log-entry-head strong{overflow-wrap:anywhere;min-width:0;font-size:13px}.activity-log-entry-head time,.activity-log-entry-meta{color:var(--vx-muted);font-size:12px}.activity-log-entry-meta{margin:0}.activity-log-entry details{color:var(--vx-muted);font-size:12px}.activity-log-entry summary{cursor:pointer;font-weight:800}.activity-log-entry pre{border-radius:var(--vx-radius);max-height:180px;color:var(--vx-text);white-space:pre-wrap;background:#22292f0f;margin:8px 0 0;padding:10px;font-size:11px;overflow:auto}.record-title-with-log{align-items:center;gap:8px;min-width:0;display:flex}.tenant-pager{align-items:center;gap:6px;display:inline-flex}.tenant-pager-button{color:var(--vx-primary);box-shadow:none;background:#7367f01a;border:1px solid #7367f042;font-size:24px;font-weight:800;line-height:1}.tenant-pager-button:hover:not(:disabled),.tenant-pager-button:focus-visible:not(:disabled){background:#7367f02e;border-color:#7367f08c;transform:translateY(-1px)}.tenant-pager-button:disabled{color:var(--vx-muted);cursor:not-allowed;opacity:.38}.tenant-access-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.tenant-access-row>label{min-width:0}.envelope-toggle{color:var(--vx-muted)}.envelope-toggle.active{color:var(--vx-primary);background:#7367f01f;border-color:#7367f052}.envelope-toggle:disabled{opacity:.35;cursor:not-allowed}.floating-save-bar{z-index:20;border-radius:var(--vx-radius);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff0;border:1px solid #7367f038;justify-content:space-between;align-items:center;gap:14px;width:min(720px,100vw - 48px);margin:0;padding:12px 14px;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 14px 36px #2f2b3d33}.floating-save-bar div{gap:2px;display:grid}.floating-save-bar strong{font-size:14px}.floating-save-bar span{color:var(--vx-muted);font-size:12px;font-weight:700}.floating-save-bar .floating-save-actions{grid-template-columns:none;justify-content:flex-end;gap:8px;display:flex}.contract-template-floating-save{z-index:1250}.contract-template-floating-save .primary{align-items:center;gap:8px;display:inline-flex}.contract-template-floating-save svg{width:16px;height:16px}.edit-lock-pill{max-width:280px;min-height:34px;color:var(--vx-primary);white-space:normal;background:#7367f01a;border:1px solid #7367f038;border-radius:999px;align-items:center;padding:7px 10px;font-size:12px;font-weight:800;line-height:1.2;display:inline-flex}button.edit-lock-pill{cursor:pointer}.edit-lock-pill.active{color:#16884f;background:#28c76f1f;border-color:#28c76f3d}.edit-lock-pill.blocked{color:#9a5a00;background:#ff9f4324;border-color:#ff9f4352}.usage-checks{align-self:end;gap:8px;display:grid}.usage-checks>span,.derived-usage-panel>span{color:var(--vx-text);font-size:12px;font-weight:800}.usage-cell{gap:4px;display:grid}.usage-cell .checks,.usage-cell label{white-space:nowrap;margin-top:0}.derived-usage-panel{border-radius:var(--vx-radius);background:#7367f00a;border:1px solid #7367f029;gap:8px;padding:12px;display:grid}.derived-usage-panel strong{font-size:16px}.compact-derived-panel{gap:5px;padding:10px}.electricity-breakdown{border-radius:var(--vx-radius);background:linear-gradient(135deg,#00bad10e,#7367f00b);border:1px solid #00bad133;gap:12px;margin-top:12px;padding:12px;display:grid}.electricity-breakdown-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.electricity-breakdown-head>div{gap:4px;display:grid}.electricity-breakdown-head span{color:var(--vx-primary);text-transform:uppercase;font-size:12px;font-weight:900}.electricity-breakdown-head strong{font-size:18px}.electricity-breakdown-head em{color:var(--vx-info-dark);white-space:nowrap;background:#00bad11f;border-radius:999px;padding:5px 9px;font-size:12px;font-style:normal;font-weight:850}.electricity-breakdown-table-wrap{box-shadow:none}.electricity-breakdown-table th,.electricity-breakdown-table td{white-space:normal;overflow-wrap:anywhere;vertical-align:top}.electricity-breakdown-table th:nth-child(n+3),.electricity-breakdown-table td:nth-child(n+3){text-align:right;white-space:nowrap;width:92px}.table-total-row td{background:#7367f013;font-weight:850}.electricity-profile-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;display:grid}.electricity-profile-grid article{border-radius:var(--vx-radius-sm);background:#ffffffbd;border:1px solid #7367f024;padding:10px}.electricity-profile-grid span{color:var(--vx-muted);text-transform:uppercase;font-size:11px;font-weight:850;display:block}.electricity-profile-grid strong{margin-top:4px;font-size:17px;display:block}.electricity-profile-grid small{color:var(--vx-muted);margin-top:3px;font-size:11px;display:block}.compact-derived-panel strong{font-size:15px}.new-row td{background:#28c76f0b}.empty-state{justify-items:start;gap:12px;display:grid}.dense-table{font-size:12px}.dense-table th,.dense-table td{padding:8px 9px}.dense-table .table-section-row th{background:var(--vx-surface-soft);color:var(--vx-muted);letter-spacing:.02em;text-transform:uppercase;font-size:11px}th,td{border-bottom:1px solid var(--vx-border);text-align:right;white-space:nowrap;vertical-align:top;padding:9px 10px}th:first-child,td:first-child,.admin-table th,.admin-table td{text-align:left}th{color:var(--vx-muted);text-transform:uppercase;background:#f1f0f2;font-size:12px}.admin-form{background:var(--vx-surface);border:1px solid var(--vx-border);border-radius:var(--vx-radius);box-shadow:var(--vx-shadow);grid-template-columns:minmax(170px,1.2fr) minmax(150px,1fr) minmax(140px,1fr) minmax(130px,.7fr) auto;align-items:center;gap:10px;padding:14px;display:grid}.admin-form.compact-form{grid-template-columns:minmax(200px,1fr) auto;align-self:start}.user-invite-form{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.user-invite-form button{justify-self:start}.checkbox-line{color:var(--vx-text);align-items:center;gap:8px;font-size:13px;font-weight:700;display:inline-flex}.action-notice{background:var(--vx-surface);border:1px solid var(--vx-border);border-radius:var(--vx-radius);box-shadow:var(--vx-shadow);grid-template-columns:minmax(220px,.8fr) minmax(320px,1.2fr);align-items:center;gap:12px;padding:14px;display:grid}.action-notice strong,.action-notice p{margin:0}.action-notice p{color:var(--vx-muted);font-size:13px;line-height:1.4}.action-notice input{width:100%;font-size:12px}.action-sent,.action-ok{border-color:#28c76f59}.action-failed{border-color:#ff4c5159}.mail-settings-panel{background:var(--vx-surface);border:1px solid var(--vx-border);border-radius:var(--vx-radius);box-shadow:var(--vx-shadow);gap:16px;padding:16px;display:grid}.seatable-panel{gap:16px;display:grid}.seatable-settings-form,.seatable-access-card{background:var(--vx-surface);border:1px solid var(--vx-border);border-radius:var(--vx-radius);box-shadow:var(--vx-shadow);gap:14px;padding:16px;display:grid}.seatable-settings-grid,.seatable-meta-grid,.seatable-kpi-grid,.seatable-base-grid,.seatable-sync-steps{gap:12px;display:grid}.seatable-settings-grid{grid-template-columns:minmax(280px,1fr) minmax(320px,1.5fr)}.seatable-field-hint{color:var(--vx-muted);margin:0;font-size:13px}.seatable-settings-grid label{gap:6px;font-size:13px;font-weight:800;display:grid}.seatable-action-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.ghost-link{border-radius:var(--vx-radius);min-height:40px;color:var(--vx-primary);background:#7367f01a;justify-content:center;align-items:center;padding:8px 12px;font-weight:800;text-decoration:none;display:inline-flex}.seatable-meta-grid{grid-template-columns:repeat(3,minmax(180px,1fr))}.seatable-meta-grid article,.seatable-kpi-grid article,.seatable-base-card,.seatable-sync-steps article{background:var(--vx-surface);border:1px solid var(--vx-border);border-radius:var(--vx-radius);box-shadow:var(--vx-shadow);gap:6px;padding:14px;display:grid}.seatable-meta-grid span,.seatable-meta-grid small,.seatable-kpi-grid span,.seatable-kpi-grid small,.seatable-base-meta,.seatable-table-row span,.seatable-table-row small,.seatable-sync-steps span{color:var(--vx-muted)}.seatable-meta-grid strong,.seatable-kpi-grid strong{font-size:22px}.seatable-kpi-grid{grid-template-columns:repeat(4,minmax(180px,1fr))}.seatable-base-grid{grid-template-columns:repeat(2,minmax(280px,1fr))}.seatable-dry-grid{grid-template-columns:repeat(3,minmax(220px,1fr))}.seatable-dry-grid h4{margin:0}.seatable-mini-list{align-content:start}.seatable-mini-list>div{gap:3px;padding:10px;display:grid}.seatable-mini-list span,.seatable-mini-list small{color:var(--vx-muted)}.seatable-base-card h4{margin:0;font-size:18px}.seatable-base-meta{flex-wrap:wrap;gap:8px;font-size:12px;font-weight:700;display:flex}.seatable-table-list{gap:8px;display:grid}.seatable-table-row{border:1px solid var(--vx-border);border-radius:var(--vx-radius);background:#7367f00a;grid-template-columns:minmax(160px,1fr) auto;gap:4px 10px;padding:10px;display:grid}.seatable-table-row small{text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;overflow:hidden}.seatable-sync-steps{grid-template-columns:repeat(3,minmax(180px,1fr))}.log-viewer-panel{background:var(--vx-surface);border:1px solid var(--vx-border);border-radius:var(--vx-radius);box-shadow:var(--vx-shadow);grid-template-columns:minmax(0,1fr);gap:16px;min-width:0;padding:16px;display:grid}.log-filter-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:end;gap:10px;display:grid}.log-filter-grid .log-search-field{grid-column:span 2}.log-filter-grid label{gap:6px;font-size:13px;font-weight:800;display:grid}.log-filter-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.log-table-wrap{min-width:0;max-width:100%;max-height:620px;overflow:auto}.log-table{min-width:1120px}.log-table th,.log-table td{vertical-align:top}.log-table-message{white-space:normal;overflow-wrap:anywhere;max-width:520px}.log-details summary{cursor:pointer;color:var(--vx-primary);font-weight:800}.log-details pre{border-radius:var(--vx-radius);max-width:520px;max-height:260px;color:var(--vx-text);white-space:pre-wrap;overflow-wrap:anywhere;background:#2f2b3d0f;margin:8px 0 0;padding:10px;font-size:12px;overflow:auto}.log-level-error,.log-level-failed{color:#ea5455;background:#ff4c5124}.log-level-warning{color:#b86616;background:#ff9f4329}.log-level-info{color:var(--vx-info);background:#00cfe824}.admin-tabs{flex-wrap:wrap;place-content:flex-start;align-items:center;gap:8px;width:100%;min-width:0;max-width:100%;display:flex;overflow-x:clip}.admin-tabs button{text-align:center;white-space:normal;overflow-wrap:normal;-webkit-hyphens:auto;hyphens:auto;flex:auto;min-width:150px;max-width:260px;line-height:1.2}.user-kind-tabs{border-bottom:1px solid var(--vx-border);justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.user-kind-tabs h2{margin:0;font-size:18px}.user-kind-tabs p{margin:4px 0 0}.user-kind-tab-actions{flex-wrap:wrap;gap:8px;display:flex}.user-kind-tab-actions button{min-height:40px}.user-kind-tab-actions span,.user-kind-count{color:#8517ff;background:#8517ff1f;border-radius:999px;place-items:center;min-width:24px;min-height:24px;margin-left:6px;padding:0 7px;font-size:12px;font-weight:800;display:inline-grid}.user-kind-team-section{margin-top:16px}.user-kind-team-table th,.user-kind-team-table td{vertical-align:top}.user-management-table{table-layout:fixed;width:100%}.user-management-table th:first-child,.user-management-table td:first-child{width:34%}.user-management-table th:nth-child(2),.user-management-table td:nth-child(2){width:19%}.user-management-table th:nth-child(3),.user-management-table td:nth-child(3){width:25%}.user-management-table th:nth-child(4),.user-management-table td:nth-child(4){width:14%}.user-management-table th:nth-child(5),.user-management-table td:nth-child(5){width:56px}.user-summary-row td{vertical-align:middle;padding-top:8px;padding-bottom:8px}.user-summary-status{flex-wrap:wrap;gap:5px;display:flex}.user-summary-row .account-badge{overflow-wrap:anywhere;max-width:100%}.user-detail-control{text-align:center!important}.user-detail-toggle{width:40px;min-width:40px;height:40px;min-height:40px;padding:0}.user-detail-toggle span{border-bottom:2px solid;border-right:2px solid;width:8px;height:8px;margin:-3px auto 0;transition:transform .16s;display:block;transform:rotate(45deg)}.user-detail-toggle.is-expanded span{margin-top:3px;transform:rotate(225deg)}.user-detail-row>td{background:var(--vx-surface-soft);padding:0}.user-detail-grid{grid-template-columns:repeat(3,minmax(220px,1fr));gap:12px;padding:14px 16px 16px;display:grid}.user-detail-grid-internal{grid-template-columns:repeat(2,minmax(220px,1fr))}.user-detail-section{border:1px solid var(--vx-border);border-radius:var(--vx-radius);background:var(--vx-surface);align-content:start;gap:10px;min-width:0;padding:12px;display:grid}.user-detail-section h3{color:var(--vx-text);margin:0;font-size:13px}.user-detail-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.user-detail-field-grid .field{min-width:0}.user-detail-field-grid .checkbox-line{align-self:end;min-height:40px}.user-detail-meta{color:var(--vx-muted);flex-wrap:wrap;gap:5px 12px;font-size:12px;display:flex}.user-detail-tenants,.user-detail-actions{grid-column:span 2}@media (width<=767px){.user-management-table th,.user-management-table td{white-space:normal;padding:6px}.user-management-table th:first-child,.user-management-table td:first-child{width:32%}.user-management-table th:nth-child(2),.user-management-table td:nth-child(2){width:18%}.user-management-table th:nth-child(3),.user-management-table td:nth-child(3){width:24%}.user-management-table th:nth-child(4),.user-management-table td:nth-child(4){width:14%}.user-management-table th:nth-child(5),.user-management-table td:nth-child(5){width:40px}.user-management-table td.user-detail-control{padding:0}.user-detail-grid,.user-detail-grid-internal{grid-template-columns:1fr;padding:10px}.user-detail-tenants,.user-detail-actions{grid-column:auto}.user-detail-field-grid{grid-template-columns:1fr}.user-kind-tabs{flex-direction:column;align-items:stretch}.user-kind-tab-actions{grid-template-columns:1fr 1fr;display:grid}}.llm-panel{gap:16px;min-width:0;display:grid}.llm-stat-grid,.llm-provider-grid,.llm-provider-stats{gap:12px;display:grid}.llm-stat-grid{grid-template-columns:repeat(4,minmax(160px,1fr))}.llm-provider-grid{grid-template-columns:repeat(3,minmax(260px,1fr))}.llm-provider-stats{grid-template-columns:repeat(3,minmax(180px,1fr))}.llm-stat-grid article,.llm-provider-card,.llm-route-panel,.llm-provider-stats article{background:var(--vx-surface);border:1px solid var(--vx-border);border-radius:var(--vx-radius);box-shadow:var(--vx-shadow);min-width:0;padding:14px}.llm-stat-grid article{gap:4px;display:grid}.llm-stat-grid span,.llm-provider-stats span,.llm-provider-stats small{color:var(--vx-muted)}.llm-stat-grid strong{font-size:24px}.llm-provider-card,.llm-route-panel{gap:12px;display:grid}.llm-title-input{background:0 0;border:0;min-height:auto;padding:0;font-size:18px;font-weight:800}.llm-provider-fields{grid-template-columns:repeat(2,minmax(120px,1fr));gap:10px;display:grid}.llm-provider-fields label{color:var(--vx-muted);gap:6px;font-size:12px;font-weight:800;display:grid}.llm-provider-fields input,.llm-provider-fields select,.llm-provider-fields textarea{width:100%;min-width:0}.llm-provider-card .card-head{flex-wrap:wrap;min-width:0}.llm-model-hint{min-height:16px;font-size:11px;font-weight:700;line-height:1.35;display:block}.llm-model-hint.model-ok{color:var(--vx-success)}.llm-model-hint.model-open{color:var(--vx-muted)}.llm-provider-fields textarea{resize:vertical;min-height:72px}.llm-wide-field{grid-column:1/-1}.llm-provider-meta,.horizontal-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.llm-provider-meta{color:var(--vx-muted);font-size:12px}.danger-text{color:var(--vx-danger)}.mail-status-row{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.mail-settings-form{gap:14px;display:grid}.mail-settings-grid{grid-template-columns:repeat(6,minmax(140px,1fr));gap:10px;display:grid}.mail-settings-grid label,.mail-template-field{color:var(--vx-text);gap:6px;font-size:13px;font-weight:700;display:grid}.mail-settings-grid input,.mail-template-field input,.mail-template-field textarea,.mail-actions input{width:100%}.mail-options-row,.mail-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.mail-template-grid{grid-template-columns:repeat(2,minmax(260px,1fr));gap:12px;display:grid}.mail-template-field textarea{min-height:180px;font-family:inherit;font-size:14px}.mail-test-notice{border:1px solid var(--vx-border);border-radius:var(--vx-radius);background:#7367f014;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;display:flex}.mail-test-notice span{color:var(--vx-muted)}.mail-actions input{max-width:320px}.access-management{gap:14px;display:grid}.access-setup-grid{grid-template-columns:minmax(520px,1.5fr) minmax(320px,.7fr);align-items:stretch;gap:12px;display:grid}.admin-form.access-group-form{grid-template-columns:minmax(220px,1fr) minmax(180px,.9fr) minmax(260px,1.2fr) auto}.admin-form.access-tenant-form{grid-template-columns:minmax(220px,1fr) auto;align-content:start}.admin-form.article-create-form{grid-template-columns:minmax(170px,.8fr) minmax(150px,.8fr) minmax(220px,1.2fr) minmax(90px,.45fr) minmax(130px,.55fr) minmax(260px,1.3fr) auto auto;align-items:end}.article-create-form .field{margin-bottom:0}.article-create-active{align-self:center}.access-tenant-table{width:100%}.access-tenant-table table{min-width:760px}.access-tenant-table td:first-child{font-weight:800}.access-tenant-table td:last-child{white-space:normal;line-height:1.35}.admin-form-stack,.tenant-group-panel,.tenant-group-grid,.seatable-dry-grid,.seatable-mini-list{gap:12px;display:grid}.tenant-group-panel{background:var(--vx-surface);border:1px solid var(--vx-border);border-radius:var(--vx-radius);box-shadow:var(--vx-shadow);padding:16px}.tenant-group-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.tenant-group-grid article,.seatable-dry-grid article,.seatable-mini-list>div{border:1px solid var(--vx-border);border-radius:var(--vx-radius);background:#ffffffb8}.tenant-group-grid article,.seatable-dry-grid article{gap:8px;padding:14px;display:grid}.tenant-group-grid p,.tenant-group-grid small{margin:0}.admin-table input:not([type=checkbox]),.admin-table select{width:100%;min-width:130px}.access-list{gap:6px;min-width:170px;display:grid}.direct-access-details{min-width:260px}.direct-access-details summary{cursor:pointer;color:var(--vx-primary);font-weight:800;list-style-position:inside}.direct-access-details .access-list{max-height:280px;margin-top:8px;padding-right:4px;overflow:auto}.access-inherited{color:var(--vx-muted)}.user-company-filter,.company-user-group,.company-admin-card{background:var(--vx-surface);border:1px solid var(--vx-border);border-radius:var(--vx-radius);box-shadow:var(--vx-shadow)}.user-company-filter{padding:12px 14px}.user-company-filter label{max-width:320px;color:var(--vx-text);gap:6px;font-size:13px;font-weight:800;display:grid}.company-user-group{overflow:hidden}.company-user-group>summary{cursor:pointer;color:var(--vx-text);justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.company-user-group>.table-wrap{border:0;border-top:1px solid var(--vx-border);box-shadow:none;border-radius:0}.company-admin-grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:14px;display:grid}.company-admin-card{gap:12px;padding:14px;display:grid}.company-admin-card textarea{resize:vertical;min-height:70px}.company-access-grid{grid-template-columns:repeat(2,minmax(180px,1fr));gap:10px;display:grid}.company-access-grid details{border:1px solid var(--vx-border);border-radius:var(--vx-radius);background:#ffffff8c;padding:10px}.company-access-grid summary{cursor:pointer;color:var(--vx-primary);font-weight:800}.company-access-grid .access-list{max-height:240px;margin-top:8px;padding-right:4px;overflow:auto}.role-create-form{grid-template-columns:minmax(220px,1fr) minmax(180px,.65fr) minmax(260px,1fr) auto auto}.role-create-permissions{grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;display:grid}.role-admin-grid{grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:14px;min-width:0;display:grid;overflow-x:auto}.role-admin-card{background:var(--vx-surface);border:1px solid var(--vx-border);border-radius:var(--vx-radius);min-width:0;box-shadow:var(--vx-shadow);gap:12px;padding:14px;display:grid;overflow:hidden}.role-title-fields{gap:4px;min-width:0;display:grid}.role-title-fields code{color:var(--vx-muted);font-size:12px}.role-admin-card textarea{resize:vertical;min-height:72px}.action-module-card .config-preview{border:1px solid var(--vx-border);border-radius:var(--vx-radius-sm);max-height:220px;color:var(--vx-text);white-space:pre-wrap;word-break:break-word;background:#7367f00f;margin:0;padding:10px;font-size:12px;line-height:1.45;overflow:auto}.action-module-admin-panel .error-text{border-radius:var(--vx-radius-sm);color:var(--vx-danger);background:#ea54551f;border:1px solid #ea545547;margin:0;padding:10px 12px;font-weight:800}.action-module-config-editor{gap:10px;display:grid}.action-module-schema-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.action-module-config-editor .field{gap:6px;display:grid}.action-module-config-editor .field small{color:var(--vx-muted);font-size:11px;line-height:1.35}.action-module-schema-checkbox{grid-template-columns:auto minmax(0,1fr);align-content:start;-moz-column-gap:8px!important;column-gap:8px!important}.action-module-schema-checkbox input{grid-row:1/span 2;width:auto;margin-top:3px}.action-module-schema-checkbox small{grid-column:2}.action-module-technical-preview summary{color:var(--vx-muted);cursor:pointer;font-size:12px;font-weight:900}.action-module-technical-preview .config-preview{margin-top:8px}.action-module-config-editor .config-preview{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.role-user-list{border:1px solid var(--vx-border);border-radius:var(--vx-radius);background:#7367f00f;gap:8px;padding:10px;display:grid}.role-user-list>div{flex-wrap:wrap;gap:6px;display:flex}.user-mini-pill{color:var(--vx-primary);background:#7367f01f;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:800}.role-permission-matrix,.permission-check-grid{gap:8px;display:grid}.role-permission-matrix{grid-template-columns:1fr}.role-permission-matrix details,.role-create-permissions details{border:1px solid var(--vx-border);border-radius:var(--vx-radius);background:#ffffff8f;padding:10px}.role-permission-matrix summary,.role-create-permissions summary{cursor:pointer;color:var(--vx-primary);font-weight:800}.permission-check-grid{margin-top:8px}.permission-check-grid label{color:var(--vx-text);grid-template-columns:auto 1fr;align-items:start;gap:8px;font-size:13px;line-height:1.35;display:grid}.account-state,.row-actions{gap:6px;display:grid}.account-state small{color:var(--vx-muted);font-size:12px}.account-badge{border-radius:999px;width:fit-content;padding:4px 8px;font-size:12px;font-weight:800}.account-ok{color:#1f9d59;background:#28c76f24}.account-pending,.account-warning{color:#a55f00;background:#ff9f4329}.account-entra{color:#0067c0;background:#0078d424}.account-entra-pending{color:#5a7a9a;background:#0078d414}.account-failed,.account-danger{color:var(--vx-danger);background:#ff4c511f}.account-open{color:var(--vx-primary);background:#7367f01f}.inline-heading,.field-title-with-badge{flex-wrap:wrap;align-items:center;gap:10px;display:inline-flex}.operator-has-warning td:first-child{box-shadow:inset 4px 0 0 var(--vx-danger)}.plausibility-fallback-row{background:#ff4c510f}.plausibility-warning-box{color:var(--vx-danger);background:#ff4c5114;border:1px solid #ff4c513d;border-radius:8px;gap:6px;margin-top:12px;padding:12px 14px;font-weight:700;display:grid}.row-actions{min-width:0}.row-actions.horizontal-actions,.row-actions.article-row-actions{flex-flow:wrap;align-items:center;gap:8px;display:flex}:root[data-theme=dark] .sidebar{box-shadow:8px 0 28px #00000047}:root[data-theme=dark] .sidebar-toggle{background:rgba(var(--vx-surface-rgb), .92)}:root[data-theme=dark] .route-3d-panel{background:linear-gradient(#25293cf5,#1c1f2ef0)}:root[data-theme=dark] .route-3d-controls,:root[data-theme=dark] .route-3d-view-buttons,:root[data-theme=dark] .route-3d-zoom{background:#ffffff0a;border-color:#ffffff1a}:root[data-theme=dark] .dockable-panel,:root[data-theme=dark] .dockable-panel-body,:root[data-theme=dark] .article-admin-section{background:var(--vx-surface)}:root[data-theme=dark] .article-edit-row td{background:#8c82ff14}:root[data-theme=dark] .dockable-panel-head,:root[data-theme=dark] .dockable-placeholder{background:#7367f01f;border-color:#ffffff1f}:root[data-theme=dark] .secondary{background:#8c82ff29}:root[data-theme=dark] .route-node-popover,:root[data-theme=dark] .reference-measure-popover,:root[data-theme=dark] .central-strand-popover,:root[data-theme=dark] .central-route-context-menu{background:#1c1a2af7;border-color:#8c82ff42}:root[data-theme=dark] .central-strand-id-chip{background:#8c82ff29;border-color:#8c82ff57}:root[data-theme=dark] .central-strand-option:hover,:root[data-theme=dark] .central-strand-option:focus-within{background:#8c82ff24}:root[data-theme=dark] .central-strand-docking-row,:root[data-theme=dark] .central-strand-article-pill{background:#28c76f21;border-color:#28c76f47}:root[data-theme=dark] .central-strand-docking-summary--empty p{border-color:#8c82ff47}:root[data-theme=dark] .route-node-popover-field input,:root[data-theme=dark] .route-node-article-picker select{color:var(--vx-heading);background:#8c82ff1f;border-color:#8c82ff3d}:root[data-theme=dark] .route-node-popover-field input:focus,:root[data-theme=dark] .route-node-article-picker select:focus{background:#8c82ff33;border-color:#8c82ff85}:root[data-theme=dark] .route-height-chip{background:#1c1a2ad6}:root[data-theme=dark] .route-height-chip span+span{color:#e1def5b8}:root[data-theme=dark] .route-node-popover-note{background:#ff9f431f;border-color:#ff9f4347}:root[data-theme=dark] .secondary:hover,:root[data-theme=dark] .sidebar .ghost:hover,:root[data-theme=dark] .theme-toggle:hover,:root[data-theme=dark] .theme-toggle:focus-visible{background:#8c82ff2e}:root[data-theme=dark] .status{color:#41d9e9;background:#27d3e629}:root[data-theme=dark] .pill,:root[data-theme=dark] .account-ok{color:#4ce094}:root[data-theme=dark] .service-card,:root[data-theme=dark] .tool-status-panel,:root[data-theme=dark] .embedded-tool-toolbar,:root[data-theme=dark] .embedded-tool-frame,:root[data-theme=dark] .panel,:root[data-theme=dark] .results,:root[data-theme=dark] .context-panel,:root[data-theme=dark] .json-panel,:root[data-theme=dark] .map-panel,:root[data-theme=dark] .table-wrap,:root[data-theme=dark] .collapsible-table-section,:root[data-theme=dark] .mail-settings-panel,:root[data-theme=dark] .log-viewer-panel,:root[data-theme=dark] .seatable-settings-form,:root[data-theme=dark] .seatable-access-card,:root[data-theme=dark] .seatable-meta-grid article,:root[data-theme=dark] .seatable-kpi-grid article,:root[data-theme=dark] .seatable-base-card,:root[data-theme=dark] .seatable-sync-steps article,:root[data-theme=dark] .tenant-group-panel,:root[data-theme=dark] .user-company-filter,:root[data-theme=dark] .company-user-group,:root[data-theme=dark] .company-admin-card,:root[data-theme=dark] .role-admin-card,:root[data-theme=dark] .llm-stat-grid article,:root[data-theme=dark] .llm-provider-card,:root[data-theme=dark] .llm-route-panel,:root[data-theme=dark] .llm-provider-stats article,:root[data-theme=dark] .admin-form,:root[data-theme=dark] .action-notice,:root[data-theme=dark] .parking-toolbar,:root[data-theme=dark] .parking-plan-panel,:root[data-theme=dark] .quote-panel,:root[data-theme=dark] .parking-overview-map-stage,:root[data-theme=dark] .parking-admin-grid>details,:root[data-theme=dark] .distributor-row,:root[data-theme=dark] .module-toggle-panel,:root[data-theme=dark] .quote-position,:root[data-theme=dark] .formula-grid article,:root[data-theme=dark] .monthly-grid div,:root[data-theme=dark] .kpis article,:root[data-theme=dark] .cashflow-summary article,:root[data-theme=dark] .metric-block{background:var(--vx-panel)}:root[data-theme=dark] .role-permission-matrix details,:root[data-theme=dark] .role-create-permissions details,:root[data-theme=dark] .role-user-list{background:#ffffff0a}:root[data-theme=dark] .service-card,:root[data-theme=dark] .panel,:root[data-theme=dark] .table-wrap,:root[data-theme=dark] .collapsible-table-section,:root[data-theme=dark] .map-panel,:root[data-theme=dark] .topbar{box-shadow:var(--vx-shadow)}:root[data-theme=dark] input,:root[data-theme=dark] select,:root[data-theme=dark] textarea,:root[data-theme=dark] .mains-current-toggle,:root[data-theme=dark] .suggestions,:root[data-theme=dark] .mains-current-menu,:root[data-theme=dark] .search-suggestions,:root[data-theme=dark] .plan-level-editor,:root[data-theme=dark] .plan-strand-row,:root[data-theme=dark] .project-plan-stage,:root[data-theme=dark] .space-admin-row,:root[data-theme=dark] .strand-admin-card,:root[data-theme=dark] .tenant-group-grid article,:root[data-theme=dark] .company-access-grid details,:root[data-theme=dark] .seatable-dry-grid article,:root[data-theme=dark] .seatable-mini-list>div,:root[data-theme=dark] .seatable-table-row{background:rgba(var(--vx-surface-rgb), .92)}:root[data-theme=dark] .project-plan-stage.edit-mode,:root[data-theme=dark] .plan-level-editor.active,:root[data-theme=dark] .selected-row td,:root[data-theme=dark] .operator-row-clickable:hover td{background:#8c82ff1a}:root[data-theme=dark] .plan-edit-toolbar{background:linear-gradient(135deg,#8c82ff29,#27d3e60e);border-color:#8c82ff3d}:root[data-theme=dark] .marker-size-control,:root[data-theme=dark] .calibration-control,:root[data-theme=dark] .detection-debug-panel,:root[data-theme=dark] .plan-space-detail-toolbar,:root[data-theme=dark] .strand-batch-toolbar{background:linear-gradient(180deg, #f4f2ff0b, #f4f2ff04), var(--vx-panel-strong);color:var(--vx-text);border-color:#8c82ff47;box-shadow:inset 0 1px #f4f2ff0f}:root[data-theme=dark] .plan-edit-toolbar .field span,:root[data-theme=dark] .marker-size-control .field span,:root[data-theme=dark] .calibration-control>span{color:#f4f2ffdb}:root[data-theme=dark] .plan-edit-toolbar button:disabled,:root[data-theme=dark] .marker-size-control button:disabled,:root[data-theme=dark] .calibration-control button:disabled{color:#f4f2ff9e;opacity:1;background:#8c82ff1a}:root[data-theme=dark] .registration-links-panel{background:linear-gradient(135deg,#8c82ff1f,#27d3e60d);border-color:#8c82ff3d}:root[data-theme=dark] .registration-link-card,:root[data-theme=dark] .registration-link-meta div{background:rgba(var(--vx-surface-rgb), .92);border-color:#8c82ff38}:root[data-theme=dark] .location-participant-panel{background:#28c76f17;border-color:#28c76f47}:root[data-theme=dark] .location-access-path-guide{background:#8c82ff1a;border-color:#8c82ff47}:root[data-theme=dark] .location-access-path-card{background:rgba(var(--vx-surface-rgb), .84)}:root[data-theme=dark] .location-participant-card{background:rgba(var(--vx-surface-rgb), .92);border-color:#28c76f33}:root[data-theme=dark] .detection-debug-grid article,:root[data-theme=dark] .detection-debug-tiles span,:root[data-theme=dark] .detection-debug-panel pre{background:rgba(var(--vx-surface-rgb), .88);border-color:#f4f2ff1f}:root[data-theme=dark] .calibration-control strong{color:#6ce8f3;background:#27d3e624}:root[data-theme=dark] .floating-save-bar{background:var(--vx-elevated);box-shadow:var(--vx-shadow-lg)}:root[data-theme=dark] .edit-lock-pill{background:#7367f02e}:root[data-theme=dark] .edit-lock-pill.active{background:#28c76f2e}:root[data-theme=dark] .edit-lock-pill.blocked{background:#ff9f432e}:root[data-theme=dark] .module-summary,:root[data-theme=dark] .parking-context,:root[data-theme=dark] .admin-cockpit,:root[data-theme=dark] .shareholder-cockpit,:root[data-theme=dark] .derived-usage-panel,:root[data-theme=dark] .grid-cost-location-context,:root[data-theme=dark] .parking-overview-row{background:linear-gradient(135deg,#8c82ff24,#27d3e60f)}:root[data-theme=dark] .parking-context-kpi-card,:root[data-theme=dark] .parking-context-metrics article,:root[data-theme=dark] .parking-context-metric-button,:root[data-theme=dark] .active-project-overview-panel,:root[data-theme=dark] .parking-invest-breakdown,:root[data-theme=dark] .parking-invest-list div,:root[data-theme=dark] .parking-invest-breakdown .parking-invest-total,:root[data-theme=dark] .parking-description-grid article,:root[data-theme=dark] .location-briefing-metrics article,:root[data-theme=dark] .electricity-profile-grid article{background:rgba(var(--vx-surface-rgb), .76);color:var(--vx-text);border-color:#f4f2ff24}:root[data-theme=dark] .active-project-topbar-chip,:root[data-theme=dark] .active-project-select{background:#28c76f1f;border-color:#28c76f47}:root[data-theme=dark] .location-row.active-project-row td{background:#28c76f1a}:root[data-theme=dark] .electricity-breakdown{background:linear-gradient(135deg,#27d3e61a,#8c82ff1a);border-color:#27d3e638}:root[data-theme=dark] .parking-context p,:root[data-theme=dark] .parking-description-grid article p,:root[data-theme=dark] .location-briefing-copy p{color:var(--vx-muted)}:root[data-theme=dark] .parking-context .parking-usage-note,:root[data-theme=dark] .parking-context-metrics article strong,:root[data-theme=dark] .parking-context-metric-button strong,:root[data-theme=dark] .parking-invest-breakdown em,:root[data-theme=dark] .parking-description-grid article strong,:root[data-theme=dark] .location-briefing-metrics strong,:root[data-theme=dark] .electricity-profile-grid strong{color:var(--vx-text)}:root[data-theme=dark] .parking-context-metrics article span,:root[data-theme=dark] .parking-context-metric-button span,:root[data-theme=dark] .parking-invest-breakdown>span,:root[data-theme=dark] .location-briefing-metrics span,:root[data-theme=dark] .electricity-profile-grid span,:root[data-theme=dark] .electricity-profile-grid small{color:var(--vx-muted)}:root[data-theme=dark] .parking-invest-breakdown .parking-invest-total{background:#8c82ff24}:root[data-theme=dark] .investor-hero,:root[data-theme=dark] .grid-cost-hero{box-shadow:var(--vx-shadow-lg)}:root[data-theme=dark] .cashflow-bars,:root[data-theme=dark] .lp-ramp-chart,:root[data-theme=dark] .price-chart,:root[data-theme=dark] .year-load-grid,:root[data-theme=dark] .ev-ramp-chart svg{background:linear-gradient(#8c82ff1c 1px,#0000 1px) 0 0/100% 25%,#f4f2ff09}:root[data-theme=dark] .cashflow-zero-line{background:#f4f2ff38}:root[data-theme=dark] .connection-scenario-panel,:root[data-theme=dark] .connection-explainer-card{background:var(--vx-panel)}:root[data-theme=dark] .scenario-period-control{background:linear-gradient(135deg,#8c82ff29,#27d3e60f);border-color:#8c82ff42}:root[data-theme=dark] .scenario-vnb-context{background:#27d3e61a;border-color:#27d3e640}:root[data-theme=dark] .scenario-vnb-context.warning{background:#ffb85e1f;border-color:#ffb85e57}:root[data-theme=dark] .connection-explainer-grid article,:root[data-theme=dark] .connection-scenario-grid article{background:rgba(var(--vx-surface-rgb), .72);border-color:#f4f2ff24}:root[data-theme=dark] .connection-scenario-grid article.disabled-scenario{opacity:.78;background:#f4f2ff0b;border-color:#f4f2ff1a}:root[data-theme=dark] .scenario-metric-grid div,:root[data-theme=dark] .scenario-audit,:root[data-theme=dark] .scenario-audit-grid div{background:#f4f2ff0e;border-color:#f4f2ff1f}:root[data-theme=dark] .scenario-audit-grid{background:#8c82ff29;border-top-color:#8c82ff2e}:root[data-theme=dark] .connection-scenario-grid h4,:root[data-theme=dark] .scenario-card-price strong,:root[data-theme=dark] .scenario-metric-grid strong,:root[data-theme=dark] .scenario-audit-grid strong{color:var(--vx-text)}:root[data-theme=dark] .scenario-possibility-button{background:#ff6b701f}:root[data-theme=dark] .scenario-possibility-button.restore{background:#35d4851f}:root[data-theme=dark] .scenario-warning-list span{color:#ffb3b6;background:#ff6b7029;border-color:#ff6b7052}:root[data-theme=dark] .scenario-warning-list a{color:#ffd0d2;background:#ff6b702e}:root[data-theme=dark] .location-map,:root[data-theme=dark] .location-position-map{background:var(--vx-map-bg)}:root[data-theme=dark] .leaflet-tile{filter:brightness(.72)contrast(1.15)saturate(.85)}:root[data-theme=dark] .leaflet-control,:root[data-theme=dark] .leaflet-popup-content-wrapper,:root[data-theme=dark] .leaflet-popup-tip,:root[data-theme=dark] .leaflet-control-attribution{color:var(--vx-text);background:var(--vx-surface);border-color:var(--vx-border)}:root[data-theme=dark] .leaflet-container a{color:var(--vx-info)}:root[data-theme=dark] .map-popup,:root[data-theme=dark] .map-popup strong{color:var(--vx-text)}:root[data-theme=dark] th{background:var(--vx-surface-soft)}:root[data-theme=dark] td,:root[data-theme=dark] .location-row td{background:var(--vx-table-row)}:root[data-theme=dark] .overview-parking-editor{background:#2f2b3db8}:root[data-theme=dark] .overview-parking-row{background:var(--vx-surface)}:root[data-theme=dark] .muted-document-row td,:root[data-theme=dark] .new-row td{background:#28c76f14}:root[data-theme=dark] .grid-cost-breakdown-table .table-section-row th,:root[data-theme=dark] .dense-table .table-section-row th{background:var(--vx-surface-soft)}:root[data-theme=dark] .log-details pre,:root[data-theme=dark] .project-plan-stage{background:#f4f2ff0f}:root[data-theme=dark] .quote-position-list::-webkit-scrollbar-track{background:#f4f2ff0f}:root[data-theme=dark] .quote-position-list::-webkit-scrollbar-thumb{border-color:var(--vx-surface)}:root[data-theme=dark] .mix-bar,:root[data-theme=dark] input[type=range]{background:#f4f2ff24}@media (width<=980px){.app-shell,.app-shell.sidebar-collapsed{grid-template-columns:1fr}.sidebar{z-index:3800;border-right:1px solid var(--vx-border);overscroll-behavior:contain;border-bottom:0;grid-template-rows:auto auto 1fr auto;width:min(86vw,340px);height:100dvh;min-height:100dvh;max-height:100dvh;padding:16px;transition:transform .18s;position:fixed;top:0;left:0;overflow-y:auto;transform:translate(-104%)}.mobile-sidebar-open .sidebar{transform:translate(0)}.app-shell:not(.mobile-sidebar-open) .sidebar-toggle,.app-shell:not(.mobile-sidebar-open) .sync-health-pill{display:none}.mobile-menu-toggle{place-content:center;display:inline-grid}.mobile-sidebar-backdrop{z-index:3790;opacity:0;pointer-events:none;background:#2f2b3d6b;border:0;border-radius:0;width:100%;min-height:100dvh;transition:opacity .18s;position:fixed;inset:0}.mobile-sidebar-open .mobile-sidebar-backdrop{opacity:1;pointer-events:auto;display:block}.workspace{padding:16px}.embedded-tool-view,.stirling-pdf-view{grid-template-rows:auto minmax(520px,1fr);min-height:calc(100vh - 96px)}.embedded-tool-toolbar{flex-direction:column;align-items:stretch}.embedded-tool-toolbar button{width:100%}.embedded-tool-frame{min-height:520px}.nav-actions,.nav-group,.nav-subgroup,.nav-subsection,.nav-subactions,.nested-subactions{grid-template-columns:minmax(0,1fr);width:100%;min-width:0}.nav-actions{gap:8px}.nav-subactions{gap:6px}.sidebar .ghost,.sidebar .primary,.sidebar .secondary,.sidebar .nav-toggle,.nav-subactions button{min-height:44px}.sidebar-collapsed .brand-text,.sidebar-collapsed .nav-label,.sidebar-collapsed .nav-caret,.sidebar-collapsed .sidebar-footer .pill{display:inline-flex}.sidebar-collapsed .brand-block{flex-direction:row;gap:12px}.sidebar-collapsed .sidebar-controls{margin-left:auto}.sidebar-collapsed .nav-icon{display:none}.sidebar-collapsed .sidebar-toggle{margin-left:auto;position:static}.sidebar-collapsed .sidebar .ghost,.sidebar-collapsed .sidebar .primary,.sidebar-collapsed .sidebar .secondary,.sidebar-collapsed .sidebar .nav-toggle{justify-content:flex-start;padding-inline:14px}.nav-subactions{border-left:0;padding-left:0}.sidebar-footer{grid-template-columns:1fr auto;align-items:center}.calc-layout,.admin-form,.access-setup-grid,.context-grid,.location-form,.tool-status-panel,.location-edit-form,.location-new-form,.location-detail-form,.location-parameter-grid,.location-briefing,.location-briefing-metrics,.vnb-assignment-grid,.registration-link-create,.location-access-path-grid,.registration-link-meta,.registration-link-copy-grid,.vnb-source-details,.connection-explainer-grid,.connection-scenario-grid,.scenario-metric-grid,.scenario-audit-grid,.scenario-cost-row,.parking-seed-grid,.parking-card-grid,.parking-card-fields,.parking-cost-grid,.parking-context,.parking-context-metrics,.form-inline,.energy-context-grid,.energy-hero,.energy-kpis,.compact-kpis,.demand-flow,.demand-scenario-grid,.demand-group-grid,.demand-ramp-summary,.energy-grid,.monthly-grid,.source-control-grid,.grid-cost-hero,.grid-cost-controls,.grid-cost-grid,.grid-component-grid,.operator-workbench,.crawler-config-grid,.document-search-status-panel,.manual-document-row,.operator-create-row,.operator-table-summary,.operator-kpi-strip,.operator-detail-grid,.mail-settings-grid,.mail-template-grid,.seatable-settings-grid,.seatable-meta-grid,.seatable-kpi-grid,.seatable-base-grid,.seatable-dry-grid,.seatable-sync-steps,.log-filter-grid,.tenant-group-grid,.admin-form.article-create-form,.article-admin-row,.article-edit-form,.article-tech-fields,.article-labor-cost-row,.article-tech-suggestion,.parking-overview-row,.parking-overview-row.editable,.llm-stat-grid,.llm-provider-grid,.llm-provider-fields,.llm-provider-stats,.parking-calc-layout,.project-admin-row,.plan-space-detail-toolbar,.strand-batch-toolbar,.space-batch-toolbar,.distributor-row,.plan-strand-row,.space-admin-row,.lp-ramp-summary,.action-notice{grid-template-columns:1fr}.parking-section-head{flex-direction:column;align-items:stretch}.overview-filter-bar{grid-template-columns:1fr;align-items:stretch}.overview-filter-actions{justify-content:flex-start}.location-identity-panel,.location-core-form{grid-template-columns:1fr}.quote-panel{position:static}.parking-calc-layout.quote-collapsed{grid-template-columns:1fr}.quote-panel.collapsed{place-items:stretch stretch;min-height:auto}.quote-panel-collapsed-copy{writing-mode:horizontal-tb;transform:none}.management-accordion>summary{grid-template-columns:auto minmax(0,1fr)}.plan-tool-section>summary{grid-template-columns:18px minmax(0,1fr)}.plan-tool-section>summary span,.plan-tool-section>summary strong,.plan-tool-section>summary em,.management-accordion>summary span,.management-accordion>summary strong,.management-accordion>summary em{text-align:left;grid-column:2}.parking-scenario-matrix-head{display:grid}.parking-scenario-matrix-head p{text-align:left}.investor-hero,.hero-metrics,.status-row,.compact-field-row,.map-head,.mail-status-row,.mail-actions,.mail-options-row,.card-head{flex-direction:column;grid-template-columns:1fr;align-items:flex-start}.topbar,.section-head{flex-direction:column;align-items:flex-start}.collapsible-table-head{grid-template-columns:auto minmax(0,1fr)}.collapsible-table-meta{grid-column:2;justify-content:flex-start}.topbar-meta{flex-direction:column;align-items:flex-start}.active-project-topbar-group{flex-direction:column;align-items:flex-start;width:100%}.active-project-overview-panel{flex-direction:column;align-items:flex-start}.active-project-topbar-chip{width:100%;max-width:100%}.topbar-status{white-space:normal;max-width:100%}.section-actions{justify-content:flex-start}.wide-field,.cost-description-field,.parking-seed-panel,.cashflow-block,.lp-ramp-block,.location-new-form>button{grid-column:1/-1}.topbar{margin-bottom:16px}.tool-launch{justify-items:stretch}.global-assumption-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.assumption-note-field{grid-column:1/-1}.cashflow-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=768px) and (width<=980px){.topbar{align-items:stretch;gap:0;padding:8px 12px}.topbar-row{grid-template-columns:44px minmax(0,1fr) minmax(120px,190px) minmax(96px,140px) 38px 44px;grid-template-areas:"menu title project clock theme avatar";align-items:center;gap:8px;min-height:44px;display:grid}.topbar-meta{display:contents}.mobile-menu-toggle{grid-area:menu;width:44px;height:44px;display:inline-grid}.topbar-title-col{grid-area:title;width:100%;min-width:0;padding-top:0}.topbar h1{text-overflow:ellipsis;white-space:nowrap;font-size:20px;line-height:1.1;overflow:hidden}.active-project-topbar-chip{grid-area:project;width:100%;min-width:0;max-width:190px;min-height:40px;padding:5px 8px}.topbar-meta>.theme-toggle{grid-area:theme}.topbar-meta>.topbar-clock{text-overflow:ellipsis;grid-area:clock;min-width:0;max-width:140px;overflow:hidden}.topbar-meta>.user-chip--avatar-only{grid-area:avatar;justify-self:end;width:44px;min-width:44px;height:44px;min-height:44px}.topbar-meta>.user-chip--avatar-only>span{border-radius:10px;width:44px;height:44px}.topbar-meta>.topbar-status{border:2px solid var(--vx-elevated);background:var(--vx-success);color:#0000;white-space:nowrap;border-radius:999px;grid-area:avatar;place-self:start;width:10px;min-width:10px;height:10px;min-height:10px;margin:-1px 0 0;padding:0;overflow:hidden;box-shadow:0 0 0 1px #28c76f47}.topbar-meta>.impersonation-banner{grid-column:1/-1;max-width:100%;min-height:44px}}@media (width<=767px){.topbar{border-radius:10px;grid-template-columns:44px minmax(0,1fr) minmax(118px,42vw) 44px;grid-template-areas:"menu title title avatar""project project project project";align-items:center;gap:6px 8px;width:100%;margin-bottom:10px;padding:8px;display:grid}.topbar-row,.topbar-meta{display:contents}.mobile-menu-toggle{grid-area:menu;width:44px;height:44px}.topbar-title-col{grid-area:title;align-self:center;gap:6px;width:auto;min-width:0;padding-top:0}.topbar h1{text-overflow:ellipsis;white-space:nowrap;font-size:18px;line-height:1.1;overflow:hidden}.topbar-meta>.theme-toggle,.topbar-meta>.topbar-clock{display:none}.avatar-context-menu-item--mobile-theme{display:block}.topbar-meta>.user-chip--avatar-only{grid-area:avatar;justify-self:end;width:44px;min-width:44px;height:44px;min-height:44px}.topbar-meta>.user-chip--avatar-only>span{border-radius:10px;width:44px;height:44px}.user-chip-popover{display:none}.topbar-meta>.topbar-status{border:2px solid var(--vx-elevated);background:var(--vx-success);color:#0000;white-space:nowrap;border-radius:999px;grid-area:avatar;place-self:start;width:10px;min-width:10px;height:10px;min-height:10px;margin:-1px 0 0;padding:0;overflow:hidden;box-shadow:0 0 0 1px #28c76f47}.topbar-meta>.topbar-status:before{content:""}.topbar-meta>.impersonation-banner{grid-column:1/-1;max-width:100%;min-height:44px}.active-project-topbar-chip{border-radius:8px;grid-area:project;width:100%;max-width:100%;min-height:44px;padding:5px 8px}.active-project-topbar-chip strong{font-size:12px}.active-project-topbar-chip small{font-size:10px}.topbar-seg-btn{border-radius:8px;flex:none;font-size:12px}.topbar:not(:has(.active-project-topbar-chip)){grid-template-areas:"menu title title avatar"}}@media (width<=520px){.workspace{overflow-x:clip}.topbar-row{flex-direction:column;align-items:stretch;min-width:0}.topbar-title-col{width:100%}.topbar-meta{width:100%;max-width:100%}.user-chip{max-width:100%}.user-chip strong,.user-chip small{text-overflow:ellipsis;white-space:nowrap;max-width:60vw;overflow:hidden}.grid-cost-page,.grid-cost-hero,.grid-cost-controls,.grid-cost-grid,.grid-component-grid{width:100%;min-width:0;max-width:100%}.grid-cost-hero,.grid-cost-controls,.grid-cost-grid,.grid-component-grid,.compact-formula-grid{grid-template-columns:minmax(0,1fr)}.grid-cost-hero h3{font-size:32px}.grid-cost-breakdown-table{min-width:520px}}@media (width<=680px){.cashflow-summary,.cashflow-chart,.lp-ramp-chart{grid-template-columns:1fr}.cashflow-scale,.lp-ramp-scale{display:none}.global-assumption-grid{grid-template-columns:1fr}.assumption-field-short,.assumption-field-count,.assumption-note-field{grid-column:1/-1}}.investor-dashboard{gap:18px}.investor-hero{background:linear-gradient(135deg, #7367f014, #00bad10d), var(--vx-panel-strong);border-color:#7367f038;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:22px;display:grid}.investor-hero h2,.investor-chart-card h3,.investor-project-table-card h3{margin:0}.investor-hero p,.investor-chart-card p,.investor-project-table-card p{color:var(--vx-muted);margin:4px 0 0}.investor-status-note{border-radius:var(--vx-radius);background:#00bad114;border:1px solid #00bad138;min-width:220px;padding:14px 16px}.investor-status-note strong,.investor-status-note span{display:block}.investor-status-note span{color:var(--vx-muted);margin-top:4px}.investor-filter-panel{grid-template-columns:minmax(220px,.8fr) minmax(280px,1.3fr) minmax(360px,2fr);align-items:end;gap:14px;display:grid}.investor-search input,.investor-filter-panel select{width:100%}.investor-status-filter{flex-wrap:wrap;gap:8px;display:flex}.investor-status-filter button{white-space:nowrap;align-items:center;gap:8px;min-height:42px;display:inline-flex}.investor-status-filter button span{background:rgba(var(--vx-text-rgb), .08);border-radius:999px;min-width:24px;padding:2px 8px;font-size:.8rem}.investor-status-filter .active span{background:#ffffff3d}.investor-kpi-grid{grid-template-columns:repeat(4,minmax(180px,1fr));gap:14px;display:grid}.investor-kpi-card{border:1px solid var(--vx-border);border-radius:var(--vx-radius);background:var(--vx-panel-strong);min-height:150px;box-shadow:var(--vx-shadow);flex-direction:column;justify-content:space-between;padding:18px;display:flex;position:relative}.investor-kpi-card.featured{color:#fff;background:linear-gradient(135deg, #3a2f69, var(--vx-primary));border-color:#0000}.investor-kpi-card-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.investor-kpi-label{color:var(--vx-muted);text-transform:uppercase;font-size:.78rem;font-weight:800;line-height:1.3}.investor-kpi-info-button{border:1px solid rgba(var(--vx-text-rgb), .16);width:26px;min-width:26px;height:26px;color:var(--vx-primary);box-shadow:none;cursor:help;background:#7367f01a;border-radius:999px;padding:0;font-size:.84rem;font-weight:900;line-height:1}.investor-kpi-info-button:hover,.investor-kpi-info-button:focus-visible{background:#7367f02e;border-color:#7367f073;transform:none}.investor-kpi-card.featured .investor-kpi-info-button{color:#fff;background:#ffffff29;border-color:#ffffff6b}.investor-kpi-card.featured .investor-kpi-label,.investor-kpi-card.featured small{color:#ffffffc7}.investor-kpi-card strong{margin:10px 0;font-size:clamp(1.7rem,2.6vw,2.5rem);line-height:1;display:block}.investor-kpi-card small{color:var(--vx-muted);line-height:1.35}.investor-kpi-tooltip strong{font-size:1rem;display:block}.investor-kpi-tooltip p:last-child{margin-bottom:0}.investor-chart-card{border-radius:var(--vx-radius);background:var(--vx-panel-strong);box-shadow:var(--vx-shadow);border:1px solid #00bad138;padding:18px}.investor-chart-toolbar,.portfolio-chart-range,.section-head{justify-content:space-between;align-items:center;gap:14px;display:flex}.investor-chart-controls{flex-wrap:wrap;gap:8px;display:flex}.portfolio-series-toggles{flex-wrap:wrap;gap:10px;margin:16px 0 12px;display:flex}.portfolio-series-toggles label{border:1px solid var(--vx-border);border-radius:var(--vx-radius);background:var(--vx-surface-soft);color:var(--vx-muted);align-items:center;gap:7px;padding:8px 10px;font-weight:700;display:inline-flex}.portfolio-series-toggles span{border-radius:999px;width:12px;height:12px}.portfolio-chart-range{align-items:end;margin-bottom:12px}.portfolio-chart-range label{color:var(--vx-muted);gap:6px;font-weight:800;display:grid}.portfolio-range-slider{flex:1}.portfolio-range-slider input{width:100%}.portfolio-chart-scroll{border:1px solid var(--vx-border);border-radius:var(--vx-radius);background:rgba(var(--vx-surface-rgb), .58);overflow-x:auto}.portfolio-monthly-chart{width:100%;min-width:920px;height:auto;display:block}.portfolio-grid-line{stroke:var(--vx-border);stroke-width:1px}.portfolio-axis,.portfolio-zero-axis{stroke:rgba(var(--vx-text-rgb), .36);stroke-width:2px}.portfolio-axis-label{fill:var(--vx-muted);font-size:15px;font-weight:800}.portfolio-invest-bar{fill:#ff9f439e}.investor-project-table-card .table-scroll{margin-top:14px;overflow-x:auto}.investor-project-table td{vertical-align:top}.investor-project-table td small,.investor-project-table td strong{display:block}.investor-project-table td small{color:var(--vx-muted);margin-top:3px;line-height:1.25}.portfolio-status-pill{color:#00879a;background:#00bad121;border-radius:999px;align-items:center;min-height:28px;padding:4px 10px;font-weight:800;display:inline-flex}.portfolio-status-pill.status-approved{color:#21a85d;background:#28c76f29}.portfolio-status-pill.status-calculated{color:var(--vx-primary);background:#7367f026}.portfolio-status-pill.status-insufficient_data{color:#b96e13;background:#ff9f4329}:root[data-theme=dark] .portfolio-status-pill{color:var(--vx-info)}:root[data-theme=dark] .portfolio-status-pill.status-approved{color:var(--vx-success)}:root[data-theme=dark] .portfolio-status-pill.status-insufficient_data{color:var(--vx-warning)}.project-management-page{gap:18px;min-width:0;max-width:100%;overflow:hidden}.project-management-hero{border-radius:var(--vx-radius);background:linear-gradient(135deg, #00bad114, #ff9f430f), var(--vx-panel-strong);box-shadow:var(--vx-shadow);border:1px solid #00bad138;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:18px;min-width:0;max-width:100%;padding:18px;display:grid}.project-management-hero .muted{max-width:760px}.project-management-hero h2,.project-management-hero p,.project-detail-head h3,.project-parking-track-panel h3,.project-cashflow-panel h3{margin:0}.project-management-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;min-width:0;display:flex}.project-dashboard-grid{grid-template-columns:repeat(4,minmax(170px,1fr));gap:14px;display:grid}.project-dashboard-grid article{border:1px solid var(--vx-border);border-radius:var(--vx-radius);background:var(--vx-panel-strong);min-height:118px;box-shadow:var(--vx-shadow);gap:8px;padding:16px;display:grid}.project-dashboard-grid article>span,.project-dashboard-grid article em{color:var(--vx-muted);text-transform:uppercase;font-size:12px;font-style:normal;font-weight:800;line-height:1.35}.project-dashboard-grid article strong{font-size:28px;line-height:1}.project-calendar-panel h3{margin:0}.project-calendar-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.project-calendar-mode-switch{border:1px solid var(--vx-border);border-radius:var(--vx-radius);background:var(--vx-panel-strong);gap:4px;padding:4px;display:inline-flex}.project-calendar-mode-switch button{border-radius:calc(var(--vx-radius) - 4px);min-height:34px;color:var(--vx-muted);background:0 0;border:0;padding:0 12px;font-weight:900}.project-calendar-mode-switch button.active{color:var(--vx-heading);background:var(--vx-surface-soft)}.project-calendar-nav{grid-template-columns:34px minmax(190px,auto) 34px;align-items:center;gap:8px;display:inline-grid}.project-calendar-nav strong{color:var(--vx-heading);text-align:center;font-size:15px;line-height:1.2}.project-calendar-date-field{gap:4px;min-width:170px;display:inline-grid}.project-calendar-date-field span{color:var(--vx-muted);text-transform:uppercase;font-size:11px;font-weight:900;line-height:1}.project-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.project-calendar-weekday{color:var(--vx-muted);text-align:center;text-transform:uppercase;padding:4px 0 8px;font-size:12px;font-weight:900;line-height:1}.project-calendar-day{border:1px solid var(--vx-border);border-radius:var(--vx-radius);background:var(--vx-panel-strong);flex-direction:column;gap:8px;min-width:0;min-height:150px;padding:8px;display:flex;overflow:hidden}.project-calendar-week-grid .project-calendar-day{min-height:230px}.project-calendar-day.outside-month{opacity:.58;background:var(--vx-surface-soft)}.project-calendar-day.today{border-color:#2f855a;box-shadow:inset 0 0 0 1px #2f855a38}.project-calendar-day-head{justify-content:space-between;align-items:center;gap:6px;min-width:0;display:flex}.project-calendar-day-head time{color:var(--vx-heading);font-weight:900;line-height:1}.project-calendar-day-head span{color:#2f855a;background:#2f855a1f;border-radius:999px;place-items:center;min-width:22px;height:22px;padding:0 6px;font-size:11px;font-weight:900;display:grid}.project-calendar-events{gap:5px;min-width:0;display:grid}.project-calendar-event{border:1px solid var(--vx-border);background:#4263eb0f;border-left:3px solid #4263eb;border-radius:8px;gap:2px;min-width:0;padding:6px;display:grid}.project-calendar-event-payment{background:#ff9f4324;border-left-color:#b96e13}.project-calendar-event span,.project-calendar-event small,.project-calendar-event em,.project-year-month-card span,.project-year-month-card em,.project-year-month-events small{color:var(--vx-muted);font-size:11px;font-style:normal;line-height:1.2}.project-calendar-event span{text-transform:uppercase;font-weight:900}.project-calendar-event strong,.project-calendar-event small,.project-calendar-event em{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.project-calendar-event strong{color:var(--vx-heading);font-size:12px;line-height:1.2}.project-calendar-event em{font-weight:900}.project-calendar-more{color:var(--vx-muted);font-size:11px;font-weight:900}.project-calendar-event{width:100%;color:inherit;text-align:left;box-shadow:none;cursor:pointer}.project-calendar-day[draggable=true],.project-calendar-event[draggable=true]{cursor:grab}.project-calendar-detail-panel,.project-my-tasks-panel,.project-board-panel{gap:14px;min-width:0;max-width:100%;display:grid}.project-calendar-payment-detail{gap:4px;display:grid}.project-calendar-payment-detail strong{color:var(--vx-heading);font-size:24px;line-height:1}.project-board-filter-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end;gap:12px;display:grid}.project-board-filter-row>button,.project-compact-filter-grid>button{place-self:end start}.project-board{overscroll-behavior-x:contain;grid-template-columns:repeat(5,minmax(160px,1fr));gap:12px;min-width:0;max-width:100%;padding-bottom:4px;display:grid;overflow-x:auto}.project-board-column{border:1px solid var(--vx-border);border-radius:var(--vx-radius);background:var(--vx-surface-soft);grid-template-rows:auto minmax(180px,1fr);min-width:160px;display:grid}.project-board-column header{border-bottom:1px solid var(--vx-border);justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.project-board-column header strong{color:var(--vx-heading)}.project-board-column header span{background:rgba(var(--vx-text-rgb), .08);min-width:24px;height:24px;color:var(--vx-muted);border-radius:999px;place-items:center;font-size:12px;font-weight:900;display:grid}.project-board-card-list{align-content:start;gap:8px;min-height:180px;padding:10px;display:grid}.project-board-card{border:1px solid var(--vx-border);border-radius:var(--vx-radius);background:var(--vx-panel-strong);box-shadow:0 8px 24px rgba(var(--vx-text-rgb), .06);gap:9px;padding:10px;display:grid}.project-board-card[draggable=true]{cursor:grab}.project-gantt-chart-panel,.project-gantt-asana{gap:14px;display:grid}.project-gantt-summary{grid-template-columns:minmax(280px,1.4fr) minmax(180px,.8fr) minmax(180px,.8fr);gap:10px;display:grid}.project-gantt-summary>div{border:1px solid var(--vx-border);border-radius:var(--vx-radius);background:var(--vx-surface-soft);gap:4px;padding:12px 14px;display:grid}.project-gantt-summary strong{min-width:0;color:var(--vx-heading);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-gantt-summary span,.project-gantt-summary small{color:var(--vx-muted);font-size:12px}.project-gantt-asana-table{border:1px solid var(--vx-border);border-radius:var(--vx-radius);background:var(--vx-panel-strong);grid-template-columns:minmax(320px,390px) minmax(0,1fr);min-width:0;display:grid;overflow:hidden}.project-gantt-asana-left{border-right:1px solid var(--vx-border);background:var(--vx-panel-strong);min-width:0}.project-gantt-left-header{border-bottom:1px solid var(--vx-border);min-height:44px;color:var(--vx-muted);text-transform:uppercase;grid-template-columns:minmax(0,1fr) 78px;align-items:center;gap:10px;padding:0 14px;font-size:11px;font-weight:900;display:grid}.project-gantt-left-row{border:0;border-bottom:1px solid var(--vx-border);width:100%;min-height:68px;color:var(--vx-text);box-shadow:none;text-align:left;background:0 0;border-radius:0;grid-template-columns:minmax(0,1fr) 78px;align-items:center;gap:10px;padding:10px 14px;display:grid}.project-gantt-left-row:hover,.project-gantt-left-row:focus-visible{background:#7367f014!important}.project-gantt-left-row span,.project-gantt-left-row strong,.project-gantt-left-row small,.project-gantt-left-row em{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.project-gantt-left-row span{gap:2px;display:grid}.project-gantt-left-row strong{color:var(--vx-heading);font-size:13px}.project-gantt-left-row small,.project-gantt-left-row em{color:var(--vx-muted);font-size:11px;font-style:normal}.project-gantt-left-row em{color:var(--vx-primary);font-weight:800}.project-gantt-left-row b{color:var(--vx-muted);justify-self:end;font-size:12px}.project-gantt-asana-scroll{min-width:0;overflow-x:auto}.project-gantt-asana-timeline{position:relative}.project-gantt-timescale{border-bottom:1px solid var(--vx-border);background:linear-gradient(180deg, rgba(var(--vx-text-rgb), .025), transparent);height:44px;position:relative}.project-gantt-timescale span{color:var(--vx-muted);white-space:nowrap;font-size:11px;font-weight:900;position:absolute;top:14px;transform:translate(-50%)}.project-gantt-timeline-body{position:relative;overflow:hidden}.project-gantt-gridline{background:rgba(var(--vx-text-rgb), .07);pointer-events:none;width:1px;position:absolute;top:0;bottom:0}.project-gantt-timeline-row{border-bottom:1px solid var(--vx-border);background:var(--vx-panel-strong);height:68px;position:relative}.project-gantt-timeline-row:nth-child(2n){background-color:rgba(var(--vx-text-rgb), .018)}.project-gantt-timeline-bar{border:1px solid rgba(var(--vx-text-rgb), .1);height:38px;color:var(--vx-text);box-shadow:0 8px 18px rgba(var(--vx-text-rgb), .08);text-align:left;border-radius:999px;align-content:center;gap:1px;padding:6px 13px;display:grid;position:absolute;top:15px}.project-gantt-timeline-bar strong,.project-gantt-timeline-bar small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.project-gantt-timeline-bar strong{color:var(--vx-heading);font-size:12px;font-weight:900}.project-gantt-timeline-bar small{color:var(--vx-muted);font-size:11px}.project-board-card-title{min-width:0;color:inherit;box-shadow:none;text-align:left;background:0 0;border:0;gap:3px;padding:0;display:grid}.project-board-card-title strong,.project-board-card-title small,.project-board-card-meta span,.project-board-card-meta em{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.project-board-card-title strong{color:var(--vx-heading);font-size:14px}.project-board-card-title small,.project-board-card-meta span,.project-board-card-meta em{color:var(--vx-muted);font-size:12px;font-style:normal}.project-board-card-meta{justify-content:space-between;align-items:center;gap:8px;display:flex}.project-assignee-chip{width:100%;color:var(--vx-text);box-shadow:none;text-align:left;background:#00bad114;border:1px solid #00bad140;border-radius:8px;gap:2px;padding:7px 9px;display:grid}.project-assignee-chip span,.project-assignee-chip small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.project-assignee-chip span{color:var(--vx-heading);font-size:12px;font-weight:900}.project-assignee-chip small{color:var(--vx-muted);font-size:11px}.project-assignment-dialog{z-index:80;background:#0f172a61;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.project-assignment-dialog>.context-panel{width:min(560px,100%);max-height:min(540px,100vh - 40px);overflow:auto}.project-task-list{gap:8px;display:grid}.project-task-item{border:1px solid var(--vx-border);border-radius:var(--vx-radius);width:100%;color:var(--vx-text);background:var(--vx-panel-strong);box-shadow:none;text-align:left;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;display:grid}.project-task-item strong,.project-task-item small,.project-task-item em{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.project-task-item small{color:var(--vx-muted);font-size:12px}.project-task-item em{border-radius:999px;padding:4px 8px;font-size:12px;font-style:normal;font-weight:900}.project-team-admin-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;display:grid}.project-year-grid{grid-template-columns:repeat(4,minmax(180px,1fr));gap:10px;display:grid}.project-year-month-card{border:1px solid var(--vx-border);border-radius:var(--vx-radius);min-height:168px;color:inherit;background:var(--vx-panel-strong);text-align:left;align-content:start;gap:10px;padding:12px;display:grid}.project-year-month-card:hover{border-color:#2f855a}.project-year-month-card>strong{color:var(--vx-heading);font-size:18px;line-height:1.1}.project-year-month-events{gap:6px;min-width:0;display:grid}.project-year-month-events small{text-overflow:ellipsis;white-space:nowrap;grid-template-columns:28px minmax(0,1fr);gap:6px;min-width:0;display:grid;overflow:hidden}.project-year-month-events time{color:var(--vx-heading);font-weight:900}.project-create-panel h3{margin:0}.project-create-grid{grid-template-columns:minmax(180px,.9fr) minmax(220px,1.1fr) minmax(240px,1.4fr) minmax(170px,.8fr) minmax(150px,.7fr) auto;align-items:end;gap:12px;display:grid}.project-create-grid .field{margin-bottom:0}.project-create-note{grid-column:span 2}.project-planning-layout{grid-template-columns:minmax(280px,360px) minmax(0,1fr);align-items:start;gap:18px;min-width:0;max-width:100%;display:grid}.project-planning-layout.project-list-collapsed{grid-template-columns:minmax(0,1fr)}.project-list-panel,.project-detail-panel{min-width:0;max-width:100%}.project-detail-panel,.project-definition-panel{grid-template-columns:minmax(0,1fr)}.project-list-panel.collapsed{padding:12px 10px}.project-list-head{align-items:center;gap:8px}.project-list-collapse-button{width:34px;min-width:34px;height:34px;padding:0}.project-list-rail{color:var(--vx-muted);text-align:center;justify-items:center;gap:4px;padding:12px 0;display:grid}.project-list-rail strong{color:var(--vx-text);font-size:20px}.project-list-rail span{writing-mode:vertical-rl;text-transform:uppercase;font-size:12px;font-weight:800;transform:rotate(180deg)}.project-list-inline-expand{justify-self:start}.project-filter-grid{gap:10px;display:grid}.project-list{gap:8px;max-height:720px;padding-right:4px;display:grid;overflow-y:auto}.project-list-item{border:1px solid var(--vx-border);border-radius:var(--vx-radius);width:100%;color:var(--vx-text);background:var(--vx-surface);box-shadow:none;text-align:left;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 12px;display:grid}.project-list-item.active,.project-list-item:hover{background:#00bad114;border-color:#00bad16b}.project-list-item strong,.project-list-item small,.project-list-item em{display:block}.project-list-item small,.project-list-item em{color:var(--vx-muted);font-size:12px;font-style:normal;line-height:1.35}.project-list-item em{text-align:center;border-radius:999px;max-width:120px;padding:4px 8px;font-weight:800}.project-detail-head{display:block}.project-planning-toolbar{border:1px solid var(--vx-border);border-radius:var(--vx-radius);background:var(--vx-surface-soft);flex-wrap:wrap;align-items:start;gap:10px;min-width:0;max-width:100%;padding:10px;display:flex;overflow-x:clip}.project-planning-toolbar-main{flex-wrap:wrap;flex:auto;align-items:center;gap:8px;min-width:0;display:flex}.project-planning-toolbar-main span{border:1px solid rgba(var(--vx-text-rgb), .08);max-width:260px;min-height:30px;color:var(--vx-muted);background:var(--vx-panel-strong);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;align-items:center;padding:5px 9px;font-size:12px;font-weight:900;display:inline-flex;overflow:hidden}.project-list-toggle-inline{min-height:30px}.project-compact-filter{flex:none;min-width:120px;position:relative}details.project-compact-filter:not([open])>.project-compact-filter-grid{display:none}.project-compact-filter summary{border:1px solid var(--vx-border);min-height:30px;color:var(--vx-heading);background:var(--vx-panel-strong);cursor:pointer;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:900;line-height:1;list-style-position:inside}.project-compact-filter-grid{z-index:20;border:1px solid var(--vx-border);border-radius:var(--vx-radius);background:var(--vx-panel-strong);width:min(360px,100vw - 80px);box-shadow:var(--vx-shadow);grid-template-columns:minmax(220px,1fr);gap:10px;margin-top:8px;padding:12px;display:grid;position:absolute;right:0}.project-compact-filter-grid .field{margin-bottom:0}.project-gantt-root{overscroll-behavior-x:contain;min-width:0;max-width:100%;overflow-x:auto}.project-gantt{gap:8px;min-width:max-content;padding:12px 2px 4px;display:flex}.project-gantt-node{min-height:112px;color:var(--vx-text);background:var(--vx-surface);clip-path:polygon(0 0,calc(100% - 24px) 0,100% 50%,calc(100% - 24px) 100%,0 100%,24px 50%);box-shadow:inset 0 0 0 1px rgba(var(--vx-text-rgb), .08);text-align:left;cursor:pointer;border:0;border-radius:0;flex:0 0 168px;align-content:start;gap:5px;margin-left:-18px;padding:12px 28px 12px 34px;display:grid;position:relative}.project-gantt-node:first-child{clip-path:polygon(0 0,calc(100% - 24px) 0,100% 50%,calc(100% - 24px) 100%,0 100%);margin-left:0;padding-left:18px}.project-gantt-node:hover,.project-gantt-node:focus-visible{filter:brightness(.98);transform:translateY(-1px)}.project-gantt-node:hover{border-color:#00bad16b}.project-gantt-node-trigger{width:100%;color:inherit;box-shadow:none;text-align:left;cursor:pointer;background:0 0;border:0;gap:5px;padding:0;display:grid}.project-gantt-node-trigger:focus-visible{outline-offset:3px;outline:2px solid #00bad18c}.project-gantt-node:after{display:none}.project-gantt-node span,.project-gantt-node strong,.project-gantt-node em{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.project-gantt-node span,.project-gantt-node em,.project-gantt-node small{color:var(--vx-muted);font-size:12px}.project-gantt-node em,.project-gantt-node small{font-style:normal}.project-gantt-task-hint{align-items:center;gap:5px;display:flex!important}.project-gantt-task-hint small{min-width:0;color:var(--vx-primary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:800;overflow:hidden}.project-gantt-task-menu{color:var(--vx-text);margin-top:3px;font-size:12px}.project-gantt-task-menu summary{max-width:100%;color:var(--vx-primary);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:5px;font-weight:800;list-style-position:inside;display:inline-flex;overflow:hidden}.project-gantt-task-menu p{color:var(--vx-muted);margin:6px 0 0;font-size:12px}.project-gantt-task-list{gap:5px;max-height:136px;margin-top:7px;display:grid;overflow:auto}.project-gantt-task-item{background:rgba(var(--vx-text-rgb), .06);border-radius:7px;gap:2px;padding:6px;display:grid}.project-gantt-task-menu span,.project-gantt-task-menu small{min-width:0;color:inherit;text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.25;display:block;overflow:hidden}.project-gantt-task-menu small{color:var(--vx-muted)}.project-status-done{color:#21a85d!important;background:#28c76f21!important}.project-status-due{color:#b96e13!important;background:#ff9f4324!important}.project-status-overdue,.project-status-blocked{color:var(--vx-danger)!important;background:#ff4c511f!important}.project-status-open{color:var(--vx-muted)!important;background:rgba(var(--vx-text-rgb), .06)!important}.project-milestone-table-wrap,.project-definition-panel .table-scroll{overflow-x:auto}.project-milestone-table-wrap{border:1px solid var(--vx-border);border-radius:var(--vx-radius);background:linear-gradient(90deg, var(--vx-surface) 0, rgba(var(--vx-surface-rgb), 0) 22px) left center / 44px 100% no-repeat, linear-gradient(270deg, var(--vx-surface) 0, rgba(var(--vx-surface-rgb), 0) 22px) right center / 44px 100% no-repeat, var(--vx-surface);max-width:100%;box-shadow:inset -18px 0 18px -22px rgba(var(--vx-text-rgb), .58);overscroll-behavior-x:contain;scrollbar-gutter:stable;padding-bottom:10px;position:relative}.project-milestone-table{table-layout:fixed;width:max(100%,920px);min-width:920px}.project-milestone-table th:first-child{width:360px}.project-milestone-table th:nth-child(2),.project-milestone-table th:nth-child(3){width:148px}.project-milestone-table th:nth-child(4){width:190px}.project-milestone-table th:nth-child(5){width:220px}.project-milestone-table td,.project-definition-table td{vertical-align:top}.project-milestone-table td small,.project-definition-table td small{color:var(--vx-muted);margin-top:4px;line-height:1.3;display:block}.project-milestone-table td:first-child>small{-webkit-line-clamp:2;-webkit-box-orient:vertical;max-height:3.4em;display:-webkit-box;overflow:hidden}.project-milestone-table input,.project-milestone-table select,.project-definition-table input,.project-definition-table select{width:100%;min-width:104px}.project-milestone-table textarea,.project-definition-table textarea{width:100%;min-width:220px;min-height:74px;font-family:inherit;font-size:13px}.project-milestone-title-button{max-width:100%;color:var(--vx-heading);box-shadow:none;font:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:0;font-weight:800;display:block;overflow:hidden}.project-milestone-title-button:hover{color:var(--vx-primary);text-underline-offset:3px;text-decoration:underline}.selected-milestone-row td{background:#00bad10f}.project-duration-chip{color:#0b7285;vertical-align:middle;background:#00bad11f;border-radius:999px;align-items:center;min-height:22px;margin-left:8px;padding:2px 8px;font-size:12px;font-weight:900;display:inline-flex}.project-dependency-warning{flex-wrap:wrap;align-items:center;gap:5px;font-weight:800;color:#b96e13!important;display:flex!important}.project-dependency-warning button{color:var(--vx-primary);box-shadow:none;font:inherit;text-underline-offset:3px;background:0 0;border:0;padding:0;text-decoration:underline}.project-table-workflow-menu,.project-table-action-menu{margin-top:8px}.project-table-action-menu summary{max-width:100%;color:var(--vx-primary);cursor:pointer;align-items:center;gap:6px;font-size:12px;font-weight:900;list-style-position:inside;display:inline-flex}.project-table-action-menu summary span,.project-table-action-menu summary small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.project-table-action-menu summary small{max-width:260px;color:var(--vx-muted);font-weight:800}.project-table-action-list{gap:7px;max-width:680px;margin-top:7px;display:grid}.project-table-action-row{border:1px solid var(--vx-border);background:rgba(var(--vx-text-rgb), .04);border-radius:7px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;padding:8px;display:grid}.project-table-action-main{gap:5px;min-width:0;display:grid}.project-table-action-main strong,.project-table-action-main small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.project-table-action-main strong{color:var(--vx-heading);font-size:13px}.project-table-action-main small{color:var(--vx-muted);font-size:12px}.project-table-action-controls{max-width:220px}@media (width<=1320px){.project-table-action-row{grid-template-columns:minmax(0,1fr)}.project-table-action-controls{justify-content:flex-start;max-width:none}}.project-table-workflow-menu summary{max-width:100%;color:var(--vx-primary);cursor:pointer;align-items:center;gap:6px;font-size:12px;font-weight:900;list-style-position:inside;display:inline-flex}.project-table-workflow-menu summary span,.project-table-workflow-menu summary small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.project-table-workflow-menu summary small{max-width:260px;color:var(--vx-muted);font-weight:800}.project-table-workflow-list{gap:5px;max-width:460px;max-height:150px;margin-top:7px;display:grid;overflow:auto}.project-table-workflow-list span{background:rgba(var(--vx-text-rgb), .06);border-radius:7px;gap:2px;padding:7px 8px;display:grid}.project-table-workflow-list span.done{background:#28c76f1f}.project-table-workflow-list strong,.project-table-workflow-list small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.project-table-workflow-list strong{color:var(--vx-heading);font-size:12px}.project-table-workflow-list small{color:var(--vx-muted);font-size:11px}.project-action-module-chip-list{flex-wrap:wrap;gap:5px;min-width:0;margin-top:6px;display:flex}.project-gantt-node .project-action-module-chip-list{max-height:54px;overflow:hidden}.project-action-module-chip-list .account-badge{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.project-action-summary{flex-wrap:wrap;align-items:center;gap:5px 8px;min-width:0;margin-top:6px;display:flex}.project-action-summary.compact{gap:5px;margin-top:4px}.project-action-summary small{min-width:0;color:var(--vx-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.project-milestone-detail-panel{border-top:1px solid var(--vx-border);gap:14px;padding-top:14px;display:grid}.project-milestone-detail-panel h3{margin:0}.project-milestone-detail-grid{grid-template-columns:minmax(160px,.8fr) minmax(160px,.8fr) minmax(160px,.8fr) minmax(260px,1.6fr);align-items:start;gap:12px;display:grid}.project-milestone-linked-action{border:1px solid var(--vx-border);border-radius:var(--vx-radius);background:var(--vx-surface);gap:5px;padding:10px 12px;display:grid}.project-milestone-linked-action span,.project-milestone-linked-action small{color:var(--vx-muted);font-size:12px}.project-milestone-detail-note textarea{min-height:92px;font-family:inherit;font-size:13px}.project-action-module-detail-list{gap:8px;display:grid}.project-action-module-detail-list article{border:1px solid var(--vx-border);border-radius:var(--vx-radius);background:var(--vx-surface);grid-template-columns:minmax(0,1fr) minmax(150px,auto);align-items:start;gap:6px 12px;padding:10px 12px;display:grid}.project-action-module-detail-main,.project-action-module-detail-side{gap:6px;min-width:0;display:grid}.project-action-module-detail-side{justify-items:end}.project-action-module-detail-list strong,.project-action-module-detail-list small{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.project-action-module-detail-list strong{color:var(--vx-heading)}.project-action-module-meta{flex-wrap:wrap;gap:5px;display:flex}.project-action-module-detail-list small{color:var(--vx-muted);font-size:12px}.project-action-module-progress{background:var(--vx-border);border-radius:999px;width:100%;height:5px;overflow:hidden}.project-action-module-progress span{border-radius:inherit;background:var(--vx-primary);height:100%;display:block}.project-action-module-controls{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.project-cashflow-panel,.project-parking-track-panel{border-top:1px solid var(--vx-border);gap:12px;padding-top:14px;display:grid}.project-parking-track-table{min-width:980px}.project-parking-track-table td{vertical-align:top}.project-parking-track-table td small{color:var(--vx-muted);margin-top:4px;font-size:12px;line-height:1.3;display:block}.project-parking-track-table .muted-row{opacity:.72}.project-seatable-fields-panel{border-top:1px solid var(--vx-border);gap:12px;padding-top:14px;display:grid}.project-seatable-fields-panel summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;font-weight:800;display:flex}.project-seatable-fields-panel summary span{color:var(--vx-muted);font-size:12px;font-weight:700}.project-seatable-field-table{min-width:920px;margin-top:12px}.project-seatable-field-table td{vertical-align:top}.project-seatable-field-table td small{color:var(--vx-muted);margin-top:4px;font-size:12px;display:block}.project-seatable-field-table input,.project-seatable-field-table select,.project-seatable-field-table textarea{width:100%;min-width:160px}.project-seatable-field-table textarea{min-height:66px;font-family:inherit;font-size:13px}.project-cashflow-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.project-cashflow-list article{border-radius:var(--vx-radius);background:#ff9f4312;border:1px solid #ff9f4338;gap:5px;padding:12px;display:grid}.project-cashflow-list span,.project-cashflow-list small{color:var(--vx-muted);font-size:12px}.project-cashflow-list strong{font-size:20px}.project-saving-status{justify-self:start}.project-definition-panel summary{cursor:pointer;font-weight:800}.pipeline-editor-panel{margin-top:18px}.pipeline-editor-toolbar{grid-template-columns:minmax(180px,240px) minmax(0,1fr);align-items:center;gap:14px;margin-top:14px;display:grid}.pipeline-editor-inline-create{grid-template-columns:minmax(240px,1fr) minmax(110px,.35fr) minmax(180px,.65fr) auto auto;align-items:end;gap:10px;display:grid}.pipeline-editor-inline-create .field,.pipeline-editor-toolbar .field{margin-bottom:0}.pipeline-drag-cell{text-align:center;width:42px}.pipeline-drag-handle{border:1px solid var(--vx-border);width:30px;height:34px;color:var(--vx-muted);background:var(--vx-surface);cursor:grab;letter-spacing:-2px;border-radius:8px;place-items:center;font-weight:900;display:inline-grid}.project-definition-table tr.dragging{opacity:.5}.pipeline-editor-insert-row td{text-align:center;background:0 0;border:0;padding:5px 0}.pipeline-insert-button{width:30px;height:30px;min-height:30px;color:var(--vx-primary);box-shadow:none;background:#7367f014;border:1px dashed #7367f06b;border-radius:999px;place-items:center;padding:0;font-size:19px;line-height:1;display:inline-grid}.pipeline-editor-insert-row.open td{border-radius:var(--vx-radius);text-align:left;background:#7367f00f;border:1px dashed #7367f047;padding:10px}.pipeline-action-buttons{flex-wrap:wrap;gap:6px;display:flex}.pipeline-action-module-select{max-width:190px;min-height:32px;padding:5px 9px;font-size:12px;font-weight:800;min-width:150px!important}.compact-checkbox{min-height:34px;color:var(--vx-muted);white-space:nowrap;align-items:center;gap:7px;font-weight:800;display:inline-flex}.compact-checkbox input{width:auto!important;min-width:0!important}.project-definition-table{min-width:1320px;margin-top:12px}.project-definition-table th,.project-definition-table td{min-width:0}.project-definition-table .compact-checkbox{white-space:normal;align-items:flex-start;min-width:0;max-width:100%;line-height:1.25}.project-definition-table .compact-checkbox span{overflow-wrap:anywhere;min-width:0}.project-definition-table tr.definition-drop-target>td{box-shadow:inset 0 3px 0 var(--vx-primary);background:#7367f00f;position:relative}.project-definition-table tr.definition-drop-target>td:first-child:before{content:"";background:var(--vx-primary);pointer-events:none;z-index:2;border-radius:999px;width:1304px;height:3px;position:absolute;top:-4px;left:8px;box-shadow:0 0 0 3px #7367f021}.project-definition-table tr.dragging>td{opacity:.58}.pipeline-action-module-add{grid-template-columns:minmax(150px,1fr) auto;align-items:end;gap:8px;display:grid}.pipeline-action-module-add select{min-width:0}.pipeline-workflow-config{min-width:0;max-width:100%}.pipeline-workflow-config summary{min-width:0}.pipeline-workflow-grid{grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));align-items:start;gap:10px;min-width:0;max-width:100%;padding-top:10px;display:grid}.pipeline-workflow-grid .field,.pipeline-workflow-grid label,.pipeline-workflow-grid input,.pipeline-workflow-grid select,.pipeline-workflow-grid textarea{min-width:0;max-width:100%}.pipeline-workflow-template-field{grid-column:span 2}.pipeline-workflow-checks{flex-wrap:wrap;gap:6px 10px;min-width:0;display:flex}.pipeline-workflow-checks>span{color:var(--vx-muted);text-transform:uppercase;flex:1 0 100%;font-size:12px;font-weight:900}.pipeline-workflow-checks .compact-checkbox{flex:min(220px,100%)}.pipeline-task-row td{border-top:0;padding-top:0}.pipeline-task-list{border-left:2px solid #7367f038;gap:8px;min-width:0;padding:0 0 10px 12px;display:grid;position:relative}.pipeline-action-binding-list{border-left-color:#00bad147;margin-top:8px}.pipeline-action-binding-add{align-items:center;padding-bottom:2px}.pipeline-task-card{border:1px solid var(--vx-border);background:var(--vx-surface);cursor:grab;border-radius:8px;grid-template-columns:32px minmax(130px,.5fr) minmax(220px,1fr) minmax(110px,.3fr) auto;align-items:end;gap:8px;min-width:0;padding:8px;display:grid;position:relative}.pipeline-task-card.action-binding{grid-template-columns:32px minmax(145px,.45fr) minmax(300px,1.35fr) minmax(120px,.3fr) auto}.pipeline-action-binding-config{border-top:1px solid var(--vx-border);grid-column:1/-1;min-width:0;padding-top:6px}.pipeline-action-binding-config summary{cursor:pointer;color:var(--vx-muted);font-size:12px;font-weight:900}.pipeline-action-binding-config-grid{grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr));align-items:end;gap:8px;min-width:0;max-width:100%;padding-top:8px;display:grid}.pipeline-action-binding-config-grid .field,.pipeline-action-binding-config-grid label,.pipeline-action-binding-config-grid input,.pipeline-action-binding-config-grid select,.pipeline-action-binding-config-grid textarea{min-width:0;max-width:100%}.pipeline-action-binding-config-grid .full-width{grid-column:1/-1}.pipeline-action-binding-config-grid select[multiple]{min-height:96px}.pipeline-task-card.dragging{opacity:.55;box-shadow:0 12px 28px rgba(var(--vx-text-rgb), .14)}.pipeline-task-card.drop-before:before{content:"";background:var(--vx-primary);border-radius:999px;height:3px;position:absolute;top:-6px;left:6px;right:6px;box-shadow:0 0 0 3px #7367f021}.pipeline-task-list.drop-at-end:after{content:"";background:var(--vx-primary);border-radius:999px;height:3px;margin:2px 6px 0;display:block;box-shadow:0 0 0 3px #7367f021}.pipeline-task-drag-handle{border:1px solid var(--vx-border);width:28px;height:32px;color:var(--vx-muted);background:rgba(var(--vx-text-rgb), .04);cursor:grab;letter-spacing:-2px;pointer-events:none;border-radius:8px;place-items:center;font-weight:900;display:inline-grid}.pipeline-task-card label{color:var(--vx-muted);gap:4px;font-size:12px;font-weight:800;display:grid}.pipeline-task-card input,.pipeline-task-card select{min-width:0}.pipeline-action-label-input{width:100%}.pipeline-action-config-grid{grid-column:2/-1;grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr));align-items:end;gap:8px;min-width:0;max-width:100%;display:grid}.pipeline-action-config-grid .field,.pipeline-action-config-grid label,.pipeline-action-config-grid input,.pipeline-action-config-grid select,.pipeline-action-config-grid textarea{min-width:0;max-width:100%}.pipeline-action-config-grid.compact{grid-template-columns:minmax(0,1fr);align-items:center}.pipeline-action-config-grid small{color:var(--vx-muted);font-size:12px}.pipeline-action-config-wide{grid-column:1/-1}.pipeline-action-config-grid textarea{resize:vertical;min-height:72px}.pipeline-action-config-grid select[multiple]{min-height:78px}.pipeline-action-check{flex-direction:row;align-items:center;min-height:38px;gap:8px!important;display:inline-flex!important}.pipeline-action-check input{width:auto}.pipeline-task-kind,.pipeline-task-empty{color:var(--vx-muted);font-size:12px;font-weight:800}.pipeline-task-empty{padding:5px 0}:root[data-theme=dark] .project-list-item,:root[data-theme=dark] .project-gantt-node{background:var(--vx-surface-soft)}:root[data-theme=dark] .project-management-hero,:root[data-theme=dark] .project-dashboard-grid article,:root[data-theme=dark] .project-calendar-mode-switch,:root[data-theme=dark] .project-calendar-day,:root[data-theme=dark] .project-year-month-card,:root[data-theme=dark] .project-board-column,:root[data-theme=dark] .project-board-card,:root[data-theme=dark] .project-gantt-summary>div,:root[data-theme=dark] .project-gantt-asana-table,:root[data-theme=dark] .project-gantt-asana-left,:root[data-theme=dark] .project-gantt-timeline-row,:root[data-theme=dark] .project-task-item,:root[data-theme=dark] .project-milestone-detail-panel,:root[data-theme=dark] .project-milestone-linked-action,:root[data-theme=dark] .project-parking-track-panel,:root[data-theme=dark] .project-cashflow-list article{background-color:var(--vx-panel-strong)}@media (width<=1320px){.project-milestone-table-wrap{box-shadow:none;background:0 0;border:0;padding:0;overflow-x:visible}.project-milestone-table{width:100%;min-width:0;display:block}.project-milestone-table thead{display:none}.project-milestone-table tbody{gap:10px;display:grid}.project-milestone-table tr{border:1px solid var(--vx-border);border-radius:var(--vx-radius);background:var(--vx-surface);grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:10px;padding:10px;display:grid}.project-milestone-table td{border:0;gap:6px;min-width:0;padding:0;display:grid}.project-milestone-table td:before{color:var(--vx-muted);content:attr(data-label);text-transform:uppercase;font-size:11px;font-weight:900}.project-milestone-table td:first-child,.project-milestone-table td:nth-child(5){grid-column:1/-1}.project-milestone-table textarea{min-width:0;min-height:58px}}@media (width<=1200px){.investor-filter-panel,.investor-hero,.project-management-hero,.project-planning-layout{grid-template-columns:1fr}.investor-kpi-grid,.project-dashboard-grid,.project-create-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}.project-year-grid{grid-template-columns:repeat(3,minmax(180px,1fr))}.project-board{grid-template-columns:repeat(5,minmax(220px,260px))}.project-gantt-summary{grid-template-columns:1fr}.project-milestone-table-wrap{box-shadow:none;background:0 0;border:0;padding:0;overflow-x:visible}.project-milestone-table{width:100%;min-width:0;display:block}.project-milestone-table thead{display:none}.project-milestone-table tbody{gap:10px;display:grid}.project-milestone-table tr{border:1px solid var(--vx-border);border-radius:var(--vx-radius);background:var(--vx-surface);grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:10px;padding:10px;display:grid}.project-milestone-table td{border:0;gap:6px;min-width:0;padding:0;display:grid}.project-milestone-table td:before{color:var(--vx-muted);content:attr(data-label);text-transform:uppercase;font-size:11px;font-weight:900}.project-milestone-table td:first-child,.project-milestone-table td:nth-child(5){grid-column:1/-1}.project-milestone-table textarea{min-width:0;min-height:58px}.project-board-filter-row,.project-milestone-detail-grid,.pipeline-editor-toolbar,.pipeline-editor-inline-create,.pipeline-task-card{grid-template-columns:1fr 1fr}.pipeline-task-card.action-binding{grid-template-columns:32px minmax(0,1fr) auto}.pipeline-task-card.action-binding .pipeline-action-label-input{grid-column:2/-1}.pipeline-action-config-grid{grid-template-columns:repeat(2,minmax(150px,1fr))}}@media (width<=720px){.investor-kpi-grid,.project-dashboard-grid,.project-create-grid,.project-detail-head{grid-template-columns:1fr}.investor-chart-toolbar,.portfolio-chart-range,.section-head{flex-direction:column;align-items:stretch}.project-calendar-toolbar{align-items:stretch}.project-calendar-mode-switch,.project-calendar-nav,.project-calendar-date-field,.project-calendar-toolbar .secondary{width:100%}.project-calendar-mode-switch button{flex:1}.project-calendar-nav{grid-template-columns:34px minmax(0,1fr) 34px}.project-calendar-day{min-height:92px;padding:6px}.project-calendar-week-grid .project-calendar-day{min-height:130px}.project-calendar-day-head span,.project-calendar-event span,.project-calendar-event small,.project-calendar-event em{display:none}.project-calendar-event{border-radius:6px;padding:4px}.project-calendar-event strong{font-size:11px}.project-board-filter-row,.project-milestone-detail-grid,.project-milestone-table tr,.pipeline-editor-toolbar,.pipeline-editor-inline-create,.pipeline-action-config-grid,.pipeline-task-card,.project-task-item,.project-gantt-asana-table{grid-template-columns:1fr}.project-gantt-asana-left{border-right:0}.project-gantt-asana-scroll{border-top:1px solid var(--vx-border)}.project-assignment-dialog{align-items:end;padding:10px}.project-assignment-dialog>.context-panel{max-height:calc(100vh - 20px)}.project-year-grid{grid-template-columns:1fr}.dockable-panel{resize:none;min-width:0;min-height:0;width:calc(100vw - 16px)!important;height:calc(100vh - 16px)!important;top:8px!important;left:8px!important}.dockable-panel-head{cursor:default}}.contracts-page{gap:18px;width:100%}.contracts-hero{border-left:4px solid var(--bs-primary,#4f46e5)}.contract-dashboard-grid{grid-template-columns:repeat(4,minmax(180px,1fr))}.contract-create-panel{padding:16px}.contract-create-grid{grid-template-columns:minmax(180px,1.15fr) minmax(220px,1.4fr) minmax(180px,1fr) minmax(180px,1fr) minmax(180px,1.2fr) auto;align-items:end;gap:12px;display:grid}.compact-contract-create-grid{grid-template-columns:minmax(220px,1.4fr) minmax(220px,1fr) minmax(260px,1.3fr) auto}.contract-project-context{padding:16px}.contract-project-context-grid{grid-template-columns:minmax(260px,.35fr) minmax(0,1fr);align-items:end;gap:14px;display:grid}.contract-trigger-readonly{flex-wrap:wrap;gap:8px;display:flex}.contract-trigger-item{flex-wrap:wrap;align-items:center;gap:6px;max-width:100%;display:inline-flex}.trigger-pill{border:1px solid var(--border);background:var(--surface-2);color:var(--muted);border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700}.trigger-pill.active{color:#047857;background:#10b9811a;border-color:#10b98152}.contract-workspace{grid-template-columns:minmax(260px,.75fr) minmax(0,2fr);align-items:start;gap:18px;display:grid}.contract-list-panel,.contract-detail-panel,.contract-overview-panel,.contract-project-context,.contract-template-panel,.contract-trigger-panel{min-width:0}.contract-detail-panel{grid-template-columns:minmax(0,1fr)}.contract-detail-panel .section-head,.contract-detail-panel .section-head>div{min-width:0}.contract-overview-table .selected-row{background:#7367f014}.contract-status-row,.contract-sign-controls,.contract-trigger-create{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.contract-status-row{color:var(--muted);margin:12px 0 16px;font-size:13px}.contract-release-gate{color:#92400e;background:#d9770614;border:1px solid #d9770647;border-radius:8px;margin:-2px 0 16px;padding:10px 12px;font-size:13px}.contract-release-gate.ready{color:#166534;background:#22c55e14;border-color:#22c55e47}.contract-missing-list{flex-wrap:wrap;gap:8px;margin:0 0 16px;display:flex}.contract-missing-list span{color:#b91c1c;background:#dc262614;border:1px solid #dc262647;border-radius:999px;padding:4px 9px;font-size:12px}.contract-checklist,.contract-field-map,.contract-signature-panel{border-top:1px solid var(--border);margin-top:18px;padding-top:16px}.contract-checklist-grid{grid-template-columns:repeat(2,minmax(220px,1fr));gap:12px;display:grid}.contract-question span{justify-content:space-between;align-items:center;gap:8px;display:flex}.contract-question em{color:var(--bs-primary,#4f46e5);text-transform:uppercase;font-size:11px;font-style:normal;font-weight:700}.inline-check{color:var(--text);align-items:flex-start;gap:9px;display:flex}.inline-check input{margin-top:3px}.compact-head{margin-bottom:10px}.contract-pdf-frame{border:1px solid var(--border);background:#fff;border-radius:8px;width:100%;min-height:420px}.contract-html-reader{border:1px solid var(--border);background:var(--surface-2);border-radius:8px;max-height:260px;margin-top:12px;padding:16px;overflow:auto}.contract-html-reader h1,.contract-html-reader h2,.contract-html-reader p{margin:0 0 10px}.contract-missing-image{border:1px dashed var(--border);max-width:100%;color:var(--muted);background:var(--surface-2);border-radius:6px;align-items:center;padding:.3rem .55rem;font-size:.86rem;line-height:1.25;display:inline-flex}.contract-written-note{color:var(--muted);margin:12px 0 0}.button-link{text-decoration:none}.contract-admin-grid{grid-template-columns:minmax(0,1.35fr) minmax(320px,.85fr);align-items:start;gap:18px;display:grid}.contract-template-tabs{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.contract-template-tabs button{border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:6px;padding:7px 10px}.contract-template-tabs button.active{background:var(--bs-primary,#4f46e5);color:#fff;border-color:var(--bs-primary,#4f46e5)}.contract-template-editor{grid-template-columns:repeat(2,minmax(240px,1fr));gap:12px;display:grid}.contract-template-editor textarea{min-height:220px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:12px}.contract-template-legal{grid-column:1/-1}.contract-template-admin-page{gap:18px;display:grid}.contract-template-admin-head{padding:16px}.contract-template-head-actions{justify-content:flex-end;align-items:center}.contract-template-save-button,.contract-template-meta-actions .primary{white-space:nowrap;justify-content:center;align-items:center;gap:8px;display:inline-flex}.contract-template-save-button svg,.contract-template-meta-actions .primary svg{fill:currentColor;width:16px;height:16px}.contract-template-table-wrap{min-width:0;max-width:100%;box-shadow:none;margin-top:14px;overflow-x:auto}.contract-template-table{min-width:1060px}.contract-template-table th,.contract-template-table td{vertical-align:middle}.contract-template-table th:last-child,.contract-template-table td:last-child{text-align:right;width:104px}.contract-template-table code{color:var(--vx-muted);font-size:12px}.contract-template-group-row td{color:var(--vx-primary);letter-spacing:0;text-transform:none;background:#7367f00e;border-bottom:1px solid #7367f01f;padding:10px 12px 8px;font-size:12px;font-weight:800}.contract-template-group-row span,.contract-template-group-row small{align-items:center;display:inline-flex}.contract-template-group-row small{color:var(--vx-muted);margin-left:10px;font-weight:750}.contract-template-name-button{width:100%;min-height:0;box-shadow:none;color:inherit;text-align:left;background:0 0;border:0;border-radius:0;gap:3px;padding:0;display:grid}.contract-template-name-button:hover,.contract-template-name-button:focus-visible{color:var(--vx-primary);box-shadow:none;background:0 0}.contract-template-name-button strong{font-size:13px}.contract-template-name-button small{max-width:420px;color:var(--vx-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:650;overflow:hidden}.contract-template-row-actions{flex-wrap:nowrap;justify-content:flex-end}.contract-template-meta-form{border-radius:var(--vx-radius);background:#7367f009;border:1px solid #7367f029;grid-template-columns:minmax(230px,1.3fr) minmax(170px,.8fr) minmax(150px,.72fr) minmax(120px,.52fr) minmax(150px,.7fr) minmax(220px,1fr) minmax(96px,.42fr);align-items:end;gap:10px;margin-top:14px;padding:14px;display:grid}.contract-template-meta-form .field{min-width:0;margin:0}.contract-template-meta-title,.contract-template-meta-description,.contract-template-meta-actions{grid-column:1/-1}.contract-template-meta-title{gap:2px;display:grid}.contract-template-meta-title h4{color:var(--vx-text);margin:0;font-size:16px}.contract-template-meta-description textarea{resize:vertical;min-height:76px}.contract-template-meta-actions{justify-content:flex-end}.contract-editor-details,.contract-field-editor-details{padding:0;overflow:hidden}.contract-editor-details{overflow:visible}.contract-editor-details>summary,.contract-field-editor-details>summary{cursor:pointer;border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:14px;padding:16px;display:flex}.contract-editor-details>summary span,.contract-field-editor-details>summary span{gap:3px;display:grid}.contract-editor-details>summary small,.contract-field-editor-details>summary small{color:var(--muted);font-weight:500}.contract-tiptap-shell{background:#fff;gap:0;display:grid}.contract-notion-editor{border-radius:0 0 var(--vx-radius) var(--vx-radius);grid-template-rows:auto minmax(420px,1fr) auto;position:relative}.contract-notion-sticky-head{z-index:12;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffeb;border-bottom:1px solid #2f2b3d14;position:sticky;top:10px}.contract-notion-toolbar,.contract-notion-variable-bar{flex-wrap:wrap;align-items:center;gap:10px;padding:12px 18px;display:flex}.contract-notion-toolbar{background:0 0;border-bottom:0;justify-content:space-between}.contract-toolbar-group{background:#f7f7f8;border:1px solid #2f2b3d14;border-radius:12px;flex-wrap:wrap;align-items:center;gap:2px;padding:4px;display:inline-flex}.contract-toolbar-format{margin-right:auto}.contract-toolbar-zoom{flex-wrap:nowrap}.contract-editor-button{color:#4d4a57;min-width:34px;min-height:30px;box-shadow:none;background:0 0;border:1px solid #0000;border-radius:8px;padding:5px 9px;font-size:12px;font-weight:800}.contract-editor-button:hover:not(:disabled),.contract-editor-button:focus-visible:not(:disabled),.contract-editor-button.active{color:#2f2b3d;background:#fff;border-color:#2f2b3d1a;box-shadow:0 1px 2px #2f2b3d1a}.contract-editor-button:disabled{color:#2f2b3d57;cursor:not-allowed}.contract-zoom-value{font-variant-numeric:tabular-nums;min-width:58px}.contract-notion-variable-bar{background:0 0;border-top:1px solid #2f2b3d0f;border-bottom:0}.contract-notion-variable-bar>span{color:#2f2b3d94;text-transform:uppercase;font-size:12px;font-weight:800}.contract-variable-palette button{color:#5b52cf;box-shadow:none;background:#7367f012;border:1px solid #7367f02e;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:750}.contract-variable-palette button:hover:not(:disabled),.contract-variable-palette button:focus-visible:not(:disabled){background:#7367f01f;border-color:#7367f057}.contract-variable-palette button:disabled{opacity:.55;cursor:not-allowed}.contract-tiptap-document{--contract-editor-page-width:980px;--contract-editor-min-height:720px;--contract-editor-padding-y:62px;--contract-editor-padding-x:88px;--contract-editor-font-size:16px;scrollbar-gutter:stable;background:#fbfbfc;max-height:min(820px,100vh - 250px);padding:26px clamp(18px,5vw,72px) 34px;position:relative;overflow:auto}.contract-template-markdown-source{resize:vertical;border:1px solid var(--border,#d8dce3);white-space:pre;tab-size:2;background:#fbfbfc;border-radius:10px;width:100%;min-height:420px;max-height:min(820px,100vh - 250px);padding:16px 18px;font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;line-height:1.55;overflow:auto}.contract-template-markdown-source:read-only{opacity:.85;cursor:default}.contract-tiptap-prosemirror{width:min(100%, var(--contract-editor-page-width));min-height:var(--contract-editor-min-height);padding:var(--contract-editor-padding-y) clamp(30px, 5vw, var(--contract-editor-padding-x));color:#2f2b3d;font-size:var(--contract-editor-font-size);background:#fff;border:1px solid #0000;border-radius:10px;outline:none;margin:0 auto;line-height:1.68;box-shadow:0 1px #2f2b3d0d}.contract-tiptap-prosemirror:focus{border-color:#7367f033;box-shadow:0 0 0 4px #7367f014}.contract-tiptap-prosemirror p{margin:0 0 14px}.contract-tiptap-prosemirror h1,.contract-tiptap-prosemirror h2,.contract-tiptap-prosemirror h3{color:#2f2b3d;margin:24px 0 12px;line-height:1.2}.contract-tiptap-prosemirror h1{font-size:1.75em}.contract-tiptap-prosemirror h2{font-size:1.375em}.contract-tiptap-prosemirror h3{font-size:1.125em}.contract-tiptap-prosemirror ul,.contract-tiptap-prosemirror ol{margin:0 0 16px 22px;padding:0}.contract-tiptap-prosemirror table{table-layout:fixed;border-collapse:collapse;border-radius:6px;width:100%;margin:18px 0;overflow:hidden}.contract-tiptap-prosemirror th,.contract-tiptap-prosemirror td{vertical-align:top;border:1px solid #2f2b3d29;min-width:100px;padding:9px 11px}.contract-tiptap-prosemirror th{background:#7367f014;font-weight:800}.contract-tiptap-prosemirror .selectedCell{background:#7367f01f}.contract-tiptap-prosemirror p.is-editor-empty:first-child:before{color:#2f2b3d6b;content:attr(data-placeholder);float:left;pointer-events:none;height:0}.contract-variable-node{color:#5b52cf;white-space:nowrap;background:#7367f017;border:1px solid #7367f029;border-radius:6px;align-items:center;max-width:100%;padding:0 5px;font-size:.88em;font-weight:750;display:inline-flex}.contract-source-details{background:#fff;border-top:1px solid #2f2b3d14;padding:0 18px 18px}.contract-notion-editor.is-focus-mode{z-index:1200;border:1px solid #2f2b3d1f;border-radius:16px;position:fixed;inset:18px;overflow:hidden;box-shadow:0 28px 80px #2f2b3d42}.contract-notion-editor.is-focus-mode .contract-notion-sticky-head{position:relative;top:auto}.contract-notion-editor.is-focus-mode .contract-tiptap-document{min-height:0;max-height:none;overflow:auto}.contract-notion-editor.is-focus-mode .contract-tiptap-prosemirror{min-height:calc(100vh - 250px)}.contract-selection-bubble,.contract-command-menu,.contract-context-menu{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff5;border:1px solid #2f2b3d1a;border-radius:12px;box-shadow:0 18px 44px #2f2b3d2e}.contract-selection-bubble{align-items:center;gap:3px;padding:5px;display:inline-flex}.contract-floating-add-menu{align-items:center;display:inline-flex}.contract-block-controls{opacity:.62;align-items:center;gap:2px;transition:opacity .16s;display:inline-flex}.contract-block-controls:hover,.contract-block-controls:focus-within{opacity:1}.contract-block-plus,.contract-block-grip{color:#2f2b3d6b;width:24px;height:26px;box-shadow:none;background:0 0;border:0;border-radius:6px;place-items:center;display:inline-grid}.contract-block-plus{font-size:22px;font-weight:500;line-height:1}.contract-block-grip{grid-template-columns:repeat(2,3px);grid-auto-rows:3px;place-content:center;gap:3px}.contract-block-grip span{background:currentColor;border-radius:999px;width:3px;height:3px}.contract-block-plus:hover,.contract-block-plus:focus-visible,.contract-block-grip:hover,.contract-block-grip:focus-visible{color:#2f2b3d;background:#2f2b3d12}.contract-command-menu,.contract-context-menu{z-index:1300;width:min(320px,100vw - 28px);max-height:min(420px,100vh - 28px);padding:8px;position:fixed;overflow:auto}.contract-command-menu button,.contract-context-fields button{color:#2f2b3d;width:100%;box-shadow:none;text-align:left;background:0 0;border:0;border-radius:8px;gap:2px;padding:8px 10px;display:grid}.contract-command-menu button:hover,.contract-command-menu button.active,.contract-context-fields button.active,.contract-context-fields button:hover,.contract-context-fields button:focus-visible{background:#7367f01a}.contract-command-menu button span,.contract-context-fields button span{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:800;overflow:hidden}.contract-command-menu button small,.contract-context-fields button small{color:var(--vx-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:650;overflow:hidden}.contract-context-menu{gap:8px;display:grid}.contract-context-row{flex-wrap:wrap;gap:4px;display:flex}.contract-context-row button{color:#4d4a57;min-height:30px;box-shadow:none;background:#f7f7f8;border-radius:8px;padding:5px 9px;font-size:12px;font-weight:800}.contract-context-menu input{width:100%}.contract-context-fields{gap:2px;max-height:230px;display:grid;overflow:auto}.contract-menu-empty{color:var(--vx-muted);padding:10px;font-size:12px;font-weight:700;display:block}.contract-source-details>summary{cursor:pointer;color:var(--muted);text-transform:uppercase;padding:12px 0;font-size:12px;font-weight:800}.contract-source-details textarea{resize:vertical;width:100%;min-height:220px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:12px;line-height:1.55}.contract-rich-editor{grid-template-columns:minmax(360px,1fr) minmax(360px,1fr);align-items:stretch;gap:16px;padding:16px;display:grid}.contract-editor-source textarea{resize:vertical;min-height:560px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:13px;line-height:1.55}.contract-editor-preview{grid-template-rows:auto minmax(0,1fr);gap:6px;min-width:0;display:grid}.contract-editor-preview>span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:800}.contract-editor-preview>div{border:1px solid var(--border);background:var(--surface-2);min-height:560px;color:var(--text);border-radius:8px;padding:28px;overflow:auto}.contract-editor-preview h1,.contract-editor-preview h2,.contract-editor-preview h3{margin:0 0 14px}.contract-editor-preview p,.contract-editor-preview li{line-height:1.55}.contract-editor-preview table{border-collapse:collapse;width:100%;margin:14px 0}.contract-editor-preview td{border:1px solid var(--border);padding:8px 10px}.contract-variable-preview{color:var(--bs-primary,#4f46e5);background:#7367f01f;border-radius:999px;padding:1px 7px;font-size:.9em;font-weight:800;display:inline-block}.contract-field-editor-table-wrap{background:#fbfbfc;padding:18px}.contract-field-card-list{gap:12px;display:grid}.contract-field-card{background:#fff;border:1px solid #2f2b3d14;border-radius:10px;grid-template-columns:minmax(270px,1.15fr) minmax(220px,.9fr) minmax(170px,.48fr) minmax(260px,.95fr) 38px;align-items:start;gap:14px;padding:14px;display:grid;box-shadow:0 1px 2px #2f2b3d0a}.contract-field-card .field{min-width:0;margin:0}.contract-field-card-main,.contract-field-card-meta,.contract-field-card-notes{gap:10px;min-width:0;display:grid}.contract-field-card-main{grid-template-columns:1fr}.contract-field-card input:not([type=checkbox]),.contract-field-card select,.contract-field-card textarea{width:100%}.contract-field-card textarea{resize:vertical;min-height:86px}.contract-field-card small{min-height:18px;color:var(--vx-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.contract-field-checks{background:#fbfbfc;border:1px solid #2f2b3d14;border-radius:10px;gap:8px;min-width:0;margin:0;padding:10px 12px 12px;display:grid}.contract-field-checks legend{color:var(--vx-muted);text-transform:uppercase;padding:0 4px;font-size:11px;font-weight:850}.contract-field-checks label{color:#4d4a57;align-items:center;gap:8px;min-height:24px;font-size:12px;font-weight:750;display:flex}.contract-field-checks input{flex:none}.contract-field-card-actions{justify-content:flex-end;display:flex}.contract-admin-support-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:stretch;gap:18px;display:grid}.contract-admin-support-grid .contract-template-legal{gap:8px;display:grid}.contract-admin-support-grid .contract-template-legal textarea{min-height:220px}.contract-derived-list{gap:10px;display:grid}.contract-derived-list>div{border:1px solid var(--border);background:var(--surface-2);border-radius:8px;gap:4px;padding:10px;display:grid}.contract-derived-list span,.contract-derived-list small{color:var(--muted)}.project-contract-trigger-panel{border-top:1px solid var(--border);margin-top:18px;padding-top:16px}.project-contract-trigger-form{grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) minmax(240px,1fr) auto;align-items:end;gap:12px;margin-bottom:14px;display:grid}.project-contract-trigger-table td{vertical-align:top}.contract-trigger-create{margin-bottom:14px}.contract-trigger-create select{min-width:150px}:root[data-theme=dark] .contract-tiptap-shell,:root[data-theme=dark] .contract-notion-sticky-head,:root[data-theme=dark] .contract-notion-variable-bar,:root[data-theme=dark] .contract-source-details{background:var(--surface)}:root[data-theme=dark] .contract-notion-toolbar{background:color-mix(in srgb, var(--surface) 84%, #000);border-color:#ffffff14}:root[data-theme=dark] .contract-toolbar-group{background:#ffffff0a;border-color:#ffffff1a}:root[data-theme=dark] .contract-editor-button{color:#ffffffb8}:root[data-theme=dark] .contract-editor-button:hover:not(:disabled),:root[data-theme=dark] .contract-editor-button:focus-visible:not(:disabled),:root[data-theme=dark] .contract-editor-button.active{color:#fff;background:#ffffff14;border-color:#ffffff1f}:root[data-theme=dark] .contract-tiptap-document{background:#15121d}:root[data-theme=dark] .contract-tiptap-prosemirror{background:var(--surface);color:var(--text);box-shadow:none;border-color:#ffffff1f}:root[data-theme=dark] .contract-tiptap-prosemirror h1,:root[data-theme=dark] .contract-tiptap-prosemirror h2,:root[data-theme=dark] .contract-tiptap-prosemirror h3{color:var(--text)}:root[data-theme=dark] .contract-field-editor-table-wrap,:root[data-theme=dark] .contract-field-checks{background:#15121d}:root[data-theme=dark] .contract-template-meta-form{background:#8c82ff14;border-color:#8c82ff2e}:root[data-theme=dark] .contract-template-group-row td{background:#8c82ff1a;border-color:#8c82ff29}:root[data-theme=dark] .contract-template-name-button small,:root[data-theme=dark] .contract-template-table code{color:var(--vx-muted)}:root[data-theme=dark] .contract-field-card{background:var(--surface);border-color:#ffffff1a}:root[data-theme=dark] .contract-field-checks label{color:var(--text)}:root[data-theme=dark] .contract-selection-bubble,:root[data-theme=dark] .contract-command-menu,:root[data-theme=dark] .contract-context-menu{background:color-mix(in srgb, var(--surface) 92%, #000);border-color:#ffffff1f;box-shadow:0 20px 48px #0000005c}:root[data-theme=dark] .contract-block-plus,:root[data-theme=dark] .contract-block-grip,:root[data-theme=dark] .contract-context-row button{color:#ffffffb8;border-color:#ffffff1f}:root[data-theme=dark] .contract-context-row button{background:#ffffff0f}:root[data-theme=dark] .contract-command-menu button,:root[data-theme=dark] .contract-context-fields button{color:var(--text)}@media (width<=1440px){.contract-template-meta-form{grid-template-columns:minmax(180px,1.3fr) minmax(140px,.8fr) minmax(120px,.7fr) minmax(100px,.52fr)}}@media (width<=1380px){.contract-field-card{grid-template-columns:minmax(260px,1fr) minmax(240px,.9fr) minmax(180px,.55fr)}.contract-field-card-notes{grid-column:1/-2}.contract-field-card-actions{align-self:end}}@media (width<=1180px){.contract-dashboard-grid,.contract-create-grid,.contract-project-context-grid,.contract-workspace,.contract-admin-grid,.contract-rich-editor,.contract-admin-support-grid,.contract-template-meta-form,.project-contract-trigger-form,.contract-checklist-grid,.contract-template-editor{grid-template-columns:1fr}.contract-tiptap-prosemirror{width:100%;padding:34px 28px}.contract-field-card{grid-template-columns:repeat(2,minmax(260px,1fr))}.contract-field-card-notes{grid-column:auto}.contract-field-card-actions{grid-column:1/-1}}@media (width<=760px){.contract-notion-editor.is-focus-mode{border-radius:12px;inset:8px}.contract-tiptap-toolbar,.contract-variable-palette{padding-left:12px;padding-right:12px}.contract-toolbar-group{border-right:0;width:100%;padding-right:0}.contract-tiptap-document{padding:12px}.contract-tiptap-prosemirror{min-height:520px;padding:26px 18px}.contract-field-card,.contract-field-card-main{grid-template-columns:1fr}.contract-field-card-actions{grid-column:auto}}.shareholder-dashboard{gap:18px;min-width:0}.shareholder-hero,.data-source-policy,.shareholder-company-card,.shareholder-source-panel,.data-sources-panel{border:1px solid var(--vx-border,#7367f02e);background:var(--vx-card-bg,#fff);min-width:0}.shareholder-hero{grid-template-columns:minmax(320px,1fr) minmax(360px,.9fr);align-items:stretch;gap:18px;display:grid}.shareholder-summary-strip,.shareholder-kpi-grid,.shareholder-source-grid,.data-source-grid{gap:12px;min-width:0;display:grid}.shareholder-summary-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.shareholder-summary-strip article,.shareholder-kpi-card,.shareholder-source-grid article,.data-source-card,.data-source-policy,.data-source-mapping-panel,.shareholder-timeline-list>div,.shareholder-upcoming-list>div{border:1px solid var(--vx-border-soft,#7367f024);background:var(--vx-surface,#fff);border-radius:10px;padding:14px}.shareholder-summary-strip span,.shareholder-kpi-head span:first-child,.data-source-card small,.shareholder-source-grid span{color:var(--vx-muted,#6e6b7b);text-transform:uppercase;font-size:.78rem;font-weight:700}.shareholder-summary-strip strong,.shareholder-kpi-card strong{color:var(--vx-heading,#2f2b3d);margin-top:6px;font-size:1.8rem;line-height:1.1;display:block}.shareholder-company-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.shareholder-company-card,.data-sources-panel{box-shadow:var(--vx-shadow-sm,0 2px 10px #2f2b3d14);border-radius:12px;max-width:100%;padding:18px}.shareholder-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:14px}.shareholder-kpi-card{flex-direction:column;gap:8px;min-height:150px;display:flex}.shareholder-kpi-head,.data-source-card-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;min-width:0;display:flex}.data-sources-panel>.card-head,.data-source-card-head>div{min-width:0}.data-sources-panel>.card-head{flex-wrap:wrap}.data-sources-panel .account-badge{overflow-wrap:anywhere;max-width:100%}.shareholder-kpi-card small,.shareholder-kpi-card em,.shareholder-source-grid p,.data-source-card p,.data-source-policy p,.data-source-mapping-panel p{color:var(--vx-muted,#6e6b7b);overflow-wrap:anywhere}.shareholder-kpi-card em{margin-top:auto;font-size:.82rem;font-style:normal}.shareholder-lists{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.shareholder-timeline-list,.shareholder-upcoming-list{gap:10px;margin-top:12px;display:grid}.shareholder-timeline-list strong,.shareholder-upcoming-list strong,.shareholder-source-grid strong,.data-source-card strong{color:var(--vx-heading,#2f2b3d);display:block}.shareholder-source-grid{grid-template-columns:repeat(5,minmax(180px,1fr));margin-top:12px}.data-source-policy{margin-bottom:16px}.data-source-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));margin-bottom:18px}.data-source-card{overflow-wrap:anywhere;flex-direction:column;gap:10px;min-width:0;max-width:100%;display:flex}.data-source-title-input{width:100%;color:var(--vx-heading,#2f2b3d);font:inherit;background:0 0;border:0;padding:2px 0;font-size:1.05rem;font-weight:800}.data-source-title-input:focus{outline-offset:3px;border-radius:6px;outline:2px solid #7367f038}.data-source-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.data-source-form-grid label,.data-source-secret-field,.data-source-card label{color:var(--vx-heading,#2f2b3d);flex-direction:column;gap:5px;min-width:0;font-weight:700;display:flex}.data-source-form-grid label span,.data-source-secret-field span,.data-source-card label>span{color:var(--vx-muted,#6e6b7b);text-transform:uppercase;font-size:.74rem}.data-source-form-grid input,.data-source-form-grid select,.data-source-secret-field input,.data-source-json-field{border:1px solid var(--vx-border-soft,#7367f024);background:var(--vx-surface,#fff);width:100%;min-width:0;color:var(--vx-heading,#2f2b3d);font:inherit;border-radius:8px;padding:9px 10px}.data-source-form-grid input[type=checkbox]{align-self:flex-start;width:auto;min-width:18px;min-height:18px;padding:0}.data-source-json-field{resize:vertical;min-height:120px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem;line-height:1.45}.data-source-card-actions{flex-wrap:wrap;gap:8px;min-width:0;margin-top:auto;display:flex}.data-source-card .secondary[disabled]{opacity:.62;cursor:not-allowed}.data-source-preview{border:1px solid var(--vx-border-soft,#7367f024);background:#00cfe80f;border-radius:10px;min-width:0;max-width:100%;padding:12px}.data-source-preview>div:first-child{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;min-width:0;display:flex}.data-source-preview p{color:var(--vx-muted,#6e6b7b);margin:8px 0}.data-source-preview dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;display:grid}.data-source-preview dt{color:var(--vx-muted,#6e6b7b);text-transform:uppercase;font-size:.72rem;font-weight:800}.data-source-preview dd{color:var(--vx-heading,#2f2b3d);overflow-wrap:anywhere;margin:2px 0 0;font-weight:800}.data-source-mapping-panel{min-width:0;max-width:100%;overflow-x:auto}@media (width<=1280px){.shareholder-hero,.shareholder-company-grid,.shareholder-lists{grid-template-columns:1fr}.shareholder-source-grid,.data-source-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}}@media (width<=760px){.shareholder-summary-strip,.shareholder-kpi-grid,.shareholder-source-grid,.data-source-grid{grid-template-columns:1fr}}.entra-mapping{flex-direction:column;gap:12px;padding:16px 0;display:flex}.entra-mapping-grid{grid-template-columns:minmax(320px,480px) 1fr;align-items:start;gap:20px;display:grid}.entra-userlist{background:var(--vx-surface,#fff);border:1px solid #7367f02e;border-radius:12px;max-height:70vh;padding:14px;overflow-y:auto}.entra-userlist-header{flex-direction:column;gap:8px;margin-bottom:12px;display:flex}.entra-userlist-header h3{margin:0;font-size:1rem}.entra-userlist-header input{border:1px solid #7367f038;border-radius:8px;padding:8px 10px}.entra-userlist-body{flex-direction:column;gap:6px;display:flex}.entra-user-card{cursor:grab;background:#fff;border:1px solid #7367f029;border-radius:10px;padding:10px 12px;transition:transform .1s,box-shadow .1s,border-color .1s}.entra-user-card:hover{border-color:#7367f059;box-shadow:0 2px 8px #7367f01f}.entra-user-card.dragging{opacity:.5;transform:scale(.98)}.entra-user-card.disabled{color:var(--vx-muted,#7a7a8a);background:#0000000a}.entra-user-name{font-size:.95rem;font-weight:600}.entra-user-mail{font-size:.8rem}.entra-user-badges{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.entra-user-badges .badge{color:var(--vx-primary-dark,#5e50ee);background:#7367f01f;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:.72rem;font-weight:600;display:inline-flex}.entra-user-badges .badge.team{color:#1d8a4a;background:#28c76f24}.entra-user-badges .badge.role{color:#b25a00;background:#ff9f4324}.entra-user-badges .badge.inactive{color:#b00;background:#ff4c5124}.entra-user-badges .badge-x{cursor:pointer;color:inherit;background:0 0;border:0;margin-left:4px;padding:0;font-size:.85rem;line-height:1}.entra-user-badges .badge-x.outline{background:#fff;border:1px dashed #0000002e;border-radius:999px;padding:1px 8px;font-size:.7rem}.entra-welcome-toggle{color:var(--vx-muted,#6b6b80);align-items:center;gap:6px;margin-top:4px;font-size:.8rem;display:flex}.entra-welcome-toggle input{width:auto}.entra-user-action{color:#b00;cursor:pointer;background:#fff;border:1px solid #ff4c5166;border-radius:6px;margin-left:auto;padding:2px 8px;font-size:.7rem}.entra-user-action:hover{background:#ff4c5114}.entra-dropcolumns{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.entra-dropcol{background:var(--vx-surface,#fff);border:1px solid #7367f02e;border-radius:12px;min-height:220px;padding:14px}.entra-dropcol h4{margin:0 0 10px;font-size:.95rem}.dropzone{text-align:center;color:var(--vx-primary-dark,#5e50ee);background:#7367f00a;border:1.5px dashed #7367f052;border-radius:10px;justify-content:center;align-items:center;margin-bottom:8px;padding:12px 10px;font-weight:600;transition:background .1s,border-color .1s,transform .1s;display:flex}.dropzone:last-child{margin-bottom:0}.dropzone.dropzone-hover,.dropzone.dropzone-role.dropzone-hover{border-color:var(--vx-primary,#7367f0);background:#7367f029;transform:scale(1.02)}.dropzone-role{color:#b25a00;background:#ff9f4314;border-color:#ff9f4366}.dropzone-role.dropzone-hover{background:#ff9f4338}@media (width<=1080px){.entra-mapping-grid,.entra-dropcolumns{grid-template-columns:1fr}}.feedback-fab{z-index:3500;color:#fff;cursor:pointer;background:linear-gradient(135deg,#7367f0,#5b52d6);border:none;border-radius:999px;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:700;display:inline-flex;position:fixed;bottom:20px;right:20px;box-shadow:0 10px 28px #7367f066}.feedback-fab:hover{filter:brightness(1.05)}.feedback-fab span[aria-hidden]{font-size:16px;line-height:1}.feedback-fab-label{white-space:nowrap}body:has(.floating-save-bar) .feedback-fab{bottom:84px}.feedback-overlay{z-index:3600;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#2f2b3d80;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.feedback-panel{border-radius:var(--vx-radius,12px);background:#fff;width:min(520px,100%);max-height:calc(100vh - 48px);padding:20px 22px;overflow-y:auto;box-shadow:0 24px 60px #2f2b3d59}.feedback-panel-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.feedback-panel-header h2{margin:0;font-size:18px}.feedback-close{cursor:pointer;color:var(--vx-muted,#6b6b7b);background:0 0;border:none;font-size:24px;line-height:1}.feedback-body{gap:10px;display:grid}.feedback-shot{background:#f6f6fb;border:1px solid #7367f033;border-radius:8px;justify-content:center;align-items:center;min-height:120px;display:flex;overflow:hidden}.feedback-shot-preview{-o-object-fit:contain;object-fit:contain;width:100%;height:auto;max-height:240px;display:block}.feedback-shot-placeholder{color:var(--vx-muted,#6b6b7b);text-align:center;align-items:center;gap:8px;padding:24px;font-size:13px;display:flex}.feedback-shot-actions{flex-wrap:wrap;gap:8px;display:flex}.feedback-annotate-wrap{max-width:100%;line-height:0;display:inline-block;position:relative}.feedback-annotate-img{-webkit-user-select:none;user-select:none;width:auto;max-width:100%;height:auto;max-height:240px;display:block}.feedback-annotation-canvas{position:absolute;top:0;left:0}.feedback-crop-rect{pointer-events:none;background:#7367f01f;border:2px dashed #7367f0;position:absolute}.feedback-shot-open{border:1px solid var(--vx-border);border-radius:var(--vx-radius);cursor:zoom-in;background:0 0;width:100%;padding:0;display:block;position:relative;overflow:hidden}.feedback-shot-open:hover{border-color:var(--vx-primary)}.feedback-shot-open:disabled{cursor:default;opacity:.7}.feedback-shot-open-hint{color:#fff;pointer-events:none;background:#111111b8;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:700;position:absolute;bottom:8px;right:8px}.feedback-lightbox{z-index:3700;background:#111114db;flex-direction:column;display:flex;position:fixed;inset:0}.feedback-lightbox-toolbar{background:var(--vx-surface);border-bottom:1px solid var(--vx-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;padding:10px 14px;display:flex}.feedback-lightbox-group{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.feedback-lightbox-zoom{text-align:center;min-width:52px;font-size:13px;font-weight:800}.feedback-lightbox-stage{touch-action:none;flex:1;min-height:0;position:relative;overflow:hidden}.feedback-lightbox-layer{transform-origin:0 0;line-height:0;position:absolute;top:0;left:0}.feedback-lightbox-img{-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.feedback-lightbox-canvas{touch-action:none;width:100%;height:100%;position:absolute;top:0;left:0}.feedback-lightbox-crop{pointer-events:none;background:#7367f029;border:2px dashed #7367f0;position:absolute}.feedback-spinner{border:2px solid #7367f04d;border-top-color:#7367f0;border-radius:50%;flex:none;width:14px;height:14px;animation:.7s linear infinite feedback-spin;display:inline-block}@keyframes feedback-spin{to{transform:rotate(360deg)}}.feedback-label{font-size:14px;font-weight:700}.feedback-required{color:#ea5455}.feedback-textarea{resize:vertical;width:100%;font:inherit;box-sizing:border-box;border:1px solid #7367f040;border-radius:8px;padding:10px 12px}.feedback-hint{color:var(--vx-muted,#6b6b7b);margin:0;font-size:12px}.feedback-privacy{color:var(--vx-muted,#6b6b7b);background:#7367f012;border-radius:8px;margin:0;padding:8px 10px;font-size:12px}.feedback-error{color:#ea5455;margin:0;font-size:13px}.feedback-actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.feedback-done{gap:8px;display:grid}.feedback-done-title{margin:0;font-size:16px;font-weight:700}.feedback-done-text{color:var(--vx-muted,#6b6b7b);margin:0;font-size:14px}.feedback-show-and-tell-toggle{border:1px solid var(--vx-border,#e2e2e2);cursor:pointer;opacity:.7;background:0 0;border-radius:6px;margin-left:auto;padding:3px 7px;font-size:14px;line-height:1;transition:opacity .15s,background .15s}.feedback-show-and-tell-toggle:hover,.feedback-show-and-tell-toggle[aria-pressed=true]{opacity:1;background:#7367f01a}.sat-picker-overlay{z-index:3600;pointer-events:auto;position:fixed;inset:0}.sat-picker-highlight{pointer-events:none;background:#7367f01f;border:2px solid #7367f0;border-radius:3px;transition:top 50ms,left 50ms,width 50ms,height 50ms;position:fixed;box-shadow:0 0 0 1px #7367f066}.sat-picker-label{pointer-events:none;color:#fff;white-space:nowrap;text-overflow:ellipsis;z-index:3601;background:#7367f0;border-radius:3px;max-width:280px;padding:2px 6px;font-size:11px;font-weight:700;position:fixed;overflow:hidden}.sat-picker-hint{color:#fff;pointer-events:none;white-space:nowrap;background:#111114d1;border-radius:999px;padding:6px 14px;font-size:12px;position:fixed;bottom:16px;left:50%;transform:translate(-50%)}.sat-panel{z-index:3700;background:var(--vx-surface,#fff);border:1px solid var(--vx-border,#e2e2e2);border-radius:var(--vx-radius,12px);gap:0;width:min(380px,100vw - 32px);display:grid;position:fixed;bottom:80px;right:16px;box-shadow:0 8px 32px #1111142e}.sat-panel-header{border-bottom:1px solid var(--vx-border,#e2e2e2);align-items:center;gap:8px;padding:10px 14px;display:flex}.sat-panel-title{flex:1;margin:0;font-size:14px;font-weight:800}.sat-panel-close{cursor:pointer;background:0 0;border:none;margin-left:auto;padding:0 2px;font-size:18px;line-height:1}.sat-recorder{gap:10px;padding:12px 14px;display:grid}.sat-region-info{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.sat-region-tag{color:#7367f0;background:#7367f01f;border-radius:4px;padding:1px 6px;font-size:11px;font-weight:800}.sat-region-aria{color:var(--vx-muted,#6b6b7b);font-size:11px}.sat-region-selector{color:var(--vx-muted,#6b6b7b);background:var(--vx-bg,#f8f8f8);overflow-wrap:anywhere;border-radius:3px;padding:1px 5px;font-size:10px}.sat-region-shot{-o-object-fit:contain;object-fit:contain;border:1px solid var(--vx-border,#e2e2e2);border-radius:6px;width:100%;max-height:120px}.sat-error{color:#ea5455;background:#ea545514;border-radius:6px;margin:0;padding:6px 8px;font-size:12px}.sat-text-input-row{flex-direction:column;gap:6px;display:flex}.sat-text-input{border:1px solid var(--vx-border,#2f2b3d1f);border-radius:var(--vx-radius,6px);background:var(--vx-surface,#fff);width:100%;min-height:64px;color:var(--vx-text,#2f2b3d);resize:vertical;box-sizing:border-box;padding:7px 10px;font-size:13px}.sat-text-input:focus{border-color:var(--vx-primary,#7367f0);outline:none;box-shadow:0 0 0 3px #7367f024}.sat-text-submit{align-self:flex-end}.sat-text-submit:disabled{opacity:.5;cursor:not-allowed}.sat-text-submit-wrap{justify-content:flex-end;align-items:center;gap:8px;display:flex}.sat-text-hint{color:var(--vx-muted,#82868b);font-size:11px;font-weight:700}.sat-recorder-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sat-recording-indicator{background:#ea5455;border-radius:50%;flex-shrink:0;width:10px;height:10px;animation:1s ease-in-out infinite sat-blink}@keyframes sat-blink{0%,to{opacity:1}50%{opacity:.2}}.sat-recording-time{font-variant-numeric:tabular-nums;color:#ea5455;font-size:13px;font-weight:700}.sat-audio-preview{width:100%;min-width:0}.sat-recorder-recorded-actions{flex-wrap:wrap;gap:8px;display:flex}.sat-uploading{color:var(--vx-muted,#6b6b7b);font-size:13px}.sat-back{justify-self:start;font-size:12px}.dev-backlog-panel{padding:16px 0}.dev-backlog-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-top:12px;display:grid}.dev-backlog-bucket{border:1px solid var(--vx-border);background:var(--vx-surface);border-radius:6px;padding:12px}.dev-backlog-bucket-head{align-items:center;gap:8px;margin:0 0 8px;font-size:14px;display:flex}.dev-backlog-count{color:var(--vx-text);font-size:20px;font-weight:700}.dev-backlog-badge{border-radius:4px;padding:2px 7px;font-size:12px;font-weight:600}.dev-backlog-badge-todo{background:var(--vx-muted-bg,#e5e7eb);color:var(--vx-muted)}.dev-backlog-badge-doing{color:#92400e;background:#fef3c7}.dev-backlog-badge-done{color:#065f46;background:#d1fae5}.dev-backlog-badge-failed{color:#991b1b;background:#fee2e2}.dev-backlog-task-list{flex-direction:column;gap:4px;max-height:320px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.dev-backlog-task-list li{font-size:12px;line-height:1.4}.dev-backlog-task-link{color:var(--vx-accent);word-break:break-all;text-decoration:none}.dev-backlog-task-link:hover{text-decoration:underline}.dev-backlog-empty{margin:0;font-size:13px}.dev-backlog-status-details{border:1px solid var(--vx-border);border-radius:6px;margin-top:20px}.dev-backlog-status-details summary{cursor:pointer;padding:10px 14px;font-size:13px;font-weight:600}.dev-backlog-status-pre{white-space:pre-wrap;word-break:break-word;border-top:1px solid var(--vx-border);max-height:400px;margin:0;padding:12px 14px;font-size:11px;line-height:1.6;overflow-y:auto}.changelog-panel{width:100%;min-width:0;max-width:100%;padding:16px 0;overflow-x:hidden}.changelog-meta{min-width:0;color:var(--vx-muted);flex-direction:column;align-items:flex-end;gap:4px;font-size:12px;font-weight:600;display:flex}.changelog-meta span{overflow-wrap:anywhere;max-width:100%}.changelog-day{border-top:1px solid var(--vx-border);min-width:0;margin-top:18px;padding-top:14px}.changelog-day h3{margin:0 0 10px;font-size:15px}.changelog-entry-list{gap:10px;min-width:0;display:grid}.changelog-entry{box-sizing:border-box;border:1px solid var(--vx-border);background:var(--vx-surface);border-radius:6px;width:100%;min-width:0;padding:12px}.changelog-entry-head{grid-template-columns:minmax(92px,auto) minmax(0,1fr) auto;align-items:baseline;gap:10px;min-width:0;display:grid}.changelog-version{background:var(--vx-muted-bg,#e5e7eb);color:var(--vx-muted);white-space:nowrap;border-radius:4px;justify-content:center;padding:3px 8px;font-size:12px;font-weight:700;display:inline-flex}.changelog-entry h4{overflow-wrap:anywhere;min-width:0;margin:0;font-size:14px}.changelog-entry code{min-width:0;color:var(--vx-muted);overflow-wrap:anywhere;white-space:normal;font-size:12px}.changelog-entry ul{color:var(--vx-text);overflow-wrap:anywhere;margin:10px 0 0 18px;padding:0}.changelog-entry li{margin:4px 0;line-height:1.45}@media (width<=720px){.changelog-meta{align-items:flex-start}.changelog-entry-head{grid-template-columns:1fr;gap:6px}.changelog-version{justify-content:flex-start;width:max-content;max-width:100%}}.user-settings-view{max-width:640px;padding:20px 24px}.user-settings-tabs{flex-wrap:wrap;gap:8px;margin:12px 0 20px;display:flex}.user-settings-form{flex-direction:column;gap:12px;display:flex}.user-settings-form h3{margin:0 0 4px;font-size:15px;font-weight:700}.user-settings-form label{color:var(--vx-text);flex-direction:column;gap:4px;font-size:13px;font-weight:600;display:flex}.user-settings-form label small{color:var(--vx-muted);font-weight:400}.user-settings-form input{border:1px solid var(--vx-border);border-radius:var(--vx-radius);background:var(--vx-surface);width:100%;color:var(--vx-text);box-sizing:border-box;padding:7px 10px;font-size:14px}.user-settings-form input:focus{border-color:var(--vx-primary);outline:none;box-shadow:0 0 0 3px #7367f024}.user-settings-avatar-field{border:1px solid var(--vx-border);border-radius:var(--vx-radius);margin:0;padding:10px 12px 12px}.user-settings-avatar-field legend{color:var(--vx-text);padding:0 4px;font-size:13px;font-weight:700}.user-settings-avatar-options{flex-wrap:wrap;gap:8px;display:flex}.user-settings-avatar-option{border:1px solid var(--vx-border);border-radius:var(--vx-radius);cursor:pointer;background:var(--vx-surface);align-items:center;gap:8px;min-height:44px;padding:7px 9px;display:flex}.user-settings-avatar-option.active{border-color:var(--vx-primary);box-shadow:0 0 0 3px #7367f024}.user-settings-avatar-option input{width:auto;margin:0}.user-settings-avatar-option .user-avatar-swatch{width:32px;height:32px}.user-settings-email{color:var(--vx-muted);margin:0 0 4px;font-size:13px}.user-settings-ok{color:var(--vx-success);margin:0;font-size:13px;font-weight:600}.user-settings-err{color:var(--vx-danger);margin:0;font-size:13px;font-weight:600}.user-settings-feedback h3{margin:0 0 12px;font-size:15px;font-weight:700}.user-settings-feedback-table{border-collapse:collapse;width:100%;font-size:13px}.user-settings-feedback-table th{text-align:left;border-bottom:2px solid var(--vx-border);color:var(--vx-muted);padding:6px 8px;font-weight:700}.user-settings-feedback-table td{border-bottom:1px solid var(--vx-border);vertical-align:top;padding:6px 8px}.user-settings-feedback-date{white-space:nowrap;color:var(--vx-muted);font-size:12px}.user-settings-feedback-text{word-break:break-word;max-width:260px}.strand-overlay-toggle{color:var(--vx-muted);background:var(--vx-surface);border-color:var(--vx-border)}.strand-overlay-toggle.active{color:#fff;background:var(--vx-primary);border-color:var(--vx-primary);box-shadow:0 0 0 3px #7367f029}.strand-user-popover{z-index:9999;pointer-events:none;background:var(--vx-elevated);border:1px solid var(--vx-border);box-shadow:var(--vx-shadow);border-radius:8px;min-width:180px;max-width:280px;padding:10px 14px;position:fixed;transform:translate(12px,-50%)}.strand-user-popover-name{margin-bottom:8px;font-size:13px;font-weight:700;display:block}.strand-user-popover-dl{grid-template-columns:auto 1fr;gap:3px 12px;margin:0;font-size:12px;display:grid}.strand-user-popover-dl dt{color:var(--vx-muted);white-space:nowrap;font-weight:500}.strand-user-popover-dl dd{color:var(--vx-text);margin:0;font-weight:600}.caas-overview-view{--vx-primary:#8517ff;--vx-primary-dark:#5300b0;--vx-radius:14px;font-family:"Figtree", var(--bs-font-sans-serif,"Public Sans", Inter, ui-sans-serif, system-ui, sans-serif);gap:22px}.caas-overview-view .map-head h3,.caas-overview-view .overview-tenant-editor .eyebrow{font-family:Poppins,Figtree,sans-serif}.caas-overview-view .map-head h3{letter-spacing:0;color:#23004a;font-size:1.5rem;font-weight:600;line-height:1.15}.caas-overview-view .map-head h3:before{content:"";background:linear-gradient(90deg,#8517ff,#ba7dff);border-radius:999px;width:34px;height:3px;margin-bottom:10px;display:block}.caas-overview-view .map-head .muted{color:#5e5e5e}.caas-overview-view .map-panel,.caas-overview-view .caas-overview-table-wrap{border-color:#ececf1;border-radius:16px;box-shadow:0 1px 2px #23004a0d,0 18px 40px -26px #23004a59}.caas-overview-view .map-panel{gap:16px;padding:22px}.caas-overview-view .primary{letter-spacing:0;border-radius:12px;font-family:Figtree,sans-serif;font-weight:600;box-shadow:0 6px 18px #8517ff47}.caas-overview-view .primary:hover{box-shadow:0 8px 22px #8517ff5c}.caas-overview-view .overview-group-select span,.caas-overview-view .overview-status-select span,.caas-overview-view .overview-search-field>label{letter-spacing:0;color:#5e5e5e;font-size:10.5px}.caas-overview-view .overview-filter-bar select,.caas-overview-view .overview-filter-bar input{border-radius:11px}.caas-overview-view .tenant-table thead th,.caas-overview-view .tenant-table .table-sort{letter-spacing:0;color:#5e5e5e;font-family:Poppins,Figtree,sans-serif;font-weight:600}.caas-overview-view .tenant-row:hover td{background:#8517ff0b}.caas-overview-view .tenant-jump-button{letter-spacing:0;font-family:Poppins,Figtree,sans-serif;font-weight:600}
