:root{color-scheme:light;--ink-900: #e8ecf3;--ink-850: #f2f5fa;--ink-800: #ffffff;--ink-750: #f7f9fc;--ink-700: #e9eef6;--ink-650: #d3dbe8;--line: #d6dee9;--line-soft: #e6ecf4;--line-2: #b6c2d4;--text: #131a26;--text-2: #4b596d;--text-3: #75839a;--accent: #c9922f;--accent-hover: #b17f21;--accent-ink: #855913;--on-accent: #1e1606;--accent-soft: rgba(201,146,47,.15);--accent-line: rgba(201,146,47,.5);--cv-sheet: #faf9f6;--cv-grid: #e8eaf0;--cv-grid-major: #d2d8e4;--cv-wall: #212a39;--cv-glass: #2b7fa0;--cv-half: #6b7789;--cv-area-fill: rgba(223,232,245,.5);--cv-area-line: #8ea1bd;--cv-exclude-fill: rgba(232,236,243,.92);--cv-exclude-line: #9aa8bd;--cv-exclude-hatch: rgba(117,131,154,.5);--cv-label-bg: rgba(250,249,246,.88);--cv-zone: #6255c9;--cv-zone-fill: rgba(98,85,201,.1);--cv-zone-ink: #4b3fa8;--cv-cam: #1b2434;--cv-solid: #c3ccda;--cv-solid-half: #d3d9e2;--lv0: #d03b3b;--lv1: #b7d3f6;--lv2: #6da7ec;--lv3: #2a78d6;--lv4: #184f95;--ramp-1: #cde2fb;--ramp-2: #9ec5f4;--ramp-3: #5598e7;--ramp-4: #2a78d6;--ramp-5: #184f95;--ramp-6: #0d366b;--heat-a1: .28;--heat-a2: .42;--heat-a3: .58;--heat-a4: .75;--heat-blind-a: .36;--good: #0ca30c;--warning: #fab219;--serious: #ec835a;--critical: #d03b3b;--good-ink: #0a7a0a;--warn-ink: #8a5e05;--serious-ink: #a8502a;--crit-ink: #bd2f2f;--good-soft: rgba(12,163,12,.1);--warn-soft: rgba(250,178,25,.16);--crit-soft: rgba(208,59,59,.1);--good-line: rgba(12,163,12,.45);--warn-line: rgba(197,140,20,.5);--crit-line: rgba(208,59,59,.45);--hud-bg: rgba(250,249,246,.9);--hud-bg-solid: rgba(255,255,255,.95);--backdrop: rgba(30,38,52,.45);--shadow-lg: 0 10px 30px rgba(28,40,60,.16);--shadow-xl: 0 30px 80px rgba(28,40,60,.28);--r-sm: 4px;--r-md: 7px;--r-lg: 12px;--mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--sans: "Archivo", "Helvetica Neue", Arial, system-ui, sans-serif}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--ink-900: #0b111a;--ink-850: #0e1520;--ink-800: #131c29;--ink-750: #182233;--ink-700: #1e293b;--ink-650: #26344a;--line: #263248;--line-soft: #1a2434;--line-2: #33425c;--text: #e9edf4;--text-2: #9daabf;--text-3: #6c7b95;--accent: #d7a860;--accent-hover: #efc783;--accent-ink: #efc783;--on-accent: #1a1207;--accent-soft: rgba(215,168,96,.14);--accent-line: rgba(215,168,96,.42);--cv-sheet: #0d1622;--cv-grid: #17243a;--cv-grid-major: #223558;--cv-wall: #d7dfec;--cv-glass: #63b7d6;--cv-half: #8b98ad;--cv-area-fill: rgba(28,44,68,.62);--cv-area-line: #51688f;--cv-exclude-fill: rgba(11,17,26,.92);--cv-exclude-line: #4a5a76;--cv-exclude-hatch: rgba(108,123,149,.55);--cv-label-bg: rgba(11,17,26,.82);--cv-zone: #9085e9;--cv-zone-fill: rgba(144,133,233,.1);--cv-zone-ink: #b8b0f2;--cv-cam: #e9edf4;--cv-solid: #5a6c86;--cv-solid-half: #46566d;--lv0: #d03b3b;--lv1: #184f95;--lv2: #256abf;--lv3: #3987e5;--lv4: #86b6ef;--ramp-1: #0d2c55;--ramp-2: #184f95;--ramp-3: #256abf;--ramp-4: #3987e5;--ramp-5: #86b6ef;--ramp-6: #cde2fb;--heat-a1: .42;--heat-a2: .5;--heat-a3: .58;--heat-a4: .64;--heat-blind-a: .34;--good-ink: #62d162;--warn-ink: #fab219;--serious-ink: #ec835a;--crit-ink: #f07575;--good-soft: rgba(12,163,12,.12);--warn-soft: rgba(250,178,25,.12);--crit-soft: rgba(208,59,59,.14);--good-line: rgba(12,163,12,.5);--warn-line: rgba(250,178,25,.5);--crit-line: rgba(208,59,59,.5);--hud-bg: rgba(11,17,26,.86);--hud-bg-solid: rgba(14,21,32,.94);--backdrop: rgba(4,7,12,.72);--shadow-lg: 0 10px 30px rgba(0,0,0,.55);--shadow-xl: 0 30px 80px rgba(0,0,0,.65)}}:root[data-theme=dark]{color-scheme:dark;--ink-900: #0b111a;--ink-850: #0e1520;--ink-800: #131c29;--ink-750: #182233;--ink-700: #1e293b;--ink-650: #26344a;--line: #263248;--line-soft: #1a2434;--line-2: #33425c;--text: #e9edf4;--text-2: #9daabf;--text-3: #6c7b95;--accent: #d7a860;--accent-hover: #efc783;--accent-ink: #efc783;--on-accent: #1a1207;--accent-soft: rgba(215,168,96,.14);--accent-line: rgba(215,168,96,.42);--cv-sheet: #0d1622;--cv-grid: #17243a;--cv-grid-major: #223558;--cv-wall: #d7dfec;--cv-glass: #63b7d6;--cv-half: #8b98ad;--cv-area-fill: rgba(28,44,68,.62);--cv-area-line: #51688f;--cv-exclude-fill: rgba(11,17,26,.92);--cv-exclude-line: #4a5a76;--cv-exclude-hatch: rgba(108,123,149,.55);--cv-label-bg: rgba(11,17,26,.82);--cv-zone: #9085e9;--cv-zone-fill: rgba(144,133,233,.1);--cv-zone-ink: #b8b0f2;--cv-cam: #e9edf4;--cv-solid: #5a6c86;--cv-solid-half: #46566d;--lv0: #d03b3b;--lv1: #184f95;--lv2: #256abf;--lv3: #3987e5;--lv4: #86b6ef;--ramp-1: #0d2c55;--ramp-2: #184f95;--ramp-3: #256abf;--ramp-4: #3987e5;--ramp-5: #86b6ef;--ramp-6: #cde2fb;--heat-a1: .42;--heat-a2: .5;--heat-a3: .58;--heat-a4: .64;--heat-blind-a: .34;--good-ink: #62d162;--warn-ink: #fab219;--serious-ink: #ec835a;--crit-ink: #f07575;--good-soft: rgba(12,163,12,.12);--warn-soft: rgba(250,178,25,.12);--crit-soft: rgba(208,59,59,.14);--good-line: rgba(12,163,12,.5);--warn-line: rgba(250,178,25,.5);--crit-line: rgba(208,59,59,.5);--hud-bg: rgba(11,17,26,.86);--hud-bg-solid: rgba(14,21,32,.94);--backdrop: rgba(4,7,12,.72);--shadow-lg: 0 10px 30px rgba(0,0,0,.55);--shadow-xl: 0 30px 80px rgba(0,0,0,.65)}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--ink-900);color:var(--text);font-family:var(--sans);font-size:13px;line-height:1.45;overflow:hidden;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--ink-650);border-radius:6px;border:3px solid var(--ink-850)}::-webkit-scrollbar-thumb:hover{background:var(--line-2)}.num{font-family:var(--mono);font-variant-numeric:tabular-nums}.app{display:flex;flex-direction:column;height:100vh}.topbar{display:flex;align-items:center;gap:14px;height:50px;flex:none;padding:0 12px 0 14px;background:var(--ink-800);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:baseline;gap:8px;-webkit-user-select:none;user-select:none}.brand .mark{width:22px;height:22px;align-self:center}.brand .mark .m-frame{stroke:var(--line-2);fill:none}.brand .mark .m-lens{fill:var(--accent)}.brand .mark .m-beam{fill:var(--accent);fill-opacity:.17;stroke:var(--accent)}.brand .name{font-size:15px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text)}.brand .sub{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3)}.topbar .spacer{flex:1}.topbar-actions{display:flex;align-items:center;gap:6px}.vsep{width:1px;height:22px;background:var(--line);margin:0 4px}.btn{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 11px;background:var(--ink-750);border:1px solid var(--line);border-radius:var(--r-md);color:var(--text-2);cursor:pointer;white-space:nowrap;font-size:12px;font-weight:500;transition:background .12s,color .12s,border-color .12s}.btn:hover{background:var(--ink-700);color:var(--text);border-color:var(--line-2)}.btn:active{transform:translateY(1px)}.btn[disabled]{opacity:.4;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:700}.btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--on-accent)}.btn.ghost{background:transparent}.btn.danger:hover{border-color:var(--critical);color:var(--crit-ink)}.btn.sm{height:25px;padding:0 8px;font-size:11px}.btn.wide{width:100%;justify-content:center}.btn svg{width:14px;height:14px;flex:none}.svg-inline--fa{display:block;flex:none;overflow:visible}.btn>.svg-inline--fa{opacity:.88}.btn.primary>.svg-inline--fa,.btn.solid>.svg-inline--fa{opacity:1}.btn.icon{padding:0;width:30px;justify-content:center}.btn.icon[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent-ink)}.mini{width:22px;height:22px;flex:none;display:grid;place-items:center;border:0;background:transparent;color:var(--text-3);border-radius:4px;cursor:pointer;transition:background .12s,color .12s}.mini:hover{background:var(--ink-700);color:var(--text)}.mini svg{width:13px;height:13px}.seg{display:flex;gap:2px;padding:2px;background:var(--ink-750);border:1px solid var(--line);border-radius:var(--r-md)}.seg button{width:27px;height:24px;display:grid;place-items:center;border:0;background:transparent;color:var(--text-3);border-radius:4px;cursor:pointer;transition:background .12s,color .12s}.seg button:hover{color:var(--text);background:var(--ink-700)}.seg button.on{background:var(--accent-soft);color:var(--accent-ink)}.seg svg{width:14px;height:14px}.workspace{display:flex;flex:1;min-height:0;position:relative;--panel-w: 344px}.rail{width:52px;flex:none;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 0;background:var(--ink-850);border-right:1px solid var(--line)}.tool{position:relative;width:38px;height:38px;display:grid;place-items:center;border:1px solid transparent;border-radius:var(--r-md);background:transparent;color:var(--text-3);cursor:pointer;transition:background .12s,color .12s}.tool svg{width:19px;height:19px}.tool:hover{background:var(--ink-700);color:var(--text)}.tool.on{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent-ink)}.tool[disabled]{opacity:.35;cursor:not-allowed}.tool .key{position:absolute;right:3px;bottom:1px;font-family:var(--mono);font-size:8px;color:var(--text-3)}.tip{position:absolute;left:46px;top:50%;transform:translateY(-50%);background:var(--ink-700);border:1px solid var(--line-2);color:var(--text);padding:4px 8px;border-radius:var(--r-sm);font-size:11px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .12s;z-index:40;box-shadow:var(--shadow-lg)}.tool:hover .tip{opacity:1}.stage{position:relative;flex:1;min-width:0;background:var(--cv-sheet);overflow:hidden;container-type:inline-size}.stage:not(.stage-3d)>canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;touch-action:none}.stage:not(.stage-3d)>canvas.pan{cursor:grab}.stage:not(.stage-3d)>canvas.panning{cursor:grabbing}.stage:not(.stage-3d)>canvas.draw{cursor:crosshair}.hud{position:absolute;z-index:10;background:var(--hud-bg);border:1px solid var(--line);border-radius:var(--r-md);padding:6px 9px;font-family:var(--mono);font-size:11px;color:var(--text-2);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:none}.hud-hint{left:12px;top:12px;max-width:330px;font-family:var(--sans);color:var(--text-2);line-height:1.5}.hud-hint b{color:var(--accent-ink);font-weight:600}.hud-hint .dismiss{pointer-events:auto;cursor:pointer;display:block;margin-top:6px;background:none;border:0;padding:0;font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}.hud-hint .dismiss:hover{color:var(--accent-ink)}.hud-hint kbd{font-family:var(--mono);font-size:10px;background:var(--ink-700);border:1px solid var(--line-2);border-radius:3px;padding:0 4px;color:var(--text)}.hud-coords{left:12px;bottom:12px}.hud-zoom{right:12px;bottom:12px;display:flex;gap:4px;align-items:center;pointer-events:auto}.hud-zoom .btn{height:24px;padding:0 8px}.legend{position:absolute;right:12px;top:12px;z-index:10;background:var(--hud-bg);border:1px solid var(--line);border-radius:var(--r-md);padding:9px 11px 10px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);min-width:172px}.legend-head{display:flex;align-items:center;gap:6px;margin-bottom:7px}.legend-head h4{margin:0;flex:1;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);font-weight:600}.legend.collapsed{min-width:0;padding:4px}.legend.collapsed .legend-head{margin:0}.legend.collapsed .legend-head h4,.legend.collapsed .legend-body{display:none}.legend .row{display:flex;align-items:center;gap:7px;margin-bottom:3px;font-size:11px;color:var(--text-2)}.legend .sw{width:18px;height:10px;border-radius:2px;flex:none}.legend .row .v{margin-left:auto;font-variant-numeric:tabular-nums;font-family:var(--mono);font-size:10.5px;color:var(--text)}.legend .foot{margin-top:7px;padding-top:7px;border-top:1px solid var(--line);font-size:10px;color:var(--text-3);font-family:var(--mono)}.scorestrip{position:absolute;left:50%;transform:translate(-50%);bottom:12px;z-index:11;display:flex;gap:1px;overflow:hidden;background:var(--line);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-lg)}.scorestrip .cell{background:var(--hud-bg-solid);padding:6px 13px;min-width:84px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.scorestrip .cell.tail{display:flex;align-items:center;padding:0 2px;min-width:0}.scorestrip.collapsed .cell:not(:first-child):not(.tail){display:none}.scorestrip.collapsed .cell.tail svg{transform:rotate(180deg)}@container (max-width: 980px){.scorestrip:not(.collapsed) .cell:nth-child(5){display:none}}@container (max-width: 860px){.scorestrip:not(.collapsed) .cell:nth-child(4){display:none}}@container (max-width: 700px){.scorestrip:not(.collapsed) .cell:nth-child(3){display:none}}@container (max-width: 540px){.scorestrip:not(.collapsed) .cell:nth-child(2){display:none}}.scorestrip .k{font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:var(--text-3);white-space:nowrap}.scorestrip .v{font-family:var(--mono);font-size:16px;font-weight:600;color:var(--text);line-height:1.25;white-space:nowrap}.scorestrip .v.good{color:var(--good-ink)}.scorestrip .v.warn{color:var(--warn-ink)}.scorestrip .v.bad{color:var(--crit-ink)}.panel{position:relative;width:var(--panel-w);flex:none;display:flex;flex-direction:column;background:var(--ink-850);border-left:1px solid var(--line);transition:width .18s ease}.panel.collapsed{border-left-width:0}.panel.collapsed>*{display:none}.panel.resizing{transition:none}.panel-grip{position:absolute;left:-3px;top:0;bottom:0;width:7px;z-index:6;cursor:col-resize;background:transparent;transition:background .12s}.panel-grip:hover,.panel-grip.on{background:var(--accent-line)}.panel-toggle{position:absolute;right:var(--panel-w);top:50%;transform:translateY(-50%);width:17px;height:58px;z-index:13;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;background:var(--ink-800);color:var(--text-3);border:1px solid var(--line);border-right:0;border-radius:var(--r-md) 0 0 var(--r-md);cursor:pointer;box-shadow:var(--shadow-lg);transition:right .18s ease,width .18s ease,height .18s ease,background .12s,color .12s}.panel-toggle:hover{background:var(--ink-750);color:var(--accent-ink)}.panel-toggle svg{width:12px;height:12px;flex:none;transition:transform .18s ease}.panel-toggle .pt-label{display:none;writing-mode:vertical-rl;font-size:9px;letter-spacing:.16em;text-transform:uppercase;font-weight:600}.panel-toggle.closed{width:26px;height:116px;background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent-ink)}.panel-toggle.closed .pt-label{display:block}.panel-toggle.closed svg{transform:rotate(180deg)}.tabs{display:flex;flex-wrap:wrap;flex:none;border-bottom:1px solid var(--line);background:var(--ink-800)}.tab{flex:1 0 auto;padding:10px 4px 9px;background:transparent;border:0;border-bottom:2px solid transparent;color:var(--text-3);cursor:pointer;font-size:10.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.tab:hover{color:var(--text-2)}.tab.on{color:var(--accent-ink);border-bottom-color:var(--accent);background:var(--ink-850)}.panes{flex:1;overflow-y:auto;overflow-x:hidden}.pane{display:none;padding:12px 12px 40px}.pane.on{display:block}.sect{margin-bottom:16px}.sect>h3{margin:0 0 8px;font-size:9.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--text-3);font-weight:600;display:flex;align-items:center;gap:8px}.sect>h3:after{content:"";flex:1;height:1px;background:var(--line)}.field{display:flex;align-items:center;gap:8px;margin-bottom:7px}.field>label{flex:none;width:96px;color:var(--text-2);font-size:11.5px}.field>.ctl{flex:1;min-width:0;display:flex;align-items:center;gap:6px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:7px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}input[type=text],input[type=number],input[type=search],input[type=date],input[type=url],select,textarea{width:100%;min-width:0;height:28px;padding:0 7px;background:var(--ink-750);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--text);font-family:var(--mono);font-size:12px}select{padding-right:4px;font-family:var(--sans);font-size:12px}input:focus,select:focus,textarea:focus{border-color:var(--accent-line)}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:20px;background:transparent;cursor:pointer}input[type=range]::-webkit-slider-runnable-track{height:3px;background:var(--ink-650);border-radius:2px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:13px;height:13px;margin-top:-5px;background:var(--accent);border-radius:50%;border:0}input[type=range]::-moz-range-track{height:3px;background:var(--ink-650);border-radius:2px}input[type=range]::-moz-range-thumb{width:13px;height:13px;background:var(--accent);border:0;border-radius:50%}input[type=checkbox]{accent-color:var(--accent);width:14px;height:14px}.check{display:flex;align-items:flex-start;gap:7px;margin-bottom:7px;cursor:pointer}.check input{margin-top:2px;flex:none}.check>span{display:block}.check .t{display:block;font-size:12px;color:var(--text)}.check .d{display:block;font-size:10.5px;color:var(--text-3);line-height:1.4}.unit{font-family:var(--mono);font-size:10.5px;color:var(--text-3);flex:none}.hint{font-size:10.5px;color:var(--text-3);line-height:1.5;margin:6px 0 0}.list{display:flex;flex-direction:column;gap:4px}.row-item{display:flex;align-items:center;gap:8px;padding:7px 8px;background:var(--ink-800);border:1px solid var(--line);border-radius:var(--r-md);cursor:pointer;transition:border-color .12s,background .12s}.row-item:hover{background:var(--ink-750)}.row-item.on{border-color:var(--accent-line);background:var(--accent-soft)}.row-item .dot{width:8px;height:8px;border-radius:50%;flex:none}.row-item .main{flex:1;min-width:0;display:block}.row-item .t{display:block;font-size:12px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-item .s{display:block;font-family:var(--mono);font-size:10px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-item .x{flex:none;width:20px;height:20px;display:grid;place-items:center;border:0;background:transparent;color:var(--text-3);cursor:pointer;border-radius:4px}.row-item .x:hover{background:var(--ink-700);color:var(--crit-ink)}.empty{padding:16px 12px;text-align:center;border:1px dashed var(--line-2);border-radius:var(--r-md);color:var(--text-3);font-size:11.5px;line-height:1.5}.readout{display:grid;grid-template-columns:1fr auto;gap:3px 10px;font-size:11.5px}.readout dt{color:var(--text-3)}.readout dd{margin:0;font-family:var(--mono);color:var(--text);text-align:right;font-variant-numeric:tabular-nums}.tiles{display:grid;grid-template-columns:1fr 1fr;gap:7px}.tile{background:var(--ink-800);border:1px solid var(--line);border-radius:var(--r-md);padding:9px 10px}.tile .k{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3)}.tile .v{font-family:var(--mono);font-size:20px;font-weight:600;line-height:1.25;color:var(--text)}.tile .d{font-size:10.5px;color:var(--text-3)}.tile.span{grid-column:1 / -1}.stack{display:flex;height:22px;border-radius:var(--r-sm);overflow:hidden;background:var(--ink-700);gap:2px}.stack>div{transition:width .3s}.stackkey{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:7px}.stackkey .i{display:flex;align-items:center;gap:5px;font-size:10.5px;color:var(--text-2)}.stackkey .sw{width:9px;height:9px;border-radius:2px}.stackkey .n{font-family:var(--mono);color:var(--text)}table.tbl{width:100%;border-collapse:collapse;font-size:11.5px}table.tbl th{text-align:left;padding:5px 6px;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);font-weight:600;border-bottom:1px solid var(--line)}table.tbl td{padding:6px;border-bottom:1px solid var(--line-soft);color:var(--text-2)}table.tbl td.n{font-family:var(--mono);text-align:right;color:var(--text);font-variant-numeric:tabular-nums}table.tbl tbody tr:last-child td{border-bottom:0}table.tbl tfoot td{border-top:1px solid var(--line);border-bottom:0}.scroll-x{overflow-x:auto}.pill{display:inline-flex;align-items:center;gap:4px;padding:1px 7px;border-radius:20px;font-size:10px;font-weight:600;letter-spacing:.04em;border:1px solid transparent;white-space:nowrap}.pill.pass{color:var(--good-ink);border-color:var(--good-line);background:var(--good-soft)}.pill.warn{color:var(--warn-ink);border-color:var(--warn-line);background:var(--warn-soft)}.pill.fail{color:var(--crit-ink);border-color:var(--crit-line);background:var(--crit-soft)}.pill.mute{color:var(--text-3);border-color:var(--line)}.finding{display:flex;gap:8px;padding:8px 9px;background:var(--ink-800);border:1px solid var(--line);border-left-width:3px;border-radius:var(--r-sm);margin-bottom:6px;cursor:pointer}.finding:hover{background:var(--ink-750)}.finding.critical{border-left-color:var(--critical)}.finding.serious{border-left-color:var(--serious)}.finding.warning{border-left-color:var(--warning)}.finding.good{border-left-color:var(--good)}.finding .ico{flex:none;width:14px;height:14px;margin-top:1px}.finding .t{font-size:11.5px;color:var(--text);font-weight:600}.finding .d{font-size:10.5px;color:var(--text-3);line-height:1.45}dialog{padding:0;border:1px solid var(--line-2);border-radius:var(--r-lg);background:var(--ink-850);color:var(--text);box-shadow:var(--shadow-xl);max-width:min(94vw,720px);width:100%}dialog::backdrop{background:var(--backdrop);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}dialog .dhead{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line)}dialog .dhead h2{margin:0;font-size:15px;font-weight:700;letter-spacing:.01em}dialog .dhead .sub{font-family:var(--mono);font-size:10.5px;color:var(--text-3)}dialog .dbody{padding:16px;max-height:min(70vh,620px);overflow-y:auto}dialog .dfoot{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--line);background:var(--ink-800);border-radius:0 0 var(--r-lg) var(--r-lg)}dialog .x{margin-left:auto}.optcard{display:flex;gap:9px;padding:10px 11px;margin-bottom:7px;background:var(--ink-800);border:1px solid var(--line);border-radius:var(--r-md);cursor:pointer}.optcard:hover{border-color:var(--line-2)}.optcard.on{border-color:var(--accent-line);background:var(--accent-soft)}.optcard input{margin-top:2px;flex:none}.optcard>span{display:block}.optcard .t{display:block;font-size:12.5px;font-weight:600;color:var(--text)}.optcard .d{display:block;font-size:11px;color:var(--text-3);line-height:1.45}.progress{height:4px;background:var(--ink-700);border-radius:3px;overflow:hidden}.progress>i{display:block;height:100%;background:var(--accent);width:0;transition:width .15s}.cols2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.topbar-actions{flex-wrap:nowrap}@media(max-width:1240px){.brand .sub{display:none}}.lbl-short{display:none}@media(max-width:1120px){.btn{padding:0 8px}.lbl-long{display:none}.lbl-short{display:inline}.vsep{margin:0 1px}}@media(max-width:900px){.workspace{--panel-w: 300px}.cols2{grid-template-columns:1fr}.brand .name{font-size:13px}}.report h3{font-size:12px;margin:0 0 8px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}.report .block{margin-bottom:20px}.app.focus .legend,.app.focus .scorestrip,.app.focus .hud-hint,.app.focus .hud-coords{display:none}.toasts{position:fixed;left:50%;transform:translate(-50%);bottom:22px;z-index:200;display:flex;flex-direction:column;gap:6px;align-items:center;pointer-events:none}.toast{background:var(--ink-800);border:1px solid var(--line-2);border-left:3px solid var(--accent);border-radius:var(--r-md);padding:9px 14px;font-size:12px;color:var(--text);box-shadow:var(--shadow-lg);max-width:460px;text-align:center;animation:toastIn .18s ease-out}.toast.bad{border-left-color:var(--critical)}.toast.ok{border-left-color:var(--good)}@keyframes toastIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.centred{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px;background:var(--ink-900);overflow-y:auto}.card{width:100%;max-width:420px;background:var(--ink-800);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-xl);padding:26px 26px 22px}.card.wide{max-width:1080px}.card>h1{margin:0 0 4px;font-size:20px;font-weight:700;letter-spacing:.01em;text-wrap:balance}.card>.sub{margin:0 0 20px;color:var(--text-3);font-size:12.5px;line-height:1.5}.card .field{display:block;margin-bottom:12px}.card .field>label{display:block;width:auto;margin-bottom:5px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);font-weight:600}.card .field input{height:34px;font-family:var(--sans);font-size:13px}.card .btn{height:36px}.card .foot{margin-top:16px;padding-top:14px;border-top:1px solid var(--line);font-size:12px;color:var(--text-3)}.card .foot a,.linkish{color:var(--accent-ink);text-decoration:none;font-weight:600;background:none;border:0;padding:0;cursor:pointer;font-size:inherit}.card .foot a:hover,.linkish:hover{text-decoration:underline}.brandmark{display:flex;align-items:center;gap:9px;margin-bottom:18px}.brandmark .brand-wordmark{display:block;width:220px;height:auto;color:var(--text);fill:currentColor}.brandmark svg{width:26px;height:26px}.brandmark .name{font-size:15px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.formerror{margin:0 0 14px;padding:9px 11px;background:var(--crit-soft);border:1px solid var(--crit-line);border-radius:var(--r-md);color:var(--crit-ink);font-size:12px;line-height:1.45}.page{min-height:100vh;display:flex;flex-direction:column;background:var(--ink-900)}.page-body{flex:1;overflow-y:auto;padding:26px 22px 60px}.page-inner{max-width:1120px;margin:0 auto}.page-head{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:20px}.page-head h1{margin:0;font-size:22px;font-weight:700;letter-spacing:.01em}.page-head .sub{color:var(--text-3);font-size:12.5px;margin:3px 0 0}.page-head .grow{flex:1}.project-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.project-card{display:flex;flex-direction:column;gap:10px;padding:15px 16px 13px;background:var(--ink-800);border:1px solid var(--line);border-radius:var(--r-md);text-align:left;cursor:pointer;transition:border-color .12s,transform .12s,box-shadow .12s}.project-card:hover{border-color:var(--line-2);transform:translateY(-1px);box-shadow:var(--shadow-lg)}.project-card h3{margin:0;font-size:14.5px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-card .meta{font-family:var(--mono);font-size:10.5px;color:var(--text-3);display:flex;gap:10px;flex-wrap:wrap}.project-card .stats{display:flex;gap:14px;margin-top:auto}.project-card .stat .k{font-size:8.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3)}.project-card .stat .v{font-family:var(--mono);font-size:15px;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}.project-card .row-actions{display:flex;gap:6px;margin-top:4px}.empty-state{padding:44px 24px;text-align:center;border:1px dashed var(--line-2);border-radius:var(--r-lg);color:var(--text-3)}.empty-state h3{margin:0 0 6px;font-size:15px;color:var(--text);font-weight:600}.empty-state p{margin:0 auto 18px;max-width:46ch;font-size:12.5px;line-height:1.6}.doc-title{display:flex;align-items:center;gap:7px;min-width:0}.doc-title input{height:28px;width:210px;font-family:var(--sans);font-size:13px;font-weight:600;background:transparent;border-color:transparent}.doc-title input:hover{border-color:var(--line);background:var(--ink-750)}.doc-title input:focus{border-color:var(--accent-line);background:var(--ink-750)}.doc-title .rev{font-family:var(--mono);font-size:10px;color:var(--text-3);padding:2px 6px;border:1px solid var(--line);border-radius:20px;white-space:nowrap}.doc-title .rev.dirty{color:var(--warn-ink);border-color:var(--warn-line);background:var(--warn-soft)}.save-state{font-family:var(--mono);font-size:10.5px;color:var(--text-3);white-space:nowrap;min-width:74px}.hist-row{display:flex;align-items:center;gap:10px;padding:9px 10px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--ink-800);margin-bottom:6px}.hist-row.current{border-color:var(--accent-line);background:var(--accent-soft)}.hist-row .rev{font-family:var(--mono);font-size:12px;font-weight:600;color:var(--text);min-width:34px}.hist-row .main{flex:1;min-width:0}.hist-row .t{font-size:12px;color:var(--text)}.hist-row .s{font-family:var(--mono);font-size:10px;color:var(--text-3)}.share-row{display:flex;align-items:center;gap:8px;padding:9px 10px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--ink-800);margin-bottom:6px}.share-row.revoked{opacity:.55}.share-url{flex:1;min-width:0;font-family:var(--mono);font-size:11px;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.readonly-bar{display:flex;align-items:center;gap:12px;padding:0 14px;height:38px;flex:none;background:var(--accent-soft);border-bottom:1px solid var(--accent-line);color:var(--accent-ink);font-size:12px}.readonly-bar .grow{flex:1}.readonly-bar b{font-weight:700}.loading{display:flex;align-items:center;justify-content:center;gap:10px;min-height:50vh;color:var(--text-3);font-size:13px}.spinner{width:15px;height:15px;flex:none;border:2px solid var(--line-2);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation-duration:2s}}.stage-3d{display:block}.stage-3d canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.view3d-loading-surface{position:absolute;top:0;right:0;bottom:0;left:0;z-index:8;display:grid;place-items:center;padding:72px 24px 54px;box-sizing:border-box;pointer-events:none;color:#e8eef8;background:radial-gradient(circle at 50% 42%,rgba(49,92,160,.28),transparent 34%),linear-gradient(145deg,#111722,#182334 52%,#10151e)}.view3d-loading-surface:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.18;background-image:linear-gradient(#8ca4c41a 1px,transparent 1px),linear-gradient(90deg,#8ca4c41a 1px,transparent 1px);background-size:42px 42px;-webkit-mask-image:radial-gradient(circle at center,#000,transparent 72%);mask-image:radial-gradient(circle at center,#000,transparent 72%)}.view3d-loading-card{position:relative;display:grid;grid-template-columns:58px minmax(0,360px);align-items:center;gap:8px 18px;width:min(480px,calc(100% - 24px));padding:20px 22px;box-sizing:border-box;border:1px solid #9bb4da40;border-radius:12px;background:#111925dc;box-shadow:0 18px 60px #0007;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.view3d-loading-monogram{grid-row:1 / span 2;width:58px;height:auto;fill:currentColor;color:#76a0ff;animation:view3d-loading-pulse 1.25s ease-in-out infinite alternate}.view3d-loading-card strong{display:block;margin-bottom:4px;color:#fff;font:600 15px/1.35 var(--sans)}.view3d-loading-card p{margin:0;color:#b8c5d8;font:12px/1.55 var(--sans)}.view3d-loading-card>span{grid-column:2;justify-self:end;color:#aebdd1;font:10px/1 var(--mono)}.view3d-loading-progress{grid-column:2;align-self:end;height:3px;overflow:hidden;border-radius:99px;background:#9ab6df26}.view3d-loading-progress i{display:block;width:100%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#4e7ff0,#8ab0ff);transition:width .18s ease}.view3d-loading-progress.indeterminate i{width:38%;animation:view3d-loading-track 1.1s ease-in-out infinite}.view3d-loading-surface.error .view3d-loading-monogram{animation:none;color:#e59a7a}@keyframes view3d-loading-pulse{0%{opacity:.55;transform:scale(.96)}to{opacity:1;transform:scale(1.03)}}@keyframes view3d-loading-track{0%{transform:translate(-110%)}to{transform:translate(275%)}}@media(prefers-reduced-motion:reduce){.view3d-loading-monogram,.view3d-loading-progress.indeterminate i{animation:none}}@media(max-width:560px){.view3d-loading-card{grid-template-columns:42px minmax(0,1fr);padding:16px;gap:8px 12px}.view3d-loading-monogram{width:42px}}.view3d-bar{left:12px;right:12px;top:12px;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;pointer-events:auto;font-family:var(--sans)}.view3d-bar .seg{background:transparent;border:0;padding:0;gap:3px}.view3d-bar .seg button{width:auto;height:25px;padding:0 10px;white-space:nowrap;font-size:11.5px;font-weight:500;border:1px solid var(--line);background:var(--ink-750);color:var(--text-2);border-radius:var(--r-sm)}.view3d-bar .seg button:hover:not([disabled]){color:var(--text);background:var(--ink-700)}.view3d-bar .seg button.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:700}.view3d-bar .seg button[disabled]{opacity:.4;cursor:not-allowed}.view3d-bar select{height:25px;font-size:11.5px}.dim-switch{position:absolute;right:12px;bottom:52px;z-index:12;display:flex;gap:2px;padding:2px;background:var(--hud-bg);border:1px solid var(--line);border-radius:var(--r-md);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.dim-switch button{height:24px;padding:0 12px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--text-3);cursor:pointer;font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.06em}.dim-switch button:hover{color:var(--text);background:var(--ink-700)}.dim-switch button.on{background:var(--accent-soft);color:var(--accent-ink)}.fpv-frame{position:absolute;top:0;right:0;bottom:0;left:0;z-index:9;pointer-events:none}.fpv-frame .corner{position:absolute;width:26px;height:26px;border:2px solid var(--accent);opacity:.75}.fpv-frame .tl{top:20px;left:20px;border-right:0;border-bottom:0}.fpv-frame .tr{top:20px;right:20px;border-left:0;border-bottom:0}.fpv-frame .bl{bottom:20px;left:20px;border-right:0;border-top:0}.fpv-frame .br{bottom:20px;right:20px;border-left:0;border-top:0}.fpv-readout{left:12px;top:calc(var(--view3d-toolbar-height, 40px) + 24px);max-width:260px;font-family:var(--sans);pointer-events:none}.fpv-readout .t{font-size:12px;font-weight:600;color:var(--text);margin-bottom:6px}.walk-note{left:50%;transform:translate(-50%);bottom:64px}.stage-3d canvas{touch-action:none}.stage-3d canvas:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.walk-note{max-width:calc(100% - 28px);text-align:center}.walk-position{margin-top:4px;color:var(--text-3);font-family:var(--mono);font-size:11px}.walk-buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:5px;margin-top:7px;pointer-events:auto}.walk-buttons button{touch-action:none}.stair-travel{pointer-events:auto;margin-top:8px}.stair-travel>div{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px}.stairs-pane .stair-dimensions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 10px}.workspace[data-dimension="3d"] .legend{top:calc(var(--view3d-toolbar-height, 40px) + 24px)}.catalogue-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:12px 0}.catalogue-filters label,.catalogue-file{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--text-2)}.catalogue-filters input,.catalogue-filters select{width:100%;min-width:0}.catalogue-search{grid-column:1 / -1}.catalogue-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin:12px 0;font-size:12px}.catalogue-results{max-height:380px;overflow:auto;border:1px solid var(--line);border-radius:8px}.catalogue-row{display:flex;align-items:center;gap:12px;padding:12px;border-bottom:1px solid var(--line)}.catalogue-row:last-child{border-bottom:0}.catalogue-row .main{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;overflow-wrap:anywhere}.catalogue-row .main>span,.catalogue-row .main>a{font-size:12px;color:var(--text-2)}.catalogue-row .main>.formerror{color:var(--crit-ink)}.catalogue-row input[type=checkbox]{flex-shrink:0}.catalogue-row details{font-size:12px}.catalogue-changes>div{display:grid;grid-template-columns:110px 1fr;gap:8px;padding:4px 0}.catalogue-changes dd{margin:0}.catalogue-import p{line-height:1.6}.catalogue-file{margin:12px 0}.catalogue-file input{padding:12px 0}.catalogue-selection{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.design-fields{border:0;padding:0;margin:8px 0;min-width:0}.design-field{display:flex;flex-direction:column;gap:4px;font-size:11px;margin:6px 0}.design-card{padding:10px;border:1px solid var(--line);border-radius:7px;margin:10px 0}.design-issues{padding-left:18px;font-size:12px;line-height:1.65}.inspection-row{display:flex;flex-direction:column;text-align:left;width:100%;gap:4px;padding:10px;border:1px solid var(--line);border-radius:6px;margin:6px 0;background:var(--ink-750);color:var(--text);cursor:pointer}.inspection-row.met{border-left:3px solid #139b76}.inspection-row span,.inspection-row small{font-size:11px;line-height:1.4}.point-inspection label{font-size:11px}.installation-schedule{break-inside:auto}.layout-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.layout-options svg{width:100%;height:170px;background:var(--ink-750);border-radius:6px}.layout-options h4{margin:2px 0 10px}.layout-options details{margin:10px 0}@media(max-width:760px){.layout-options{grid-template-columns:1fr}}.minimap{left:12px;bottom:72px;width:160px;pointer-events:auto;font-size:10px}.minimap svg{display:block;width:100%;height:100px;cursor:crosshair;background:var(--ink-750);border-radius:4px;margin-top:5px}.target-readout{pointer-events:auto;max-height:200px;overflow-y:auto}.view-error{top:calc(var(--view3d-toolbar-height, 40px) + 24px);right:12px;max-width:280px;pointer-events:auto}@media(max-width:800px){.minimap{width:115px;bottom:178px}.minimap svg{height:74px}}.tabs{flex-wrap:wrap}.tabs .tab{flex:1 0 30%}.design-fields{border:0;padding:0;margin:0;min-width:0}.design-fields input,.design-fields select,.design-fields textarea{max-width:100%}.design-fields details>summary,.drawing-menu>summary{cursor:pointer}.design-fields textarea{width:100%;font:12px/1.5 monospace}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.handover-images{display:flex;gap:12px;flex-wrap:wrap}.handover-images figure{margin:0;flex:1 1 140px;min-width:0}.handover-images img{width:100%;max-height:280px;object-fit:contain}.handover-images figcaption{font-size:11px;color:var(--text-2)}.handover-card{break-inside:avoid;overflow-wrap:anywhere}.pdf-preview,.drawing-preview{display:block;width:100%;max-height:55vh;object-fit:contain;margin:12px 0;background:#fff;color:#253d46}.drawing-preview{height:280px}.drawing-layers{max-height:160px;overflow:auto}.drawing-menu{position:relative}.drawing-menu>div{position:absolute;top:100%;right:0;z-index:20;width:190px;display:grid;gap:6px;padding:10px;background:var(--panel);border:1px solid var(--line);box-shadow:0 8px 24px #0003}.people-pane .button-row{display:flex;flex-wrap:wrap;gap:6px;margin-block:8px}.target-check{padding-top:10px;margin-top:10px;border-top:1px solid var(--line)}.vehicle-plate-fields{margin-block:10px}.vehicle-plate-fields>summary{cursor:pointer;margin-bottom:8px}.plate-inspection{overflow-x:hidden}.plate-check{padding:10px 12px;border-radius:8px;background:var(--ink-750);border:1px solid var(--line)}.plate-check.met{border-color:#278765}.plate-check.unmet{border-color:#b67a30}.plate-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:16px 0}.plate-metrics>div{min-width:0}.plate-metrics dt{font-size:12px;color:var(--text-2)}.plate-metrics dd{margin:3px 0;font-weight:600;font-variant-numeric:tabular-nums}.plate-metrics small{color:var(--text-2)}.plate-crop-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:10px}.plate-crop-heading .design-field{margin:0}.plate-crop-scroll{max-width:100%;max-height:40vh;overflow:auto;background:#242930;border:1px solid var(--line);border-radius:6px;padding:12px}.plate-crop-scroll canvas{display:block;image-rendering:pixelated;max-width:none;margin:auto}@media(max-width:540px){.plate-inspection .grid2,.plate-metrics{grid-template-columns:1fr}.plate-crop-heading{align-items:flex-start;flex-direction:column;gap:8px}}.camera-mount-options>.field{display:flex;flex-direction:column;align-items:stretch;gap:5px}.camera-mount-options select{width:100%;min-width:0}.edit3d-option>label>select{max-width:250px}.catalogue-workspace{display:grid;grid-template-columns:225px minmax(0,1fr);height:min(78vh,830px);min-height:350px}.catalogue-nav{padding:18px 12px;background:var(--ink-850);border-right:1px solid var(--line);overflow-y:auto}.catalogue-nav button{display:flex;align-items:center;gap:9px;width:100%;padding:13px 10px;margin-bottom:6px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text-2);text-align:left;font:inherit;cursor:pointer}.catalogue-nav button span{flex:1;font-size:12px;font-weight:600}.catalogue-nav button b{font-size:11px;font-variant-numeric:tabular-nums}.catalogue-nav button.active{background:var(--accent-soft);color:var(--accent, #2563eb);border-color:var(--line)}.catalogue-nav p{font-size:11px;line-height:1.7;color:var(--text-3);padding:12px}.catalogue-content{overflow-y:auto;padding:22px;min-width:0}.catalogue-heading{display:flex;gap:16px;align-items:flex-start;justify-content:space-between}.catalogue-heading h3{margin:0 0 8px;font-size:20px}.catalogue-heading p{color:var(--text-2);font-size:12px;line-height:1.7;max-width:660px;margin:0}.catalogue-heading>button{flex-shrink:0}.catalogue-content .catalogue-results{max-height:none}.catalogue-content .catalogue-filters{grid-template-columns:minmax(180px,2fr) repeat(2,minmax(130px,1fr))}.catalogue-content .catalogue-search{grid-column:auto}.catalogue-actions,.catalogue-source-tabs{display:flex;flex-wrap:wrap;gap:8px}.catalogue-source-tabs{margin:20px 0 10px}.catalogue-notice{background:var(--ink-850);border:1px solid var(--line);border-radius:8px;padding:12px 16px;font-size:12px;line-height:1.7;margin:14px 0}.catalogue-selection-bar{position:sticky;bottom:-22px;margin:16px -22px -22px;padding:14px 22px;background:var(--panel, var(--ink-850));border-top:1px solid var(--line);display:flex;justify-content:space-between;flex-wrap:wrap;align-items:center;gap:12px;z-index:2;box-shadow:0 -4px 16px #00000008}.catalogue-selection-bar>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px}.catalogue-selection-bar label{display:flex;align-items:center;gap:7px}.catalogue-selection-bar select{max-width:170px}.catalogue-summary{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}.catalogue-summary span{flex:1;min-width:92px;padding:12px;border:1px solid var(--line);border-radius:8px;font-size:11px;color:var(--text-2)}.catalogue-summary b{display:block;font-size:22px;color:var(--text);margin-bottom:4px}.catalogue-review-rows{border:0;padding:0;margin:16px 0;min-width:0}.catalogue-review-row{border:1px solid var(--line);border-radius:8px;margin-bottom:8px;padding:12px}.catalogue-review-row>summary{display:flex;align-items:center;flex-wrap:wrap;gap:8px;cursor:pointer;font-size:12px}.catalogue-review-row>summary:before{content:"▸"}.catalogue-review-row[open]>summary:before{content:"▾"}.catalogue-review-row>summary strong{flex:1}.catalogue-conflict{margin:16px 0;border-top:1px solid var(--line)}.catalogue-diff{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.catalogue-diff>div{min-width:0;background:var(--ink-850);border:1px solid var(--line);border-radius:6px;padding:10px}.catalogue-diff h4{font-size:11px;margin:0 0 8px;color:var(--text-2)}.catalogue-diff pre{white-space:pre-wrap;overflow-wrap:anywhere;font-family:var(--mono);font-size:10px;line-height:1.6;margin:0;max-height:220px;overflow-y:auto}.catalogue-review-actions{display:flex;gap:14px;align-items:center;position:sticky;bottom:-22px;background:var(--panel, var(--ink-850));padding:16px 0}.catalogue-review-actions button{flex-shrink:0}.catalogue-keep-both{border-top:1px solid var(--line);padding-top:12px;font-size:12px}.catalogue-keep-both input[type=text]{display:block;width:100%;margin-top:6px}.catalogue-update-choice{display:flex;gap:14px;align-items:flex-start;border:1px solid var(--line);border-radius:8px;padding:14px;margin:10px 0}.catalogue-update-choice small{display:block;line-height:1.6;margin-top:5px;color:var(--text-2)}@media(max-width:760px){.catalogue-workspace{display:flex;flex-direction:column;height:82vh}.catalogue-nav{display:flex;gap:5px;overflow-x:auto;overflow-y:hidden;flex-shrink:0;padding:9px;border-right:0;border-bottom:1px solid var(--line)}.catalogue-nav button{width:auto;flex-shrink:0;padding:9px;margin:0}.catalogue-nav button svg,.catalogue-nav p{display:none}.catalogue-content{padding:14px}.catalogue-heading{flex-wrap:wrap}.catalogue-content .catalogue-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.catalogue-content .catalogue-search{grid-column:1 / -1}.catalogue-row{flex-wrap:wrap;gap:8px}.catalogue-row .main{flex-basis:calc(100% - 65px)}.catalogue-selection-bar{margin:14px -14px -14px;padding:12px 14px;bottom:-14px}.catalogue-diff{grid-template-columns:1fr}.catalogue-review-actions{flex-wrap:wrap;bottom:-14px}}.catalogue-dialog-header{justify-content:space-between;gap:16px}.catalogue-dialog-header>button{margin-left:auto;flex-shrink:0}.catalogue-model-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:14px 0}.catalogue-model-field{display:flex;flex-direction:column;gap:7px;font-size:12px;color:var(--text-2)}.catalogue-model-field>input,.catalogue-model-field>select{width:100%}.catalogue-editor-tabs{display:flex;gap:8px;padding:14px 16px 0;flex-wrap:wrap}@media(max-width:600px){.catalogue-model-grid{grid-template-columns:1fr}}.catalogue-diff-pair{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:760px){.catalogue-diff-pair{grid-template-columns:1fr}}.company-context{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;color:inherit;font:inherit;cursor:pointer;padding:4px 6px;border-radius:6px}.company-context:hover{background:var(--ink-850)}.company-admin{max-height:min(72vh,760px);overflow:auto}.company-admin section+section{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}.company-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:16px 0}.company-fields.three{grid-template-columns:repeat(3,minmax(0,1fr))}.team-list{border:1px solid var(--line);border-radius:10px;overflow:hidden;margin:14px 0 20px}.team-row{display:flex;align-items:center;gap:12px;min-height:62px;padding:10px 12px;border-bottom:1px solid var(--line)}.team-row:last-child{border-bottom:0}.team-person{display:flex;flex-direction:column;min-width:160px;flex:1}.team-person span,.tenant-row span{color:var(--text-2);font-size:12px}.team-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}.role-badge{border:1px solid var(--line);background:var(--ink-850);border-radius:999px;padding:4px 8px;font-size:10px;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.role-badge.owner,.role-badge.admin{color:var(--blue);border-color:color-mix(in srgb,var(--blue) 35%,var(--line))}.role-badge.danger{color:var(--danger)}.new-member{background:var(--ink-850);border:1px solid var(--line);border-radius:10px;padding:16px}.new-member h4{margin:0}.nested-panel{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;display:grid;place-items:center;background:color-mix(in srgb,var(--backdrop) 70%,transparent);border-radius:inherit}.nested-panel form{width:min(440px,calc(100% - 32px));background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-lg);padding:20px}.system-main{width:min(1400px,calc(100% - 48px));margin:0 auto;padding:32px 0 60px}.system-main>.page-head{margin-bottom:22px}.system-panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:22px;margin-top:20px;box-shadow:var(--shadow-xs)}.system-panel h2{margin:0 0 5px}.system-overview{margin:0}.tenant-table{margin-top:16px;border:1px solid var(--line);border-radius:10px;overflow:hidden}.tenant-row{display:grid;grid-template-columns:42px minmax(220px,2fr) minmax(90px,.5fr) minmax(150px,1fr) auto;gap:14px;align-items:center;padding:13px;border-bottom:1px solid var(--line)}.tenant-row:last-child{border-bottom:0}.tenant-row>div:nth-child(2){display:flex;flex-direction:column;gap:3px}.master-panel{display:flex;justify-content:space-between;align-items:center;gap:20px}.reset-owner-row{display:flex;align-items:end;gap:10px;margin-top:12px}.reset-owner-row .field{flex:1;margin:0}@media(max-width:760px){.company-fields,.company-fields.three{grid-template-columns:1fr}.team-row{align-items:flex-start;flex-wrap:wrap}.team-actions{width:100%;justify-content:flex-start}.system-main{width:calc(100% - 24px);padding-top:18px}.tenant-row{grid-template-columns:38px 1fr}.tenant-row>span{grid-column:2}.master-panel{align-items:flex-start;flex-direction:column}}.company-dialog-head>:first-child{flex:1;min-width:0}.system-main>.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px}.master-library-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.master-library-cards>button{min-width:0;display:flex;align-items:center;gap:13px;padding:16px;border:1px solid var(--line);border-radius:10px;background:var(--ink-850);color:var(--text);text-align:left;cursor:pointer;font:inherit}.master-library-cards>button:hover{border-color:var(--accent-line);background:var(--accent-soft)}.master-library-cards>button>span:nth-child(2){display:flex;flex-direction:column;gap:5px;flex:1;min-width:0}.master-library-cards strong{font-size:13px}.master-library-cards small{color:var(--text-2);line-height:1.5}.master-source-note{margin:14px 0 0}.master-library-body{min-height:520px}.master-library-filters{grid-template-columns:minmax(260px,2fr) minmax(180px,1fr)}.master-library-results{max-height:min(52vh,520px)}.master-library-pagination{display:flex;justify-content:center;align-items:center;gap:14px;margin-top:14px;font-size:12px;color:var(--text-2)}.master-import-panel{max-width:820px;margin:18px auto 0}.master-import-drop{display:flex;align-items:center;gap:16px;padding:22px;margin:18px 0 12px;border:1px dashed var(--line);border-radius:10px;background:var(--ink-850)}.master-import-drop>svg{width:30px;height:30px;color:var(--accent);flex:none}.master-import-drop>div{min-width:0;flex:1}.master-import-drop h3{margin:0 0 6px;font-size:15px}.master-import-drop p{margin:0;color:var(--text-2);font-size:12px;line-height:1.6}.master-import-panel>.catalogue-notice{display:flex;justify-content:space-between;gap:12px}.master-json-editor{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}.master-json-editor>summary{cursor:pointer;font-weight:600;font-size:12px}.master-json-editor textarea{width:100%;font:11px/1.55 var(--mono);margin-top:8px}.tenant-row>.overview-icon{grid-column:auto;grid-row:auto}@media(max-width:760px){.dashboard-page .topbar-actions>.btn{font-size:0;width:32px;padding:0;justify-content:center}.system-main>.page-head{align-items:flex-start;flex-direction:column}.tenant-row>button{grid-column:2;justify-self:start}.master-library-cards,.master-library-filters{grid-template-columns:1fr}}:root{--ink-900: #f4f4f5;--ink-850: #fafafa;--ink-800: #ffffff;--ink-750: #fafafa;--ink-700: #f4f4f5;--ink-650: #d4d4d8;--line: #e4e4e7;--line-soft: #f0f0f2;--line-2: #d4d4d8;--text: #18181b;--text-2: #52525b;--text-3: #71717a;--accent: #2563eb;--accent-hover: #1766e7;--accent-ink: #1763cc;--on-accent: #ffffff;--accent-soft: #eff6ff;--accent-line: #bfdbfe;--hud-bg: rgba(255,255,255,.96);--hud-bg-solid: #ffffff;--backdrop: rgba(24,24,27,.4);--shadow-sm: 0 1px 2px rgba(24,24,27,.04);--shadow-lg: 0 4px 16px rgba(24,24,27,.07);--shadow-xl: 0 20px 70px rgba(24,24,27,.18);--r-sm: 6px;--r-md: 8px;--r-lg: 12px;--sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono: ui-monospace, "SFMono-Regular", Consolas, "Liberation Mono", monospace;--panel: var(--ink-800);--solid-button: #18181b;--solid-button-ink: #ffffff}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--ink-900: #101014;--ink-850: #18181c;--ink-800: #19191f;--ink-750: #1e1e25;--ink-700: #25252d;--ink-650: #3f3f48;--line: #2e2e37;--line-soft: #26262f;--line-2: #41414b;--text: #f4f4f5;--text-2: #b4b4bf;--text-3: #94949f;--accent: #2563eb;--accent-hover: #1d4ed8;--accent-ink: #83b6ff;--on-accent: #ffffff;--accent-soft: #1b2a43;--accent-line: #304d76;--hud-bg: rgba(25,25,31,.96);--hud-bg-solid: #19191f;--backdrop: rgba(0,0,0,.64);--shadow-sm: 0 1px 2px #0002;--shadow-lg: 0 4px 16px #0003;--shadow-xl: 0 20px 70px #0006;--solid-button: #f4f4f5;--solid-button-ink: #18181b}}:root[data-theme=dark]{--ink-900: #101014;--ink-850: #18181c;--ink-800: #19191f;--ink-750: #1e1e25;--ink-700: #25252d;--ink-650: #3f3f48;--line: #2e2e37;--line-soft: #26262f;--line-2: #41414b;--text: #f4f4f5;--text-2: #b4b4bf;--text-3: #94949f;--accent: #2563eb;--accent-hover: #1d4ed8;--accent-ink: #83b6ff;--on-accent: #ffffff;--accent-soft: #1b2a43;--accent-line: #304d76;--hud-bg: rgba(25,25,31,.96);--hud-bg-solid: #19191f;--backdrop: rgba(0,0,0,.64);--shadow-sm: 0 1px 2px #0002;--shadow-lg: 0 4px 16px #0003;--shadow-xl: 0 20px 70px #0006;--solid-button: #f4f4f5;--solid-button-ink: #18181b}body{line-height:1.5}.grow{flex:1}a{color:var(--accent-ink)}.btn{height:34px;padding:0 12px;font-size:12px;font-weight:500;background:var(--ink-800);color:var(--text);box-shadow:var(--shadow-sm)}.btn:hover:not(:disabled){background:var(--ink-750);border-color:var(--line-2)}.btn.primary{font-weight:500}.btn.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn.solid{background:var(--solid-button);border-color:var(--solid-button);color:var(--solid-button-ink)}.btn.solid:hover:not(:disabled){background:var(--solid-button);filter:brightness(.9)}.btn.ghost{box-shadow:none;border-color:transparent}.btn.danger{color:var(--text-3)}.btn.danger:hover:not(:disabled){color:var(--crit-ink);background:var(--crit-soft)}.btn.sm{height:28px;padding:0 9px;font-size:11.5px}.btn.icon{width:34px}.btn:disabled{opacity:.45;transform:none}.btn svg{width:16px;height:16px}.seg{background:var(--ink-700);border-color:var(--line);gap:2px;padding:3px}.seg button{width:28px;height:26px;border:1px solid transparent}.seg button.on{background:var(--ink-800);border-color:var(--line);box-shadow:var(--shadow-sm);color:var(--text)}.seg button:hover{background:var(--ink-800)}.mini{width:26px;height:26px;border-radius:6px}input:not([type]),input[type=text],input[type=number],input[type=search],input[type=email],input[type=password],input[type=date],input[type=url],select,textarea{width:100%;min-width:0;height:34px;padding:0 10px;background:var(--ink-800);border:1px solid var(--line);border-radius:6px;color:var(--text);font:12px var(--sans);box-shadow:var(--shadow-sm);transition:border-color .15s,box-shadow .15s}input[type=number]{font-variant-numeric:tabular-nums}input::placeholder,textarea::placeholder{color:var(--text-3);opacity:.85}input:not([type=checkbox]):not([type=range]):focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}input:disabled,select:disabled,textarea:disabled{background-color:var(--ink-750);color:var(--text-3);cursor:not-allowed}select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:28px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%2371717a' stroke-width='1.5'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat}textarea{height:auto;min-height:64px;padding:8px 10px;line-height:1.5}input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;display:inline-grid;place-content:center;margin:2px 0 0;border:1px solid var(--line-2);border-radius:4px;background:var(--ink-800);cursor:pointer;flex-shrink:0}input[type=checkbox]:before{content:"";width:4px;height:8px;border:solid white;border-width:0 1.8px 1.8px 0;transform:translateY(-1px) rotate(45deg) scale(0)}input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}input[type=checkbox]:checked:before{transform:translateY(-1px) rotate(45deg) scale(1)}input[type=checkbox]:indeterminate{background:var(--accent);border-color:var(--accent)}input[type=checkbox]:indeterminate:before{width:8px;height:0;border-width:0 0 2px;transform:none}input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}input[type=checkbox].switch{width:29px;height:17px;border-radius:20px;display:flex;align-items:center;padding:2px;background:var(--ink-650);border:0}input[type=checkbox].switch:before{width:13px;height:13px;background:#fff;border:0;border-radius:50%;transform:none;transition:transform .15s;box-shadow:0 1px 2px #0002}input[type=checkbox].switch:checked{background:var(--accent)}input[type=checkbox].switch:checked:before{transform:translate(12px)}input[type=range]::-webkit-slider-runnable-track{height:4px;background:var(--ink-700)}input[type=range]::-webkit-slider-thumb{width:14px;height:14px;border:2px solid var(--ink-800);box-shadow:0 0 0 1px var(--accent)}.check{gap:8px}.check .d,.hint{font-size:11px;line-height:1.6}.field{margin-bottom:10px}.field>label{font-size:12px}.pill,.count-badge{border-radius:5px;letter-spacing:0;font-weight:500;font-size:10.5px}.count-badge{display:inline-flex;align-items:center;justify-content:center;background:var(--ink-700);border:1px solid var(--line);padding:1px 6px;color:var(--text-2);white-space:nowrap}.progress{height:6px}.app{height:100dvh}.topbar{height:58px;background:var(--ink-900);border-bottom:0;padding:0 20px 0 17px;gap:14px}.brand{align-items:center;gap:13px}.brand-wordmark{display:block;width:138px;height:auto;color:var(--text);fill:currentColor;flex:none}.brand-monogram{display:none;width:42px;height:auto;color:var(--text);fill:currentColor;flex:none}.brand-logo-accent{fill:var(--accent)}.brandmark .brand-wordmark{width:220px}.loading-monogram{width:54px;height:auto;color:var(--text);fill:currentColor;animation:avisera-loading 1.15s ease-in-out infinite alternate;transform-origin:center}.app-loading{display:flex;align-items:center;gap:10px}@keyframes avisera-loading{0%{opacity:.48;transform:translateY(1px) scale(.97)}to{opacity:1;transform:translateY(-1px) scale(1.03)}}@media(prefers-reduced-motion:reduce){.loading-monogram{animation:none}}.brand .mark{width:25px;height:25px}.brand .name,.brandmark .name{text-transform:none;letter-spacing:-.5px;font-size:17px;font-weight:650}.brand .sub{display:none}.mark .m-frame,.brand .mark .m-frame{fill:none;stroke:var(--accent)}.mark .m-lens{fill:var(--accent)}.mark .m-beam{fill:var(--accent);fill-opacity:.12;stroke:var(--accent)}.breadcrumb-divider{color:var(--text-3);font-size:17px}.header-context{color:var(--text-2);font-size:13px}.topbar-actions{gap:10px}.topbar .seg{background:transparent;border-color:transparent}.account-avatar{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:var(--accent-soft);border:1px solid var(--accent-line);color:var(--accent-ink);font-size:13px;font-weight:600;flex-shrink:0}.sign-out{color:var(--text-2)}.save-state{font:11px var(--sans)}.save-state:before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--text-3);margin-right:6px;vertical-align:2px}.dashboard-page{height:100dvh;min-height:0}.dashboard-layout{display:flex;flex:1;min-height:0;padding:0 20px 20px 0}.app-rail{width:58px;flex:none;padding:3px 0 12px;display:flex;flex-direction:column;align-items:center;gap:10px;position:relative;z-index:5}.rail-link{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:50%;border:1px solid transparent;background:transparent;color:var(--text-3);position:relative;cursor:pointer}.rail-link:hover{background:var(--ink-800);color:var(--text)}.rail-link.active{border-color:var(--line);background:var(--ink-800);color:var(--accent)}.rail-link>.svg-inline--fa{width:17px;height:17px;transition:transform .14s ease,color .14s ease}.rail-link:hover>.svg-inline--fa{transform:translateY(-1px)}.rail-link.active>.svg-inline--fa{transform:scale(1.04)}.rail-link:disabled{opacity:.4;cursor:not-allowed}.rail-link>span{display:none;position:absolute;left:44px;padding:6px 10px;border-radius:6px;background:var(--solid-button);color:var(--solid-button-ink);font-size:11px;white-space:nowrap;box-shadow:var(--shadow-lg);pointer-events:none}.rail-link:hover>span,.rail-link:focus-visible>span{display:block}.rail-divider{width:22px;height:1px;background:var(--line);margin:2px 0}.rail-status{color:var(--text-3);padding:10px}.dashboard-frame{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--ink-800);border:1px solid var(--line);border-radius:12px;overflow:hidden}.section-nav{display:flex;align-items:center;flex:none;height:55px;gap:28px;padding:0 28px;border-bottom:1px solid var(--line)}.section-nav>button{height:100%;padding:0;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--text-2);cursor:pointer;font-size:13px}.section-nav>button.active{color:var(--text);border-bottom-color:var(--text);font-weight:500}.section-nav>button:hover{color:var(--accent-ink)}.workspace-label{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--text-3)}.dashboard-page .page-body{min-height:0;padding:28px}.dashboard-page .page-inner{max-width:1440px}.page-head{align-items:center;margin-bottom:24px;gap:10px}.page-head h1{font-size:23px;font-weight:600;letter-spacing:-.65px}.page-head .sub{margin-top:5px;font-size:13px}.overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:28px}.overview-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-content:center;row-gap:7px;padding:20px;min-width:0;border:1px solid var(--line);border-radius:10px;background:var(--ink-800);text-align:left;box-shadow:var(--shadow-sm)}.overview-label{grid-column:1;color:var(--text-2);font-size:12px}.overview-card strong{grid-column:1;font-size:27px;line-height:1.2;font-weight:600;letter-spacing:-.7px;color:var(--text);font-variant-numeric:tabular-nums}.overview-card strong small{font-size:12px;font-weight:400;color:var(--text-3);letter-spacing:0}.overview-caption{grid-column:1 / -1;color:var(--text-3);font-size:11px;display:flex;gap:6px;align-items:center}.overview-caption svg{margin-left:auto}.overview-icon{grid-column:2;grid-row:1 / 3;align-self:start;width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;color:var(--text-3)}.overview-icon.blue{color:var(--accent);background:var(--accent-soft);border-color:var(--accent-line)}.overview-icon>.svg-inline--fa{width:15px;height:15px}.catalogue-overview{cursor:pointer}.catalogue-overview:hover{border-color:var(--accent-line);background:var(--ink-750)}.sites-section{border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-sm);overflow:hidden}.section-heading{display:flex;gap:16px;align-items:center;padding:14px 20px;border-bottom:1px solid var(--line);min-height:63px}.section-heading h2{margin:0;display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600}.site-list-controls{margin-left:auto;display:flex;align-items:center;gap:10px}.search-control{display:flex;align-items:center;position:relative}.search-control>svg{position:absolute;left:10px;color:var(--text-3);pointer-events:none}.search-control input{width:220px;padding-left:32px}.view-toggle{padding:2px}.project-grid{padding:18px;gap:16px}.project-card{padding:20px;gap:18px;border-radius:9px;box-shadow:var(--shadow-sm)}.project-card:hover{transform:none;box-shadow:var(--shadow-sm);border-color:var(--accent-line)}.project-title-group{display:flex;align-items:center;gap:12px;min-width:0}.project-icon{width:40px;height:42px;background:var(--ink-750);border:1px solid var(--line);border-radius:8px;color:var(--text-3);display:grid;place-items:center;flex:none}.project-heading{min-width:0}.project-card h3{font-size:13px;font-weight:500;margin-bottom:5px}.project-card .meta{font:11px var(--sans);align-items:center;gap:8px}.revision-label{border:1px solid var(--line);border-radius:4px;padding:0 4px;background:var(--ink-750);font-size:10px}.project-card .stats{justify-content:space-between;gap:8px}.project-card .stat .k{text-transform:none;letter-spacing:0;font-size:11px;margin-bottom:3px}.project-card .stat .v{font:500 13px var(--sans)}.project-card .stat .unpriced{font-size:11px;font-weight:400;color:var(--text-3)}.project-card .row-actions{align-items:center;gap:6px}.open-site-arrow{margin-left:auto;color:var(--text-3);flex:none}.project-list{display:block;padding:0}.project-list .project-card,.project-list-heading{display:grid;grid-template-columns:minmax(240px,2.3fr) repeat(3,minmax(70px,.667fr)) minmax(155px,1fr);gap:16px;align-items:center;padding:17px 20px}.project-list-heading{padding-top:11px;padding-bottom:11px;background:var(--ink-750);font-size:11.5px;color:var(--text-2);border-bottom:1px solid var(--line)}.project-list .project-card{border:0;border-bottom:1px solid var(--line-soft);border-radius:0;box-shadow:none}.project-list .project-card:hover{background:var(--ink-750)}.project-list .project-card:last-child{border-bottom:0}.project-list .stats{display:contents}.project-list .stat .k{display:none}.project-list .row-actions{margin:0}.project-list-heading>span:last-child{text-align:right}.empty-state{border:0;border-radius:0;padding:32px 24px 44px}.empty-state h3{font-size:18px;letter-spacing:-.3px;margin-bottom:8px}.empty-state p{max-width:50ch;font-size:13px;margin-bottom:20px}.empty-state .plan-illustration{width:250px;max-width:100%;margin-bottom:18px}.sites-footer{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 20px;color:var(--text-3);font-size:11px}.sites-footer>span:last-child{display:flex;align-items:center;gap:6px}.dashboard-footer{display:flex;justify-content:space-between;gap:12px;padding-top:26px;color:var(--text-3);font-size:11px}.dashboard-footer>span>span{padding:0 6px}.dashboard-footer .linkish{display:inline-flex;align-items:center;gap:6px;color:var(--text-2);font-size:11px;font-weight:400}.plan-illustration{display:block;margin:0 auto}.illustration-paper{fill:var(--ink-750);stroke:var(--line)}.illustration-grid{stroke:var(--line);stroke-width:.6}.illustration-wall{stroke:var(--text-2);stroke-width:3;stroke-linejoin:round}.illustration-door,.illustration-dimension{stroke:var(--text-3);stroke-width:1}.illustration-beam{fill:var(--accent-soft);stroke:var(--accent-line)}.illustration-camera{fill:var(--ink-800);stroke:var(--accent);stroke-width:1.8}.illustration-check rect{fill:var(--ink-800);stroke:var(--line)}.illustration-check path{stroke:var(--accent);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.editor-app .doc-title{flex:0 1 400px}.editor-app .doc-title input{width:100%;max-width:350px;font-size:13px;font-weight:500;padding-left:4px;background:transparent;border-color:transparent;box-shadow:none}.editor-app .doc-title input:hover,.editor-app .doc-title input:focus{background:var(--ink-800);border-color:var(--line)}.editor-app .doc-title input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.doc-title .rev{border-radius:5px;font-family:var(--sans);background:var(--ink-800)}.editor-subbar{flex:none;min-height:54px;display:flex;align-items:center;gap:10px;margin:0 16px 0 58px;padding:0 18px;border:1px solid var(--line);border-radius:12px 12px 0 0;background:var(--ink-800)}.editor-actions{display:flex;align-items:center;gap:8px}.editor-section-label{align-self:stretch;display:flex;align-items:center;gap:8px;padding:0 2px;margin-right:14px;border-bottom:2px solid var(--text);font-size:12px;font-weight:500;white-space:nowrap}.editor-site-status{display:flex;gap:6px;align-items:center;font-size:11px;color:var(--text-3);white-space:nowrap}.editor-site-status>span{width:5px;height:5px;border-radius:50%;background:var(--accent)}.workspace{margin:0 16px 16px 0;padding-left:58px}.workspace>div{border-left:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0 0 0 12px;overflow:hidden;container-type:inline-size}.rail{--rail-button-size: 38px;--rail-button-gap: 6px;width:58px;background:var(--ink-900);border-right:0;gap:0;padding:8px 0;position:fixed;left:0;top:var(--tool-rail-top, 58px);bottom:16px;z-index:25;justify-content:flex-start}.rail-grid{display:grid;grid-template-columns:var(--rail-button-size);gap:var(--rail-button-gap);flex:none}.rail-group+.rail-group,.rail-actions{border-top:1px solid var(--line);padding-top:8px;margin-top:8px}.rail .tool{flex:none;width:var(--rail-button-size);height:var(--rail-button-size)}.rail .rail-overflow{margin-top:var(--rail-button-gap)}.rail .rail-overflow:first-child{margin-top:0}.rail .tip{left:calc(100% + 8px)}.scene-asset-status{display:inline-flex;align-items:center;gap:6px;color:var(--text-2);font-size:11px}.tool{border-radius:8px;color:var(--text-3)}.tool>.svg-inline--fa{width:17px;height:17px;transition:transform .14s ease,color .14s ease}.tool.on{color:var(--accent);background:linear-gradient(135deg,var(--accent-soft),var(--ink-800));border-color:var(--accent-line);box-shadow:var(--shadow-sm)}.tool:hover{background:var(--ink-800)}.tool:hover>.svg-inline--fa{transform:scale(1.07)}.tool.on>.svg-inline--fa{transform:scale(1.04)}.tool .key{font:8px var(--sans)}.tool .tip{background:var(--solid-button);color:var(--solid-button-ink);border:0;font-size:11px;padding:6px 9px}.tool:focus-visible .tip{opacity:1}.panel{background:var(--ink-800);border-bottom:1px solid var(--line);border-right:1px solid var(--line);border-radius:0 0 12px;min-width:0}.panel.collapsed{border:0}.inspector-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:15px 16px;border-bottom:1px solid var(--line-soft)}.inspector-heading>span:first-child{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600}.inspector-heading svg{color:var(--text-3)}.tabs{padding:0 10px;background:var(--ink-800)}.tab{padding:10px 5px;font-size:12px;font-weight:500;text-transform:none;letter-spacing:0}.tab.on{color:var(--text);background:transparent;border-bottom-color:var(--text)}.panes{background:var(--ink-800)}.pane{padding:16px 16px 36px}.sect{margin-bottom:20px;padding-bottom:18px;border-bottom:1px solid var(--line-soft)}.sect:last-child{border-bottom:0}.sect>h3{font-size:12px;text-transform:none;letter-spacing:0;color:var(--text);font-weight:600;margin-bottom:12px}.sect>h3:after{display:none}.sect .sect{border-bottom:0;padding-bottom:0}.row-item{padding:10px;border-radius:7px;gap:9px}.row-item .s{font:10.5px var(--sans)}.tile{padding:12px;box-shadow:var(--shadow-sm)}.tile .k,.scorestrip .k{font-size:10.5px;text-transform:none;letter-spacing:0}.tile .v,.scorestrip .v{font-family:var(--sans);font-variant-numeric:tabular-nums;font-weight:600}.tile .v{font-size:23px;margin:4px 0}.scorestrip{box-shadow:var(--shadow-lg)}.scorestrip .cell{padding:9px 14px}.scorestrip .v{margin-top:2px;font-size:17px}.legend{min-width:200px;padding:11px 12px;box-shadow:var(--shadow-sm)}.legend-head h4{font-size:11.5px;letter-spacing:0;text-transform:none;color:var(--text)}.legend .foot{font-family:var(--sans)}.hud{box-shadow:var(--shadow-sm)}.hud-hint{max-width:300px;font-size:11.5px;padding:10px 12px}.hud-hint .dismiss{text-transform:none;letter-spacing:0;font-family:var(--sans)}.dim-switch{padding:3px;box-shadow:var(--shadow-sm)}.dim-switch button{font-family:var(--sans);letter-spacing:0}.dim-switch button.on{background:var(--ink-800);color:var(--text);box-shadow:var(--shadow-sm)}.view3d-bar .seg button{font-family:var(--sans);border-radius:6px}.tool-menu{position:fixed;z-index:60;width:236px;box-sizing:border-box;overflow-y:auto;padding:7px;border:1px solid var(--line);border-radius:10px;background:var(--ink-800);color:var(--text);box-shadow:var(--shadow-lg);font-family:var(--sans)}.tool-menu-group{padding:9px 9px 5px;color:var(--text-3);font-size:10px;font-weight:600}.tool-menu button{display:flex;align-items:center;gap:10px;width:100%;border:0;border-radius:6px;background:transparent;color:var(--text-2);text-align:left;font:12px var(--sans);padding:9px;cursor:pointer}.tool-menu button:hover,.tool-menu button:focus-visible,.tool-menu button[aria-checked=true]{background:var(--accent-soft);color:var(--accent-ink)}.tool-menu button>span:nth-child(2){flex:1}.tool-menu svg{width:18px;height:18px;flex:none}.tool-menu .svg-inline--fa{width:16px;height:16px;color:var(--text-3)}.tool-menu button:hover>.svg-inline--fa,.tool-menu button:focus-visible>.svg-inline--fa,.tool-menu button[aria-checked=true]>.svg-inline--fa{color:var(--accent)}.edit3d-context{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;width:100%;padding:8px 4px 2px;border-top:1px solid var(--line);font-family:var(--sans);font-size:11px;text-align:left}.edit3d-current{font-weight:600;color:var(--accent-ink)}.edit3d-option{display:flex;align-items:center;gap:8px;margin:0;min-width:0;color:var(--text-3)}.edit3d-option select{width:240px;max-width:100%;min-width:0}.edit3d-mount-options{flex-wrap:wrap;align-items:flex-end;max-width:100%}.edit3d-mount-options>label{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin:0;min-width:0}.edit3d-mount-options input{width:110px;min-width:0}.edit3d-mount-options .formerror{flex-basis:100%}.edit3d-actions{display:flex;align-items:center;gap:8px;font-size:11px}.edit3d-status{color:var(--text-2);flex:1;font-size:11px;line-height:1.4}.edit3d-status:empty{display:none}.edit3d-help-toggle{margin-left:auto;flex:none}.edit3d-help{flex-basis:100%;margin:0;color:var(--text-2);line-height:1.5}.edit3d-handles{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:6}.edit3d-handle{position:absolute;top:0;left:0;width:28px;height:28px;padding:0;border:2px solid white;border-radius:50%;background:#2563eb;color:#fff;font:600 12px var(--sans);box-shadow:0 1px 6px #0005;pointer-events:auto;cursor:grab;touch-action:none}.edit3d-handle:active{cursor:grabbing;background:#1d4ed8}.edit3d-handle[aria-label="Adjust height"]{background:#087f73}.edit3d-handle[aria-label="Aim camera"],.edit3d-handle[aria-label="Rotate selection"]{background:#a95108}.edit3d-handle[hidden],.edit3d-handles[hidden]{display:none}@media(max-width:760px){.edit3d-context{gap:7px}.edit3d-option{flex:1;min-width:min(190px,100%)}.edit3d-option select{flex:1;width:180px}.edit3d-status{flex-basis:100%;order:2}.edit3d-handle{width:32px;height:32px}}.drawing-menu>div{background:var(--ink-800);border-radius:8px;padding:8px;top:calc(100% + 6px);box-shadow:var(--shadow-lg);z-index:60}.drawing-menu>div .btn{justify-content:flex-start;border-color:transparent;background:transparent;box-shadow:none}.drawing-menu>div .btn:hover{background:var(--ink-700)}.drawing-menu>summary{list-style:none}.drawing-menu>summary:after{content:"";width:5px;height:5px;border:solid var(--text-3);border-width:0 1px 1px 0;transform:translateY(-2px) rotate(45deg);margin-left:4px}.readonly-bar{margin:0 16px 0 58px;min-height:42px;border:1px solid var(--line);border-radius:12px 12px 0 0;background:var(--ink-800);color:var(--text-2)}dialog{background:var(--ink-800);border-color:var(--line)}dialog .dhead{padding:18px 22px}dialog .dhead h2{font-size:16px;font-weight:600;letter-spacing:-.2px;margin-right:auto}dialog .dhead .sub{font-family:var(--sans);font-size:11px}dialog .dbody{padding:20px 22px}dialog .dfoot{padding:14px 22px;background:var(--ink-800)}dialog .dhead .x{box-shadow:none;background:transparent;border-color:transparent}.optcard{padding:13px;border-radius:8px;gap:10px}.optcard .t{font-weight:500}.optcard .d{line-height:1.6}table.tbl{font-size:12px}table.tbl th{background:var(--ink-750);font-size:11.5px;letter-spacing:0;text-transform:none;font-weight:500;color:var(--text-2);padding:10px}table.tbl td{padding:10px}table.tbl tbody tr:hover{background:var(--ink-750)}table.tbl td.n{font-family:var(--sans)}.scroll-x{border:1px solid var(--line);border-radius:8px}.design-card{border-radius:8px;padding:13px;background:var(--ink-800);box-shadow:var(--shadow-sm)}.design-field{font-size:12px;gap:6px;margin-bottom:10px}.design-fields textarea{font-family:var(--sans)}.design-fields details>summary{font-size:12px;padding:6px 0;color:var(--text)}.inspection-row{background:var(--ink-800);border-radius:8px;padding:12px}.catalogue-filters{gap:12px;margin:16px 0}.catalogue-filters label{font-size:11.5px;gap:6px}.catalogue-results{background:var(--ink-800);border-radius:8px}.catalogue-row{padding:15px;gap:13px;border-color:var(--line-soft)}.catalogue-row:hover{background:var(--ink-750)}.catalogue-row .main{gap:3px}.catalogue-row .main>strong{font-size:12.5px;font-weight:500;color:var(--text)}.catalogue-row .main>span{font-size:11px;color:var(--text-3)}.catalogue-row .main>a{font-size:11px;color:var(--accent-ink);text-decoration:none}.catalogue-row .main>a:hover{text-decoration:underline}.catalogue-model-icon{width:38px;height:40px;display:grid;place-items:center;border:1px solid var(--line);background:var(--ink-750);border-radius:8px;color:var(--text-3);flex:none}.catalogue-toolbar{font-size:11.5px}.catalogue-file{border:1px dashed var(--line-2);border-radius:8px;padding:14px;background:var(--ink-750)}.catalogue-file input{padding:0;margin-top:4px;max-width:100%;font-size:11px}input[type=file]::file-selector-button{border:1px solid var(--line);border-radius:5px;padding:6px 10px;background:var(--ink-800);color:var(--text);cursor:pointer;margin-right:8px;font:11px var(--sans)}.finding{border-radius:7px;padding:11px}.report h3{font-size:13px;text-transform:none;letter-spacing:0;color:var(--text)}.toast{border-radius:8px;padding:12px 18px;font-size:12px;box-shadow:var(--shadow-lg)}.auth-page{height:100dvh;min-height:0;display:grid;grid-template-columns:minmax(320px,1fr) minmax(380px,1fr);align-items:stretch;gap:24px;padding:24px}.auth-intro{background:var(--ink-800);border:1px solid var(--line);border-radius:14px;padding:30px 36px;display:flex;flex-direction:column}.auth-story{margin:auto;padding:25px 0;max-width:440px}.eyebrow{font-size:11px;color:var(--accent-ink);font-weight:500}.auth-story h2{font-size:clamp(30px,3.1vw,44px);line-height:1.18;letter-spacing:-1.5px;font-weight:600;margin:16px 0}.auth-story>p{color:var(--text-3);font-size:14px;max-width:38ch;line-height:1.7}.auth-story .plan-illustration{width:310px;max-width:100%;margin:24px auto}.auth-features{display:flex;flex-direction:column;gap:10px;color:var(--text-2);font-size:12px}.auth-features>span{display:flex;align-items:center;gap:9px}.auth-features svg{color:var(--accent)}.auth-intro-footer{color:var(--text-3);font-size:11px}.auth-form-area{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:24px}.auth-card{max-width:420px;padding:30px;box-shadow:var(--shadow-sm)}.auth-card>h1{font-size:23px;font-weight:600;letter-spacing:-.65px;margin-top:16px;margin-bottom:8px}.auth-card>.sub{font-size:12.5px;line-height:1.7;margin-bottom:24px}.auth-card .brandmark{margin:0}.auth-card .field{margin-bottom:17px}.auth-card .field>label{font-size:12px;font-weight:500;color:var(--text);letter-spacing:0;text-transform:none;margin-bottom:7px}.auth-card .field input,.auth-card .btn.primary{height:40px}.auth-card .foot{text-align:center;font-size:12px;padding-top:18px;margin-top:22px}.auth-note{display:flex;align-items:center;gap:7px;color:var(--text-3);font-size:11px;margin:20px 0 0;max-width:350px;text-align:center}.auth-note svg{flex:none}@container (max-width: 750px){.hud-hint{display:none}}@media(max-width:1200px){.overview-grid{gap:12px}.overview-card{padding:16px}.project-list .project-card,.project-list-heading{grid-template-columns:minmax(180px,2fr) repeat(3,minmax(58px,.6fr)) minmax(150px,1fr);gap:10px;padding-left:16px;padding-right:16px}.editor-section-label{display:none}.editor-subbar{padding:9px 14px}.editor-app .brand-wordmark{display:none}.editor-app .brand-monogram{display:block}.editor-app .doc-title{flex-basis:320px}}@media(max-width:1000px){.dashboard-page .page-body{padding:22px}.overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-site-status,.editor-app .save-state{display:none}}@media(max-width:800px){.dashboard-layout{padding-right:12px;padding-bottom:12px}.dashboard-page .page-body{padding:20px}.page-head{gap:8px}.page-head>div:first-child{flex:1 0 100%;margin-bottom:10px}.page-head>.grow{display:none}.project-list-heading{display:none}.project-list{display:grid;grid-template-columns:1fr;padding:14px;gap:12px}.project-list .project-card{display:flex;padding:16px;border:1px solid var(--line);border-radius:8px}.project-list .project-card:last-child{border-bottom:1px solid var(--line)}.project-list .stats{display:flex}.project-list .stat .k{display:block}.workspace{margin-right:12px;margin-bottom:12px}.rail{bottom:12px}.panel{position:absolute;right:0;top:0;bottom:0;width:min(var(--panel-w),calc(100% - 58px));z-index:20;box-shadow:var(--shadow-lg);border-radius:0 0 10px}.panel.collapsed{width:0}.panel-toggle{right:min(var(--panel-w),calc(100% - 58px));z-index:26}.editor-subbar{margin-right:12px}.editor-actions{flex-wrap:wrap;gap:6px}.editor-actions .btn{height:29px;font-size:11px}.editor-subbar{padding:8px 10px}.auth-page{display:flex;min-height:100dvh;height:auto;padding:24px 16px}.auth-intro{display:none}.auth-form-area{padding:0;width:100%}.auth-note{max-width:300px}.readonly-bar{margin-right:12px;font-size:11px;height:auto;padding:10px;flex-wrap:wrap}.readonly-bar>span:last-child{display:none}}@media(max-width:600px){.topbar{padding:0 12px;gap:8px}.brand{gap:8px}.brand .name{font-size:16px}.dashboard-page .breadcrumb-divider,.header-context{display:none}.topbar-actions{gap:5px}.dashboard-page .topbar-actions>.btn:first-child{font-size:0;width:32px;padding:0;justify-content:center}.sign-out{padding:0;width:30px;justify-content:center}.sign-out>span,.dashboard-page .vsep{display:none}.topbar .seg{padding:0;gap:0}.topbar .seg button{width:25px}.account-avatar{width:28px;height:28px}.app-rail,.rail{width:46px}.workspace{padding-left:46px}.rail-link,.tool{width:34px;height:34px}.app-rail{gap:9px}.dashboard-frame{border-radius:10px}.dashboard-page .page-body{padding:18px 14px}.section-nav{height:48px;padding:0 16px;gap:24px}.section-nav .workspace-label{display:none}.overview-grid{gap:10px;margin-bottom:20px}.overview-card{padding:13px;row-gap:6px}.overview-icon{display:none}.overview-label{font-size:11px}.overview-card strong{font-size:24px}.overview-caption,.overview-card strong small{font-size:10px}.section-heading{padding:12px;flex-wrap:wrap;gap:12px}.section-heading h2{font-size:13px}.site-list-controls{width:100%;margin-left:0;gap:6px}.search-control{flex:1;min-width:0}.search-control input{width:100%}.project-grid,.project-list{padding:10px;grid-template-columns:minmax(0,1fr)}.project-card,.project-list .project-card{padding:12px}.project-icon{width:33px;height:36px}.project-card h3{font-size:12px}.project-card .meta{font-size:10px;gap:5px}.sites-footer{padding:12px}.sites-footer>span:last-child{display:none}.dashboard-footer{padding-top:20px;flex-direction:column;gap:10px}.empty-state{padding:22px 16px 30px}.empty-state p{font-size:12px}.empty-state h3{font-size:16px}.editor-app .topbar{flex-wrap:wrap;height:auto;min-height:58px;padding:10px 12px;row-gap:8px}.editor-app .doc-title{flex:1}.editor-app .topbar>.spacer{display:none}.editor-app .topbar-actions{width:100%;justify-content:flex-end}.editor-subbar,.readonly-bar{margin-left:46px}.editor-subbar{border-radius:9px 9px 0 0}.panel{width:min(var(--panel-w),calc(100% - 46px))}.panel-toggle{right:min(var(--panel-w),calc(100% - 46px))}.rail{--rail-button-size: 34px;--rail-button-gap: 3px;gap:0}.panel .field>label{width:88px}.pane{padding:14px 12px 30px}.catalogue-model-icon{display:none}.catalogue-row{padding:12px 10px;gap:8px}.catalogue-row>.btn{padding:0 8px;font-size:11px}.catalogue-row .main>strong{font-size:12px}.catalogue-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.catalogue-filters label{min-width:0}dialog .dhead{padding:14px 16px}dialog .dbody{padding:16px}dialog .dfoot{padding:12px 16px;flex-wrap:wrap}.toast{max-width:calc(100vw - 28px)}}@media(forced-colors:active){input[type=checkbox]{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}input[type=checkbox]:before{display:none}}.inspector-fields{display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden}.inspector-fields>.panes{min-height:0}.project-workflow{margin:0 16px 0 58px;background:var(--ink-800);border:1px solid var(--line);border-top:0;flex:none}.project-workflow nav{display:flex;gap:4px;padding:5px 10px;overflow-x:auto}.project-workflow nav button{display:flex;align-items:center;gap:7px;white-space:nowrap;border:0;border-radius:6px;background:transparent;color:var(--text-2);padding:5px 12px;font-size:12px;cursor:pointer}.project-workflow nav button:hover{background:var(--accent-soft);color:var(--accent-ink)}.project-workflow nav button>span{display:grid;place-items:center;width:21px;height:21px;border:1px solid var(--line);border-radius:50%;font-size:10px}.review-summary{display:flex;flex-wrap:wrap;gap:3px 16px;padding:4px 15px 8px;border-top:1px solid var(--line-soft)}.review-summary button{background:none;border:0;font:11px var(--sans);color:var(--text-3);cursor:pointer;padding:4px 0}.review-summary b{color:var(--text);font-weight:500;margin-left:4px}.setup-guide{position:absolute;z-index:6;left:50%;top:48%;transform:translate(-50%,-50%);max-width:calc(100% - 30px);width:380px;background:var(--ink-800);border:1px solid var(--line);padding:24px;border-radius:12px;box-shadow:var(--shadow-lg)}.setup-guide h2{font-size:21px;margin:8px 0}.setup-guide p{color:var(--text-2);font-size:13px;line-height:1.6;margin-bottom:18px}.setup-guide .btn{margin:3px 5px 3px 0}.planner-sections{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.planner-readiness{background:var(--ink-750);border:1px solid var(--line);border-radius:8px;padding:12px 14px;margin:14px 0;display:flex;flex-direction:column;gap:8px}.planner-readiness>span{font-size:12px;color:var(--text-2)}.planner-readiness>div{display:flex;gap:12px;align-items:center;justify-content:space-between;font-size:12px;border-top:1px solid var(--line);padding-top:8px}.planner-readiness .btn{flex:none}.planner-field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;font-size:12px}.planner-body .optcard{padding:12px;margin-bottom:10px}.planner-body .optcard b{font-weight:500}.planner-body .design-fields{padding:0;margin:0;border:0;min-width:0}.table-scroll{overflow-x:auto}.quote-table{min-width:650px}.quote-table th{min-width:180px}.quote-table input{min-width:105px}.quote-table td{padding:7px}.proposal-changes{font-size:12px;margin:10px 0}.layout-options:has(>:only-child){grid-template-columns:minmax(0,1fr);max-width:720px;margin:auto}.layout-options:has(>:only-child) .design-card>svg{max-height:240px}.export-options{display:flex;gap:20px;align-items:center;margin-bottom:16px}.export-options>label:first-child{min-width:190px;font-size:12px}.export-preview{display:block;max-width:100%;max-height:55vh;object-fit:contain;margin:auto;border:1px solid var(--line)}.camera-preview{margin:10px 0}.sensor-preview-canvas{position:relative}.sensor-view-grid{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;pointer-events:none}.sensor-view-tile{position:absolute;padding:0;border:1px solid #384353;border-radius:5px;background:transparent;color:#fff;pointer-events:auto;cursor:zoom-in;overflow:hidden;text-align:left}.sensor-view-tile:hover{border-color:#6694ff}.sensor-view-tile:focus-visible{outline:3px solid #6694ff;outline-offset:2px}.sensor-view-label{position:absolute;inset:0 0 auto;height:28px;display:flex;align-items:center;justify-content:space-between;gap:6px;padding:0 8px;background:#17202e;color:#fff;font-size:12px}.sensor-view-label b{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.sensor-view-pending{position:absolute;top:28px;right:0;bottom:0;left:0;display:grid;place-items:center;color:#b9c5d6;background:#101216;font-size:12px}.sensor-grid-progress{position:absolute;bottom:58px;left:12px;z-index:11;padding:5px 9px;border-radius:5px;background:#17202eee;color:#fff;font-size:12px;pointer-events:none}.sensor-preview-controls{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:8px}.sensor-preview-controls select{min-width:0;flex:1}.camera-preview canvas{width:100%;display:block;border:1px solid var(--line);border-radius:7px}.catalogue-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.catalogue-more-filters{grid-column:1 / -1}.catalogue-more-filters>summary{cursor:pointer;font-size:12px;color:var(--text-2)}.catalogue-more-filters>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}.catalogue-more-filters label{font-size:12px;display:flex;flex-direction:column;gap:6px}.catalogue-compare-tray{display:flex;align-items:center;flex-wrap:wrap;gap:8px;background:var(--accent-soft);border-radius:8px;padding:10px;margin:12px 0;font-size:12px}.model-comparison{min-width:560px}.model-comparison th:not(:first-child),.model-comparison td{min-width:160px;max-width:250px;white-space:normal}.toast{display:flex;align-items:start;gap:10px;pointer-events:auto}.toast button{border:0;border-radius:4px;background:transparent;color:inherit;font-size:17px;cursor:pointer;padding:0 3px}.mobile-panel-actions,.mobile-view-options{display:none}.view3d-extra{display:contents}.toolbar-panel{position:relative;flex:none}.toolbar-panel-trigger{gap:8px;white-space:nowrap}.toolbar-panel-trigger>.svg-inline--fa:last-child{color:var(--text-3);transition:transform .15s ease}.toolbar-panel-trigger[aria-expanded=true]>.svg-inline--fa:last-child{transform:rotate(180deg)}.toolbar-panel-trigger[aria-expanded=true]{color:var(--accent-ink);border-color:var(--accent-line);background:var(--accent-soft)}.toolbar-panel-trigger>span:first-child{display:flex;flex-direction:column;align-items:flex-start;line-height:1.35}.toolbar-panel-trigger small{font-size:10px;font-weight:400;color:var(--text-3)}.toolbar-panel.needs-attention .toolbar-panel-trigger{border-color:#d97706}.toolbar-panel-content{position:absolute;z-index:40;top:calc(100% + 6px);left:var(--panel-left, 0);width:min(370px,calc(100vw - 80px));max-height:min(var(--panel-space, 60dvh),var(--view3d-menu-height, 480px));overflow-y:auto;overscroll-behavior:contain;box-sizing:border-box;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--hud-bg-solid);color:var(--text);box-shadow:0 8px 28px #0003;font:12px/1.5 var(--sans);text-align:left}.toolbar-panel-content[hidden]{display:none}.toolbar-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.toolbar-panel-heading>strong{font-size:13px}.toolbar-panel-content h4{margin:14px 0 8px;font-size:11px;color:var(--text-3)}.toolbar-panel-content>.check{display:flex;margin:8px 0}.toolbar-panel-content>.btn{margin:4px 5px 4px 0}.toolbar-panel-content p{margin:0 0 10px}.camera-night-controls{display:grid;gap:10px;min-width:0}.camera-night-controls label{display:flex;flex-direction:column;align-items:stretch;gap:5px}.camera-night-controls input,.camera-night-controls select{width:100%;max-width:100%;box-sizing:border-box}.camera-night-controls fieldset{display:grid;gap:10px;min-width:0;border:0;padding:10px 0 0;margin:0}.camera-night-controls p{margin:0}.toolbar-panel-content details>summary{cursor:pointer}.view3d-bar:has(.toolbar-panel-trigger[aria-expanded=true]){z-index:30}.stage-3d .view3d-bar{justify-content:flex-start;align-items:center;gap:6px;padding:7px 9px;max-height:none;overflow:visible}.view3d-toolbar-content{display:contents}.view3d-toolbar-content[hidden],.view3d-bar[data-collapsed=true]>.edit3d-context{display:none}.stage-3d .view3d-bar[data-floating=true]{right:auto;width:min(960px,calc(100% - 24px));box-sizing:border-box;z-index:14}.stage-3d .view3d-bar[data-collapsed=true]{right:auto;width:max-content;max-width:calc(100% - 24px);padding:4px 6px;box-sizing:border-box}.view3d-toolbar-actions{display:flex;flex:none;gap:3px;align-items:center}.view3d-toolbar-actions .btn{height:30px;min-width:26px;padding:0 5px}.view3d-toolbar-actions .view3d-drag-handle{cursor:grab;touch-action:none;border-color:transparent;background:transparent}.stage-3d .view3d-bar[data-dragging=true]{z-index:35;-webkit-user-select:none;user-select:none}.stage-3d .view3d-bar:has(.toolbar-panel-trigger[aria-expanded=true]){z-index:30}.view3d-bar[data-dragging=true] .view3d-drag-handle{cursor:grabbing}.view3d-collapse>span:first-child:not(:only-child){display:flex;flex-direction:column;align-items:flex-start;line-height:1.25}.view3d-collapse small{font-size:10px;font-weight:400;color:var(--text-3);max-width:170px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.view3d-navigation{display:flex;flex:1 1 min(480px,calc(100% - 72px));align-items:center;min-width:0;gap:6px;overflow-x:auto;scrollbar-width:thin}.view3d-navigation>*,.view3d-navigation .seg{flex:none}.view3d-navigation .btn,.view3d-navigation .seg button{white-space:nowrap}.view3d-navigation select[aria-label="Preview sensor module"]{width:190px;max-width:190px;text-overflow:ellipsis}.view3d-bar .toolbar-panel-trigger{min-height:32px;height:auto;padding:4px 8px}.view3d-bar .scene-asset-status{order:4;font-size:10px}.view3d-bar .toolbar-panel-content .lighting-preview-controls{display:flex;flex-direction:column;align-items:stretch;gap:10px}.toolbar-panel-content .lighting-preview-controls>label{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px}.toolbar-panel-content .lighting-preview-controls>label select{width:auto;max-width:200px}.toolbar-panel-content .lighting-preview-help,.toolbar-panel-content .building-level-list,.toolbar-panel-content .sky-guide>div{position:static;transform:none;width:100%;max-width:100%;max-height:none;box-sizing:border-box;margin-top:8px;padding:10px;box-shadow:none}.toolbar-panel-content .sky-guide{margin:10px 0}.toolbar-panel-content .building-controls{margin-top:12px}.toolbar-panel-content .building-controls>details,.toolbar-panel-content .building-view-note{width:100%}.toolbar-panel-content .building-level-row{gap:5px}.walk-note>summary{cursor:pointer;font:12px var(--sans)}.walk-note[open]>summary{margin-bottom:10px}.editor-app .editor-subbar{position:relative;min-height:46px}.editor-app .editor-context{display:flex;flex:none;align-items:center;gap:10px;margin:0 16px 0 58px;padding:4px 12px;background:var(--ink-800);border:1px solid var(--line);border-top:0}.editor-context .toolbar-panel-trigger{box-shadow:none;border-color:transparent;height:28px}.editor-context .toolbar-panel-trigger>span:first-child{flex-direction:row;align-items:center;gap:10px}.editor-context .toolbar-panel-trigger small{font-size:11px}.editor-context .toolbar-panel-content,.site-actions-menu .toolbar-panel-content{z-index:65}.workflow-menu .project-workflow{display:block;margin:0;border:0}.workflow-menu .project-workflow nav{flex-direction:column;overflow:visible;padding:0 0 8px}.workflow-menu .project-workflow nav button>span{display:grid}.workflow-menu .review-summary{display:flex;flex-direction:column;align-items:stretch;padding:8px 0 0}.workflow-menu .review-summary button{display:flex;justify-content:space-between;padding:6px 8px}.site-action-list{display:flex;flex-direction:column;gap:4px}.site-action-list .btn{justify-content:flex-start;border-color:transparent;box-shadow:none}@media(max-width:700px){.editor-app .editor-context{margin:0 12px 0 46px;padding:3px 8px;gap:3px}.editor-context .toolbar-panel-trigger small{display:none}}.sky-guide{position:relative;font-size:11px}.sky-guide>summary{cursor:pointer;white-space:nowrap}.sky-guide>div{position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%);width:min(290px,calc(100vw - 90px));padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:var(--hud-bg-solid);color:var(--text-2);box-shadow:0 8px 24px #0002;z-index:6;line-height:1.5}.sky-guide p{margin:0 0 10px}.sky-guide p:last-child{margin:0}.view3d-bar select[aria-label="3D scope"]{width:auto;max-width:180px}.building-controls{position:relative;display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;width:100%;border-top:1px solid var(--line);padding-top:8px;font-size:11px}.building-controls .check{margin:0;gap:5px;white-space:nowrap}.building-legend:not(.collapsed){width:270px;max-width:calc(100% - 24px);max-height:calc(100% - var(--view3d-toolbar-height, 40px) - 85px);overflow-y:auto}.building-coverage-key{margin-bottom:9px;color:var(--text-2);font-size:11px}.building-coverage-key select{display:block;width:100%;margin:5px 0}.building-coverage-key>div,.building-coverage-note{font-size:10px;color:var(--text-3);line-height:1.5}.building-coverage-note{margin:8px 0}.building-view-note{flex:1 1 270px;color:var(--text-2);line-height:1.5}.building-levels{position:static}.building-levels summary{cursor:pointer;padding:4px}.building-level-list{position:absolute;top:100%;left:0;z-index:30;width:270px;max-width:min(100%,calc(100vw - 90px));max-height:min(330px,42dvh);overflow-y:auto;background:var(--hud-bg);border:1px solid var(--line);border-radius:8px;padding:10px;box-shadow:var(--shadow-lg)}.building-level-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:10px}.building-level-row label{display:flex;align-items:center;gap:8px;min-width:0;cursor:pointer}.building-level-row label span{overflow-wrap:anywhere}.building-level-row small{display:block;color:var(--text-3);padding-top:2px}.shell-reference-note{flex-basis:100%;font-size:11px;color:var(--text-2)}.shell-reference-note>span{display:inline-block;width:23px;margin-right:6px;border-top:2px dashed var(--accent);vertical-align:middle;opacity:.65}.dim-switch .shell-reference-toggle{width:auto;font-size:11px;padding:0 7px}.dim-switch .shell-reference-toggle[aria-pressed=true]{color:var(--accent-ink);background:var(--accent-soft)}.dim-switch{width:max-content;max-width:calc(100% - 24px);flex-wrap:wrap;justify-content:flex-end;align-items:center}.dim-switch button{flex:none;white-space:nowrap}.workspace[data-dimension="3d"] .dim-switch{bottom:12px}.orbit-navigation{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.orbit-navigation span{font-size:11px;color:var(--text-2)}.stage-3d[data-navigation=pan]>canvas{cursor:grab}.stage-3d[data-navigation=pan]>canvas:active{cursor:grabbing}.dim-switch select{width:auto;max-width:130px;height:28px;font-size:11px}@container (max-width: 700px){.workspace[data-dimension="2d"] .scorestrip{bottom:calc(var(--dim-toolbar-height, 34px) + 64px)}}.lighting-timeline{position:absolute;right:12px;bottom:100px;z-index:13;width:min(360px,calc(100% - 24px));max-height:calc(100% - 128px);overflow:auto;padding:14px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--hud-bg);box-shadow:var(--shadow-sm)}.workspace[data-dimension="3d"] .lighting-timeline{bottom:64px}.lighting-timeline-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.lighting-timeline-head strong{font-size:12px}.lighting-time-inputs{display:grid;grid-template-columns:1.4fr 1fr;gap:10px}.lighting-time-inputs label,.light-library-controls label,.light-import-review label{display:flex;flex-direction:column;gap:5px;font-size:12px;min-width:0}.lighting-time-inputs input{min-width:0;width:100%}.lighting-time-slider{width:100%;height:28px;margin:8px 0 0;accent-color:var(--accent-ink);cursor:ew-resize}.lighting-timeline .hint{font-size:11px;margin:7px 0}.light-library-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;border:0;padding:0;margin-bottom:16px}.light-library-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.light-library-head .btn{flex-shrink:0}.light-library-entries{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}.light-library .design-card{margin:0;overflow-wrap:anywhere}.light-library .design-card p{font-size:12px;margin:6px 0}.light-library .button-row{margin-top:12px}.light-import-review .design-card{margin:10px 0}.light-import-review dl{font-size:12px}.light-import-action{float:right;color:var(--accent-ink);font-size:12px}.auto-lighting-dialog{display:grid;grid-template-columns:minmax(240px,310px) minmax(0,1fr);gap:24px}.auto-light-preview{width:100%;height:330px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--ink-900)}.auto-lighting-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.auto-lighting-stats div{display:flex;flex-direction:column;gap:5px;font-size:11px}.auto-lighting-stats strong{font-size:18px}.auto-lighting-progress{margin-top:12px;font-size:12px}.auto-lighting-progress progress{width:100%;accent-color:var(--accent-ink)}@media(max-width:700px){.auto-lighting-dialog{grid-template-columns:1fr;gap:16px}.auto-light-preview{height:260px}.lighting-timeline{bottom:176px;max-height:calc(100% - 195px);padding:10px}.workspace[data-dimension="3d"] .lighting-timeline{bottom:140px;max-height:calc(100% - 160px)}.light-library-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.light-library-entries{grid-template-columns:1fr}}.scorestrip .cell:nth-child(5) .v{font-size:12px;max-width:170px}@media(max-width:700px){.app{height:100dvh}.project-workflow{margin:0 12px 0 46px}.project-workflow nav{gap:1px;padding:3px}.project-workflow nav button{padding:5px 8px;font-size:11px}.project-workflow nav button>span{display:none}.review-summary{flex-wrap:nowrap;overflow-x:auto;padding:3px 8px;gap:14px}.review-summary button{white-space:nowrap}.workspace .panel:not(.collapsed){position:absolute;width:auto;left:46px;right:0;top:auto;bottom:0;height:46%;min-height:230px;max-height:420px;z-index:27;border-radius:12px 12px 0 0;border:1px solid var(--line);box-shadow:var(--shadow-lg)}.workspace .panel.collapsed{width:0}.workspace[data-panel-open=true]>.drawing-surface{align-self:flex-start;height:calc(100% - clamp(230px,46%,420px))}.panel:not(.collapsed) .mobile-panel-actions{display:flex;align-items:center;justify-content:space-between;padding:7px 10px;flex:none;border-bottom:1px solid var(--line);font-size:12px}.panel .panel-grip,.panel .inspector-heading{display:none}.panel .tabs{flex-wrap:nowrap;overflow-x:auto;padding:0 3px}.panel .tab{flex:none;padding:9px;font-size:11px}.panel-toggle{right:8px!important;top:auto;bottom:64px;transform:none}.workspace[data-dimension="2d"]>.panel-toggle{bottom:136px}.workspace[data-dimension="3d"]>.panel-toggle{bottom:96px}.workspace[data-panel-open=true]>.panel-toggle{display:none}.panel-toggle.closed{width:auto;height:32px;padding:0 10px;flex-direction:row;border-radius:6px}.panel-toggle.closed .pt-label{writing-mode:initial;letter-spacing:0;text-transform:none}.view3d-bar{gap:5px;padding:8px}.view3d-bar .mobile-view-options{display:inline-flex}.view3d-extra{display:none}.view3d-extra.expanded{display:flex;flex-wrap:wrap;gap:6px;width:100%}.view3d-bar .seg{max-width:100%;overflow-x:auto}.view3d-bar .seg button{padding:5px 7px;font-size:11px}.edit3d-context{gap:5px}.edit3d-option select{max-width:140px}.setup-guide{width:310px;padding:18px}.setup-guide h2{font-size:18px}.setup-guide p{font-size:12px}.setup-guide .btn{min-height:34px}.hud-hint{display:none}.planner-readiness>div{align-items:flex-start;flex-direction:column;gap:5px}.planner-sections{gap:4px}.planner-sections .btn{padding:0 8px;font-size:11px}.catalogue-more-filters>div{grid-template-columns:repeat(2,minmax(0,1fr))}.catalogue-row{flex-wrap:wrap}.catalogue-row .main{min-width:70%}.export-options{flex-direction:column;align-items:stretch;gap:10px}.toasts{max-width:calc(100vw - 24px)}}.spinner{display:inline-block;vertical-align:middle}.activity-status{background:var(--ink-850);border:1px solid var(--line-2);color:var(--text);font-size:12px}.activity-status.global{position:fixed;right:20px;bottom:18px;z-index:90;width:min(480px,calc(100vw - 32px));border-radius:9px;box-shadow:var(--shadow-lg);overflow:hidden}body:has(.workspace) .activity-status.global{bottom:82px}body:has(dialog[open]) .activity-status.global{display:none}.activity-status.embedded{border-width:1px 0 0}.activity-summary{display:flex;align-items:center;gap:10px;padding:10px 12px}.activity-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-elapsed{font-size:11px;font-variant-numeric:tabular-nums;color:var(--text-3);white-space:nowrap}.activity-progress{height:4px;background:var(--ink-700);overflow:hidden;border-radius:3px}.activity-progress>i{display:block;height:100%;background:var(--accent);transition:width .2s linear}.activity-progress.indeterminate>i{width:35%;animation:activitySweep 1.6s ease-in-out infinite}@keyframes activitySweep{0%{transform:translate(-100%)}to{transform:translate(390%)}}.activity-list{list-style:none;padding:0 12px;margin:0;max-height:min(30vh,240px);overflow-y:auto}.activity-list li{padding:12px 0;border-top:1px solid var(--line)}.activity-list li>div:first-child{display:flex;align-items:center;gap:10px}.activity-list b{flex:1;font-weight:500}.activity-list p{margin:7px 0;color:var(--text-2)}.activity-list .activity-progress{margin-top:8px}.planner-progress{max-width:660px;margin:0 auto;padding:20px 8px}.planner-progress-title{display:flex;align-items:center;gap:12px}.planner-progress-title h3{margin:0;font-size:16px}.planner-progress-title .spinner{width:22px;height:22px}.planner-progress-message{min-height:2.8em;margin:22px 0 12px;color:var(--text-2)}.planner-progress .activity-progress{height:8px}.planner-progress-meta{display:flex;justify-content:space-between;gap:12px;margin-top:10px;color:var(--text-3);font-size:12px}.planner-progress-layouts{list-style:none;padding:0;margin:24px 0;display:grid;gap:12px}.planner-progress-layouts li{display:flex;align-items:center;gap:10px;color:var(--text-3)}.planner-progress-layouts li[aria-current]{color:var(--accent)}.planner-progress-layouts li>span{display:grid;place-items:center;width:24px;height:24px;border:1px solid var(--line-2);border-radius:50%}.planner-progress-layouts b{flex:1;font-weight:500}.planner-progress>.hint{margin:24px 0 0}@media(max-height:650px){.planner-progress{padding:4px}.planner-progress-message{margin-top:12px}.planner-progress-layouts{margin:12px 0;gap:6px}}@media(max-width:520px){.activity-summary{gap:7px}.activity-summary>.activity-elapsed{display:none}.planner-progress{padding:4px}}@media(prefers-reduced-motion:reduce){.activity-progress>i{transition:none}.activity-progress.indeterminate>i{animation:none;width:100%;opacity:.45}}@media print{.activity-status{display:none}}.lighting-pane .sect,.lighting-pane .design-fields{min-width:0}.lighting-pane details>summary{cursor:pointer}.lighting-pane .button-row{flex-wrap:wrap;margin-block:8px}.lighting-pane .design-card p{font-size:12px;line-height:1.6;overflow-wrap:anywhere}.lighting-pane .form-error{color:var(--bad, #b94545);font-size:12px}.lighting-empty,.lighting-summary{border:1px solid var(--line);background:var(--ink-800);border-radius:8px;padding:12px}.lighting-summary{margin-top:12px}.lighting-summary>strong{display:block;font-size:21px}.lighting-summary>span{font-size:11px;color:var(--text-3)}.lighting-summary p{font-size:12px;line-height:1.5}.lighting-comparison{overflow-x:auto;margin-top:12px}.lighting-comparison table{width:100%;border-collapse:collapse;font-size:11px}.lighting-comparison th,.lighting-comparison td{padding:8px 5px;border-bottom:1px solid var(--line);text-align:left}.lighting-comparison .text-link{background:none;border:0;color:var(--accent-ink);font:inherit;cursor:pointer;text-align:left}.lighting-key{display:grid;grid-template-columns:1fr 1fr;gap:7px;font-size:11px}.lighting-key i,.condition-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px}.condition-dot.met{background:#249773}.condition-dot.shortfall{background:#d88326}.condition-dot.unknown{background:#ad73c9}.lux-ramp{height:10px;border-radius:3px;background:linear-gradient(90deg,#17243f,#4059a9,#357fac,#23b58e,#e5d14d,#f8902a,#ed5353)}.lux-ticks{display:flex;justify-content:space-between;font-size:9px;margin-top:5px}.lighting-legend{min-width:250px;max-width:min(350px,calc(100% - 24px))}.lighting-legend .button-row{display:flex;flex-wrap:wrap;gap:5px}.lighting-legend.collapsed .legend-head h4{display:block;padding-left:5px}.proposal-lighting{padding:10px;border:1px solid var(--line);border-radius:7px;margin-top:10px;font-size:12px}.studio-lighting-label{font-size:10px;color:var(--text-3);flex-basis:100%}.panel .tabs .tab{flex:1 0 23%;min-width:0;padding-inline:4px}.lighting-start h3{margin-bottom:6px}.lighting-welcome{padding:16px;border:1px solid var(--line);border-radius:10px;background:var(--accent-soft)}.lighting-welcome>p{font-size:12px;line-height:1.6;color:var(--text-2)}.lighting-condition{display:flex;align-items:end;gap:8px;margin:14px 0}.lighting-condition .design-field{flex:1;min-width:0;margin:0}.lighting-condition .btn{flex-shrink:0;margin-bottom:2px}.lighting-steps{display:flex;gap:4px;padding:4px;margin:14px 0;background:var(--ink-800);border:1px solid var(--line);border-radius:9px}.lighting-steps button{display:flex;align-items:center;justify-content:center;gap:5px;flex:1;min-width:0;padding:9px 3px;border:0;border-radius:6px;background:none;color:var(--text-2);font:inherit;font-size:11px;cursor:pointer}.lighting-steps button[aria-current]{background:var(--accent-soft);color:var(--accent-ink);font-weight:600}.lighting-steps button>span{display:grid;place-items:center;width:18px;height:18px;border:1px solid currentColor;border-radius:50%;font-size:10px}.lighting-steps button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.lighting-advanced{margin:14px 0;border-top:1px solid var(--line);padding-top:12px}.lighting-advanced>summary{color:var(--text-2);font-size:12px}.lighting-advanced[open]>summary{margin-bottom:12px}.lighting-next{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.lighting-notice{padding:10px 12px;background:var(--ink-800);border-left:3px solid var(--accent);border-radius:4px;font-size:12px;line-height:1.6}.lighting-pane .text-link{border:0;padding:0;background:none;color:var(--accent-ink);font:inherit;text-decoration:underline;cursor:pointer}.lighting-place{width:100%;white-space:normal}.lighting-target>strong{font-size:12px}.lighting-target>details{font-size:12px;color:var(--text-2)}.lighting-pane .lighting-summary>strong{font-size:19px}.guide-link{padding:0;border:0;background:none;color:var(--accent-ink);text-decoration:underline;text-underline-offset:3px;font:inherit;font-size:12px;cursor:pointer}.guide-link:focus-visible,.field-help>summary:focus-visible,.planner-advanced>summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}.context-guide{margin:14px 16px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--accent-soft)}.context-guide p{margin:0;font-size:12px;line-height:1.6;color:var(--text-2)}.guide-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:10px}.inspector-heading>.guide-link{margin-left:auto}.field-help{margin:12px 0;font-size:12px;color:var(--text-2)}.field-help>summary{cursor:pointer;color:var(--accent-ink)}.field-help[open]>div{padding:10px 12px;margin-top:8px;background:var(--ink-800);border:1px solid var(--line);border-radius:7px}.field-help p{margin:6px 0;line-height:1.65}.help-guide{max-width:100%;overflow-wrap:anywhere}.help-guide>h3{font-size:20px;margin:22px 0 10px}.help-guide>p{font-size:14px;line-height:1.7;color:var(--text-2)}.help-steps{padding-left:24px;margin:20px 0}.help-steps>li{padding-left:5px;margin:0 0 18px;line-height:1.6}.help-steps>li::marker{color:var(--accent-ink);font-weight:600}.help-steps strong{font-size:14px;color:var(--text)}.help-steps p{margin:4px 0 0;color:var(--text-2);font-size:13px}.help-guide .help-note{font-size:12px;padding:12px;border-left:3px solid var(--accent);background:var(--ink-800)}.help-preferences{align-items:flex-start;flex-direction:column;gap:5px}.help-preferences .hint{margin:0}.planner-advanced{border-top:1px solid var(--line);padding-top:12px;margin-top:12px}.planner-advanced>summary{cursor:pointer;font-size:13px;color:var(--text-2);margin-bottom:12px}@media(max-width:700px){.context-guide{margin:10px 12px}.help-guide>h3{font-size:18px}}.lighting-preview-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px;flex-basis:100%;font-size:11px}.view3d-bar:has(.lighting-preview-controls>details[open]){z-index:13}.lighting-preview-controls>details{position:static}.lighting-preview-controls>label{display:inline-flex;align-items:center;gap:6px;margin:0}.lighting-preview-controls>label select{width:auto;max-width:130px}.lighting-preview-controls summary{cursor:pointer}.lighting-exposure-status{color:var(--text-2);border:1px solid var(--line);border-radius:5px;padding:3px 6px}.lighting-render-status{flex:0 0 180px;font-variant-numeric:tabular-nums}.lighting-room-review{margin:14px 0}.lighting-room-review>summary{cursor:pointer;font-weight:600}.lighting-room-result{margin-top:10px;padding:10px;border:1px solid var(--line);border-radius:7px}.lighting-room-result.selected{border-color:#b45309}.lighting-room-result>button{white-space:normal;text-align:left}.lighting-room-result p{margin:7px 0 0}.lighting-preview-help{position:absolute;z-index:15;top:calc(100% + 8px);left:0;width:min(340px,100%);max-height:min(55vh,var(--view3d-menu-height, 360px));overflow-y:auto;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--ink-800);color:var(--text);box-shadow:0 8px 30px #0003}.lighting-preview-help p{margin:0 0 10px;line-height:1.5}.lighting-performance dl{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;margin:0 0 12px}.lighting-performance dt{color:var(--text-2)}.lighting-performance dd{margin:0;font-variant-numeric:tabular-nums}.lighting-preview-help label{display:grid;gap:4px;margin-bottom:8px}.lighting-preview-help input{width:100%}.lighting-preview-help label:has(input[type=checkbox]){display:flex;align-items:center;gap:8px}.lighting-preview-help input[type=checkbox]{width:auto}.lighting-preview-issue,.lighting-preview-warning{flex-basis:100%;margin:0}.capture-badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;line-height:1.5;color:var(--text)}.capture-comparison-head{justify-content:space-between}.capture-comparison-head .btn{flex-shrink:0}.capture-badge i{width:9px;height:9px;flex:none;border-radius:50%;border:1px solid currentColor;background:var(--text-3)}.capture-badge.met i{background:#249773}.capture-badge.shortfall i{background:#d88326}.capture-badge.unknown i{background:#ad73c9;border-radius:2px}.lighting-target>.capture-badge{display:flex;margin-top:5px}.capture-comparison-summary{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.capture-comparison-summary>div{flex:1;min-width:140px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--ink-800)}.capture-comparison-summary strong{display:block;font-size:24px;margin-bottom:5px}.capture-comparison-filters{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.capture-comparison-filters label{display:grid;gap:6px;flex:1;min-width:min(180px,100%);font-size:12px}.capture-comparison-filters input,.capture-comparison-filters select{width:100%;min-width:0}.capture-matrix{overflow:auto;max-height:44vh;border:1px solid var(--line);border-radius:8px}.capture-matrix table{min-width:100%;width:max-content;border-collapse:collapse;font-size:12px}.capture-matrix th,.capture-matrix td{padding:10px;border-bottom:1px solid var(--line);text-align:left;max-width:260px}.capture-matrix thead th{position:sticky;top:0;z-index:1;background:var(--ink-800)}.capture-matrix small{display:block;color:var(--text-3);font-size:11px;font-weight:400;margin:4px 0}.capture-matrix tbody th strong{display:block}.capture-cell{display:block;width:100%;min-width:155px;padding:9px;background:transparent;border:1px solid transparent;border-radius:6px;text-align:left;cursor:pointer}.capture-cell[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent)}.capture-cell:focus-visible,.capture-matrix:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.capture-detail{border:1px solid var(--line);border-radius:8px;margin-top:16px;padding:16px}.capture-detail h3{margin:0 0 8px;font-size:15px}.capture-detail p{font-size:12px;line-height:1.6}.capture-detail dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));gap:12px;font-size:12px}.capture-detail dt{color:var(--text-3);margin-bottom:4px}.capture-detail dd{margin:0;overflow-wrap:anywhere}.capture-detail .button-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.capture-detail .btn{white-space:normal}.assessment-scope{padding:10px 12px;margin:10px 0;border:1px solid var(--line);border-left:3px solid var(--accent, #2563eb);border-radius:6px;background:var(--ink-750)}.assessment-scope strong,.assessment-scope small{display:block}.capture-checks{display:grid;grid-template-columns:1fr;gap:4px;margin:10px 0;font-size:11px}.capture-checks>div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:3px 0}.capture-checks dt,.capture-checks dd{margin:0}.capture-checks dd{text-align:right;font-weight:500}.capture-checks .shortfall{color:var(--crit-ink)}.capture-checks .unknown,.capture-checks .unchecked{color:var(--text-2)}.cost-field{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,1fr);gap:8px;align-items:end;margin:8px 0}.cost-field label{display:grid;gap:5px;font-size:12px}.cost-field input,.cost-field select{min-width:0;width:100%}.estimate-incomplete{font-size:12px;line-height:1.5;color:var(--text-2)}.workspace-overlays{position:absolute;z-index:11;left:12px;top:12px;bottom:calc(var(--dim-toolbar-height, 34px) + 28px);width:min(310px,calc(100% - 24px));overflow:auto;display:flex;flex-direction:column;align-items:stretch;gap:8px;pointer-events:none;scrollbar-width:thin}.workspace[data-dimension="3d"] .workspace-overlays{top:calc(var(--view3d-toolbar-height, 40px) + 24px)}.workspace-overlays:empty{display:none}.workspace-overlays>*{position:relative!important;inset:auto!important;transform:none!important;width:100%!important;max-width:100%!important;max-height:none!important;flex:none;pointer-events:auto;margin:0}.workspace-overlays .fpv-readout>summary{cursor:pointer;font-size:12px;font-weight:600}.workspace-overlays .minimap svg{height:100px}.lighting-preview-settings{width:100%}.lighting-preview-settings>summary{cursor:pointer;font-size:11px}.draft-actions{left:12px;top:84px;display:flex;flex-wrap:wrap;gap:6px;align-items:center;z-index:14;max-width:calc(100% - 24px)}.stage canvas:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.inspector-section-select{display:grid;grid-template-columns:110px minmax(0,1fr);align-items:center;gap:8px;font-size:11px;padding:8px 12px}.inspector-section-select select{width:100%}@media(max-width:900px),(max-height:650px){.view3d-bar{max-height:45%;overflow:auto;align-content:flex-start}.sky-guide[open]{width:100%}.sky-guide>div{position:static;transform:none;width:100%;box-sizing:border-box;margin-top:8px}.view3d-bar .mobile-view-options{display:inline-flex}.view3d-extra{display:none}.view3d-extra.expanded{display:flex;flex-wrap:wrap;gap:6px;width:100%}.workspace-overlays{width:min(270px,calc(100% - 24px))}.studio-lighting-label,.lighting-interior-prompt{display:none}.review-summary{flex-wrap:nowrap;overflow-x:auto}.review-summary button{flex:none}}.delivery-readiness dl>div{padding:8px 0;border-bottom:1px solid var(--line)}.delivery-readiness dt{font-size:12px;font-weight:600}.delivery-readiness dd{margin:4px 0 0;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px}.delivery-actions{display:grid;gap:8px;margin-top:14px}.report-detail-choice{display:flex;align-items:center;gap:12px;padding:10px 20px}.report-detail-choice select{width:auto}.report .delivery-readiness{padding:0 0 16px}.share-info{flex:1;min-width:0}.share-info b,.share-info small,.share-info .share-url{display:block}.share-info small{margin:4px 0}.share-info .share-url{overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.share-row{flex-wrap:wrap}.guided-tour h3{font-size:14px;margin:8px 0}.guided-tour p{font-size:12px;line-height:1.5}.guided-tour .button-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.help-search-results{display:grid;gap:6px;margin:10px 0}.camera-subsection{margin:12px 0;border-top:1px solid var(--line);padding-top:12px}.row-item button.main{border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;padding:0}.design-fields .grid2>.cost-field{grid-column:1 / -1}.project-open{border:0;padding:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.project-open:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.light-library-sources{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.heading-preview{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--text-2)}.heading-preview svg{flex:none}.draft-actions{pointer-events:auto}.lighting-quick-time{display:grid;gap:4px;font-size:11px;min-width:0}.lighting-quick-time input{min-width:0;width:112px}.lighting-timeline-head{margin-top:8px}.drawing-surface:has(.workspace-overlays>*) .hud-hint{display:none}@media(max-width:900px),(max-height:650px){.workspace .workspace-overlays{top:auto!important;bottom:calc(var(--dim-toolbar-height, 34px) + 24px);width:min(330px,calc(100% - 24px));max-height:calc(100% - var(--view3d-toolbar-height, 40px) - var(--dim-toolbar-height, 34px) - 48px)}.workspace[data-dimension="2d"] .workspace-overlays{max-height:calc(100% - var(--dim-toolbar-height, 34px) - 48px)}.lighting-timeline.compact{padding:8px}.lighting-timeline.compact .lighting-timeline-head{margin:0 0 5px;gap:5px}.lighting-timeline.compact .lighting-quick-time{font-size:0;gap:0}.lighting-timeline.compact .lighting-quick-time input{font-size:11px;height:28px;width:91px}.lighting-timeline.compact .btn{padding:0 6px;font-size:10px;min-height:28px;white-space:nowrap}.lighting-timeline.compact .lighting-time-slider{margin:4px 0;height:14px}}@media(max-height:650px){.project-workflow{display:none}.workspace-overlays .walk-note>div:first-child,.workspace-overlays .walk-position{display:none}}.dim-switch .compact-inspector{display:none}@media(max-width:900px),(max-height:650px){.workspace>.panel-toggle{display:none}.dim-switch .compact-inspector{display:inline-flex;align-items:center;width:auto;padding:0 7px}}.selected-camera-heading{position:sticky;top:-14px;z-index:2;padding:8px 0;background:var(--ink-800)}.selected-camera-heading nav{display:flex;flex-wrap:wrap;gap:4px}.selected-camera-heading .btn{font-size:10px;padding:0 6px}.field-source{display:block;font-size:10px;color:var(--text-2);line-height:1.4}.sample-intro{display:flex;gap:32px;justify-content:space-between;align-items:flex-end;margin:8px 0 28px}.sample-intro h1{margin:10px 0;font-size:30px;letter-spacing:-.7px}.sample-intro p{max-width:640px;color:var(--muted);line-height:1.65;margin:0 0 12px}.sample-eyebrow{color:var(--blue,#2563eb);font-size:11px;letter-spacing:1.7px;font-weight:650}.sample-note{display:inline-flex;gap:7px;align-items:center;font-size:12px;color:var(--muted)}.sample-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px}.sample-card{border:1px solid var(--line,#dde1e7);border-radius:13px;overflow:hidden;color:inherit;text-decoration:none;background:var(--panel,#fff);display:flex;flex-direction:column;transition:box-shadow .18s,border-color .18s}.sample-card:hover,.sample-card:focus-visible{border-color:var(--blue,#2563eb);box-shadow:0 6px 22px #1b355416}.sample-art{position:relative;height:205px;background:#eff3ef;overflow:hidden}.sample-art img{width:100%;height:100%;object-fit:contain;padding:12px}.sample-art>span{position:absolute;top:12px;left:12px;background:#fffffff0;border:1px solid #ffffff;color:#334155;border-radius:6px;padding:5px 8px;font-size:11px}.sample-art .sample-floor-count{left:auto;right:12px}.sample-card-body{padding:21px;display:flex;flex-direction:column;flex:1;gap:13px}.sample-card h2{font-size:17px;line-height:1.4;margin:0}.sample-card p{color:var(--muted);font-size:13px;line-height:1.6;margin:0}.sample-facts{display:flex;flex-wrap:wrap;gap:12px;font-size:11px;color:var(--muted)}.sample-facts span{display:inline-flex;align-items:center;gap:5px}.sample-tags{display:flex;gap:6px;flex-wrap:wrap}.sample-tags span{padding:4px 7px;border-radius:4px;background:var(--hover,#f3f5f7);color:var(--muted);font-size:10px}.sample-open{margin-top:auto;padding-top:5px;display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:600;color:var(--blue,#2563eb)}.sample-disclaimer{font-size:12px;line-height:1.6;color:var(--muted);margin:24px 0;max-width:880px}.sample-guide{background:var(--panel,#fff);border-bottom:1px solid var(--line,#dfe3e8);flex:none;font-size:12px}.sample-guide summary{display:flex;gap:12px;align-items:center;cursor:pointer;padding:8px 20px 8px 78px;color:var(--muted)}.sample-guide summary b{color:var(--ink,#243042);font-weight:550}.sample-guide>div{padding:0 22px 14px 78px;max-width:900px;line-height:1.65}@media(max-width:760px){.sample-intro{align-items:stretch;flex-direction:column;gap:16px}.sample-grid{grid-template-columns:1fr}.sample-guide summary>span:not(.grow){display:none}}
