:root,[data-theme=light]{color-scheme:light;--bg: #e8eef2;--bg-accent: #d5e2ea;--surface: #f7fafc;--surface-elevated: #ffffff;--ink: #152028;--ink-muted: #4a5c68;--line: #b7c7d1;--brand: #0f4c5c;--brand-soft: #1a6b7c;--brand-contrast: #e8f4f6;--accent: var(--brand);--ok: #1f6b4a;--ok-bg: #d9f0e4;--warn: #8a5a12;--warn-bg: #f5e6c8;--bad: #8b2e2e;--bad-bg: #f3d6d6;--pending: #5a6a74;--pending-bg: #e2e8ec;--shadow: 0 12px 28px rgb(21 32 40 / 8%);--sidebar-width: 16.5rem;--topbar-height: 3.75rem;--radius: 2px;--font: "IBM Plex Sans", "Segoe UI", sans-serif;--mono: "IBM Plex Mono", ui-monospace, monospace}[data-theme=dark]{color-scheme:dark;--bg: #0f161b;--bg-accent: #1a2830;--surface: #162028;--surface-elevated: #1c2a33;--ink: #e7eef2;--ink-muted: #9aafbb;--line: #31424d;--brand: #6eb8c6;--brand-soft: #8ecbd6;--brand-contrast: #12343c;--accent: var(--brand);--ok: #6dcea0;--ok-bg: #1a3a2c;--warn: #e0b45a;--warn-bg: #3a2e14;--bad: #e08a8a;--bad-bg: #3a1c1c;--pending: #8ea0ab;--pending-bg: #243038;--shadow: 0 16px 32px rgb(0 0 0 / 35%)}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:var(--font);color:var(--ink);background:var(--bg)}button,a{font:inherit}a{color:inherit;text-decoration:none}.app-frame{min-height:100vh;display:grid;grid-template-columns:var(--sidebar-width) 1fr;background:radial-gradient(900px 420px at 0% 0%,var(--bg-accent),transparent 55%),var(--bg)}.app-sidebar-backdrop{display:none}.app-sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:1.5rem;padding:1.35rem 1.1rem;border-right:1px solid var(--line);background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.app-sidebar__brand{display:grid;grid-template-columns:auto 1fr;gap:.75rem;align-items:center}.app-sidebar__mark{width:2.1rem;height:2.1rem;border:2px solid var(--brand);background:linear-gradient(145deg,var(--brand-contrast),transparent 70%)}.app-sidebar__name{display:block;font-size:1.2rem;letter-spacing:-.02em;color:var(--brand)}.app-sidebar__tagline{margin:.15rem 0 0;font-size:.78rem;color:var(--ink-muted);line-height:1.3}.app-sidebar__section{margin:0 0 .45rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted);font-weight:600}.app-sidebar__nav ul{list-style:none;margin:0;padding:0;display:grid;gap:.3rem}.app-sidebar__link{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.65rem .75rem;border:1px solid transparent;color:var(--ink)}.app-sidebar__link:hover{background:var(--surface-elevated);border-color:var(--line)}.app-sidebar__link--active{background:var(--brand-contrast);border-color:color-mix(in srgb,var(--brand) 40%,var(--line));color:var(--brand);font-weight:600}.app-sidebar__link--disabled{opacity:.72;cursor:not-allowed;color:var(--ink-muted)}.app-sidebar__footnote{margin-top:auto;font-family:var(--mono);font-size:.72rem;color:var(--ink-muted)}.app-content{min-width:0;display:grid;grid-template-rows:var(--topbar-height) 1fr}.app-topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:var(--topbar-height);padding:0 1.25rem;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface) 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.app-topbar__leading,.app-topbar__trailing{display:flex;align-items:center;gap:.65rem}.app-topbar__title{margin:0;font-size:1rem;font-weight:600}.app-topbar__menu{display:none}.app-topbar__menu-icon{width:1rem;height:.75rem;border-top:2px solid currentColor;border-bottom:2px solid currentColor;background:linear-gradient(currentColor,currentColor) center / 100% 2px no-repeat}.app-main{padding:1.5rem 1.5rem 2.5rem}.page-stack{width:min(960px,100%);display:grid;gap:1.25rem}.ws-shell{--ws-top: 3.5rem;--ws-foot: 2.15rem;--ws-assistant: 0px;--ws-tree: 15.5rem;--ws-props: 17.5rem;min-height:100vh;display:grid;grid-template-rows:auto auto 1fr auto auto;background:var(--bg);color:var(--ink)}.ws-shell--intelligent{--ws-assistant: 14rem}.ws-topbar{min-height:var(--ws-top);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.85rem;padding:.55rem 1rem;border-bottom:1px solid var(--line);background:var(--surface-elevated)}.ws-topbar__brand{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;min-width:0}.ws-topbar__home{font-weight:700;color:var(--brand);letter-spacing:-.02em}.ws-topbar__divider{width:1px;height:1.4rem;background:var(--line)}.ws-topbar__meta{display:flex;flex-wrap:wrap;gap:.85rem 1.15rem}.ws-meta{display:grid;gap:.1rem}.ws-meta__label{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted);font-weight:600}.ws-meta__value{font-size:.9rem;font-weight:600}.ws-meta__value--status{color:var(--brand-soft)}.ws-topbar__actions{display:flex;flex-wrap:wrap;gap:.45rem}.ws-toolbar{display:none;gap:.45rem;padding:.45rem .75rem;border-bottom:1px solid var(--line);background:var(--surface);align-items:center;flex-wrap:wrap}.ws-shell--intelligent .ws-toolbar{display:flex}.edit-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem .75rem;flex:1 1 auto;min-width:0}.edit-toolbar__group{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}.edit-toolbar__select{display:flex;align-items:center;gap:.3rem;font-size:.78rem;color:var(--ink-muted)}.edit-toolbar__select select{font:inherit;font-size:.78rem;border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:.25rem .35rem;max-width:9.5rem}.edit-toolbar__select select:disabled{opacity:.55}.edit-toolbar__zoom-value{min-width:2.8rem;text-align:center;font-size:.78rem;font-weight:700;color:var(--brand)}.ws-canvas__zoom,.ws-canvas__world{position:absolute;inset:0;transform-origin:center center;pointer-events:none}.ws-canvas__world .ws-canvas__markers,.ws-canvas__world .ws-canvas__grid,.ws-canvas__world .oie-marquee,.ws-canvas__world .snap-guides,.ws-canvas__world .ws-canvas__geometry{pointer-events:none}.ws-canvas__world .oie-marker,.ws-canvas__world .oie-float-bar,.ws-canvas__world .geom-wall-end,.ws-canvas__world .geom-wall{pointer-events:auto}.ws-canvas__geometry{position:absolute;inset:0;width:100%;height:100%;z-index:1}.geom-env-polygon{fill:color-mix(in srgb,var(--brand) 12%,transparent);stroke:color-mix(in srgb,var(--brand) 45%,var(--line));stroke-width:.35}.geom-wall{stroke:#5b6570;stroke-linecap:round;cursor:pointer}.geom-wall--selected{stroke:var(--brand)}.geom-wall__length{fill:var(--ink-muted);font-size:2.2px;text-anchor:middle}.geom-draft-point,.geom-polygon-draft{fill:none;stroke:var(--brand);stroke-width:.4}.geom-draft-point{fill:var(--brand)}.geom-wall-end{position:absolute;width:.7rem;height:.7rem;margin:-.35rem 0 0 -.35rem;border:2px solid var(--brand);border-radius:999px;background:var(--surface);z-index:4;cursor:grab}.ws-canvas--pan{cursor:grab}.snap-type-toggles{display:flex;flex-wrap:wrap;gap:.25rem}.snap-guide--endpoint,.snap-guide--midpoint,.snap-guide--orthogonal,.snap-guide--perpendicular,.snap-guide--parallel,.snap-guide--extension,.snap-guide--intersection,.snap-guide--center{width:.55rem;height:.55rem;border-radius:999px;transform:translate(-50%,-50%)}.snap-guide--endpoint{background:#c45c26}.snap-guide--midpoint{background:#2f6fed}.snap-guide--orthogonal{background:#6b8f3c;border-radius:.1rem}.snap-guide--perpendicular{background:#b33b7a;width:.65rem;height:.2rem;border-radius:.05rem}.snap-guide--parallel{background:#1f8a70;width:.7rem;height:.18rem;border-radius:0;box-shadow:0 .22rem #1f8a70}.snap-guide--extension{background:transparent;border:2px dashed #8a5a00;border-radius:0}.snap-guide--intersection{background:#8b2e2e;width:.5rem;height:.5rem;border-radius:0;transform:translate(-50%,-50%) rotate(45deg)}.snap-guide--center{background:#4a3f8c;width:.45rem;height:.45rem;box-shadow:0 0 0 2px #c9c2ef}.layers-panel{display:flex;flex-direction:column;gap:.35rem;margin-left:.5rem;padding:.35rem .45rem;border:1px solid var(--line);background:var(--surface);max-width:18rem}.layers-panel__title{margin:0;font-size:.78rem;font-weight:650}.layers-panel__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem}.layers-panel__item{display:grid;grid-template-columns:1fr auto auto;gap:.25rem;align-items:center;font-size:.72rem}.layers-panel__name{color:var(--ink-muted)}.selection-filters{display:flex;flex-wrap:wrap;gap:.25rem;margin-left:.5rem;max-width:28rem}.project-summary{flex:1;min-width:0;overflow:auto;padding:1rem 1.15rem 1.5rem;background:radial-gradient(ellipse 80% 50% at 10% 0%,color-mix(in srgb,var(--accent) 12%,transparent),transparent),var(--surface)}.project-summary__head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem 1rem;margin-bottom:1.1rem}.project-summary__title{margin:0 0 .35rem;font-size:1.35rem;font-weight:700}.project-summary__note{margin:0;max-width:36rem;font-size:.85rem;color:var(--ink-muted)}.tech-section-title{margin:0 0 .65rem;font-size:1rem;font-weight:650}.tech-dashboard,.tech-stats,.tech-health,.tech-timeline,.exec-summary{margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--line)}.exec-summary__cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.65rem}.exec-summary__card{display:flex;flex-direction:column;gap:.35rem;padding:.7rem .8rem;border:1px solid var(--line);background:var(--surface-elevated)}.exec-summary__label{font-size:.75rem;color:var(--ink-muted)}.exec-summary__value{font-size:1.05rem;font-weight:650}.memorial{flex:1;min-width:0;overflow:auto;padding:1rem 1.15rem 1.5rem;background:var(--surface)}.memorial__head{margin-bottom:.85rem}.memorial__title{margin:0 0 .35rem;font-size:1.35rem;font-weight:700}.memorial__note,.memorial__disclaimer{margin:0 0 .45rem;max-width:44rem;font-size:.85rem;color:var(--ink-muted)}.memorial__toc{margin:0 0 1.1rem;padding:.65rem .8rem;border:1px solid var(--line);background:var(--surface-elevated)}.memorial__toc ol{margin:0;padding-left:1.2rem;columns:2;gap:1rem}.memorial__toc a{color:var(--accent);text-decoration:none;font-size:.88rem}.memorial__section{margin-bottom:1.15rem;padding-bottom:.85rem;border-bottom:1px solid var(--line)}.memorial__section-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.45rem}.memorial__badge{font-size:.72rem;font-weight:650;padding:.2rem .45rem;border:1px solid var(--line);background:var(--surface-elevated)}.memorial__badge--complete{color:#0b6b3a}.memorial__badge--partial{color:#8a5a00}.memorial__badge--empty{color:var(--ink-muted)}.memorial__paragraph{margin:0 0 .4rem;font-size:.92rem;max-width:48rem}.memorial__list,.memorial__pendings{margin:.4rem 0 0;padding-left:1.2rem;font-size:.88rem}.memorial__pending-btn{border:0;background:transparent;color:var(--accent);cursor:pointer;text-align:left;padding:.15rem 0;font:inherit;text-decoration:underline}.library-picker{margin-top:.75rem;padding:.65rem;border:1px solid var(--line);background:var(--surface-elevated)}.library-picker__head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.library-picker__filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.55rem;margin:.55rem 0}.library-picker__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem;max-height:18rem;overflow:auto}.library-picker__item{display:grid;grid-template-columns:1fr auto;gap:.4rem;align-items:start;padding:.4rem;border:1px solid var(--line)}.library-picker__item--favorite{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.library-picker__select{display:flex;gap:.55rem;align-items:flex-start;border:0;background:transparent;text-align:left;cursor:pointer;padding:0;font:inherit;color:inherit}.library-picker__icon{display:inline-flex;width:1.6rem;height:1.6rem;align-items:center;justify-content:center;border:1px solid var(--line);font-weight:700;flex-shrink:0}.library-picker__meta{display:flex;flex-direction:column;gap:.1rem;font-size:.85rem}.unifilar-view{flex:1;min-width:0;overflow:auto;padding:1rem 1.15rem 1.5rem;background:var(--surface)}.unifilar-view__head{margin-bottom:1rem}.unifilar-view__title{margin:0 0 .35rem;font-size:1.35rem;font-weight:700}.unifilar-view__note{margin:0;max-width:44rem;font-size:.85rem;color:var(--ink-muted)}.unifilar-view__layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(14rem,18rem);gap:1rem}.unifilar-tree,.unifilar-tree__branch{list-style:none;margin:0;padding:0}.unifilar-tree__branch{margin-left:1.1rem;padding-left:.65rem;border-left:2px solid var(--line)}.unifilar-tree__item{margin:.35rem 0}.unifilar-tree__node{display:inline-block;border:1px solid var(--line);border-radius:.3rem;padding:.3rem .5rem;font-size:.85rem;background:var(--surface-elevated, var(--surface));color:inherit}button.unifilar-tree__node{cursor:pointer;text-align:left}.unifilar-tree__node--panel{font-weight:700}.unifilar-tree__node--circuit{font-weight:600}.unifilar-tree__node--orphan_panel_root,.unifilar-tree__node--orphan_circuit_root{font-style:italic;color:var(--ink-muted)}.unifilar-view__side{border:1px solid var(--line);border-radius:.4rem;padding:.75rem}.unifilar-view__counts{display:grid;gap:.4rem;margin:0 0 .85rem}.unifilar-view__counts div{display:flex;justify-content:space-between;gap:.5rem;font-size:.88rem}.unifilar-view__counts dt{color:var(--ink-muted)}.unifilar-view__counts dd{margin:0;font-weight:700}.unifilar-view__pendencies{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.unifilar-view__pending-btn{border:0;background:transparent;color:inherit;text-align:left;padding:.25rem 0;cursor:pointer;text-decoration:underline;font-size:.85rem}@media(max-width:900px){.unifilar-view__layout{grid-template-columns:1fr}}.conductors-view{flex:1;min-width:0;overflow:auto;padding:1rem 1.15rem 1.5rem;background:var(--surface)}.conductors-view__head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.conductors-view__title{margin:0 0 .35rem;font-size:1.35rem;font-weight:700}.conductors-view__note{margin:0;max-width:42rem;font-size:.85rem;color:var(--ink-muted)}.conductors-view__layout{display:grid;grid-template-columns:minmax(12rem,16rem) minmax(0,1fr);gap:1rem}.conductors-view__list ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.conductors-view__item{width:100%;text-align:left;border:1px solid var(--line);background:var(--surface-elevated, var(--surface));border-radius:.4rem;padding:.55rem .65rem;display:flex;flex-direction:column;gap:.15rem;cursor:pointer;color:inherit}.conductors-view__item--active{border-color:var(--accent, #b45309);box-shadow:inset 0 0 0 1px var(--accent, #b45309)}.conductors-view__item span{font-size:.78rem;color:var(--ink-muted)}.conductors-view__actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.85rem}.conductors-view__fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.65rem;margin-bottom:1rem}.conductors-view__notes{grid-column:1 / -1}.conductors-view__conduit-list,.conductors-view__unlinked,.conductors-view__hints ul{list-style:none;margin:0 0 .75rem;padding:0;display:flex;flex-direction:column;gap:.35rem}.conductors-view__conduit-list li,.conductors-view__hints li{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.tech-checks{flex:1;min-width:0;overflow:auto;padding:1rem 1.15rem 1.5rem;background:var(--surface)}.tech-checks__head{margin-bottom:1rem}.tech-checks__title{margin:0 0 .35rem;font-size:1.35rem;font-weight:700}.tech-checks__note{margin:0;max-width:46rem;font-size:.85rem;color:var(--ink-muted)}.tech-checks__group{margin-top:1.25rem}.tech-checks__list{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-direction:column;gap:.65rem}.tech-checks__item{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.75rem .85rem;border:1px solid var(--border);border-left-width:3px;background:var(--surface-elevated, var(--surface))}.tech-checks__item--critical{border-left-color:#b42318}.tech-checks__item--high{border-left-color:#c4320a}.tech-checks__item--medium{border-left-color:#b54708}.tech-checks__item--low{border-left-color:#175cd3}.tech-checks__item strong{display:block;margin-bottom:.25rem}.tech-checks__item p{margin:0 0 .35rem;font-size:.9rem}.tech-consistency-health,.normative-sources-dash,.productivity-dash{margin-block:1.25rem}.productivity-panel{display:grid;gap:1.25rem;padding:1rem 1.25rem 2rem}.productivity-panel__title{margin:0;font-size:1.35rem}.productivity-panel__note{margin:.35rem 0 0;color:var(--muted, #667)}.productivity-panel__filters{display:grid;gap:.5rem;margin-block:.75rem}.productivity-panel table{width:100%;border-collapse:collapse;margin-block:.75rem;font-size:.9rem}.productivity-panel th,.productivity-panel td{border-bottom:1px solid color-mix(in srgb,currentColor 12%,transparent);padding:.35rem .5rem;text-align:left}.ws-shell--beginner .ws-toolbar .layers-panel,.ws-shell--beginner .selection-filters{display:none}.ws-shell--beginner .ws-assistant-wrap--expanded{border-top:1px solid color-mix(in srgb,currentColor 12%,transparent)}.ws-shell--professional .contextual-panel__muted{display:none}.ws-topbar__mode{display:inline-flex;align-items:center;gap:.35rem;font-size:.85rem}.ws-guided-chrome{display:grid;gap:.75rem;padding:.75rem 1rem 0}.ws-main-column{display:flex;flex-direction:column;flex:1;min-width:0}.next-action-card,.project-flow-trail,.ux-metrics-panel,.command-palette__panel{margin-block:.75rem}.project-flow-trail__list{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}.project-flow-trail__item{display:flex;justify-content:space-between;gap:.75rem;padding:.4rem .6rem;text-decoration:none;color:inherit;border-radius:.35rem;background:color-mix(in srgb,currentColor 4%,transparent)}.project-flow-trail__item--completed{outline:1px solid color-mix(in srgb,#16a34a 45%,transparent)}.project-flow-trail__item--with_pendings{outline:1px solid color-mix(in srgb,#ca8a04 45%,transparent)}.contextual-commands{display:flex;flex-wrap:wrap;gap:.4rem}.command-palette{position:fixed;inset:0;z-index:80}.command-palette__backdrop{position:absolute;inset:0;background:color-mix(in srgb,#000 35%,transparent)}.command-palette__panel{position:relative;z-index:1;width:min(36rem,calc(100% - 2rem));margin:10vh auto 0;padding:1rem;border-radius:.5rem;background:var(--surface, #fff);color:inherit;box-shadow:0 12px 40px color-mix(in srgb,#000 25%,transparent);max-height:70vh;overflow:auto}.command-palette__panel ul{list-style:none;margin:0;padding:0}.command-palette__panel li button{width:100%;text-align:left;display:grid;gap:.15rem;padding:.45rem .5rem;border:0;background:transparent;color:inherit;cursor:pointer}.command-palette__panel li button:hover{background:color-mix(in srgb,currentColor 8%,transparent)}.guided-help{position:relative;display:inline-flex}.guided-help__toggle{width:1.5rem;height:1.5rem;border-radius:999px;border:1px solid color-mix(in srgb,currentColor 25%,transparent);background:transparent;cursor:pointer}.guided-help__panel{position:absolute;right:0;top:1.75rem;z-index:5;width:min(18rem,70vw);padding:.75rem;border-radius:.4rem;background:var(--surface, #fff);box-shadow:0 8px 24px color-mix(in srgb,#000 18%,transparent);font-size:.85rem}.progressive-level{margin-block:.65rem;border:1px solid color-mix(in srgb,currentColor 12%,transparent);border-radius:.4rem;padding:.35rem .6rem}.progressive-level summary{cursor:pointer;font-weight:600}.empty-state-action{display:grid;gap:.65rem;justify-items:start}.ui-section-title{margin:0 0 .5rem;font-size:1.05rem;font-weight:650;letter-spacing:.01em;color:var(--ink)}.ui-status{margin:.5rem 0 .85rem;padding:.55rem .75rem;border-radius:var(--radius);border:1px solid var(--line);font-size:.9rem;line-height:1.4}.ui-status--neutral{background:var(--pending-bg);color:var(--pending)}.ui-status--info{background:var(--brand-contrast);color:var(--brand);border-color:color-mix(in srgb,var(--brand) 35%,var(--line))}.ui-status--success{background:var(--ok-bg);color:var(--ok);border-color:color-mix(in srgb,var(--ok) 35%,var(--line))}.ui-status--warning{background:var(--warn-bg);color:var(--warn);border-color:color-mix(in srgb,var(--warn) 35%,var(--line))}.ui-status--error{background:var(--bad-bg);color:var(--bad);border-color:color-mix(in srgb,var(--bad) 35%,var(--line))}.module-v1-page,.module-v1{padding:1rem 1.15rem 1.5rem;background:var(--surface);color:var(--ink)}.module-v1--compact{padding:.85rem 0;margin:.75rem 0 1.25rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:transparent}.module-v1__head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.35rem}.module-v1__meta{margin:.25rem 0 0;color:var(--ink-muted);font-size:.9rem}.module-v1__percent{font-weight:700;color:var(--brand);padding:.35rem .65rem;border:1px solid color-mix(in srgb,var(--brand) 40%,var(--line));background:var(--brand-contrast)}.module-v1__checklist{list-style:none;margin:.5rem 0;padding:0;display:grid;gap:.4rem}.module-v1__checklist li{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.35rem .15rem;border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.module-v1__checklist a{color:var(--ink);text-decoration:none}.module-v1__checklist a:hover,.module-v1__checklist a:focus-visible{color:var(--brand);text-decoration:underline;outline:none}.module-v1__badge{font-size:.75rem;font-weight:650;padding:.15rem .45rem;border:1px solid var(--line);white-space:nowrap}.module-v1__badge--completed{color:var(--ok);background:var(--ok-bg);border-color:color-mix(in srgb,var(--ok) 40%,var(--line))}.module-v1__badge--partial{color:var(--warn);background:var(--warn-bg);border-color:color-mix(in srgb,var(--warn) 40%,var(--line))}.module-v1__badge--pending{color:var(--pending);background:var(--pending-bg)}.module-v1__actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1rem}.module-v1 :focus-visible,.ui-status:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.project-summary__head-actions{display:flex;align-items:center;gap:.75rem}.normative-engine-dash{margin:1.5rem 0}.normative-rules{flex:1;min-width:0;overflow:auto;padding:1rem 1.15rem 1.5rem;background:var(--surface)}.normative-rules__head{margin-bottom:1rem}.normative-rules__title{margin:0 0 .35rem;font-size:1.35rem;font-weight:700}.normative-rules__note{margin:0;max-width:48rem;font-size:.85rem;color:var(--ink-muted)}.normative-rules__layout{display:grid;grid-template-columns:minmax(14rem,18rem) 1fr;gap:1rem}.normative-rules__list ul{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-direction:column;gap:.4rem}.normative-rules__item{width:100%;text-align:left;display:flex;flex-direction:column;gap:.2rem;padding:.55rem .65rem;border:1px solid var(--border);background:transparent;cursor:pointer}.normative-rules__item--active{border-color:var(--accent, #175cd3)}.normative-rules__fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));gap:.65rem;margin:.75rem 0}.normative-rules__toolbar,.normative-rules__approval,.normative-rules__simulation,.normative-rules__compare{margin-top:1rem;display:flex;flex-direction:column;gap:.5rem}.normative-rules__toolbar{flex-direction:row;flex-wrap:wrap}.normative-rules__check{display:flex;align-items:center;gap:.4rem;font-size:.9rem}.normative-rules__banner{font-weight:700;letter-spacing:.02em;color:#b42318}.normative-rules__audit{margin-top:1.5rem}.normative-rules__audit ul{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-direction:column;gap:.35rem;font-size:.85rem}@media(max-width:900px){.normative-rules__layout{grid-template-columns:1fr}}.intelligence-panel--top-checks{margin:0 .75rem .75rem}.conduits-view{flex:1;min-width:0;overflow:auto;padding:1rem 1.15rem 1.5rem;background:var(--surface)}.conduits-view__head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.conduits-view__title{margin:0 0 .35rem;font-size:1.35rem;font-weight:700}.conduits-view__note{margin:0;max-width:42rem;font-size:.85rem;color:var(--ink-muted)}.conduits-view__layout{display:grid;grid-template-columns:minmax(12rem,16rem) minmax(0,1fr);gap:1rem}.conduits-view__list ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.conduits-view__item{width:100%;text-align:left;border:1px solid var(--line);background:var(--surface-elevated, var(--surface));border-radius:.4rem;padding:.55rem .65rem;display:flex;flex-direction:column;gap:.15rem;cursor:pointer;color:inherit}.conduits-view__item--active{border-color:var(--accent, #0f766e);box-shadow:inset 0 0 0 1px var(--accent, #0f766e)}.conduits-view__item span{font-size:.78rem;color:var(--ink-muted)}.conduits-view__swatch{width:.75rem;height:.75rem;border-radius:.15rem;display:inline-block}.conduits-view__actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.85rem}.conduits-view__fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.65rem;margin-bottom:1rem}.conduits-view__notes{grid-column:1 / -1}.conduits-view__stats{margin:0 0 1rem;font-size:.85rem;color:var(--ink-muted)}.conduits-view__circuit-list,.conduits-view__unlinked{list-style:none;margin:0 0 .75rem;padding:0;display:flex;flex-direction:column;gap:.35rem}.conduits-view__circuit-list li{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.geom-conduit{fill:none;stroke-width:.45;stroke-linecap:round;stroke-linejoin:round;cursor:pointer;opacity:.85}.geom-conduit--emphasize,.geom-conduit--selected{stroke-width:.75;opacity:1}.geom-conduit-draft{fill:none;stroke:#0f766e;stroke-width:.4;stroke-dasharray:1.2 .8}.geom-conduit__label,.geom-conduit__endpoint-label{font-size:1.6px;pointer-events:none}.geom-conduit-endpoint{stroke:#fff;stroke-width:.2}.panels-view{flex:1;min-width:0;overflow:auto;padding:1rem 1.15rem 1.5rem;background:var(--surface)}.panels-view__head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.panels-view__title{margin:0 0 .35rem;font-size:1.35rem;font-weight:700}.panels-view__note{margin:0;max-width:42rem;font-size:.85rem;color:var(--ink-muted)}.panels-view__layout{display:grid;grid-template-columns:minmax(12rem,16rem) minmax(0,1fr);gap:1rem}.panels-view__list ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.panels-view__item{width:100%;text-align:left;border:1px solid var(--line);background:var(--surface-elevated, var(--surface));border-radius:.4rem;padding:.55rem .65rem;display:flex;flex-direction:column;gap:.15rem;cursor:pointer;color:inherit}.panels-view__item--active{border-color:var(--accent, #2563eb);box-shadow:inset 0 0 0 1px var(--accent, #2563eb)}.panels-view__item span{font-size:.78rem;color:var(--ink-muted)}.panels-view__actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.85rem}.panels-view__fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.65rem;margin-bottom:1rem}.panels-view__notes{grid-column:1 / -1}.panels-view__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.45rem .75rem;margin:0 0 1rem;padding:0;list-style:none;font-size:.88rem}.panels-view__circuit-list,.panels-view__unlinked{list-style:none;margin:0 0 .75rem;padding:0;display:flex;flex-direction:column;gap:.4rem}.panels-view__circuit-list li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;border:1px solid var(--line);border-radius:.35rem;padding:.45rem .55rem}.panel-phase-board{margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--line)}.panel-phase-board__totals{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;margin:.5rem 0 .85rem;font-size:.85rem}.panel-phase-board__totals strong{margin-right:.35rem}.panel-phase-board__columns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem}.panel-phase-board__column{min-height:10rem;border:1px dashed var(--line);border-radius:.4rem;padding:.45rem;background:color-mix(in srgb,var(--surface) 92%,var(--ink-muted))}.panel-phase-board__column--muted{opacity:.45}.panel-phase-board__column h4{margin:0 0 .45rem;font-size:.82rem}.panel-phase-board__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.panel-phase-card{border:1px solid var(--line);border-radius:.35rem;padding:.4rem;background:var(--surface);cursor:grab}.panel-phase-card strong{display:block;margin-bottom:.35rem;font-size:.82rem}@media(max-width:900px){.panels-view__layout{grid-template-columns:1fr}.panel-phase-board__columns{grid-template-columns:1fr 1fr}}.quantitatives{flex:1;min-width:0;overflow:auto;padding:1rem 1.15rem 1.5rem;background:var(--surface)}.quantitatives__head{margin-bottom:1rem}.quantitatives__title{margin:0 0 .35rem;font-size:1.35rem;font-weight:700}.quantitatives__note{margin:0;max-width:40rem;font-size:.85rem;color:var(--ink-muted)}.quantitatives__filters,.quantitatives__block,.quantitatives__export{margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--line)}.quantitatives__filter-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.75rem}.quantitatives__table{width:100%;border-collapse:collapse;font-size:.88rem}.quantitatives__table th,.quantitatives__table td{border:1px solid var(--line);padding:.45rem .55rem;text-align:left}.quantitatives__table th{background:var(--surface-elevated);font-weight:600}.quantitatives__cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.65rem;margin:0}.quantitatives__cards>div{padding:.65rem .75rem;border:1px solid var(--line);background:var(--surface-elevated)}.quantitatives__cards dt{margin:0 0 .25rem;font-size:.75rem;color:var(--ink-muted)}.quantitatives__cards dd{margin:0;font-size:1.05rem;font-weight:650}.tech-cascade{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem;max-width:28rem}.tech-cascade__item{display:grid;grid-template-columns:1fr auto;gap:.15rem .75rem;align-items:baseline;padding:.4rem .55rem;border:1px solid var(--line);background:var(--surface-elevated)}.tech-cascade__label{font-size:.78rem;color:var(--ink-muted)}.tech-cascade__value{font-size:.95rem;font-weight:650;text-align:right}.tech-cascade__arrow{grid-column:1 / -1;justify-self:center;color:var(--ink-muted);font-size:.85rem;line-height:1}.tech-stats__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.85rem}.tech-stats__block-title{margin:0 0 .45rem;font-size:.82rem;font-weight:600;color:var(--ink-muted)}.tech-stat-bars{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.tech-stat-bars__meta{display:flex;justify-content:space-between;gap:.5rem;font-size:.78rem}.tech-stat-bars__track{height:.35rem;background:color-mix(in srgb,var(--line) 80%,transparent);overflow:hidden}.tech-stat-bars__fill{height:100%;background:var(--accent);min-width:0}.tech-health__overall{margin:0 0 .55rem;font-size:.95rem;font-weight:650}.tech-health__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.45rem}.tech-health__item{display:grid;grid-template-columns:auto 1fr auto;gap:.4rem;align-items:center;padding:.45rem .55rem;border:1px solid var(--line);background:var(--surface-elevated);font-size:.8rem}.tech-timeline__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.tech-timeline__item{display:grid;grid-template-columns:5.5rem 1fr 1fr 1.4fr;gap:.45rem;align-items:baseline;padding:.4rem .5rem;border:1px solid var(--line);background:var(--surface-elevated);font-size:.78rem}.tech-timeline__item time{color:var(--ink-muted);font-variant-numeric:tabular-nums}.project-results{border-top:1px solid var(--line);background:var(--surface-elevated);padding:.65rem .85rem .85rem}.project-results__title{margin:0 0 .5rem;font-size:.95rem;font-weight:650}.project-results__cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.5rem}.project-results__card{border:1px solid var(--line);background:var(--surface);padding:.55rem .65rem}.project-results__card h3{margin:0 0 .35rem;font-size:.72rem;font-weight:600;color:var(--ink-muted)}.project-results__card p{margin:0;font-size:1.05rem;font-weight:650}.project-results__card span{display:inline-block;margin-top:.25rem;font-size:.72rem;color:var(--ink-muted)}.installed-power{margin-top:.75rem;padding-top:.55rem;border-top:1px solid var(--line)}.installed-power__title{margin:0 0 .4rem;font-size:.88rem}.installed-power__partial{margin:.4rem 0;font-size:.78rem;color:#8a5a00}.installed-power__list-title{margin:.55rem 0 .25rem;font-size:.8rem}.oie-power-block{border:1px solid var(--line);padding:.5rem .65rem;margin:0 0 .55rem;display:flex;flex-direction:column;gap:.4rem}.oie-power-block__missing{margin:0;font-size:.78rem;color:var(--ink-muted)}.calc-trace-panel{margin-top:.65rem}.calc-trace-panel__toggle{font:inherit;font-size:.8rem;border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:.3rem .5rem;cursor:pointer}.calc-trace-panel__body{margin-top:.45rem;padding:.45rem .5rem;border:1px solid var(--line);background:var(--surface)}.calc-trace-panel__title{margin:0 0 .35rem;font-size:.82rem}.calc-trace-panel ul{margin:0;padding-left:1.1rem}.ws-toolbar__snap{display:flex;align-items:center;gap:.45rem;margin-left:.25rem}.ws-toolbar__snap-state{font-weight:600;opacity:.9}.ws-toolbar__snap-grid{display:flex;align-items:center;gap:.35rem;font-size:.78rem;color:var(--ink-muted)}.ws-toolbar__snap-grid select{font:inherit;font-size:.78rem;border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:.25rem .35rem}.ws-toolbar__snap-grid select:disabled{opacity:.55}.snap-guides{position:absolute;inset:0;z-index:2;pointer-events:none}.snap-guide{position:absolute;background:color-mix(in srgb,var(--brand) 55%,transparent)}.snap-guide--vertical{top:0;bottom:0;width:1px;transform:translate(-50%)}.snap-guide--horizontal{left:0;right:0;height:1px;transform:translateY(-50%)}.snap-guide--grid{background:color-mix(in srgb,var(--brand) 45%,#888)}.snap-guide--horizontal.snap-guide--horizontal,.snap-guide--vertical.snap-guide--vertical{opacity:.95}.snap-guide--horizontal[data-snap-source=horizontal],.snap-guide--vertical[data-snap-source=vertical]{background:color-mix(in srgb,#c45c26 70%,transparent)}.ws-backdrop{display:none}.ws-body{min-height:0;display:grid;grid-template-columns:var(--ws-tree) minmax(0,1fr) var(--ws-props);min-height:calc(100vh - var(--ws-top) - var(--ws-foot) - var(--ws-assistant) - 1px)}.ws-tree{border-right:1px solid var(--line);background:var(--surface-elevated);padding:.75rem .65rem;overflow:auto}.ws-tree__details{border:none}.ws-tree__summary{cursor:pointer;font-weight:700;color:var(--brand);list-style:none;padding:.35rem .45rem}.ws-tree__summary::-webkit-details-marker{display:none}.ws-tree__summary:before{content:"▼ ";font-size:.7rem;color:var(--ink-muted)}.ws-tree__details:not([open]) .ws-tree__summary:before{content:"▶ "}.ws-tree__list{list-style:none;margin:.35rem 0 0;padding:0 0 0 .35rem;display:grid;gap:.15rem}.ws-tree__list--nested{margin-top:.2rem;padding-left:.55rem}.ws-tree__branch{border:none}.ws-tree__branch-summary{cursor:pointer;list-style:none;padding:.42rem .5rem;color:var(--ink);font-size:.88rem;font-weight:600}.ws-tree__branch-summary::-webkit-details-marker{display:none}.ws-tree__branch-summary:before{content:"▼ ";font-size:.65rem;color:var(--ink-muted)}.ws-tree__branch:not([open]) .ws-tree__branch-summary:before{content:"▶ "}.ws-tree__link{display:block;width:100%;text-align:left;padding:.42rem .5rem;border:1px solid transparent;background:transparent;color:var(--ink-muted);font:inherit;font-size:.88rem;cursor:pointer}.ws-tree__env{width:100%}.ws-tree__link:hover{color:var(--ink);background:var(--surface);border-color:var(--line)}.ws-tree__link--active{color:var(--brand);font-weight:600;background:var(--brand-contrast);border-color:color-mix(in srgb,var(--brand) 35%,var(--line))}.ws-canvas{position:relative;min-height:18rem;overflow:hidden;background:color-mix(in srgb,var(--surface) 70%,#dfe7ec)}[data-theme=dark] .ws-canvas{background:color-mix(in srgb,var(--surface) 85%,#0a1014)}.ws-canvas__grid{position:absolute;inset:0;background-image:linear-gradient(to right,color-mix(in srgb,var(--line) 55%,transparent) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in srgb,var(--line) 55%,transparent) 1px,transparent 1px);background-size:24px 24px;opacity:.45}.ws-canvas__label{position:absolute;inset:0;margin:0;display:grid;place-items:center;font-size:clamp(1.2rem,2.4vw,1.6rem);font-weight:600;letter-spacing:-.02em;color:color-mix(in srgb,var(--ink-muted) 80%,var(--brand));pointer-events:none}.ws-canvas--placing{cursor:crosshair}.ws-canvas__hint{position:absolute;left:50%;top:.85rem;transform:translate(-50%);z-index:2;margin:0;padding:.4rem .75rem;border:1px solid color-mix(in srgb,var(--brand) 40%,var(--line));background:var(--brand-contrast);color:var(--brand);font-size:.88rem;font-weight:600;pointer-events:none;white-space:nowrap}.ws-canvas__markers{position:absolute;inset:0;z-index:3;pointer-events:none}.oie-marker{position:absolute;transform:translate(-50%,-50%);width:1.7rem;height:1.7rem;border:2px solid color-mix(in srgb,var(--brand) 55%,var(--line));border-radius:999px;background:var(--surface-elevated);color:var(--brand);display:grid;place-items:center;padding:0;font:inherit;font-size:.72rem;font-weight:700;cursor:pointer;pointer-events:auto;box-shadow:0 1px 3px color-mix(in srgb,#000 18%,transparent)}.oie-marker:hover{border-color:var(--brand)}.oie-marker--selected{border-color:var(--brand);background:var(--brand);color:#fff;outline:2px solid color-mix(in srgb,var(--brand) 35%,transparent);outline-offset:2px;z-index:4}.oie-marker--dragging{cursor:grabbing;opacity:.92}.oie-marker__icon{line-height:1;pointer-events:none}.oie-selection-count{position:absolute;top:.65rem;right:.75rem;z-index:6;margin:0;padding:.25rem .55rem;border:1px solid color-mix(in srgb,var(--brand) 45%,var(--line));background:color-mix(in srgb,var(--surface) 92%,var(--brand));color:var(--brand);font-size:.78rem;font-weight:700;letter-spacing:.02em}.oie-multi-bar{position:absolute;top:.65rem;left:50%;z-index:6;display:flex;flex-wrap:wrap;gap:.3rem;transform:translate(-50%);padding:.3rem;border:1px solid var(--line);background:var(--surface-elevated);box-shadow:0 4px 14px color-mix(in srgb,#000 16%,transparent)}.oie-multi-bar button{border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;font-size:.75rem;font-weight:600;padding:.28rem .45rem;cursor:pointer;white-space:nowrap}.oie-multi-bar button:hover:not(:disabled){border-color:color-mix(in srgb,var(--brand) 40%,var(--line));color:var(--brand)}.oie-multi-bar button:disabled{opacity:.55;cursor:not-allowed}.oie-multi-bar__select select{font:inherit;font-size:.75rem;font-weight:600;border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:.28rem .35rem;max-width:8.5rem}.oie-multi-bar__select select:disabled{opacity:.55}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.oie-marquee{position:absolute;z-index:3;border:1px dashed color-mix(in srgb,var(--brand) 70%,var(--line));background:color-mix(in srgb,var(--brand) 14%,transparent);pointer-events:none}.oie-multi-panel__count{margin:.35rem 0 .6rem;font-size:1.05rem;font-weight:700;color:var(--brand)}.oie-float-bar{position:absolute;z-index:5;transform:translate(-50%,calc(-100% - 1.35rem));display:flex;gap:.25rem;padding:.25rem;border:1px solid var(--line);background:var(--surface-elevated);box-shadow:0 4px 14px color-mix(in srgb,#000 16%,transparent);pointer-events:auto}.oie-float-bar button{border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;font-size:.75rem;font-weight:600;padding:.28rem .45rem;cursor:pointer;white-space:nowrap}.oie-float-bar button:hover{border-color:color-mix(in srgb,var(--brand) 40%,var(--line));color:var(--brand)}.oie-breadcrumb{margin:0 0 .55rem}.oie-breadcrumb__list{list-style:none;margin:0;padding:.55rem .65rem;display:grid;gap:.2rem;border:1px solid var(--line);background:var(--surface);font-size:.88rem;font-weight:600;color:var(--ink)}.oie-breadcrumb__list li[aria-hidden=true]{color:var(--ink-muted);font-weight:500;line-height:1}.oie-belongs{margin:0 0 .75rem;padding:.55rem .65rem;border:1px solid color-mix(in srgb,var(--brand) 35%,var(--line));background:var(--brand-contrast);color:var(--brand);font-size:.88rem;font-weight:600;line-height:1.35}.oie-panel__fields{display:grid;gap:.65rem}.oie-panel__field{display:grid;gap:.28rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-muted);font-weight:600}.oie-panel__field input,.oie-panel__field select,.oie-panel__field textarea{border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:.4rem .5rem;font:inherit;text-transform:none;letter-spacing:normal;font-weight:500;width:100%}.oie-panel__field textarea{resize:vertical;min-height:4rem}.oie-panel__actions{margin-top:.35rem;display:flex;flex-wrap:wrap;gap:.4rem}.oie-property-form{margin:.85rem 0 .65rem;padding:.7rem .65rem;border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 92%,var(--brand-contrast));display:grid;gap:.65rem}.oie-property-form__title{margin:0;font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:var(--brand);font-weight:700}.oie-tech-profile{margin:0;padding:.65rem;border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 88%,var(--brand-contrast));display:grid;gap:.7rem}.oie-tech-profile__title{margin:0;font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:var(--brand);font-weight:700}.oie-tech-profile__point-types{margin:0;padding:0;border:none;display:grid;gap:.35rem}.oie-tech-profile__point-types legend{padding:0;margin-bottom:.35rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-muted);font-weight:600}.oie-tech-profile__option{display:flex;align-items:flex-start;gap:.45rem;color:var(--ink);font-size:.88rem;line-height:1.3}.oie-marker--tug{border-color:#2f6fed;color:#2f6fed}.oie-marker--tue{border-color:#c45c26;color:#c45c26}.oie-marker--lighting{border-color:#c9a227;color:#c9a227}.oie-marker--switch{border-color:#5b6b7a;color:#5b6b7a}.oie-marker--equipment{border-color:#2f8f6b;color:#2f8f6b}.oie-marker--by-circuit{box-shadow:0 0 0 1px currentColor}.oie-marker--dimmed{opacity:.28;filter:grayscale(.35)}.oie-marker--unlinked-focus{outline:2px solid var(--accent, #ca8a04);outline-offset:2px;z-index:2}.circuits-panel__actions{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem}.circuits-list{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-direction:column;gap:.35rem}.circuits-list__item{width:100%;display:grid;grid-template-columns:auto auto 1fr auto;gap:.4rem;align-items:center;text-align:left;border:1px solid var(--line);border-radius:.35rem;background:var(--surface);color:inherit;padding:.4rem .5rem;cursor:pointer;font:inherit}.circuits-list__item--active,.circuits-list__item:hover{border-color:var(--accent, #2563eb);background:color-mix(in srgb,var(--accent, #2563eb) 8%,var(--surface))}.circuits-list__swatch{width:.75rem;height:.75rem;border-radius:999px;display:inline-block;border:1px solid color-mix(in srgb,#000 20%,transparent);flex-shrink:0}.circuits-list__code{font-weight:650;font-size:.85rem}.circuits-list__name{font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.circuits-list__meta{font-size:.72rem;color:var(--ink-muted)}.circuits-panel__form,.circuit-summary,.circuit-sizing,.circuit-protection{margin-top:.85rem;padding-top:.85rem;border-top:1px solid var(--line)}.circuit-protection__status,.circuit-protection__pendencies,.circuit-protection__trace{margin-top:.85rem}.circuit-protection__status-value{margin:0 0 .4rem;font-size:.95rem;font-weight:650}.circuit-sizing__stages,.circuit-sizing__conductor,.circuit-sizing__result,.circuit-sizing__assistant{margin-top:.85rem}.circuit-stages{list-style:none;margin:0 0 .75rem;padding:0;display:flex;flex-direction:column;gap:.3rem}.circuit-stages__item{display:flex;align-items:center;gap:.45rem;font-size:.85rem;color:var(--ink-muted)}.circuit-stages__item--done{color:var(--ink);font-weight:600}.circuit-stages__item--current{color:var(--accent, #2563eb);font-weight:650}.circuit-stages__mark{width:1.1rem;text-align:center;font-size:.9rem}.circuit-sizing__messages{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.circuit-sizing__message{margin:0;padding:.45rem .55rem;border:1px solid var(--line);border-radius:.35rem;font-size:.85rem;color:var(--ink-muted);background:var(--surface)}.circuit-sizing__message--active{color:var(--ink);border-color:color-mix(in srgb,var(--accent, #2563eb) 45%,var(--line));background:color-mix(in srgb,var(--accent, #2563eb) 8%,var(--surface))}.ws-assistant__sizing{display:flex;flex-direction:column;gap:.35rem}.circuits-panel__form-title,.circuit-summary__list-title{margin:0 0 .65rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted)}.circuits-panel__color-row{display:flex;gap:.5rem;align-items:center}.circuits-panel__color-row input[type=color]{width:2.25rem;height:2rem;padding:0;border:1px solid var(--line);background:transparent}.circuit-legend{position:absolute;top:2.75rem;left:.75rem;z-index:4;min-width:12rem;max-width:18rem;padding:.55rem .65rem;border:1px solid var(--line);border-radius:.4rem;background:color-mix(in srgb,var(--surface-elevated) 92%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);font-size:.78rem}.circuit-legend__title{margin:0 0 .4rem;font-weight:650;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-muted);font-size:.7rem}.circuit-legend__empty{margin:0;color:var(--ink-muted)}.circuit-legend__item{display:flex;gap:.4rem;align-items:center;margin-top:.3rem}.ws-tree__oie-circuit{margin-left:auto;font-size:.7rem;color:var(--ink-muted)}.ws-tree__circuit{display:flex;gap:.4rem;align-items:center}.ws-props-wrap{min-width:0;border-left:1px solid var(--line);background:var(--surface-elevated)}.ws-props{height:100%;padding:.9rem .85rem}.ws-props__title{margin:0 0 .75rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-muted)}.ws-props__empty{margin:0;color:var(--ink-muted);font-size:.92rem;line-height:1.45}.ws-footer{min-height:var(--ws-foot);display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;padding:.35rem 1rem;border-top:1px solid var(--line);background:var(--surface-elevated);font-family:var(--mono);font-size:.75rem;color:var(--ink-muted)}.ws-assistant{border-top:1px solid var(--line);background:color-mix(in srgb,var(--surface-elevated) 92%,var(--brand-contrast));padding:.65rem 1rem .75rem;display:grid;gap:.55rem}.ws-assistant__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem 1rem}.ws-assistant__title{margin:0;font-size:.78rem;text-transform:uppercase;letter-spacing:.07em;color:var(--brand);font-weight:700}.ws-assistant__note{margin:0;color:var(--ink-muted);font-size:.8rem}.ws-assistant__body{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.65rem 1rem}.ws-assistant__thread{display:flex;flex-wrap:wrap;gap:.45rem;min-width:0;flex:1 1 18rem}.ws-assistant__bubble{margin:0;padding:.45rem .65rem;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-size:.9rem;line-height:1.35}.ws-assistant__bubble--prompt{border-color:color-mix(in srgb,var(--brand) 35%,var(--line));background:var(--brand-contrast);color:var(--brand);font-weight:600}.ws-assistant__actions{display:flex;flex-wrap:wrap;gap:.4rem}.ws-assistant--intelligence{max-height:min(48vh,22rem);overflow:auto}.intelligence-recs{gap:.55rem}.intelligence-rec{display:grid;gap:.25rem;padding:.55rem .6rem;border:1px solid var(--line);border-radius:.35rem;background:var(--surface);font-size:.85rem}.intelligence-rec__title{margin:0;font-weight:650;color:var(--ink)}.intelligence-rec__description,.intelligence-rec__reason,.intelligence-rec__context,.intelligence-rec__action,.intelligence-rec__later-note{margin:0;color:var(--ink-muted);font-size:.8rem}.intelligence-rec__label{color:var(--ink);font-weight:600}.intelligence-rec__actions{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.25rem}.intelligence-tabs{display:flex;flex-wrap:wrap;gap:.35rem}.intelligence-tabs__btn{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:.3rem;padding:.3rem .55rem;font:inherit;font-size:.8rem;cursor:pointer;display:inline-flex;align-items:center;gap:.35rem}.intelligence-tabs__btn--active{border-color:var(--brand);color:var(--brand);font-weight:650;background:var(--brand-contrast)}.intelligence-tabs__badge{min-width:1.1rem;padding:0 .3rem;border-radius:999px;background:color-mix(in srgb,var(--brand) 18%,var(--surface));font-size:.72rem;font-weight:700;text-align:center}.intelligence-body{align-items:flex-start}.intelligence-panel{width:100%;min-width:0}.intelligence-panel__title{margin:0 0 .45rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted)}.intelligence-panel__empty,.intelligence-panel__hint,.intelligence-panel__context{margin:0 0 .45rem;color:var(--ink-muted);font-size:.85rem}.intelligence-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.intelligence-pending{display:grid;grid-template-columns:auto 1fr auto;gap:.45rem;align-items:center;padding:.4rem .5rem;border:1px solid var(--line);border-radius:.35rem;background:var(--surface);font-size:.85rem}.intelligence-pending--warning{border-color:color-mix(in srgb,#ca8a04 45%,var(--line))}.intelligence-pending--critical{border-color:color-mix(in srgb,#e11d48 45%,var(--line))}.intelligence-pending__severity{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted)}.intelligence-checklist{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}.intelligence-checklist__item{display:flex;gap:.45rem;align-items:center;font-size:.88rem;color:var(--ink-muted)}.intelligence-checklist__item--done{color:var(--ok, #16a34a);font-weight:600}.intelligence-dashboard{margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr));gap:.45rem}.intelligence-dashboard>div{border:1px solid var(--line);border-radius:.35rem;padding:.4rem .5rem;background:var(--surface)}.intelligence-dashboard dt{margin:0;font-size:.72rem;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.04em}.intelligence-dashboard dd{margin:.15rem 0 0;font-size:1.15rem;font-weight:700}.ws-assistant__ack{margin:0;padding:.45rem .7rem;border:1px solid color-mix(in srgb,var(--ok) 40%,var(--line));background:var(--ok-bg);color:var(--ok);font-weight:600;font-size:.9rem}.contextual-panel{overflow:auto;display:grid;gap:.95rem;align-content:start}.contextual-panel__section{display:grid;gap:.45rem}.contextual-panel__heading{margin:0;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted);font-weight:700}.contextual-panel__dl{margin:0;display:grid;gap:.45rem}.contextual-panel__dl div{display:grid;gap:.1rem}.contextual-panel__dl dt{font-size:.72rem;color:var(--ink-muted)}.contextual-panel__dl dd{margin:0;font-weight:600}.contextual-panel__chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.35rem}.contextual-panel__chips li{padding:.28rem .5rem;border:1px solid var(--line);background:var(--surface);font-size:.82rem;color:var(--ink)}.contextual-panel__muted{margin:0;color:var(--ink-muted);font-size:.85rem}.contextual-panel__env-name{margin:-.35rem 0 .2rem;font-weight:700;color:var(--brand)}.guided-progress{list-style:none;margin:0 0 .55rem;padding:0;display:grid;gap:.3rem}.guided-progress__item{border:1px solid var(--line);border-radius:.3rem;background:var(--surface)}.guided-progress__item--active{border-color:color-mix(in srgb,var(--brand) 45%,var(--line));background:var(--brand-contrast)}.guided-progress__item--done{border-color:color-mix(in srgb,var(--brand) 25%,var(--line))}.guided-progress__btn{display:flex;align-items:center;gap:.45rem;width:100%;border:0;background:transparent;color:inherit;padding:.35rem .5rem;font:inherit;font-size:.8rem;text-align:left;cursor:pointer}.guided-progress__index{display:inline-grid;place-items:center;width:1.25rem;height:1.25rem;border-radius:999px;background:color-mix(in srgb,var(--brand) 16%,var(--surface));font-size:.72rem;font-weight:700}.contextual-panel__subtitle{margin:.55rem 0 .3rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-muted)}.oie-relations{margin:0 0 .7rem;padding:.55rem .6rem;border:1px solid var(--line);border-radius:.35rem;background:var(--surface)}.oie-relations__title{margin:0 0 .35rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-muted)}.contextual-tabs{display:flex;flex-wrap:wrap;gap:.35rem}.contextual-tabs__btn{border:1px solid var(--line);background:var(--surface);color:var(--ink-muted);padding:.35rem .55rem;font:inherit;font-size:.82rem;cursor:pointer}.contextual-tabs__btn--active{border-color:color-mix(in srgb,var(--brand) 45%,var(--line));background:var(--brand-contrast);color:var(--brand);font-weight:600}.contextual-add{display:flex;flex-wrap:wrap;gap:.35rem}.contextual-list{list-style:none;margin:.2rem 0 0;padding:0;display:grid;gap:.35rem}.contextual-list li{padding:0;border:1px solid var(--line);background:var(--surface);font-size:.9rem}.contextual-list li:not(:has(button)){padding:.4rem .55rem}.contextual-list__link{display:grid;gap:.15rem;width:100%;text-align:left;border:0;background:transparent;color:var(--ink);padding:.4rem .55rem;font:inherit;cursor:pointer}.contextual-list__link:hover{background:var(--brand-contrast)}.contextual-list__link span{font-size:.78rem;color:var(--ink-muted)}.ws-tree__oie{display:flex;align-items:center;gap:.4rem;font-size:.82rem}.ws-tree__oie-icon{display:inline-grid;place-items:center;width:1.15rem;height:1.15rem;flex:0 0 auto;border:1px solid color-mix(in srgb,var(--brand) 40%,var(--line));background:var(--surface);color:var(--brand);font-size:.65rem;font-weight:700;line-height:1}.ws-tree__oie--tug .ws-tree__oie-icon{border-color:#2f6fed;color:#2f6fed}.ws-tree__oie--tue .ws-tree__oie-icon{border-color:#c45c26;color:#c45c26}.ws-tree__oie--lighting .ws-tree__oie-icon{border-color:#c9a227;color:#c9a227}.ws-tree__oie--switch .ws-tree__oie-icon{border-color:#5b6b7a;color:#5b6b7a}.ws-tree__oie--equipment .ws-tree__oie-icon{border-color:#2f8f6b;color:#2f8f6b}.oie-id{font-family:var(--mono);font-size:.85rem}.oie-value{margin:0;font-weight:600}.ws-tree__branch-actions{padding:.25rem .5rem .35rem}.ws-tree__new-env{width:100%;justify-content:center;font-size:.82rem}.ws-tree__empty{padding:.35rem .5rem;color:var(--ink-muted);font-size:.82rem}.env-dialog-root{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:1rem}.env-dialog-backdrop{position:absolute;inset:0;border:0;padding:0;margin:0;background:color-mix(in srgb,#0b1218 55%,transparent);cursor:pointer}.env-dialog{position:relative;z-index:1;width:min(32rem,calc(100vw - 2rem));border:1px solid var(--line);background:var(--surface-elevated);color:var(--ink);padding:0;box-shadow:0 18px 40px color-mix(in srgb,#000 22%,transparent)}.env-dialog__form{display:grid;gap:1rem;padding:1.1rem 1.15rem 1.15rem}.env-dialog__header{display:grid;gap:.3rem}.env-dialog__title{margin:0;font-size:1.2rem;color:var(--brand);letter-spacing:-.02em}.env-dialog__subtitle{margin:0;color:var(--ink-muted);font-size:.88rem;line-height:1.4}.env-dialog__fields{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.env-dialog__field{display:grid;gap:.3rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-muted);font-weight:600}.env-dialog__field--full{grid-column:1 / -1}.env-dialog__field input,.env-dialog__field select,.env-dialog__field textarea{border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:.45rem .55rem;font:inherit;text-transform:none;letter-spacing:normal;font-weight:500;width:100%}.env-dialog__field textarea{resize:vertical;min-height:4.5rem}.env-dialog__actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.45rem}@media(max-width:560px){.env-dialog__fields{grid-template-columns:1fr}}.import-plant{min-width:0;overflow:auto;padding:1.25rem 1.35rem 1.75rem;display:grid;gap:1.15rem;align-content:start;background:color-mix(in srgb,var(--surface) 88%,var(--bg))}.import-plant__header{display:grid;gap:.35rem}.import-plant__title{margin:0;font-size:clamp(1.45rem,2.4vw,1.9rem);letter-spacing:-.03em;color:var(--brand)}.import-plant__subtitle{margin:0;color:var(--ink-muted);max-width:40rem}.import-plant__formats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.import-plant__format{display:grid;grid-template-columns:auto 1fr;gap:.65rem;align-items:start;padding:.75rem .85rem;border:1px solid var(--line);background:var(--surface-elevated)}.import-plant__format strong{display:block;margin-bottom:.25rem}.import-plant__checkbox{width:1rem;height:1rem;margin-top:.15rem;border:1.5px solid var(--line);background:var(--surface)}.import-plant__badge{display:inline-block;font-size:.75rem;font-weight:600;color:var(--ink-muted)}.import-plant__badge--soon,.import-plant__badge--future{color:var(--warn)}.import-plant__badge--ready{color:var(--ok)}.import-plant__drop{position:relative;display:grid;justify-items:center;gap:.85rem;padding:2.25rem 1.25rem;border:1.5px dashed color-mix(in srgb,var(--brand) 45%,var(--line));background:linear-gradient(180deg,color-mix(in srgb,var(--brand-contrast) 55%,transparent),transparent 70%),var(--surface-elevated);text-align:center}.import-plant__drop--active{border-color:var(--brand);background:var(--brand-contrast)}.import-plant__drop-text{margin:0;color:var(--ink-muted)}.import-plant__select{min-width:min(16rem,100%);min-height:3rem;font-size:1.05rem;font-weight:600}.import-plant__input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.import-plant__file{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.85rem;align-items:end;padding:.9rem 1rem;border:1px solid var(--line);background:var(--surface-elevated)}.import-plant__meta{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem 1.25rem;flex:1}.import-plant__meta dt{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted);font-weight:600}.import-plant__meta dd{margin:.2rem 0 0;font-weight:600;word-break:break-word}.next-steps__list{list-style:none;margin:0;padding:0;display:grid;gap:.65rem}.next-steps__item{display:grid;grid-template-columns:auto 1fr;gap:.55rem;align-items:start;color:var(--ink-muted);font-size:.92rem}.next-steps__item--done{color:var(--ink);font-weight:600}.next-steps__mark{font-family:var(--mono);color:var(--brand)}.next-steps__index{font-family:var(--mono);font-size:.8rem;color:var(--ink-muted)}.next-steps__link{color:inherit;text-decoration:underline;text-underline-offset:2px}.calibration{min-width:0;overflow:auto;padding:1.1rem 1.25rem 1.5rem;display:grid;gap:.9rem;align-content:start;background:color-mix(in srgb,var(--surface) 88%,var(--bg))}.calibration__header{display:grid;gap:.3rem}.calibration__title{margin:0;font-size:clamp(1.4rem,2.3vw,1.85rem);letter-spacing:-.03em;color:var(--brand)}.calibration__subtitle{margin:0;color:var(--ink-muted);max-width:42rem}.calibration__toolbar{display:flex;flex-wrap:wrap;gap:.4rem}.calibration__canvas{position:relative;min-height:16rem;border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 70%,#dfe7ec);cursor:crosshair;overflow:hidden;padding:0;font:inherit;color:inherit}[data-theme=dark] .calibration__canvas{background:color-mix(in srgb,var(--surface) 85%,#0a1014)}.calibration__grid{position:absolute;inset:0;background-image:linear-gradient(to right,color-mix(in srgb,var(--line) 55%,transparent) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in srgb,var(--line) 55%,transparent) 1px,transparent 1px);background-size:24px 24px;opacity:.4;pointer-events:none}.calibration__plant-label{position:absolute;inset:0;display:grid;place-items:center;font-weight:600;color:color-mix(in srgb,var(--ink-muted) 80%,var(--brand));pointer-events:none}.calibration__points{position:absolute;top:.75rem;right:.75rem;display:flex;gap:.4rem;pointer-events:none}.calibration__points span{min-width:2rem;text-align:center;padding:.2rem .4rem;border:1px solid var(--line);background:var(--surface-elevated);color:var(--ink-muted);font-family:var(--mono);font-size:.75rem}.calibration__points span.is-on{color:var(--brand);border-color:var(--brand);font-weight:700}.calibration__steps{display:grid;gap:.65rem}.calibration__step{border:1px solid var(--line);background:var(--surface-elevated);padding:.8rem .9rem;display:grid;gap:.45rem;opacity:.72}.calibration__step h2{margin:0;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted)}.calibration__step p{margin:0;color:var(--ink-muted)}.calibration__step.is-active,.calibration__step.is-done{opacity:1}.calibration__step.is-active{border-color:color-mix(in srgb,var(--brand) 45%,var(--line))}.calibration__hint{font-family:var(--mono);font-size:.8rem}.calibration__fields{display:grid;grid-template-columns:1fr auto;gap:.65rem}.calibration__field{display:grid;gap:.3rem;font-size:.85rem;color:var(--ink-muted)}.calibration__field input,.calibration__field select{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);padding:.5rem .65rem}.calibration__success{border:1px solid color-mix(in srgb,var(--ok) 45%,var(--line));background:var(--ok-bg);padding:.85rem 1rem}.calibration__success-title{margin:0 0 .35rem;color:var(--ok);font-weight:700}.calibration__success-scale{margin:0;font-family:var(--mono);font-weight:600}.calibration-assistant__list{margin:0 0 .9rem;padding-left:1.1rem;display:grid;gap:.55rem;color:var(--ink-muted)}.calibration-assistant__list li.is-current{color:var(--brand);font-weight:600}.calibration-assistant__list li.is-done{color:var(--ink)}.calibration-assistant__focus{margin:0;padding:.75rem .8rem;border:1px solid var(--line);background:var(--surface);color:var(--ink);line-height:1.45}.calibration__success .ui-button{margin-top:.75rem}.preparation{min-width:0;overflow:auto;padding:1.1rem 1.2rem 1.4rem;display:grid;gap:.9rem;align-content:start;background:color-mix(in srgb,var(--surface) 88%,var(--bg))}.preparation__header{display:grid;gap:.7rem}.preparation__title{margin:0 0 .55rem;font-size:clamp(1.4rem,2.3vw,1.85rem);letter-spacing:-.03em;color:var(--brand)}.preparation__mode{margin:0;padding:0;border:none;display:flex;flex-wrap:wrap;gap:.85rem 1.25rem;align-items:center}.preparation__mode legend{padding:0;margin-right:.5rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted);font-weight:600}.preparation__mode-option{display:inline-flex;align-items:center;gap:.4rem;color:var(--ink)}.preparation__banner{margin:0;padding:.7rem .85rem;border:1px solid color-mix(in srgb,var(--brand) 35%,var(--line));background:var(--brand-contrast);color:var(--brand);font-weight:600}.preparation__banner--muted{border-color:var(--line);background:var(--surface);color:var(--ink-muted);font-weight:500}.preparation__body{display:grid;grid-template-columns:12.5rem minmax(0,1fr);gap:.85rem;min-height:18rem}.preparation__layers{border:1px solid var(--line);background:var(--surface-elevated);padding:.75rem .7rem}.preparation__layers-title{margin:0 0 .55rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-muted);font-weight:600}.preparation__layers-list{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}.preparation__layer{display:flex;align-items:center;gap:.5rem;color:var(--ink);font-size:.92rem}.preparation__canvas{position:relative;min-height:18rem;border:1px solid var(--line);overflow:hidden;background:color-mix(in srgb,var(--surface) 70%,#dfe7ec)}[data-theme=dark] .preparation__canvas{background:color-mix(in srgb,var(--surface) 85%,#0a1014)}.preparation__grid{position:absolute;inset:0;background-image:linear-gradient(to right,color-mix(in srgb,var(--line) 55%,transparent) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in srgb,var(--line) 55%,transparent) 1px,transparent 1px);background-size:24px 24px;opacity:.4}.preparation__canvas-label{position:absolute;inset:0;margin:0;display:grid;place-items:center;font-weight:600;color:color-mix(in srgb,var(--ink-muted) 80%,var(--brand))}.preparation__done{position:absolute;left:50%;bottom:1.25rem;transform:translate(-50%);width:min(28rem,calc(100% - 2rem));margin:0;padding:.85rem 1rem;text-align:center;border:1px solid color-mix(in srgb,var(--ok) 45%,var(--line));background:var(--ok-bg);color:var(--ok);font-weight:700}.preparation__actions{display:flex;justify-content:center}.preparation__finish{min-width:min(22rem,100%);min-height:3rem;font-size:1.05rem;font-weight:700}.preparation-summary__list{margin:0;display:grid;gap:.85rem}.preparation-summary__list div{display:grid;gap:.2rem}.preparation-summary__list dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted);font-weight:600}.preparation-summary__list dd{margin:0;font-weight:600;font-family:var(--mono)}.sprint-module{min-width:0;overflow:auto;padding:1.1rem 1.2rem 1.4rem;display:grid;gap:.9rem;align-content:start;background:color-mix(in srgb,var(--surface) 88%,var(--bg))}.sprint-module__header{display:grid;gap:.35rem}.sprint-module__title{margin:0;font-size:clamp(1.4rem,2.3vw,1.85rem);letter-spacing:-.03em;color:var(--brand)}.sprint-module__subtitle{margin:0;color:var(--ink-muted);max-width:42rem;line-height:1.45}.sprint-module__empty{margin:0;color:var(--ink-muted);line-height:1.45}.sprint-module__canvas{position:relative;min-height:14rem;border:1px solid var(--line);overflow:hidden;background:color-mix(in srgb,var(--surface) 70%,#dfe7ec)}[data-theme=dark] .sprint-module__canvas{background:color-mix(in srgb,var(--surface) 85%,#0a1014)}.sprint-module__grid{position:absolute;inset:0;background-image:linear-gradient(to right,color-mix(in srgb,var(--line) 55%,transparent) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in srgb,var(--line) 55%,transparent) 1px,transparent 1px);background-size:24px 24px;opacity:.4}.sprint-module__canvas-label{position:absolute;inset:0;margin:0;display:grid;place-items:center;font-weight:600;color:color-mix(in srgb,var(--ink-muted) 80%,var(--brand));padding:1rem;text-align:center}.environments__toolbar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:end}.environments__type{display:grid;gap:.3rem;min-width:12rem;color:var(--ink-muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;font-weight:600}.environments__type select{min-height:2.4rem;border:1px solid var(--line);background:var(--surface-elevated);color:var(--ink);padding:.4rem .55rem;font:inherit;text-transform:none;letter-spacing:normal;font-weight:500}.environments__body{display:grid;grid-template-columns:minmax(16rem,22rem) minmax(0,1fr);gap:.85rem;min-height:16rem}.environments__list-panel{border:1px solid var(--line);background:var(--surface-elevated);padding:.75rem;min-height:16rem}.environments__list{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}.environments__item{display:grid;gap:.45rem;padding:.55rem;border:1px solid var(--line);background:var(--surface)}.environments__item--selected{border-color:color-mix(in srgb,var(--brand) 45%,var(--line));background:var(--brand-contrast)}.environments__select{display:block;width:100%;text-align:left;border:0;background:transparent;color:var(--ink);padding:0;font:inherit;cursor:pointer}.environments__select strong{display:block}.environments__type-tag{display:block;margin-top:.15rem;font-size:.8rem;color:var(--ink-muted)}.environments__rename-input{width:100%;border:1px solid var(--line);background:var(--surface-elevated);color:var(--ink);padding:.35rem .45rem;font:inherit}.environments__actions{display:flex;flex-wrap:wrap;gap:.4rem}.library-cats{display:flex;flex-wrap:wrap;gap:.45rem}.library-cats__btn{border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:.4rem .7rem;font:inherit;cursor:pointer}.library-cats__btn--active{border-color:color-mix(in srgb,var(--brand) 50%,var(--line));background:var(--brand-contrast);color:var(--brand);font-weight:600}.library-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:.75rem}.library-card{display:grid;gap:.4rem;padding:.7rem;border:1px solid var(--line);background:var(--surface-elevated);color:var(--ink)}.library-card__placeholder{aspect-ratio:4 / 3;border:1px dashed color-mix(in srgb,var(--line) 80%,var(--brand));background:linear-gradient(135deg,color-mix(in srgb,var(--surface) 70%,var(--brand-contrast)),color-mix(in srgb,var(--surface) 90%,#c9d5dc))}.library-card--smart .library-card__placeholder{background:linear-gradient(135deg,color-mix(in srgb,var(--surface) 75%,#d8e8f0),color-mix(in srgb,var(--brand-contrast) 55%,var(--surface)))}.library-card strong{font-size:.95rem}.library-card__meta{font-size:.78rem;color:var(--ink-muted)}.project-assistant{display:grid;gap:.85rem;align-content:start}.project-assistant__note{margin:0;color:var(--ink-muted);font-size:.85rem;line-height:1.4}.project-assistant__thread{display:grid;gap:.55rem}.project-assistant__bubble{margin:0;padding:.7rem .8rem;border:1px solid var(--line);background:var(--surface);color:var(--ink);line-height:1.45}.project-assistant__bubble--prompt{border-color:color-mix(in srgb,var(--brand) 35%,var(--line));background:var(--brand-contrast);color:var(--brand);font-weight:600}.project-assistant__actions{display:flex;flex-wrap:wrap;gap:.45rem}.project-assistant__ack{margin:0;padding:.7rem .8rem;border:1px solid color-mix(in srgb,var(--ok) 40%,var(--line));background:var(--ok-bg);color:var(--ok);font-weight:600}.page-header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;align-items:end}.page-header__title{margin:0;font-size:clamp(1.6rem,3vw,2rem);letter-spacing:-.03em;color:var(--brand)}.page-header__description{margin:.4rem 0 0;color:var(--ink-muted);max-width:40rem}.page-header__actions{display:flex;gap:.5rem}.structure-list{margin:0;padding-left:1.1rem;color:var(--ink-muted);display:grid;gap:.35rem}.placeholder-note{margin:0;color:var(--ink-muted)}.ui-button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border:1px solid var(--line);padding:.5rem .85rem;cursor:pointer;background:var(--surface-elevated);color:var(--ink)}.ui-button:disabled{opacity:.55;cursor:wait}.ui-button--primary{background:var(--brand);border-color:var(--brand);color:#f4fbfc}[data-theme=dark] .ui-button--primary{color:#0b1518}.ui-button--ghost{background:transparent}.ui-button--subtle{background:var(--surface)}.ui-button:hover{border-color:var(--brand-soft)}.ui-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.28rem .6rem;border:1px solid var(--line);background:var(--pending-bg);color:var(--pending);font-size:.8rem;font-weight:500}.ui-badge--ok{color:var(--ok);background:var(--ok-bg);border-color:color-mix(in srgb,var(--ok) 35%,var(--line))}.ui-badge--warn{color:var(--warn);background:var(--warn-bg);border-color:color-mix(in srgb,var(--warn) 35%,var(--line))}.ui-badge--bad{color:var(--bad);background:var(--bad-bg);border-color:color-mix(in srgb,var(--bad) 35%,var(--line))}.ui-badge--brand{color:var(--brand);background:var(--brand-contrast);border-color:color-mix(in srgb,var(--brand) 35%,var(--line))}.ui-panel{border:1px solid var(--line);background:var(--surface-elevated);box-shadow:var(--shadow)}.ui-panel__head{padding:1rem 1.1rem .35rem;display:grid;gap:.25rem}.ui-panel__title{margin:0;font-size:1.05rem}.ui-panel__description{margin:0;color:var(--ink-muted);font-size:.92rem}.ui-panel__body{padding:1rem 1.1rem 1.15rem}.status-row{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}.badge{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .7rem;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-size:.85rem;font-weight:500}.badge:before{content:"";width:.5rem;height:.5rem;border-radius:50%;background:currentColor}.badge--ok{color:var(--ok);background:var(--ok-bg);border-color:color-mix(in srgb,var(--ok) 35%,var(--line))}.badge--warn{color:var(--warn);background:var(--warn-bg);border-color:color-mix(in srgb,var(--warn) 35%,var(--line))}.badge--bad{color:var(--bad);background:var(--bad-bg);border-color:color-mix(in srgb,var(--bad) 35%,var(--line))}.badge--pending{color:var(--pending);background:var(--pending-bg)}.section{display:grid;gap:.85rem;padding:.25rem 0 0}.section h2{margin:0;font-size:1.05rem;font-weight:600}.section p{margin:0;color:var(--ink-muted);font-size:.95rem}.section-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem;align-items:end}.ghost-button{border:1px solid var(--line);background:var(--surface);color:var(--brand);padding:.45rem .85rem;cursor:pointer}.ghost-button:hover{border-color:var(--brand-soft)}.ghost-button:disabled{opacity:.55;cursor:wait}.health-table{width:100%;border-collapse:collapse;background:var(--surface)}.health-table th,.health-table td{text-align:left;padding:.85rem 1rem;border-bottom:1px solid var(--line);vertical-align:middle}.health-table th{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted);font-weight:600}.health-table tr:last-child td{border-bottom:none}.mono{font-family:var(--mono);font-size:.9rem}.state-ok{color:var(--ok);font-weight:600}.state-bad{color:var(--bad);font-weight:600}.state-unknown{color:var(--pending)}@media(max-width:900px){.app-frame{grid-template-columns:1fr}.app-sidebar{position:fixed;inset:0 auto 0 0;width:min(18rem,86vw);z-index:30;transform:translate(-105%);transition:transform .16s ease}.app-sidebar--open{transform:translate(0)}.app-sidebar-backdrop{display:block;position:fixed;inset:0;z-index:20;background:#0a101473;opacity:0;pointer-events:none;transition:opacity .16s ease}.app-sidebar-backdrop--visible{opacity:1;pointer-events:auto}.app-topbar__menu{display:inline-flex}.app-main{padding:1.15rem 1rem 2rem}.ws-toolbar{display:flex}.ws-body{grid-template-columns:1fr;min-height:calc(100vh - var(--ws-top) - var(--ws-foot) - 3rem)}.ws-tree{position:fixed;inset:0 auto 0 0;width:min(17rem,88vw);z-index:40;transform:translate(-105%);transition:transform .16s ease;border-right:1px solid var(--line)}.ws-tree--open{transform:translate(0)}.ws-props-wrap{position:fixed;inset:0 0 0 auto;width:min(17rem,88vw);z-index:40;transform:translate(105%);transition:transform .16s ease;border-left:1px solid var(--line)}.ws-props-wrap--open{transform:translate(0)}.ws-backdrop{display:block;position:fixed;inset:0;z-index:30;background:#0a101473;opacity:0;pointer-events:none;transition:opacity .16s ease}.ws-backdrop--visible{opacity:1;pointer-events:auto}.ws-canvas{min-height:calc(100vh - var(--ws-top) - var(--ws-foot) - 3.5rem)}.import-plant__formats,.import-plant__meta,.calibration__fields,.preparation__body,.environments__body{grid-template-columns:1fr}.ws-topbar__divider{display:none}.health-table th:nth-child(3),.health-table td:nth-child(3){display:none}}.project-cards{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(18rem,1fr))}.project-card{border:1px solid var(--border, #d0d5dd);border-radius:.5rem;padding:1rem;background:var(--surface, #fff)}.project-card h2{margin:0 0 .25rem;font-size:1.1rem}.project-card dl{display:grid;gap:.35rem;margin:.75rem 0;font-size:.85rem}.project-card dt{opacity:.7}.project-card dd{margin:0}.persistence-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.persistence-notice,.persistence-recovery{padding:.75rem 1rem;border-radius:.4rem;background:color-mix(in srgb,var(--accent, #2563eb) 12%,transparent)}.persistence-recovery{margin:.5rem 1rem 0}.persistence-errors{color:#b42318}.persistence-autosave,.persistence-rename{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.ws-topbar__toast{font-size:.8rem;opacity:.9}.notification-center{position:relative}.notification-center__badge{margin-left:.35rem;padding:.05rem .4rem;border-radius:999px;background:color-mix(in srgb,var(--accent, #2563eb) 20%,transparent);font-size:.75rem}.notification-center__panel{position:absolute;right:0;top:calc(100% + .4rem);z-index:40;width:min(22rem,80vw);max-height:22rem;overflow:auto;padding:.75rem;border:1px solid var(--border, #d0d5dd);border-radius:.5rem;background:var(--surface, #fff);box-shadow:0 8px 24px #0000001f}.notification-center__head,.notification-center__actions,.inspection-panel__head,.tag-chip-row,.exec-dashboard-final__links{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.notification-center__list,.inspection-panel ul,.quick-nav ul,.exec-dashboard-final ul{list-style:none;margin:0;padding:0}.notification-center__list li,.inspection-panel section,.quick-nav section,.layout-prefs label{margin-top:.65rem}.inspection-panel,.quick-nav,.layout-prefs,.diagnostic-panel,.exec-dashboard-final{margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--border, #e4e7ec)}.inspection-panel dl{display:grid;gap:.25rem;margin:0}.inspection-panel dt{opacity:.7;font-size:.8rem}.inspection-panel dd{margin:0 0 .35rem}.tag-chip{border:1px solid var(--border, #d0d5dd);background:transparent;border-radius:999px;padding:.2rem .65rem;cursor:pointer}.tag-chip--active{background:color-mix(in srgb,var(--accent, #2563eb) 18%,transparent);border-color:var(--accent, #2563eb)}.layout-prefs{position:fixed;right:1rem;top:4.5rem;z-index:50;width:min(22rem,90vw);padding:1rem;border-radius:.5rem;border:1px solid var(--border, #d0d5dd);background:var(--surface, #fff);box-shadow:0 10px 30px #00000024}.layout-prefs label{display:flex;justify-content:space-between;gap:.75rem;align-items:center}.diagnostic-panel__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:.75rem}.diagnostic-panel__grid dt{opacity:.7;font-size:.8rem}.diagnostic-panel__grid dd{margin:.15rem 0 0;font-weight:600}.ws-shell--no-grid .ws-canvas{background-image:none}.ws-props-stack{display:flex;flex-direction:column;gap:.5rem}.dev-banner{padding:.45rem 1rem;font-size:.85rem;line-height:1.35;background:color-mix(in srgb,#b45309 12%,var(--surface, #fff));border-bottom:1px solid color-mix(in srgb,#b45309 35%,var(--border, #e4e7ec));color:#7c2d12}.stage-placeholder{display:grid;gap:.85rem;padding:1.25rem;max-width:40rem}.stage-placeholder__actions{display:flex;flex-wrap:wrap;gap:.5rem}.integrity-block{position:fixed;inset:0;z-index:80;display:grid;align-content:start;gap:.75rem;margin:auto;width:min(32rem,92vw);max-height:min(80vh,40rem);overflow:auto;padding:1.25rem;border-radius:.5rem;border:1px solid var(--border, #d0d5dd);background:var(--surface, #fff);box-shadow:0 16px 40px #00000038}.integrity-block__list{margin:0;padding-left:1.1rem;display:grid;gap:.45rem}.integrity-block__actions{display:flex;justify-content:flex-end;gap:.5rem}.protections-stage{display:grid;gap:.85rem;padding:1.25rem;max-width:42rem}.protections-stage__list{margin:0;padding:0;list-style:none;display:grid;gap:.35rem}.delete-env-dialog{position:fixed;inset:0;z-index:80;display:grid;align-content:start;gap:.75rem;margin:auto;width:min(30rem,92vw);max-height:min(85vh,42rem);overflow:auto;padding:1.25rem;border-radius:.5rem;border:1px solid var(--border, #d0d5dd);background:var(--surface, #fff);box-shadow:0 16px 40px #00000038}.delete-env-dialog fieldset{border:1px solid var(--border, #e4e7ec);border-radius:.4rem;display:grid;gap:.45rem;padding:.75rem}.delete-env-dialog__actions{display:flex;justify-content:flex-end;gap:.5rem}.ws-tree__env-row{display:flex;align-items:center;gap:.15rem}.ws-tree__delete-env{flex:0 0 auto;min-width:1.75rem;padding-inline:.35rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.ws-status-glyph{margin-inline-end:.35rem;font-size:.85em}.ws-meta__value--status-ok{color:var(--ok, #157a3a)}.ws-meta__value--status-warn{color:var(--warn, #9a6700)}.ws-meta__value--status-bad{color:var(--bad, #b42318)}.ws-meta__value--status-info{color:var(--brand-soft, #3b6d9c)}.ws-meta__value--status-neutral{color:var(--ink-muted)}.confirm-dialog{position:fixed;inset:0;z-index:80;display:grid;place-items:center}.confirm-dialog__backdrop{position:absolute;inset:0;background:#0f172a73}.confirm-dialog__panel{position:relative;z-index:1;width:min(28rem,calc(100vw - 2rem));background:var(--surface, #fff);color:var(--ink, #111);border:1px solid var(--line, #e4e7ec);border-radius:.5rem;padding:1rem 1.1rem;display:grid;gap:.75rem;box-shadow:0 12px 40px #0f172a2e}.confirm-dialog__actions{display:flex;justify-content:flex-end;gap:.5rem}.guided-tour{position:fixed;inset:0;z-index:85;display:grid;place-items:end center;padding:1rem}.guided-tour__backdrop{position:absolute;inset:0;background:#0f172a59}.guided-tour__panel{position:relative;z-index:1;width:min(32rem,calc(100vw - 2rem));background:var(--surface, #fff);border:1px solid var(--line, #e4e7ec);border-radius:.5rem;padding:1rem 1.1rem;display:grid;gap:.65rem;margin-bottom:1rem}.guided-tour__actions{display:flex;flex-wrap:wrap;gap:.45rem;justify-content:flex-end}.guided-tour__progress{margin:0;color:var(--ink-muted);font-size:.85rem}.demo-banner,.viewport-hint{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;padding:.55rem .85rem;border-bottom:1px solid var(--line, #e4e7ec);background:color-mix(in srgb,var(--warn, #f5d76e) 18%,var(--surface, #fff));color:var(--ink, #111);font-size:.9rem}.canvas-selection-summary{padding:.4rem .75rem;border-top:1px solid var(--line, #e4e7ec);background:var(--surface, #fff);font-size:.85rem}.canvas-selection-summary__actions{display:block;color:var(--ink-muted);margin-top:.15rem}.form-field{display:grid;gap:.25rem}.form-field__label{font-weight:600;font-size:.9rem}.form-field__unit,.form-field__required{margin-inline-start:.25rem;color:var(--ink-muted);font-weight:500}.form-field__hint,.form-field__example{margin:0;font-size:.8rem;color:var(--ink-muted)}.form-field__error{margin:0;font-size:.85rem;color:var(--bad, #b42318)}.project-summary__progressive{margin:.75rem 0;padding:.65rem .85rem;border:1px solid var(--line, #e4e7ec);border-radius:.45rem}:focus-visible{outline:2px solid var(--brand-soft, #3b6d9c);outline-offset:2px}@media(max-width:560px){.ws-topbar__meta{gap:.35rem}.ws-canvas{min-height:12rem}}@media(min-resolution:1.25dppx){.ws-shell{font-size:100%}}
