@layer reset,tokens,base,quarks,atoms,molecules,organisms,layout,features,utilities;@layer tokens{:root{color-scheme:light;--color-ink: #17231f;--color-ink-soft: #283832;--color-ink-bg: #17231f;--color-accent-text: #17231f;--color-project-card-bg: #1e5a47;--color-text: #1d2926;--color-text-muted: #68746f;--color-text-subtle: #89928e;--color-paper: #fbfaf6;--color-surface: #fff;--color-surface-muted: #f1efe8;--color-canvas: #f1efe8;--color-app-bg: #ece9e1;--color-sidebar: #f5f2eb;--color-header-bg: #17231f;--color-header-context: #9daca6;--color-nav-link: #53605b;--color-nav-active-bg: #e2e8d1;--color-nav-active-text: #17362a;--color-nav-icon-border: #c8cec5;--color-border: #d9d7cf;--color-border-strong: #c8cbc4;--color-green: #1e5a47;--color-green-hover: #174a3a;--color-green-soft: #dcebdc;--color-lime: #d8f36c;--color-lime-hover: #c9e55d;--color-orange: #e86f3d;--color-orange-soft: #f6e3d8;--color-danger: #9a352a;--color-danger-soft: #fbe9e7;--font-body: Manrope, system-ui, -apple-system, sans-serif;--font-brand: Unbounded, var(--font-body);--font-mono: ui-monospace, SFMono-Regular, Menlo, monospace;--text-xs: .6875rem;--text-sm: .75rem;--text-md: .875rem;--text-lg: 1.0625rem;--text-xl: clamp(1.5rem, 2vw, 1.875rem);--text-2xl: clamp(1.875rem, 4vw, 2.5rem);--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-7: 1.75rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--control-height: 2.625rem;--content-max-width: 100rem;--sidebar-width: 16.5rem;--topbar-height: 4.5rem;--radius-sm: .4375rem;--radius-md: .625rem;--radius-lg: 1rem;--radius-xl: 1.5rem;--radius-pill: 999px;--shadow-card: 0 2px 10px rgb(23 35 31 / 6%);--shadow-sm: 0 2px 8px rgb(23 35 31 / 8%);--shadow-md: 0 10px 28px rgb(23 35 31 / 11%);--shadow-lg: 0 24px 60px rgb(23 35 31 / 14%);--focus-ring: 0 0 0 3px rgb(30 90 71 / 14%);--transition-fast: .16s ease}:root[data-theme=dark]{color-scheme:dark;--color-ink: #f0f2f1;--color-ink-soft: #3a3d3c;--color-ink-bg: #131514;--color-accent-text: #17231f;--color-project-card-bg: #315e48;--color-text: #e5e8e6;--color-text-muted: #b5bab7;--color-text-subtle: #969c98;--color-paper: #242726;--color-surface: #2b2e2d;--color-surface-muted: #343736;--color-canvas: #1d201f;--color-app-bg: #171918;--color-sidebar: #202322;--color-header-bg: #131514;--color-header-context: #aeb4b0;--color-nav-link: #bdc2bf;--color-nav-active-bg: #344a36;--color-nav-active-text: #eaf6d8;--color-nav-icon-border: #555b58;--color-border: #3d4140;--color-border-strong: #565c59;--color-green: #83c99a;--color-green-hover: #9adbad;--color-green-soft: #29432f;--color-lime: #d8f36c;--color-lime-hover: #e3fa8e;--color-orange: #f49a6f;--color-orange-soft: #493126;--color-danger: #f0a19a;--color-danger-soft: #4a2b2b;--shadow-card: 0 2px 12px rgb(0 0 0 / 18%);--shadow-sm: 0 2px 8px rgb(0 0 0 / 20%);--shadow-md: 0 10px 28px rgb(0 0 0 / 30%);--shadow-lg: 0 24px 60px rgb(0 0 0 / 36%);--focus-ring: 0 0 0 3px rgb(131 201 154 / 25%)}}@layer base{:root{color:var(--color-text);background:var(--color-app-bg);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizeLegibility}html,body,#app{min-width:20rem;min-height:100%}body{min-height:100vh;background:var(--color-app-bg);font-size:var(--text-md);line-height:1.5}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:var(--color-green)}:focus-visible{outline:2px solid var(--color-green);outline-offset:2px}::selection{background:var(--color-lime);color:var(--color-accent-text)}}@layer quarks{.brand-mark{width:1.8125rem;height:1.8125rem;flex:0 0 auto;border:.5rem solid var(--color-lime);border-right-color:transparent;border-radius:50%;transform:rotate(-45deg)}.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}}@layer atoms{.button{min-height:var(--control-height);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:0 var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-ink);font-weight:var(--weight-semibold);line-height:1;transition:background var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast)}.button:hover:not(:disabled){border-color:var(--color-green);transform:translateY(-1px)}.button:disabled{opacity:.55}.button--dark{border-color:#45554f;background:var(--color-ink-soft);color:#fff}.button--accent{border-color:var(--color-lime);background:var(--color-lime);color:var(--color-accent-text)}.button--accent:hover:not(:disabled){border-color:var(--color-lime-hover);background:var(--color-lime-hover)}.button--ghost{border-color:transparent;background:transparent;color:var(--color-green)}.button--full{width:100%}.badge{width:fit-content;display:inline-flex;align-items:center;gap:var(--space-2);padding:.375rem .625rem;border-radius:var(--radius-pill);background:var(--color-surface-muted);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-bold)}.badge--success{background:var(--color-green-soft);color:var(--color-green)}.badge--warning{background:var(--color-orange-soft);color:#914522}:root[data-theme=dark] .badge--warning{color:var(--color-orange)}.badge--accent{background:var(--color-lime);color:var(--color-accent-text)}.alert{padding:var(--space-3) var(--space-4);border:1px solid transparent;border-radius:var(--radius-md);font-size:var(--text-sm)}.alert--danger{border-color:#efc9c3;background:var(--color-danger-soft);color:var(--color-danger)}.alert--info{border-color:#cbded5;background:var(--color-green-soft);color:var(--color-green)}.avatar{display:inline-grid;flex:0 0 auto;place-items:center;border:1px solid rgb(255 255 255 / 18%);border-radius:50%;background:var(--color-green);color:#fff;font-size:var(--text-xs);font-weight:var(--weight-bold)}.avatar--sm{width:1.75rem;height:1.75rem}.avatar--md{width:2.25rem;height:2.25rem}.surface,.card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-paper);box-shadow:var(--shadow-card)}}@layer molecules{.form-field{display:grid;gap:var(--space-2);min-width:0}.form-field__label{display:flex;justify-content:space-between;gap:var(--space-3);color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--weight-bold)}.form-field__hint{color:var(--color-text-subtle);font-weight:var(--weight-medium)}.form-field--sm{gap:var(--space-1)}.form-field--sm .form-field__label{font-size:var(--text-xs)}.form-field--sm input,.form-field--sm select{min-height:1.75rem;padding-inline:var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs)}.form-field input,.form-field select,.control{width:100%;min-height:var(--control-height);padding:0 var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);outline:none;background:var(--color-surface);color:var(--color-ink);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-field input:focus,.form-field select:focus,.control:focus{border-color:var(--color-green);box-shadow:var(--focus-ring)}.autocomplete-dropdown{position:relative;min-width:0}.autocomplete-dropdown__input{padding-right:var(--space-8)}.autocomplete-dropdown__list{position:absolute;z-index:30;top:calc(100% + var(--space-1));right:0;left:0;max-height:17rem;overflow-y:auto;padding:var(--space-1);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-card)}.autocomplete-dropdown__option{display:block;width:100%;padding:var(--space-2) var(--space-3);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-ink);text-align:left;cursor:pointer}.autocomplete-dropdown__option:hover,.autocomplete-dropdown__option.is-active{background:var(--color-green-soft)}.autocomplete-dropdown__option[aria-selected=true]{background:var(--color-green-soft);box-shadow:inset 3px 0 0 var(--color-green);color:var(--color-green);font-weight:var(--weight-bold)}.autocomplete-dropdown__empty,.autocomplete-dropdown__more{display:block;padding:var(--space-2) var(--space-3);color:var(--color-text-muted);font-size:var(--text-xs)}.page-header{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:flex-start;justify-content:space-between;gap:var(--space-6);margin-bottom:var(--space-6)}.page-header__copy{display:grid;flex:1 1 auto;gap:var(--space-1);min-width:0}.page-header h1{color:var(--color-ink);font-size:var(--text-xl);line-height:1.2;letter-spacing:-.045em}.editable-title{width:100%;margin:-.25rem -.5rem;padding:.25rem .5rem;border:1px solid transparent;border-radius:var(--radius-md);outline:none;background:transparent;color:var(--color-ink);font-size:var(--text-xl);font-weight:var(--weight-bold);line-height:1.2;letter-spacing:-.045em;transition:border-color var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast)}.editable-title:hover{border-color:var(--color-border);background:color-mix(in srgb,var(--color-surface) 45%,transparent)}.editable-title:focus{border-color:var(--color-green);background:var(--color-surface);box-shadow:var(--focus-ring)}.editable-title::placeholder{color:var(--color-text-subtle)}.page-header p{color:var(--color-text-muted)}.page-header__actions{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.page-header__actions>div{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.page-header__meta{display:flex;align-items:center;flex:0 0 auto}.empty-state{display:grid;justify-items:center;gap:var(--space-2);padding:var(--space-12) var(--space-6);text-align:center}.empty-state__mark{width:2.75rem;height:2.75rem;display:grid;place-items:center;margin-bottom:var(--space-2);border-radius:50%;background:var(--color-green-soft);color:var(--color-green);font-size:1.25rem}.empty-state h2{font-size:var(--text-lg)}.empty-state p{max-width:32rem;color:var(--color-text-muted)}.metric-card{display:grid;gap:var(--space-1);padding:var(--space-4) var(--space-5)}.metric-card>span{color:var(--color-text-muted);font-size:var(--text-sm)}.metric-card strong{color:var(--color-ink);font-size:1.25rem;letter-spacing:-.04em}.metric-card small{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--weight-medium)}.user-identity{display:flex;align-items:center;gap:var(--space-3);min-width:0}.user-identity__copy{display:grid;line-height:1.25;min-width:0}.user-identity__copy strong,.user-identity__copy small{max-width:13rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entity-identity{--entity-color: var(--color-green);--entity-soft: var(--color-green-soft);display:flex;align-items:center;gap:var(--space-3);min-width:0}.entity-identity--lead{--entity-color: #a55d32;--entity-soft: #f8e9df}:root[data-theme=dark] .entity-identity--lead{--entity-color: #f5ad83;--entity-soft: #463126}:root[data-theme=dark] .entity-identity--calculation{--entity-color: #91bee2;--entity-soft: #263a4d}:root[data-theme=dark] .entity-identity--project{--entity-color: #c2acef;--entity-soft: #382e4d}.entity-identity--calculation{--entity-color: #376c9c;--entity-soft: #e5eff8}.entity-identity--project{--entity-color: #6652a2;--entity-soft: #eeeafb}.entity-identity__mark{width:2.5rem;height:2.5rem;display:grid;flex:0 0 auto;place-items:center;border:1px solid color-mix(in srgb,var(--entity-color) 22%,transparent);border-radius:var(--radius-md);background:var(--entity-soft);color:var(--entity-color);font-size:var(--text-md);font-weight:var(--weight-bold)}.entity-identity__copy{display:grid;min-width:0;line-height:1.25}.entity-identity__copy>*{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entity-identity__kind{margin-bottom:.125rem;color:var(--entity-color);font-size:.625rem;font-weight:var(--weight-bold);letter-spacing:.09em;text-transform:uppercase}.entity-identity__copy strong{color:var(--color-ink);font-size:var(--text-md)}.entity-identity__subtitle,.entity-identity__meta{margin-top:.125rem;color:var(--color-text-muted);font-size:var(--text-xs)}.entity-identity__meta{color:var(--color-text-subtle)}.user-identity__copy strong{color:#fff;font-size:var(--text-sm)}.user-identity__copy small{margin-top:.1875rem;color:#aebbb6;font-size:var(--text-xs)}.data-table{overflow:hidden}.data-table__toolbar{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border)}.data-table__scroll{overflow-x:auto}.data-table table{width:100%;border-collapse:collapse;font-size:var(--text-md)}.data-table th{padding:var(--space-3) var(--space-5);background:var(--color-surface-muted);color:var(--color-text-muted);font-size:var(--text-xs);letter-spacing:.08em;text-align:left;text-transform:uppercase}.data-table td{padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border)}.brand{display:flex;align-items:center;gap:var(--space-3);color:inherit;font:600 1.125rem var(--font-brand);letter-spacing:-.05em}.inline-note{padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-green-soft);color:var(--color-text-muted);font-size:var(--text-sm);line-height:1.5}@media(max-width:48rem){.page-header{align-items:stretch;grid-template-columns:minmax(0,1fr)}.page-header__actions{position:static;display:flex;width:auto}.page-header__actions>div{display:flex}}}@layer organisms{.app-header{height:var(--topbar-height);display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr) auto;align-items:center;gap:var(--space-5);padding:0 var(--space-6);border-bottom:1px solid var(--color-border);background:var(--color-header-bg);color:#fff}.app-header__context{min-width:0;overflow:hidden;color:var(--color-header-context);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap}.app-header__context strong{color:#f7f7f2;font-weight:var(--weight-semibold)}.app-header__actions{display:flex;align-items:center;gap:var(--space-2)}.theme-control{display:flex;align-items:center;gap:var(--space-2);color:var(--color-header-context);font-size:var(--text-xs)}.theme-control select{min-height:2.25rem;padding:0 var(--space-3);border:1px solid rgb(255 255 255 / 25%);border-radius:var(--radius-md);background:transparent;color:#fff}.theme-control option{background:var(--color-header-bg);color:#fff}.app-header__user{margin-right:var(--space-3);padding-right:var(--space-5);border-right:1px solid rgb(255 255 255 / 12%)}.app-nav{display:grid;gap:var(--space-1)}.app-nav a{min-height:2.875rem;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--color-nav-link);text-decoration:none;transition:background var(--transition-fast),color var(--transition-fast)}.app-nav a:hover{background:var(--color-green-soft)}.app-nav a.active{background:var(--color-nav-active-bg);color:var(--color-nav-active-text);font-weight:var(--weight-bold)}.app-nav__icon{width:1.625rem;height:1.625rem;display:grid;flex:0 0 auto;place-items:center;border:1px solid var(--color-nav-icon-border);border-radius:var(--radius-sm);font-size:var(--text-md)}@media(max-width:68rem){.app-header{grid-template-columns:auto minmax(0,1fr) auto}.app-header__context,.app-header__user{display:none}}}@layer layout{.shell{height:100vh;min-height:100vh;display:grid;grid-template-rows:var(--topbar-height) minmax(0,1fr)}.workspace{min-height:0;display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr)}.sidebar{min-height:0;display:flex;flex-direction:column;padding:var(--space-6) var(--space-4);border-right:1px solid var(--color-border);background:var(--color-sidebar)}.sidebar-section+.sidebar-section{margin-top:var(--space-7)}.section-label{margin:0 var(--space-3) var(--space-2);color:var(--color-text-subtle);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:.12em;text-transform:uppercase}.project-card{margin-top:auto;padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-project-card-bg);color:#fff}.project-card small{color:#b6cdc3}.project-card strong{display:block;margin:var(--space-2) 0 var(--space-3);line-height:1.35}.progress{height:.3125rem;overflow:hidden;border-radius:var(--radius-pill);background:#497665}.progress span{width:72%;height:100%;display:block;background:var(--color-lime)}.project-card__status{display:block;margin-top:var(--space-2)}.main{min-width:0;overflow:auto;padding:var(--space-6) clamp(var(--space-5),3vw,var(--space-10)) var(--space-10)}.main>*{width:min(100%,var(--content-max-width));margin-inline:auto}.two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.divider{height:1px;margin:var(--space-5) 0;background:var(--color-border)}.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3);margin-top:var(--space-4)}.stack{display:grid;gap:var(--space-4)}@media(max-width:68rem){:root{--sidebar-width: 5rem}.sidebar{padding-inline:var(--space-3)}.section-label,.app-nav a:not(.active){font-size:0}.section-label{height:var(--space-3);margin-inline:0}.app-nav a{justify-content:center;padding-inline:var(--space-2)}.project-card{display:none}}@media(max-width:48rem){:root{--topbar-height: 4rem}.shell{display:block}.app-header{position:sticky;top:0;z-index:10;height:var(--topbar-height);padding-inline:var(--space-4)}.workspace{display:block}.sidebar{position:sticky;top:var(--topbar-height);z-index:9;min-height:auto;display:block;overflow-x:auto;padding:var(--space-2) var(--space-3);border-right:0;border-bottom:1px solid var(--color-border)}.sidebar-section{display:inline}.sidebar-section+.sidebar-section{margin:0}.section-label{display:none}.app-nav{display:inline-flex}.app-nav a,.app-nav a:not(.active){width:max-content;min-height:2.5rem;font-size:var(--text-sm)}.app-nav__icon{display:none}.main{padding:var(--space-5) var(--space-4) var(--space-8)}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.two-column{grid-template-columns:1fr}}}@layer features{.construction-workbench{height:100%;min-height:0;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-canvas);box-shadow:var(--shadow-sm);--xy-edge-stroke: #7d8481;--xy-edge-stroke-width: 2.5}@media screen{.shell:has(.construction-workspace-row){height:100dvh;min-height:0;overflow:hidden}.shell:has(.construction-workspace-row) .workspace{display:grid;overflow:hidden}.shell:has(.construction-workspace-row) .sidebar{overflow:auto}.main:has(.construction-workspace-row){display:flex;flex-direction:column;min-height:0;overflow:hidden;padding-bottom:var(--space-4)}.main:has(.construction-workspace-row)>*{flex-shrink:0}.main>.construction-workspace-row{flex:1 1 0;min-height:0;grid-template-rows:auto minmax(0,1fr)}.construction-workspace-row>.construction-canvas-stage{min-height:0}.construction-canvas-stage>.construction-2d-tool-panel{height:100%;min-height:0;overflow:auto}}@media screen and (max-width:48rem){.shell:has(.construction-workspace-row) .workspace{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}.construction-workspace-toolbar{flex-wrap:wrap}}.construction-toolbar{display:grid;gap:var(--space-3);margin-bottom:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm)}.construction-svg-canvas{position:relative}.construction-svg-canvas>svg{display:block;width:100%;height:100%;touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab}.construction-svg-canvas>svg:active{cursor:grabbing}.construction-svg-canvas [role=button]:focus,.construction-svg-canvas [role=button]:focus-visible{outline:none}.construction-svg-canvas [role=button]{cursor:pointer}.construction-svg-controls{position:absolute;bottom:var(--space-3);left:var(--space-3);display:flex;gap:var(--space-1)}.construction-svg-controls button{min-width:2rem;min-height:2rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-ink);cursor:pointer}.construction-toolbar__fields{display:grid;grid-template-columns:repeat(9,minmax(6rem,1fr));gap:var(--space-2);align-items:end}.construction-toolbar__fields .form-field{min-width:0;gap:var(--space-1)}.construction-toolbar__fields input,.construction-toolbar__fields select{width:100%;min-width:0;min-height:2rem}.construction-toolbar__actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.construction-toolbar__groups{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(20rem,1fr);gap:var(--space-3)}.construction-toolbar__group{display:grid;gap:var(--space-2);padding:var(--space-2) var(--space-3) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted)}.construction-toolbar__group-title{color:var(--color-text-muted);font-size:.625rem;letter-spacing:.08em;text-transform:uppercase}.construction-view-modes{display:inline-flex;padding:.2rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-canvas)}.construction-view-modes button{min-height:1.85rem;padding-inline:var(--space-3);border:0;border-radius:calc(var(--radius-sm) - .15rem);background:transparent;color:var(--color-text-muted);cursor:pointer;font:inherit;font-size:var(--text-xs);font-weight:var(--weight-bold)}.construction-view-modes button.is-active{background:var(--color-ink-bg);color:#fff}.construction-view-range{display:grid;grid-template-columns:auto 6rem 2.5rem;align-items:center;gap:var(--space-2);padding-inline:var(--space-2);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-bold)}.construction-view-range input{accent-color:var(--color-green)}.construction-view-range output{color:var(--color-ink);text-align:right}.construction-canvas-stage{position:relative;min-width:0}.construction-workspace-row{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-3)}.construction-workspace-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;justify-content:space-between;gap:var(--space-4)}.construction-workspace-tabs,.construction-workspace-actions{display:flex;align-items:center;gap:var(--space-2)}.construction-workspace-actions{display:grid;grid-auto-columns:minmax(max-content,1fr);grid-auto-flow:column;justify-self:end}.construction-workspace-tabs{padding:.25rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted)}.construction-workspace-tabs button{min-height:2.5rem;padding:0 var(--space-4);border:0;border-radius:calc(var(--radius-md) - .2rem);background:transparent;color:var(--color-text-muted);font:inherit;font-weight:var(--weight-bold);cursor:pointer}.construction-workspace-tabs button.is-active{background:var(--color-ink-bg);color:#fff}.construction-flow-controls{position:absolute;z-index:15;top:var(--space-3);left:50%;display:flex;align-items:center;gap:var(--space-2);max-width:calc(100% - 8rem);padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fffffff0;box-shadow:var(--shadow-md);transform:translate(-50%);-webkit-backdrop-filter:blur(.5rem);backdrop-filter:blur(.5rem)}.construction-canvas-stage:fullscreen{padding:var(--space-4);background:var(--color-canvas)}.construction-canvas-stage:fullscreen .construction-workbench{height:calc(100vh - var(--space-8))}.construction-2d-inspector,.construction-2d-tool-panel{overflow:hidden;border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-lg)}.construction-2d-tool-panel{width:100%;min-width:0;min-height:32rem}.construction-2d-inspector{position:absolute;z-index:20;top:var(--space-4);right:var(--space-4);width:min(24rem,calc(100% - var(--space-8)));max-height:calc(100% - var(--space-8));overflow:auto}.construction-2d-inspector>header,.construction-2d-tool-panel>header{position:sticky;z-index:2;top:0;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);background:#fffffff5}.construction-2d-inspector>header>div{display:grid;gap:var(--space-1)}.construction-2d-inspector>header small{color:var(--color-text-muted);font-size:.625rem;font-weight:var(--weight-bold);letter-spacing:.08em}.construction-2d-inspector>header button,.construction-2d-tool-panel>header button{width:2rem;height:2rem;border:0;border-radius:50%;background:var(--color-surface-muted);color:var(--color-ink);cursor:pointer;font-size:var(--text-lg)}.construction-2d-inspector__levels{display:grid;grid-template-columns:repeat(2,1fr);padding:var(--space-2) var(--space-4) 0}.construction-2d-inspector__levels button{min-height:2rem;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;font:inherit;font-size:var(--text-xs);font-weight:var(--weight-bold)}.construction-2d-inspector__levels button:first-child{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.construction-2d-inspector__levels button:last-child{border-left:0;border-radius:0 var(--radius-sm) var(--radius-sm) 0}.construction-2d-inspector__levels button.is-active{border-color:var(--color-green);background:var(--color-green);color:#fff}.construction-2d-inspector__body,.construction-2d-tool-panel__body{display:grid;gap:var(--space-3);padding:var(--space-4);min-width:0;overflow-x:auto}.construction-2d-inspector__body>small{color:var(--color-text-muted)}.node-fields{display:grid;gap:var(--space-3)}.node-fields--columns{grid-template-columns:repeat(2,minmax(0,1fr))}.node-fields__wide{grid-column:1 / -1}.workbench-node .form-field{gap:var(--space-1)}.workbench-node .form-field__label{font-size:var(--text-xs)}.workbench-node .form-field input,.workbench-node .form-field select{min-height:1.75rem}.workbench-node input,.workbench-node select{min-width:0}.node-metric{display:grid;align-content:end;gap:var(--space-1);padding-bottom:var(--space-2)}.node-metric span{color:var(--color-text-muted);font-size:var(--text-xs)}.construction-preview{display:grid;overflow:hidden;border-radius:var(--radius-md);background-color:var(--color-canvas);background-image:radial-gradient(#cdd0c8 1px,transparent 1px);background-size:1.125rem 1.125rem}.construction-preview svg{width:100%;height:17rem;padding:0;filter:drop-shadow(0 9px 8px rgb(35 53 46 / 15%))}.construction-cell{cursor:pointer;outline:none}.construction-cell__hit{fill:transparent;stroke:transparent;stroke-width:5px;transition:fill var(--transition-fast),stroke var(--transition-fast)}.construction-cell:hover .construction-cell__hit{fill:#d8f36c29}.construction-cell.is-selected .construction-cell__hit{fill:#d8f36c3d;stroke:var(--color-lime)}.construction-cell__opening rect,.construction-cell__opening path{fill:none;stroke:var(--color-orange);stroke-width:2px;vector-effect:non-scaling-stroke}.construction-cell-editor{display:grid;grid-template-columns:1.25fr repeat(3,minmax(0,1fr));gap:var(--space-2);align-items:end;padding:var(--space-3);border-top:1px solid var(--color-border);background:#fffffff0}.construction-cell-editor>div,.construction-cell-editor label{display:grid;min-width:0;gap:var(--space-1)}.construction-cell-editor small,.construction-cell-editor label>span{color:var(--color-text-muted);font-size:var(--text-xs)}.construction-cell-editor>div strong{overflow:hidden;font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap}.construction-cell-editor select{width:100%;min-height:2rem;padding-inline:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.construction-preview__caption{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-top:1px solid var(--color-border);background:#ffffffe0;color:var(--color-text-muted);font-size:var(--text-xs)}.construction-preview__caption strong{color:var(--color-ink)}.construction-3d-overlay,.construction-3d-loading{position:fixed;z-index:1000;inset:0}.construction-3d-overlay{padding:var(--space-4);background:#17231fb8;-webkit-backdrop-filter:blur(.4rem);backdrop-filter:blur(.4rem)}.construction-3d{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:100%;height:100%;overflow:hidden;border:1px solid rgb(255 255 255 / 18%);border-radius:var(--radius-lg);background:var(--color-canvas);box-shadow:var(--shadow-lg)}.construction-3d:fullscreen{border:0;border-radius:0}.construction-3d__toolbar{display:grid;grid-template-columns:minmax(12rem,1fr) auto;gap:var(--space-5);align-items:center;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);background:#fffffff0}.construction-3d__toolbar>div:first-child{display:grid}.construction-3d__toolbar small,.construction-3d__explosion span,.construction-3d footer{color:var(--color-text-muted);font-size:var(--text-xs)}.construction-3d__toolbar>div:first-child>small{font-weight:var(--weight-bold);letter-spacing:.08em}.construction-3d__toolbar>div:first-child>strong{font-size:var(--text-lg)}.construction-3d__explosion{display:grid;grid-template-columns:auto minmax(8rem,1fr) 3rem;gap:var(--space-3);align-items:center}.construction-3d__explosion input{accent-color:var(--color-orange)}.construction-3d__explosion output{color:var(--color-ink);font-size:var(--text-xs);font-weight:var(--weight-bold);text-align:right}.construction-3d__actions{display:flex;gap:var(--space-2)}.construction-3d__mode-switch{display:flex;gap:.2rem;padding:.2rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-canvas)}.construction-3d__mode-switch button{min-height:2rem;padding-inline:var(--space-3);border:0;border-radius:calc(var(--radius-sm) - .15rem);background:transparent;color:var(--color-text-muted);cursor:pointer;font:inherit;font-size:var(--text-xs);font-weight:var(--weight-bold)}.construction-3d__mode-switch button.is-active{background:var(--color-ink-bg);color:#fff}.construction-3d__actions button{min-height:2.25rem;padding-inline:var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);cursor:pointer;font:inherit;font-size:var(--text-sm)}.construction-3d__actions .construction-3d__close{width:2.25rem;padding:0;border-color:var(--color-ink-bg);background:var(--color-ink-bg);color:#fff;font-size:var(--text-lg)}.construction-3d__viewport{position:relative;min-width:0;min-height:0;overflow:hidden;cursor:grab}.construction-3d__viewport:active{cursor:grabbing}.construction-3d__viewport canvas{position:absolute;inset:0;display:block;width:100%;height:100%}.construction-3d__canvas-tools,.construction-3d__selection{position:absolute;z-index:2;display:grid;gap:var(--space-3);padding:var(--space-3);border:1px solid rgb(255 255 255 / 70%);border-radius:var(--radius-md);background:#ffffffe0;box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(.6rem);backdrop-filter:blur(.6rem)}.construction-3d__canvas-tools{top:var(--space-3);left:var(--space-3);width:min(19rem,calc(100% - var(--space-6)))}.construction-3d__canvas-tools label{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2);align-items:center;color:var(--color-text-muted);font-size:var(--text-xs)}.construction-3d__canvas-tools label select{grid-column:1 / -1}.construction-3d__canvas-tools label input{min-width:0;accent-color:var(--color-orange)}.construction-3d__canvas-tools label output{min-width:2.5rem;color:var(--color-ink);font-weight:var(--weight-bold);text-align:right}.construction-3d__canvas-tools select,.construction-3d__canvas-tools button,.construction-3d__selection button{min-height:2rem;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);cursor:pointer;font:inherit;font-size:var(--text-xs)}.construction-3d__canvas-tools select{padding-inline:var(--space-2)}.construction-3d__views{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-1)}.construction-3d__views--modes{grid-template-columns:repeat(2,1fr)}.construction-3d__views button.is-active{color:var(--color-accent-text);border-color:var(--color-lime);background:var(--color-lime)}.construction-3d__selection{min-width:15rem;max-width:min(21rem,calc(100% - var(--space-6)))}.construction-3d__spatial-panel{position:absolute;z-index:3;inset:auto;transform:translate(-50%,-50%);transition:width .16s ease,max-height .16s ease,box-shadow .16s ease}.construction-3d__selection-line{position:absolute;z-index:2;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.construction-3d__selection-line line{stroke:var(--color-orange);stroke-dasharray:4 4;stroke-linecap:round;stroke-width:2;vector-effect:non-scaling-stroke}.construction-3d__selection-line circle{fill:var(--color-orange);stroke:#fff;stroke-width:2}.construction-3d__selection small{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:.06em}.construction-3d__selection span{color:var(--color-text-muted);font-size:var(--text-sm)}.construction-3d__selection-levels{display:flex;flex-wrap:wrap;gap:.2rem;padding:.2rem;border-radius:var(--radius-sm);background:var(--color-canvas)}.construction-3d__selection-levels button{min-height:1.75rem;padding-inline:var(--space-2);border:0;background:transparent}.construction-3d__selection-levels button.is-active{background:var(--color-ink-bg);color:#fff}.construction-3d__selection label{display:grid;gap:var(--space-1);padding-top:var(--space-2);border-top:1px solid var(--color-border)}.construction-3d__selection select{width:100%;min-height:2.25rem;padding-inline:var(--space-2);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);font:inherit;font-size:var(--text-sm)}.construction-3d__result{display:grid;grid-template-rows:auto minmax(0,1fr);width:17rem;max-height:8rem;overflow:hidden;border:1px solid rgb(255 255 255 / 70%);border-radius:var(--radius-md);background:#f7f7f3f0;box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(.8rem);backdrop-filter:blur(.8rem)}.construction-3d__result.is-expanded{width:min(48rem,calc(100vw - 4rem));max-height:min(38rem,calc(100vh - 10rem))}.construction-3d__result>header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4);border-bottom:1px solid var(--color-border)}.construction-3d__result>header div{display:grid;gap:var(--space-1)}.construction-3d__result>header small,.construction-3d__result>header span{color:var(--color-text-muted);font-size:var(--text-xs)}.construction-3d__result>header button{min-height:2rem;padding-inline:var(--space-2);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;font:inherit;font-size:var(--text-xs)}.construction-3d__result>header strong{font-size:var(--text-xl)}.construction-3d__result-scroll{display:grid;gap:var(--space-5);align-content:start;overflow:auto;padding:var(--space-4)}.construction-3d__cutting section{display:grid;gap:var(--space-2)}.construction-3d__cutting section>small{color:var(--color-text-muted)}.construction-3d__cut-bar{display:grid;grid-template-columns:3rem minmax(0,1fr) 9rem;gap:var(--space-3);align-items:center}.construction-3d__cut-bar>span,.construction-3d__cut-bar>small{color:var(--color-text-muted);font-size:var(--text-xs)}.construction-3d__cut-bar>div{display:flex;height:2.5rem;overflow:hidden;border:1px solid var(--color-ink);border-radius:var(--radius-sm);background:var(--color-surface)}.construction-3d__cut-bar i{display:grid;min-width:1.5rem;place-items:center;overflow:hidden;border-right:2px solid var(--color-canvas);background:var(--color-green);color:#fff;font-size:var(--text-xs);font-style:normal}.construction-3d__price-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);align-content:center;padding:var(--space-5)}.construction-3d__price-grid>div{display:grid;gap:var(--space-2);min-height:7rem;align-content:center;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.construction-3d__price-grid span{color:var(--color-text-muted);font-size:var(--text-sm)}.construction-3d__price-grid strong{font-size:var(--text-xl)}.construction-3d__price-grid>.is-total{border-color:var(--color-green);background:var(--color-green);color:#fff}.construction-3d__price-grid>.is-total span{color:#ffffffb8}.construction-3d footer{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-2) var(--space-4);border-top:1px solid var(--color-border);background:#fffffff0}.construction-3d footer span{display:inline-flex;align-items:center;gap:var(--space-1)}.construction-3d footer i{width:.5rem;height:.5rem;border-radius:50%}.construction-3d footer .axis-x{background:#f04444}.construction-3d footer .axis-y{background:#4fa94f}.construction-3d footer .axis-z{background:#346beb}.construction-3d footer small{margin-left:auto}.construction-3d-loading{display:grid;place-items:center;background:#17231fd1;color:#fff}.central-result-view{display:grid;align-content:start;gap:var(--space-3)}.cut-profile-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.cut-profile-heading>span{display:grid;min-width:0}.cut-profile-heading>span>strong{overflow:hidden;color:var(--color-ink);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap}.cut-profile-heading small{color:var(--color-text-muted);font-size:var(--text-xs)}.cut-view-switch{display:flex;flex:0 0 auto;gap:2px;padding:2px;border-radius:var(--radius-sm);background:var(--color-surface-muted)}.cut-view-switch button{min-height:1.5rem;padding-inline:var(--space-2);border:0;border-radius:3px;background:transparent;color:var(--color-text-muted);font-size:var(--text-xs)}.cut-view-switch button.is-active{background:var(--color-surface);color:var(--color-green);box-shadow:var(--shadow-sm)}.central-result-view__summary{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4)}.central-result-view__summary strong{font-size:var(--text-sm)}.central-result-view__summary span{color:var(--color-text-muted);font-size:var(--text-xs)}.cut-layouts--central{padding:var(--space-1) var(--space-2) var(--space-1) 0}.cut-profile-group{display:grid;gap:var(--space-2);padding:var(--space-2) 0}.cut-profile-group+.cut-profile-group{border-top:1px solid var(--color-border)}.cut-profile-group>strong{color:var(--color-text-muted);font-size:var(--text-xs)}.cut-layouts--central .stock-row{grid-template-columns:4rem minmax(0,1fr) 4.5rem;gap:var(--space-2)}.cut-layouts--central .piece{min-width:0;flex-shrink:1;overflow:hidden;white-space:nowrap}.cut-specification{display:grid;border-top:1px solid var(--color-border)}.cut-specification>div{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto auto;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border);color:var(--color-text-muted);font-size:var(--text-xs)}.cut-specification>div>:first-child{overflow:hidden;color:var(--color-ink);text-overflow:ellipsis;white-space:nowrap}.cut-specification strong{color:var(--color-ink)}.central-pricing-view{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:center;gap:var(--space-3)}.central-pricing-view>div{display:grid;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.central-pricing-view span{color:var(--color-text-muted);font-size:var(--text-xs)}.central-pricing-view strong{font-size:var(--text-lg)}.central-pricing-view .central-pricing-view__total{grid-column:1 / -1;background:var(--color-green);color:#fff}.central-pricing-view__total span{color:#b6cdc3}.central-pricing-view__total strong{font-size:var(--text-xl)}.workbench-action-copy{min-height:1.75rem;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:0;color:var(--color-text-muted)}.workbench-action-copy>span{display:grid;gap:var(--space-1)}.workbench-action-copy>span>strong{color:var(--color-ink);font-size:var(--text-base)}.workbench-action-copy small{font-size:var(--text-xs);color:var(--color-text-muted)}.workbench-action-copy strong{color:var(--color-green);font-size:var(--text-lg)}.workbench-node--action:hover .workbench-action-copy,.workbench-node--action.is-active .workbench-action-copy{color:var(--color-ink)}.project-flow-list{display:grid;gap:var(--space-2);max-height:15rem;overflow-y:auto;padding-right:var(--space-1);overscroll-behavior:contain}.project-flow-list>button{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-ink);text-align:left}.project-flow-list>button:hover{border-color:var(--color-green);background:var(--color-green-soft)}.project-flow-list>button span{display:grid;gap:var(--space-1)}.project-flow-list>button small,.project-flow-state{color:var(--color-text-muted);font-size:var(--text-xs)}.commercial-print{display:none}@media print{@page{size:A4;margin:14mm}body{background:#fff}body *{visibility:hidden}.commercial-print,.commercial-print *{visibility:visible}.commercial-print{position:absolute;inset:0;display:block;color:#17211d;font:10pt/1.4 Arial,sans-serif}.commercial-print__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12mm;padding-bottom:8mm;border-bottom:1.5pt solid #1e5a47}.commercial-print__header>div,.commercial-print__intro,.commercial-print td:first-child{display:grid;gap:1mm}.commercial-print__header>div:last-child{text-align:right}.commercial-print__brand{color:#1e5a47;font-size:22pt;line-height:1}.commercial-print__intro{margin-top:8mm;padding:5mm;background:#f1f5f2}.commercial-print__intro>span,.commercial-print td small,.commercial-print__metrics span,.commercial-print footer{color:#65716c;font-size:8.5pt}.commercial-print h1{margin:9mm 0 5mm;font-size:19pt;line-height:1.15}.commercial-print__metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:3mm;margin-bottom:7mm}.commercial-print__metrics>div{display:grid;gap:1mm;padding:4mm;border:.75pt solid #c9d0cc}.commercial-print table{width:100%;border-collapse:collapse}.commercial-print th,.commercial-print td{padding:3.5mm 3mm;border-bottom:.75pt solid #d8ddda;text-align:right;vertical-align:top}.commercial-print th{background:#1e5a47;color:#fff;font-size:8.5pt}.commercial-print th:first-child,.commercial-print td:first-child{text-align:left}.commercial-print tfoot td{font-weight:700}.commercial-print__total td{padding-block:5mm;border-top:1.5pt solid #1e5a47;border-bottom:0;color:#1e5a47;font-size:14pt}.commercial-print footer{display:flex;justify-content:space-between;gap:10mm;margin-top:14mm;padding-top:4mm;border-top:.75pt solid #d8ddda}.commercial-print footer span:last-child{max-width:95mm;text-align:right}}.project-flow-state{padding:var(--space-4);text-align:center}.editor-grid{display:grid;grid-template-columns:minmax(35rem,1fr) 20rem;gap:var(--space-4)}.project-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.canvas-card{min-height:31.25rem;display:grid;grid-template-rows:auto minmax(24rem,1fr) 3.25rem;overflow:hidden}.card-head,.card-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:0 var(--space-5)}.card-head{min-height:3.5rem;border-bottom:1px solid var(--color-border)}.card-head--workbench{display:grid;grid-template-columns:auto minmax(22rem,1fr) auto;padding-block:var(--space-3)}.workbench-selectors{display:grid;grid-template-columns:minmax(12rem,1fr) minmax(8rem,.65fr);gap:var(--space-3);justify-self:end;width:min(100%,31rem)}.workbench-selectors .form-field{gap:var(--space-1)}.workbench-selectors .form-field__label{font-size:var(--text-xs)}.card-foot{border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:var(--text-sm)}.toolset{display:flex;gap:var(--space-1)}.toolset button{width:2rem;height:2rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-muted)}.drawing{position:relative;min-height:24rem;display:grid;place-items:center;overflow:hidden;padding:var(--space-10);background-color:var(--color-canvas);background-image:radial-gradient(#cdd0c8 1px,transparent 1px);background-size:1.125rem 1.125rem}.drawing svg{width:100%;height:100%;max-height:22.5rem;overflow:visible;filter:drop-shadow(0 9px 8px rgb(35 53 46 / 15%))}.dimension{fill:#59645f;font:600 11px var(--font-body)}.params{display:grid;align-content:start;gap:var(--space-4);padding:var(--space-5)}.params h2{font-size:var(--text-md)}.cut-layouts{display:grid;gap:var(--space-3);padding:var(--space-5)}.stock-row{display:grid;grid-template-columns:5rem minmax(0,1fr) 5rem;align-items:center;gap:var(--space-3)}.stock-label{color:var(--color-text-muted);font-size:var(--text-xs)}.stock-bar{height:1.5rem;display:flex;gap:2px;overflow:hidden;padding:3px;border-radius:var(--radius-sm);background:#e3e2db}.stock-row--bead .stock-bar{height:.85rem;padding-block:2px}.stock-row--bead .stock-label,.stock-row--bead .waste{font-size:.625rem}.piece{position:relative;min-width:1.25rem;display:flex;align-items:center;justify-content:space-between;gap:2px;padding:0 3px;border-radius:3px;background:var(--color-green);color:#fff;font-size:8px}.piece strong{overflow:hidden;font-size:inherit;text-overflow:ellipsis}.piece>span{font-size:6px;opacity:.82}.piece--miter-start{clip-path:polygon(5px 0,100% 0,100% 100%,0 100%);padding-left:6px}.piece--miter-end{clip-path:polygon(0 0,calc(100% - 5px) 0,100% 100%,0 100%);padding-right:6px}.piece--miter-start.piece--miter-end{clip-path:polygon(5px 0,calc(100% - 5px) 0,100% 100%,0 100%)}.piece--bead{height:.55rem;align-self:center;padding-inline:2px}.piece--bead>span{display:none}.piece:nth-child(2n){background:#397863}.waste{color:var(--color-orange);font-size:var(--text-xs);font-weight:var(--weight-bold);text-align:right}.catalog-tools{display:flex;gap:var(--space-2)}.catalog-header-actions{display:flex;align-items:center;gap:var(--space-3)}.catalog-card-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.catalog-card-heading>small{color:var(--color-text-subtle);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:.1em}.catalog-edit-button{display:grid;width:2rem;height:2rem;place-items:center;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);cursor:pointer;font:inherit;font-size:var(--text-lg)}.catalog-edit-button:hover{background:var(--color-surface-muted)}.catalog-sections{display:inline-flex;gap:var(--space-1);padding:var(--space-1);margin-bottom:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.catalog-sections button{padding:var(--space-2) var(--space-4);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);cursor:pointer;font:inherit;font-weight:var(--weight-semibold)}.catalog-sections button.active{background:var(--color-ink-bg);color:#fff}.constructive-workspace{display:grid;grid-template-columns:minmax(0,1fr) 22rem;gap:var(--space-4);align-items:start}.constructive-workspace--connections{grid-template-columns:minmax(14rem,18rem) minmax(0,1fr)}.constructive-workspace--connections>.card:last-child{position:static;max-height:none;overflow:visible}.connection-editor-panel{min-width:0;padding:var(--space-5)}.connection-editor-panel .catalog-card-heading{margin-bottom:var(--space-3)}.connection-assembly-intro{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);color:var(--color-text-muted);font-size:var(--text-sm)}.connection-kind{display:inline-flex;padding:var(--space-1) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-muted);color:var(--color-text);font-weight:var(--weight-semibold)}.connection-assembly-form{display:grid;gap:var(--space-4)}.connection-assembly-fields{display:grid;grid-template-columns:minmax(10rem,1fr) minmax(12rem,1.4fr) minmax(9rem,.9fr);gap:var(--space-3)}.connection-assembly-note{margin:0;color:var(--color-text-muted);font-size:var(--text-sm)}.connection-scene{display:grid;grid-template-columns:minmax(0,1fr) minmax(16rem,1.2fr) minmax(0,1fr);align-items:stretch;gap:var(--space-3)}.connection-side,.connection-joint{position:relative;display:grid;min-width:0;align-content:start;gap:var(--space-3);margin:0;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.connection-side{overflow:hidden}.connection-side-heading{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:0;color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.connection-side-number{display:grid;width:1.75rem;height:1.75rem;place-items:center;border-radius:50%;background:var(--color-surface-muted);color:var(--color-text);font:var(--weight-bold) var(--text-xs) var(--font-mono)}.connection-profile-mark{position:relative;width:100%;height:3rem;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:linear-gradient(90deg,#d9e0dd 0 12%,#f5f7f5 12% 20%,#c8d2ce 20% 28%,#e7ece9 28% 100%)}.connection-side--2 .connection-profile-mark{transform:scaleX(-1)}.connection-profile-mark:after{position:absolute;top:50%;width:var(--space-3);height:2px;background:var(--color-text-muted);content:""}.connection-side--1 .connection-profile-mark:after{right:calc(-1 * var(--space-3))}.connection-side--2 .connection-profile-mark:after{left:calc(-1 * var(--space-3))}.connection-side-article{overflow-wrap:anywhere;font-size:var(--text-lg)}.connection-side-specs{display:grid;grid-template-columns:1fr auto;gap:var(--space-2);margin:0;font-size:var(--text-sm)}.connection-side-specs dt,.connection-side-operations small{color:var(--color-text-muted)}.connection-side-specs dd{margin:0;font-weight:var(--weight-semibold)}.connection-side-operations{display:flex;flex-wrap:wrap;gap:var(--space-2);font-size:var(--text-sm)}.connection-side-operations small{width:100%}.connection-side-operations span{padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:var(--color-surface-muted)}.connection-side-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.connection-operation-picker,.connection-advanced{padding-top:var(--space-2);border-top:1px solid var(--color-border);font-size:var(--text-sm)}.connection-operation-picker summary,.connection-advanced summary{color:var(--color-text-muted);cursor:pointer;-webkit-user-select:none;user-select:none}.connection-operation-picker .constructive-toggle{margin-top:var(--space-2)}.connection-joint{align-content:start;background:var(--color-surface-muted);text-align:center}.connection-joint-symbol{position:relative;display:grid;width:3.25rem;height:3.25rem;place-items:center;justify-self:center;border:2px solid var(--color-border-strong);border-radius:50%;background:var(--color-surface)}.connection-joint-symbol:before,.connection-joint-symbol:after{position:absolute;top:50%;width:var(--space-4);height:2px;background:var(--color-border-strong);content:""}.connection-joint-symbol:before{right:100%}.connection-joint-symbol:after{left:100%}.connection-joint-symbol span{width:.75rem;height:.75rem;border-radius:50%;background:var(--color-text)}.connection-joint-heading small{color:var(--color-text-muted);font-size:var(--text-xs);letter-spacing:.08em}.connection-joint-heading h4{margin:var(--space-1) 0 0;font-size:var(--text-md)}.connection-part-list{display:grid;gap:var(--space-2);margin:0;padding:0;list-style:none;text-align:left}.connection-part-list li{display:flex;justify-content:space-between;gap:var(--space-2);padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);font-size:var(--text-sm)}.connection-joint-empty,.connection-joint-formula{margin:0;color:var(--color-text-muted);font-size:var(--text-sm)}.connection-part-editor{display:grid;gap:var(--space-2);text-align:left}.connection-part-editor>small{color:var(--color-text-muted)}.connection-part-row{display:grid;grid-template-columns:minmax(0,1fr) 4.25rem 1.75rem;gap:var(--space-1)}.connection-part-row .control{min-width:0}.connection-part-remove{border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);cursor:pointer;font-size:var(--text-lg)}.connection-part-remove:hover{background:var(--color-surface);color:var(--color-text)}.connection-advanced{display:grid;gap:var(--space-3)}.connection-advanced[open]>*+*{margin-top:var(--space-3)}.connection-form-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.connection-form-actions .button{flex:0 0 auto}@media(max-width:1150px){.constructive-workspace--connections{grid-template-columns:1fr}.constructive-workspace--connections .constructive-rows{max-height:15rem;overflow-y:auto}}@media(max-width:720px){.connection-assembly-fields,.connection-scene{grid-template-columns:1fr}.connection-side-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.connection-joint-symbol:before,.connection-joint-symbol:after{display:none}}.constructive-list{min-width:0;overflow:hidden}.constructive-toolbar{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);border-bottom:1px solid var(--color-border)}.constructive-toolbar .control{flex:1}.constructive-rows{overflow:visible}.constructive-row{display:flex;width:100%;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3);border:0;border-top:1px solid var(--color-border);background:transparent;color:var(--color-text);cursor:pointer;font:inherit;text-align:left}.constructive-row:first-child{border-top:0}.constructive-row:hover,.constructive-row.selected{background:var(--color-surface-muted)}.constructive-row>span:first-child{display:grid;min-width:0;gap:var(--space-1)}.constructive-row strong,.constructive-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.constructive-row small{color:var(--color-text-muted)}.constructive-system-group+.constructive-system-group{border-top:1px solid var(--color-border)}.constructive-system-root{background:var(--color-surface-muted)}.constructive-system-root>span:first-child strong{font-size:var(--text-md)}.constructive-system-root-meta{display:flex;flex:0 0 auto;align-items:center;gap:var(--space-2)}.constructive-system-root-meta>span:last-child{color:var(--color-text-muted);transition:transform var(--transition-fast)}.constructive-system-root[aria-expanded=true] .constructive-system-root-meta>span:last-child{transform:rotate(180deg)}.constructive-system-children{position:relative}.constructive-system-children:before{position:absolute;top:0;bottom:0;left:var(--space-4);width:1px;background:var(--color-border-strong);content:""}.constructive-system-children .constructive-row{position:relative;background:var(--color-surface)}.constructive-system-children .constructive-row:hover,.constructive-system-children .constructive-row.selected{background:var(--color-surface-muted)}.constructive-system-children .constructive-row.selected{box-shadow:inset .1875rem 0 var(--color-orange)}.constructive-empty{display:grid;justify-items:center;gap:var(--space-4);padding:var(--space-6);color:var(--color-text-muted);text-align:center}.constructive-empty .button{text-decoration:none}.constructive-toggle{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);-webkit-user-select:none;user-select:none}.constructive-components{display:flex;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-sm);background:var(--color-surface-muted)}.constructive-components small{flex-basis:100%;color:var(--color-text-muted);font-weight:var(--weight-bold)}.constructive-components span{padding:var(--space-1) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);font-size:var(--text-xs)}.development-layout{display:grid;grid-template-columns:18rem minmax(0,1fr);gap:var(--space-4);align-items:start}.development-systems{position:sticky;top:var(--space-3);overflow:hidden}.development-systems header,.development-form header,.development-publish{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.development-systems header,.development-form{padding:var(--space-4)}.development-systems h3,.development-form h3,.development-publish h3{margin-top:var(--space-1);font-size:var(--text-lg)}.development-systems small,.development-form header small,.development-publish small{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:.08em}.development-systems>button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-3) var(--space-4);border:0;border-top:1px solid var(--color-border);background:transparent;color:inherit;cursor:pointer;font:inherit;text-align:left}.development-systems>button.selected{background:var(--color-surface-muted)}.development-systems>button span{display:grid}.development-content{display:grid;gap:var(--space-4)}.development-workspace-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4)}.development-system-identity{display:flex;min-width:0;align-items:center;gap:var(--space-3)}.development-system-mark{display:grid;width:3rem;height:3rem;flex:0 0 auto;place-items:center;border-radius:var(--radius-md);background:var(--color-ink-bg);color:#fff;font-weight:var(--weight-bold)}.development-system-identity small,.development-editor-heading small{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:.08em}.development-system-identity h2{overflow:hidden;margin-top:var(--space-1);font-size:var(--text-xl);text-overflow:ellipsis;white-space:nowrap}.development-system-identity p,.development-components-editor>p{margin-top:var(--space-1);color:var(--color-text-muted);font-size:var(--text-sm)}.development-summary{display:flex;flex:0 0 auto;align-items:center;gap:var(--space-3);color:var(--color-text-muted);font-size:var(--text-sm)}.development-summary strong{color:var(--color-text)}.development-stages{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden}.development-stages button{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);border:0;border-right:1px solid var(--color-border);background:transparent;color:inherit;cursor:pointer;font:inherit;text-align:left}.development-stages button:last-child{border-right:0}.development-stages button.selected{background:var(--color-surface-muted);box-shadow:inset 0 -.1875rem var(--color-orange)}.development-stages button>span:first-child{display:grid;width:1.75rem;height:1.75rem;flex:0 0 auto;place-items:center;border:1px solid var(--color-border-strong);border-radius:50%;color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-bold)}.development-stages button>span:first-child.ready{border-color:var(--color-green);background:var(--color-green-soft);color:var(--color-green)}.development-stages button>span:last-child{display:grid;min-width:0}.development-stages small{overflow:hidden;color:var(--color-text-muted);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap}.development-form{display:grid;gap:var(--space-4)}.development-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}.development-form-grid textarea{min-height:6rem;resize:vertical}.development-editor-layout{display:grid;grid-template-columns:minmax(13rem,.75fr) minmax(25rem,2fr);gap:var(--space-4);align-items:start}.development-entity-list{display:grid;gap:var(--space-2);overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted)}.development-entity-list>input{width:calc(100% - var(--space-4));margin:var(--space-2)}.development-entity-list>div{display:grid;max-height:31rem;overflow-y:auto}.development-entity-list button{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-3);border:0;border-top:1px solid var(--color-border);background:var(--color-surface);color:inherit;cursor:pointer;font:inherit;text-align:left}.development-entity-list button.selected{background:var(--color-surface-muted);box-shadow:inset .1875rem 0 var(--color-orange)}.development-entity-list button>span:first-child{display:grid;min-width:0}.development-entity-list button small{overflow:hidden;color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap}.development-list-empty{padding:var(--space-4);color:var(--color-text-muted);font-size:var(--text-sm);text-align:center}.development-entity-editor{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md)}.development-editor-heading,.development-components-editor{grid-column:1 / -1}.development-editor-heading h4{margin-top:var(--space-1);font-size:var(--text-lg)}.development-pair{position:relative;grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted)}.development-pair:after{position:absolute;top:50%;left:50%;display:grid;width:1.75rem;height:1.75rem;place-items:center;border:1px solid var(--color-border);border-radius:50%;background:var(--color-surface);content:"↔";font-size:var(--text-xs);transform:translate(-50%,-20%)}.development-link-mark{color:var(--color-orange);font-weight:var(--weight-bold)}.development-components-editor{display:grid;gap:var(--space-2);min-width:0;margin:0;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md)}.development-components-editor legend{padding:0 var(--space-1);font-weight:var(--weight-bold)}.development-components-head,.development-component-row{display:grid;grid-template-columns:minmax(8rem,1fr) minmax(6rem,.55fr) minmax(8rem,1fr) 2rem;gap:var(--space-2);align-items:center}.development-components-head{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-bold)}.development-remove-row{border:0;background:transparent;color:var(--color-text-muted);cursor:pointer;font-size:var(--text-lg)}.development-remove-row:hover{color:var(--color-danger)}.development-chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.development-chips button{display:grid;gap:var(--space-1);max-width:15rem;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:inherit;cursor:pointer;font:inherit;text-align:left}.development-chips button.selected{border-color:var(--color-ink);background:var(--color-surface-muted)}.development-chips small{overflow:hidden;color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap}.development-publish{padding:var(--space-4)}.development-publish p{margin-top:var(--space-1);color:var(--color-text-muted);font-size:var(--text-sm)}.development-actions{display:flex;gap:var(--space-2)}.validation-list{flex-basis:100%;display:grid;gap:var(--space-2)}.validation-list p{padding-left:var(--space-3);border-left:.1875rem solid var(--color-orange)}.validation-list p[data-severity=error]{border-color:var(--color-danger)}.catalog-tools input{min-width:14rem}.review-grid{display:grid;grid-template-columns:minmax(0,1fr) 21rem;gap:var(--space-4);align-items:start}.catalog-list-page{display:grid;gap:var(--space-4);min-width:0}.catalog-list-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2)}.catalog-list-toolbar .control{flex:1 1 16rem}.catalog-collection-row{grid-template-columns:minmax(0,1fr) auto;text-decoration:none}.catalog-collection-identity{display:grid;min-width:0;gap:var(--space-1)}.catalog-collection-identity strong,.catalog-collection-identity span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.catalog-collection-identity span,.catalog-collection-detail{color:var(--color-text-muted);font-size:var(--text-sm)}.catalog-editor-page,.connection-editor-page{width:100%;padding:var(--space-6)}.catalog-editor-page{max-width:56rem}.catalog-editor-page h2,.connection-editor-page h2{font-size:var(--text-xl)}.catalog-editor-page p{color:var(--color-text-muted)}.catalog-editor-page dl{display:grid;grid-template-columns:minmax(9rem,12rem) minmax(0,1fr);gap:var(--space-3);margin-block:var(--space-5)}.catalog-editor-page dt{color:var(--color-text-muted)}.catalog-editor-page dd{margin:0}.catalog-editor-heading,.catalog-editor-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3)}.catalog-editor-heading{margin-bottom:var(--space-5)}.table-card{overflow:auto}.table-card table{width:100%;border-collapse:collapse;font-size:var(--text-md)}.table-card th{padding:var(--space-3) var(--space-4);background:var(--color-surface-muted);color:var(--color-text-muted);font-size:var(--text-xs);letter-spacing:.08em;text-align:left;text-transform:uppercase}.table-card td{padding:var(--space-4);border-top:1px solid var(--color-border)}.catalog-row{cursor:pointer}.catalog-row:hover,.catalog-row.selected{background:#eef1e5}.review-detail,.constructive-workspace>.card:last-child,.review-grid>.card:last-child,.editor-grid>.card:last-child,.team-layout>.card:last-child{position:sticky;top:var(--space-3);align-self:start;max-height:calc(100vh - var(--topbar-height) - var(--space-12));overflow-y:auto;overscroll-behavior:contain}.review-detail{padding:var(--space-5)}.review-detail>small{color:var(--color-text-subtle);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:.1em}.review-detail h3{margin-top:var(--space-2);font-size:var(--text-lg)}.review-detail p{margin-top:var(--space-1);color:var(--color-text-muted);font-size:var(--text-sm)}.review-detail dl{display:grid;grid-template-columns:6.25rem 1fr;gap:var(--space-2);margin:var(--space-5) 0;font-size:var(--text-sm)}.review-detail dt{color:var(--color-text-muted)}.review-detail dd{margin:0;font-weight:var(--weight-semibold)}.source-box{max-height:8rem;overflow:auto;padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-surface-muted);color:#53605b;font:.625rem/1.5 var(--font-mono)}.catalog-edit-form{display:grid;gap:var(--space-4);margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--color-border)}.catalog-edit-form h4{margin:0;font-size:var(--text-md)}.industry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}.industry-module{min-height:10rem;display:grid;align-content:start;gap:var(--space-3);padding:var(--space-5)}.industry-module h2{font-size:var(--text-lg)}.industry-module p{color:var(--color-text-muted)}.industry-empty{margin-top:var(--space-4)}.auth-page,.app-loading{min-height:100vh;display:grid;place-items:center;padding:var(--space-6);background-color:var(--color-canvas);background-image:radial-gradient(rgb(30 90 71 / 12%) 1px,transparent 1px);background-size:1.5rem 1.5rem}.auth-card{width:min(28rem,100%);display:grid;gap:var(--space-5);padding:clamp(var(--space-6),5vw,var(--space-10));border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}.auth-card h1{font-size:var(--text-2xl);line-height:1.15;letter-spacing:-.045em}.auth-card>p{margin-top:calc(var(--space-3) * -1);color:var(--color-text-muted)}.auth-brand{margin-bottom:var(--space-2);color:var(--color-ink)}.calculations-list{display:grid;overflow:hidden}.projects-layout{display:grid;grid-template-columns:21rem minmax(0,1fr);gap:var(--space-5);align-items:start}.project-create-card{display:grid;gap:var(--space-4);padding:var(--space-5)}.project-create-card h2{margin-top:var(--space-1);font-size:var(--text-lg)}.projects-browser{min-width:0}.project-row,.customer-row{grid-template-columns:minmax(12rem,1fr) 9rem 11rem}.calculation-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.calculation-toolbar .control{flex:1 1 18rem;max-width:28rem}.calculation-toolbar__filters{display:flex;align-items:center;gap:var(--space-2)}.filter-chip{min-height:2rem;display:inline-flex;align-items:center;gap:var(--space-2);padding:0 var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-bold)}.filter-chip>span{width:1rem;height:1rem;display:grid;place-items:center;border:1px solid var(--color-border-strong);border-radius:50%;font-size:.625rem}.filter-chip[aria-pressed=true]{border-color:var(--color-green);background:var(--color-green-soft);color:var(--color-green)}.filter-chip[aria-pressed=true]>span{border-color:var(--color-green);background:var(--color-green);color:#fff}.calculation-row{min-height:4.5rem;display:grid;grid-template-columns:minmax(12rem,1fr) 7rem 8rem 11rem;align-items:center;gap:var(--space-5);padding:var(--space-4) var(--space-5);border:0;border-bottom:1px solid var(--color-border);background:transparent;color:inherit;text-align:left}.calculation-row__identity{min-width:0;display:grid}.calculation-row__identity strong,.calculation-row__identity small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calculation-row__identity small{color:var(--color-text-muted);font-size:var(--text-sm)}.calculation-row__total{text-align:right}.price-source{display:grid;gap:var(--space-1);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.price-source span,.price-source small{color:var(--color-text-muted);font-size:var(--text-xs)}.price-source strong{font-size:var(--text-lg)}.calculation-row:last-child{border-bottom:0}.calculation-row:hover{background:var(--color-surface-muted)}.calculation-row time{color:var(--color-text-muted);font-size:var(--text-sm);text-align:right}.lead-status-control{width:100%;min-height:2rem;padding-inline:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-ink);font-size:var(--text-xs)}.lead-row{grid-template-columns:minmax(12rem,1fr) 9rem minmax(12rem,auto) 11rem}.lead-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.lead-history,.lead-conversion{grid-column:1 / -1}.lead-history summary{color:var(--color-green);font-size:var(--text-xs);cursor:pointer}.lead-history>div{display:flex;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) 0 0 var(--space-4);color:var(--color-text-muted);font-size:var(--text-xs)}.lead-conversion{display:grid;grid-template-columns:minmax(10rem,1fr) minmax(12rem,1fr) auto auto;align-items:center;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-green-soft)}.lead-conversion select{min-height:2.25rem;padding-inline:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.statistics-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3);margin-bottom:var(--space-4)}.statistics-kpis>*{display:grid;gap:var(--space-1);padding:var(--space-4)}.statistics-kpis span,.statistics-card header small{color:var(--color-text-muted);font-size:var(--text-xs)}.statistics-kpis strong{color:var(--color-ink);font-size:var(--text-xl)}.statistics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.statistics-card{display:grid;align-content:start;gap:var(--space-5);min-height:25rem;padding:var(--space-5)}.statistics-card--wide{grid-column:1 / -1;min-height:0}.statistics-card header{display:flex;align-items:end;justify-content:space-between;gap:var(--space-4)}.statistics-card h2{margin-top:var(--space-1);font-size:var(--text-lg)}.sales-funnel{display:grid;justify-items:center;gap:var(--space-1);width:100%;padding:var(--space-2) 0}.sales-funnel>div{min-height:2.75rem;display:grid;grid-template-columns:minmax(0,1fr) auto 3.25rem;align-items:center;gap:var(--space-2);padding:0 var(--space-4);border-radius:var(--radius-sm);background:var(--color-green);color:#fff}.sales-funnel>div:nth-child(2n){background:#397863}.sales-funnel__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sales-funnel small{padding:.125rem var(--space-1);border-radius:999px;background:#ffffff1f;color:#edf5f0;text-align:right}.monthly-chart{height:17rem;display:grid;grid-template-columns:repeat(6,1fr);align-items:end;gap:var(--space-3);padding-top:var(--space-4);border-bottom:1px solid var(--color-border-strong)}.monthly-chart>div{height:100%;display:grid;grid-template-rows:1.5rem minmax(0,1fr) 1.75rem;align-items:end;justify-items:center;color:var(--color-text-muted);font-size:var(--text-xs)}.monthly-chart>div>div{width:min(2.75rem,75%);min-height:4px;border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:var(--color-lime)}.status-chart{display:grid;gap:var(--space-3)}.status-chart>div{display:grid;grid-template-columns:8rem minmax(0,1fr) 2rem;align-items:center;gap:var(--space-3);font-size:var(--text-sm)}.status-chart>div>div{height:.625rem;overflow:hidden;border-radius:999px;background:var(--color-surface-muted)}.status-chart i{height:100%;display:block;border-radius:inherit;background:var(--color-green)}.entity-collection-layout{display:grid;gap:var(--space-4);min-width:0}.project-details{padding:var(--space-5)}.project-details dl,.project-details-fields{display:grid;gap:var(--space-4);margin-top:var(--space-4)}.project-details dl>div{display:grid;gap:var(--space-1)}.project-details dt{color:var(--color-text-muted)}.project-details dd{margin:0}.entity-card-list.surface{display:grid;gap:var(--space-3);padding:0;border:0;background:transparent;box-shadow:none;overflow:visible}.entity-card-list>.calculation-row,.entity-card-list>.member-row{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.entity-create-dialog{width:min(36rem,calc(100vw - 2rem));max-height:calc(100dvh - 2rem);margin:auto;padding:var(--space-4);overflow:auto;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-ink);box-shadow:var(--shadow-lg)}.entity-create-dialog::backdrop{background:#0006}.entity-create-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.entity-create-dialog>header button{width:2.5rem;height:2.5rem;border:0;border-radius:var(--radius-md);font:inherit;cursor:pointer}.entity-create-dialog>.surface{border:0;padding:0;box-shadow:none}.team-layout{display:grid;grid-template-columns:minmax(0,1fr) 23rem;gap:var(--space-4);align-items:start}.member-list{display:grid;overflow:hidden}.member-row{min-height:4.5rem;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--color-border)}.member-row:last-child{border-bottom:0}.member-row__identity{min-width:0;display:grid}.member-row__identity strong,.member-row__identity small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-row__identity small{color:var(--color-text-muted)}.team-form{display:grid;gap:var(--space-4);padding:var(--space-6)}.team-form h2{font-size:var(--text-lg)}.team-form>p{margin-top:calc(var(--space-2) * -1);color:var(--color-text-muted);font-size:var(--text-sm)}.ds-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}.ds-section{min-width:0;padding:var(--space-5)}.ds-section--wide{grid-column:span 2}.ds-section--dark{background:var(--color-ink-bg);color:#fff}:root[data-theme=dark] .construction-flow-controls,:root[data-theme=dark] .construction-2d-inspector>header,:root[data-theme=dark] .construction-2d-tool-panel>header,:root[data-theme=dark] .construction-cell-editor,:root[data-theme=dark] .construction-preview__caption,:root[data-theme=dark] .construction-3d__toolbar,:root[data-theme=dark] .construction-3d footer{background:color-mix(in srgb,var(--color-surface) 94%,transparent)}:root[data-theme=dark] .construction-3d__canvas-tools,:root[data-theme=dark] .construction-3d__selection,:root[data-theme=dark] .construction-3d__result{border-color:var(--color-border-strong);background:color-mix(in srgb,var(--color-surface) 90%,transparent)}:root[data-theme=dark] .construction-preview,:root[data-theme=dark] .drawing{background-image:radial-gradient(var(--color-border) 1px,transparent 1px)}:root[data-theme=dark] .dimension{fill:var(--color-text-muted)}:root[data-theme=dark] .connection-profile-mark{background:linear-gradient(90deg,#52695a 0 12%,#9bb6a0 12% 20%,#45604f 20% 28%,#708c76 28% 100%)}:root[data-theme=dark] .catalog-row:hover,:root[data-theme=dark] .catalog-row.selected{background:var(--color-green-soft)}:root[data-theme=dark] .source-box{color:var(--color-text-muted)}:root[data-theme=dark] .stock-bar{background:var(--color-surface-muted)}.profile-system-picker{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md)}.profile-system-picker summary{color:var(--color-text-muted);cursor:pointer;font-weight:var(--weight-semibold)}.profile-system-picker>div{display:grid;gap:var(--space-2);max-height:14rem;margin-top:var(--space-3);overflow-y:auto}:root[data-theme=dark] .construction-3d__price-grid>.is-total,:root[data-theme=dark] .sales-funnel>div{background:var(--color-project-card-bg)}:root[data-theme=dark] .sales-funnel>div:nth-child(2n){background:#326f50}.ds-section h2{margin-bottom:var(--space-4);font-size:var(--text-md)}.ds-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.swatch-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2)}.swatch{height:5rem;display:flex;align-items:flex-end;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:var(--weight-bold)}@media(max-width:75rem){.construction-toolbar__fields{grid-template-columns:repeat(5,minmax(6rem,1fr))}.construction-toolbar__groups{grid-template-columns:1fr}.editor-grid{grid-template-columns:minmax(0,1fr) 19rem}.ds-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:56rem){.construction-workspace-toolbar{grid-template-columns:minmax(0,1fr)}.construction-workspace-actions{grid-auto-flow:row;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));justify-self:stretch;width:100%}.construction-toolbar__fields{grid-template-columns:repeat(2,minmax(0,1fr))}.construction-3d-overlay{padding:0}.construction-3d{border-radius:0}.construction-3d__toolbar{grid-template-columns:1fr auto}.construction-3d__explosion{grid-column:1 / -1;grid-row:2}.construction-3d__actions button:not(.construction-3d__close){display:none}.construction-3d footer small{display:none}.editor-grid,.review-grid,.constructive-workspace,.development-layout,.team-layout,.projects-layout,.statistics-grid{grid-template-columns:1fr}.statistics-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.statistics-card--wide{grid-column:auto}.review-detail,.constructive-workspace>.card:last-child,.review-grid>.card:last-child,.editor-grid>.card:last-child,.team-layout>.card:last-child{position:static;max-height:none;overflow-y:visible}.development-systems{position:static}.development-form-grid,.development-editor-layout{grid-template-columns:1fr}.development-entity-list>div{max-height:16rem}.development-workspace-header,.development-summary{align-items:flex-start;flex-direction:column}.development-stages{grid-template-columns:repeat(2,minmax(0,1fr))}.development-stages button:nth-child(2){border-right:0}.development-stages button:nth-child(-n+2){border-bottom:1px solid var(--color-border)}.params{grid-row:1}.ds-grid{grid-template-columns:1fr}.ds-section--wide{grid-column:auto}}@media(max-width:48rem){.development-component-row{grid-template-columns:1fr 6rem 2rem}.development-component-row>:nth-child(3){grid-column:1 / -1;grid-row:2}.development-components-head{display:none}.calculation-toolbar .control,.calculation-toolbar__filters{width:100%;max-width:none}.calculation-toolbar__filters{justify-content:space-between}.statistics-kpis{grid-template-columns:1fr}.statistics-card{min-height:0;padding:var(--space-4)}.statistics-card header{align-items:start;flex-direction:column}.status-chart>div{grid-template-columns:6.5rem minmax(0,1fr) 2rem;gap:var(--space-2)}.project-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(7rem,1fr));width:100%}.card-head--workbench{grid-template-columns:1fr auto}.workbench-selectors{grid-column:1 / -1;grid-row:2;justify-self:stretch;width:100%}.catalog-tools{width:100%;flex-direction:column}.catalog-header-actions{align-items:stretch;flex-direction:column}.industry-grid{grid-template-columns:1fr}.catalog-tools input{min-width:0}.calculation-row{grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2)}.calculation-row__total{text-align:left}.calculation-row time{grid-column:1 / -1;text-align:left}.stock-row{grid-template-columns:1fr auto}.stock-bar{grid-column:1 / -1;grid-row:2}.swatch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}}@layer reset{*,*:before,*:after{box-sizing:border-box}*{scrollbar-color:var(--color-border-strong) transparent;scrollbar-width:thin}*::-webkit-scrollbar{width:.5rem;height:.5rem}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{border:.125rem solid transparent;border-radius:var(--radius-pill);background:var(--color-border-strong);background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background-color:var(--color-green)}body,h1,h2,h3,p{margin:0}button,input,select,textarea{font:inherit;-webkit-user-select:none;user-select:none}[role=button]{-webkit-user-select:none;user-select:none}}
