.plan-px{transform:scale(var(--plan-mpp,.05));transform-origin:0 0;transform-box:view-box}.plan-grid{fill:var(--plan-grid-fill,url(#large-grid))}.plan-grid-line{stroke-width:calc(var(--plan-mpp,.05) * 1px)}.plan-object-hatch{fill:var(--plan-hatch-fill,url(#plan-hatch-15))}.plan-image.is-greyscale{filter:grayscale()}.plan-object{--obj-px:calc(var(--obj-m,1) / var(--plan-mpp,.05))}.plan-object-neutral,.plan-silhouette{opacity:clamp(0,calc((var(--obj-px) - 15.999) * 1000),1)}.plan-object-dot{opacity:clamp(0,calc((5.999 - var(--obj-px)) * 1000),1)}.plan-svg:focus-visible{outline-offset:-2px}.plan-hover-halo{opacity:0}.plan-camera:hover .plan-hover-halo{opacity:1}.plan-wall:not(.is-selected):hover>polygon:first-child{stroke:var(--plan-hover);stroke-opacity:.35;stroke-width:8px;stroke-linejoin:round;paint-order:stroke}.plan-object:not(.is-selected):hover>polygon[data-physical-object]{stroke:var(--plan-hover);stroke-width:3px}.plan-cable:not(.is-selected):hover>polyline:first-of-type,.saved-measurement-geometry:not(.is-selected):hover>polyline:first-of-type,.saved-measurement-geometry:not(.is-selected):hover>polygon:first-of-type{stroke:var(--plan-hover)}.plan-svg.is-dragging{cursor:crosshair}.plan-svg.is-dragging .plan-camera.is-selected .plan-camera-disc{opacity:.85}.plan-labels text,.plan-overlay-text{font-family:var(--font-ui);font-feature-settings:"cv05" 1,"cv08" 1,"tnum" 1}.plan-orientation{top:var(--space-4);right:var(--space-4);z-index:var(--z-canvas-overlay);align-items:flex-end;gap:var(--space-2);pointer-events:none;flex-direction:column;display:flex;position:absolute}.plan-axes-gizmo{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);width:48px;height:48px;box-shadow:var(--shadow-2)}.plan-axes-gizmo svg{display:block}.plan-axes-gizmo text{font-family:var(--font-ui)}.plan-scale-bar{align-items:center;gap:var(--space-2);background:var(--bg-overlay);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-size:var(--text-xs);color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap;padding:4px 8px;font-weight:500;line-height:16px;display:flex}.plan-scale-bar svg{flex:none;display:block}@media (width<=767px){.plan-axes-gizmo{display:none}}.report-doc{background:var(--bg-app);padding:0}.report-doc .report-actions{z-index:var(--z-sticky);justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-8);background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);box-shadow:var(--shadow-1);flex-wrap:wrap;display:flex;position:sticky;top:0}.report-doc .report-actions-title{align-items:baseline;gap:var(--space-3);min-width:0;display:flex}.report-doc .report-actions-title h2{font-size:var(--text-xl);line-height:var(--text-xl-lh);font-weight:var(--text-xl-weight);letter-spacing:var(--text-xl-tracking);color:var(--text-strong);margin:0}.report-doc .report-actions-title span{font-size:var(--text-sm);line-height:var(--text-sm-lh);color:var(--text-secondary)}.report-doc .report-actions-buttons{gap:var(--space-2);flex-wrap:wrap;display:flex}.report-doc .report-actions-buttons button{min-height:var(--control-height);gap:var(--space-2);font-size:var(--text-md);font-weight:var(--text-md-button-weight);padding:0 14px}.report-doc .report-sheet{max-width:1120px;padding:var(--space-6) var(--space-8) var(--space-12);gap:var(--space-6);flex-direction:column;margin:0 auto;display:flex}.report-doc .report-sheet>section{margin:0}.report-doc .report-cover-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);padding:var(--space-8) var(--space-10) var(--space-6);position:relative}.report-doc .report-cover-top{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-10);display:flex}.report-doc .report-cover-top img{width:168px;height:auto;display:block}.report-doc .report-cover-top span{font-size:var(--text-md);line-height:var(--text-md-lh);color:var(--text-secondary)}.report-doc .report-accent{border-radius:var(--radius-full);background:var(--brand-600);width:48px;height:4px;margin-bottom:var(--space-4);display:block}.report-doc .report-cover-card h1{max-width:760px;font-size:var(--text-3xl);line-height:var(--text-3xl-lh);letter-spacing:var(--text-3xl-tracking);color:var(--text-strong);overflow-wrap:anywhere;margin:0;font-weight:700}.report-doc .report-subtitle{margin:var(--space-1) 0 var(--space-6);font-size:var(--text-lg);line-height:var(--text-lg-lh);color:var(--text-secondary)}.report-doc .report-meta{gap:var(--space-4);padding:var(--space-4) 0 0;border-top:1px solid var(--border-subtle);grid-template-columns:repeat(4,minmax(0,1fr));margin:0;display:grid}.report-doc .report-meta div{min-width:0}.report-doc .report-meta dt{font-size:var(--text-xs);line-height:var(--text-xs-lh);font-weight:var(--text-xs-weight);color:var(--text-tertiary)}.report-doc .report-meta dd{margin:var(--space-1) 0 0;font-size:var(--text-md);line-height:var(--text-md-lh);color:var(--text-strong);font-feature-settings:var(--font-features-num);overflow-wrap:anywhere}.report-doc .report-disclaimer{margin:var(--space-6) 0 0;padding-top:var(--space-3);border-top:1px solid var(--border-subtle);font-size:var(--text-xs);line-height:var(--text-xs-lh);color:var(--text-tertiary)}.report-doc .report-metrics{gap:var(--space-4);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.report-doc .report-metrics>div{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);padding:var(--space-4) var(--space-5);min-width:0}.report-doc .report-metrics span{font-size:var(--text-xs);line-height:var(--text-xs-lh);font-weight:var(--text-xs-weight);color:var(--text-secondary);display:block}.report-doc .report-metrics strong{margin-top:var(--space-2);font-size:var(--text-3xl);line-height:var(--text-3xl-lh);font-weight:var(--text-3xl-weight);letter-spacing:var(--text-3xl-tracking);color:var(--text-strong);font-feature-settings:var(--font-features-num);white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.report-doc .report-metrics strong small{font-size:var(--text-md);letter-spacing:0;color:var(--text-tertiary);font-weight:400}.report-doc .report-metrics p{margin:var(--space-1) 0 0;font-size:var(--text-xs);line-height:var(--text-xs-lh);color:var(--text-tertiary)}.report-doc .report-floor{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);break-inside:avoid;overflow:hidden}.report-doc .report-floor-head{justify-content:space-between;align-items:baseline;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;display:flex}.report-doc .report-floor-head h3{font-size:var(--text-lg);line-height:var(--text-lg-lh);font-weight:var(--text-lg-weight);color:var(--text-strong);overflow-wrap:anywhere;border:0;margin:0;padding:0}.report-doc .report-floor-head span{font-size:var(--text-sm);line-height:var(--text-sm-lh);color:var(--text-secondary);font-feature-settings:var(--font-features-num)}.report-doc .report-floor-body{grid-template-columns:minmax(0,1fr) 272px;display:grid}.report-doc .report-floor-plan{background:var(--plan-bg);border-right:1px solid var(--border-subtle);min-width:0}.report-doc .report-floor-plan svg{width:100%;height:auto;max-height:560px;display:block}.report-doc .report-legend{gap:var(--space-3);padding:var(--space-4) var(--space-5);flex-direction:column;min-width:0;display:flex}.report-doc .report-legend h4{font-size:var(--text-sm);line-height:var(--text-sm-lh);color:var(--text-strong);margin:0;font-weight:600}.report-doc .report-bands{gap:var(--space-1_5);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.report-doc .report-bands li{align-items:center;gap:var(--space-2);font-size:var(--text-sm);line-height:var(--text-sm-lh);color:var(--text);grid-template-columns:20px 24px minmax(0,1fr) auto;display:grid}.report-doc .report-bands b{color:var(--text-strong);font-weight:600}.report-doc .report-bands .num{color:var(--text-secondary);font-feature-settings:var(--font-features-num)}.report-doc .report-swatch{border-radius:var(--radius-sm);border:1px solid;width:20px;height:14px;display:block}.report-doc .report-legend-caption,.report-doc .report-legend-settings{font-size:var(--text-xs);line-height:var(--text-xs-lh);color:var(--text-tertiary);margin:0}.report-doc .report-legend-settings{color:var(--text-secondary)}.report-doc .report-legend-status{font-size:var(--text-xs);line-height:var(--text-xs-lh);color:var(--text-secondary)}.report-doc .report-section>h3,.report-doc .report-section .section-heading h3{margin:0 0 var(--space-3);font-size:var(--text-xl);line-height:var(--text-xl-lh);font-weight:var(--text-xl-weight);letter-spacing:var(--text-xl-tracking);color:var(--text-strong)}.report-doc .report-table{box-shadow:var(--shadow-1)}.report-doc .report-table table{border-collapse:collapse;width:100%;font-size:var(--text-sm);line-height:var(--text-sm-lh)}.report-doc .report-table th{background:var(--n-50);font-size:var(--text-xs);line-height:var(--text-xs-lh);color:var(--n-700);text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--n-300);font-weight:600;position:sticky;top:0}.report-doc .report-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-subtle);vertical-align:top;color:var(--text)}.report-doc .report-table td small{font-size:var(--text-xs);line-height:var(--text-xs-lh);color:var(--text-secondary);display:block}.report-doc .report-table :is(th,td).num{text-align:right;font-feature-settings:var(--font-features-num)}.report-doc .report-table tbody tr:last-child td{border-bottom:0}.report-doc .report-section p,.report-doc .recording-report-section p{font-size:var(--text-sm);color:var(--text);overflow-wrap:anywhere;line-height:1.6}.report-doc .report-footnote{font-size:var(--text-xs);color:var(--text-tertiary)}.report-doc .report-caveats{padding:var(--space-5) var(--space-6);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);margin:0}.report-doc .report-caveats p{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.65}@media (width<=1100px){.report-doc .report-floor-body{grid-template-columns:1fr}.report-doc .report-floor-plan{border-right:0;border-bottom:1px solid var(--border-subtle)}.report-doc .report-meta,.report-doc .report-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.report-doc .report-actions{padding:var(--space-3) var(--space-4)}.report-doc .report-sheet{padding:var(--space-4)}.report-doc .report-cover-card{padding:var(--space-6) var(--space-4)}.report-doc .report-meta,.report-doc .report-metrics{grid-template-columns:1fr}}@media print{.report-doc .report-actions{display:none}.report-doc .report-sheet{gap:12px;max-width:none;padding:0}.report-doc :is(.report-cover-card,.report-metrics>div,.report-floor,.report-table){box-shadow:none}.report-doc .report-cover-card{break-after:page}.report-doc .report-floor-plan svg{max-height:120mm}.report-doc .report-table th{position:static}}:root{--n-0:#fff;--n-25:#fafbfc;--n-50:#f3f5f8;--n-100:#e9edf2;--n-150:#dde3ea;--n-200:#c9d1db;--n-300:#a3afbd;--n-400:#7d8a9a;--n-500:#5d6b7c;--n-600:#47546a;--n-700:#334155;--n-800:#1f2937;--n-900:#111827;--brand-50:#eef5ff;--brand-100:#dceaff;--brand-200:#b8d4ff;--brand-300:#84b4ff;--brand-500:#1877ff;--brand-600:#1366dd;--brand-700:#0f58c0;--brand-800:#0e4796;--brand-900:#0b3570;--ok-50:#e9f7ef;--ok-200:#a7ddbe;--ok-600:#167a45;--warn-50:#fff6e0;--warn-200:#f5d58a;--warn-500:#d98e04;--warn-600:#8f5b00;--err-50:#fdecea;--err-200:#f5b9b3;--err-600:#c2271b;--err-700:#9f1d14;--bg-app:var(--n-50);--bg-surface:var(--n-0);--bg-subtle:var(--n-25);--bg-hover:var(--n-100);--bg-selected:var(--brand-50);--text-strong:var(--n-900);--text:var(--n-800);--text-secondary:var(--n-600);--text-tertiary:var(--n-500);--text-disabled:var(--n-400);--text-link:var(--brand-700);--border-subtle:var(--n-150);--border:var(--n-200);--border-control:var(--n-400);--focus:var(--brand-500);--bg-overlay:var(--plan-label-bg);--plan-bg:#fff;--plan-grid-minor:#edf0f4;--plan-grid-major:#d9dfe7;--plan-axis-x:#d14343;--plan-axis-y:#2e9e5b;--plan-wall:#3a4655;--plan-wall-selected:#1366dd;--plan-object-fill:#e4e8ee;--plan-object-hatch:#a3afbd;--plan-object-line:#5d6b7c;--plan-person:#47546a;--plan-vehicle:#7d8a9a;--plan-vehicle-glass:#47546a;--plan-cable:#0e7c86;--plan-cable-label:#0b6670;--plan-measure:#111827;--plan-select:#1366dd;--plan-select-halo:#fff;--plan-hover:#1877ff;--plan-camera-body:#fff;--plan-camera-line:#111827;--plan-camera-glyph:#1f2937;--plan-fov:#47546a;--plan-label-text:#111827;--plan-label-bg:#ffffffeb;--plan-label-border:#c9d1db;--plan-badge-thermal:#c2410c;--plan-badge-unsupported:#d98e04;--plan-badge-unsupported-glyph:#111827;--plan-target-marker:#111827;--plan-target-ring:#1366dd;--font-ui:"Inter","Noto Sans TC","Microsoft JhengHei UI","Microsoft JhengHei","PingFang TC",system-ui,-apple-system,"Segoe UI",sans-serif;--font-features:"cv05" 1,"cv08" 1;--font-features-num:"cv05" 1,"cv08" 1,"tnum" 1;--font-features-id:"cv05" 1,"cv08" 1,"tnum" 1,"zero" 1;--text-xs:12px;--text-xs-lh:16px;--text-xs-weight:500;--text-sm:13px;--text-sm-lh:18px;--text-sm-weight:400;--text-sm-label-weight:500;--text-md:14px;--text-md-lh:20px;--text-md-weight:400;--text-md-button-weight:500;--text-lg:16px;--text-lg-lh:24px;--text-lg-weight:600;--text-xl:18px;--text-xl-lh:26px;--text-xl-weight:600;--text-xl-tracking:-.01em;--text-2xl:22px;--text-2xl-lh:30px;--text-2xl-weight:650;--text-2xl-tracking:-.01em;--text-3xl:28px;--text-3xl-lh:36px;--text-3xl-weight:600;--text-3xl-tracking:-.02em;--space-0:0;--space-0_5:2px;--space-1:4px;--space-1_5:6px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--radius-sm:4px;--radius-md:6px;--radius-lg:10px;--radius-xl:14px;--radius-full:999px;--shadow-1:0 1px 2px #1118270f,0 1px 1px #1118270a;--shadow-2:0 4px 12px #1118271a,0 1px 3px #11182714;--shadow-3:0 12px 32px #11182729,0 2px 6px #11182714;--shadow-4:0 24px 64px #1118273d,0 4px 12px #1118271a;--backdrop:#1118277a;--icon-sm:16px;--icon-md:20px;--icon-lg:24px;--icon-stroke:1.75;--dur-1:.1s;--dur-2:.16s;--dur-3:.22s;--ease-standard:cubic-bezier(.2,0,0,1);--ease-exit:cubic-bezier(.4,0,1,1);--z-canvas-overlay:10;--z-sticky:20;--z-drawer:30;--z-popover:40;--z-dialog:50;--z-toast:200;--z-tooltip:210;--focus-ring-width:2px;--focus-ring-offset:2px;--focus-ring-on-fill:0 0 0 2px #fff,0 0 0 4px var(--brand-500);--target-tool:36px;--target-icon:32px;--control-height:36px;--checkbox-row:32px;--target-coarse:44px}@media (prefers-reduced-motion:reduce){:root{--dur-1:0s;--dur-2:0s;--dur-3:0s}}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-4.1/InterVariable-LatinGreek.woff2)format("woff2");unicode-range:U+20-7E,U+A0-FF,U+100-17F,U+370-3FF,U+2009-200B,U+2010-2027,U+202F-203A,U+2044,U+2070-209F,U+20AC,U+2116,U+2122,U+2190-2193,U+2212,U+2215,U+221E,U+2248,U+2260,U+2264-2265}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--font-ui);font-feature-settings:var(--font-features);color:var(--text);background:var(--bg-app);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--bg-app);color:var(--text)}button,input,select,textarea{font-feature-settings:var(--font-features)}input[type=number],output,td,dd,.num{font-variant-numeric:tabular-nums}.num-id{font-variant-numeric:tabular-nums slashed-zero}:focus-visible{outline:var(--focus-ring-width) solid var(--focus);outline-offset:var(--focus-ring-offset)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:0s!important;animation-duration:0s!important;animation-iteration-count:1!important}}@media (forced-colors:active){.plan-svg{forced-color-adjust:none}}:root{font-family:var(--font-ui);color:var(--text);background:var(--bg-app);font-synthesis:none;font-size:13px;font-weight:400}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{border:1px solid var(--n-300);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text);cursor:pointer;white-space:nowrap;transition:background var(--dur-1) var(--ease-standard),border-color var(--dur-1) var(--ease-standard);justify-content:center;align-items:center;gap:7px;padding:8px 12px;font-weight:550;display:inline-flex}button:hover{background:var(--n-50);border-color:var(--n-400)}button:disabled{opacity:.42;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.primary{color:var(--n-0);background:var(--brand-600);border-color:var(--brand-600);box-shadow:var(--shadow-1)}.primary:hover{background:var(--brand-700);border-color:var(--brand-700)}input,select,textarea{background:var(--bg-surface);border:1px solid var(--border-control);border-radius:var(--radius-md);min-width:0;color:var(--text-strong);padding:8px 9px}input[type=checkbox]{accent-color:var(--brand-600);cursor:pointer;width:13px;height:13px}input[aria-invalid=true]{border-color:var(--err-600);background:var(--err-50)}textarea{resize:vertical;min-height:76px}h1,h2,h3,h4,p{margin-top:0}h2,h3{font-family:var(--font-ui);letter-spacing:-.025em}h2{margin-bottom:8px;font-size:26px;font-weight:750;line-height:1.3}h3{margin-bottom:15px;font-size:16px}h4{text-transform:uppercase;letter-spacing:.09em;color:var(--text-secondary);margin:25px 0 13px;font-size:12px;font-weight:650}p{color:var(--text-secondary);line-height:1.65}small{font-size:12px}.muted,.footnote{color:var(--text-tertiary)}.app-shell{flex-direction:column;height:100dvh;min-height:600px;display:flex;overflow:hidden}.workspace{flex:1;min-height:0;display:flex;overflow:hidden}.project-sidebar{background:var(--bg-subtle);border-right:1px solid var(--border-subtle);flex-direction:column;flex-shrink:0;width:238px;display:flex}.eyebrow{letter-spacing:1.35px;color:var(--text-secondary);font-size:12px;font-weight:700}.main-workspace{flex-direction:column;flex:1;min-width:0;display:flex;overflow:clip}.plan-container{background:var(--bg-app);flex:1;min-height:200px;position:relative;overflow:hidden}.plan-svg{touch-action:none;width:100%;height:100%;display:block}.svg-entity{cursor:grab}.svg-entity:active{cursor:grabbing}.rotate-handle,.tool-camera,.tool-wall,.tool-cable,.tool-person,.tool-vehicle,.tool-box,.tool-calibrate{cursor:crosshair}.tool-pan{cursor:grab}.canvas-label{background:var(--bg-overlay);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);box-shadow:var(--shadow-1);align-items:center;gap:6px;padding:7px 10px;font-size:12px;display:flex}.canvas-label .muted{font-size:12px}.live-dot{margin-right:2px}.zone-legend{background:var(--bg-overlay);border:1px solid var(--border-subtle);border-radius:var(--radius-md);pointer-events:none;flex-wrap:wrap;gap:12px;max-width:calc(100% - 36px);padding:9px 11px;display:flex;position:absolute;bottom:77px;left:18px}.zone-legend>span{color:var(--text-secondary);align-items:center;gap:4px;font-size:12px;font-weight:600;display:flex}.zone-legend i{border-radius:2px;width:7px;height:7px}.zone-legend small{color:var(--text-tertiary);font-size:12px;font-weight:400}.zone-legend em{color:var(--text-secondary);flex-basis:100%;font-size:12px;font-style:normal}.drawing-actions{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);align-items:center;gap:7px;padding:6px;font-size:12px;display:flex;position:absolute;top:65px;left:18px}.drawing-actions>span{padding:0 6px}.drawing-actions button{padding:5px 8px;font-size:12px}.inspector{background:var(--bg-surface);border-left:1px solid var(--border-subtle);flex-direction:column;flex-shrink:0;width:295px;min-height:0;display:flex}.panel-heading{border-bottom:1px solid var(--border-subtle);flex-shrink:0;justify-content:space-between;align-items:center;height:57px;padding:0 18px;font-size:12px;font-weight:650;display:flex}.inline-actions{gap:3px;display:flex}.inline-actions button{color:var(--text-secondary);background:0 0;border:0;padding:5px}.inspector-body{padding:19px 18px 25px;overflow:auto}.field{flex-direction:column;gap:6px;min-width:0;margin-bottom:13px;display:flex}.field>span{color:var(--text-secondary);font-size:12px;font-weight:500}.field input,.field select,.field textarea{width:100%;padding:8px 9px;font-size:12px;line-height:1.25}.field-grid{grid-template-columns:1fr 1fr;gap:0 12px;display:grid}.field-error{color:var(--err-700);font-size:12px}.metric-block{border:1px solid var(--border-subtle);background:var(--bg-subtle);border-radius:var(--radius-md);margin:17px 0 11px;padding:12px}.metric-block>div{justify-content:space-between;align-items:center;gap:9px;margin-bottom:10px;display:flex}.metric-block span{color:var(--text-secondary);font-size:12px}.metric-block strong{font-size:15px;font-family:var(--font-ui);color:var(--text-strong);font-weight:700}.metric-block strong small{font-size:12px;font-weight:500}.metric-block>small{color:var(--text-tertiary);border-top:1px solid var(--border-subtle);padding-top:9px;font-size:12px;line-height:1.6;display:block}.wide-button{width:100%;font-size:12px}.note{color:var(--text-secondary);background:var(--bg-app);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:11px 12px;font-size:12px;line-height:1.8}.entity-id{color:var(--text-tertiary);border-top:1px solid var(--border-subtle);letter-spacing:.08em;margin-top:20px;padding-top:18px;font-size:12px;display:block}.empty-inspector{padding:36px 23px}.empty-inspector>svg{color:var(--text-tertiary);margin-bottom:22px}.empty-inspector h3{font-size:17px;line-height:1.6}.empty-inspector p{margin-bottom:20px;font-size:12px;line-height:1.9}.empty-inspector .note{margin-top:30px}.scene-container{background:var(--n-100);flex:1;min-height:300px;position:relative}.scene-host{position:absolute;inset:0}.scene-host canvas{display:block}.scene-toolbar{justify-content:space-between;gap:12px;display:flex;position:absolute;top:18px;left:20px;right:20px}.scene-toolbar select{background:var(--bg-overlay);max-width:270px;font-size:12px}.scene-footnote{color:var(--text-secondary);background:var(--bg-overlay);border:1px solid var(--border-subtle);border-radius:var(--radius-md);pointer-events:none;padding:10px 13px;font-size:12px;line-height:1.9;position:absolute;bottom:20px;left:20px;right:20px}.scene-failure{background:var(--bg-surface);box-shadow:var(--shadow-3);border-radius:var(--radius-lg);color:var(--text-secondary);text-align:center;padding:25px;line-height:1.8;position:absolute;top:35%;left:15%;right:15%}.page-content{background:var(--bg-app);flex:1;padding:38px 40px 50px;overflow:auto}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px;display:flex}.page-heading .eyebrow{color:var(--text-link);margin-bottom:10px;display:block}.page-heading p{margin-bottom:0;font-size:12px}.page-heading button{font-size:12px}.table-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:auto}table{border-collapse:collapse;text-align:left;width:100%;font-size:12px}th{background:var(--bg-app);color:var(--text-secondary);letter-spacing:.04em;white-space:nowrap;border-bottom:1px solid var(--border-subtle);padding:14px 17px;font-size:12px;font-weight:600}td{border-bottom:1px solid var(--border-subtle);color:var(--text);padding:14px 17px;line-height:1.7}tr:last-child td{border-bottom:0}td small{color:var(--text-tertiary);font-size:12px;display:block}td strong{font-weight:650}.text-button{color:var(--text-link);text-align:left;white-space:normal;background:0 0;border:0;border-radius:0;padding:0;font-weight:600}.text-button:hover{background:0 0;text-decoration:underline}.empty-table{text-align:center;color:var(--text-tertiary);margin:0;padding:30px;font-size:12px}.footnote{margin:12px 0 25px;font-size:12px;line-height:1.8}.section-heading{justify-content:space-between;align-items:center;margin:30px 0 15px;display:flex}.section-heading h3{margin:0}.section-heading p{margin:0;font-size:12px}.section-heading button{padding:7px 10px;font-size:12px}.summary-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:28px;display:grid}.summary-cards>div{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--bg-surface);padding:22px 24px}.summary-cards>div>span{color:var(--text-secondary);margin-bottom:16px;font-size:12px;display:block}.summary-cards strong{font-family:var(--font-ui);letter-spacing:-1px;color:var(--text-strong);font-size:34px;font-weight:650;line-height:1.2;display:block}.summary-cards strong small{color:var(--text-tertiary);letter-spacing:0;font-size:14px;font-weight:400}.summary-cards p{color:var(--text-tertiary);margin:11px 0 0;font-size:12px}.summary-cards .accent-card{background:var(--bg-selected);border-color:var(--brand-100)}.summary-cards .accent-card strong{color:var(--text-link)}.two-columns{grid-template-columns:1fr 1.3fr;align-items:start;gap:22px;display:grid}.content-card{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--bg-surface);padding:26px}.content-card p{font-size:12px;line-height:1.85}.content-card .field{max-width:200px;margin:22px 0}.content-card .note{margin-top:20px}.storage-row{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:15px 0;display:flex}.storage-row:last-child{border-bottom:0;padding-bottom:0}.storage-row strong{font-size:12px;font-weight:600}.storage-row small{color:var(--text-tertiary);margin-top:4px;font-size:12px;display:block}.storage-row>span{color:var(--text-secondary);font-size:12px;font-weight:600}.report .summary-cards{grid-template-columns:repeat(4,minmax(0,1fr))}.report .summary-cards strong{font-size:27px}.report .summary-cards>div{padding:20px}.report-floor{border:1px solid var(--border-subtle);background:var(--bg-surface);border-radius:var(--radius-lg);break-inside:avoid;margin-bottom:24px;overflow:hidden}.report-floor h3{border-bottom:1px solid var(--border-subtle);margin:0;padding:18px 22px;font-size:14px}.report-floor h3 small{color:var(--text-tertiary);margin-left:12px;font-weight:400}.report-floor svg{width:100%;max-height:420px;display:block}.report>h3{margin-top:30px}.report-caveats{border-top:1px solid var(--border-subtle);margin-top:28px;padding-top:20px}.report-caveats p{font-size:12px;line-height:1.9}.modal-backdrop{background:var(--backdrop);z-index:var(--z-dialog);justify-content:center;align-items:center;padding:25px;display:flex;position:fixed;inset:0;overflow:auto}.modal{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);width:440px;max-width:100%;max-height:calc(100dvh - 50px);box-shadow:var(--shadow-4);animation:enter var(--dur-2) var(--ease-standard);padding:25px 28px;overflow:auto}.modal-title{justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px;display:flex}.modal-title h2{margin:0;font-size:20px}.modal-title button{color:var(--text-secondary);background:0 0;border:0;padding:5px}.modal p{font-size:12px}.modal-intro{margin-bottom:24px}.modal .field{margin-bottom:17px}.modal .field>span{font-size:12px}.modal .field input{padding:10px;font-size:13px}.modal .wide-button{padding:10px}.modal-footer{border-top:1px solid var(--border-subtle);flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:24px;padding-top:18px;display:flex}.modal-footer button{font-size:12px}.modal-footer .danger{margin-left:auto}.danger{color:var(--err-600);border-color:var(--err-200);background:var(--bg-surface)}.danger:hover{background:var(--err-50);border-color:var(--err-200)}.inline-error{background:var(--err-50);border:1px solid var(--err-200);border-radius:var(--radius-md);color:var(--err-700);padding:10px 12px;font-size:12px!important}.auth-switch{text-align:center;margin:20px auto 0;font-size:12px;font-weight:400;display:block}.library-actions{border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;gap:9px;padding-bottom:22px;display:flex}.library-actions button{font-size:12px}.library-list{border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden}.library-list>div{border-bottom:1px solid var(--border-subtle);align-items:center;padding-right:12px;display:flex}.library-list>div:last-child{border:0}.library-list>div>button:first-child{text-align:left;border:0;border-radius:0;flex:1;justify-content:flex-start;gap:13px;min-width:0;padding:16px}.library-list>div>button:last-child{color:var(--text-secondary);border:0;padding:7px}.project-icon{background:var(--bg-selected);border:1px solid var(--brand-100);border-radius:var(--radius-md);width:40px;height:44px;color:var(--brand-700);flex-shrink:0;justify-content:center;align-items:center;display:flex}.library-list strong{white-space:normal;font-size:12px;font-weight:600}.library-list small{color:var(--text-tertiary);margin-top:5px;font-size:12px;font-weight:400;display:block}.library-signin{text-align:center;padding:35px 40px 20px}.library-signin>svg{color:var(--text-tertiary);margin-bottom:15px}.library-signin h3{margin-bottom:10px;font-size:19px}.library-signin button{margin-top:12px}.modal .footnote{margin-bottom:4px;font-size:12px}.modal h3{margin-top:22px;font-size:13px}.modal .note{font-size:12px}.modal>.text-button.danger{background:0 0;padding:10px 0;font-size:12px}@keyframes enter{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media (width>=1600px){.page-content{padding:45px 55px}.inspector-body{padding:23px}}@media (width<=1250px){.page-content{padding:28px}.zone-legend{gap:8px}.summary-cards{gap:12px}.summary-cards>div{padding:18px}.summary-cards strong{font-size:28px}}@media (width<=960px){.inspector-body{padding:15px 12px}.field-grid{gap:0 8px}.page-content{padding:24px}.two-columns{grid-template-columns:1fr}.summary-cards strong{font-size:24px}.summary-cards>div{padding:15px}.report .summary-cards{grid-template-columns:repeat(2,1fr)}.canvas-label{padding:6px;font-size:12px}.zone-legend>span small{display:none}}@media (width<=730px){.app-shell{min-height:650px;overflow:auto}.panel-heading{padding:0 12px;font-size:12px}.inspector-body{padding:12px}.field input,.field select{padding:7px 6px;font-size:12px}.field>span{font-size:12px}.metric-block{padding:9px}.metric-block span,.metric-block strong{font-size:12px}.metric-block>div{gap:5px}.zone-legend{gap:7px;max-width:none;padding:7px;bottom:62px;left:9px;right:9px}.zone-legend em,.zone-legend>span{font-size:12px}.page-content{padding:20px 15px}.page-heading{flex-direction:column;align-items:flex-start}.page-heading h2{font-size:22px}.page-heading p{font-size:12px}.summary-cards{grid-template-columns:1fr}.summary-cards>div{padding:15px 18px}.summary-cards>div>span{margin-bottom:8px}.summary-cards strong{font-size:27px}.content-card{padding:18px}.modal-backdrop{padding:14px}.modal{max-height:calc(100dvh - 28px);padding:20px}.scene-toolbar{flex-wrap:wrap;left:10px;right:10px}.scene-toolbar select{width:100%;font-size:12px}.scene-footnote{font-size:12px;bottom:12px;left:10px;right:10px}}@media (width<=550px){.view-plan .project-sidebar{display:none}.inspector{width:190px}.empty-inspector{padding:24px 14px}.empty-inspector h3{font-size:15px}.empty-inspector p,.empty-inspector .note{font-size:12px}.inspector-body{padding:12px 10px}.field-grid{gap:0 5px}.field>span,.metric-block span,.metric-block strong,.field input{font-size:12px}.panel-heading{padding:0 10px}.inline-actions{gap:0}.inline-actions button{padding:3px}.scene-toolbar .canvas-label{display:none}.report .summary-cards{grid-template-columns:1fr 1fr}.report-floor h3 small{margin:6px 0 0;display:block}.modal-title h2{font-size:18px}}@media print{@page{size:A4 landscape;margin:12mm}html,body,.app-shell,.workspace,.main-workspace,.page-content{background:var(--bg-surface)!important;height:auto!important;min-height:0!important;overflow:visible!important}.no-print,.project-sidebar,.inspector,.modal-backdrop{display:none!important}.workspace{display:block}.page-content{padding:0}.report .page-heading{margin-bottom:15px}.report .page-heading h2{font-size:23px}.report .summary-cards{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:15px}.report .summary-cards>div{padding:12px}.report .summary-cards strong{font-size:23px}.report-floor{break-inside:avoid;margin-bottom:15px}.report-floor svg{max-height:115mm}.report-floor h3{padding:10px 15px}.table-card{border-radius:0;overflow:visible}.table-card table{font-size:9px}th,td{padding:7px 10px}.table-card tr{break-inside:avoid}.report-caveats p{font-size:9px}.report h3{font-size:13px}.report-caveats{break-inside:avoid}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.mobile-floor-controls{display:none}@media (width<=550px){.mobile-floor-controls{background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);gap:5px;padding:6px 8px;display:flex}.mobile-floor-controls select{flex:1;min-width:0;padding:5px;font-size:12px}.mobile-floor-controls button{padding:5px}}@media print{.mobile-floor-controls{display:none!important}}.lens-solver{border:1px solid var(--border-subtle);background:var(--bg-subtle);border-radius:var(--radius-md);margin:5px 0 18px;padding:12px}.lens-solver h4{margin:0 0 9px}.lens-solver>p{margin-bottom:13px;font-size:12px;line-height:1.8}.lens-solver form{margin-bottom:15px}.lens-solver .field{margin-bottom:7px}.lens-solver .wide-button{padding:7px;font-size:12px}.lens-solver>small{color:var(--text-tertiary);font-size:12px;line-height:1.8;display:block}.lens-solver .field-error{color:var(--err-700);margin:7px 0 0;font-size:12px;line-height:1.7}.mobile-camera-controls,.mobile-inspector-close,.mobile-inspector-backdrop{display:none}@media (width<=550px){.workspace{position:relative}.view-plan .inspector{z-index:15;width:min(310px,100% - 24px);box-shadow:var(--shadow-3);display:none;position:absolute;top:0;bottom:0;right:0}.view-plan.inspector-open .inspector{display:flex}.mobile-inspector-close{background:0 0;border:0;margin-left:6px;padding:6px!important;display:inline-flex!important}.mobile-inspector-backdrop{z-index:14;background:var(--backdrop);border:0;border-radius:0;display:block;position:absolute;inset:0}.mobile-inspector-backdrop:hover{background:var(--backdrop)}.mobile-camera-controls{background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);align-items:center;gap:6px;padding:7px 8px;display:flex}.mobile-camera-controls select{flex:1;min-width:0;padding:6px;font-size:12px}.mobile-camera-controls button{padding:6px;font-size:12px}.view-plan .inspector .field>span,.view-plan .inspector .field input{font-size:12px}.view-plan .inspector .metric-block strong{font-size:15px}.view-plan .inspector .metric-block span{font-size:12px}.view-plan .inspector-body{padding:17px}.view-plan .inspector .field-grid{gap:0 12px}}@media print{.mobile-camera-controls,.mobile-inspector-backdrop,.mobile-inspector-close{display:none!important}}.tool-measure-length,.tool-measure-area{cursor:crosshair}.measurement-panel{background:var(--bg-overlay);border:1px solid var(--border-subtle);border-radius:var(--radius-md);width:370px;max-width:calc(100% - 36px);box-shadow:var(--shadow-2);color:var(--text-secondary);padding:12px 13px;position:absolute;top:65px;left:18px}.measurement-panel>div:first-child{justify-content:space-between;align-items:center;gap:8px;display:flex}.measurement-panel strong{color:var(--text);font-size:12px}.measurement-panel>div>span{color:var(--text-tertiary);font-size:12px}.measurement-panel output{font-variant-numeric:tabular-nums;color:var(--text-strong);margin:10px 0;font-size:14px;font-weight:600;display:block}.measurement-panel .measurement-actions{flex-wrap:wrap;gap:5px;display:flex}.measurement-actions button{padding:6px 8px;font-size:12px}.measurement-panel>small{color:var(--text-tertiary);margin-top:9px;font-size:12px;line-height:1.6;display:block}.measurement-panel .field-error{color:var(--err-700);margin-bottom:9px;font-size:12px}@media (width<=730px){.measurement-panel{max-width:calc(100% - 20px);padding:10px;top:49px;left:10px}.measurement-panel>div:first-child{flex-direction:column;align-items:flex-start;gap:3px}.measurement-panel output,.measurement-panel>small{font-size:12px}}.target-analysis{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-subtle);margin:20px 0}.target-analysis summary{cursor:pointer;color:var(--text-secondary);padding:12px;font-size:12px;font-weight:600}.target-analysis summary small{color:var(--text-tertiary);float:right;font-size:12px;font-weight:400}.target-analysis-body{padding:0 12px 13px}.target-analysis-body>p{font-size:12px;line-height:1.85}.target-actions{flex-wrap:wrap;gap:6px;display:flex}.target-actions button{padding:6px 8px;font-size:12px}.target-analysis .field input,.target-analysis .field select{font-size:12px}.target-analysis .field-error{color:var(--err-700);font-size:12px}.target-readout{border-top:1px solid var(--border-subtle);margin-top:15px;padding-top:8px}.target-readout dl{margin:0}.target-readout dl>div{justify-content:space-between;gap:10px;padding:6px 0;display:flex}.target-readout dt{color:var(--text-tertiary);flex:1;font-size:12px}.target-readout dd{color:var(--text);text-align:right;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;max-width:62%;margin:0;font-size:12px}.target-readout p{color:var(--text-tertiary);margin-top:9px;margin-bottom:0;font-size:12px;line-height:1.8}.target-sampling{border-top:1px solid var(--border-subtle);margin-top:9px;padding-top:12px}.target-sampling h5{color:var(--text-secondary);margin:0 0 6px;font-size:12px;font-weight:550}.target-analysis-body .target-caveat{border-top:1px solid var(--border-subtle);color:var(--text-tertiary);margin:13px 0 0;padding-top:11px;font-size:12px;line-height:1.9}.target-pick-hint{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-overlay);color:var(--text-secondary);justify-content:space-between;align-items:center;gap:8px;padding:9px 11px;font-size:12px;display:flex;position:absolute;top:65px;left:18px;right:18px}.target-pick-hint button{padding:6px 8px;font-size:12px}.tool-target-point{cursor:crosshair}@media (width<=730px){.target-pick-hint{padding:8px;font-size:12px;top:50px;left:9px;right:9px}.target-pick-hint>span{white-space:normal}.target-analysis summary{padding:10px}.target-analysis-body{padding:0 10px 11px}}.scene-unavailable{background:var(--bg-app);flex:1;justify-content:center;align-items:center;padding:35px;display:flex}.scene-unavailable>section{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);max-width:480px;box-shadow:var(--shadow-1);padding:30px}.scene-unavailable .eyebrow{margin-bottom:13px;display:block}.scene-unavailable h2{margin-bottom:17px;font-size:23px}.scene-unavailable p{margin-bottom:15px;font-size:12px;line-height:1.85}.scene-unavailable button{margin-top:5px}@media (width<=550px){.scene-unavailable{padding:15px}.scene-unavailable>section{padding:20px}.scene-unavailable h2{font-size:20px}.scene-unavailable p{font-size:12px}}.pdf-open-button{margin-bottom:9px}.pdf-import .pdf-intro{margin-bottom:19px;font-size:12px;line-height:1.8}.pdf-file-picker{border:1px dashed var(--border-control);background:var(--bg-subtle);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;flex-wrap:wrap;align-items:center;gap:12px;padding:17px;display:flex}.pdf-file-picker>span{flex:1;font-size:12px;font-weight:550}.pdf-file-picker small{color:var(--text-tertiary);margin-top:5px;font-size:12px;font-weight:400;display:block}.pdf-file-picker input{background:var(--bg-surface);max-width:100%;font-size:12px}.pdf-source{border-bottom:1px solid var(--border-subtle);color:var(--text-tertiary);align-items:center;gap:8px;min-width:0;margin-top:14px;padding:10px 0;font-size:12px;display:flex}.pdf-source>span{overflow-wrap:anywhere;flex:1;min-width:0}.pdf-source small{white-space:nowrap;font-size:12px}.pdf-page-picker{align-items:flex-end;gap:13px;margin:18px 0;display:flex}.pdf-page-picker .field{width:145px;max-width:45%;margin:0}.pdf-page-picker button{margin-bottom:1px;font-size:12px}.pdf-preview{border:1px solid var(--border-subtle);border-radius:var(--radius-md);margin:19px 0;overflow:hidden}.pdf-preview-info{background:var(--bg-subtle);border-bottom:1px solid var(--border-subtle);justify-content:space-between;gap:10px;padding:11px 14px;font-size:12px;display:flex}.pdf-preview-info strong{color:var(--text-secondary);font-weight:550}.pdf-preview-info span{color:var(--text-tertiary);font-size:12px}.pdf-preview-image{background:var(--n-100);justify-content:center;align-items:center;max-height:420px;padding:16px;display:flex;overflow:hidden}.pdf-preview-image img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:380px;box-shadow:var(--shadow-1);background:var(--bg-surface);display:block}.pdf-import .pdf-calibration{color:var(--text-tertiary);margin:13px 0 0;font-size:12px;line-height:1.9}.pdf-import .note{margin-bottom:0;font-size:12px}.pdf-import>p[role=status]{background:var(--bg-app);border:1px solid var(--border-subtle);border-radius:var(--radius-md);margin-top:15px;padding:12px;font-size:12px}@media (width<=550px){.pdf-file-picker{padding:13px}.pdf-file-picker input{width:100%;font-size:12px}.pdf-page-picker{gap:9px}.pdf-page-picker button{padding:8px;font-size:12px}.pdf-preview-info{flex-direction:column;gap:4px;padding:9px 11px}.pdf-preview-image{max-height:330px;padding:9px}.pdf-preview-image img{max-height:300px}.pdf-import .modal-footer button{white-space:normal;max-width:100%}.pdf-import .modal-footer .primary{flex:1}}.report-heading-actions{flex-wrap:wrap;gap:8px;display:flex}.report-capture{background:var(--bg-app);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow-wrap:anywhere;gap:12px;margin:18px 0;padding:16px;display:flex}.report-capture>div{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.report-capture>svg{color:var(--brand-600);flex-shrink:0}.report-capture strong{font-size:15px}.report-capture span,.report-capture small{color:var(--text-secondary)}.report-result{border:1px solid var(--ok-200);border-radius:var(--radius-lg);background:var(--ok-50);padding:15px}.report-result label{color:var(--text-secondary);font-size:12px;display:block}.report-result code{overflow-wrap:anywhere;margin-top:8px;font-size:12px;display:block}.report-result p:last-child{margin-bottom:0}.report-export-actions{flex-wrap:wrap}.report-export .footnote{overflow-wrap:anywhere}@media (width<=550px){.report-heading-actions{width:100%}.report-heading-actions button{flex:1}.report-export-actions>button{white-space:normal;flex:1;min-width:105px}.report-capture{padding:12px}}.plan-image-options{grid-template-columns:1fr 1fr;gap:0 15px;display:grid}.plan-image-options .field{min-width:0}.plan-image-checks{flex-direction:column;justify-content:center;gap:10px;margin-bottom:16px;font-size:12px;display:flex}.plan-image-checks label{align-items:center;gap:7px;display:flex}.plan-image-capture{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-app);overflow-wrap:anywhere;flex-direction:column;gap:6px;margin:15px 0;padding:13px;display:flex}.plan-image-capture span,.plan-image-capture small{color:var(--text-tertiary)}.plan-image-preview{border:1px solid var(--border-subtle);border-radius:var(--radius-md);margin:15px 0;overflow:hidden}.plan-image-preview-info{background:var(--bg-app);flex-wrap:wrap;justify-content:space-between;gap:8px;padding:12px;font-size:12px;display:flex}.plan-image-preview-info span{color:var(--text-tertiary);font-size:12px}.plan-image-raster{background-color:var(--n-100);background-image:linear-gradient(45deg,var(--n-200) 25%,transparent 25%),linear-gradient(-45deg,var(--n-200) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--n-200) 75%),linear-gradient(-45deg,transparent 75%,var(--n-200) 75%);background-position:0 0,0 10px,10px -10px,-10px 0;background-size:20px 20px;justify-content:center;align-items:center;min-height:120px;max-height:430px;padding:12px;display:flex}.plan-image-raster img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:405px;display:block}.plan-image-preview>p{margin:0;padding:10px 12px;font-size:12px}.plan-image-preview code{overflow-wrap:anywhere;margin-top:5px;display:block}.plan-image-actions{flex-wrap:wrap}.plan-image-export>p[role=status]{font-size:12px}.plan-image-export .footnote{overflow-wrap:anywhere}@media (width<=550px){.plan-image-options{grid-template-columns:1fr;gap:0}.plan-image-checks{font-size:12px}.plan-image-actions>button{white-space:normal;flex:1;min-width:110px}.plan-image-raster{max-height:330px;padding:7px}.plan-image-raster img{max-height:310px}}.camera-selection-toolbar{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:0 0 14px;padding:12px 14px;display:flex}.camera-selection-toolbar>span{color:var(--text-secondary);font-size:12px}.camera-selection-toolbar>div{flex-wrap:wrap;gap:7px;display:flex}.camera-selection-toolbar button{padding:8px 11px;font-size:12px}.camera-check-cell{text-align:center;width:40px;min-width:40px;padding-left:10px;padding-right:10px}.camera-check-cell input{cursor:pointer;width:16px;height:16px;accent-color:var(--brand-600)}.camera-check-cell .sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.camera-bulk-selection{border:1px solid var(--border-subtle);border-radius:var(--radius-md);margin-bottom:16px;padding:10px 12px;font-size:12px}.camera-bulk-selection summary{cursor:pointer;color:var(--text-secondary)}.camera-bulk-selection ul{overflow-wrap:anywhere;max-height:130px;margin:9px 0 0;padding-left:18px;line-height:1.8;overflow-y:auto}.camera-bulk-fields{grid-template-columns:1fr 1fr;gap:11px;display:grid}.camera-bulk-field{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-subtle);min-width:0;padding:11px 12px}.camera-bulk-field.enabled{border-color:var(--brand-200);background:var(--bg-selected)}.camera-bulk-opt-in{color:var(--text-secondary);align-items:center;gap:7px;margin-bottom:10px;font-size:12px;display:flex}.camera-bulk-field .field{margin:0}.camera-bulk-field .field>span{flex-wrap:wrap;justify-content:space-between;gap:6px;display:flex}.camera-bulk-field .field small{color:var(--text-tertiary);font-size:12px;font-weight:400}.camera-bulk-field input:disabled,.camera-bulk-field select:disabled{opacity:.7;background:var(--bg-app)}.camera-bulk-summary{background:var(--bg-app);border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow-wrap:anywhere;margin-top:16px;padding:12px 14px;font-size:12px}.camera-bulk-summary ul{margin:9px 0 0;padding-left:17px;line-height:1.85}.camera-bulk-summary p{color:var(--text-tertiary);margin:8px 0 0}.camera-bulk-actions{flex-wrap:wrap}@media (width<=550px){.camera-selection-toolbar{gap:10px;padding:10px}.camera-selection-toolbar>div{width:100%}.camera-selection-toolbar button{flex:1;padding:8px;font-size:12px}.camera-selection-toolbar button.primary{flex-basis:100%}.camera-bulk-fields{grid-template-columns:1fr;gap:9px}.camera-bulk-actions button{white-space:normal;flex:1}.camera-bulk-field .field input,.camera-bulk-field .field select{font-size:14px}}.floor-duplicate-open{margin:10px 0 22px}.floor-duplicate-dialog .report-capture{margin-top:14px}.floor-duplicate-dialog .footnote,.floor-duplicate-dialog .note{overflow-wrap:anywhere}.floor-duplicate-dialog .modal-footer{flex-wrap:wrap}.floor-duplicate-dialog .field input{min-width:0}@media (width<=550px){.floor-duplicate-dialog .modal-footer button{white-space:normal;flex:1}.floor-duplicate-dialog .field input{font-size:14px}.floor-duplicate-dialog .report-capture{padding:12px}}.cad-options{flex-direction:column;gap:11px;margin:16px 0;font-size:12px;display:flex}.cad-options label{align-items:flex-start;gap:8px;line-height:1.7;display:flex}.cad-options input{flex-shrink:0;margin-top:3px}.cad-export .note{line-height:1.8}.cad-export .note strong{margin-bottom:4px;display:block}.cad-result{border:1px solid var(--ok-200);border-radius:var(--radius-md);background:var(--ok-50);margin:15px 0;padding:14px;font-size:12px}.cad-result dl{margin:0}.cad-result dl>div{justify-content:space-between;gap:10px;padding:6px 0;display:flex}.cad-result dt{color:var(--text-tertiary)}.cad-result dd{font-variant-numeric:tabular-nums;text-align:right;margin:0}.cad-result label{font-size:12px}.cad-result code{overflow-wrap:anywhere;margin-top:7px;font-size:12px;display:block}.cad-export .footnote{overflow-wrap:anywhere}.cad-actions{flex-wrap:wrap}.cad-actions button{white-space:normal}@media (width<=550px){.cad-actions button{flex:1;min-width:100px}.cad-result{padding:12px}.cad-result dl>div{flex-wrap:wrap;gap:5px}.cad-result dd{margin-left:auto}.cad-options{font-size:12px}.cad-export .field select{font-size:13px}}.saved-measurements-panel{background:var(--bg-overlay);border:1px solid var(--border-subtle);border-radius:var(--radius-md);width:300px;max-width:calc(100% - 36px);box-shadow:var(--shadow-2);padding:12px;font-size:12px;position:absolute;top:65px;right:18px}.saved-measurements-panel .section-heading{flex-wrap:wrap;gap:6px;margin:0 0 8px}.saved-measurements-panel button{padding:5px;font-size:12px}.saved-measurements-panel small{color:var(--text-tertiary);font-size:12px;line-height:1.6;display:block}.saved-measurements-panel ul{max-height:200px;margin:8px 0 0;padding:0;list-style:none;overflow:auto}.saved-measurements-panel li{border-top:1px solid var(--border-subtle);align-items:center;gap:5px;display:flex}.saved-measurements-panel li>button:first-child{text-align:left;overflow-wrap:anywhere;flex:1}.saved-measurements-panel li.selected{background:var(--bg-selected)}.measurement-point-table{max-height:45vh;margin:12px 0;overflow:auto}.measurement-point-row{grid-template-columns:25px 1fr 1fr auto;align-items:center;gap:10px;margin:6px 0;display:grid}.measurement-point-row input{width:100%;min-width:0}.measurement-editor>small{margin-top:8px;display:block}@media (width<=730px){.saved-measurements-panel{max-width:calc(100% - 20px);max-height:190px;padding:8px;top:auto;bottom:65px;right:10px;overflow:auto}.saved-measurements-panel ul{max-height:100px}.measurement-point-row{grid-template-columns:20px 1fr 1fr}.measurement-point-row>button{grid-column:2/4}.measurement-panel .measurement-actions button{flex:1}}.recording-scope-bar,.recording-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.recording-scope-bar{margin:16px 0}.recording-scope-bar>.field{flex:1;min-width:200px;margin:0}.recording-exact{overflow-wrap:anywhere;font-variant-numeric:tabular-nums;font-size:12px}.recording-arrays{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px;display:grid}.recording-arrays h4{margin-top:0}.recording-transition{grid-template-columns:1fr 1fr auto;align-items:center;gap:10px;display:grid}.recording-profile{max-height:45vh;overflow:auto}.recording-camera-picks{gap:8px;max-height:35vh;margin:16px 0;display:grid;overflow:auto}.recording-camera-picks label{align-items:center;gap:8px;display:flex}.recording-refresh{border-bottom:1px solid var(--border-subtle);padding:12px 0}.recording-refresh p{overflow-wrap:anywhere;white-space:pre-wrap;font-size:12px}.recording-refresh label{align-items:center;gap:8px;font-weight:600;display:flex}.recording-report-section{break-inside:auto}.recording-report-section p{white-space:pre-wrap;overflow-wrap:anywhere}.recording-page .summary-cards strong{font-size:28px}.recording-page .table-card td{overflow-wrap:anywhere;max-width:330px}.recording-page .table-card td small{white-space:pre-wrap}.recording-page .table-card td button{margin:3px}.recording-page .section-heading{flex-wrap:wrap;gap:12px}@media (width<=600px){.recording-transition{grid-template-columns:1fr 1fr}.recording-transition>button{grid-column:1/-1}.recording-page .summary-cards{grid-template-columns:1fr}.recording-scope-bar>button,.recording-actions>button{flex:1}.recording-page .section-heading{align-items:flex-start}.recording-page .section-heading>.field{width:100%}}.measurement-tools{overscroll-behavior:contain;border-radius:var(--radius-md);scrollbar-gutter:stable;z-index:2;flex-direction:column;gap:8px;width:370px;max-width:calc(100% - 36px);max-height:calc(100% - 165px);display:flex;position:absolute;top:65px;left:18px;overflow:auto}.measurement-tools>.measurement-panel,.measurement-tools>.saved-measurements-panel{flex:none;width:100%;max-width:none;max-height:none;margin:0;position:static}.saved-measurements-panel>summary{cursor:pointer;color:var(--text);font-size:12px;font-weight:600;line-height:1.6}.saved-measurements-panel[open]>summary{margin-bottom:10px}@media (width<=730px){.measurement-tools{max-width:calc(100% - 20px);max-height:calc(100% - 150px);top:49px;left:10px}.measurement-tools>.measurement-panel,.measurement-tools>.saved-measurements-panel{max-width:none;max-height:none}.saved-measurements-panel>summary{font-size:12px}}.tool-select-multiple{cursor:crosshair}.mixed-selection-panel{border:1px solid var(--border-subtle);background:var(--bg-overlay);border-radius:var(--radius-md);flex:none;padding:12px;font-size:12px}.mixed-selection-panel .section-heading{flex-wrap:wrap;gap:8px;margin-bottom:8px}.mixed-selection-panel p{margin-bottom:8px;font-size:12px}.mixed-selection-panel button{padding:6px 8px;font-size:12px}.mixed-selection-list{max-height:190px;margin:8px 0;overflow:auto}.mixed-selection-list>div{border-top:1px solid var(--border-subtle);align-items:center;gap:5px;padding:6px 0;display:flex}.mixed-selection-list label{overflow-wrap:anywhere;flex:1;align-items:center;gap:8px;min-width:0;display:flex}.mixed-selection-list input{flex:none}.mixed-selection-list small,.mixed-move-identities small{color:var(--text-tertiary);overflow-wrap:anywhere;font-size:12px;display:block}.mixed-move-identities{overflow-wrap:anywhere;max-height:170px;padding-left:20px;overflow:auto}.mixed-move-identities li{margin:7px 0}.mixed-move-preview{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#f5f8f7;width:100%;height:210px;display:block}.mixed-move-dialog [aria-label="Isolated move preview"] p{margin:12px 0 8px;font-size:12px}@media (width<=730px){.mixed-selection-panel{padding:9px}.mixed-selection-list{max-height:140px}.mixed-move-preview{height:170px}}.ground-footprint-status{background:var(--bg-app);border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow-wrap:anywhere;color:var(--text-secondary);padding:8px;font-size:12px}.ground-footprint-heading{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.ground-footprint-heading strong{flex:1;min-width:0}.ground-footprint-heading button{padding:5px 7px;font-size:12px}.ground-footprint-details>summary{cursor:pointer;color:var(--text-secondary);margin-top:4px;font-size:12px;line-height:1.5}.ground-footprint-details>summary:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:2px}.ground-footprint-status p{color:var(--text-secondary);margin:7px 0;font-size:12px;line-height:1.5}.ground-footprint-status .ground-footprint-reason{margin:5px 0 0}.ground-footprint-status small{font-size:12px;line-height:1.5;display:block}.applied-footprint-plane{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-app);overflow-wrap:anywhere;padding:8px}.camera-model-binding{border:1px solid var(--border-subtle);background:var(--bg-subtle);border-radius:var(--radius-md);overflow-wrap:anywhere;margin:14px 0;padding:10px}.camera-model-binding h4{margin:0 0 8px}.camera-model-binding p,.camera-model-binding small{font-size:12px;line-height:1.6}.camera-model-binding>button{width:100%;margin-top:8px}.camera-model-binding details{margin:10px 0}.camera-model-library,.camera-spec-editor,.camera-spec-summary{overflow-wrap:anywhere;min-width:0}.camera-model-actions{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.camera-model-list{border:1px solid var(--border-subtle);border-radius:var(--radius-md);max-height:32vh;margin:14px 0;padding:0;list-style:none;overflow:auto}.camera-model-list li+li{border-top:1px solid var(--border-subtle)}.camera-model-list button{text-align:left;white-space:normal;border:0;border-radius:0;flex-direction:column;align-items:flex-start;width:100%;padding:12px;display:flex}.camera-model-list small{color:var(--text-tertiary);overflow-wrap:anywhere;font-size:12px}.camera-model-detail{border-top:1px solid var(--border-subtle);padding-top:12px}.camera-spec-summary dl{margin:10px 0}.camera-spec-summary dl>div{border-bottom:1px solid var(--border-subtle);grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;padding:5px 0;display:grid}.camera-spec-summary dd{font-variant-numeric:tabular-nums;margin:0}.camera-spec-summary p{font-size:12px;line-height:1.6}.camera-spec-editor>form>label:not(.field){margin:10px 0;display:block}.camera-model-apply .table-card{max-width:100%;margin:12px 0;overflow:auto}.camera-model-apply td{overflow-wrap:anywhere;white-space:normal}.camera-spec-editor .field-grid,.camera-spec-editor input{min-width:0}.supplied-model-report p{white-space:pre-wrap;overflow-wrap:anywhere}@media (width<=550px){.camera-model-library .camera-model-actions>button{white-space:normal;flex:1}.camera-model-apply th,.camera-model-apply td{padding:7px 6px;font-size:12px}.camera-spec-summary dl>div{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.camera-modes-editor fieldset{border:1px solid var(--border-subtle);border-radius:var(--radius-md);min-width:0;margin:16px 0;padding:12px}.camera-modes-editor legend{padding:0 6px;font-weight:600}.camera-modes-editor fieldset>small,.camera-spec-summary>small{overflow-wrap:anywhere;color:var(--text-tertiary);font-size:12px;display:block}.camera-modes-editor fieldset>label:not(.field){margin:10px 0;display:block}.camera-modes-editor fieldset .camera-model-actions{margin-bottom:0}.camera-model-import,.camera-model-export{overflow-wrap:anywhere;min-width:0}.camera-model-import fieldset{border:1px solid var(--border-subtle);border-radius:var(--radius-md);min-width:0;margin:12px 0;padding:12px}.camera-model-import fieldset>label{align-items:flex-start;gap:8px;margin:10px 0;display:flex}.camera-model-import fieldset input{flex:none;width:auto}.camera-model-import input[type=file]{min-width:0;max-width:100%}.aim-panel{margin:20px 0}.aim-panel>.note{margin-bottom:13px}.aim-field{min-width:0}.aim-field .field-error{margin:-8px 0 10px;display:block}.aim-panel .target-readout dt,.aim-panel .target-readout p,.aim-panel .field-error{font-size:12px}.aim-panel .field-error{color:var(--err-700)}.aim-panel .wide-button{margin-top:10px}.aim-panel>.aim-caveat{margin-top:13px}@media (width<=730px){.aim-panel .field-grid{grid-template-columns:1fr}.aim-panel .field>span{font-size:12px}.aim-panel .target-readout dl>div{flex-direction:column;gap:3px}.aim-panel .target-readout dd{text-align:left;max-width:none}}.zone-legend>span{font-size:12px}.zone-legend em{color:var(--text-secondary);font-size:12px;line-height:1.45}.coverage-status{color:var(--text);flex-direction:column;flex-basis:100%;gap:2px;font-size:12px;line-height:1.4;display:flex}.coverage-status:empty{display:none}@media (width>=731px){.zone-legend{max-width:min(640px,100% - 36px)}}.zone-legend{align-items:center;gap:3px 12px;padding:4px 8px}.zone-legend>.zone-legend-summary{min-width:0;color:var(--text);font-size:12px;font-weight:500;line-height:1.25;display:block}.zone-legend abbr{pointer-events:auto;cursor:help;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.zone-legend>.zone-legend-key{flex-wrap:wrap;align-items:center;gap:3px 10px;min-width:0;font-size:12px;display:flex}.zone-legend-key>span{align-items:center;gap:4px;line-height:1.25;display:inline-flex}.zone-legend i{width:9px;height:9px}.zone-legend small{color:var(--text-tertiary);font-size:12px}.zone-legend-toggle{pointer-events:auto;border-radius:var(--radius-sm);color:var(--n-700);padding:2px 7px;font-size:12px;line-height:1.25}.zone-legend-details{color:var(--text);flex-basis:100%;margin:0;font-size:12px;line-height:1.45}.zone-legend-details.is-collapsed{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width>=731px){.zone-legend{max-width:min(800px,100% - 36px)}}@media print{.zone-legend-toggle{display:none}.zone-legend-details.is-collapsed{clip:auto;white-space:normal;width:auto;height:auto;margin:0;position:static;overflow:visible}}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.app-header{align-items:center;gap:var(--space-3);height:56px;padding:0 var(--space-4) 0 var(--space-5);background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);flex-shrink:0;min-width:0;display:flex}.brand{align-items:center;gap:var(--space-4);flex-shrink:0;display:flex}.brand-lockup{flex-shrink:0;align-items:center;height:32px;display:inline-flex}.brand-lockup img{width:auto;height:32px;display:block}.brand-lockup img[hidden]{display:none}.brand-wordmark{font-size:var(--text-xl);line-height:var(--text-xl-lh);letter-spacing:.04em;color:var(--brand-700);font-weight:700}.brand-name{font-size:var(--text-xl);line-height:var(--text-xl-lh);letter-spacing:var(--text-xl-tracking);color:var(--text-strong);margin:0;font-weight:700}.app-header-divider{background:var(--border);flex-shrink:0;width:1px;height:24px}.project-title{align-items:center;gap:var(--space-2);flex:1;min-width:0;display:flex}.project-title input{width:100%;min-width:120px;max-width:360px;height:36px;padding:0 var(--space-2);font-size:var(--text-lg);color:var(--text-strong);border-radius:var(--radius-md);text-overflow:ellipsis;background:0 0;border:1px solid #0000;font-weight:600}.project-title input:hover{border-color:var(--border)}.project-title input:focus{border-color:var(--brand-600);background:var(--bg-surface)}.save-state,.chip{align-items:center;gap:var(--space-1_5);border-radius:var(--radius-full);height:24px;font-size:var(--text-xs);line-height:var(--text-xs-lh);font-weight:var(--text-xs-weight);white-space:nowrap;font-variant-numeric:tabular-nums;flex-shrink:0;padding:0 10px;display:inline-flex}.save-state i{background:currentColor;border-radius:50%;width:6px;height:6px;display:inline-block}.save-state-ok{background:var(--ok-50);color:var(--ok-600)}.save-state-warn{background:var(--warn-50);color:var(--warn-600)}.save-state-busy{background:var(--brand-50);color:var(--brand-700)}.save-state-neutral{background:var(--bg-hover);color:var(--text-secondary)}.chip{border:1px solid #0000}button.chip{min-height:24px;padding:0 10px}.chip-warn{background:var(--warn-50);color:var(--warn-600);border-color:var(--warn-200)}.chip-warn:hover{background:var(--warn-50);border-color:var(--warn-600)}.local-only{flex-shrink:0;display:inline-flex;position:relative}.local-only-popover{top:calc(100% + var(--space-1_5));width:320px;max-width:calc(100vw - 32px);z-index:var(--z-popover);position:absolute;left:0}.local-only-popover p{margin:0 0 var(--space-3);font-size:var(--text-md);line-height:var(--text-md-lh);color:var(--text)}.header-actions{align-items:center;gap:var(--space-2);flex-shrink:0;margin-left:auto;display:flex}.header-actions button{height:36px;font-size:var(--text-md);font-weight:var(--text-md-button-weight);gap:var(--space-2);padding:0 14px}.header-actions .account-button,.header-actions .icon-button{width:36px;height:36px;color:var(--n-600);padding:0}.app-header svg,.workspace-bar svg,.editor-toolbar svg,.project-sidebar svg,.plan-floor-chip svg,.zoom-controls svg,.banner svg,.toasts svg,.popover svg,.icon-button svg,.tool-button svg{flex:none}.chip-spin{animation:.8s linear infinite vvsg-spin}@media (prefers-reduced-motion:reduce){.chip-spin{animation:none}}.header-actions .account-button:hover{background:var(--bg-hover)}.workspace-bar{height:40px;padding:0 var(--space-4);background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);flex-shrink:0;align-items:stretch;min-width:0;display:flex}.workspace-tabs{gap:var(--space-1);min-width:0;height:100%;display:flex}.workspace-tabs [role=tab]{align-items:center;gap:var(--space-2);height:100%;padding:0 var(--space-3);color:var(--text-secondary);font-size:var(--text-md);white-space:nowrap;background:0 0;border:0;border-radius:0;font-weight:500;display:inline-flex;position:relative}.workspace-tabs [role=tab]:hover{background:var(--bg-app);color:var(--text)}.workspace-tabs [role=tab][aria-selected=true]{color:var(--text-link)}.workspace-tabs [role=tab][aria-selected=true]:after{content:"";left:var(--space-2);right:var(--space-2);background:var(--brand-500);border-radius:3px 3px 0 0;height:3px;position:absolute;bottom:0}.workspace-tabs [role=tab]:focus-visible{outline-offset:-2px}.tab-label-short{display:none}.banner{align-items:center;gap:var(--space-3);min-height:44px;padding:var(--space-1_5) var(--space-6);font-size:var(--text-md);line-height:var(--text-md-lh);border-bottom:1px solid;flex-shrink:0;display:flex}.banner-icon{flex-shrink:0}.banner-text{flex:1;min-width:0}.banner-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.banner-actions button{height:32px;padding:0 var(--space-3);font-size:var(--text-sm)}.banner-dismiss{width:32px;height:32px;color:inherit;background:0 0;border:0;padding:0}.banner-error{background:var(--err-50);color:var(--err-700);border-color:var(--err-200)}.banner-warn{background:var(--warn-50);color:var(--warn-600);border-color:var(--warn-200)}.banner-info{background:var(--brand-50);color:var(--n-800);border-color:var(--brand-200)}.banner-info .banner-icon{color:var(--brand-700)}.banner-error .banner-actions button:not(.primary),.banner-warn .banner-actions button:not(.primary){background:var(--bg-surface);color:inherit;border-color:currentColor}.toasts{right:var(--space-4);z-index:var(--z-toast);gap:var(--space-2);pointer-events:none;flex-direction:column;width:min(360px,100vw - 32px);display:flex;position:fixed;bottom:48px}.toasts:empty{display:none}.toast{pointer-events:auto;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);background:var(--bg-surface);color:var(--text);border:1px solid var(--border-subtle);border-left:4px solid var(--brand-500);border-radius:var(--radius-lg);box-shadow:var(--shadow-3);font-size:var(--text-md);line-height:var(--text-md-lh);animation:toast-in var(--dur-2) var(--ease-standard);display:flex}.toast-icon{color:var(--brand-700);flex-shrink:0}.toast-text{overflow-wrap:anywhere;flex:1;min-width:0}.toast-dismiss{width:28px;height:28px;color:var(--n-600);background:0 0;border:0;flex-shrink:0;margin:-4px -4px 0 0;padding:0}.toast-dismiss:hover{background:var(--bg-hover)}.toast-success{border-left-color:var(--ok-600)}.toast-success .toast-icon{color:var(--ok-600)}.toast-warn{border-left-color:var(--warn-500)}.toast-warn .toast-icon{color:var(--warn-600)}.toast-error{border-left-color:var(--err-600)}.toast-error .toast-icon{color:var(--err-600)}@keyframes toast-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.tooltip-anchor{flex:none;display:inline-flex;position:relative}.tooltip{z-index:var(--z-tooltip);width:max-content;max-width:280px;padding:var(--space-1_5) var(--space-2);border-radius:var(--radius-md);background:var(--n-800);color:var(--n-0);font-size:var(--text-xs);line-height:var(--text-xs-lh);white-space:nowrap;pointer-events:none;font-weight:500;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%)}.tooltip[hidden]{display:none}.tooltip-above{top:auto;bottom:calc(100% + 6px)}.tooltip kbd{margin-left:var(--space-1_5);padding:0 var(--space-1);border-radius:var(--radius-sm);font:inherit;font-size:var(--text-xs);background:#ffffff29}.popover{background:var(--bg-surface);color:var(--text);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-3);padding:var(--space-4);font-size:var(--text-md);line-height:var(--text-md-lh)}.tool-menu{z-index:var(--z-popover);min-width:220px;padding:var(--space-1);flex-direction:column;display:flex;position:fixed}.popover [role^=menuitem]{justify-content:flex-start;gap:var(--space-2);width:100%;height:36px;padding:0 var(--space-2);border-radius:var(--radius-md);color:var(--text);font-size:var(--text-md);background:0 0;border:0;font-weight:400}.popover [role^=menuitem]:hover{background:var(--bg-hover)}.popover [role^=menuitem][aria-disabled=true]{color:var(--text-disabled);cursor:not-allowed;background:0 0}.popover [role^=menuitem][aria-checked=true]{background:var(--brand-50);color:var(--brand-700)}.popover [role^=menuitem] span{text-align:left;flex:1}.help-menu{display:inline-flex;position:relative}.help-popover{top:calc(100% + var(--space-1_5));z-index:var(--z-popover);min-width:200px;padding:var(--space-1);flex-direction:column;display:flex;position:absolute;right:0}.tool-menu kbd{font:inherit;font-size:var(--text-xs);color:var(--text-tertiary)}.popover-title{margin:0 0 var(--space-2);font-size:var(--text-sm);line-height:var(--text-sm-lh);color:var(--text-secondary);font-weight:600}.view-popover section+section{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border-subtle)}.popover-footer{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border-subtle);justify-content:flex-end;display:flex}.popover-footer button{height:32px;font-size:var(--text-sm)}.view-popover .field{margin:0}.view-popover .field>span{font-size:var(--text-sm);color:var(--text-secondary)}.view-popover .field select{height:36px;font-size:var(--text-md)}.switch-field+.switch-field{margin-top:var(--space-2)}.switch-row{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:32px;font-size:var(--text-md);color:var(--text);cursor:pointer;display:flex}.switch-row input[role=switch]{appearance:none;border-radius:var(--radius-full);border:1px solid var(--n-500);background:var(--n-300) radial-gradient(circle at 9px 50%,var(--n-0) 7px,transparent 7.5px);cursor:pointer;flex:none;width:36px;height:20px;margin:0}.switch-row input[role=switch]:checked{border-color:var(--brand-600);background:var(--brand-600) radial-gradient(circle at 25px 50%,var(--n-0) 7px,transparent 7.5px)}.switch-row input[role=switch]:disabled{opacity:.4;cursor:not-allowed}.switch-note{margin:0 0 var(--space-1);font-size:var(--text-xs);line-height:var(--text-xs-lh);color:var(--text-tertiary)}.segmented-field{margin-top:var(--space-3)}.field-label{margin-bottom:var(--space-1_5);font-size:var(--text-sm);color:var(--text-secondary);display:block}.segmented{border-radius:var(--radius-md);background:var(--n-100);gap:2px;padding:2px;display:inline-flex}.segmented label{height:28px;padding:0 var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--n-600);cursor:pointer;align-items:center;font-weight:500;display:inline-flex;position:relative}.segmented label:hover{color:var(--n-800)}.segmented label.is-selected{background:var(--bg-surface);color:var(--n-900);box-shadow:var(--shadow-1)}.segmented input{opacity:0;pointer-events:none;width:1px;height:1px;margin:0;position:absolute}.segmented label:has(input:focus-visible){outline:var(--focus-ring-width) solid var(--focus);outline-offset:var(--focus-ring-offset)}.workspace{flex:1;grid-template:"sidebar toolbar inspector""sidebar main inspector"minmax(0,1fr)/auto minmax(0,1fr) auto;min-width:0;min-height:0;display:grid;position:relative;overflow:hidden}.workspace>.main-workspace{background:var(--bg-app);flex-direction:column;grid-area:main;min-width:0;min-height:0;display:flex;position:relative;overflow:clip}.workspace>.inspector{grid-area:inspector;width:320px;min-height:0}.editor-toolbar{align-items:center;gap:var(--space-2);height:48px;padding:0 var(--space-2);background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);flex-wrap:nowrap;grid-area:toolbar;min-width:0;display:flex}.toolbar-tools{flex-wrap:nowrap;flex:auto;align-items:center;gap:2px;min-width:0;display:flex}.toolbar-view{align-items:center;gap:var(--space-1);flex-wrap:nowrap;flex:none;margin-left:auto;display:flex}.tool-button{width:var(--target-tool);height:var(--target-tool);border-radius:var(--radius-md);color:var(--n-600);background:0 0;border:1px solid #0000;flex:none;padding:0}.tool-button:hover{background:var(--bg-hover);border-color:#0000}.tool-button.active,.tool-button[aria-pressed=true]{background:var(--brand-50);border-color:var(--brand-200);color:var(--brand-700)}.tool-button:active{background:var(--brand-100)}.tool-button:disabled,.tool-button:disabled:hover{color:var(--n-300);background:0 0;border-color:#0000}.split-tool{flex:none;align-items:center;display:flex}.split-chevron{width:16px;height:var(--target-tool);border-radius:var(--radius-sm);color:var(--n-600);background:0 0;border:0;padding:0}.split-chevron:hover,.split-chevron[aria-expanded=true]{background:var(--bg-hover)}.toolbar-divider{width:1px;height:24px;margin:0 var(--space-2);background:var(--border);flex:none}.toolbar-toggle{height:var(--target-tool);gap:var(--space-2);border-radius:var(--radius-md);color:var(--n-700);font-size:var(--text-md);background:0 0;border:1px solid #0000;padding:0 10px;font-weight:500}.toolbar-toggle:hover{background:var(--bg-hover);border-color:#0000}.toolbar-toggle.active,.toolbar-toggle[aria-pressed=true]{background:var(--brand-50);border-color:var(--brand-200);color:var(--brand-700)}.view-anchor{display:inline-flex;position:relative}.view-popover{top:calc(100% + var(--space-1_5));z-index:var(--z-popover);width:360px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 160px);position:absolute;right:0;overflow:auto}.project-sidebar{background:var(--bg-subtle);border-right:1px solid var(--border-subtle);flex-direction:column;grid-area:sidebar;width:256px;min-height:0;display:flex;overflow:hidden}.project-sidebar.is-rail{width:48px}.project-sidebar.is-rail>:not(.explorer-header),.project-sidebar.is-rail .explorer-header>:not(.explorer-toggle){display:none}.project-sidebar.is-rail .explorer-header{justify-content:center;padding:0}.project-sidebar.is-drawer{width:280px;z-index:var(--z-drawer);box-shadow:var(--shadow-3);grid-area:auto;position:absolute;top:0;bottom:0;left:0}.explorer-header{align-items:center;gap:var(--space-1);height:48px;padding:0 var(--space-2);border-bottom:1px solid var(--border-subtle);flex-shrink:0;display:flex}.explorer-title{font-size:var(--text-sm);line-height:var(--text-sm-lh);color:var(--text-secondary);flex:1;margin:0;font-weight:600}.explorer-body{min-height:0;padding-bottom:var(--space-2);flex:1;overflow:auto}.explorer-section-heading{margin:0}.explorer-section-heading button{justify-content:flex-start;gap:var(--space-1_5);width:100%;height:36px;padding:0 var(--space-3);color:var(--n-600);font-size:var(--text-sm);background:0 0;border:0;border-radius:0;font-weight:600}.explorer-section-heading button:hover{background:var(--bg-hover)}.explorer-chevron{transition:transform var(--dur-1) var(--ease-standard)}.explorer-section-heading button[aria-expanded=true] .explorer-chevron{transform:rotate(90deg)}.count-badge{min-width:20px;height:20px;padding:0 var(--space-1_5);border-radius:var(--radius-full);background:var(--n-100);color:var(--text-secondary);font-size:var(--text-xs);text-align:center;font-variant-numeric:tabular-nums;margin-left:auto;font-weight:500;line-height:20px}.explorer-section-body{padding:0 var(--space-2) var(--space-2)}.floor-list{margin:0;padding:0;list-style:none}.floor-item{border-radius:var(--radius-md);min-height:44px;padding-right:var(--space-1);align-items:center;display:flex}.floor-item.active{background:var(--bg-selected);box-shadow:inset 3px 0 0 var(--brand-500)}.floor-select{justify-content:flex-start;gap:var(--space-2);min-width:0;padding:var(--space-1_5) var(--space-2);text-align:left;color:var(--text);background:0 0;border:0;flex:1}.floor-select:hover{background:0 0}.floor-select>svg,.entity-list>button>svg{color:var(--n-500);flex-shrink:0}.floor-select>span,.entity-list>button>span{flex-direction:column;min-width:0;display:flex}.row-title{font-size:var(--text-md);line-height:var(--text-md-lh);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.floor-select small,.entity-list small{font-size:var(--text-xs);line-height:var(--text-xs-lh);color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:400;overflow:hidden}.floor-visibility[aria-pressed=false]{color:var(--n-500)}.floor-settings{justify-content:flex-start;gap:var(--space-2);width:100%;height:36px;margin-top:var(--space-1);padding:0 var(--space-2);font-size:var(--text-sm);color:var(--text-secondary)}.entity-list{flex-direction:column;display:flex}.entity-list>button{width:100%;min-height:48px;padding:var(--space-1_5) var(--space-2) var(--space-1_5) 10px;border-radius:var(--radius-md);text-align:left;color:var(--text);background:0 0;border:0;justify-content:flex-start;gap:10px}.entity-list>button:hover{background:var(--bg-hover)}.entity-list>button.selected{background:var(--bg-selected);box-shadow:inset 3px 0 0 var(--brand-500)}.entity-list .row-title{font-weight:600}.sidebar-empty{padding:var(--space-2);font-size:var(--text-sm);line-height:var(--text-sm-lh);color:var(--text-secondary);margin:0}.explorer-measurements:empty{display:none}.explorer-measurements .saved-measurements-panel{width:auto;max-width:none;max-height:none;padding:0 var(--space-2) var(--space-2);border:0;border-top:1px solid var(--border-subtle);box-shadow:none;font-size:var(--text-sm);background:0 0;border-radius:0;margin:0;position:static}.explorer-measurements .saved-measurements-panel>summary{height:36px;margin:0 calc(-1 * var(--space-2));padding:0 var(--space-3);font-size:var(--text-sm);color:var(--n-600);cursor:pointer;align-items:center;font-weight:600;display:flex}.explorer-measurements .saved-measurements-panel>summary:hover{background:var(--bg-hover)}.explorer-measurements .saved-measurements-panel ul{max-height:none}.explorer-totals{border-top:1px solid var(--border-subtle);background:var(--bg-app);flex-shrink:0}.totals-list{padding:0 var(--space-2);margin:0}.totals-list>div{justify-content:space-between;align-items:baseline;gap:var(--space-2);min-height:28px;display:flex}.totals-list dt{font-size:var(--text-sm);color:var(--text-secondary)}.totals-list dd{font-size:var(--text-md);color:var(--text-strong);font-variant-numeric:tabular-nums;margin:0;font-weight:600}.totals-list dd small{font-size:var(--text-xs);color:var(--text-tertiary);font-weight:400}.live-dot{background:var(--ok-600);border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.plan-floor-chip{top:var(--space-4);left:var(--space-4);z-index:var(--z-canvas-overlay);align-items:center;gap:var(--space-1_5);border:1px solid var(--border-subtle);border-radius:var(--radius-full);background:var(--bg-overlay);height:28px;box-shadow:var(--shadow-1);font-size:var(--text-xs);color:var(--text);pointer-events:none;white-space:nowrap;text-overflow:ellipsis;max-width:calc(100% - 32px);padding:0 10px;font-weight:500;display:flex;position:absolute;overflow:hidden}.plan-floor-chip .muted{color:var(--text-tertiary)}.zoom-controls{right:var(--space-4);bottom:var(--space-4);z-index:var(--z-canvas-overlay);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--bg-surface);box-shadow:var(--shadow-2);align-items:center;padding:2px;display:flex;position:absolute}.zoom-controls button{width:var(--target-tool);height:var(--target-tool);border-radius:var(--radius-md);color:var(--n-600);background:0 0;border:0;padding:0}.zoom-controls button:hover{background:var(--bg-hover)}.zoom-controls span{text-align:center;min-width:44px;font-size:var(--text-xs);color:var(--text-secondary);font-variant-numeric:tabular-nums;font-weight:500}.zoom-controls button:last-child{border-left:1px solid var(--border-subtle);border-radius:0 var(--radius-md) var(--radius-md) 0;margin-left:2px}.plan-statusbar{align-items:center;gap:var(--space-4);height:32px;padding:0 var(--space-4);border-top:1px solid var(--border-subtle);background:var(--bg-surface);font-size:var(--text-xs);line-height:var(--text-xs-lh);color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;display:flex;overflow:hidden}.status-tool{text-overflow:ellipsis;min-width:0;color:var(--text);flex:1;overflow:hidden}.status-cursor{gap:var(--space-3);flex-shrink:0;display:flex}.status-counts{flex-shrink:0}@media (width>=768px){.zone-legend{bottom:var(--space-4);left:var(--space-4);max-width:calc(100% - 200px)}}.modal{width:440px;padding:var(--space-6);border-radius:var(--radius-xl)}.modal-wide{width:800px}.modal-title{margin-bottom:var(--space-4)}.modal-title h2{font-size:var(--text-xl);line-height:var(--text-xl-lh);letter-spacing:var(--text-xl-tracking);color:var(--text-strong);font-weight:600}.modal-title button{border-radius:var(--radius-md);width:32px;height:32px;padding:0}.modal-title button:hover{background:var(--bg-hover)}@media (width>=1600px){.project-sidebar:not(.is-rail):not(.is-drawer){width:272px}.workspace>.inspector{width:352px}}@media (width<=1279px){.chip-label,.header-label{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.save-state,.project-title .chip{justify-content:center;gap:0;width:24px;padding:0}.upload-chip{padding:0 6px}.header-actions .header-secondary{width:36px;padding:0}}@media (width>=1280px){.header-tip>.tooltip{display:none}}@media (width<=1439px){.toolbar-label{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.toolbar-toggle{padding:0 var(--space-2)}}@media (width<=1023px){.tab-label{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.tab-label-short{display:inline}.workspace>.inspector{width:280px}.toolbar-tools{contain:paint;scrollbar-width:thin;overflow:auto hidden}.toolbar-view{z-index:1;padding-left:var(--space-2);background:var(--bg-surface);border-left-style:solid;border-left-width:1px;border-left-color:var(--border);margin-left:0;position:relative}.project-title input{font-size:var(--text-md)}}@media (width<=767px){.app-header{row-gap:var(--space-2);height:auto;min-height:56px;padding:var(--space-2) var(--space-3);flex-wrap:wrap}.brand .app-header-divider,.brand-name{display:none}.project-title{flex-basis:100%;order:3}.project-title input{max-width:none}.header-actions{gap:var(--space-1)}.header-actions .primary{padding:0 10px}.workspace-bar{padding:0 var(--space-2)}.workspace-tabs{scrollbar-width:none;justify-content:space-between;gap:0;width:100%;overflow-x:auto}.workspace-tabs [role=tab]{padding:0 var(--space-2);gap:var(--space-1_5)}.workspace>.inspector{width:240px}.banner{padding:var(--space-2) var(--space-3);flex-wrap:wrap}.plan-statusbar{gap:var(--space-2);padding:0 var(--space-2)}.status-counts{display:none}.zone-legend{bottom:64px}.toasts{right:var(--space-2);bottom:var(--space-2);width:calc(100vw - 16px)}}@media (width<=550px){.workspace.view-plan>.inspector{grid-area:auto;width:min(310px,100% - 24px)}.workspace-tabs [role=tab] svg{display:none}.workspace-tabs [role=tab]{padding:0 6px}}@media print{.workspace{display:block}.toasts,.plan-statusbar,.editor-toolbar{display:none!important}}.upload-status{flex-shrink:0;align-items:center;display:flex}.upload-status:empty{display:none}.upload-chip{align-items:center;gap:var(--space-1_5);min-height:24px;padding:0 var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);line-height:var(--text-xs-lh);font-weight:var(--text-xs-weight);font-variant-numeric:tabular-nums;white-space:nowrap;display:inline-flex}.upload-chip.is-busy{background:var(--brand-50);color:var(--brand-700);border:1px solid var(--brand-200)}.upload-chip.is-failed{background:var(--err-50);color:var(--err-700);border:1px solid var(--err-200)}.upload-chip.is-failed button{margin-left:var(--space-1);min-height:20px;padding:0 var(--space-2);border-radius:var(--radius-full);background:var(--bg-surface);color:var(--err-700);font-size:var(--text-xs);border:1px solid;font-weight:600}.upload-chip.is-failed button:hover{background:var(--err-50)}.spinner{border:2px solid var(--n-150);border-top-color:var(--brand-600);border-radius:50%;flex-shrink:0;width:12px;height:12px;animation:.8s linear infinite vvsg-spin}@keyframes vvsg-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{border-top-color:var(--brand-600);border-right-color:var(--brand-600);animation:none}}.upgrade-banner{align-items:center;gap:var(--space-3);min-height:44px;padding:var(--space-2) var(--space-6);background:var(--brand-50);color:var(--n-800);border-bottom:1px solid var(--brand-200);font-size:var(--text-sm);line-height:var(--text-sm-lh);flex-shrink:0;display:flex}.upgrade-banner>svg{color:var(--brand-700);flex-shrink:0}.upgrade-banner>span{flex:1;min-width:0}.upgrade-banner button{font-size:var(--text-xs);padding:var(--space-1_5) var(--space-3)}@media (width<=730px){.upgrade-banner{padding:var(--space-2) var(--space-3);flex-wrap:wrap}.upgrade-banner>span{flex-basis:calc(100% - 32px)}}.upgrade-review .upgrade-summary{font-size:var(--text-sm);color:var(--text-secondary);font-variant-numeric:tabular-nums;margin:0 0 var(--space-3)}.upgrade-review .upgrade-status{font-size:var(--text-sm);color:var(--text-secondary)}.upgrade-table{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow-x:auto}.upgrade-table:focus-visible{outline:var(--focus-ring-width) solid var(--focus);outline-offset:var(--focus-ring-offset)}.upgrade-table table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.upgrade-table th,.upgrade-table td{padding:var(--space-2) var(--space-3);text-align:left;vertical-align:top;border-bottom:1px solid var(--border-subtle);color:var(--text)}.upgrade-table thead th{background:var(--bg-app);color:var(--text-secondary);font-size:var(--text-xs);white-space:nowrap;font-weight:600}.upgrade-table tbody tr:last-child>*{border-bottom:0}.upgrade-table tbody th{color:var(--text-strong);font-weight:600}.upgrade-table td.num{text-align:right;white-space:nowrap}.upgrade-table tr.is-blocked>*{background:var(--err-50)}.upgrade-problem{gap:var(--space-1_5);margin-top:var(--space-1);font-size:var(--text-xs);color:var(--err-700);align-items:flex-start;font-weight:500;display:flex}.upgrade-problem svg{flex-shrink:0;margin-top:1px}.upgrade-sha{align-items:center;gap:var(--space-1);flex-wrap:wrap;display:inline-flex}.upgrade-sha code{font-size:var(--text-xs);color:var(--text-strong)}.upgrade-copy-state{font-size:var(--text-xs);color:var(--ok-600)}.upgrade-copy-state code{font-size:var(--text-xs);color:var(--text);overflow-wrap:anywhere}.icon-button{width:var(--target-icon);height:var(--target-icon);color:var(--n-600);background:0 0;border-color:#0000;padding:0}.icon-button:hover{background:var(--bg-hover);border-color:#0000}.library-usage{margin:0 0 var(--space-3);font-size:var(--text-sm);color:var(--text-secondary);font-variant-numeric:tabular-nums}.modal p.library-usage{font-size:var(--text-sm)}.aim-panel .aim-band{color:var(--text-strong);font-weight:600}.aim-panel .aim-state{font-size:var(--text-xs);color:var(--text-secondary);margin:var(--space-2) 0 0}.aim-panel .aim-state.is-following{color:var(--ok-600)}.aim-panel .aim-state strong{font-weight:600}.aim-panel .aim-release{font-size:var(--text-xs);color:var(--warn-600);background:var(--warn-50);border:1px solid var(--warn-200);border-radius:var(--radius-md);padding:var(--space-1_5) var(--space-2);margin:var(--space-2) 0 0}.aim-panel .aim-actions{gap:var(--space-2);margin-top:var(--space-2);flex-direction:column;display:flex}.aim-panel .aim-field.is-unsaved input{border-color:var(--warn-600);background:var(--warn-50)}.aim-panel .aim-unsaved{margin-top:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--warn-200);border-radius:var(--radius-md);background:var(--warn-50);color:var(--warn-600);font-size:var(--text-xs)}.aim-panel .aim-unsaved p{margin:0 0 var(--space-2);font-size:var(--text-xs)}.aim-panel .aim-unsaved button{font-size:var(--text-xs)}.zone-legend .zone-legend-band{font-variant-numeric:tabular-nums;color:var(--text)}.plan-image-placeholder-label{font-family:var(--font-ui);letter-spacing:0;font-weight:600}.visually-hidden{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}:is(.inspector,.dialog-body) .field{gap:var(--space-1_5);margin-bottom:var(--space-3)}:is(.inspector,.dialog-body) .field>span{font-size:var(--text-sm);line-height:var(--text-sm-lh);font-weight:var(--text-sm-label-weight);color:var(--text-secondary)}:is(.inspector,.dialog-body) .field :is(input:not([type=checkbox]):not([type=radio]):not([type=file]),select){height:var(--control-height);font-size:var(--text-md);line-height:var(--text-md-lh);color:var(--text-strong);border-radius:var(--radius-md);padding:0 10px}:is(.inspector,.dialog-body) .field textarea{min-height:96px;padding:var(--space-2) 10px;font-size:var(--text-md);line-height:var(--text-md-lh);resize:vertical}:is(.inspector,.dialog-body) .field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235D6B7C' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:16px 16px;padding-right:32px}@media (hover:hover){:is(.inspector,.dialog-body) .field :is(input,select,textarea):not(:disabled):hover{border-color:var(--n-500)}}:is(.inspector,.dialog-body) .field :is(input,select,textarea):focus-visible{border-color:var(--brand-600)}:is(.inspector,.dialog-body) .field :is(input,select,textarea):disabled{background-color:var(--n-50);border-color:var(--n-300);color:var(--n-400);opacity:1}:is(.inspector,.dialog-body) .field input[aria-invalid=true]{border-color:var(--err-600);background:var(--err-50)}:is(.inspector,.dialog-body) .field-error{margin-top:var(--space-1);font-size:var(--text-xs);line-height:var(--text-xs-lh);color:var(--err-700);font-weight:500;display:block}:is(.inspector,.dialog-body) .field-grid{gap:0 var(--space-3)}.field>.unit-input{min-width:0;font-size:var(--text-md);color:var(--text-strong);font-weight:400;display:block;position:relative}.unit-input>input{text-align:right;font-variant-numeric:tabular-nums;appearance:textfield;width:100%;padding-right:calc(var(--unit-chars,1) * .62em + 18px)!important}.unit-input>input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.unit-input>input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.unit-input:after{content:attr(data-unit);content:attr(data-unit) / "";font-size:var(--text-sm);line-height:var(--text-sm-lh);color:var(--text-tertiary);pointer-events:none;white-space:nowrap;position:absolute;top:50%;right:10px;transform:translateY(-50%)}:is(.inspector,.dialog-body) input[type=number]{font-variant-numeric:tabular-nums}:is(.inspector,.dialog-body) input[type=checkbox]{width:18px;height:18px;accent-color:var(--brand-600);flex-shrink:0;margin:0}:is(.inspector,.dialog-body) label:has(>input[type=checkbox]){align-items:center;gap:var(--space-2);min-height:var(--checkbox-row);font-size:var(--text-md);line-height:var(--text-md-lh);color:var(--text);display:flex}.inspector-body button:not(.text-button){min-height:32px;padding:0 var(--space-3);font-size:var(--text-sm);line-height:var(--text-sm-lh);white-space:normal;text-align:center;font-weight:500}.dialog-body button:not(.text-button):not(.icon-button){min-height:var(--control-height);font-size:var(--text-md);line-height:var(--text-md-lh);font-weight:var(--text-md-button-weight);white-space:normal;padding:0 14px}:is(.inspector-body,.dialog-body) button:disabled{background:var(--n-25);border-color:var(--n-200);color:var(--n-400);opacity:1}:is(.inspector-body,.dialog-body) button.primary:disabled{background:var(--n-100);border-color:var(--n-100);color:var(--n-400);box-shadow:none}:is(.inspector-body,.dialog-body) button.primary:focus-visible{box-shadow:var(--focus-ring-on-fill);outline:none}:is(.inspector-body,.dialog-body) button.primary:active:not(:disabled){background:var(--brand-800);border-color:var(--brand-800)}:is(.inspector-body,.dialog-body) button.danger:not(:disabled){color:var(--err-600);border-color:var(--err-200);background:var(--bg-surface)}@media (hover:hover){:is(.inspector-body,.dialog-body) button.danger:not(:disabled):hover{background:var(--err-50);color:var(--err-700)}}.inspector-body .wide-button{width:100%}.inspector{background:var(--bg-surface)}.inspector .panel-heading{height:56px;padding:0 var(--space-4);font-size:var(--text-md);line-height:var(--text-md-lh);color:var(--text-strong);font-weight:600}.inspector-header{z-index:var(--z-sticky);align-items:center;gap:var(--space-3);min-height:64px;padding:var(--space-3) var(--space-2) var(--space-3) var(--space-4);background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);flex-shrink:0;display:flex;position:sticky;top:0}.inspector-identity{flex-direction:column;flex:1;gap:0;min-width:0;display:flex}.inspector-name{margin:0 0 0 -7px;display:block}.inspector-name input{border-radius:var(--radius-md);width:100%;height:28px;font-size:var(--text-lg);line-height:var(--text-lg-lh);color:var(--text-strong);text-overflow:ellipsis;background:0 0;border:1px solid #0000;padding:0 6px;font-weight:600;display:block}@media (hover:hover){.inspector-name input:hover{border-color:var(--border)}}.inspector-name input:focus-visible{border-color:var(--brand-600);background:var(--bg-surface)}.inspector-title{font-size:var(--text-lg);line-height:var(--text-lg-lh);color:var(--text-strong);margin:0;font-weight:600}.inspector-model{font-size:var(--text-sm);line-height:var(--text-sm-lh);color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.inspector-header-actions{align-items:center;gap:var(--space-0_5);flex-shrink:0;display:flex}.inspector-header-actions .icon-button{width:var(--target-icon);height:var(--target-icon);border-radius:var(--radius-md);color:var(--n-600);background:0 0;border:1px solid #0000;place-items:center;padding:0;display:inline-grid}@media (hover:hover){.inspector-header-actions .icon-button:hover{background:var(--n-100);color:var(--n-800)}.inspector-header-actions .icon-button.is-danger:hover{background:var(--err-50);color:var(--err-700)}}.inspector-header-actions .icon-button:active{background:var(--n-150)}.inspector-header-actions .icon-button.is-danger{color:var(--err-600)}.inspector-body{padding:var(--space-4) 0 var(--space-6)}.inspector-body>.key-metrics{margin:0 var(--space-4) var(--space-4)}.inspector-body>.entity-id{margin:var(--space-4) var(--space-4) 0}.inspector .entity-id{padding-top:var(--space-3);margin-top:var(--space-4);border-top:1px solid var(--border-subtle);font-size:var(--text-xs);line-height:var(--text-xs-lh);letter-spacing:0;color:var(--text-tertiary);font-variant-numeric:tabular-nums slashed-zero;display:block}.key-metrics{gap:var(--space-2) var(--space-3);padding:var(--space-3) var(--space-4);background:var(--n-25);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.key-metric{flex-direction:column;gap:2px;min-width:0;display:flex}.key-metric>span{font-size:var(--text-xs);line-height:var(--text-xs-lh);color:var(--text-secondary);font-weight:500}.key-metric>strong{letter-spacing:-.01em;color:var(--text-strong);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:22px;font-weight:600;line-height:30px}.key-metric>strong small{font-size:var(--text-sm);letter-spacing:0;color:var(--text-tertiary);font-weight:500}.key-metrics-caption{padding-top:var(--space-2);border-top:1px solid var(--border-subtle);font-size:var(--text-xs);line-height:var(--text-xs-lh);color:var(--text-tertiary);font-variant-numeric:tabular-nums;grid-column:1/-1}.inspector-section{border-top:1px solid var(--border-subtle)}.inspector-section:last-of-type{border-bottom:1px solid var(--border-subtle)}.inspector-section-heading{font-size:var(--text-md);line-height:var(--text-md-lh);margin:0}.inspector-body .inspector-section-heading>button{justify-content:flex-start;align-items:center;gap:var(--space-2);width:100%;min-height:44px;padding:0 var(--space-4);color:var(--n-800);font-size:var(--text-md);line-height:var(--text-md-lh);text-align:left;white-space:nowrap;background:0 0;border:0;border-radius:0;font-weight:600;display:flex}@media (hover:hover){.inspector-body .inspector-section-heading>button:hover{background:var(--n-50)}}.inspector-body .inspector-section-heading>button:focus-visible{outline-offset:-2px}.inspector-chevron{color:var(--text-tertiary);transition:transform var(--dur-1) var(--ease-standard);flex-shrink:0;transform:rotate(-90deg)}.inspector-section.is-open .inspector-chevron{transform:none}.inspector-section-body{padding:var(--space-1) var(--space-4) var(--space-4)}.inspector-section-body[hidden]{display:none}:is(.inspector,.dialog-body) :is(h4,.inspector-subheading){margin:var(--space-4) 0 var(--space-2);font-size:var(--text-sm);line-height:var(--text-sm-lh);letter-spacing:0;text-transform:none;color:var(--text-secondary);font-weight:600}.inspector-section-body>:is(h4,.inspector-subheading):first-child,.inspector-section-body>section:first-child>.inspector-subheading:first-child{margin-top:var(--space-2)}:is(.inspector,.dialog-body) h5{margin:0 0 var(--space-1_5);font-size:var(--text-sm);line-height:var(--text-sm-lh);color:var(--text-secondary);font-weight:600}.readouts{margin:var(--space-2) 0 var(--space-3)}.readouts>div,.inspector .target-readout dl>div,.dialog-body .cad-result dl>div{justify-content:space-between;align-items:baseline;gap:var(--space-3);min-height:32px;padding:var(--space-1_5) 0;border-bottom:1px solid var(--border-subtle);display:flex}.readouts>div:last-child,.inspector .target-readout dl>div:last-child{border-bottom:0}.readouts dt,.inspector .target-readout dt,.dialog-body .cad-result dt{font-size:var(--text-sm);line-height:var(--text-sm-lh);color:var(--text-secondary);flex:1}.readouts dd,.inspector .target-readout dd,.dialog-body .cad-result dd{max-width:62%;font-size:var(--text-sm);line-height:var(--text-sm-lh);color:var(--text-strong);text-align:right;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:0;font-weight:600}.inspector .target-readout{margin-top:var(--space-3);padding-top:var(--space-1);border-top:1px solid var(--border-subtle)}.inspector .target-readout p,.inspector .target-readout .aim-persons-unavailable{font-size:var(--text-xs);line-height:var(--text-xs-lh);color:var(--text-tertiary);margin:var(--space-2) 0 0}.inspector .target-sampling{margin-top:var(--space-3);padding-top:var(--space-2);border-top:1px solid var(--border-subtle)}.aim-persons-host:empty{display:none}.aim-persons-host .target-sampling:first-child{border-top:0;margin-top:0;padding-top:0}.aim-persons-host .aim-persons-unavailable{font-size:var(--text-sm);line-height:var(--text-sm-lh);color:var(--text-secondary);margin:0}.aim-panel .aim-band .aim-occlusion{color:var(--text-secondary);font-weight:400}.inspector .note,.dialog-body .note,.modal .dialog-body .note{font-size:var(--text-sm);line-height:var(--text-sm-lh);color:var(--text-secondary);background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);margin:var(--space-3) 0}.inspector .note button{margin-top:var(--space-2);display:flex}.inspector .camera-model-binding{margin:0 0 var(--space-3)}.inspector .camera-model-binding>strong{font-size:var(--text-md);line-height:var(--text-md-lh);color:var(--text-strong);font-weight:600;display:block}.inspector .camera-model-binding p{margin:var(--space-1) 0;font-size:var(--text-sm);line-height:var(--text-sm-lh);color:var(--text-secondary)}.inspector .camera-model-binding small,.inspector .lens-solver>small{margin:var(--space-1) 0;font-size:var(--text-xs);line-height:var(--text-xs-lh);color:var(--text-tertiary);display:block}.inspector .camera-model-binding>button{margin:var(--space-2) var(--space-2) 0 0}.inspector .camera-model-binding details,.dialog-body details{margin:var(--space-2) 0}:is(.inspector,.dialog-body) summary{cursor:pointer;align-items:center;gap:var(--space-1_5);min-height:32px;font-size:var(--text-sm);line-height:var(--text-sm-lh);color:var(--text-link);font-weight:500;display:flex}.inspector .lens-solver{margin:var(--space-3) 0;padding:var(--space-3);background:var(--n-25);border:1px solid var(--border-subtle);border-radius:var(--radius-lg)}.inspector .lens-solver>.inspector-subheading{margin-top:0}.inspector .lens-solver>p{margin:0 0 var(--space-3);font-size:var(--text-sm);line-height:var(--text-sm-lh);color:var(--text-secondary)}.inspector .lens-solver form{margin-bottom:var(--space-3)}.inspector .lens-solver .field{margin-bottom:var(--space-2)}.inspector .aim-panel{margin-top:var(--space-4)}.inspector .aim-panel .aim-state,.inspector .aim-panel .aim-release,.inspector .aim-panel .aim-unsaved,.inspector .aim-panel .aim-unsaved p{font-size:var(--text-sm);line-height:var(--text-sm-lh)}.inspector .target-analysis{margin:var(--space-4) 0 0;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--n-25)}.inspector .target-analysis>summary{min-height:44px;padding:0 var(--space-3);font-size:var(--text-md);line-height:var(--text-md-lh);color:var(--n-800);font-weight:600}.inspector .target-analysis>summary small{float:none;font-size:var(--text-xs);color:var(--text-tertiary);margin-left:auto;font-weight:500}.inspector .target-analysis-body{padding:0 var(--space-3) var(--space-3)}.inspector .target-analysis-body>p,.inspector .target-analysis-body .applied-footprint-plane{font-size:var(--text-sm);line-height:var(--text-sm-lh);color:var(--text-secondary)}.inspector .target-analysis-body .target-caveat,.inspector .target-exclusions,.inspector .sampling-withheld{font-size:var(--text-xs);line-height:var(--text-xs-lh);color:var(--text-tertiary)}.inspector .target-actions{gap:var(--space-1_5);flex-wrap:wrap;display:flex}.inspector .target-actions button svg{flex-shrink:0}.empty-inspector{max-width:420px;padding:var(--space-8) var(--space-6);text-align:center;flex-direction:column;align-items:center;margin:0 auto;display:flex}.empty-inspector .empty-icon{width:64px;height:64px;margin-bottom:var(--space-4);background:var(--n-100);color:var(--n-500);border-radius:50%;place-items:center;display:grid}.empty-inspector h3{margin:0 0 var(--space-2);font-size:var(--text-lg);line-height:var(--text-lg-lh);color:var(--text-strong);font-weight:600}.empty-inspector>p{margin:0 0 var(--space-4);font-size:var(--text-md);line-height:var(--text-md-lh);color:var(--text-secondary)}.empty-actions{gap:var(--space-2);width:100%;margin-bottom:var(--space-4);flex-direction:column;display:flex}.empty-actions button{min-height:var(--control-height);font-size:var(--text-md)}.empty-inspector .note{text-align:left;font-size:var(--text-sm);line-height:var(--text-sm-lh);margin:0}.mixed-selection-panel .section-heading strong{font-size:var(--text-md);line-height:var(--text-md-lh);color:var(--text-strong);font-weight:600}.mixed-selection-panel>p{font-size:var(--text-sm);line-height:var(--text-sm-lh);color:var(--text-secondary)}.mixed-selection-list>div{justify-content:space-between;align-items:center;gap:var(--space-2);border-bottom:1px solid var(--border-subtle);min-height:40px;display:flex}.mixed-selection-list label{align-items:center;gap:var(--space-2);min-height:var(--checkbox-row);font-size:var(--text-sm);line-height:var(--text-sm-lh);color:var(--text);display:flex}.mixed-selection-list input[type=checkbox]{width:18px;height:18px;accent-color:var(--brand-600);flex-shrink:0}.mixed-selection-list small{font-size:var(--text-xs);color:var(--text-tertiary);font-variant-numeric:tabular-nums slashed-zero;overflow-wrap:anywhere;display:block}.camera-tile{background:var(--n-50);border:1px solid var(--n-150);border-radius:var(--radius-lg);width:40px;height:40px;color:var(--n-600);flex-shrink:0;place-items:center;display:inline-grid;overflow:hidden}.camera-tile-88{width:88px;height:88px}.camera-tile-120{width:120px;height:120px}.camera-tile.is-photo img{object-fit:contain;object-position:center;width:100%;height:100%;display:block}.camera-tile-figure{align-items:center;gap:var(--space-1_5);flex-direction:column;max-width:160px;margin:0;display:inline-flex}.camera-tile-figure figcaption{font-size:var(--text-xs);line-height:var(--text-xs-lh);color:var(--text-secondary);text-align:center}.modal.modal-560{width:560px}.modal:has(>.about-dialog){width:560px}.dialog-body{font-size:var(--text-md);line-height:var(--text-md-lh);color:var(--text)}.modal .dialog-body p,.dialog-body p{font-size:var(--text-md);line-height:var(--text-md-lh)}.modal .dialog-body .modal-intro,.dialog-body .modal-intro{margin:0 0 var(--space-4);color:var(--n-700)}.modal .dialog-body :is(.footnote,.pdf-calibration),.dialog-body :is(.footnote,.pdf-calibration){margin:var(--space-3) 0 0;font-size:var(--text-xs);line-height:var(--text-xs-lh);color:var(--text-tertiary)}.dialog-body .inline-error{line-height:var(--text-sm-lh);font-size:var(--text-sm)!important}.dialog-body .modal-footer{justify-content:flex-end;align-items:center;gap:var(--space-2);margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--border-subtle);flex-wrap:wrap;display:flex}.dialog-body .modal-footer .danger{margin-left:0;margin-right:auto}.dialog-body .modal-footer button svg{flex-shrink:0}.dialog-body h3{margin:var(--space-4) 0 var(--space-2);font-size:var(--text-lg);line-height:var(--text-lg-lh);color:var(--text-strong);font-weight:600}.dialog-body code{font-size:var(--text-xs);font-variant-numeric:tabular-nums slashed-zero;overflow-wrap:anywhere}.dialog-body .report-capture{padding:var(--space-3) var(--space-4);margin:var(--space-4) 0;background:var(--n-25);border-color:var(--border-subtle)}.dialog-body .report-capture strong{font-size:var(--text-md);line-height:var(--text-md-lh);color:var(--text-strong);font-weight:600}.dialog-body .report-capture :is(span,small){font-size:var(--text-sm);line-height:var(--text-sm-lh);color:var(--text-secondary)}.dialog-body [role=status]:not(:empty){font-size:var(--text-sm);line-height:var(--text-sm-lh)}.dialog-body .cad-options,.dialog-body .plan-image-checks{margin:0 0 var(--space-3);font-size:var(--text-md);flex-direction:column;gap:0;display:flex}.dialog-body .plan-image-options{gap:0 var(--space-4)}.dialog-body .camera-bulk-field .field>span{font-size:var(--text-sm)}.dialog-body .camera-bulk-opt-in{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-2)}.dialog-body .camera-bulk-summary,.dialog-body .camera-bulk-selection{font-size:var(--text-sm);line-height:var(--text-sm-lh)}.dialog-body .measurement-point-row{align-items:flex-end;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.dialog-body .measurement-point-row>span{min-width:24px;padding-bottom:var(--space-2);font-size:var(--text-sm);color:var(--text-secondary);font-variant-numeric:tabular-nums}.dialog-body .measurement-point-row label{gap:var(--space-1);min-width:0;font-size:var(--text-sm);color:var(--text-secondary);flex-direction:column;flex:1;display:flex}.dialog-body .measurement-point-row input{height:var(--control-height);font-size:var(--text-md);font-variant-numeric:tabular-nums}.dialog-body .mixed-move-identities{max-height:180px;padding-left:var(--space-5);font-size:var(--text-sm);line-height:var(--text-sm-lh);overflow:auto}.dialog-body .mixed-move-identities small{font-size:var(--text-xs);color:var(--text-tertiary);font-variant-numeric:tabular-nums slashed-zero;display:block}.dialog-body .mixed-move-preview{background:var(--plan-bg);border:1px solid var(--border-subtle);border-radius:var(--radius-md);width:100%;max-height:260px;display:block}.dialog-body fieldset{margin:var(--space-4) 0;padding:var(--space-3) var(--space-4) var(--space-2);border:1px solid var(--border-subtle);border-radius:var(--radius-lg)}.dialog-body legend{padding:0 var(--space-1);font-size:var(--text-sm);color:var(--text-secondary);font-weight:600}.dialog-body .camera-spec-summary{margin:var(--space-3) 0;padding:var(--space-3) var(--space-4);background:var(--n-25);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);font-size:var(--text-sm);line-height:var(--text-sm-lh)}.dialog-body .camera-spec-summary dl,.inspector .camera-spec-summary dl{gap:var(--space-1) var(--space-3);margin:var(--space-2) 0;grid-template-columns:minmax(0,1fr) auto;display:grid}.dialog-body .camera-spec-summary dl>div,.inspector .camera-spec-summary dl>div{display:contents}.dialog-body .camera-spec-summary dt,.inspector .camera-spec-summary dt{color:var(--text-secondary)}.dialog-body .camera-spec-summary dd,.inspector .camera-spec-summary dd{text-align:right;color:var(--text-strong);font-variant-numeric:tabular-nums;margin:0;font-weight:600}.inspector .camera-spec-summary{margin:var(--space-2) 0;font-size:var(--text-xs);line-height:var(--text-xs-lh)}.dialog-body .table-card{margin:var(--space-3) 0}.camera-model-library .camera-model-actions{gap:var(--space-2);margin:var(--space-3) 0;flex-wrap:wrap;display:flex}.camera-model-library .camera-model-list{gap:var(--space-2);margin:var(--space-3) 0;padding:0;list-style:none;display:grid}.camera-model-library .camera-model-list li>button{justify-content:flex-start;align-items:center;gap:var(--space-3);width:100%;min-height:64px;padding:var(--space-3);text-align:left;white-space:normal;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);display:flex}@media (hover:hover){.camera-model-library .camera-model-list li>button:not(:disabled):hover{background:var(--n-25);border-color:var(--n-300)}}.camera-model-card-text{flex-direction:column;gap:2px;min-width:0;display:flex}.camera-model-card-text strong{font-size:var(--text-md);line-height:var(--text-md-lh);color:var(--text-strong);font-weight:600}.camera-model-card-text>span{font-size:var(--text-sm);line-height:var(--text-sm-lh);color:var(--text-secondary);font-weight:400}.camera-model-card-text small{font-size:var(--text-xs);line-height:var(--text-xs-lh);color:var(--text-tertiary);font-variant-numeric:tabular-nums slashed-zero;overflow-wrap:anywhere;font-weight:400}.camera-model-detail{margin-top:var(--space-4);padding:var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-lg)}.camera-model-detail-heading{align-items:center;gap:var(--space-4);display:flex}.camera-model-detail-heading h3{margin:0}.camera-model-detail ol{padding-left:var(--space-5);font-size:var(--text-sm);line-height:var(--text-sm-lh)}.camera-model-detail ol li{margin-bottom:var(--space-2)}.schedules-page .page-heading h2,.recording-page .page-heading h2{font-size:var(--text-2xl);line-height:var(--text-2xl-lh);font-weight:var(--text-2xl-weight);letter-spacing:var(--text-2xl-tracking);color:var(--text-strong);margin:0 0 var(--space-1)}.schedules-page .page-heading p,.recording-page .page-heading p{font-size:var(--text-md);line-height:var(--text-md-lh);color:var(--text-secondary)}.table-card.schedule-table{max-height:calc(100dvh - 240px);overflow:auto}.schedule-table table{font-size:var(--text-sm);line-height:var(--text-sm-lh)}.schedule-table thead th{z-index:var(--z-sticky);height:40px;padding:0 var(--space-4);background:var(--n-50);font-size:var(--text-xs);line-height:var(--text-xs-lh);letter-spacing:0;text-transform:none;color:var(--text-secondary);border-bottom:1px solid var(--border);font-weight:600;position:sticky;top:0}.schedule-table td{height:44px;padding:var(--space-2) var(--space-4);font-size:var(--text-sm);line-height:var(--text-sm-lh);color:var(--n-800);vertical-align:middle}.schedule-table td small{font-size:var(--text-xs);line-height:var(--text-xs-lh);color:var(--text-tertiary);display:block}.schedule-table td strong{color:var(--text-strong);font-weight:600}.schedule-table .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.schedule-table td.num small{display:inline}.schedule-table .camera-check-cell{text-align:center;width:44px;min-width:44px}.schedule-table .camera-check-cell input{width:18px;height:18px}.schedule-table tbody tr:last-child>td{border-bottom:0}@media (hover:hover){.schedule-table tbody tr:hover>td{background:var(--n-25)}}.schedule-table tbody tr.is-selected>td{background:var(--brand-50)}.schedule-table td button:not(.text-button){min-height:32px;padding:0 var(--space-3);font-size:var(--text-sm);margin:var(--space-1) var(--space-1) 0 0}.schedule-table .text-button{font-size:var(--text-sm);font-weight:600}.schedule-table .empty-table{padding:var(--space-8) var(--space-4);font-size:var(--text-md);color:var(--text-secondary)}.schedules-page .camera-selection-toolbar>span,.recording-page .recording-scope-bar .field>span{font-size:var(--text-sm);color:var(--text-secondary)}.schedules-page .camera-selection-toolbar button{min-height:var(--control-height);font-size:var(--text-sm);padding:0 var(--space-3)}.schedules-page .camera-selection-toolbar button:disabled,.recording-page button:disabled{background:var(--n-25);border-color:var(--n-200);color:var(--n-400);opacity:1}.schedules-page .camera-selection-toolbar button.primary:disabled{background:var(--n-100);border-color:var(--n-100)}.schedules-page .footnote,.recording-page .footnote{font-size:var(--text-xs);line-height:var(--text-xs-lh);color:var(--text-tertiary)}@media print{.table-card.schedule-table{max-height:none;overflow:visible}.schedule-table thead th{position:static}}.recording-page .summary-cards>div>span{margin-bottom:var(--space-2);font-size:var(--text-sm);line-height:var(--text-sm-lh);color:var(--text-secondary);font-weight:500}.recording-page .summary-cards strong{font-size:var(--text-3xl);line-height:var(--text-3xl-lh);font-weight:var(--text-3xl-weight);letter-spacing:var(--text-3xl-tracking);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.recording-page .summary-cards strong small{font-size:var(--text-md);letter-spacing:0}.recording-page .summary-cards p{margin-top:var(--space-2);font-size:var(--text-xs);line-height:var(--text-xs-lh);color:var(--text-tertiary)}.recording-page .recording-scope-bar{align-items:flex-end;gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.recording-page .recording-scope-bar .field{min-width:240px;margin:0}.recording-page .recording-scope-bar select{height:var(--control-height);font-size:var(--text-md)}.recording-page .recording-scope-bar button,.recording-page .section-heading button,.recording-page .page-heading button{min-height:var(--control-height);font-size:var(--text-md);padding:0 14px;font-weight:500}.recording-page>.note{margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);font-size:var(--text-md);line-height:var(--text-md-lh);color:var(--text);background:var(--brand-50);border:1px solid var(--brand-100);border-left:4px solid var(--brand-500);border-radius:var(--radius-md)}.recording-page .section-heading h3{font-size:var(--text-lg);line-height:var(--text-lg-lh);color:var(--text-strong);font-weight:600}.recording-page .section-heading .field{max-width:200px;margin:0}.recording-page .recording-exact{font-size:var(--text-xs);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.about-dialog .about-brand{margin:var(--space-2) 0 var(--space-6);justify-content:center;display:flex}.about-dialog .about-brand img{width:160px;height:auto;display:block}.about-dialog .about-title{margin:0 0 var(--space-4);text-align:center;font-size:var(--text-xl);line-height:var(--text-xl-lh);letter-spacing:var(--text-xl-tracking);color:var(--text-strong);font-weight:600}.about-dialog table{border-collapse:collapse;width:100%;font-size:var(--text-sm);line-height:var(--text-sm-lh);font-variant-numeric:tabular-nums}.about-dialog .about-build th,.about-dialog .about-build td{padding:var(--space-1_5) 0;border-bottom:1px solid var(--border-subtle);text-align:left;vertical-align:top;letter-spacing:0;white-space:normal;background:0 0}.about-dialog .about-build th{width:38%;padding-right:var(--space-3);font-size:var(--text-sm);color:var(--text-secondary);font-weight:500}.about-dialog .about-build td{color:var(--text-strong);overflow-wrap:anywhere}.about-dialog .about-copy{align-items:center;gap:var(--space-3);margin:var(--space-3) 0 var(--space-4);flex-wrap:wrap;display:flex}.about-dialog .about-copy [role=status]{font-size:var(--text-sm);color:var(--ok-600)}.about-dialog .about-section{margin-top:var(--space-4)}.about-dialog .about-section ul{padding-left:var(--space-5);font-size:var(--text-sm);line-height:var(--text-sm-lh);color:var(--text-secondary);margin:0}.about-dialog .about-section li+li{margin-top:var(--space-1)}.about-dialog .about-licences th,.about-dialog .about-licences td{padding:var(--space-1_5) var(--space-2) var(--space-1_5) 0;border-bottom:1px solid var(--border-subtle);text-align:left;font-size:var(--text-sm);letter-spacing:0;background:0 0}.about-dialog .about-licences th{font-size:var(--text-xs);color:var(--text-secondary);font-weight:600}.about-dialog .about-licences small{font-size:var(--text-xs);color:var(--text-tertiary);display:block}.about-dialog .about-licences .num{white-space:nowrap}.about-dialog a{color:var(--text-link);align-items:center;gap:var(--space-1);display:inline-flex}.about-dialog .about-all-packages ul{columns:2;column-gap:var(--space-6);font-size:var(--text-xs);line-height:var(--text-xs-lh)}.about-dialog .about-legal{margin:var(--space-4) 0 0;font-size:var(--text-xs);line-height:var(--text-xs-lh);color:var(--text-secondary)}@media (width<=550px){.modal:has(>.about-dialog){width:100%}.about-dialog .about-all-packages ul{columns:1}}@media (pointer:coarse){:is(.inspector,.dialog-body) .field :is(input:not([type=checkbox]),select){height:var(--target-coarse)}:is(.inspector-body,.dialog-body) button:not(.text-button),.inspector-header-actions .icon-button,.inspector-body .inspector-section-heading>button{min-height:var(--target-coarse)}.inspector-header-actions .icon-button{width:var(--target-coarse);height:var(--target-coarse)}:is(.inspector,.dialog-body) label:has(>input[type=checkbox]){min-height:var(--target-coarse)}}
