@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.03ez25a9g3i0n.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.3i9rha7jpxn0q.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.2o7ko1d-5m1xu.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.1ee5w62fj497l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.1way2z9fj6cig.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.p.0szrwpqb9mkwe.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.45535valc9rzk.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_991aebb-module__bYvC1W__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_991aebb-module__bYvC1W__variable{--font-inter:"Inter", "Inter Fallback"}
:root{--navy-950:#061a2b;--navy-900:#0a2540;--navy-800:#0f3252;--navy-700:#17446c;--navy-600:#235886;--navy-500:#3a6f9e;--navy-400:#6590b7;--navy-300:#97b3cd;--navy-200:#c5d5e4;--navy-100:#e3ebf3;--navy-50:#f2f6fa;--yellow-200:#fdf6a8;--yellow-300:#f9ff2a;--yellow-400:#f3cc00;--yellow-500:#dcb400;--yellow-700:#7d6300;--yellow-50:#fffbe0;--white:#fff;--gray-25:#fafbfc;--gray-50:#f4f6f9;--gray-100:#e9edf2;--gray-200:#dce2e9;--gray-300:#c5cfd9;--gray-400:#97a3b1;--gray-500:#677486;--gray-600:#4d5968;--gray-700:#374250;--gray-800:#232c37;--gray-900:#121922;--red-700:#992a25;--red-600:#c0362f;--red-100:#fbdcda;--red-50:#fdefee;--green-700:#135f37;--green-600:#1a7d49;--green-100:#cfeadb;--green-50:#eaf6ef;--orange-700:#8f4a05;--orange-500:#d9820b;--orange-100:#fde3bf;--orange-50:#fff5e6;--blue-700:#1b5a91;--blue-100:#d3e5f5;--blue-50:#ebf4fb;--purple-700:#6b21a8;--purple-600:#9333ea;--purple-200:#e1c8fb;--purple-50:#faf5ff;--surface-app:var(--gray-50);--surface-panel:var(--white);--surface-raised:var(--white);--surface-sunken:var(--gray-100);--surface-hover:var(--navy-50);--surface-selected:var(--navy-100);--surface-disabled:var(--gray-50);--surface-overlay:#061a2b7a;--surface-chrome:var(--navy-950);--surface-translucent:#fffffff0;--surface-scrim:#ffffffb3;--text:var(--navy-950);--text-muted:var(--gray-600);--text-subtle:var(--gray-500);--text-disabled:var(--gray-400);--text-link:var(--navy-600);--text-on-action:var(--white);--text-on-danger:var(--white);--text-on-colour:var(--white);--icon:var(--navy-700);--border:var(--gray-200);--border-strong:var(--gray-300);--border-input:var(--gray-300);--border-selected:var(--navy-700);--action-primary:var(--navy-900);--action-primary-hover:var(--navy-700);--action-secondary:var(--white);--action-secondary-hover:var(--navy-50);--action-danger:var(--red-600);--action-danger-hover:var(--red-700);--accent:var(--yellow-400);--accent-hover:var(--yellow-300);--accent-text:var(--navy-950);--accent-soft:var(--yellow-50);--accent-strong-text:var(--yellow-700);--selected:var(--navy-900);--selected-text:var(--white);--indicator:var(--navy-900);--tooltip-bg:var(--navy-950);--tooltip-text:var(--white);--tooltip-muted-text:var(--navy-200);--switch-knob:var(--white);--focus-ring-color:var(--navy-500);--focus-ring:0 0 0 2px var(--surface-panel), 0 0 0 4px var(--focus-ring-color);--danger:var(--red-600);--danger-text:var(--red-700);--danger-soft:var(--red-50);--danger-border:var(--red-100);--success:var(--green-600);--success-text:var(--green-700);--success-soft:var(--green-50);--success-border:var(--green-100);--warning:var(--orange-500);--warning-text:var(--orange-700);--warning-soft:var(--orange-50);--warning-border:var(--orange-100);--info-text:var(--blue-700);--info-soft:var(--blue-50);--info-border:var(--blue-100);--drop-valid:#1a7d491f;--drop-invalid:#c0362f1f;--switch:var(--purple-600);--switch-text:var(--purple-700);--switch-soft:var(--purple-50);--switch-border:var(--purple-200);--font-sans:var(--font-inter), "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;--font-mono:ui-monospace, "Cascadia Mono", "SFMono-Regular", Consolas, monospace;--text-2xs:10px;--text-xs:11px;--text-sm:12px;--text-md:13px;--text-base:14px;--text-lg:16px;--text-xl:20px;--text-2xl:24px;--text-3xl:32px;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--leading-tight:1.25;--leading-normal:1.45;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--control-sm:28px;--control-md:36px;--control-lg:44px;--radius-xs:3px;--radius-sm:4px;--radius-md:6px;--radius-lg:10px;--radius-full:999px;--shadow-1:0 1px 2px #061a2b14;--shadow-2:0 4px 14px #061a2b1a;--shadow-3:0 18px 48px #061a2b38;--z-panel:3;--z-canvas-overlay:4;--z-popover:20;--z-modal:100;--z-tooltip:200;--transition-fast:.12s ease;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.theme-chrome{--surface-panel:var(--navy-950);--surface-raised:var(--navy-900);--surface-sunken:var(--navy-900);--surface-hover:var(--navy-800);--surface-selected:var(--navy-800);--surface-disabled:var(--navy-900);--text:var(--white);--text-muted:var(--navy-300);--text-subtle:var(--navy-400);--text-disabled:var(--navy-500);--text-link:var(--yellow-400);--icon:var(--navy-200);--border:var(--navy-800);--border-strong:var(--navy-700);--border-input:var(--navy-700);--border-selected:var(--yellow-400);--action-primary:var(--yellow-400);--action-primary-hover:var(--yellow-300);--text-on-action:var(--navy-950);--action-secondary:var(--navy-900);--action-secondary-hover:var(--navy-800);--selected:var(--yellow-400);--selected-text:var(--navy-950);--indicator:var(--yellow-400);--focus-ring-color:var(--yellow-400);--tooltip-bg:var(--white);--tooltip-text:var(--navy-950);--focus-ring:0 0 0 2px var(--surface-panel), 0 0 0 4px var(--focus-ring-color);background:var(--surface-panel);color:var(--text);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}
*{box-sizing:border-box}html,body{min-height:100%}body{background:var(--surface-app);color:var(--text);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);font-feature-settings:"cv11", "ss01";-webkit-font-smoothing:antialiased;margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(26px, 4vw, var(--text-3xl));font-weight:var(--weight-bold);line-height:var(--leading-tight);letter-spacing:-.025em}h2{font-size:var(--text-xl);font-weight:var(--weight-semibold);letter-spacing:-.015em}h3{font-weight:var(--weight-semibold);margin-bottom:5px}label{color:var(--text);font-weight:var(--weight-semibold);gap:7px;display:grid}input,select{border:1px solid var(--border-input);border-radius:var(--radius-md);background:var(--surface-raised);width:100%;min-height:42px;color:var(--text);outline:none;padding:9px 12px}input:focus,select:focus{border-color:var(--focus-ring-color);box-shadow:0 0 0 3px var(--surface-selected)}table,input[inputmode=decimal],input[type=number]{font-variant-numeric:tabular-nums}
.button{min-height:var(--control-md);justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-md);padding:7px var(--space-4);font-size:var(--text-base);font-weight:var(--weight-semibold);line-height:var(--leading-tight);white-space:nowrap;cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);border:1px solid #0000;display:inline-flex}.button:focus-visible{box-shadow:var(--focus-ring);outline:none}.button:disabled{cursor:not-allowed;opacity:.5}.button svg{flex:none;width:16px;height:16px}.button-sm{min-height:var(--control-sm);font-size:var(--text-sm);gap:6px;padding:4px 10px}.button-lg{min-height:var(--control-lg);padding:10px var(--space-5);font-size:var(--text-lg)}.button-primary{background:var(--action-primary);color:var(--text-on-action);box-shadow:var(--shadow-1)}.button-primary:hover:not(:disabled){background:var(--action-primary-hover)}.button-secondary{border-color:var(--border-strong);background:var(--action-secondary);color:var(--text)}.button-secondary:hover:not(:disabled){border-color:var(--border-selected);background:var(--action-secondary-hover)}.button-accent{background:var(--accent);color:var(--accent-text)}.button-accent:hover:not(:disabled){background:var(--accent-hover)}.button-danger{background:var(--action-danger);color:var(--text-on-danger)}.button-danger:hover:not(:disabled){background:var(--action-danger-hover)}.button-ghost{color:var(--text);background:0 0}.button-ghost:hover:not(:disabled){background:var(--surface-hover)}
.icon-button{width:var(--control-md);height:var(--control-md);border-radius:var(--radius-md);color:var(--icon);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast);background:0 0;border:0;flex:none;place-items:center;padding:0;display:inline-grid;position:relative}.icon-button-sm{width:var(--control-sm);height:var(--control-sm)}.icon-button:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.icon-button.active,.icon-button.active:hover:not(:disabled){background:var(--selected);color:var(--selected-text)}.icon-button.danger:hover:not(:disabled){background:var(--danger-soft);color:var(--danger)}.icon-button:disabled{opacity:.4;cursor:default}.icon-button:focus-visible{box-shadow:var(--focus-ring);outline:none}.icon-button svg{width:18px;height:18px}.icon-button-sm svg{width:16px;height:16px}.tooltip-anchor{display:inline-flex;position:relative}:is(.icon-button,.segment-icon,.tooltip-anchor)[data-tooltip]:hover:after,:is(.icon-button,.segment-icon,.tooltip-anchor)[data-tooltip]:focus-visible:after,.tooltip-anchor[data-tooltip]:focus-within:after{content:attr(data-tooltip);z-index:var(--z-tooltip);border-radius:var(--radius-sm);background:var(--tooltip-bg);color:var(--tooltip-text);box-shadow:var(--shadow-2);font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:var(--leading-tight);white-space:nowrap;pointer-events:none;padding:5px 8px;position:absolute;bottom:calc(100% + 9px);left:50%;transform:translate(-50%)}:is(.icon-button,.segment-icon,.tooltip-anchor)[data-tooltip-side=right]:is(:hover,:focus-visible,:focus-within):after{top:50%;bottom:auto;left:calc(100% + 9px);transform:translateY(-50%)}:is(.icon-button,.segment-icon,.tooltip-anchor):is([data-tooltip-side=bottom],[data-tooltip-side=bottom-end]):is(:hover,:focus-visible,:focus-within):after{top:calc(100% + 9px);bottom:auto}:is(.icon-button,.segment-icon,.tooltip-anchor)[data-tooltip-side=bottom-end]:is(:hover,:focus-visible,:focus-within):after{left:auto;right:0;transform:none}
.tabs{flex-wrap:wrap;align-items:center;display:flex}.tab{color:var(--text-muted);font-size:var(--text-md);font-weight:var(--weight-semibold);white-space:nowrap;cursor:pointer;transition:color var(--transition-fast), background-color var(--transition-fast), box-shadow var(--transition-fast);background:0 0;border:0;align-items:center;gap:6px;display:inline-flex}.tab:hover:not(:disabled){color:var(--text)}.tab:disabled{color:var(--text-disabled);cursor:default}.tab:focus-visible{box-shadow:var(--focus-ring);outline:none}.tab-count{border-radius:var(--radius-full);background:var(--surface-sunken);min-width:18px;color:var(--text-muted);font-size:var(--text-xs);text-align:center;padding:0 6px;line-height:18px}.tab.active .tab-count{background:var(--selected);color:var(--selected-text)}.tabs-underline{gap:var(--space-5);border-bottom:1px solid var(--border)}.tabs-underline .tab{border-bottom:2px solid #0000;min-height:40px;margin-bottom:-1px;padding:0 2px}.theme-chrome .tabs-underline{border-bottom:0}.tabs-underline .tab.active{border-bottom-color:var(--indicator);color:var(--text)}.tabs-underline .tab:focus-visible{border-radius:var(--radius-sm)}.tabs-pill{gap:var(--space-1)}.tabs-pill .tab{min-height:var(--control-sm);border-radius:var(--radius-full);padding:0 var(--space-3)}.tabs-pill .tab:hover:not(:disabled){background:var(--surface-hover)}.tabs-pill .tab.active{background:var(--selected);color:var(--selected-text)}.segmented{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-sunken);gap:2px;padding:2px;display:inline-flex}.segment{border-radius:var(--radius-sm);min-height:30px;padding:0 var(--space-3);color:var(--text-muted);font-size:var(--text-sm);font-weight:var(--weight-semibold);white-space:nowrap;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:6px;display:inline-flex;position:relative}.segment:hover:not(:disabled){color:var(--text)}.segment.active{background:var(--surface-raised);color:var(--text);box-shadow:var(--shadow-1)}.theme-chrome .segment.active{background:var(--selected);color:var(--selected-text)}.segment:disabled{color:var(--text-disabled);cursor:default}.segment:focus-visible{box-shadow:var(--focus-ring);outline:none}.segment-icon{width:30px;padding:0}.segment svg{width:16px;height:16px}.segmented-sm .segment{min-height:24px;padding:0 var(--space-2);font-size:var(--text-xs)}.segmented-sm .segment-icon{width:24px;padding:0}.chip{min-height:var(--control-sm);border:1px solid var(--border-strong);border-radius:var(--radius-full);padding:0 var(--space-3);background:var(--surface-raised);color:var(--text);font-size:var(--text-sm);font-weight:var(--weight-semibold);white-space:nowrap;cursor:pointer;transition:border-color var(--transition-fast), background-color var(--transition-fast);align-items:center;gap:6px;display:inline-flex}.chip:hover:not(:disabled){border-color:var(--border-selected);background:var(--surface-hover)}.chip.active{border-color:var(--selected);background:var(--selected);color:var(--selected-text)}.chip:disabled{color:var(--text-disabled);cursor:default}.chip:focus-visible{box-shadow:var(--focus-ring);outline:none}.chip-grabbable{cursor:grab;touch-action:none}.chip-grabbable:active{cursor:grabbing}.chip-swatch{border-radius:50%;flex:none;width:8px;height:8px}.badge{border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--weight-semibold);white-space:nowrap;border:1px solid #0000;align-items:center;gap:5px;padding:1px 8px;line-height:16px;display:inline-flex}.badge-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.badge-neutral{border-color:var(--border);background:var(--surface-sunken);color:var(--text-muted)}.badge-info{border-color:var(--info-border);background:var(--info-soft);color:var(--info-text)}.badge-success{border-color:var(--success-border);background:var(--success-soft);color:var(--success-text)}.badge-warning{border-color:var(--warning-border);background:var(--warning-soft);color:var(--warning-text)}.badge-danger{border-color:var(--danger-border);background:var(--danger-soft);color:var(--danger-text)}.badge-accent{background:var(--accent);color:var(--accent-text)}
.field{gap:6px;min-width:0;display:grid}.field-label{color:var(--text);font-size:var(--text-sm);font-weight:var(--weight-semibold);display:block}.field>.field-hint,.field>.field-error{font-size:var(--text-xs);line-height:var(--leading-normal);margin:0}.field>.field-hint{color:var(--text-subtle)}.field>.field-error{color:var(--danger-text)}.control{width:100%;min-height:var(--control-md);border:1px solid var(--border-input);border-radius:var(--radius-md);background:var(--surface-raised);color:var(--text);font-size:var(--text-base);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);padding:7px 10px}.control::placeholder{color:var(--text-subtle)}.control:hover:not(:disabled){border-color:var(--border-selected)}.control:focus{border-color:var(--focus-ring-color);box-shadow:0 0 0 3px var(--surface-selected);outline:none}.control:disabled{border-color:var(--border);background:var(--surface-disabled);color:var(--text-muted);cursor:default}.control[aria-invalid=true]{border-color:var(--danger)}.control[aria-invalid=true]:focus{box-shadow:0 0 0 3px var(--danger-soft)}.control-select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--icon) 50%), linear-gradient(135deg, var(--icon) 50%, transparent 50%);cursor:pointer;background-position:calc(100% - 15px),calc(100% - 10px);background-repeat:no-repeat;background-size:5px 5px;padding-right:30px}.control-with-unit{border:1px solid var(--border-input);border-radius:var(--radius-md);background:var(--surface-raised);align-items:stretch;display:flex}.control-with-unit:hover{border-color:var(--border-selected)}.control-with-unit:focus-within{border-color:var(--focus-ring-color);box-shadow:0 0 0 3px var(--surface-selected)}.control-with-unit.invalid{border-color:var(--danger)}.control-with-unit.disabled{border-color:var(--border);background:var(--surface-disabled)}.control-with-unit .control,.control-with-unit .control:focus,.control-with-unit .control:hover{min-height:calc(var(--control-md) - 2px);box-shadow:none;background:0 0;border:0}.control-with-unit>span{border-left:1px solid var(--border);min-width:36px;padding:0 var(--space-2);color:var(--text-muted);font-size:var(--text-sm);place-items:center;display:grid}.check{align-items:flex-start;gap:var(--space-2);color:var(--text);font-size:var(--text-md);font-weight:var(--weight-regular);line-height:var(--leading-tight);cursor:pointer;display:flex}.check.disabled{color:var(--text-disabled);cursor:default}.check input{width:16px;height:16px;min-height:0;accent-color:var(--selected);cursor:inherit;flex:none;margin:0;padding:0}.check-text{gap:2px;padding-top:1px;display:grid}.check-text small{color:var(--text-subtle);font-size:var(--text-xs)}.check-switch input{border-radius:var(--radius-full);background:var(--border-strong);appearance:none;width:30px;height:18px;transition:background-color var(--transition-fast);border:0;position:relative}.check-switch input:after{content:"";background:var(--switch-knob);width:14px;height:14px;box-shadow:var(--shadow-1);transition:transform var(--transition-fast);border-radius:50%;position:absolute;top:2px;left:2px}.check-switch input:checked{background:var(--selected)}.check-switch input:checked:after{transform:translate(12px)}.check-switch input:focus{box-shadow:none}.check input:focus-visible{box-shadow:var(--focus-ring);outline:none}
.card{border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5);background:var(--surface-panel);box-shadow:var(--shadow-1)}.card-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-4);display:flex}.card-title{font-size:var(--text-lg);margin:0}.card-description{color:var(--text-muted);font-size:var(--text-sm);margin:2px 0 0}.card-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.panel-section{border-bottom:1px solid var(--border);padding:var(--space-4) 0}.panel-section:last-child{border-bottom:0}.panel-section-header{min-height:var(--control-sm);justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);display:flex}.panel-section-header h3{color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:.06em;text-transform:uppercase;margin:0}.toolbar{align-items:center;gap:2px;display:flex}.toolbar-vertical{flex-direction:column}.toolbar-floating{border:1px solid var(--border);border-radius:var(--radius-lg);width:max-content;padding:var(--space-1);background:var(--surface-raised);box-shadow:var(--shadow-2)}.toolbar-chrome{border-radius:var(--radius-lg);padding:var(--space-1);box-shadow:var(--shadow-2)}.toolbar-separator{width:1px;margin:6px var(--space-1);background:var(--border);align-self:stretch}.toolbar-vertical .toolbar-separator{width:auto;height:1px;margin:var(--space-1) 6px}.empty-state{justify-items:center;gap:var(--space-2);border:1px dashed var(--border-strong);border-radius:var(--radius-lg);padding:var(--space-10) var(--space-6);color:var(--text-muted);text-align:center;display:grid}.empty-state h3{color:var(--text);font-size:var(--text-lg);margin:0}.empty-state p{max-width:44ch;margin:0}.empty-state-icon{width:48px;height:48px;margin-bottom:var(--space-2);border-radius:var(--radius-lg);background:var(--surface-selected);color:var(--icon);place-items:center;display:grid}.empty-state-icon svg{width:24px;height:24px}.empty-state-action{margin-top:var(--space-3)}.empty-state-compact{padding:var(--space-5) var(--space-4)}.empty-state-compact h3{font-size:var(--text-base)}.data-table{border-collapse:collapse;width:100%;font-size:var(--text-md)}.data-table th{border-bottom:1px solid var(--border-strong);padding:var(--space-2) var(--space-3);background:var(--surface-app);color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:.04em;text-align:left;text-transform:uppercase;white-space:nowrap}.data-table td{border-bottom:1px solid var(--border);padding:10px var(--space-3);vertical-align:middle}.data-table tbody tr:hover{background:var(--surface-hover)}.data-table tbody tr.selected{background:var(--surface-selected)}.data-table .align-end{text-align:right}
.feedback{margin:0 0 var(--space-4);border-radius:var(--radius-md);padding:10px var(--space-3);font-size:var(--text-md);border:1px solid #0000;border-left-width:3px}.feedback-error{border-color:var(--danger-border);border-left-color:var(--danger);background:var(--danger-soft);color:var(--danger-text)}.feedback-success{border-color:var(--success-border);border-left-color:var(--success);background:var(--success-soft);color:var(--success-text)}
.modal-backdrop{z-index:var(--z-modal);background:var(--surface-overlay);padding:var(--space-5);place-items:center;display:grid;position:fixed;inset:0;overflow:auto}.modal{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-panel);width:min(100%,650px);max-height:calc(100vh - 40px);box-shadow:var(--shadow-3);overflow:auto}.modal-wide{width:min(100%,1120px)}.modal-header{z-index:5;justify-content:space-between;align-items:center;gap:var(--space-3);border-bottom:1px solid var(--border);background:var(--surface-panel);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-5);display:flex;position:sticky;top:0}.modal-header h2{font-size:var(--text-lg);margin:0}.modal-header .button{min-width:var(--control-md);color:var(--icon);font-size:22px;font-weight:var(--weight-regular);padding:0}.modal-body{padding:var(--space-5)}.modal-footer,.inline-footer{justify-content:flex-end;gap:var(--space-2);border-top:1px solid var(--border);background:var(--surface-app);padding:var(--space-3) var(--space-5);display:flex}.inline-footer{margin:var(--space-5) calc(-1 * var(--space-5)) calc(-1 * var(--space-5))}
.dropzone{border:2px dashed var(--border-strong);border-radius:var(--radius-lg);background:var(--surface-app);min-height:255px;padding:var(--space-8);text-align:center;transition:border-color var(--transition-fast), background-color var(--transition-fast);align-content:center;place-items:center;display:grid}.dropzone.dragging{border-color:var(--border-selected);background:var(--surface-selected)}.dropzone h3{font-size:var(--text-lg);margin:5px 0}.dropzone p{color:var(--text-muted)}.upload-symbol{color:var(--icon);font-size:44px}
.overflow>.icon-button{width:34px;height:40px;font-size:24px}.overflow{position:relative}.overflow-menu{z-index:var(--z-popover);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-raised);width:190px;padding:var(--space-1);box-shadow:var(--shadow-2);display:grid;position:absolute;top:calc(100% + 4px);right:0}.overflow-menu button,.overflow-menu a{border-radius:var(--radius-sm);padding:var(--space-2) 10px;color:var(--text);font-size:var(--text-md);text-align:left;cursor:pointer;background:0 0;border:0}.overflow-menu button:hover,.overflow-menu a:hover{background:var(--surface-hover)}
.entity-list{gap:var(--space-2);display:grid}.entity-card{align-items:center;gap:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-panel);min-height:84px;padding:10px var(--space-3) 10px 10px;box-shadow:var(--shadow-1);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);grid-template-columns:62px minmax(0,1fr) auto auto;display:grid;position:relative}.entity-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-2)}.entity-visual{border-radius:var(--radius-md);background:var(--surface-selected);width:62px;height:62px;color:var(--icon);place-items:center;font-size:28px;display:grid;overflow:hidden}.entity-copy h3{margin:0 0 var(--space-1);font-size:var(--text-lg)}.entity-copy p{color:var(--text-muted);font-size:var(--text-md);margin:0}.floor-thumbnail{object-fit:cover;width:100%;height:100%}@media (max-width:820px){.entity-card{grid-template-columns:52px minmax(0,1fr) auto}.entity-visual{width:52px;height:52px}.entity-action{display:none}}
.language-switcher{color:var(--text-muted);font-weight:var(--weight-regular);align-items:center;gap:6px;display:inline-flex}.language-switcher select{width:auto;min-height:var(--control-sm);padding:3px var(--space-2);font-size:var(--text-md)}.language-switcher-icon{font-size:15px}
.full-width{width:100%}.danger-text{color:var(--danger)}.route-loading{place-items:center;min-height:100vh;display:grid}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.numeric{font-variant-numeric:tabular-nums}
.app-shell{grid-template-columns:230px 1fr;min-height:100vh;display:grid}.app-sidebar{flex-direction:column;height:100vh;display:flex;position:sticky;top:0}.brand{border-bottom:1px solid var(--border);height:64px;padding:0 var(--space-5);font-size:var(--text-lg);font-weight:var(--weight-bold);letter-spacing:-.01em;align-items:center;gap:10px;display:flex}.brand-mark{flex:none}.app-sidebar nav{padding:var(--space-3);gap:2px;display:grid}.nav-link{border-radius:var(--radius-md);padding:9px var(--space-3);color:var(--text-muted);font-weight:var(--weight-medium);transition:background-color var(--transition-fast), color var(--transition-fast);align-items:center;gap:10px;display:flex}.nav-link:hover{background:var(--surface-hover);color:var(--text)}.nav-link.active{background:var(--surface-selected);box-shadow:inset 3px 0 0 var(--indicator);color:var(--text);font-weight:var(--weight-semibold)}.nav-link.disabled{color:var(--text-disabled)}.sign-out{margin:auto var(--space-3) var(--space-5);border-radius:var(--radius-md);padding:9px var(--space-3);color:var(--text-muted);cursor:pointer;text-align:left;background:0 0;border:0}.sign-out:hover{background:var(--surface-hover);color:var(--text)}.app-main{min-width:0}.topbar{border-bottom:1px solid var(--border);background:var(--surface-panel);justify-content:flex-end;align-items:center;gap:10px;height:64px;padding:0 28px;display:flex}.topbar-language{margin-right:auto}.avatar{background:var(--surface-sunken);border-radius:50%;place-items:center;width:34px;height:34px;font-size:12px;font-weight:800;display:grid}.route-content{width:min(100%,1080px);margin:0 auto;padding:28px 30px 60px}.screen-heading{justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px;display:flex}.screen-heading h1{margin:0}.project-title{justify-content:flex-start}.project-title .button{margin-left:auto}.title-icon{background:var(--surface-sunken);width:50px;height:50px;color:var(--text-muted);border-radius:6px;place-items:center;font-size:28px;display:grid}.back-link{color:var(--text-muted);margin-bottom:18px;display:inline-block}.search-box{border:1px solid var(--border-strong);background:var(--surface-panel);border-radius:5px;align-items:center;gap:8px;width:min(100%,390px);margin-bottom:18px;padding:0 12px;display:flex}.search-box input{box-shadow:none;border:0}.empty-list{border:1px dashed var(--border-strong);background:var(--surface-scrim);text-align:center;border-radius:8px;padding:60px 24px}.empty-list p{color:var(--text-muted)}@media (max-width:820px){.app-shell{grid-template-columns:1fr}.app-sidebar{border-right:0;height:auto;position:static}.app-sidebar nav,.sign-out{display:none}.brand{height:58px}.topbar{height:52px}.route-content{padding:20px 16px 45px}}
.auth-page{background:linear-gradient(var(--surface-chrome) 0 38%, var(--surface-app) 38%);place-items:center;min-height:100vh;padding:28px;display:grid}.auth-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-panel);width:min(100%,390px);box-shadow:var(--shadow-3);padding:34px 28px 24px}.auth-brand{text-align:center;margin-bottom:30px}.auth-brand h1{margin:4px 0;font-size:28px}.auth-brand p{color:var(--text-muted)}.auth-logo{margin:0 auto 12px;display:block}.auth-card form{gap:17px;display:grid}.auth-options{color:var(--text-link);justify-content:space-between;font-size:13px;display:flex}.check-label{color:var(--text);flex-direction:row;align-items:center;font-weight:400;display:flex}.check-label input{width:16px;min-height:16px;accent-color:var(--selected)}.auth-switch{text-align:center;color:var(--text-muted);margin:22px 0 0}.auth-switch button{color:var(--text-link);cursor:pointer;background:0 0;border:0;font-weight:700}.auth-language{justify-content:center;margin-top:16px;display:flex}
.file-limit{color:var(--text-muted);margin:12px 0 0;font-size:12px}.page-picker{grid-template-columns:repeat(auto-fill,minmax(135px,1fr));gap:14px;margin-top:18px;display:grid}.page-option{background:var(--surface-panel);cursor:pointer;border:2px solid #0000;border-radius:7px;gap:8px;padding:8px;font-weight:700;display:grid}.page-option img{border:1px solid var(--border);object-fit:contain;width:100%;height:170px}.page-option.selected{border-color:var(--border-selected)}.editor-layout{grid-template-columns:125px minmax(0,1fr) 240px;align-items:start;gap:22px;display:grid}.editor-tools{gap:8px;display:grid}.editor-tools .button{justify-content:flex-start}.calibration-stage{background:var(--surface-sunken);border-radius:6px;place-items:center;min-height:300px;display:grid;overflow:auto}.crop-stage-wrap{background:var(--surface-sunken);touch-action:none;border-radius:6px;width:100%;overflow:hidden}.crop-stage-wrap.can-pan{cursor:grab}.crop-readout{color:var(--text-muted);font-variant-numeric:tabular-nums;margin:4px 0 0;font-size:12px}.editor-help{padding-top:8px}.cleanup-layout{grid-template-columns:140px minmax(0,1fr) 240px;align-items:start;gap:20px;display:grid}.cleanup-stage{background:var(--surface-sunken);touch-action:none;border-radius:6px;place-items:center;width:100%;display:grid;overflow:hidden}.cleanup-stage.tool-brush{cursor:none}.cleanup-stage.tool-rectangle{cursor:crosshair}.cleanup-stage.tool-move{cursor:grab}.cleanup-stage.tool-draw{cursor:crosshair}.cleanup-zoom{grid-template-columns:1fr 1.4fr 1fr;gap:4px;display:grid}.editor-tools .cleanup-zoom .button{justify-content:center;padding-inline:0}.cleanup-options{gap:16px;display:grid}.cleanup-options h3{margin:0 0 6px;font-size:14px}.cleanup-layers{gap:6px;max-height:220px;display:grid;overflow:auto}.cleanup-check{align-items:center;gap:8px;font-weight:600;display:flex}.cleanup-check input{width:auto;min-height:0;margin:0}.cleanup-check small{color:var(--text-muted);margin-left:auto;font-weight:500}.cleanup-note{color:var(--text-muted);margin:4px 0 0;font-size:12px;line-height:1.45}.editor-help p{color:var(--text-muted)}.calibration-layout{grid-template-columns:minmax(0,1fr) 250px;align-items:start;gap:24px;display:grid}.calibration-controls{gap:18px;display:grid}.calibration-controls p{color:var(--text-muted)}.field-row{grid-template-columns:1fr 85px;gap:8px;display:grid}.field-error{color:var(--danger)}.name-plan-layout{grid-template-columns:230px 1fr;align-items:center;gap:26px;display:grid}.name-plan-layout img{border:1px solid var(--border);object-fit:contain;border-radius:6px;width:230px;max-height:260px}.destructive-warning{border:1px solid var(--danger-border);background:var(--danger-soft);color:var(--danger-text);border-radius:8px;padding:12px;font-weight:650;line-height:1.5}.success-panel{text-align:center;padding:25px 15px}.success-icon{background:var(--success);width:66px;height:66px;color:var(--text-on-action);border-radius:50%;place-items:center;margin:0 auto 18px;font-size:34px;display:grid}.success-actions{justify-content:center;gap:12px;margin-top:28px;display:flex}.rooms-layout{grid-template-columns:110px minmax(0,1fr) 260px;align-items:start;gap:20px;display:grid}.room-panel{gap:10px;display:grid}.room-panel h3{margin:0 0 6px;font-size:14px}.room-cards{gap:4px;max-height:330px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.room-card{border:1px solid var(--border);background:var(--surface-panel);border-radius:8px}.room-card-summary{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:7px;padding:7px 8px;font-size:13px;display:flex}.room-card-summary:hover{background:var(--surface-sunken)}.room-card-summary strong{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.room-card-summary small{white-space:nowrap}.room-card-body{gap:6px;padding:0 8px 8px;display:grid}.room-card.active{border-color:var(--border-selected);box-shadow:inset 0 0 0 1px var(--border-selected)}.room-card small{color:var(--text-muted)}.room-card-header{align-items:center;gap:6px;display:flex}.room-card-header input{flex:1;min-width:0;min-height:0;padding:5px 7px;font-size:13px}.room-swatch{border-radius:3px;flex:none;width:12px;height:12px}.room-rects{gap:2px;margin:0;padding:0;list-style:none;display:grid}.room-rects li{border-radius:5px;align-items:center;gap:4px;display:flex}.room-rects li.selected{background:var(--surface-selected)}.room-rects button,.room-card-header button{color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:4px;padding:3px 6px;font-size:12px}.room-rects li>button:first-child{text-align:left;font-variant-numeric:tabular-nums;flex:1}.room-rects button:hover,.room-card-header button:hover{background:var(--surface-sunken)}.room-clear{color:var(--text-link);font:inherit;cursor:pointer;background:0 0;border:0;justify-self:start;padding:0;font-size:12px}@media (max-width:820px){.editor-layout,.rooms-layout,.cleanup-layout,.calibration-layout,.name-plan-layout{grid-template-columns:1fr}.editor-tools{grid-template-columns:repeat(3,1fr)}}
.workspace-badge{margin:var(--space-3) var(--space-3) 0;border:1px solid var(--border);border-radius:var(--radius-md);padding:10px var(--space-3);background:var(--surface-raised);align-items:center;gap:10px;display:flex}.workspace-badge strong,.workspace-badge small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.workspace-badge>span:last-child{min-width:0}.workspace-badge small{color:var(--text-muted);font-size:12px}.workspace-badge-icon{border-radius:var(--radius-md);background:var(--accent);width:34px;height:34px;color:var(--accent-text);flex:none;place-items:center;display:grid}.workspace-notices:empty{display:none}.workspace-notice{border-radius:6px;justify-content:space-between;align-items:center;gap:14px;margin:0 0 14px;padding:10px 14px;display:flex}.workspace-notice .button{min-height:32px;padding:5px 14px}.workspace-notice-info{background:var(--surface-selected);color:var(--text-muted)}.workspace-notice-warning{background:var(--warning-soft);color:var(--warning-text)}.onboarding-card{width:min(100%,440px)}.onboarding-card h2{margin:0 0 4px;font-size:15px}.onboarding-invitations{gap:8px;margin-bottom:22px;display:grid}.onboarding-invitation{border:1px solid var(--border);border-radius:6px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.onboarding-invitation small,.team-invitations small{color:var(--text-muted);display:block}.onboarding-hint,.team-hint{color:var(--text-muted);margin:0;font-size:13px;font-weight:400}.screen-subtitle{color:var(--text-muted);margin:6px 0 0}.license-meter{border:1px solid var(--border);background:var(--surface-panel);border-radius:7px;gap:8px;margin-bottom:18px;padding:16px 18px;display:grid}.license-meter>div:first-child{justify-content:space-between;gap:12px;display:flex}.license-meter>div:first-child span{color:var(--text-muted)}.license-meter-track{background:var(--surface-sunken);border-radius:4px;height:8px;overflow:hidden}.license-meter-fill{background:var(--selected);border-radius:4px;height:100%}.team-table-wrap{border:1px solid var(--border);background:var(--surface-panel);border-radius:7px;overflow-x:auto}.team-table{border-collapse:collapse;width:100%}.team-table th,.team-table td{border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;padding:10px 14px}.team-table tr:last-child td{border-bottom:0}.team-table th{color:var(--text-muted);font-size:12px;font-weight:700}.team-table select{width:auto;min-width:150px;min-height:34px;padding:5px 10px}.team-member{align-items:center;gap:10px;display:flex}.team-member small,.team-muted{color:var(--text-muted)}.role-pill,.access-pill{background:var(--surface-sunken);border-radius:5px;padding:4px 10px;font-size:13px;display:inline-block}.access-pill.access-planner,.access-select.access-planner{background:var(--surface-selected);color:var(--text-link)}.access-pill.access-unassigned{color:var(--text-muted)}.team-invitations{margin-top:26px}.team-invitations ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.team-invitations li{border:1px solid var(--border);background:var(--surface-panel);border-radius:7px;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.team-invite-form{gap:14px;display:grid}.entity-actions{gap:8px;display:inline-flex}.project-edit-bar{border-radius:6px;align-items:center;gap:12px;margin:-8px 0 18px;padding:8px 8px 8px 14px;display:flex}.project-edit-bar .button{min-height:34px;margin-left:auto;padding:5px 14px}.project-edit-bar-view{background:var(--surface-sunken);color:var(--text-muted)}.project-edit-bar-editing{background:var(--success-soft);color:var(--success-text)}.project-edit-bar-lost{background:var(--warning-soft);color:var(--warning-text)}.project-edit-bar-error{color:var(--danger);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-edit-bar.compact{border-radius:var(--radius-full);font-size:var(--text-sm);white-space:nowrap;margin:0;padding:2px 2px 2px 10px}.project-edit-bar.compact .button{min-height:var(--control-sm);border-radius:var(--radius-full);font-size:var(--text-sm);padding:3px 12px}.theme-chrome .project-edit-bar-view{background:var(--surface-raised)}.project-edit-bar.compact .project-edit-bar-error{max-width:220px}@media (max-width:820px){.workspace-badge{display:none}.team-invitations li,.workspace-notice{flex-direction:column;align-items:flex-start}}.billing-actions{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.billing-interval-toggle{justify-self:start}.billing-interval-toggle .segment{min-height:var(--control-md);padding:0 var(--space-4);font-size:var(--text-base)}.billing-price-summary{background:var(--surface-hover);border-radius:7px;gap:4px;padding:12px 14px;display:grid}.billing-price-summary strong{font-size:18px}.billing-price-summary span{color:var(--text-muted);font-size:13px}.plan-picker{gap:14px;display:grid}.plan-badge{background:var(--success-soft);color:var(--success-text);border-radius:999px;margin-left:8px;padding:2px 8px;font-size:11px}.plan-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.plan-card{border:1px solid var(--border);background:var(--surface-panel);cursor:pointer;border-radius:8px;outline:none;align-content:start;gap:4px;padding:16px 14px 14px;transition:border-color .12s,box-shadow .12s;display:grid;position:relative}.plan-card:hover:not(.disabled),.plan-card:focus-visible{border-color:var(--border-selected)}.plan-card.selected{border-color:var(--border-selected);box-shadow:0 0 0 3px var(--surface-selected);cursor:default}.plan-card.disabled{cursor:not-allowed;opacity:.45}.plan-card-badge{background:var(--selected);color:var(--text-on-action);border-radius:999px;padding:2px 10px;font-size:11px;font-weight:700;position:absolute;top:-10px;right:12px}.plan-card-title{font-size:15px}.plan-card-licenses{color:var(--text-muted);font-size:13px}.plan-card-price{margin-top:6px;font-size:20px;font-weight:800}.plan-card-detail{color:var(--success-text);font-size:12px}.plan-card-current{background:var(--surface-sunken);border-radius:5px;justify-self:start;margin-top:4px;padding:2px 8px;font-size:11px;font-weight:700}.plan-stepper{border:1px solid var(--border);border-radius:7px;justify-self:start;align-items:center;gap:10px;margin-top:8px;padding:2px;display:inline-flex}.plan-stepper button{background:var(--surface-sunken);cursor:pointer;border:0;border-radius:5px;width:30px;height:30px;font-size:16px;font-weight:700}.plan-stepper button:disabled{cursor:not-allowed;opacity:.4}.plan-stepper span{text-align:center;min-width:22px;font-weight:700}.plan-nudge{background:var(--warning-soft);color:var(--warning-text);cursor:pointer;text-align:left;border:0;border-radius:6px;justify-self:start;padding:8px 12px}@media (max-width:720px){.plan-cards{grid-template-columns:1fr}}
.guide{background:var(--surface-app);min-height:100vh}.guide-topbar{z-index:var(--z-popover);height:56px;padding:0 var(--space-6);align-items:center;gap:10px;display:flex;position:sticky;top:0}.guide-topbar strong{font-size:var(--text-lg)}.guide-topbar-title{border-left:1px solid var(--border-strong);color:var(--text-muted);font-weight:var(--weight-medium);padding-left:10px}.guide-topbar-note{color:var(--text-subtle);font-size:var(--text-sm);margin-left:auto}.guide-body{grid-template-columns:232px minmax(0,1fr);max-width:1440px;margin:0 auto;display:grid}.guide-nav{align-content:start;gap:var(--space-5);height:calc(100vh - 56px);padding:var(--space-6) var(--space-4);display:grid;position:sticky;top:56px;overflow-y:auto}.guide-nav-group{gap:2px;display:grid}.guide-nav-group>span{margin:0 0 var(--space-1) 10px;color:var(--text-subtle);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:.06em;text-transform:uppercase}.guide-nav a{border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--text-muted);font-size:var(--text-md);border-left:2px solid #0000;padding:6px 10px}.guide-nav a:hover{background:var(--surface-hover);color:var(--text)}.guide-nav a.active{border-left-color:var(--indicator);background:var(--surface-panel);color:var(--text);font-weight:var(--weight-semibold)}.guide-main{gap:var(--space-12);min-width:0;padding:var(--space-8) var(--space-8) 120px;display:grid}.guide-section{gap:var(--space-5);scroll-margin-top:80px;display:grid}.guide-section>h2{font-size:var(--text-2xl);margin:0}.guide-lead{max-width:76ch;color:var(--text-muted);font-size:var(--text-lg);margin:-12px 0 0}.guide-specimen{gap:var(--space-6);border-top:1px solid var(--border);padding-top:var(--space-5);grid-template-columns:240px minmax(0,1fr);display:grid}.guide-specimen-copy h3{margin:0 0 var(--space-2);font-size:var(--text-base)}.guide-usage{color:var(--text-muted);font-size:var(--text-md)}.guide-usage p,.guide-usage ul{margin:0}.guide-usage ul{gap:6px;padding-left:18px;display:grid}.guide-stage{gap:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);min-width:0;padding:var(--space-6);background:var(--surface-panel);display:grid}.guide-stage-app{background:var(--surface-app)}.guide-stage-chrome{border-color:#0000}.guide-stage-canvas{background-color:var(--surface-panel);background-image:radial-gradient(var(--border-strong) 1px, transparent 1px);background-size:16px 16px}.guide-stage-row{align-items:center;gap:var(--space-4);grid-template-columns:90px minmax(0,1fr);display:grid}.guide-stage-label{color:var(--text-subtle);font-size:var(--text-xs);font-weight:var(--weight-semibold)}.guide-stage-items{align-items:center;gap:var(--space-3);flex-wrap:wrap;min-width:0;display:flex}.guide-stack{gap:var(--space-3);display:grid}.guide-muted{color:var(--text-muted);margin:0}.guide-two-columns{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.guide-form-grid{gap:var(--space-4) var(--space-5);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid}.guide-panel{border:1px solid var(--border);border-radius:var(--radius-lg);width:min(100%,340px);padding:0 var(--space-4);background:var(--surface-panel)}.guide-principles{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.guide-principles article{border:1px solid var(--border);border-top:3px solid var(--indicator);border-radius:var(--radius-lg);padding:var(--space-5);background:var(--surface-panel)}.guide-principles span{color:var(--accent-strong-text);font-size:var(--text-sm);font-weight:var(--weight-bold)}.guide-principles h3{margin:var(--space-2) 0;font-size:var(--text-lg)}.guide-principles p{color:var(--text-muted);margin:0}.guide-rules{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.guide-rule{border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-4);background:var(--surface-panel);border-top-width:3px}.guide-rule-do{border-top-color:var(--success)}.guide-rule-dont{border-top-color:var(--danger)}.guide-rule ul{gap:var(--space-1);margin:var(--space-2) 0 0;color:var(--text-muted);padding-left:18px;display:grid}.guide-brand-row{align-items:flex-end;gap:var(--space-6);flex-wrap:wrap;display:flex}.guide-lockup{font-size:var(--text-xl);letter-spacing:-.01em;align-items:center;gap:10px;display:inline-flex}.guide-scale{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(96px,1fr));display:grid}.guide-swatch{font-size:var(--text-xs);gap:2px;display:grid}.guide-swatch-colour{height:52px;margin-bottom:var(--space-1);border:1px solid var(--border);border-radius:var(--radius-md)}.guide-swatch code,.guide-token-table code,.guide-type-row code,.guide-spacing code,.guide-radii code{color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-xs)}.guide-token-table td{white-space:nowrap}.guide-token-table td:last-child{color:var(--text-muted);white-space:normal}.guide-chip-swatch{border:1px solid var(--border-strong);border-radius:var(--radius-xs);vertical-align:middle;width:18px;height:18px;display:inline-block}.guide-chip-swatch-frame{border-radius:var(--radius-xs);vertical-align:middle;padding:3px;display:inline-flex}.guide-contrast{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(190px,1fr));display:grid}.guide-contrast-card{border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);gap:2px;display:grid}.guide-contrast-card strong{font-size:var(--text-2xl)}.guide-contrast-card small{opacity:.8}.guide-type-scale{display:grid}.guide-type-row{align-items:baseline;gap:var(--space-4);border-bottom:1px solid var(--border);grid-template-columns:170px minmax(0,1fr);padding:10px 0;display:grid}.guide-type-row:last-child{border-bottom:0}.guide-figures{gap:var(--space-10);display:flex}.guide-figures div{gap:var(--space-1);display:grid}.guide-figures small{color:var(--text-subtle)}.guide-figures span{font-size:var(--text-xl);line-height:1.2}.guide-spacing{gap:var(--space-2);display:grid}.guide-spacing div{align-items:center;gap:var(--space-3);display:flex}.guide-spacing span{border-radius:var(--radius-xs);background:var(--action-primary);height:14px}.guide-radii{gap:var(--space-6);flex-wrap:wrap;display:flex}.guide-radii div{justify-items:start;gap:var(--space-1);display:grid}.guide-radii span{width:96px;height:64px;margin-bottom:var(--space-2);border:1px solid var(--border);background:var(--surface-panel)}.guide-radii small{color:var(--text-subtle)}.guide-toolbar-demo{align-items:center;gap:var(--space-6);flex-wrap:wrap;min-height:120px;display:flex}.guide-chip-row{flex-wrap:wrap;gap:6px;display:flex}.guide-app-topbar{align-items:stretch;gap:var(--space-6);border-radius:var(--radius-lg);height:56px;padding:0 var(--space-4);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.guide-app-brand{align-items:center;gap:10px;display:flex}.guide-app-brand div{line-height:var(--leading-tight);display:grid}.guide-app-brand small{color:var(--text-muted);font-size:var(--text-xs)}.guide-app-brand strong{font-size:var(--text-base)}.guide-app-steps{align-self:stretch;gap:var(--space-4);flex-wrap:nowrap;overflow-x:auto}.guide-app-steps .tab{min-height:56px}.guide-app-actions{align-items:center;gap:var(--space-3);display:flex}.guide-workspace{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-app);grid-template-rows:56px 460px;grid-template-columns:220px minmax(0,1fr) 280px;display:grid;overflow:hidden}.guide-workspace>.guide-app-topbar{border-radius:0;grid-column:1/-1}.guide-workspace-palette,.guide-workspace-inspector{padding:0 var(--space-4);background:var(--surface-panel);overflow-y:auto}.guide-workspace-palette{border-right:1px solid var(--border)}.guide-workspace-inspector{border-left:1px solid var(--border)}.guide-circuit-list{gap:2px;display:grid}.guide-circuit-list button{align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);padding:7px var(--space-2);color:var(--text);font-size:var(--text-md);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:8px 30px minmax(0,1fr);display:grid}.guide-circuit-list button:hover{background:var(--surface-hover)}.guide-circuit-list button.active{background:var(--surface-selected);box-shadow:inset 2px 0 0 var(--border-selected)}.guide-circuit-list span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.guide-workspace-canvas{background-color:var(--surface-panel);background-image:radial-gradient(var(--border) 1px, transparent 1px);background-size:18px 18px;min-width:0;position:relative}.guide-plan{width:100%;height:100%;padding:var(--space-6) var(--space-6) 64px var(--space-12)}.guide-plan-wall{fill:none;stroke:var(--text-muted);stroke-width:4px}.guide-workspace-zoom{bottom:var(--space-4);left:var(--space-4);position:absolute}.guide-workspace-tools{bottom:var(--space-4);position:absolute;left:50%;transform:translate(-50%)}.guide-workspace-tools .check{padding:0 var(--space-2);font-size:var(--text-sm)}.guide-inspector-header{justify-content:space-between;align-items:center;gap:var(--space-2);border-bottom:1px solid var(--border);padding:var(--space-3) 0;display:flex}.guide-inspector-header small{color:var(--text-subtle);font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase}.guide-inspector-header h3{font-size:var(--text-base);margin:0}.guide-details{margin:0;display:grid}.guide-details div{border-bottom:1px solid var(--border);padding:var(--space-2) 0;font-size:var(--text-md);justify-content:space-between;align-items:center;display:flex}.guide-details dt{color:var(--text-muted)}.guide-details dd{font-weight:var(--weight-semibold);margin:0}.guide-domain-row{gap:var(--space-2) var(--space-5);flex-wrap:wrap;display:flex}.guide-domain-swatch{align-items:center;gap:var(--space-2);font-size:var(--text-md);text-transform:capitalize;display:inline-flex}.guide-domain-swatch i{border-radius:var(--radius-sm);width:22px;height:22px}@media (max-width:1100px){.guide-specimen{gap:var(--space-3);grid-template-columns:minmax(0,1fr)}.guide-workspace{grid-template-rows:auto;grid-template-columns:minmax(0,1fr)}.guide-workspace-palette,.guide-workspace-inspector{border:0}.guide-workspace-canvas{height:360px}}@media (max-width:760px){.guide-body{grid-template-columns:minmax(0,1fr)}.guide-nav{display:none}.guide-topbar{padding:0 var(--space-4)}.guide-topbar-note{display:none}.guide-main{padding:var(--space-6) var(--space-4) 80px}.guide-stage{padding:var(--space-4)}.guide-stage-row,.guide-type-row{gap:var(--space-2);grid-template-columns:minmax(0,1fr)}.guide-rules,.guide-two-columns{grid-template-columns:minmax(0,1fr)}.guide-app-topbar{height:auto;padding:var(--space-3);grid-template-columns:minmax(0,1fr)}.guide-app-actions{flex-wrap:wrap}}
.planner-workspace{background:var(--surface-app);grid-template-rows:56px minmax(0,1fr);grid-template-columns:236px minmax(520px,1fr) 340px;min-width:1040px;height:100vh;display:grid;overflow:hidden}.planner-workspace.inspector-closed{grid-template-columns:236px minmax(520px,1fr)}.planner-workspace.no-palette{grid-template-columns:minmax(520px,1fr) 340px}.planner-workspace.no-palette.inspector-closed{grid-template-columns:minmax(520px,1fr)}.planner-workspace.step-distribution.no-palette.inspector-closed,.planner-workspace.step-bom.no-palette.inspector-closed{grid-template-columns:minmax(0,1fr)}@media (max-width:1180px){.planner-workspace{grid-template-columns:210px minmax(480px,1fr) 310px}.planner-workspace.inspector-closed{grid-template-columns:210px minmax(480px,1fr)}.planner-workspace.no-palette{grid-template-columns:minmax(480px,1fr) 310px}.planner-workspace.no-palette.inspector-closed{grid-template-columns:minmax(480px,1fr)}}
.planner-topbar{z-index:2;align-items:stretch;gap:var(--space-5);padding:0 var(--space-4) 0 var(--space-3);grid-column:1/-1;grid-template-columns:auto minmax(140px,1fr) auto auto auto;display:grid}.planner-back{border-radius:var(--radius-md);color:var(--text-muted);transition:background-color var(--transition-fast), color var(--transition-fast);align-self:center;align-items:center;gap:6px;padding:4px 6px;display:flex}.planner-back:hover{background:var(--surface-hover);color:var(--text)}.planner-back-arrow{font-size:var(--text-lg);line-height:1}.planner-title{min-width:0;line-height:var(--leading-tight);align-content:center;display:grid}.planner-title span,.planner-title strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.planner-title span{color:var(--text-muted);font-size:var(--text-xs)}.planner-title strong{font-size:var(--text-base);font-weight:var(--weight-semibold)}.planner-step-navigation{align-items:stretch;gap:var(--space-4);display:flex}.planner-step-navigation button{color:var(--text-muted);font-size:var(--text-md);font-weight:var(--weight-semibold);white-space:nowrap;cursor:pointer;transition:color var(--transition-fast), border-color var(--transition-fast);background:0 0;border:0;border-bottom:2px solid #0000;padding:2px 2px 0}.planner-step-navigation button:hover{color:var(--text)}.planner-step-navigation button.active{border-bottom-color:var(--indicator);color:var(--text)}.planner-step-navigation button:focus-visible{box-shadow:inset 0 0 0 2px var(--focus-ring-color);outline:none}.save-indicator{align-self:center}.planner-view-controls{align-items:center;gap:var(--space-2);display:flex}@media (max-width:1180px){.planner-topbar,.planner-step-navigation{gap:var(--space-3)}.save-indicator{display:none}}
.zoom-control{height:var(--control-sm);border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-raised);align-items:center;display:flex;overflow:hidden}.zoom-control button{width:var(--control-sm);height:100%;color:var(--icon);font-size:var(--text-lg);cursor:pointer;background:0 0;border:0}.zoom-control button:hover{background:var(--surface-hover);color:var(--text)}.zoom-control span{min-width:48px;color:var(--text-muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums;font-weight:var(--weight-semibold);text-align:center}
.device-palette{border-right:1px solid var(--border);background:var(--surface-panel);grid-row:2;overflow-y:auto}.palette-heading{border-bottom:1px solid var(--border);padding:18px 24px 15px}.palette-heading h2,.palette-heading p,.palette-group h3{margin:0}.palette-heading h2{font-size:17px}.palette-heading p{color:var(--text-muted);margin-top:4px;font-size:12px}.palette-group{padding:14px 24px 0}.palette-group h3{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:9px;font-size:11px;font-weight:750}.palette-item{border:1px solid var(--border);background:var(--surface-panel);width:100%;min-height:45px;color:var(--text);font:inherit;text-align:left;cursor:move;border-radius:7px;align-items:center;gap:13px;margin-bottom:9px;padding:8px 11px;font-size:12px;display:flex}.palette-item:hover{border-color:var(--border-selected);background:var(--surface-hover)}@media (max-width:1180px){.palette-group,.palette-heading{padding-left:16px;padding-right:16px}}
.planner-canvas-column{background:var(--surface-sunken);grid-row:2;min-width:0;position:relative;overflow:hidden}.planner-canvas-column>.feedback{z-index:5;position:absolute;top:12px;left:12px;right:12px}.canvas-message{place-items:center;display:grid;position:absolute;inset:0}.planner-canvas-host{background-color:var(--surface-sunken);background-image:radial-gradient(var(--border-strong) .7px, transparent .7px);background-size:16px 16px;position:absolute;inset:0;overflow:hidden}.planner-canvas-host.mode-select canvas{cursor:default}.planner-canvas-host.mode-pan canvas{cursor:grab}.planner-canvas-host.mode-pan canvas:active{cursor:grabbing}.planner-canvas-host.mode-draw-circuit-path canvas,.planner-canvas-host.mode-draw-cable-route canvas{cursor:crosshair}.canvas-performance{z-index:3;background:var(--tooltip-bg);color:var(--tooltip-muted-text);pointer-events:none;border-radius:5px;gap:2px;padding:6px 9px;font:11px/1.35 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;display:grid;position:absolute;top:18px;right:18px}.canvas-performance.slow{color:var(--danger-text)}.canvas-performance-flags{color:var(--tooltip-muted-text);pointer-events:auto;margin-top:4px}.canvas-performance-flags summary{cursor:pointer}.canvas-performance-flags label{white-space:nowrap;cursor:pointer;align-items:center;gap:6px;margin-top:3px;display:flex}.canvas-performance-flags input{width:auto;min-height:0;margin:0}.canvas-route-hint{z-index:4;border:1px solid var(--border-selected);background:var(--surface-selected);color:var(--text-link);pointer-events:none;border-radius:8px;padding:8px 12px;font-size:12px;font-weight:650;position:absolute;top:18px;left:50%;transform:translate(-50%)}.room-focus-card{z-index:4;border:1px solid var(--border);background:var(--surface-translucent);width:250px;box-shadow:var(--shadow-2);color:var(--text);border-radius:10px;gap:8px;padding:10px 12px;font-size:12px;display:grid;position:absolute;top:18px;left:18px}.floating-bar.room-focus-picker{color:var(--text-muted);gap:4px;padding-left:8px;top:18px;left:18px}.room-focus-card.is-isometric,.floating-bar.room-focus-picker.is-isometric{top:72px}.room-fill-slider{color:var(--text-muted);white-space:nowrap;align-items:center;gap:6px;font-size:11px;font-weight:650;display:flex}.floating-bar .room-fill-slider{border-left:1px solid var(--border);padding:0 6px 0 10px}.room-focus-card .room-fill-slider{border-top:1px solid var(--border);padding-top:8px}.room-fill-slider input[type=range]{width:90px;min-height:0;accent-color:var(--selected);border:0;margin:0;padding:0}.room-focus-card .room-fill-slider input[type=range]{flex:1;width:auto}.room-fill-slider output{min-width:30px;color:var(--text);font-variant-numeric:tabular-nums;text-align:right}.room-focus-select{width:auto;min-width:0;max-width:180px;height:28px;min-height:0;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0 4px;font-size:12px;font-weight:650}.room-focus-card header{align-items:center;gap:2px;display:flex}.room-focus-card .room-focus-select{border:1px solid var(--border);background:var(--surface-panel);flex:1;max-width:none;height:26px;margin-right:4px;padding:0 6px;font-size:13px;font-weight:700}.room-focus-card .icon-button{width:26px;height:26px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;place-items:center;padding:0;display:grid;position:relative}.room-focus-card .icon-button:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.room-focus-card .icon-button:disabled{opacity:.4;cursor:default}.room-focus-empty{color:var(--text-muted);margin:0}.room-focus-devices{flex-wrap:wrap;gap:6px 10px;margin:0;padding:0;list-style:none;display:flex}.room-focus-devices li{font-variant-numeric:tabular-nums;align-items:center;gap:5px;font-weight:700;display:flex}.room-focus-devices .device-symbol{border-radius:6px;width:22px;height:22px;font-size:11px}.room-focus-card dl{border-top:1px solid var(--border);gap:6px;margin:0;padding-top:8px;display:grid}.room-focus-card dt{color:var(--text-muted);font-size:11px;font-weight:650}.room-focus-card dd{flex-wrap:wrap;align-items:center;gap:4px;margin:2px 0 0;display:flex}.room-focus-card dd span{color:var(--text-muted)}.room-focus-card dd button{border:1px solid var(--border);background:var(--surface-hover);color:var(--text-link);font:inherit;cursor:pointer;border-radius:999px;padding:2px 8px;font-weight:650}.room-focus-card dd button.active{border-color:var(--border-selected);background:var(--selected);color:var(--text-on-action)}.room-focus-card dd button:disabled{color:var(--text);cursor:default}.circuit-node-choice{z-index:20;border:1px solid var(--danger-border);background:var(--surface-panel);box-shadow:var(--shadow-3);border-radius:10px;align-items:center;gap:8px;padding:10px 12px;display:flex;position:absolute;bottom:58px;left:50%;transform:translate(-50%)}.circuit-node-choice button{border:1px solid var(--border-strong);background:var(--surface-app);cursor:pointer;border-radius:7px;padding:6px 9px}.endpoint-picker{flex-wrap:wrap;max-width:min(520px,100% - 40px)}.canvas-toast{z-index:6;border:1px solid var(--switch-border);background:var(--switch-soft);color:var(--switch-text);white-space:nowrap;border-radius:8px;padding:8px 12px;font-size:12px;font-weight:650;position:absolute;bottom:66px;left:50%;transform:translate(-50%)}
.floating-bar{z-index:var(--z-canvas-overlay);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-1);background:var(--surface-translucent);box-shadow:var(--shadow-2);align-items:center;gap:2px;display:flex;position:absolute}.floating-bar.theme-chrome{background:var(--surface-panel);border-color:#0000}.planner-mode-toolbar{flex-wrap:wrap;justify-content:center;width:max-content;max-width:calc(100% - 130px);bottom:18px;left:50%;transform:translate(-50%)}.plan-zoom-controls{flex-direction:column;bottom:18px;left:18px}.plan-zoom-controls .toolbar-divider{width:auto;height:1px;margin:3px 4px}.plan-zoom-percent{width:28px;color:var(--text-muted);font-size:var(--text-2xs);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;text-align:center;line-height:16px}.floating-bar button:not(.icon-button,.segment){height:var(--control-sm);border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer;background:0 0;border:0;padding:0 10px}.floating-bar button:not(.icon-button,.segment):hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.floating-bar button:not(.icon-button,.segment).active{background:var(--selected);color:var(--selected-text)}.floating-bar button:disabled{opacity:.4;cursor:default}.floating-bar .icon-button{width:var(--control-sm);height:var(--control-sm)}.toolbar-divider{background:var(--border);align-self:stretch;width:1px;margin:5px 4px}.planner-mode-toolbar .check{font-size:var(--text-sm);white-space:nowrap;padding:0 6px}.planner-mode-toolbar select{width:auto;min-height:0;font-size:var(--text-sm);padding:5px 6px}.toolbar-level{border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--text-sm);font-weight:var(--weight-regular);border:1px solid #0000;align-items:center;gap:6px;padding:1px 2px 1px 8px;display:flex}.toolbar-level b{font-weight:var(--weight-semibold);white-space:nowrap}.toolbar-level select{border:1px solid var(--border-input);border-radius:var(--radius-sm);background:var(--surface-raised);height:24px;color:var(--text);font:inherit;padding:0 4px}.toolbar-level.active{border-color:var(--border-selected);background:var(--surface-selected)}.toolbar-level.active b{color:var(--text)}.toolbar-segmented{border-radius:var(--radius-md);background:var(--surface-sunken);gap:1px;padding:1px;display:flex}.planner-mode-toolbar .toolbar-segmented .icon-button{width:26px;height:26px}.route-properties-popover{z-index:6;border:1px solid var(--border);border-radius:var(--radius-lg);width:260px;padding:var(--space-4);background:var(--surface-panel);box-shadow:var(--shadow-3);color:var(--text);font-size:var(--text-sm);gap:10px;display:grid;position:absolute;top:22px;right:22px}.route-properties-popover>span{color:var(--text-muted)}.route-properties-popover label{font-weight:var(--weight-semibold);gap:6px;display:grid}.route-properties-popover select,.route-properties-popover input{width:100%;min-height:var(--control-md);border:1px solid var(--border-input);border-radius:var(--radius-md);background:var(--surface-raised);color:var(--text);font:inherit;padding:7px 10px}.elevation-popover{top:22px;left:22px;right:auto}
.isometric-view{background:var(--surface-sunken);grid-template-rows:auto minmax(0,1fr) auto;display:grid;position:absolute;inset:0}.isometric-toolbar{align-items:center;gap:var(--space-2) var(--space-5);border-bottom:1px solid var(--border);padding:var(--space-2) var(--space-5);background:var(--surface-panel);flex-wrap:wrap;display:flex}.isometric-slider{color:var(--text-muted);font-size:var(--text-sm);font-weight:var(--weight-semibold);align-items:center;gap:8px;display:flex}.isometric-slider input[type=range]{width:130px;min-height:0;accent-color:var(--selected);border:0;padding:0}.isometric-slider output{min-width:34px;color:var(--text);font-variant-numeric:tabular-nums}.isometric-toolbar .check{font-size:var(--text-sm)}.isometric-canvas-wrap{background-color:var(--surface-sunken);background-image:radial-gradient(var(--border-strong) .7px, transparent .7px);background-size:16px 16px;position:relative;overflow:hidden}.isometric-canvas-wrap svg{cursor:grab;touch-action:none;width:100%;height:100%;display:block;position:relative}.isometric-canvas-wrap svg.dragging{cursor:grabbing}.isometric-canvas-wrap svg.moving *{stroke-dasharray:none}.canvas-performance.isometric-performance{top:auto;bottom:14px;right:16px}.isometric-drag-hint{z-index:2;border:1px solid var(--border);background:var(--surface-translucent);color:var(--text-muted);font-size:var(--text-xs);pointer-events:none;border-radius:999px;padding:5px 12px;position:absolute;top:14px;right:16px}.isometric-photo{transform-origin:0 0;will-change:transform;pointer-events:none;-webkit-user-select:none;user-select:none;max-width:none;image-rendering:-webkit-optimize-contrast;position:absolute;top:0;left:0}.isometric-floor{fill:var(--border)}.isometric-floor-washed{fill:var(--surface-panel);fill-opacity:.4}.isometric-grid line{stroke:var(--border);stroke-width:1px}.isometric-floor-outline{fill:none;stroke:var(--border-strong);stroke-width:1.5px}.isometric-wall{stroke:var(--text-subtle);stroke-width:1.2px;stroke-dasharray:2 3}.isometric-ceiling{fill:none;stroke:var(--text-subtle);stroke-width:1.2px}.isometric-scale-bar{stroke:var(--text-muted);stroke-width:1.5px}.isometric-scale-label{fill:var(--text-muted);text-anchor:middle;font-size:10px}.isometric-room-label{text-anchor:middle;pointer-events:none;font-size:11px;font-weight:700}.isometric-riser{stroke:var(--text-subtle);stroke-width:1px;stroke-dasharray:3 3}.isometric-shadow{fill:var(--border-strong)}.isometric-marker{stroke:var(--surface-panel);stroke-width:1.4px}.isometric-pill{fill:var(--surface-panel);stroke-width:1.4px}.isometric-marker-symbol{fill:var(--text-on-colour);text-anchor:middle;font-size:8.5px;font-weight:700}.isometric-device-label{fill:var(--text-muted);text-anchor:middle;font-size:10.5px}.isometric-footnote{border-top:1px solid var(--border);padding:var(--space-2) var(--space-5);background:var(--surface-panel);color:var(--text-muted);margin:0;font-size:11.5px}
.planner-inspector{z-index:3;border-left:1px solid var(--border);background:var(--surface-panel);grid-row:2;padding:0 22px 24px;overflow-y:auto}.inspector-header{z-index:2;border-bottom:1px solid var(--border);background:var(--surface-panel);justify-content:space-between;align-items:center;min-height:62px;display:flex;position:sticky;top:0}.inspector-header h2{margin:0;font-size:17px}.inspector-header button,.inspector-back{color:var(--text);cursor:pointer;background:0 0;border:0}.inspector-header button{font-size:24px}.inspector-back{color:var(--text-link);padding:14px 0 0;font-size:12px}.inspector-form{border-bottom:1px solid var(--border);gap:15px;padding:20px 0;display:grid}.inspector-fieldset{border:0;min-width:0;margin:0;padding:0;display:contents}.inspector-fieldset:disabled :is(input,select,textarea){cursor:default;background:var(--surface-hover);color:var(--text-muted)}.inspector-form label{color:var(--text);gap:7px;font-size:12px;font-weight:650;display:grid}.inspector-form input,.inspector-form textarea{border:1px solid var(--border);background:var(--surface-panel);width:100%;color:var(--text);font:inherit;border-radius:6px;padding:10px 11px;font-weight:400}.inspector-form textarea{resize:vertical;min-height:74px}.inspector-form label.panel-toggle{align-items:flex-start;gap:8px;font-weight:400;line-height:1.4;display:flex}.inspector-form .panel-toggle input[type=checkbox]{flex:none;width:auto;min-height:0;margin:1px 0 0;padding:0}.input-with-unit{border:1px solid var(--border);border-radius:6px;align-items:stretch;display:flex}.input-with-unit input{border:0}.input-with-unit span{border-left:1px solid var(--border);min-width:38px;color:var(--text-muted);place-items:center;font-weight:500;display:grid}.inspector-section{padding:20px 0 10px}.inspector-section h3{margin:0 0 12px;font-size:13px}.inspector-info{background:var(--surface-selected);color:var(--text-muted);border-radius:7px;margin:10px 0 18px;padding:12px;font-size:11px;line-height:1.5}.segment-details{gap:0;margin:18px 0;display:grid}.segment-details div{border-bottom:1px solid var(--border);justify-content:space-between;gap:16px;padding:11px 0;font-size:12px;display:flex}.segment-details dt{color:var(--text-muted)}.segment-details dd{color:var(--text);text-transform:capitalize;margin:0;font-weight:700}.panel-toggle{color:var(--text-muted);align-items:center;gap:8px;font-size:12px;display:flex}.panel-toggle input[type=checkbox]{width:auto;min-height:0;accent-color:var(--text-link);margin:0}.popover-actions{gap:8px;display:flex}.popover-actions .button{flex:1}.text-button{color:var(--text-link);cursor:pointer;background:0 0;border:0;font-size:12px;font-weight:650}.device-symbol{background:var(--surface-selected);width:30px;height:30px;color:var(--text-link);border-radius:7px;flex:none;place-items:center;font-weight:800;display:inline-grid}.type-dot{border-radius:50%;flex:none;width:9px;height:9px;display:inline-block}.name-field{min-width:0;color:var(--text);gap:7px;font-size:12px;font-weight:650;display:grid}.name-field-row{align-items:center;gap:6px;display:flex}.name-field-row input{border-color:var(--border);background:var(--surface-hover);min-width:0;color:var(--text-muted);cursor:default;flex:1;font-weight:600}.name-field .icon-button{border:1px solid var(--border);background:var(--surface-panel);width:34px;height:34px;color:var(--text-muted);border-radius:6px;flex:none;padding:0;position:relative}.name-field .icon-button:hover{border-color:var(--border-selected);color:var(--text-link)}.rename-dialog{gap:12px;display:grid}.rename-dialog .field-error{margin:-4px 0 0;font-size:13px}.rename-clash{border:1px solid var(--warning-border);background:var(--warning-soft);border-radius:8px;gap:8px;padding:12px;display:grid}.rename-clash-message{color:var(--warning-text);margin:0 0 2px;font-weight:650}.rename-dialog .rename-choice{border:1px solid var(--border);background:var(--surface-panel);cursor:pointer;border-radius:6px;align-items:flex-start;gap:10px;padding:9px 11px;font-weight:400;display:flex}.rename-dialog .rename-choice:has(input:checked){border-color:var(--border-selected);box-shadow:inset 0 0 0 1px var(--border-selected)}.rename-dialog .rename-choice input[type=radio]{width:auto;min-height:0;accent-color:var(--text-link);margin:3px 0 0}.rename-dialog .rename-choice span{gap:2px;display:grid}.rename-dialog .rename-choice strong{color:var(--text);font-size:14px}.rename-dialog .rename-choice small{color:var(--text-muted);font-size:12px}.rename-other{gap:6px;padding-left:26px;display:grid}
.inline-add-device{grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-bottom:12px;display:grid}.inline-add-device select{border:1px solid var(--border);background:var(--surface-panel);width:100%;color:var(--text);font:inherit;border-radius:6px;padding:10px 11px;font-weight:400}.inline-add-device .button{white-space:nowrap;padding-inline:10px}.inspector-device-list{gap:8px;display:grid}.inspector-device-list>button,.inspector-device-row>button{border:1px solid var(--border);background:var(--surface-panel);color:var(--text);text-align:left;cursor:pointer;border-radius:7px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px;display:grid}.inspector-device-list .device-symbol{width:30px;height:30px}.inspector-device-list strong,.inspector-device-list small{display:block}.inspector-device-list strong{font-size:12px}.inspector-device-list small{color:var(--text-muted);margin-top:3px;font-size:11px}.inspector-device-row{align-items:center;gap:4px;display:flex}.inspector-device-row>button{flex:1;min-width:0}.box-order-bar{color:var(--text-muted);justify-content:space-between;align-items:center;gap:8px;margin:0 0 8px;font-size:11px;display:flex}.planner-inspector>.button-danger{width:100%}.segment-node-actions{flex-direction:column;gap:8px;display:flex}.segment-node-actions .button{flex:1}.cable-route-circuits{flex-wrap:wrap;gap:6px;margin:0 0 12px;padding:0;list-style:none;display:flex}.cable-route-circuits button{border:1px solid var(--border);background:var(--surface-panel);color:var(--text);font:inherit;cursor:pointer;border-radius:999px;padding:4px 10px;font-size:12px}.planner-inspector>.button-secondary{width:100%;margin-bottom:8px}.inspector-field-pair{grid-template-columns:1fr 1fr;gap:12px;display:grid}.inspector-field-pair input:disabled{background:var(--surface-hover);color:var(--text-muted)}.light-array-hint{align-items:flex-start;gap:10px;margin-top:0;display:flex}.light-array-hint .device-symbol{flex:none}.count-stepper{border:1px solid var(--border);border-radius:6px;align-items:stretch;display:flex}.inspector-form .count-stepper input{text-align:center;border:0;border-radius:0;min-width:0}.count-stepper button{width:34px;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;flex:none;font-size:16px}.count-stepper button:first-child{border-right:1px solid var(--border)}.count-stepper button:last-child{border-left:1px solid var(--border)}.count-stepper button:hover:not(:disabled){background:var(--surface-hover)}.count-stepper button:disabled{color:var(--text-muted);cursor:default}
.circuit-panel .inspector-form select,.circuit-panel .inspector-form input{border:1px solid var(--border);background:var(--surface-panel);border-radius:6px;width:100%;padding:10px 11px}.circuit-create-button{width:100%}.circuit-create-button+.circuit-create-button{margin-top:8px}.preset-chips{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:10px;display:grid}.preset-chips button{border:1px solid var(--border);background:var(--surface-panel);color:var(--text);text-align:left;cursor:pointer;border-radius:8px;gap:2px;padding:8px 10px;display:grid}.preset-chips button small{color:var(--text-muted);font-size:11px}.preset-chips button.active{border-color:var(--border-selected);background:var(--surface-selected);box-shadow:inset 0 0 0 1px var(--border-selected)}.preset-chips.compact{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.preset-chips.compact button{text-align:center;padding:6px 4px}.preset-chips.compact button strong{font-size:12px}.preset-chips.compact button small{font-size:10px}.unconnected-summary{border:1px dashed var(--warning);background:var(--warning-soft);width:100%;color:var(--warning-text);cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;padding:9px 11px;font-size:12px;display:flex}.circuit-search{width:100%;min-height:0;margin:12px 0 8px;padding:8px 10px;font-size:12px}.circuit-group{margin-bottom:4px}.circuit-group-header{align-items:center;gap:2px;display:flex}.circuit-group-toggle{min-width:0;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;flex:1;align-items:center;gap:7px;padding:7px 4px;font-size:12px;display:flex}.circuit-group-toggle:hover{background:var(--surface-sunken)}.circuit-group-toggle small{color:var(--text-muted);white-space:nowrap;margin-left:auto;font-weight:400}.chevron{width:10px;color:var(--text-muted)}.circuit-rows{gap:1px;margin:0 0 4px;padding:0;list-style:none;display:grid}.circuit-row{border-radius:6px;align-items:center;gap:2px;display:flex}.circuit-row:hover,.circuit-row.hovered{background:var(--surface-sunken)}.circuit-row.drawing{box-shadow:inset 3px 0 0 var(--danger)}.circuit-row.is-hidden .circuit-row-main{opacity:.5}.circuit-row-main{min-width:0;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:8px;padding:6px 6px 6px 21px;font-size:12px;display:flex}.circuit-row-main strong{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.circuit-row-main small{color:var(--text-muted);white-space:nowrap;margin-left:auto}.eye-button{width:26px;height:26px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:5px;flex:none;font-size:13px}.eye-button:hover:not(:disabled){background:var(--surface-sunken)}.eye-button.is-hidden{opacity:.45}.eye-button:disabled{cursor:default}.circuit-detail{gap:12px;padding-top:12px;display:grid}.circuit-detail-back{justify-self:start;margin-bottom:18px;padding:0}.circuit-detail-title{align-items:center;gap:8px;display:flex}.circuit-detail-title h3{margin:0;font-size:15px}.circuit-detail-title small{color:var(--text-muted)}.circuit-detail .segment-details{margin:0}.circuit-detail h4{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;margin:4px 0 6px;font-size:11px}.unconnected-tag{background:var(--warning-soft);color:var(--warning-text);white-space:nowrap;border-radius:999px;margin-left:auto;padding:2px 8px;font-size:11px;font-weight:650}.unconnected-card-where{color:var(--text-muted);margin:-6px 0 0;font-size:12px}.circuit-device-list button small.unconnected-text{color:var(--warning-text)}.unconnected-card-actions{flex-wrap:wrap;justify-content:flex-start}.circuit-device-list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.circuit-device-list button{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;padding:6px;font-size:12px;display:flex}.circuit-device-list button:hover{background:var(--surface-sunken)}.circuit-device-list button small{color:var(--text-muted);margin-left:auto}.box-card{border:1px solid var(--border);background:var(--surface-app);border-radius:8px;gap:4px;margin:4px 0;padding:6px;display:grid}.box-card-header{color:var(--text);justify-content:space-between;align-items:center;gap:6px;padding:0 4px;font-size:12px;display:flex}.box-card-header strong{font-weight:650}.box-layout-toggle,.box-card-actions{flex:none;gap:2px;display:flex}.planner-inspector .box-control-button{width:26px;height:26px;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;place-items:center;padding:0;font-size:14px;display:grid}.planner-inspector .box-control-button:hover:not(:disabled){border-color:var(--border);background:var(--surface-sunken)}.planner-inspector .box-control-button.active{background:var(--surface-selected);color:var(--text-link)}.planner-inspector .box-control-button:disabled{opacity:.35;cursor:default}.box-card-device{align-items:center;gap:2px;display:flex}.box-card-device>button{flex:1;min-width:0}.box-card-device.other-circuit>button{opacity:.55}.drawing-device-filter{border:0;grid-template-columns:1fr 1fr;gap:6px 10px;min-width:0;margin:0 0 14px;padding:0;display:grid}.drawing-device-filter legend{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:8px;padding:0;font-size:11px;font-weight:750}.drawing-device-filter .check-text>span{align-items:center;gap:6px;font-size:12px;display:inline-flex}.drawing-device-filter .device-symbol{width:18px;height:18px;font-size:10px}
.lights-tools .preset-chips{margin-bottom:0}.lights-tools .panel-toggle{margin-top:10px}.control-group-rows{gap:2px;margin:8px 0;padding:0;list-style:none;display:grid}.control-group-row{border-radius:7px}.control-group-row:hover,.control-group-row.hovered{background:var(--switch-soft)}.control-group-row.selected{background:var(--switch-soft);box-shadow:inset 3px 0 0 var(--switch)}.control-group-row.editing{box-shadow:inset 3px 0 0 var(--switch), inset 0 0 0 1px var(--switch-border)}.control-group-main{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;gap:2px;padding:8px 10px;font-size:12px;display:grid}.control-group-main strong{align-items:center;gap:6px;font-weight:600;display:flex}.control-group-main small{color:var(--text-muted)}.control-group-editing{background:var(--switch-soft);color:var(--switch-text);border-radius:999px;margin-left:auto;padding:1px 7px;font-size:10px;font-weight:650}.control-group-detail{gap:10px;padding:0 10px 10px;display:grid}.control-group-rename{gap:6px;display:flex}.control-group-rename input{flex:1;min-width:0;min-height:0;padding:7px 9px;font-size:12px}.light-group-heading{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;margin:2px 0 -6px;font-size:11px}.light-group-member{align-items:center;gap:4px;display:flex}.light-group-member>button{flex:1;min-width:0}.light-group-member .light-group-member-actions{flex:none;gap:2px;display:flex}.light-group-member .light-group-member-actions button{width:24px;height:24px;color:var(--text-muted);justify-content:center;padding:0}.light-group-member .light-group-member-actions button:disabled{opacity:.35;cursor:default}.issue-dot{background:var(--danger);border-radius:50%;width:8px;height:8px;display:inline-block}.inspector-warning{border:1px solid var(--danger-border);background:var(--danger-soft);color:var(--danger-text);border-radius:7px;margin:0;padding:7px 9px;font-size:12px}.issue-list{margin-top:10px;font-size:12px}.issue-list summary{color:var(--warning-text);cursor:pointer;padding:6px 0;font-weight:650}.control-group-editing-block{border:1px solid var(--switch-border);background:var(--switch-soft);color:var(--switch-text);border-radius:8px;gap:8px;padding:9px 10px;font-size:12px;display:grid}.control-group-editing-block p{margin:0}.control-group-editing-block .popover-actions{justify-content:flex-start}.lights-tool-hint{margin:8px 0 0}
.bom-view{background:var(--surface-app);grid-row:2;overflow-y:auto}.bom-view-inner{gap:18px;max-width:1100px;margin:0 auto;padding:28px 32px 48px;display:grid}.bom-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.bom-header h1{margin:0;font-size:22px}.bom-header p{color:var(--text-muted);margin:4px 0 0;font-size:13px}.export-actions{justify-content:flex-start;align-items:center;gap:8px;display:flex}.bom-card{border:1px solid var(--border);background:var(--surface-panel);border-radius:10px;padding:18px 20px}.bom-card h2{margin:0;font-size:15px}.section-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.bom-allowance-summary{color:var(--text-muted);margin:8px 0 0;font-size:12px}.allowances-form{border:1px solid var(--border);background:var(--surface-hover);border-radius:8px;margin-bottom:12px;padding:11px}.bom-type-totals{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-top:14px;display:grid}.bom-type-total{border:1px solid var(--border);border-radius:8px;padding:12px 14px}.bom-type-total span{color:var(--text-muted);font-size:12px;font-weight:650}.bom-type-total strong{font-size:20px;display:block}.bom-type-total small{color:var(--text-muted);margin-top:4px;font-size:11px;display:block}.bom-table-wrap{margin-top:14px;overflow-x:auto}.bom-table{border-collapse:collapse;width:100%;font-size:12px}.bom-table th,.bom-table td{border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;padding:8px 10px}.bom-table th{color:var(--text-muted);font-weight:650}.bom-table .number{text-align:right;font-variant-numeric:tabular-nums}.bom-table .bom-group-row td{background:var(--surface-app);font-weight:700}.bom-table .bom-empty-row{color:var(--text-subtle)}.bom-table button{color:var(--text-link);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:650}
.distribution-view{background:var(--surface-app);grid-row:2;overflow-y:auto}.distribution-view-inner{gap:18px;max-width:1440px;margin:0 auto;padding:28px 32px 48px;display:grid}.distribution-drop.valid:not(.grouping){color:var(--success);place-items:center;font-size:11px;font-weight:700;display:grid}.distribution-empty{justify-items:start;gap:10px;display:grid}.distribution-empty p{color:var(--text-muted);margin:0}.distribution-layout{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:18px;display:grid}.distribution-main{gap:18px;min-width:0;display:grid}.distribution-side{border:1px solid var(--border);background:var(--surface-panel);border-radius:10px;max-height:calc(100vh - 110px);padding:0 18px 18px;position:sticky;top:0;overflow-y:auto}.distribution-summary{color:var(--text-muted);margin:4px 0 0;font-size:12px}.distribution-palette{flex-wrap:wrap;gap:6px;display:flex}.distribution-rails{gap:12px;margin-top:16px;display:grid;position:relative}.distribution-rail-row{align-items:center;gap:calc(8px + var(--wire-gutter,0px));grid-template-columns:22px minmax(0,1fr);display:grid}.distribution-rail-number{color:var(--text-subtle);text-align:right;font-size:11px;font-weight:700}.distribution-rail-handle{cursor:grab;touch-action:none;background:0 0;border:1px dashed #0000;border-radius:5px;align-self:stretch;padding:0 4px;font-family:inherit}.distribution-rail-handle:hover,.distribution-rail-handle:focus-visible,.distribution-rail-handle.dragging{border-color:var(--border-selected);background:var(--surface-selected);color:var(--text-link)}.distribution-rail-handle.dragging{cursor:grabbing}.distribution-rail.rail-drop{box-shadow:inset 0 0 0 2px var(--border-selected)}.distribution-rail{max-width:calc(var(--rail-modules,18) * 56px);background:linear-gradient(var(--border), var(--border)) center / 100% 14px no-repeat, var(--surface-sunken);touch-action:none;border-radius:6px;grid-template-rows:24px minmax(66px,auto) 24px;column-gap:0;min-height:78px;padding:6px;display:grid;position:relative}.distribution-slot{border:1px dashed var(--border-strong);border-radius:4px;margin:0 1px}.distribution-component{z-index:1;border:1px solid var(--border-strong);border-bottom:5px solid var(--border-strong);background:var(--surface-panel);min-width:0;color:var(--text);font:inherit;cursor:move;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:5px;flex-direction:column;align-items:center;gap:2px;margin:0 1px;padding:6px 2px;display:flex;overflow:hidden}.distribution-component>strong,.distribution-component>.distribution-poles{margin-top:auto}.distribution-component strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:11px;overflow:hidden}.distribution-component span,.distribution-component small{max-width:100%;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.distribution-component small{color:var(--text-link);font-weight:650}.distribution-component-main_switch{background:var(--danger-soft)}.distribution-component-spd{background:var(--warning-soft)}.distribution-component-rcd{background:var(--surface-selected)}.distribution-component-custom{background:var(--switch-soft)}.distribution-component.selected{border-color:var(--border-selected);box-shadow:0 0 0 2px var(--border-selected)}.distribution-component.in-selected-group{outline:2px dashed var(--group-color,var(--border-selected));outline-offset:2px;background:color-mix(in srgb, var(--group-color,var(--selected)) 10%, var(--surface-panel))}.distribution-component.read-only{cursor:pointer}.distribution-component.dragging{opacity:.45;cursor:move}.distribution-component:focus-visible{outline:2px solid var(--border-selected);outline-offset:2px}.distribution-drop{z-index:2;pointer-events:none;border:2px dashed;border-radius:5px;margin:0 1px}.distribution-drop.valid{border-color:var(--success);background:var(--drop-valid)}.distribution-drop.shifting{z-index:0}.distribution-drop.invalid{border-color:var(--danger);background:var(--drop-invalid)}.distribution-group-add{z-index:1;border:2px dashed var(--border-strong);background:var(--surface-scrim);color:var(--text-muted);font:inherit;cursor:pointer;border-radius:5px;place-items:center;margin:0 1px;font-size:20px;font-weight:700;display:grid}.distribution-group-add:hover{background:var(--surface-panel)}.distribution-drop.grouping{background:var(--surface-translucent);white-space:nowrap;border-style:solid;place-items:center;font-size:10px;font-weight:700;display:grid}.distribution-unplaced{border:1px dashed var(--border-strong);border-radius:8px;padding:10px 12px}.distribution-unplaced h3{margin:0;font-size:12px}.distribution-unplaced p,.distribution-hint{color:var(--text-muted);margin:4px 0 8px;font-size:11px}.distribution-unplaced-items{flex-wrap:wrap;gap:6px;display:flex}.distribution-unplaced-items .distribution-component{min-height:62px}.distribution-component .distribution-ratings{white-space:normal;flex-wrap:wrap;justify-content:center;align-self:stretch;gap:1px 4px;display:flex;overflow:visible}.distribution-component .distribution-ratings span{text-align:center;flex:34%;min-width:fit-content}.distribution-component .distribution-ratings span:only-child{min-width:0}.distribution-feed-wires{z-index:2;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.distribution-bridge{min-width:0;position:relative}.distribution-bridge-stub{width:2px;position:absolute;transform:translate(-50%)}.distribution-bridge-strip{border-radius:2px;height:3px;position:absolute}.distribution-bridge-warning{border:1.5px dashed var(--danger);pointer-events:none;border-radius:3px;margin:0 -3px;position:absolute}.distribution-tooltip{z-index:50;background:var(--tooltip-bg);max-width:260px;color:var(--tooltip-text);box-shadow:var(--shadow-2);pointer-events:none;border-radius:6px;gap:2px;padding:6px 9px;font-size:11px;line-height:1.35;animation:.12s ease-out .4s both distribution-tooltip-in;display:grid;position:fixed;transform:translate(-50%,calc(-100% - 8px))}.distribution-tooltip strong{font-size:12px}.distribution-tooltip span{color:var(--tooltip-muted-text)}@keyframes distribution-tooltip-in{0%{opacity:0}to{opacity:1}}.distribution-poles{align-self:stretch;gap:2px;padding:0 1px;display:flex}.distribution-component .distribution-poles em{min-width:0;color:var(--text-on-colour);text-align:center;border-radius:3px;flex:1 1 0;font-size:9px;font-style:normal;font-weight:700;line-height:14px;overflow:hidden}.distribution-phase-columns{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.distribution-phase-column,.distribution-phase-extra{border:1px solid var(--border);background:var(--surface-hover);border-radius:8px;padding:0 10px 10px}.distribution-phase-column header{border-top:4px solid;border-radius:8px 8px 0 0;justify-content:space-between;align-items:baseline;margin:0 -10px;padding:8px 10px 4px;display:flex}.distribution-phase-column header span{font-variant-numeric:tabular-nums;font-weight:700}.distribution-phase-demand{color:var(--text-muted);font-variant-numeric:tabular-nums;margin:-2px 0 6px;font-size:12px}.distribution-phase-bar{background:var(--surface-sunken);border-radius:2px;height:4px;margin-bottom:8px}.distribution-phase-bar span{border-radius:2px;height:100%;display:block}.distribution-phase-extra{margin-top:10px;padding-top:8px}.distribution-phase-extra h3{margin:0 0 6px;font-size:12px}.distribution-phases ul{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.distribution-phase-column ul{display:grid}.distribution-phase-card{border:1px solid var(--border);background:var(--surface-panel);width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;border-radius:6px;grid-template-columns:auto minmax(0,1fr) auto;align-items:baseline;gap:6px;padding:6px 8px;font-size:12px;display:grid}.distribution-phase-card span{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.distribution-phase-card small{font-variant-numeric:tabular-nums}.distribution-phase-card small.missing{color:var(--warning-text)}.distribution-phase-card.selected{border-color:var(--border-selected);box-shadow:0 0 0 1px var(--border-selected)}.distribution-phase-empty{color:var(--text-subtle);margin:4px 0;font-size:11px}.distribution-setup-supply{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.distribution-setup-supply span{color:var(--text);margin-right:4px;font-size:12px;font-weight:650}.distribution-setup-supply button{border:1px solid var(--border);background:var(--surface-panel);color:var(--text);font:inherit;cursor:pointer;border-radius:999px;padding:7px 13px;font-size:12px;font-weight:650}.distribution-setup-supply button.active{border-color:var(--border-selected);background:var(--surface-selected);box-shadow:inset 0 0 0 1px var(--border-selected)}.distribution-status{border-radius:999px;padding:3px 9px;font-size:11px;font-weight:650;display:inline-block}.distribution-status.unprotected{background:var(--warning-soft);color:var(--warning-text)}.distribution-status.suggested{background:var(--surface-selected);color:var(--info-text)}.distribution-status.assigned{background:var(--success-soft);color:var(--success-text)}.distribution-circuits small{color:var(--text-muted)}.distribution-inspector-title{align-items:baseline;gap:10px;padding-top:10px;display:flex}.distribution-inspector-title h2{margin:0;font-size:18px}.distribution-inspector-title small{color:var(--text-muted)}.distribution-inspector select{border:1px solid var(--border);background:var(--surface-panel);width:100%;color:var(--text);font:inherit;border-radius:6px;padding:9px 10px;font-weight:400}.distribution-inspector-actions{align-self:center;gap:2px;margin-left:auto;display:flex}.distribution-inspector-actions .icon-button{width:30px;height:30px;color:var(--text-muted);border-radius:6px;padding:0;position:relative}.distribution-inspector-actions .icon-button:hover{background:var(--surface-hover);color:var(--text)}.distribution-inspector-actions .icon-button.danger:hover{background:var(--danger-soft);color:var(--danger)}.distribution-rationale{font-size:11px}.distribution-rationale summary{color:var(--text-link);cursor:pointer;font-weight:650}.distribution-rationale ul{margin:6px 0;padding-left:18px}.distribution-rationale p{color:var(--text-muted);margin:0}.distribution-group-editor{border-bottom:1px solid var(--border);padding:14px 0}.distribution-group-editor h3{margin:0;font-size:13px}.distribution-group-editor ul{gap:6px;margin:0 0 12px;padding:0;list-style:none;display:grid}.distribution-group-editor label{cursor:pointer;align-items:center;gap:8px;padding:4px 0;font-size:12px;display:flex}.distribution-group-editor input[type=checkbox]{width:16px;height:16px;min-height:0;accent-color:var(--text-link);cursor:pointer;flex:none;margin:0;padding:0}.distribution-group-editor input[type=checkbox]:disabled{cursor:default}.distribution-group-editor label:has(input:disabled){cursor:default}.distribution-group-editor span,.distribution-group-editor small{color:var(--text-muted)}.distribution-review h2{margin:16px 0 8px;font-size:16px}.distribution-notice{border-left:3px solid var(--warning);background:var(--warning-soft);color:var(--warning-text);border-radius:4px;margin:0 0 12px;padding:9px 11px;font-size:12px}.distribution-review-category h3{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;margin:14px 0 6px;font-size:11px}.distribution-review-category ul{gap:5px;margin:0;padding:0;list-style:none;display:grid}.distribution-finding{grid-template-columns:18px minmax(0,1fr);gap:6px;font-size:12px;display:grid}.distribution-finding .text-button{text-align:left;padding:0}.distribution-finding-symbol{text-align:center;font-weight:800}.distribution-finding.passed .distribution-finding-symbol{color:var(--success)}.distribution-finding.attention .distribution-finding-symbol{color:var(--warning-text)}.distribution-finding.incomplete .distribution-finding-symbol{color:var(--info-text)}.distribution-finding.info .distribution-finding-symbol{color:var(--text-subtle)}.distribution-setup{border-bottom:0;padding-top:0}.distribution-setup-presets{flex-wrap:wrap;gap:6px;display:flex}.distribution-setup .feedback{gap:6px;margin:0;display:grid}.distribution-setup .feedback p{margin:0}.distribution-inspector .inspector-form{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:12px}.distribution-inspector .inspector-fieldset>*{grid-column:1/-1}.distribution-inspector .inspector-fieldset>.inspector-half{grid-column:auto;grid-template-rows:1fr auto}.distribution-inspector .inspector-half :is(input,select){min-width:0}.distribution-setup-remove{border-top:1px solid var(--border);padding-top:12px}.distribution-protection-table td{vertical-align:top;white-space:normal}.distribution-protection-table select{border:1px solid var(--border);background:var(--surface-panel);font:inherit;border-radius:6px;padding:6px 8px}.distribution-protection-suggestion ul{color:var(--warning-text);margin:6px 0 0;padding-left:16px}@media (max-width:1180px){.distribution-layout{grid-template-columns:minmax(0,1fr)}.distribution-side{max-height:none;position:static}}.distribution-heading-actions{flex-wrap:wrap;gap:8px;display:flex}.board-print-portal{z-index:200;background:var(--surface-sunken);position:fixed;inset:0;overflow-y:auto}.board-print-toolbar{z-index:1;border-bottom:1px solid var(--border-strong);background:var(--surface-panel);align-items:center;gap:12px;padding:10px 24px;display:flex;position:sticky;top:0}.board-print-toolbar span{color:var(--text-muted);flex:1;font-size:12px}.board-print{box-sizing:border-box;background:var(--surface-panel);width:297mm;max-width:calc(100% - 32px);box-shadow:var(--shadow-3);color:var(--text);margin:24px auto;padding:12mm;font-size:10pt}.board-print-header{border-bottom:2px solid var(--border-selected);justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:8px;display:flex}.board-print-header h1{margin:2px 0 4px;font-size:18pt}.board-print-header p{color:var(--text);margin:0}.board-print-eyebrow{letter-spacing:.04em;text-transform:uppercase;font-size:9pt;font-weight:700}.board-print-date{white-space:nowrap}.board-print-section{margin-top:16px}.board-print-section h2{margin:0 0 6px;font-size:12pt}.board-print-section h3{margin:8px 0 2px;font-size:10pt}.board-print table{border-collapse:collapse;width:100%;font-size:9pt}.board-print th,.board-print td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:3px 6px}.board-print th{border-bottom:1px solid var(--border-strong);color:var(--text)}.board-print .number{text-align:right;white-space:nowrap}.board-print tr.warning td{color:var(--danger-text)}.board-print-note{color:var(--text-muted);margin:4px 0 0;font-size:8.5pt}.board-print-notice{border:1px solid var(--border-strong);border-radius:4px;margin:10px 0 0;padding:6px 8px;font-size:8.5pt}.board-print-findings ul{margin:0;padding:0;list-style:none}.board-print-findings li{padding:1px 0;font-size:9pt}.board-print-findings li.attention span{color:var(--danger-text);font-weight:700}.board-print-rails{gap:4mm;font-family:Arial,Helvetica,sans-serif;display:grid}.board-print-rail{break-inside:avoid;width:100%;height:auto;max-height:72mm;display:block}.board-print-rails text{text-anchor:middle}.board-print-rails .rail-number{fill:var(--text-muted);text-anchor:start;font-size:12px;font-weight:700}.board-print-rails .pole{fill:var(--surface-panel);font-size:8px;font-weight:700}.board-print-rails .reference{fill:var(--text);font-size:11px;font-weight:700}.board-print-rails .rating{fill:var(--text);font-size:8.5px}.board-print-rails .circuit{fill:var(--text-link);font-weight:700}.board-print-rails .bridge-label{text-anchor:start;font-size:9px;font-weight:700}.board-print-diagram{gap:6mm;display:grid}.board-print-diagram-page{break-inside:avoid;width:100%;height:auto;font-family:Arial,Helvetica,sans-serif;display:block}.board-print-diagram-page text{fill:var(--text);font-size:9px}.board-print-diagram-page .ruler{font-size:13px}.board-print-diagram-page .bus-label{font-size:10px}.board-print-diagram-page .xref{font-size:8px}.board-print-diagram-page .ref{font-size:10px;font-weight:700}.board-print-diagram-page .small{font-size:9px}.board-print-diagram-page .name{fill:var(--warning-text)}.board-print-diagram-page .tiny{font-size:6px}.board-print-diagram-page .terminal{font-size:9px}.board-print-diagram-page .circuit-label{font-size:11px}.board-print-diagram-page .circuit-rooms{font-size:9px}.board-print-diagram-page .title-label{font-size:7px;font-weight:700}.board-print-diagram-page .title-value{font-size:13px}.board-print-diagram-page .title-main{font-size:16px}@media print{@page{size:A4 landscape;margin:10mm}body>:not(.board-print-portal){display:none!important}.board-print-portal{background:var(--surface-panel);position:static;overflow:visible}.board-print-toolbar{display:none}.board-print{width:auto;max-width:none;box-shadow:none;-webkit-print-color-adjust:exact;print-color-adjust:exact;margin:0;padding:0}.board-print h2,.board-print h3{break-after:avoid}.board-print tr{break-inside:avoid}.board-print-diagram-page{break-before:page;max-height:186mm}.board-print-diagram-only .board-print-diagram-page:first-child{break-before:auto}.board-print-note,.board-print-notice{break-inside:avoid}}
