:root{--font-sans:"Manrope","Segoe UI",Arial,sans-serif;--font-mono:"IBM Plex Mono","Cascadia Mono",Consolas,monospace;--ink:var(--configured-ink,#17211d);--muted:var(--configured-muted,#68746e);--line:var(--configured-line,#d8ddd8);--paper:var(--configured-paper,#f6f5f0);--panel:var(--configured-panel,#ffffff);--deep:var(--configured-deep,#183d34);--accent:var(--configured-accent,#1678bd);--soft:var(--configured-soft,#edf3ef);--fit:var(--configured-fit,#197a50);--fit-soft:var(--configured-fit-soft,#e5f4ec);--verify:var(--configured-verify,#a86600);--verify-soft:var(--configured-verify-soft,#fff2d6);--fail:var(--configured-fail,#b73939);--fail-soft:var(--configured-fail-soft,#fde9e7);--toolbar-control-gap:12px;--primary-hover:var(--configured-primary-hover,#245b4d);--primary-action:var(--deep);--primary-action-text:#ffffff;--surface-muted:var(--configured-surface-muted,#f4f7f5);--surface-raised:var(--panel);--surface-subtle:var(--paper);--surface-accent:#eaf4ff;--ui-button-radius:var(--configured-ui-button-radius,7px);--ui-button-background:var(--configured-ui-button-background,#f7faf8);--ui-button-text:var(--configured-ui-button-text,#183d34);--ui-button-hoverBackground:var(--configured-ui-button-hoverBackground,#edf3ef);--ui-button-activeBackground:var(--configured-ui-button-activeBackground,#183d34);--ui-button-activeText:var(--configured-ui-button-activeText,#ffffff);--ui-window-radius:var(--configured-ui-window-radius,12px);--ui-window-headerBackground:var(--configured-ui-window-headerBackground,#f4f7f5);--ui-window-shadow:var(--configured-ui-window-shadow,0 14px 34px rgba(20,39,31,.2));--ui-window-backdrop:var(--configured-ui-window-backdrop,rgba(18,29,25,.48));--focus-ring:#1678bd;--radius-control:7px;--radius-panel:12px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--control-height-compact:32px;--control-height-normal:40px;--control-height-prominent:48px}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--paper);color:var(--ink);font-family:var(--font-sans),sans-serif}.planner-workspace{height:100dvh;width:100%;display:flex;flex-direction:column;overflow:hidden;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.planner-workspace .topbar{flex:0 0 68px}.planner-workspace .analysis-workspace,.planner-workspace .environment-screen{flex:1 1;height:auto;min-height:0}.planner-workspace .brand{color:inherit;text-decoration:none}.local-save-status{position:absolute;z-index:2050;top:calc(51px + env(safe-area-inset-top));left:28px;font-size:calc((10px) * var(--density-font-scale, 1));max-width:80vw;background:white}.settings-dialog.local-assets{width:min(980px,96vw);max-height:min(82dvh,780px);display:flex;flex-direction:column;overflow:hidden;padding:0}.project-error{position:fixed;z-index:3000;top:80px;left:12px;right:12px;padding:14px;background:#fff1f1;color:#8b2020;border:1px solid #e6aaaa;border-radius:8px}.local-assets>.local-assets-header{flex:none;align-items:center;gap:18px;padding:17px 22px;border-bottom:1px solid var(--line);background:linear-gradient(#f8fbf9,#eef4f0)}.local-assets-header h2{margin:4px 0 0;color:var(--deep);font-size:calc((20px) * var(--density-font-scale, 1));letter-spacing:-.025em}.local-assets-content{min-height:0;display:grid;gap:14px;overflow-y:auto;padding:18px 22px 22px}.local-assets-intro{margin:0;color:var(--muted);font-size:calc((12px) * var(--density-font-scale, 1));line-height:1.55}.local-asset-actions{display:flex;align-items:center;gap:9px}.custom-asset-primary,.custom-asset-tabs button,.local-asset-remove,.local-asset-secondary{min-height:38px;padding:8px 13px;border:1px solid var(--line);border-radius:8px;background:#f7faf8;color:var(--deep);font:650 calc(12px * var(--density-font-scale, 1)) var(--font-sans);cursor:pointer}.custom-asset-tabs button:hover,.local-asset-remove:hover,.local-asset-secondary:hover{background:#eaf1ed}.local-asset-classification{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:13px;border:1px solid var(--line);border-radius:10px;background:#f8faf9}.local-assets .local-asset-classification label,.local-assets .local-asset-placement-fields label{min-width:0;display:grid;gap:6px;margin:0;color:var(--muted);font:650 calc(12px * var(--density-font-scale, 1)) var(--font-sans)}.custom-asset-field input,.custom-asset-field select,.local-assets .local-asset-classification input,.local-assets .local-asset-classification select,.local-assets .local-asset-placement-fields input{width:100%;min-height:40px;padding:8px 11px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink);font:500 calc(13px * var(--density-font-scale, 1)) var(--font-sans)}.local-asset-status,.local-asset-taxonomy-note{margin:0;color:var(--muted);font-size:calc((11px) * var(--density-font-scale, 1));line-height:1.45}.custom-asset-file,.local-assets .local-asset-file{min-width:0;display:grid;gap:6px;margin:0;color:var(--muted);font:650 calc(12px * var(--density-font-scale, 1)) var(--font-sans)}.custom-asset-file input,.local-assets .local-asset-file input{width:100%;min-height:40px;padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink);font:500 calc(12px * var(--density-font-scale, 1)) var(--font-sans)}.custom-asset-file input::file-selector-button,.local-assets .local-asset-file input::file-selector-button{margin-right:10px;padding:5px 9px;border:1px solid var(--line);border-radius:6px;background:var(--surface-muted);color:var(--deep);font:650 calc(12px * var(--density-font-scale, 1)) var(--font-sans);cursor:pointer}.local-asset-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}.local-asset-card{display:grid;align-content:start;gap:10px;padding:13px;border:1px solid var(--line);border-radius:10px;background:white}.local-asset-card-heading{min-width:0;display:flex;justify-content:space-between;align-items:start;gap:10px}.local-asset-card-heading>div{min-width:0;display:grid;gap:5px}.local-asset-card-heading span{color:var(--muted);font:650 calc(10px * var(--density-font-scale, 1)) var(--font-mono)}.local-asset-card-heading strong{overflow-wrap:anywhere;color:var(--deep);font-size:calc((13px) * var(--density-font-scale, 1))}.local-asset-card-heading code{flex:none;color:var(--ink);font:600 calc(10px * var(--density-font-scale, 1)) var(--font-mono)}.local-asset-card>p{margin:0;color:var(--muted);font-size:calc((11px) * var(--density-font-scale, 1));line-height:1.4}.local-asset-secondary{justify-self:start}.local-asset-empty{display:grid;justify-items:center;gap:5px;padding:24px 16px;border:1px dashed #cbd6cf;border-radius:10px;background:#fafcfb;text-align:center}.local-asset-empty strong{color:var(--deep);font-size:calc((13px) * var(--density-font-scale, 1))}.local-asset-empty span{color:var(--muted);font-size:calc((11px) * var(--density-font-scale, 1))}.local-asset-placements{display:grid;gap:10px;padding-top:14px;border-top:1px solid var(--line)}.local-asset-placements h3{margin:0;color:var(--deep);font-size:calc((13px) * var(--density-font-scale, 1))}.local-asset-placements fieldset{min-width:0;margin:0;padding:12px;border:1px solid var(--line);border-radius:9px}.local-asset-placements legend{padding:0 5px;color:var(--deep);font-size:calc((11px) * var(--density-font-scale, 1));font-weight:700}.local-asset-placement-fields{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;gap:8px}.local-asset-remove{border-color:#eed0cd;background:#fff5f4;color:#a43a35}.custom-asset-content{display:grid;gap:12px}.custom-asset-tabs{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:0;padding:5px;border:1px solid var(--line);border-radius:10px;background:#f7f9f7}.custom-asset-tabs button{min-height:40px}.custom-asset-tabs button.active{border-color:var(--deep);background:var(--deep);color:white}.custom-asset-import-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-bottom:10px}.custom-asset-panel h3{margin:8px 0 5px;font-size:calc((15px) * var(--density-font-scale, 1))}.custom-asset-panel>p{margin:6px 0 12px;color:var(--muted);font-size:calc((13px) * var(--density-font-scale, 1));line-height:1.5}.custom-asset-field{min-width:0;display:grid;gap:6px;margin:0;color:var(--muted);font:650 calc(12px * var(--density-font-scale, 1)) var(--font-sans)}.custom-asset-photo-row select{width:100%;min-height:34px;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink);font:500 calc(12px * var(--density-font-scale, 1)) var(--font-sans)}.custom-asset-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.custom-asset-form-grid .span-all-columns,.custom-asset-import-fields .span-all-columns{grid-column:1/-1}.custom-asset-photos{display:grid;gap:6px;margin:10px 0}.custom-asset-photo-row{display:grid;grid-template-columns:minmax(0,1fr) 125px;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fafcfb;color:var(--ink);font-size:calc((12px) * var(--density-font-scale, 1));overflow-wrap:anywhere}.custom-asset-photo-row small{color:var(--muted)}.custom-asset-photo-row label{display:flex;flex-direction:column;gap:3px;margin:0;color:var(--muted);font:600 calc(11px * var(--density-font-scale, 1)) var(--font-sans)}.custom-asset-photo-row select{min-height:32px;padding:5px 7px}.custom-asset-panel>.custom-asset-dimension-note{padding:9px 10px;border-left:3px solid var(--verify);border-radius:0 7px 7px 0;background:var(--verify-soft);color:#674915}.custom-asset-panel>.custom-asset-privacy-note{font-size:calc((12px) * var(--density-font-scale, 1))}.custom-asset-allowance,.custom-asset-error,.custom-asset-gate,.custom-asset-success{padding:9px 10px;border-radius:8px;font-size:calc((12px) * var(--density-font-scale, 1));line-height:1.45}.custom-asset-error,.custom-asset-gate{border:1px solid #edc5c0;background:var(--fail-soft);color:#8b302d}.custom-asset-allowance,.custom-asset-success{border:1px solid #c7e0d1;background:var(--fit-soft);color:#245b42}.custom-asset-primary{width:100%;min-height:42px;border-color:var(--deep);background:var(--deep);color:white}.custom-asset-primary:hover:not(:disabled){background:var(--primary-hover)}.custom-asset-primary:disabled{cursor:not-allowed;opacity:.55}.custom-asset-job{margin:14px 0;padding:12px;border:1px solid var(--line);border-radius:10px;background:#f8faf9}.custom-asset-job-heading{display:flex;justify-content:space-between;gap:10px;font-size:calc((12px) * var(--density-font-scale, 1))}.custom-asset-job-heading span{color:var(--muted);text-transform:capitalize}.custom-asset-job progress{width:100%;height:8px;margin-top:10px;accent-color:var(--deep)}.custom-asset-job>p{margin:8px 0;color:var(--muted);line-height:1.5}.custom-asset-confirm,.custom-asset-job>p{font-size:calc((12px) * var(--density-font-scale, 1))}.custom-asset-confirm{display:flex;align-items:flex-start;gap:8px;margin:10px 0 12px;color:var(--ink);line-height:1.4}.custom-asset-confirm input{flex:none;accent-color:var(--deep)}.local-assets :is(button,input,select):focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}@media(max-width:520px){.settings-dialog.local-assets{width:min(96vw,760px);max-height:90dvh}.local-assets>.local-assets-header{align-items:center;flex-direction:row;padding:14px 16px}.local-asset-actions{width:auto;justify-content:flex-end}.local-assets-content{padding:14px 16px 18px}.custom-asset-import-fields,.local-asset-classification{grid-template-columns:1fr}.local-asset-placement-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.custom-asset-form-grid{grid-template-columns:1fr}.custom-asset-form-grid .span-all-columns,.custom-asset-import-fields .span-all-columns{grid-column:auto}.custom-asset-photo-row{grid-template-columns:minmax(0,1fr) 100px}.local-asset-actions{gap:4px}}@media(max-width:600px){.planner-workspace .topbar{padding:0 8px}.planner-workspace .brand span{display:none}.planner-workspace .app-identity{gap:4px}.planner-workspace .software-menu-item>button{padding:7px 5px}.local-save-status{left:8px}}button{font:inherit}.topbar{position:sticky;top:0;z-index:2000;height:68px;display:grid;grid-template-columns:1fr auto;align-items:center;padding:0 28px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.96)}.app-identity{min-width:0;gap:18px}.app-identity,.brand{display:flex;align-items:center}.brand{gap:10px;font-weight:750;letter-spacing:-.02em}.brand-mark{width:34px;height:34px;flex:none;display:block;border-radius:9px;object-fit:cover}.project-meta{text-align:center;display:grid;gap:2px}.eyebrow,.project-meta span{font:600 calc(10px * var(--density-font-scale, 1))/1.2 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.project-meta strong{font-size:calc((13px) * var(--density-font-scale, 1))}.truth-badge{justify-self:end;display:flex;align-items:center;gap:8px;font:500 calc(11px * var(--density-font-scale, 1)) var(--font-mono);color:var(--deep)}.truth-dot{width:8px;height:8px;border-radius:99px;background:var(--fit);box-shadow:0 0 0 4px var(--fit-soft)}.software-menu{align-self:stretch;display:flex;align-items:center;gap:1px}.software-menu-item{position:relative}.software-menu-item>button{border:0;border-radius:5px;padding:7px 9px;background:transparent;color:#3f4c46;font:550 calc(10px * var(--density-font-scale, 1)) var(--font-mono);cursor:pointer}.software-menu-item>button.active,.software-menu-item>button:hover{background:#edf1ee;color:var(--deep)}.software-dropdown{position:absolute;z-index:30;top:calc(100% + 7px);left:0;width:225px;padding:5px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.98);box-shadow:0 14px 35px rgba(24,40,33,.18)}.software-dropdown button{width:100%;display:flex;justify-content:space-between;gap:15px;padding:8px 9px;border:0;border-radius:5px;background:transparent;color:var(--ink);text-align:left;font:550 calc(9px * var(--density-font-scale, 1)) var(--font-mono);cursor:pointer}.software-dropdown button:hover:not(:disabled){background:#edf3ef}.software-dropdown button:disabled{color:#89928e;cursor:default}.software-dropdown kbd{color:var(--muted);font:500 calc(8px * var(--density-font-scale, 1)) var(--font-mono)}.software-unit-setting{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 9px;border-radius:5px;color:var(--ink);font:550 calc(9px * var(--density-font-scale, 1)) var(--font-mono)}.software-unit-setting:focus-within,.software-unit-setting:hover{background:#edf3ef}.software-unit-setting select{min-width:62px;padding:4px 6px;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--ink);font:550 calc(9px * var(--density-font-scale, 1)) var(--font-mono)}.software-dropdown p{margin:5px;color:var(--fail);font-size:calc((9px) * var(--density-font-scale, 1));line-height:1.4}.modal-backdrop{position:fixed;z-index:50;inset:0;display:grid;place-items:center;padding:24px;background:rgba(18,29,25,.48);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.catalogue-backdrop{z-index:2100}.modal-close{width:34px;height:34px;flex:none;border:1px solid var(--line);border-radius:7px;background:white;color:var(--muted);font-size:calc((20px) * var(--density-font-scale, 1));cursor:pointer}.popup-backdrop{position:fixed;z-index:2200;inset:0;display:grid;place-items:center;padding:24px;background:rgba(18,29,25,.48);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.popup{width:min(420px,calc(100vw - 32px));overflow:hidden;border:1px solid rgba(176,188,181,.96);border-radius:10px;background:rgba(255,255,255,.98);box-shadow:0 14px 34px rgba(20,39,31,.2);color:var(--ink);font:500 calc(9px * var(--density-font-scale, 1))/1.4 var(--font-mono)}.popup-titlebar{min-height:31px;display:grid;grid-template-columns:28px 1fr;align-items:center;gap:4px;padding:3px 5px;border-bottom:1px solid var(--line);background:linear-gradient(#f9fbf9,#eef3ef);color:var(--deep)}.popup-titlebar>strong{overflow:hidden;font:750 calc(11px * var(--density-font-scale, 1)) var(--font-mono);letter-spacing:.035em;text-overflow:ellipsis;white-space:nowrap}.popup-drag{display:inline-grid;place-items:center;width:27px;height:25px;color:var(--muted)}.popup-content{padding:16px}.popup-content p{margin:0;color:var(--ink);font:550 calc(10px * var(--density-font-scale, 1))/1.55 var(--font-mono)}.save-view-format{min-width:0}.export-attribution-toggle,.save-view-attribution{display:flex;align-items:flex-start;gap:8px;margin:0;color:var(--ink);font:550 calc(9px * var(--density-font-scale, 1))/1.35 var(--font-mono);cursor:pointer}.save-view-attribution{min-height:32px;align-items:center;padding-block:8px}.export-attribution-toggle input,.save-view-attribution input{width:14px;height:14px;min-width:14px;min-height:14px;margin:0;accent-color:var(--deep)}.popup-actions{display:flex;justify-content:flex-end;gap:8px;padding:10px;border-top:1px solid var(--line);background:#fbfcfa}.popup-actions button{min-width:84px;min-height:30px;padding:7px 12px;border:1px solid var(--line);border-radius:7px;background:white;color:var(--ink);font:650 calc(9px * var(--density-font-scale, 1)) var(--font-mono);cursor:pointer}.popup-actions button:focus-visible,.popup-actions button:hover{border-color:var(--deep);outline:none}.popup-actions button.primary{border-color:var(--deep);background:var(--deep);color:white}.popup-actions button.primary:focus-visible,.popup-actions button.primary:hover{background:#245b4d}.save-as-backdrop{z-index:80}.save-as-dialog{width:min(470px,94vw);padding:21px;border:1px solid #b9c6bf;border-radius:14px;background:white;box-shadow:0 28px 80px rgba(12,24,19,.3)}.save-as-dialog header{display:flex;justify-content:space-between;align-items:start}.save-as-dialog h2{margin:5px 0 0;font-size:calc((23px) * var(--density-font-scale, 1))}.save-as-dialog>label{display:grid;gap:7px;margin-top:20px;color:var(--muted);font:650 calc(9px * var(--density-font-scale, 1)) var(--font-mono)}.save-as-dialog>label>div{display:grid;grid-template-columns:1fr auto;align-items:center;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#fbfcfa}.save-as-dialog input{min-width:0;padding:11px;border:0;outline:0;background:transparent;color:var(--ink);font:550 calc(12px * var(--density-font-scale, 1)) var(--font-mono)}.save-as-dialog label strong{align-self:stretch;display:grid;place-items:center;padding:0 11px;border-left:1px solid var(--line);background:#eef2ef;color:var(--deep)}.save-as-dialog label small{font:500 calc(9px * var(--density-font-scale, 1)) var(--font-sans)}.save-as-dialog footer{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.save-as-dialog footer button{min-width:105px;padding:9px 12px;border:1px solid var(--line);border-radius:7px;background:white;color:var(--ink);font:650 calc(9px * var(--density-font-scale, 1)) var(--font-mono);cursor:pointer}.save-as-dialog footer .primary{border-color:var(--deep);background:var(--deep);color:white}.catalogue-modal{position:relative;width:min(1180px,96vw);height:min(780px,92vh);display:flex;flex-direction:column;overflow:hidden;border:1px solid #bcc8c2;border-radius:15px;background:#f7f8f5;box-shadow:0 28px 80px rgba(12,24,19,.28)}.catalogue-header{flex:0 0 auto;display:flex;justify-content:space-between;gap:20px;padding:21px 23px 16px;border-bottom:1px solid var(--line);background:white}.catalogue-header h2{margin:5px 0 3px;font-size:calc((23px) * var(--density-font-scale, 1));letter-spacing:-.03em}.catalogue-header p{margin:0;color:var(--muted);font-size:calc((11px) * var(--density-font-scale, 1))}.catalogue-toolbar{flex:0 0 auto;display:flex;align-items:end;justify-content:space-between;gap:15px;padding:12px 16px;border-bottom:1px solid var(--line);background:#fafbf9}.catalogue-toolbar label{flex:1 1;max-width:520px;display:grid;gap:5px;color:var(--muted);font:600 calc(8px * var(--density-font-scale, 1)) var(--font-mono);text-transform:uppercase;letter-spacing:.06em}.catalogue-toolbar input{width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:7px;background:white;color:var(--ink);font:500 calc(10px * var(--density-font-scale, 1)) var(--font-mono)}.catalogue-toolbar>button{min-height:35px;padding:8px 12px;border:1px solid var(--deep);border-radius:7px;background:var(--deep);color:white;font:650 calc(9px * var(--density-font-scale, 1)) var(--font-mono);cursor:pointer}.catalogue-layout{min-height:0;flex:1 1 auto;display:grid;grid-template-columns:220px 1fr;overflow:hidden}.catalogue-categories{min-height:0;overflow-y:auto;padding:13px;border-right:1px solid var(--line);background:white}.catalogue-disclosure{color:var(--ink)!important;font-size:calc((10px) * var(--density-font-scale, 1))!important}.catalogue-branch{padding-left:8px;border-left:1px solid #dce5e0}.catalogue-branch.nested{margin:0 0 6px 9px;padding-left:9px}.catalogue-branch.nested button{padding-block:7px;font-size:calc((8px) * var(--density-font-scale, 1))}.catalogue-group-label{display:block;margin:11px 8px 5px;color:var(--muted);font:700 calc(8px * var(--density-font-scale, 1)) var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.catalogue-categories>.catalogue-group-label:first-child{margin-top:0}.catalogue-categories button{width:100%;display:flex;justify-content:space-between;gap:10px;margin-bottom:4px;padding:10px;border:0;border-radius:7px;background:transparent;color:var(--muted);text-align:left;font:600 calc(9px * var(--density-font-scale, 1)) var(--font-mono);cursor:pointer}.catalogue-categories button.active,.catalogue-categories button:hover{background:#e8f0ec;color:var(--deep)}.catalogue-categories small{min-width:22px;padding:2px 5px;border-radius:99px;background:rgba(24,61,52,.09);text-align:center;font-size:calc((8px) * var(--density-font-scale, 1))}.catalogue-results{min-width:0;overflow-y:auto;padding:16px}.catalogue-result-heading{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:11px}.catalogue-result-heading strong{font-size:calc((14px) * var(--density-font-scale, 1))}.catalogue-result-heading span{color:var(--muted);font:550 calc(8px * var(--density-font-scale, 1)) var(--font-mono)}.catalogue-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.catalogue-grid article{min-width:0;overflow:hidden}.catalogue-grid article,.catalogue-material-family{border:1px solid var(--line);border-radius:10px;background:white}.catalogue-material-family{grid-column:1/-1;padding:12px}.catalogue-material-family h3{margin:0 0 9px;font-size:calc((12px) * var(--density-font-scale, 1))}.catalogue-material-swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px 16px}.catalogue-material-swatches>button{min-width:0;display:grid;grid-template-columns:42px 1fr;align-items:center;gap:4px 9px;padding:0;border:0;background:transparent;color:var(--muted);text-align:left;font:550 calc(10px * var(--density-font-scale, 1)) var(--font-mono);cursor:pointer}.catalogue-material-swatches>.catalogue-material-entry{background:transparent;border:0;box-shadow:none}.catalogue-material-swatches>button:focus-visible,.catalogue-material-swatches>button:hover{color:var(--deep);outline:2px solid var(--deep);outline-offset:4px;border-radius:5px}.catalogue-material-swatches code{grid-column:2;color:var(--ink);font-size:calc((9px) * var(--density-font-scale, 1));-webkit-user-select:text;user-select:text}.catalogue-material-swatches span{width:42px;height:42px;border:1px solid rgba(0,0,0,.16);border-radius:6px;box-shadow:0 2px 5px rgba(21,34,28,.1)}.catalogue-material-swatches small{min-width:0;overflow:hidden;line-height:1.25;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.catalogue-material-text{min-width:0;align-self:center;display:grid;gap:3px;transform:translateY(-2px)}.catalogue-material-text code{grid-column:auto}.catalogue-material-swatches>.catalogue-pattern-swatch{grid-template-columns:1fr;gap:8px}.catalogue-material-swatches>.catalogue-pattern-swatch code{grid-column:1}.catalogue-pattern-swatch svg{max-width:220px;border:1px solid var(--line)}.catalogue-flooring-grid .catalogue-material-family{grid-column:auto}.catalogue-context-menu{z-index:2300}.catalogue-opening-family-toggle{font-weight:700!important;color:var(--deep)!important}.flooring-controls{display:grid;gap:10px}.flooring-dimension-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.flooring-dimension-fields>.field{min-width:0}.flooring-controls>small{color:var(--muted);line-height:1.5}.catalogue-object-preview{position:relative;height:75px;display:grid;place-items:end center;padding:12px;background:linear-gradient(145deg,#eef2ef,#e2e8e3)}.electrical-catalogue-preview{width:100%;height:180px;background:#eef1ed;overflow:hidden;border-radius:12px;pointer-events:none}.electrical-catalogue-preview .fixture-preview{width:100%;margin-top:0}.catalogue-object-preview[style*=background-image]{height:150px;background-position:50%;background-size:contain;background-repeat:no-repeat}.catalogue-object-preview[style*=background-image] span{display:none}.fixture-preview{position:relative;margin-top:var(--toolbar-control-gap);overflow:hidden}.stable-canvas-host{position:absolute;inset:0}.opening-preview{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:center;gap:10px;min-height:92px;margin-top:var(--toolbar-control-gap);padding:8px 10px;border-radius:10px;background:#eef1ed;color:var(--deep)}.opening-preview img,.opening-preview svg{width:76px;height:76px;object-fit:contain}.opening-preview span{min-width:0;overflow:hidden;font:650 calc(9px * var(--density-font-scale, 1))/1.35 var(--font-mono);text-overflow:ellipsis}.fixture-editor>.fixture-save{width:100%;margin-top:var(--toolbar-control-gap);padding:12px;border-radius:8px;background:var(--deep);color:white}.floating-toolbar .floating-toolbar-content .add-to-plan-mode{width:100%;height:38px;min-height:38px;box-sizing:border-box;margin-bottom:8px;padding:6px 12px;border:1px solid var(--line);border-radius:var(--radius-control);background:#f9faf8;color:var(--ink);font:700 calc(13px * var(--density-font-scale, 1))/1.2 var(--font-sans)}.add-to-plan-mode:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.electrical-catalogue-empty{margin:4px 0 8px;padding:12px;border:1px dashed #cbd6cf;border-radius:8px;background:#fafcfb;color:var(--muted);font-size:calc((12px) * var(--density-font-scale, 1));line-height:1.45;text-align:center}.electrical-layout-window{max-width:calc(100vw - 16px)}.electrical-layout-window .floating-toolbar-content{container-name:electrical-layout-window;container-type:inline-size}.full-plan-page.electrical-layout-open .full-plan-build-toolbar,.full-plan-page.electrical-layout-open:not(.electrical-add-elements-open) .floorplan-add-elements-toolbar{display:none}.electrical-schedule-window{width:min(980px,calc(100vw - 16px));max-width:calc(100vw - 16px)}.electrical-export-window{width:min(450px,calc(100vw - 16px));max-width:calc(100vw - 16px)}.electrical-layout-panel{display:grid;gap:9px;padding:10px}.floating-toolbar .electrical-layout-panel{padding:4px 10px 10px}.electrical-layout-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.electrical-layout-actions button{min-height:31px;padding:6px 8px;font-size:calc((10px) * var(--density-font-scale, 1))}.electrical-mode-toggle{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:8px;padding:10px;border:1px solid var(--line);border-radius:9px;background:#f4f8fb;color:var(--ink)}.electrical-mode-toggle input{margin:2px 0 0;accent-color:var(--deep)}.electrical-mode-toggle span{display:grid;gap:3px}.electrical-mode-toggle strong{font:700 calc(11px * var(--density-font-scale, 1)) var(--font-mono)}.electrical-layout-count,.electrical-layout-hint,.electrical-mode-toggle small{color:var(--muted);line-height:1.4}.electrical-circuit-controls,.electrical-layout-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;align-items:end}.electrical-layout-actions button{min-width:0}.electrical-layout-actions button[aria-pressed=true]{border-color:var(--deep);background:var(--deep);color:#fff}.electrical-connect-hint,.electrical-layout-count,.electrical-layout-empty,.electrical-layout-status{margin:0;font-size:calc((9px) * var(--density-font-scale, 1));line-height:1.45}.electrical-layout-status{padding:7px 8px;border-radius:7px;background:#eef4f8;color:var(--muted)}.electrical-demo-notice{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 8px;border:1px solid #ead8a8;border-radius:7px;background:#fff7e5;color:#705119;font-size:calc((9px) * var(--density-font-scale, 1));line-height:1.4}.electrical-demo-notice button{flex:0 0 auto;min-height:28px;padding:4px 8px;font-size:calc((9px) * var(--density-font-scale, 1))}.electrical-connect-hint{padding:7px 8px;border-radius:7px;background:#fff7e5;color:#705119}.electrical-layout-help,.electrical-layout-section{min-width:0;padding:8px;border:1px solid var(--line);border-radius:8px;background:#fbfcfb}.electrical-layout-help>summary,.electrical-layout-section>summary{cursor:pointer;color:var(--ink);font:700 calc(10px * var(--density-font-scale, 1)) var(--font-mono)}.electrical-layout-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:8px}.electrical-circuit-edit .field,.electrical-layout-grid .field{min-width:0}.electrical-circuit-edit input[type=color],.electrical-layout-grid input[type=color]{width:100%;min-height:30px;padding:3px}.electrical-orthogonal-toggle{display:flex;align-items:center;gap:7px;margin-top:8px;color:var(--ink);font-size:calc((9px) * var(--density-font-scale, 1));line-height:1.4}.electrical-orthogonal-toggle input{flex:0 0 auto;accent-color:var(--deep)}.electrical-layout-display{display:grid;gap:7px;margin-top:8px}.electrical-layout-display label{display:flex;align-items:center;gap:7px;color:var(--ink);font-size:calc((9px) * var(--density-font-scale, 1))}.electrical-layout-display input{accent-color:var(--deep)}.electrical-circuit-edit{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:8px;align-items:end}.electrical-circuit-edit .field{min-width:0}.electrical-circuit-edit-actions{display:grid;grid-column:1/-1;grid-template-columns:minmax(0,1fr);gap:7px}.electrical-circuit-edit-actions .electrical-new-circuit{margin-top:0}.electrical-connection-list{display:grid;gap:5px;max-height:125px;overflow:auto;margin:8px 0 0;padding:0;list-style:none}.electrical-circuit-list{max-height:145px}.electrical-circuit-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:4px}.electrical-circuit-row>.electrical-circuit-select{min-width:0;text-align:left}.electrical-circuit-row>.electrical-circuit-delete{min-width:48px}.electrical-circuit-connections{margin:8px 0 0 10px;border-color:#d8e3eb;background:#f4f8fb}.electrical-circuit-connections>summary{font-size:calc((9px) * var(--density-font-scale, 1))}.electrical-circuit-name{display:flex;align-items:center;gap:7px}.electrical-circuit-name i{width:11px;height:11px;flex:0 0 auto;border:1px solid rgba(8,28,56,.2);border-radius:50%}.electrical-new-circuit{width:100%;margin-top:8px}.electrical-connection-list button{display:grid;width:100%;gap:3px;padding:7px 8px;border:1px solid var(--line);border-radius:7px;background:white;color:var(--ink);text-align:left;cursor:pointer}.electrical-connection-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:stretch;gap:4px}.electrical-connection-list .electrical-connection-action{display:flex;width:auto;min-width:38px;min-height:34px;align-items:center;justify-content:center;padding:5px 8px;border-color:var(--line);background:#f6f9fb;color:var(--ink);font:700 calc(9px * var(--density-font-scale, 1)) var(--font-sans);text-align:center}.electrical-connection-list .electrical-connection-action:focus-visible,.electrical-connection-list .electrical-connection-action:hover{border-color:var(--blue);background:#eef5fc;outline:none}.electrical-connection-list .electrical-connection-action.delete{min-width:48px;border-color:#efc5c1;background:#fff4f2;color:#a43b33}.electrical-connection-list .electrical-connection-action.delete:focus-visible,.electrical-connection-list .electrical-connection-action.delete:hover{border-color:#d97b73;background:#fde9e6}.electrical-connection-list button.selected{border-color:var(--blue);background:#eef5fc}.electrical-connection-list button span{overflow-wrap:anywhere;font-size:calc((9px) * var(--density-font-scale, 1))}.electrical-connection-list button small{color:var(--muted);font-size:calc((8px) * var(--density-font-scale, 1))}.electrical-connection-properties{display:grid;gap:7px;margin-top:8px;padding-top:8px;border-top:1px solid var(--line)}.electrical-connection-endpoints{display:grid;gap:4px;margin:0;color:var(--muted);font-size:calc((9px) * var(--density-font-scale, 1));overflow-wrap:anywhere}.electrical-connection-endpoints strong{color:var(--ink)}.electrical-layout-hint{margin:0;font-size:calc((8px) * var(--density-font-scale, 1))}.electrical-layout-help p{margin:7px 0 0;color:var(--muted);font-size:calc((9px) * var(--density-font-scale, 1));line-height:1.45}.electrical-layout-help-content{display:grid;gap:7px;margin-top:8px;color:var(--muted);font-size:calc((10px) * var(--density-font-scale, 1));line-height:1.5}.electrical-layout-help-content p{margin:0}.electrical-layout-help-content strong{color:var(--ink)}.electrical-layout-help-note{padding:7px 8px;border-radius:7px;background:#fff7e5;color:#705119}.electrical-layout-active>.plan-grid{opacity:.2}.electrical-layout-active .electrical-architecture-layer{filter:grayscale(.48)}.electrical-layout-active .electrical-architecture-layer,.electrical-layout-active .electrical-architecture-layer *{pointer-events:none!important}.electrical-connection-preview{opacity:.8}.floorplan-fixture.electrical-fixture .electrical-fixture-hit-area{fill:transparent;stroke:none;stroke-dasharray:none;pointer-events:all;cursor:move}.floorplan-fixture.electrical-fixture .electrical-fixture-backplate{fill:#fff;fill-opacity:.97;stroke:#3987be;stroke-width:1.5;stroke-dasharray:none;vector-effect:non-scaling-stroke;pointer-events:none;filter:drop-shadow(0 1px 2px rgba(7,27,56,.28))}.electrical-fixture.is-connected .electrical-fixture-backplate{stroke:#168764;stroke-width:2}.electrical-fixture.is-active.selected .electrical-fixture-backplate{fill:#eaf5ff;stroke:#075dad;stroke-width:3;filter:drop-shadow(0 0 4px rgba(23,105,170,.55))}.electrical-fixture.is-active:focus-visible .electrical-fixture-backplate{stroke:#075dad;stroke-width:3}.electrical-route-waypoint{fill:white;stroke:#1769aa;stroke-width:2;vector-effect:non-scaling-stroke;cursor:move;pointer-events:all}.electrical-fixture:focus-visible{outline:none;filter:drop-shadow(0 0 3px #1769aa)}.electrical-circuit-label,.electrical-connection-label{fill:var(--ink);paint-order:stroke;stroke:white;stroke-width:4px;stroke-linejoin:round;font:700 calc(9px * var(--density-font-scale, 1)) var(--font-mono);pointer-events:none}.electrical-source-highlight{fill:#1f80d6;fill-opacity:.12;stroke:#1f80d6;stroke-width:2;stroke-dasharray:5 4;vector-effect:non-scaling-stroke;pointer-events:none}.electrical-schedule-panel{display:grid;gap:10px;min-width:0;padding:12px}.electrical-schedule-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:7px}.electrical-schedule-stats>div{display:grid;gap:3px;min-width:0;padding:8px 9px;border:1px solid var(--line);border-radius:8px;background:#f5f8fb}.electrical-schedule-stats small{color:var(--muted);font-size:calc((9px) * var(--density-font-scale, 1))}.electrical-schedule-stats strong{overflow-wrap:anywhere;color:var(--deep);font-size:calc((14px) * var(--density-font-scale, 1))}.electrical-schedule-disclaimer{margin:0;padding:7px 9px;border-left:3px solid #d5a23a;background:#fff8e9;color:#614a1c;font-size:calc((10px) * var(--density-font-scale, 1));line-height:1.45}.electrical-schedule-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:5px;border-radius:10px;background:#eff4f8}.electrical-schedule-tabs button{min-width:0;min-height:34px;padding:6px 8px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--ink);font:700 calc(10px * var(--density-font-scale, 1)) var(--font-sans)}.electrical-schedule-tabs button[aria-pressed=true]{border-color:var(--deep);background:var(--deep);color:white}.electrical-schedule-search{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:calc((10px) * var(--density-font-scale, 1))}.electrical-schedule-search input{flex:1 1;min-width:0}.electrical-schedule-filters{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:7px}.electrical-schedule-filters[aria-label="Connection filters and sorting"]{grid-template-columns:repeat(3,minmax(120px,1fr))}.electrical-schedule-filters label{display:grid;gap:4px;color:var(--muted);font-size:calc((9px) * var(--density-font-scale, 1))}.electrical-schedule-filters select{min-height:31px;padding:5px 7px;font-size:calc((10px) * var(--density-font-scale, 1))}.electrical-schedule-tab-content{display:grid;gap:9px;min-width:0}.electrical-schedule-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:calc((10px) * var(--density-font-scale, 1))}.electrical-schedule-toolbar p{margin:0}.electrical-schedule-toolbar>div{display:flex;flex-wrap:wrap;gap:5px}.electrical-schedule-toolbar button{min-height:30px;padding:5px 8px;font-size:calc((9px) * var(--density-font-scale, 1))}.electrical-schedule-breakdown{display:flex;flex-wrap:wrap;gap:8px 14px;color:var(--muted);font-size:calc((10px) * var(--density-font-scale, 1))}.electrical-schedule-circuits{display:grid;gap:8px;min-width:0}.electrical-schedule-circuit{min-width:0;border:1px solid var(--line);border-radius:9px;background:#fbfcfd}.electrical-schedule-circuit>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;cursor:pointer;color:var(--deep);font-size:calc((11px) * var(--density-font-scale, 1));font-weight:750}.electrical-schedule-circuit>summary>span{display:flex;align-items:center;gap:8px;min-width:0}.electrical-schedule-circuit>summary>small{color:var(--muted);font-size:calc((9px) * var(--density-font-scale, 1));font-weight:500;text-align:right}.electrical-schedule-circuit-content{display:grid;gap:10px;padding:0 10px 10px}.electrical-schedule-circuit-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.electrical-schedule-circuit-fields label{display:grid;gap:4px;color:var(--muted);font-size:calc((9px) * var(--density-font-scale, 1))}.electrical-schedule-circuit-fields input,.electrical-schedule-circuit-fields textarea{min-width:0;min-height:30px;padding:5px 7px;font-size:calc((10px) * var(--density-font-scale, 1))}.electrical-schedule-circuit-fields .wide{grid-column:1/-1}.electrical-circuit-connection-list{display:grid;gap:6px;min-width:0}.electrical-circuit-connection-list h3,.electrical-entry-photos h3{margin:0;color:var(--deep);font-size:calc((10px) * var(--density-font-scale, 1))}.electrical-schedule-connection{min-width:0;border:1px solid #dbe5ec;border-radius:7px;background:white}.electrical-schedule-connection>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 9px;cursor:pointer;color:var(--ink);font-size:calc((10px) * var(--density-font-scale, 1))}.electrical-schedule-connection>summary>span{min-width:0;overflow-wrap:anywhere}.electrical-schedule-connection>summary small{display:block;margin-top:3px;color:var(--muted);font-size:calc((9px) * var(--density-font-scale, 1));font-weight:450}.electrical-schedule-connection>summary>strong{flex:none;color:var(--deep);font-size:calc((9px) * var(--density-font-scale, 1))}.electrical-schedule-connection>.electrical-connection-segments{margin:0 8px 8px}.electrical-entry-photos{display:grid;gap:7px;min-width:0;padding:8px;border:1px solid var(--line);border-radius:7px;background:#f8fafc}.electrical-entry-photos>header{display:flex;align-items:center;justify-content:space-between;gap:8px}.electrical-entry-photos>header strong{color:var(--deep);font-size:calc((10px) * var(--density-font-scale, 1))}.electrical-entry-photos>p,.electrical-entry-photos>small{margin:0;color:var(--muted);font-size:calc((9px) * var(--density-font-scale, 1))}.electrical-project-documentation{border:1px solid var(--line);border-radius:8px;background:#f7fafc}.electrical-project-documentation>summary{padding:9px 10px;cursor:pointer;color:var(--deep);font-size:calc((10px) * var(--density-font-scale, 1));font-weight:750}.electrical-project-documentation-content{display:grid;gap:9px;padding:0 9px 9px}.electrical-schedule-empty{color:var(--muted);font-size:calc((10px) * var(--density-font-scale, 1))}.electrical-schedule-table-scroll{max-width:100%;max-height:min(48vh,510px);overflow:auto;border:1px solid var(--line);border-radius:8px}.electrical-schedule-table{width:100%;min-width:760px;border-collapse:collapse;font-size:calc((10px) * var(--density-font-scale, 1))}.electrical-schedule-table td,.electrical-schedule-table th{padding:7px 8px;border-bottom:1px solid #e5ebef;text-align:left;vertical-align:top}.electrical-schedule-table thead th{position:sticky;z-index:1;top:0;background:#edf4f9;color:var(--deep);font-weight:750}.electrical-schedule-table tbody th{color:var(--ink);font-weight:700}.electrical-schedule-table tbody th small,.electrical-schedule-table td small{display:block;margin-top:3px;color:var(--muted);font-size:calc((9px) * var(--density-font-scale, 1));font-weight:450}.electrical-schedule-table input,.electrical-schedule-table select,.electrical-schedule-table textarea{min-width:76px;max-width:170px;min-height:30px;padding:5px 7px;font-size:calc((10px) * var(--density-font-scale, 1))}.electrical-schedule-table input[type=number]{width:88px}.electrical-bom-table{min-width:890px}.electrical-connection-table{min-width:900px}.electrical-bom-detail>summary{color:var(--blue);cursor:pointer;font-weight:700}.electrical-bom-fields{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:7px;min-width:260px;padding:8px;border:1px solid var(--line);border-radius:7px;background:#fff}.electrical-bom-fields label,.electrical-connection-segments label{display:grid;gap:4px;color:var(--muted);font-size:calc((9px) * var(--density-font-scale, 1))}.electrical-bom-fields .wide{grid-column:1/-1}.electrical-inline-check{display:flex!important;align-items:center;gap:6px!important;color:var(--ink)!important}.electrical-inline-check input{min-width:0;min-height:0;accent-color:var(--deep)}.electrical-connection-segments{display:grid;gap:6px;min-width:230px;padding:8px;border:1px solid var(--line);border-radius:7px;background:#fff}.electrical-connection-segments>div{display:flex;justify-content:space-between;gap:10px;font-size:calc((9px) * var(--density-font-scale, 1))}.electrical-connection-segments p{margin:0;color:var(--muted);font-size:calc((9px) * var(--density-font-scale, 1))}.electrical-manual-row{background:#fffdf7}.electrical-manual-bom-add{display:grid;grid-template-columns:minmax(155px,1fr) minmax(160px,2fr) 90px auto;align-items:center;gap:7px;padding:9px;border:1px dashed var(--line);border-radius:8px}.electrical-manual-bom-add strong{color:var(--deep);font-size:calc((10px) * var(--density-font-scale, 1))}.electrical-manual-bom-add input{min-width:0;min-height:32px;padding:6px 8px}.electrical-manual-bom-add button{min-height:32px;padding:5px 9px}.electrical-circuit-colour{display:inline-block;width:24px;height:14px;border:1px solid #8292a1;border-radius:3px}.electrical-notes-content>.field textarea{min-height:90px}.electrical-export-metadata{min-width:0;margin:0;padding:10px;border:1px solid var(--line);border-radius:8px}.electrical-export-metadata legend{padding:0 5px;color:var(--deep);font-size:calc((10px) * var(--density-font-scale, 1));font-weight:750}.electrical-export-metadata>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.electrical-export-metadata label,.electrical-photo-fields label{display:grid;gap:4px;color:var(--muted);font-size:calc((9px) * var(--density-font-scale, 1))}.electrical-export-metadata .wide{grid-column:1/-1}.electrical-photos{display:grid;gap:8px}.electrical-photos>header{display:flex;justify-content:space-between;align-items:center;gap:8px}.electrical-photos>header>div{display:grid;gap:3px}.electrical-photos>header strong{color:var(--deep);font-size:calc((11px) * var(--density-font-scale, 1))}.electrical-photos>header small,.electrical-photos>p{color:var(--muted);font-size:calc((9px) * var(--density-font-scale, 1))}.electrical-photo-upload{position:relative;display:inline-grid;place-items:center;min-height:32px;padding:6px 10px;cursor:pointer}.electrical-photo-upload input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.electrical-photo-card{display:grid;grid-template-columns:minmax(100px,180px) minmax(0,1fr);gap:10px;padding:9px;border:1px solid var(--line);border-radius:8px;background:#f7fafc}.electrical-photo-card>img{width:100%;max-height:150px;object-fit:contain;border-radius:5px;background:#fff}.electrical-photo-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:7px}.electrical-photo-fields label:nth-child(3),.electrical-photo-fields label:nth-child(4){grid-column:1/-1}.electrical-photo-fields button{justify-self:start;min-height:29px;padding:5px 8px}.electrical-schedule-window .electrical-schedule-panel :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),select){min-height:36px}.electrical-schedule-window .electrical-schedule-panel :is(.electrical-schedule-circuit-fields,.electrical-schedule-table) textarea{min-height:36px}.electrical-export-window-content{display:grid;gap:10px;padding:12px}.electrical-export-window-content>p{margin:0;color:var(--muted);font-size:calc((10px) * var(--density-font-scale, 1));line-height:1.45}.electrical-export-options-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.electrical-export-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:10px;border:1px solid var(--line);border-radius:8px}.electrical-export-checks legend{padding:0 5px;color:var(--deep);font-size:calc((10px) * var(--density-font-scale, 1));font-weight:750}.electrical-export-checks label{display:flex;align-items:center;gap:6px;color:var(--ink);font-size:calc((10px) * var(--density-font-scale, 1))}.electrical-export-checks input{accent-color:var(--deep)}.electrical-export-summary{padding:8px;border-radius:7px;background:#f1f6fa;color:var(--ink)!important}.electrical-export-submit{min-height:38px}.electrical-import-backdrop{position:fixed;z-index:10000;inset:0;display:grid;place-items:center;padding:16px;background:rgba(7,21,42,.48)}.electrical-import-dialog{width:min(480px,100%);max-height:min(90vh,720px);overflow:auto;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 20px 70px rgba(8,28,56,.25);color:var(--ink)}.electrical-import-dialog>header{padding:18px 20px 14px;border-bottom:1px solid var(--line);background:#eaf4ff}.electrical-import-dialog>header small{color:var(--muted);font-size:calc((9px) * var(--density-font-scale, 1));font-weight:750;letter-spacing:.12em}.electrical-import-dialog>header h2{margin:5px 0 0;color:var(--deep);font-size:calc((20px) * var(--density-font-scale, 1))}.electrical-import-content{display:grid;gap:10px;padding:16px 20px;font-size:calc((11px) * var(--density-font-scale, 1));line-height:1.45}.electrical-import-content p{margin:0}.electrical-import-counts{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.electrical-import-counts span{display:grid;gap:4px;padding:8px;border:1px solid var(--line);border-radius:7px;color:var(--muted)}.electrical-import-counts strong{color:var(--deep);font-size:calc((16px) * var(--density-font-scale, 1))}.electrical-import-warning{padding:10px;border-radius:7px;background:#fff7e7;color:#664a16}.electrical-import-dialog>footer{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:7px;padding:12px 20px 16px;border-top:1px solid var(--line)}.electrical-import-dialog>footer button{min-height:34px;padding:6px 10px;font-size:calc((10px) * var(--density-font-scale, 1))}@container electrical-layout-window (min-width: 600px){.electrical-circuit-edit,.electrical-layout-actions,.electrical-layout-display,.electrical-layout-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.electrical-circuit-edit>.field:first-child{grid-column:span 2}.electrical-circuit-edit-actions{grid-template-columns:minmax(0,1fr)}.electrical-circuit-edit-actions .electrical-new-circuit{grid-column:1/-1;white-space:nowrap}}@media (max-width:480px){.electrical-layout-panel{padding:7px}.floating-toolbar .electrical-layout-panel{padding:4px 7px 7px}.electrical-layout-actions,.electrical-layout-grid{gap:5px}.electrical-schedule-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.electrical-schedule-toolbar{align-items:flex-start;flex-direction:column}.electrical-schedule-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.electrical-schedule-circuit>summary{align-items:flex-start;flex-direction:column}.electrical-schedule-circuit>summary>small{text-align:left}.electrical-schedule-circuit-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.electrical-schedule-connection>summary{align-items:flex-start}.electrical-schedule-connection>summary>strong{text-align:right}.electrical-manual-bom-add{grid-template-columns:1fr 90px}.electrical-manual-bom-add input:first-of-type,.electrical-manual-bom-add strong{grid-column:1/-1}.electrical-export-checks,.electrical-export-options-grid,.electrical-photo-card{grid-template-columns:1fr}.electrical-photo-card>img{max-height:180px}}.catalogue-plan-link{font:calc(11px * var(--density-font-scale, 1)) var(--font-mono);color:var(--deep)}.catalogue-object-preview.ellipse span{border-radius:50%}.catalogue-object-preview span{width:54%;height:42px;display:block;border-radius:5px 5px 2px 2px;background:var(--object-colour);box-shadow:inset 0 -8px 0 rgba(0,0,0,.08),0 8px 16px rgba(21,34,28,.16)}.catalogue-object-preview b{position:absolute;top:7px;right:7px;padding:3px 5px;border-radius:4px;background:var(--deep);color:white;font:700 calc(7px * var(--density-font-scale, 1)) var(--font-mono)}.catalogue-object-body{padding:11px}.catalogue-category-label{color:var(--deep);font:700 calc(7px * var(--density-font-scale, 1)) var(--font-mono);text-transform:uppercase;letter-spacing:.08em}.catalogue-default-badge{float:right;padding:3px 5px;border:1px solid #bdcfc6;border-radius:99px;background:#edf5f1;color:var(--deep);font:700 calc(6px * var(--density-font-scale, 1)) var(--font-mono);text-transform:uppercase}.catalogue-object-body h3{margin:5px 0 4px;font-size:calc((12px) * var(--density-font-scale, 1))}.catalogue-object-body h3,.catalogue-object-body p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.catalogue-object-body p{margin:0 0 6px;color:var(--muted);font-size:calc((9px) * var(--density-font-scale, 1))}.catalogue-object-body code{color:#4f5e57;font:550 calc(8px * var(--density-font-scale, 1)) var(--font-mono)}.catalogue-card-actions{display:grid;grid-template-columns:1fr 1.2fr;gap:5px;margin-top:10px}.catalogue-card-actions button,.catalogue-form-actions button{min-height:31px;border:1px solid var(--line);border-radius:6px;background:white;color:var(--ink);font:650 calc(8px * var(--density-font-scale, 1)) var(--font-mono);cursor:pointer}.catalogue-card-actions .catalogue-insert,.catalogue-form-actions .catalogue-insert{border-color:var(--deep);background:var(--deep);color:white}.catalogue-empty{padding:50px;color:var(--muted);text-align:center;font-size:calc((12px) * var(--density-font-scale, 1))}.catalogue-error{position:absolute;right:18px;bottom:14px;margin:0;padding:8px 10px;border-radius:6px;background:var(--fail-soft);color:var(--fail);font-size:calc((9px) * var(--density-font-scale, 1))}.catalogue-form-backdrop{position:absolute;z-index:3;inset:0;display:grid;place-items:center;padding:20px;background:rgba(23,36,30,.42)}.catalogue-form{width:min(620px,94%);max-height:94%;overflow-y:auto;padding:18px;border:1px solid var(--line);border-radius:12px;background:white;box-shadow:0 20px 55px rgba(15,30,23,.25)}.catalogue-form-heading{display:flex;justify-content:space-between;align-items:start;margin-bottom:13px}.catalogue-form-heading h3{margin:4px 0 0;font-size:calc((18px) * var(--density-font-scale, 1))}.catalogue-form-heading button{border:0;background:transparent;color:var(--muted);font-size:calc((19px) * var(--density-font-scale, 1));cursor:pointer}.catalogue-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.catalogue-form-grid .span-two{grid-column:1/-1}.catalogue-form-grid textarea{min-height:70px}.catalogue-form-grid input[type=color]{height:37px;padding:4px}.stl-import-field>div{display:flex;align-items:center;gap:8px;padding:8px;border:1px solid var(--line);border-radius:7px;background:#f8faf8}.stl-import-field button{padding:7px 9px;border:1px solid var(--deep);border-radius:6px;background:white;color:var(--deep);font:650 calc(8px * var(--density-font-scale, 1)) var(--font-mono);cursor:pointer}.stl-import-field strong{min-width:0;flex:1 1;overflow:hidden;color:var(--ink);font:550 calc(9px * var(--density-font-scale, 1)) var(--font-mono);text-overflow:ellipsis;white-space:nowrap}.stl-import-field .remove-stl{border-color:#e2c0bc;color:var(--fail)}.stl-import-field>small{color:var(--muted);font:500 calc(8px * var(--density-font-scale, 1)) var(--font-sans)}.catalogue-form-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:13px}.catalogue-form-actions button{min-width:110px}.catalogue-form-actions .catalogue-archive{margin-right:auto;border-color:#e2c0bc;background:var(--fail-soft);color:var(--fail)}.catalogue-grid article[role=button]{cursor:pointer}.catalogue-grid article[role=button]:focus-visible,.catalogue-grid article[role=button]:hover{border-color:var(--deep);outline:2px solid rgba(24,61,52,.18);outline-offset:2px}.catalogue-detail-backdrop{z-index:4}.catalogue-detail-dialog{width:min(720px,94%);max-height:94%;overflow-y:auto;padding:18px;border:1px solid var(--line);border-radius:12px;background:white;box-shadow:0 20px 55px rgba(15,30,23,.25)}.catalogue-detail-dialog .catalogue-form-heading p{margin:4px 0 0;color:var(--muted);font-size:calc((10px) * var(--density-font-scale, 1))}.catalogue-detail-hero{display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;gap:14px;margin-bottom:14px;padding:10px;border:1px solid var(--line);border-radius:9px;background:#f7f9f7}.catalogue-detail-hero>div:last-child{min-width:0}.catalogue-detail-hero strong{color:var(--deep);font:700 calc(9px * var(--density-font-scale, 1)) var(--font-mono);text-transform:uppercase;letter-spacing:.06em}.catalogue-detail-hero p{margin:6px 0 0;color:var(--muted);font-size:calc((10px) * var(--density-font-scale, 1));line-height:1.45}.catalogue-detail-preview{position:relative;height:120px;display:grid;place-items:end center;overflow:hidden;border-radius:7px;background:linear-gradient(145deg,#eef2ef,#e2e8e3);background-position:50%;background-size:contain;background-repeat:no-repeat}.catalogue-detail-preview span{width:54%;height:58px;border-radius:6px 6px 2px 2px;background:var(--object-colour);box-shadow:inset 0 -10px 0 rgba(0,0,0,.08),0 8px 16px rgba(21,34,28,.16)}.catalogue-detail-preview.ellipse span{border-radius:50%}.catalogue-detail-preview b{position:absolute;top:7px;right:7px;padding:3px 5px;border-radius:4px;background:var(--deep);color:white;font:700 calc(7px * var(--density-font-scale, 1)) var(--font-mono)}.catalogue-detail-material-preview{height:120px;display:grid;place-items:center;overflow:hidden;border-radius:7px;background:#eef2ef}.catalogue-detail-material-preview>span{width:62px;height:62px;border:1px solid rgba(0,0,0,.16);border-radius:7px;box-shadow:0 2px 5px rgba(21,34,28,.1)}.catalogue-detail-material-preview svg{width:100%;height:100%}.catalogue-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:0}.catalogue-detail-grid>div{min-width:0;padding:8px;border:1px solid var(--line);border-radius:7px;background:#fbfcfa}.catalogue-detail-grid dt{margin-bottom:4px;color:var(--muted);font:700 calc(7px * var(--density-font-scale, 1)) var(--font-mono);letter-spacing:.07em;text-transform:uppercase}.catalogue-detail-grid dd{min-width:0;margin:0;overflow-wrap:anywhere;color:var(--ink);font-size:calc((10px) * var(--density-font-scale, 1));line-height:1.35}.catalogue-detail-grid code{font:550 calc(9px * var(--density-font-scale, 1)) var(--font-mono)}.catalogue-detail-colour{display:inline-block;width:14px;height:14px;margin-right:5px;vertical-align:-3px;border:1px solid rgba(0,0,0,.18);border-radius:3px}.catalogue-detail-link{margin:12px 0 0;font:550 calc(9px * var(--density-font-scale, 1)) var(--font-mono)}.catalogue-detail-grid a,.catalogue-detail-link a{color:var(--deep)}.catalogue-detail-section{margin-top:14px}.catalogue-detail-section h4{margin:0 0 7px;font-size:calc((11px) * var(--density-font-scale, 1))}.catalogue-detail-metadata{grid-template-columns:1fr 1fr}.catalogue-detail-pictures{display:flex;flex-wrap:wrap;gap:8px}.catalogue-detail-pictures img{width:110px;height:82px;object-fit:cover;border:1px solid var(--line);border-radius:6px}.category-settings-button{margin:0 0 10px;font:650 calc(8px * var(--density-font-scale, 1)) var(--font-mono)}.catalogue-picture-field>button,.category-settings-button{padding:7px 10px;border:1px solid var(--deep);border-radius:6px;background:white;color:var(--deep)}.catalogue-picture-field>button{width:max-content}.catalogue-picture-list{display:grid;gap:7px}.catalogue-picture-list>div{display:grid;grid-template-columns:70px 1fr auto;gap:8px;align-items:center;padding:7px;border:1px solid var(--line);border-radius:7px}.catalogue-picture-list img{width:70px;height:54px;object-fit:cover;border-radius:5px}.catalogue-picture-list label{display:grid;gap:3px}.catalogue-picture-list>div>div{display:grid;gap:4px}.catalogue-manager-modal{width:min(760px,95vw);height:min(760px,92vh);max-height:92vh;box-sizing:border-box;overflow-y:auto;padding:20px;border:1px solid var(--line);border-radius:13px;background:white;box-shadow:0 25px 70px rgba(12,25,19,.28)}.catalogue-manager-modal>header{display:flex;justify-content:space-between;align-items:start}.catalogue-manager-modal h2{margin:4px 0 16px}.catalogue-manager-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:0 0 16px;padding:6px;border:1px solid var(--line);border-radius:9px;background:#f7f9f7}.catalogue-manager-actions button,.catalogue-manager-tabs button{min-height:35px;padding:8px 12px;border:1px solid var(--line);border-radius:7px;background:white;color:var(--ink);font:650 calc(9px * var(--density-font-scale, 1)) var(--font-mono);cursor:pointer}.catalogue-manager-actions button:focus-visible,.catalogue-manager-actions button:hover,.catalogue-manager-tabs button:focus-visible,.catalogue-manager-tabs button:hover{border-color:var(--deep);outline:none}.catalogue-manager-tabs button.active{border-color:var(--deep);background:var(--deep);color:white}.catalogue-manager-panel>h3{margin:0;font-size:calc((15px) * var(--density-font-scale, 1))}.catalogue-manager-panel>p{margin:6px 0 14px;color:var(--muted);font-size:calc((10px) * var(--density-font-scale, 1))}.catalogue-manager-panel>p code{padding:2px 4px;border-radius:4px;background:#edf1ee;color:var(--deep);font:650 calc(8px * var(--density-font-scale, 1)) var(--font-mono)}.catalogue-manager-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}.catalogue-manager-form .span-two{grid-column:1/-1}.catalogue-manager-actions{display:flex;justify-content:flex-end;gap:8px}.catalogue-manager-actions .primary{border-color:var(--deep);background:var(--deep);color:white}.catalogue-manager-toggle{display:flex;align-items:flex-start;gap:10px;padding:14px;border:1px solid var(--line);border-radius:9px;background:#fafcf9;cursor:pointer}.catalogue-manager-toggle input{width:18px;height:18px;margin:0;accent-color:var(--deep)}.catalogue-manager-toggle span{display:grid;gap:3px}.catalogue-manager-toggle strong{font-size:calc((11px) * var(--density-font-scale, 1))}.catalogue-manager-toggle small{color:var(--muted);font-size:calc((9px) * var(--density-font-scale, 1))}.catalogue-manager-status{min-height:18px}.settings-dialog{width:min(470px,94vw);padding:var(--density-window-padding,20px);border:1px solid var(--line);border-radius:13px;background:white;box-shadow:0 25px 70px rgba(12,25,19,.28)}.settings-dialog>header{display:flex;justify-content:space-between;align-items:start}.settings-dialog h2{margin:5px 0 0;font-size:calc((22px) * var(--density-font-scale, 1))}.settings-appearance{display:grid;gap:var(--density-section-gap,8px);margin-top:15px}.settings-appearance>h3{margin:0;color:var(--deep);font-size:calc((13px) * var(--density-font-scale, 1))}.settings-appearance-option{display:grid;gap:4px}.settings-appearance-option>strong{font-size:calc((11px) * var(--density-font-scale, 1))}.settings-appearance-option>p{margin:0 0 4px;color:var(--muted);font-size:calc((10px) * var(--density-font-scale, 1));line-height:1.45}.settings-check,.settings-readonly,.settings-section{margin-top:var(--density-section-gap,16px);padding-top:14px;border-top:1px solid var(--line)}.settings-check strong,.settings-section>strong{font-size:calc((11px) * var(--density-font-scale, 1))}.settings-section>p{margin:5px 0 10px;color:var(--muted);font-size:calc((10px) * var(--density-font-scale, 1))}.settings-currency-label{display:block;font-size:calc((11px) * var(--density-font-scale, 1));font-weight:700}.settings-currency-select{width:100%;min-height:var(--density-control-min-height,36px);padding:7px 9px;border:1px solid var(--line);border-radius:7px;background:var(--surface-muted);color:var(--ink);font:600 calc(10px * var(--density-font-scale, 1)) var(--font-mono)}.settings-choice{display:grid;grid-template-columns:1fr 1fr;gap:7px}.settings-choice button{min-height:var(--density-control-min-height,34px);padding:7px 9px;border:1px solid var(--line);border-radius:7px;background:white;color:var(--muted);font:600 calc(9px * var(--density-font-scale, 1)) var(--font-mono);cursor:pointer}.settings-choice button.active{border-color:var(--deep);background:#eaf1ed;color:var(--deep)}.settings-theme-choice{grid-template-columns:repeat(3,minmax(0,1fr))}.unit-choice{grid-template-columns:1fr 1fr}.settings-check{display:flex;gap:9px;cursor:pointer}.settings-check input{width:17px;height:17px;margin:0;accent-color:var(--deep)}.settings-check span{display:grid;gap:3px}.settings-check small,.settings-readonly small{color:var(--muted);font-size:calc((9px) * var(--density-font-scale, 1))}.settings-readonly{display:grid;grid-template-columns:1fr auto;gap:4px 12px}.settings-readonly span{font-size:calc((10px) * var(--density-font-scale, 1))}.settings-readonly strong{font:650 calc(10px * var(--density-font-scale, 1)) var(--font-mono)}.settings-readonly small{grid-column:1/-1}.settings-done{width:100%;margin-top:18px;padding:9px;border:1px solid var(--deep);border-radius:7px;background:var(--deep);color:white;font:650 calc(9px * var(--density-font-scale, 1)) var(--font-mono);cursor:pointer}.density-compact .evidence-panel{padding-block:22px}.density-compact .fixture-editor,.density-compact .person-editor{padding:11px}.density-compact .fixture-field-group{margin-top:8px;padding-top:7px}.workspace{min-height:calc(100vh - 68px);display:grid;grid-template-columns:minmax(360px,440px) 1fr}.evidence-panel{padding:32px 28px 48px;border-right:1px solid var(--line);background:var(--panel);overflow-y:auto}.evidence-panel h1{margin:9px 0 5px;font-size:calc((clamp(25px, 3vw, 34px)) * var(--density-font-scale, 1));letter-spacing:-.045em;line-height:1.05}.product-name{margin:0 0 25px;color:var(--muted);font-size:calc((13px) * var(--density-font-scale, 1))}.fixture-editor{padding:15px;border:1px solid var(--line);border-radius:11px;background:#f8faf7}.person-editor{margin-top:12px;padding:15px;border:1px solid #cdd8d3;border-radius:11px;background:#f4f8f6}.person-editor-heading{display:flex;align-items:end;justify-content:space-between;gap:12px}.person-editor-heading h2{margin:4px 0 0;font-size:calc((15px) * var(--density-font-scale, 1))}.person-editor-heading>small{color:var(--muted);font:600 calc(8px * var(--density-font-scale, 1)) var(--font-mono);text-transform:uppercase}.person-enable-choice{display:flex;align-items:center;gap:9px;margin-top:12px;color:var(--ink);font:650 calc(10px * var(--density-font-scale, 1)) var(--font-mono);cursor:pointer}.person-enable-choice input{width:18px;height:18px;margin:0;accent-color:var(--deep)}.person-enable-choice.compact{align-items:flex-start;padding:9px;border:1px solid var(--line);border-radius:7px;background:white;font-size:calc((8px) * var(--density-font-scale, 1));line-height:1.4}.person-menu{display:grid;gap:5px;margin-top:5px;padding-top:var(--toolbar-control-gap);border-top:1px solid var(--line)}.person-menu>p{margin:0;color:var(--muted);font-size:calc((10px) * var(--density-font-scale, 1));line-height:1.45}.person-menu>.person-clearance-note{margin-top:-3px;padding:8px 9px;border-left:3px solid var(--verify);border-radius:0 6px 6px 0;background:var(--verify-soft);color:#6c4b18;font-size:calc((9px) * var(--density-font-scale, 1))}.person-menu fieldset{margin:0;padding:9px 0 0;border:0;border-top:1px solid var(--line)}.person-menu legend{padding:0 7px 0 0;color:var(--muted);font:700 calc(8px * var(--density-font-scale, 1)) var(--font-mono);letter-spacing:.09em;text-transform:uppercase}.person-field-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.person-show-clearance{display:flex;align-items:center;gap:7px;color:var(--ink);font:650 calc(8px * var(--density-font-scale, 1)) var(--font-mono)}.person-field-grid.two-columns{grid-template-columns:1fr 1fr}.person-field{display:grid;gap:5px;color:var(--muted);font:600 calc(8px * var(--density-font-scale, 1)) var(--font-mono)}.person-field small{font-size:calc((7px) * var(--density-font-scale, 1))}.person-field input,.person-field select{width:100%;min-width:0;border:1px solid var(--line);border-radius:7px;padding:9px;background:white;color:var(--ink);font:550 calc(10px * var(--density-font-scale, 1)) var(--font-mono)}.person-posture{margin-bottom:1px}.person-update{width:100%;min-height:38px;border:1px solid var(--deep);border-radius:7px;background:var(--deep);color:white;font:650 calc(9px * var(--density-font-scale, 1)) var(--font-mono);cursor:pointer}.fixture-selectors{display:grid;grid-template-columns:.8fr 1.4fr;gap:var(--toolbar-control-gap)}.fixture-colours-controls{display:grid;gap:10px;margin-top:var(--toolbar-control-gap);padding:10px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.82);color:var(--ink)}.fixture-colours-toggle{display:flex;align-items:center;justify-content:space-between;min-height:24px;padding:0;border:0;background:transparent;color:var(--ink);cursor:pointer;text-align:left}.fixture-colours-toggle>strong{font-size:calc((11px) * var(--density-font-scale, 1))}.fixture-colours-toggle>span{font-size:calc((16px) * var(--density-font-scale, 1));line-height:1}.fixture-colours-fields{display:grid;gap:var(--toolbar-control-gap)}.fixture-colours-fields input[type=color]{width:100%;height:36px;min-height:36px;padding:3px;cursor:pointer}.fixture-colours-compact{margin-top:0;padding:0;overflow:hidden;background:rgba(255,255,255,.72)}.fixture-colours-compact .fixture-colours-toggle{min-height:56px;padding:8px 10px;gap:10px}.appearance-summary{display:grid;min-width:0;gap:3px}.appearance-summary>strong{color:var(--deep);font:700 calc(10px * var(--density-font-scale, 1))/1.25 var(--font-sans)}.appearance-summary>span{display:flex;min-width:0;align-items:center;gap:5px;overflow:hidden;color:var(--muted);font:550 calc(9px * var(--density-font-scale, 1))/1.25 var(--font-mono);text-overflow:ellipsis;white-space:nowrap}.appearance-summary code{color:var(--deep);font:700 calc(8px * var(--density-font-scale, 1)) var(--font-mono)}.appearance-summary-swatch{display:inline-block;flex:0 0 auto;width:16px;height:16px;border:1px solid rgb(24 61 52/22%);border-radius:4px}.appearance-editor-fields{gap:12px}.appearance-editor-fields .field>span{color:var(--muted)}.appearance-colour-value{display:flex;min-width:0;align-items:center;gap:9px}.appearance-colour-value input[type=color]{width:48px;min-width:48px;height:40px;margin:0;padding:3px}.appearance-colour-value code{color:var(--deep);font:700 calc(11px * var(--density-font-scale, 1)) var(--font-mono)}.fixture-colours-fields>.fixture-field-group,.fixture-colours-fields>.fixture-lock-choice{margin-top:0}.fixture-field-group{display:grid;gap:6px;margin-top:var(--toolbar-control-gap);padding-top:10px;border-top:1px solid var(--line)}.fixture-field-group>span{color:var(--muted);font:700 calc(8px * var(--density-font-scale, 1)) var(--font-mono);letter-spacing:.09em;text-transform:uppercase}.fixture-fields{display:grid;gap:7px}.fixture-fields.three-columns{grid-template-columns:repeat(3,minmax(0,1fr))}.appearance-dimensions-error{grid-column:1/-1;color:var(--fail)!important;white-space:nowrap}.fixture-form-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:var(--toolbar-control-gap)}.fixture-form-actions>button{min-height:36px;border:1px solid var(--line);border-radius:7px;background:white;color:var(--ink);font:650 calc(9px * var(--density-font-scale, 1)) var(--font-mono);cursor:pointer}.fixture-form-actions>.fixture-save{grid-column:2;border-color:var(--deep);background:var(--deep);color:white}.fixture-form-actions>.fixture-save:only-child{grid-column:1/-1}.fixture-list{display:grid;gap:6px;margin-top:var(--toolbar-control-gap);padding-top:var(--toolbar-control-gap);border-top:1px solid var(--line)}.fixture-list article{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:7px;padding:8px;border:1px solid var(--line);border-radius:8px;background:white}.fixture-list article.editing{border-color:var(--verify);background:var(--verify-soft)}.fixture-list article>div{min-width:0}.fixture-list strong{display:block;overflow:hidden;text-overflow:ellipsis;font-size:calc((10px) * var(--density-font-scale, 1));white-space:nowrap}.fixture-list p{margin:3px 0 0;color:var(--muted);font:500 calc(8px * var(--density-font-scale, 1)) var(--font-mono);line-height:1.4}.fixture-kind{padding:5px 6px;border-radius:5px;font:750 calc(7px * var(--density-font-scale, 1)) var(--font-mono)}.fixture-shower{background:#dff2f6;color:#226d7b}.fixture-basin{background:#ecece7;color:#5f625b}.fixture-toilet{background:#e8edf4;color:#4d6179}.fixture-furniture{background:#f0e8dc;color:#74583c}.fixture-lock-choice{display:flex;gap:9px;align-items:flex-start;margin:var(--toolbar-control-gap) 0 0;padding:10px;border:1px solid #c9d7d0;border-radius:8px;background:#f2f7f4;color:var(--ink);cursor:pointer}.fixture-lock-choice input,.viewer-lock-choice input{width:17px;height:17px;margin:0;accent-color:var(--deep)}.fixture-lock-choice span{display:grid;gap:3px}.fixture-lock-choice strong{font:650 calc(9px * var(--density-font-scale, 1)) var(--font-mono)}.fixture-lock-choice small{color:var(--muted);font-size:calc((9px) * var(--density-font-scale, 1));line-height:1.35}.fixture-list button{height:27px;border:0;border-radius:5px;cursor:pointer;font:650 calc(8px * var(--density-font-scale, 1)) var(--font-mono)}.fixture-list .edit-fixture{padding:0 8px;background:#e7efeb;color:var(--deep)}.fixture-list .remove-fixture{width:27px;background:var(--fail-soft);color:var(--fail)}.fixture-editor+.scenario-tabs{margin-top:14px}.element-add-editor{display:grid;gap:10px;padding:12px}.element-add-editor>.inline-error,.element-add-editor>[role=alert]{margin:0}.element-object-selectors{grid-template-columns:minmax(0,.85fr) minmax(0,1fr) minmax(0,1.4fr);gap:6px}.element-object-selectors .element-object-select{grid-column:auto}.element-add-editor .field{min-width:0}.element-add-editor .field>span{line-height:1.25}.element-add-editor .field input:not([type=color]),.element-add-editor .field select{min-height:38px}.element-add-editor .fixture-preview{margin-top:0}.fixture-preview-compact{position:relative;border:1px solid var(--line);border-radius:10px!important;cursor:zoom-in;outline:none}.fixture-preview-compact.expanded{cursor:zoom-out}.fixture-preview-hint{position:absolute;right:8px;bottom:7px;padding:4px 7px;border:1px solid rgb(24 61 52/16%);border-radius:99px;background:rgb(255 255 255/86%);color:var(--deep);font:650 calc(8px * var(--density-font-scale, 1)) var(--font-sans);pointer-events:none}.fixture-add-section{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.72)}.fixture-section-toggle{display:flex;width:100%;min-height:52px;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:0;background:transparent;color:var(--ink);cursor:pointer;text-align:left}.fixture-section-toggle>span:first-child{display:grid;min-width:0;gap:3px}.fixture-section-toggle strong{color:var(--deep);font:700 calc(10px * var(--density-font-scale, 1))/1.25 var(--font-sans)}.fixture-section-toggle small{overflow:hidden;color:var(--muted);font:550 calc(9px * var(--density-font-scale, 1))/1.25 var(--font-mono);text-overflow:ellipsis;white-space:nowrap}.fixture-section-toggle>span:last-child{flex:0 0 auto;color:var(--deep);font:700 calc(17px * var(--density-font-scale, 1))/1 var(--font-sans)}.fixture-section-content{display:grid;gap:9px;padding:0 10px 10px;border-top:1px solid var(--line)}.fixture-section-content .fixture-field-group,.fixture-section-content .fixture-lock-switch{margin-top:0}.fixture-lock-switch{display:flex;align-items:center;gap:8px;min-height:34px;padding-top:8px;border-top:1px solid var(--line);color:var(--ink);font:650 calc(9px * var(--density-font-scale, 1))/1.3 var(--font-sans);cursor:pointer}.fixture-lock-switch input{width:17px;height:17px;margin:0;accent-color:var(--deep)}.element-inline-action{width:100%;min-height:34px;padding:7px 9px;border:1px dashed var(--line);border-radius:7px;background:transparent;color:var(--deep);font:650 calc(9px * var(--density-font-scale, 1)) var(--font-sans);cursor:pointer}.element-inline-action:hover{border-color:var(--accent);background:var(--soft)}.element-add-editor>.fixture-save{position:sticky;bottom:0;z-index:1;min-height:42px;margin-top:0;box-shadow:0 -6px 12px rgb(248 250 247/86%)}.element-add-editor .fixture-list{margin-top:0}.elements-list-content .fixture-list,.elements-list-content .full-opening-list{margin-top:0;padding-top:0;border-top:0}.scenario-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:14px}.scenario-tabs button{min-height:42px;border:1px solid var(--line);border-radius:9px;background:white;color:var(--muted);font:600 calc(11px * var(--density-font-scale, 1)) var(--font-mono);cursor:pointer}.scenario-tabs button.selected{border-color:currentColor;box-shadow:inset 0 0 0 1px currentColor}.status-icon{display:inline-grid;place-items:center;width:17px;height:17px;margin-right:6px;border-radius:99px;background:currentColor;color:white}.status-fit{color:var(--fit)!important}.status-verify{color:var(--verify)!important}.status-fail{color:var(--fail)!important}.result-summary{padding:17px;border-radius:11px;border:1px solid}.result-summary.status-fit{background:var(--fit-soft)}.result-summary.status-verify{background:var(--verify-soft)}.result-summary.status-fail{background:var(--fail-soft)}.result-label{display:flex;justify-content:space-between;align-items:center;font:700 calc(12px * var(--density-font-scale, 1)) var(--font-mono)}.result-label small{font-size:calc((9px) * var(--density-font-scale, 1));color:var(--muted)}.result-summary p{margin:9px 0 0;color:var(--ink);font-size:calc((13px) * var(--density-font-scale, 1));line-height:1.5}.metric-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:11px;margin:14px 0;overflow:hidden}.metric-grid div{padding:13px 14px;display:grid;gap:5px}.metric-grid div:nth-child(odd){border-right:1px solid var(--line)}.metric-grid div:nth-child(-n+2){border-bottom:1px solid var(--line)}.metric-grid span{color:var(--muted);font-size:calc((10px) * var(--density-font-scale, 1))}.metric-grid strong{font:600 calc(18px * var(--density-font-scale, 1)) var(--font-mono)}.metric-grid small{font-size:calc((10px) * var(--density-font-scale, 1));font-weight:500;color:var(--muted)}.manual-callout{border-left:3px solid var(--verify);padding:10px 13px;background:var(--verify-soft);border-radius:0 8px 8px 0}.manual-callout span{font:700 calc(10px * var(--density-font-scale, 1)) var(--font-mono);text-transform:uppercase;color:var(--verify)}.manual-callout p{margin:6px 0 0;font-size:calc((12px) * var(--density-font-scale, 1));line-height:1.45}.checks-heading{display:flex;justify-content:space-between;align-items:baseline;margin:25px 0 9px}.checks-heading h2{margin:0;font-size:calc((15px) * var(--density-font-scale, 1))}.checks-heading span{color:var(--muted);font:500 calc(10px * var(--density-font-scale, 1)) var(--font-mono)}.checks-list{display:grid;gap:7px}.check{display:grid;grid-template-columns:48px 1fr auto;gap:10px;padding:11px;border:1px solid var(--line);border-radius:9px}.check-status{align-self:start;padding:4px;text-align:center;border-radius:5px;font:700 calc(8px * var(--density-font-scale, 1)) var(--font-mono)}.check-pass .check-status{color:var(--fit);background:var(--fit-soft)}.check-verify .check-status{color:var(--verify);background:var(--verify-soft)}.check-fail .check-status{color:var(--fail);background:var(--fail-soft)}.check-not_applicable .check-status{color:var(--muted);background:#edf0ed}.check h3{margin:1px 0 4px;font:600 calc(10px * var(--density-font-scale, 1)) var(--font-mono);text-transform:uppercase}.check p{margin:0;font-size:calc((11px) * var(--density-font-scale, 1));line-height:1.45;color:var(--muted)}.check code{white-space:nowrap;font:600 calc(9px * var(--density-font-scale, 1)) var(--font-mono);color:var(--muted)}.visual-panel{min-width:0;padding:24px;display:flex;flex-direction:column}.visual-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:12px}.visual-heading h2{margin:5px 0 0;font-size:calc((18px) * var(--density-font-scale, 1))}.version-chip{padding:7px 9px;border:1px solid var(--line);border-radius:7px;color:var(--muted);font:500 calc(9px * var(--density-font-scale, 1)) var(--font-mono);background:white}.viewer-shell{position:relative;flex:1 1;min-height:650px;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#edf0eb;box-shadow:0 16px 40px rgba(28,45,38,.07)}.viewer-shell canvas{touch-action:none}.viewer-toolbar{position:absolute;z-index:3;left:12px;right:12px;top:12px;display:flex;justify-content:space-between;gap:9px;pointer-events:none}.segmented,.toggle-row{display:flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:auto}.viewer-toolbar button{border:0;border-radius:5px;padding:7px 9px;background:transparent;color:var(--muted);font:600 calc(9px * var(--density-font-scale, 1)) var(--font-mono);text-transform:capitalize;cursor:pointer}.viewer-toolbar button.active{color:white;background:var(--deep)}.viewer-save-menu{position:relative}.viewer-save-menu>div{position:absolute;z-index:6;top:calc(100% + 6px);left:0;display:grid;min-width:122px;padding:4px;border:1px solid var(--line);border-radius:7px;background:rgba(255,255,255,.98);box-shadow:0 10px 24px rgba(26,43,36,.16)}.viewer-save-menu>div button{padding:7px 8px;color:var(--ink);text-align:left;text-transform:none}.viewer-save-menu>div button:hover{background:#edf4ef;color:var(--deep)}.viewer-save-row{display:flex;padding-top:8px;border-top:1px solid var(--line)}.floating-toolbar.viewer-view-toolbar{overflow:visible}.selected-colour-hex{display:flex;justify-content:space-between;padding:7px 9px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--muted);font:650 calc(8px * var(--density-font-scale, 1)) var(--font-mono)}.selected-colour-hex code{color:var(--ink);font-size:calc((10px) * var(--density-font-scale, 1));-webkit-user-select:text;user-select:text}.viewer-toggle-checkbox{display:flex;align-items:center;gap:5px;padding:4px 6px;color:var(--muted);font:600 calc(8px * var(--density-font-scale, 1)) var(--font-mono);cursor:pointer;white-space:nowrap}.viewer-toggle-checkbox input{width:14px;height:14px;margin:0;accent-color:var(--deep)}.viewer-navigation{position:absolute;z-index:3;right:12px;bottom:34px;display:grid;grid-template-columns:1fr 1fr;gap:3px;padding:4px;border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.viewer-navigation button{min-width:45px;border:0;border-radius:5px;padding:6px 7px;background:transparent;color:var(--muted);font:600 calc(8px * var(--density-font-scale, 1)) var(--font-mono);cursor:pointer}.viewer-navigation button:hover{background:#eaf1ed;color:var(--deep)}.context-controls{min-width:0;padding:13px}.context-controls>strong{display:block;margin-top:5px;font-size:calc((12px) * var(--density-font-scale, 1))}.context-controls .selected-wall-heading{display:flex;align-items:baseline;gap:9px;margin-bottom:10px}.context-controls .selected-wall-heading>strong{color:var(--muted);font:600 calc(10px * var(--density-font-scale, 1))/1.2 var(--font-mono);letter-spacing:.12em;text-transform:uppercase}.context-controls>p{margin:6px 0 10px;color:var(--muted);font-size:calc((10px) * var(--density-font-scale, 1));line-height:1.4}.viewer-lock-choice{display:flex;align-items:center;gap:8px;color:var(--ink);font:600 calc(9px * var(--density-font-scale, 1)) var(--font-mono);cursor:pointer}.skirting-controls-heading{gap:8px}.skirting-controls-heading,.skirting-summary{display:flex;align-items:center;justify-content:space-between}.skirting-summary{width:100%;padding:0;border:0;background:transparent;color:var(--ink);font:600 calc(9px * var(--density-font-scale, 1)) var(--font-mono);text-align:left;cursor:pointer}.skirting-summary-title{display:inline-flex;align-items:center;gap:8px}.skirting-summary-check{display:inline-grid;place-items:center;width:17px;height:17px;border-radius:3px;background:var(--deep);color:#fff;font-size:calc((11px) * var(--density-font-scale, 1))}.skirting-summary-action{color:var(--muted);font-size:calc((10px) * var(--density-font-scale, 1));font-weight:700}.skirting-hide-button{padding:0;border:0;background:transparent;font-family:var(--font-mono);cursor:pointer}.skirting-summary:hover .skirting-summary-action{color:var(--deep)}.paint-all-choice{display:flex;align-items:center;gap:8px;margin:10px 0 2px;padding:8px;border:1px solid #c9d7d0;border-radius:7px;background:#f2f7f4;color:var(--ink);font:650 calc(9px * var(--density-font-scale, 1)) var(--font-mono);cursor:pointer}.paint-all-choice input{width:17px;height:17px;margin:0;accent-color:var(--deep)}.paint-family-picker{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;margin:7px 0}.paint-family-picker button{display:grid;justify-items:center;gap:3px;min-width:0;padding:4px 2px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--muted);cursor:pointer}.paint-family-picker button.selected,.paint-family-picker button:hover{border-color:#b8c8c0;background:#f0f5f2;color:var(--ink)}.paint-family-picker button.selected{box-shadow:inset 0 0 0 1px var(--deep)}.paint-family-picker button>span{width:22px;height:22px;border:3px solid white;border-radius:50% 50% 50% 12%;box-shadow:0 0 0 1px var(--line);transform:rotate(45deg)}.paint-family-picker small{overflow:hidden;max-width:100%;font:600 calc(7px * var(--density-font-scale, 1)) var(--font-mono);text-overflow:ellipsis;white-space:nowrap}.paint-shade-panel{margin-bottom:10px;padding:9px;border:1px solid var(--line);border-radius:8px;background:#f8faf7}.paint-shade-heading{display:flex;justify-content:space-between;gap:8px;align-items:baseline;margin-bottom:8px}.paint-shade-heading strong{font-size:calc((10px) * var(--density-font-scale, 1))}.paint-shade-heading small{color:var(--muted);font:550 calc(7px * var(--density-font-scale, 1)) var(--font-mono)}.paint-search{display:grid;gap:4px;margin-bottom:8px;color:var(--muted);font:600 calc(8px * var(--density-font-scale, 1)) var(--font-mono)}.paint-search input{width:100%;min-width:0;padding:7px 8px;border:1px solid var(--line);border-radius:6px;background:white;color:var(--ink);font:500 calc(9px * var(--density-font-scale, 1)) var(--font-mono)}.paint-search input:focus{outline:2px solid rgba(24,73,61,.2);border-color:var(--deep)}.paint-shades{display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:5px;max-height:230px;padding-right:3px;overflow-y:auto}.paint-shades button{display:grid;grid-template-columns:28px minmax(0,1fr);gap:5px;align-items:center;min-width:0;padding:4px;border:1px solid var(--line);border-radius:7px;background:white;color:var(--ink);text-align:left;cursor:pointer}.paint-shades button.selected,.paint-shades button:hover{border-color:var(--deep);box-shadow:inset 0 0 0 1px var(--deep);background:#f1f6f3}.paint-shade-swatch{width:28px;height:28px;border:1px solid rgba(40,55,49,.15);border-radius:5px}.paint-shades strong{min-width:0;font:600 calc(7px * var(--density-font-scale, 1))/1.25 var(--font-mono);overflow-wrap:anywhere}.paint-empty{margin:8px 0;color:var(--muted);font-size:calc((9px) * var(--density-font-scale, 1));text-align:center}.paint-code-note{margin:8px 0 0;color:var(--muted);font-size:calc((8px) * var(--density-font-scale, 1));line-height:1.4}.paint-code-note a{color:var(--deep);font-weight:700}.finish-palette{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin:10px 0}.finish-palette button{aspect-ratio:1;min-width:0;border:2px solid white;border-radius:6px;box-shadow:0 0 0 1px var(--line);cursor:pointer}.finish-palette button.selected{box-shadow:0 0 0 2px var(--deep)}.finish-pattern{display:grid;gap:5px;margin:10px 0;color:var(--muted);font:600 calc(9px * var(--density-font-scale, 1)) var(--font-mono)}.finish-pattern select{width:100%;border:1px solid var(--line);border-radius:7px;padding:8px;background:white;color:var(--ink);font:500 calc(9px * var(--density-font-scale, 1)) var(--font-mono)}.tile-collection{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:7px;margin:11px 0}.tile-collection button{display:grid;grid-template-columns:42px 1fr;align-items:center;gap:7px;min-width:0;padding:5px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink);text-align:left;cursor:pointer}.tile-collection button.selected{border-color:var(--deep);box-shadow:inset 0 0 0 1px var(--deep);background:#f2f7f4}.tile-swatch{width:42px;height:38px;border:1px solid rgba(70,78,74,.18);border-radius:5px;background-size:24px 24px!important}.tile-collection small{overflow:hidden;font:600 calc(8px * var(--density-font-scale, 1))/1.3 var(--font-mono)}.tile-colour-editor{margin:0 0 10px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#f7f9f6}.tile-colour-editor>strong{font-size:calc((10px) * var(--density-font-scale, 1))}.tile-palette-presets{display:flex;gap:6px;margin-top:8px}.tile-palette-presets button{width:36px;height:28px;border:2px solid white;border-radius:6px;box-shadow:0 0 0 1px var(--line);cursor:pointer}.tile-custom-colours{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:9px}.tile-custom-colours label{display:grid;gap:4px;color:var(--muted);font:600 calc(7px * var(--density-font-scale, 1)) var(--font-mono)}.tile-custom-colours input{width:100%;height:29px;padding:2px;border:1px solid var(--line);border-radius:5px;background:white}.remove-finish{margin-top:var(--toolbar-control-gap);width:100%;border:1px solid #dfc3bf;border-radius:7px;padding:8px;background:var(--fail-soft);color:var(--fail);font:650 calc(9px * var(--density-font-scale, 1)) var(--font-mono);cursor:pointer}.viewer-legend{position:absolute;left:12px;right:12px;bottom:10px;display:flex;justify-content:space-between;color:#52615b;font:500 calc(9px * var(--density-font-scale, 1)) var(--font-mono);pointer-events:none}.viewer-warning{display:flex;gap:10px;margin-top:var(--toolbar-control-gap);color:var(--muted);font-size:calc((10px) * var(--density-font-scale, 1))}.viewer-warning strong{color:var(--ink)}.loading-state{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:12px;text-align:center}.loading-state h1{margin:8px 0 0;font-size:calc((24px) * var(--density-font-scale, 1))}.loading-state p{margin:0;color:var(--muted)}.app-nav{display:flex;align-items:center;gap:10px;padding:0;border:0;background:transparent}.app-nav-modes{display:flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:10px;background:#f3f5f2}.app-nav-modes button{display:inline-flex;align-items:center;justify-content:center;height:28px;padding:0 13px;border:0;border-radius:6px;background:transparent;color:var(--muted);font:650 calc(10px * var(--density-font-scale, 1))/1.2 var(--font-mono);cursor:pointer}.app-nav-modes button.active{background:white;color:var(--deep);box-shadow:0 1px 5px rgba(23,33,29,.1)}.workspace-mode-control{display:flex;align-items:center;gap:7px}.workspace-mode-label{color:var(--muted);font:650 calc(9px * var(--density-font-scale, 1))/1.2 var(--font-mono);white-space:nowrap}.workspace-mode-select{height:36px;min-width:108px;padding:0 28px 0 11px;border:1px solid var(--line);border-radius:10px;background:#f3f5f2;color:var(--deep);font:650 calc(10px * var(--density-font-scale, 1))/1.2 var(--font-mono);cursor:pointer}.workspace-mode-select:hover{background:white}.planner-build-content :where(button,input,select,textarea,summary,[tabindex]):focus-visible,.workspace-mode-select:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.software-menu button:disabled{cursor:not-allowed;opacity:.48}.planner-build-screen{display:flex;flex-direction:column;flex:1 1 auto;min-width:0;min-height:0;overflow:hidden;background:#f5f7f6}.planner-build-screen[hidden]{display:none}.pb-loading-state{align-self:center;margin:auto;color:var(--muted);font-size:calc((12px) * var(--density-font-scale, 1))}.planner-build-content{flex:1 1 auto;width:100%;min-width:0;min-height:0;overflow:auto;background:#f5f7f6;color:var(--ink)}.planner-build-gantt{display:flex;flex-direction:column;width:100%;height:100%;min-height:0;padding:18px 22px 22px}.planner-build-table-view{display:grid;gap:14px;width:min(100%,1760px);margin:0 auto;padding:18px 22px 28px}.pb-view-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:0 0 6px}.pb-section-heading h2,.pb-view-heading h1{margin:4px 0 0;color:var(--deep);font-size:calc((22px) * var(--density-font-scale, 1));letter-spacing:-.035em}.pb-view-heading p{margin:5px 0 0;color:var(--muted);font-size:calc((12px) * var(--density-font-scale, 1))}.pb-eyebrow{color:#6d7f78;font:700 calc(9px * var(--density-font-scale, 1))/1.3 var(--font-mono);letter-spacing:.13em;text-transform:uppercase}.pb-gantt-toolbar{display:flex;align-items:end;flex-wrap:wrap;gap:8px;margin:4px 0 12px;padding:10px;border:1px solid var(--line);border-radius:10px;background:white}.pb-gantt-toolbar>label{display:grid;gap:4px;color:var(--muted);font-size:calc((10px) * var(--density-font-scale, 1));font-weight:650}.pb-field input:not([type=color]),.pb-field select,.pb-field textarea,.pb-gantt-toolbar select{min-width:0;min-height:36px;padding:7px 9px;border:1px solid var(--line);border-radius:7px;background:white;color:var(--ink);font:500 calc(11px * var(--density-font-scale, 1)) var(--font-sans)}.pb-gantt-toolbar select{min-width:105px}.pb-gantt-toolbar>.pb-filter-details>summary,.pb-gantt-toolbar>.pb-primary-button,.pb-gantt-toolbar>.pb-secondary-button,.pb-gantt-toolbar>.view-toggle,.pb-gantt-toolbar>label>select{height:36px;min-height:36px}.pb-danger-button,.pb-history-actions button,.pb-primary-button,.pb-secondary-button{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 12px;border:1px solid var(--line);border-radius:8px;background:#f5f9fc;color:var(--ink);font:700 calc(10px * var(--density-font-scale, 1)) var(--font-sans);cursor:pointer}.pb-primary-button{border-color:var(--deep);background:var(--deep);color:white}.pb-primary-button:hover:not(:disabled){background:var(--primary-hover)}.pb-history-actions button:hover:not(:disabled),.pb-secondary-button:hover:not(:disabled){border-color:#aab9c7;background:#eef5fa}.pb-danger-button{border-color:#edc7c2;background:#fff5f4;color:#963f38}.pb-history-actions button:disabled,.pb-primary-button:disabled,.pb-secondary-button:disabled{cursor:not-allowed;opacity:.5}.pb-history-actions{display:flex;gap:5px;margin-left:auto}.pb-gantt-scroll{flex:1 1 auto;min-width:0;min-height:210px;overflow:auto;border:1px solid var(--line);border-radius:10px;background:white;scrollbar-gutter:stable}.pb-gantt-grid{width:max(100%,calc(var(--pb-label-width) + var(--pb-timeline-width)));min-width:calc(var(--pb-label-width) + var(--pb-timeline-width))}.pb-gantt-header,.pb-gantt-row{display:grid;grid-template-columns:var(--pb-label-width) var(--pb-timeline-width);width:max-content;min-width:100%}.pb-gantt-header{position:sticky;z-index:6;top:0;min-height:42px;border-bottom:1px solid var(--line);background:#f5f8f7}.pb-gantt-header-label{position:sticky;z-index:3;left:0;display:flex;flex-direction:column;justify-content:center;gap:2px;padding:5px 12px;border-right:1px solid var(--line);background:#f5f8f7;color:var(--deep);font-size:calc((11px) * var(--density-font-scale, 1));font-weight:750}.pb-gantt-header-label span{color:var(--muted);font-size:calc((9px) * var(--density-font-scale, 1));font-weight:550}.pb-gantt-timeline-head{position:relative;min-height:42px;overflow:hidden;background-image:repeating-linear-gradient(90deg,transparent 0,transparent calc(var(--pb-day-width, 18px) - 1px),rgba(218,226,222,.8) calc(var(--pb-day-width, 18px) - 1px),rgba(218,226,222,.8) var(--pb-day-width,18px))}.pb-gantt-timeline-head>span{position:absolute;top:14px;color:var(--muted);font:650 calc(9px * var(--density-font-scale, 1)) var(--font-mono);white-space:nowrap}.pb-today-head-marker{position:absolute;z-index:2;top:0;bottom:0;width:2px;background:#d87932;opacity:.8}.pb-gantt-row{min-height:52px;border-bottom:1px solid #edf1ef}.pb-gantt-body{position:relative}.pb-gantt-activity-cell{position:sticky;z-index:2;left:0;display:grid;grid-template-columns:minmax(0,1fr) 26px;align-items:center;gap:4px;padding:4px 7px 4px 12px;border-right:1px solid var(--line);background:white}.pb-gantt-row.selected .pb-gantt-activity-cell{background:#f5f9fc}.pb-activity-name{min-width:0;display:grid;gap:3px;padding:3px 0;border:0;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.pb-activity-name strong{overflow:hidden;font-size:calc((11px) * var(--density-font-scale, 1));text-overflow:ellipsis;white-space:nowrap}.pb-activity-name span{color:var(--muted);font:500 calc(9px * var(--density-font-scale, 1)) var(--font-mono)}.pb-edit-activity{width:26px;height:26px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--muted);font-weight:800;cursor:pointer}.pb-edit-activity:hover{border-color:var(--line);background:#f4f8f7}.pb-gantt-lane{position:relative;min-height:52px;background-image:repeating-linear-gradient(90deg,transparent 0,transparent calc(var(--pb-day-width, 18px) - 1px),rgba(228,234,231,.9) calc(var(--pb-day-width, 18px) - 1px),rgba(228,234,231,.9) var(--pb-day-width,18px))}.pb-gantt-bar{position:absolute;top:13px;height:26px;overflow:hidden;border:1px solid rgba(10,25,55,.22);border-radius:7px;box-shadow:0 2px 5px rgba(22,39,35,.11);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.pb-gantt-bar.dragging{z-index:5;cursor:grabbing;opacity:.88}.pb-gantt-bar.selected{outline:2px solid var(--deep);outline-offset:2px}.pb-gantt-progress{position:absolute;inset:0 auto 0 0;background:rgba(6,25,61,.48);box-shadow:inset -2px 0 rgba(255,255,255,.72);pointer-events:none}.pb-gantt-bar-label{position:relative;z-index:1;display:flex;align-items:center;gap:4px;overflow:hidden;padding:5px 8px;color:#fff;font-size:calc((9px) * var(--density-font-scale, 1));font-weight:750;line-height:14px;text-shadow:0 1px 2px rgba(0,0,0,.32);white-space:nowrap;pointer-events:none}.pb-gantt-bar-name{min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis}.pb-gantt-bar-progress-label{flex:0 0 auto}.pb-gantt-resize{position:absolute;z-index:2;top:0;bottom:0;width:8px;padding:0;border:0;background:transparent;cursor:ew-resize}.pb-gantt-resize-start{left:0}.pb-gantt-resize-end{right:0}.pb-gantt-bar.selected .pb-gantt-resize,.pb-gantt-bar:hover .pb-gantt-resize{background:rgba(255,255,255,.35)}.pb-today-line{position:absolute;z-index:4;top:0;bottom:0;width:2px;background:#d87932;opacity:.72;pointer-events:none}.pb-empty-state{flex:1 1;min-height:280px;justify-items:center;align-content:center;gap:9px;padding:28px;border:1px dashed #c9d7d1;background:white;text-align:center}.pb-empty-icon,.pb-empty-state{display:grid;border-radius:12px}.pb-empty-icon{place-items:center;width:44px;height:44px;background:#edf4f1;color:var(--deep);font-size:calc((22px) * var(--density-font-scale, 1))}.pb-empty-state h2{margin:0;color:var(--deep);font-size:calc((17px) * var(--density-font-scale, 1))}.pb-empty-state p{max-width:360px;margin:0 0 6px;color:var(--muted);font-size:calc((11px) * var(--density-font-scale, 1));line-height:1.5}.pb-modal-backdrop{position:fixed;z-index:2600;inset:0;display:grid;place-items:center;padding:14px;background:rgba(14,28,42,.42)}.pb-activity-dialog{width:min(100%,570px);max-height:min(calc(100dvh - 28px),860px);overflow:auto;border:1px solid var(--line);border-radius:14px;background:white;box-shadow:0 22px 70px rgba(15,32,49,.24)}.pb-activity-dialog>header{position:sticky;z-index:1;top:0;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 17px;border-bottom:1px solid var(--line);background:#eaf4fd}.pb-activity-dialog h2{margin:3px 0 0;color:var(--deep);font-size:calc((17px) * var(--density-font-scale, 1))}.pb-close-button{width:32px;height:32px;border:1px solid var(--line);border-radius:50%;background:white;color:var(--ink);font-size:calc((20px) * var(--density-font-scale, 1));cursor:pointer}.pb-activity-dialog form{display:grid;gap:12px;padding:16px 18px 18px}.pb-field{min-width:0;display:grid;gap:5px;color:var(--muted);font-size:calc((10px) * var(--density-font-scale, 1));font-weight:700}.pb-field>span{display:flex;justify-content:space-between;gap:8px}.pb-field>span b{color:#ad443f}.pb-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pb-field textarea{resize:vertical}.pb-field input[type=range]{width:100%;accent-color:var(--deep)}.pb-colour-picker{grid-template-columns:minmax(0,1fr) 38px;gap:10px}.pb-colour-picker,.pb-colour-presets{display:grid;align-items:center;width:100%}.pb-colour-presets{grid-template-columns:repeat(12,minmax(0,1fr));justify-items:center;gap:6px;min-width:0}.pb-colour-presets button{width:min(100%,28px);height:28px;padding:0;border:2px solid white;border-radius:50%;box-shadow:0 0 0 1px var(--line);cursor:pointer}.pb-colour-presets button.selected{outline:2px solid var(--deep);outline-offset:3px}.pb-colour-picker input[type=color]{width:38px;height:30px;padding:2px;border:1px solid var(--line);border-radius:6px;background:white;cursor:pointer}.pb-form-error{margin:0;color:#a33e38;font-size:calc((11px) * var(--density-font-scale, 1))}.pb-activity-dialog form>footer{display:flex;align-items:center;gap:7px;padding-top:11px;border-top:1px solid var(--line)}.pb-activity-dialog form>footer>span{flex:1 1}.pb-section-heading{display:flex;justify-content:space-between;align-items:end;margin:0 0 10px}.pb-section-heading h2{font-size:calc((17px) * var(--density-font-scale, 1))}.pb-metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:9px}.pb-metric-grid.pb-primary-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.pb-metric-card{min-width:0;display:flex;flex-direction:column;gap:5px;padding:12px;border:1px solid var(--line);border-radius:9px;background:white}.pb-metric-card>span{color:var(--muted);font-size:calc((9px) * var(--density-font-scale, 1));font-weight:650}.pb-metric-card>strong{overflow-wrap:anywhere;color:var(--deep);font-size:calc((17px) * var(--density-font-scale, 1));letter-spacing:-.025em}.pb-metric-card>small{color:var(--muted);font-size:calc((9px) * var(--density-font-scale, 1));line-height:1.4}.pb-quantity-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));margin-top:9px;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#f8faf9}.pb-quantity-facts>div{display:grid;align-content:center;gap:3px;min-width:0;padding:8px 10px;border-right:1px solid #e5ece8;border-bottom:1px solid #e5ece8}.pb-quantity-facts>div>span{color:var(--muted);font-size:calc((9px) * var(--density-font-scale, 1))}.pb-quantity-facts>div>strong{overflow-wrap:anywhere;color:var(--deep);font-size:calc((11px) * var(--density-font-scale, 1));font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pb-quantity-facts.pb-section-facts{margin:0;border:0;border-bottom:1px solid var(--line);border-radius:0}.pb-data-section{overflow:hidden;border:1px solid var(--line);border-radius:10px;background:white}.pb-data-section>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:8px 14px;background:#f8faf9;cursor:pointer;list-style:none}.pb-data-section>summary::-webkit-details-marker{display:none}.pb-data-section>summary:after{content:"＋";flex:none;color:var(--muted);font-size:calc((15px) * var(--density-font-scale, 1))}.pb-data-section[open]>summary:after{content:"−"}.pb-data-section>summary>span{display:grid;gap:2px}.pb-data-section>summary strong{color:var(--deep);font-size:calc((13px) * var(--density-font-scale, 1))}.pb-data-section>summary small{color:var(--muted);font-size:calc((9px) * var(--density-font-scale, 1));text-align:right}.pb-table-scroll{max-width:100%;overflow:auto;border-top:1px solid var(--line)}.pb-quantity-table{width:100%;border-collapse:collapse;color:var(--ink);font-size:calc((10px) * var(--density-font-scale, 1))}.pb-quantity-table td,.pb-quantity-table th{min-width:85px;padding:9px 11px;border-bottom:1px solid #e9eeeb;text-align:left;vertical-align:middle}.pb-quantity-table thead th{position:sticky;z-index:1;top:0;background:#f5f8f7;color:var(--deep);font-weight:750;white-space:nowrap}.pb-quantity-table tbody th{color:var(--deep);font-weight:700}.pb-quantity-table tbody td{color:#52665d}.pb-quantity-table tbody tr:last-child>*{border-bottom:0}.pb-rooms-table :is(th,td):not(:first-child){text-align:right;white-space:nowrap}.pb-walls-table :is(th,td):nth-child(n+3):nth-child(-n+7){text-align:right;white-space:nowrap}.pb-schedule-table :is(th,td):nth-child(2),.pb-schedule-table :is(th,td):nth-child(3),.pb-schedule-table :is(th,td):nth-child(6){text-align:right;white-space:nowrap}.pb-quantity-table .pb-total-row>*{border-top:2px solid #dbe5e0;background:#f3f7f5;color:var(--deep);font-weight:750}.pb-table-note{margin:0;padding:10px 13px;color:var(--muted);font-size:calc((10px) * var(--density-font-scale, 1));line-height:1.5}.pb-activity-table-name,.pb-finish-value{display:inline-flex;align-items:center;gap:6px}.pb-activity-table-name i,.pb-finish-value i{width:13px;height:13px;flex:none;border:1px solid rgba(15,34,58,.18);border-radius:4px;background-color:#f4f6f5}.pb-opening-grid,.pb-schedule-grid{padding:12px}.pb-service-summary{display:flex;flex-wrap:wrap;gap:8px;padding:10px 12px;color:var(--muted);font-size:calc((10px) * var(--density-font-scale, 1))}.pb-service-summary>span{padding:6px 9px;border:1px solid var(--line);border-radius:7px;background:#f8faf9}.pb-service-summary strong{color:var(--deep)}.pb-check-control{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 9px;border:1px solid var(--line);border-radius:7px;background:#f8faf9;color:var(--ink);font-size:calc((10px) * var(--density-font-scale, 1));font-weight:700;white-space:nowrap}.pb-check-control input{width:16px;height:16px;margin:0;accent-color:var(--deep)}.pb-filter-details{position:relative;align-self:end}.pb-filter-details>summary{display:flex;align-items:center;justify-content:center;min-width:80px;min-height:36px;padding:7px 11px;border:1px solid var(--line);border-radius:7px;background:#f5f9fc;color:var(--ink);font-size:calc((10px) * var(--density-font-scale, 1));font-weight:700;cursor:pointer;list-style:none}.pb-filter-details>summary::-webkit-details-marker{display:none}.pb-filter-details>div{position:absolute;z-index:15;top:calc(100% + 6px);right:0;display:grid;grid-template-columns:repeat(2,minmax(150px,1fr));gap:10px;width:min(440px,calc(100vw - 34px));padding:12px;border:1px solid var(--line);border-radius:10px;background:white;box-shadow:0 12px 34px rgba(15,32,49,.17)}.pb-filter-details label{display:grid;gap:4px;color:var(--muted);font-size:calc((10px) * var(--density-font-scale, 1));font-weight:650}.pb-gantt-group-row{display:flex;align-items:center;min-height:29px;padding:4px 12px;border-block:1px solid #e7eeeb;background:#f3f7f5;color:#52665d;font:700 calc(9px * var(--density-font-scale, 1)) var(--font-mono);letter-spacing:.06em;text-transform:uppercase}.pb-gantt-dependencies{position:absolute;z-index:1;top:0;left:var(--pb-label-width);overflow:visible;pointer-events:none}.pb-dependency-path{fill:none;stroke:#647d9b;stroke-width:1.7;stroke-dasharray:5 4;opacity:.86}.pb-dependency-path.conflict{stroke:#c62828;stroke-width:2.6;stroke-dasharray:none;opacity:1}.pb-dependency-path+path{marker-end:url(#pb-dependency-arrow)}.pb-gantt-dependencies marker path{fill:#647d9b}#pb-dependency-arrow-conflict path{fill:#c62828}.pb-gantt-lane{z-index:2}.pb-type-mark{display:inline-grid;place-items:center;width:14px;height:14px;margin-right:5px;border-radius:4px;background:#edf3f7;color:#536d84;font-size:calc((9px) * var(--density-font-scale, 1));font-style:normal;vertical-align:-1px}.pb-type-mark.type-milestone{color:#8059a5}.pb-type-mark.type-delivery{color:#287fb8}.pb-type-mark.type-inspection{color:#3f8c66}.pb-type-mark.type-payment{color:#98721a}.pb-gantt-bar.event-type-appointment,.pb-gantt-bar.event-type-decision,.pb-gantt-bar.event-type-delivery,.pb-gantt-bar.event-type-inspection,.pb-gantt-bar.event-type-milestone,.pb-gantt-bar.event-type-payment{top:17px;width:18px!important;height:18px;overflow:visible;border-radius:50%}.pb-gantt-bar.event-type-milestone{border-radius:3px;transform:rotate(45deg) scale(.82)}.pb-gantt-bar.event-type-delivery{border-radius:4px 4px 8px 8px}.pb-gantt-event-mark{position:absolute;inset:0;display:grid;place-items:center;color:white;font-size:calc((10px) * var(--density-font-scale, 1));font-weight:800;text-shadow:0 1px 2px rgba(0,0,0,.45)}.pb-gantt-bar.event-type-milestone .pb-gantt-event-mark{transform:rotate(-45deg)}.pb-schedule-warnings{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0 0 9px;padding:8px 10px;border:1px solid #efc4c8;border-radius:8px;background:#fff4f4;color:#a4212b;font-size:calc((10px) * var(--density-font-scale, 1))}.pb-schedule-warnings>strong{color:#8e1c26}.pb-schedule-warning{display:inline-flex;max-width:100%;padding:4px 8px;border:1px solid #f2cbd0;border-radius:6px;background:#ffe9eb;color:#a4212b;line-height:1.4}.pb-schedule-warnings small{color:#9d3038}.pb-library-dialog{display:flex;flex-direction:column;width:min(100%,650px);max-height:min(94dvh,760px);overflow:hidden;border:1px solid var(--line);border-radius:14px;background:white;box-shadow:0 22px 70px rgba(15,32,49,.24)}.pb-library-dialog>header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 17px;border-bottom:1px solid var(--line);background:#eaf4fd}.pb-library-dialog h2{margin:3px 0 0;color:var(--deep);font-size:calc((17px) * var(--density-font-scale, 1))}.pb-add-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px}.pb-add-choice-card{display:grid;gap:5px;align-content:start;min-height:78px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#f8faf9;color:var(--ink);text-align:left;cursor:pointer}.pb-add-choice-card:hover,.pb-library-template:hover{border-color:#aac0d0;background:#f1f7fb}.pb-add-choice-card strong{color:var(--deep);font-size:calc((11px) * var(--density-font-scale, 1))}.pb-add-choice-card b,.pb-add-choice-card span{color:var(--muted);font-size:calc((9px) * var(--density-font-scale, 1));line-height:1.4}.pb-library-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.6fr);gap:10px;padding:13px 15px;border-bottom:1px solid var(--line)}.pb-library-controls .pb-field{gap:4px}.pb-library-results{min-height:0;overflow:auto;padding:7px 12px}.pb-library-template{display:flex;align-items:center;gap:10px;width:100%;padding:9px 7px;border:1px solid transparent;border-bottom-color:#edf1ef;border-radius:6px;background:white;color:var(--ink);text-align:left;cursor:pointer}.pb-library-template>i{width:10px;height:30px;flex:none;border-radius:5px}.pb-library-template>span{display:grid;gap:3px;min-width:0;flex:1 1}.pb-library-template strong{overflow:hidden;color:var(--deep);font-size:calc((11px) * var(--density-font-scale, 1));text-overflow:ellipsis;white-space:nowrap}.pb-library-template em,.pb-library-template small{color:var(--muted);font-size:calc((9px) * var(--density-font-scale, 1));font-style:normal}.pb-library-dialog>footer{display:flex;justify-content:flex-end;gap:8px;padding:11px 14px;border-top:1px solid var(--line);background:#fafbfb}.pb-activity-details{padding:10px;border:1px solid var(--line);border-radius:8px;background:#f8faf9}.pb-activity-details>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--deep);font-size:calc((10px) * var(--density-font-scale, 1));font-weight:750;cursor:pointer}.pb-activity-details>summary small{color:var(--muted);font-size:calc((9px) * var(--density-font-scale, 1));font-weight:500}.pb-activity-details>.pb-activity-notes,.pb-activity-details>.pb-dependency-options,.pb-activity-details>.pb-field-grid{margin-top:10px}.pb-photo-storage-note{display:flex;align-items:center;gap:9px;margin-top:10px;padding:9px 10px;border:1px solid var(--line);border-radius:7px;background:#eef5fb}.pb-photo-storage-note>svg{width:18px;height:18px;flex:none;fill:none;stroke:#4e708a;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}.pb-photo-storage-note>span:first-of-type{display:grid;gap:2px;min-width:0}.pb-photo-storage-note strong{color:var(--deep);font-size:calc((10px) * var(--density-font-scale, 1))}.pb-photo-storage-note small{color:var(--muted);line-height:1.4}.pb-photo-paid-badge,.pb-photo-storage-note small{font-size:calc((9px) * var(--density-font-scale, 1))}.pb-photo-paid-badge{flex:none;margin-left:auto;padding:4px 7px;border:1px solid var(--line);border-radius:6px;background:white;color:var(--deep);font-weight:700;white-space:nowrap}.pb-dependency-options{display:grid;gap:4px;max-height:190px;overflow:auto}.pb-dependency-options>label{display:flex;align-items:flex-start;gap:7px;padding:6px;border-radius:6px;background:white;font-size:calc((10px) * var(--density-font-scale, 1))}.pb-dependency-options>label>span{display:grid;gap:2px}.pb-dependency-options small{color:var(--muted);font-size:calc((9px) * var(--density-font-scale, 1))}.pb-dependency-options input{width:15px;height:15px;margin:0;accent-color:var(--deep)}.pb-activity-details>strong{display:block;margin-bottom:10px;color:var(--deep);font-size:calc((10px) * var(--density-font-scale, 1))}.pb-dashboard-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:2px 12px 12px}.pb-dashboard-columns>section{min-width:0;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff}.pb-dashboard-columns h3{margin:0 0 7px;color:var(--deep);font-size:calc((11px) * var(--density-font-scale, 1))}.pb-dashboard-columns ul{display:grid;gap:4px;margin:0;padding:0;list-style:none}.pb-dashboard-columns li{display:grid;gap:3px;padding:6px 0;border-bottom:1px solid #edf1ef;color:#52665d;font-size:calc((10px) * var(--density-font-scale, 1));line-height:1.4}.pb-dashboard-columns li:last-child{border:0}.pb-dashboard-columns li.urgent,.pb-dashboard-columns li.warning{padding:6px 8px;border:1px solid #f2cbd0;border-radius:6px;background:#fff0f1;color:#a4212b}.pb-dashboard-columns li small{color:var(--muted);font-size:calc((9px) * var(--density-font-scale, 1))}.pb-programme-content{padding:10px 12px 0}.pb-programme-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#f8faf9}.pb-programme-stats>div{display:grid;gap:3px;min-width:0;padding:8px 10px;border-right:1px solid #e5ece8}.pb-programme-stats>div:last-child{border:0}.pb-programme-highlights span,.pb-programme-stats span{color:var(--muted);font-size:calc((9px) * var(--density-font-scale, 1))}.pb-programme-stats strong{color:var(--deep);font-size:calc((13px) * var(--density-font-scale, 1));font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pb-programme-highlights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px}.pb-programme-highlights>div{display:grid;gap:3px;min-width:0;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:white}.pb-programme-highlights strong{overflow:hidden;color:var(--deep);font-size:calc((10px) * var(--density-font-scale, 1));text-overflow:ellipsis;white-space:nowrap}.pb-programme-highlights small{color:var(--muted);font-size:calc((9px) * var(--density-font-scale, 1))}.pb-breakdown-section{display:grid;grid-template-columns:minmax(140px,.35fr) minmax(0,1fr);align-items:center;gap:8px 12px;margin:0 0 10px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#f8faf9}.pb-breakdown-section>label{display:flex;align-items:center;gap:8px;color:var(--deep);font-size:calc((10px) * var(--density-font-scale, 1));font-weight:700}.pb-breakdown-section select{min-width:90px;min-height:32px;padding:5px 24px 5px 8px;border:1px solid var(--line);border-radius:6px;background:white;color:var(--ink);font:inherit}.pb-breakdown-items{display:flex;flex-wrap:wrap;gap:5px}.pb-breakdown-items>span{display:inline-flex;align-items:center;gap:7px;padding:5px 7px;border:1px solid #e3eae6;border-radius:6px;background:white;color:var(--muted);font-size:calc((9px) * var(--density-font-scale, 1))}.pb-breakdown-items b{color:var(--deep);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:780px){.planner-build-gantt{padding:12px}.planner-build-table-view{gap:10px;padding:12px}.pb-gantt-toolbar{align-items:end}.pb-gantt-toolbar>label{flex:1 1 105px}.pb-history-actions{margin-left:0}.pb-gantt-header,.pb-gantt-row{--pb-label-width:200px!important}.pb-metric-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.pb-metric-grid.pb-primary-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pb-programme-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.pb-programme-stats>div:nth-child(3){border-right:0}.pb-quantity-facts{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:560px){.app-nav{gap:5px}.workspace-mode-select{min-width:100px;padding-left:8px;padding-right:20px;font-size:calc((9px) * var(--density-font-scale, 1))}.app-nav-modes{min-width:0}.app-nav-modes button{min-width:45px;padding-inline:7px}.planner-build-gantt{padding:10px 8px}.pb-view-heading h1{font-size:calc((19px) * var(--density-font-scale, 1))}.pb-view-heading p{max-width:320px;line-height:1.45}.pb-gantt-toolbar{gap:6px;padding:7px}.pb-gantt-toolbar>.pb-primary-button,.pb-gantt-toolbar>.pb-secondary-button{flex:1 1 100px}.pb-gantt-toolbar>.pb-filter-details>summary,.pb-gantt-toolbar>.pb-primary-button,.pb-gantt-toolbar>.pb-secondary-button,.pb-gantt-toolbar>.view-toggle,.pb-gantt-toolbar>label>select{height:42px;min-height:42px}.pb-gantt-toolbar select{width:100%;min-width:0}.pb-filter-details{flex:1 1 100%}.pb-filter-details>div{position:static;width:100%;margin-top:6px;box-shadow:none}.pb-add-choice,.pb-breakdown-section,.pb-dashboard-columns,.pb-library-controls{grid-template-columns:1fr}.pb-breakdown-section>label{justify-content:space-between}.pb-programme-stats,.pb-quantity-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.pb-programme-stats>div:nth-child(3){border-right:1px solid #e5ece8}.pb-programme-stats>div:nth-child(2n){border-right:0}.pb-programme-highlights{grid-template-columns:1fr}.pb-history-actions{flex:1 0 100%}.pb-history-actions button{flex:1 1}.pb-gantt-header,.pb-gantt-row{--pb-label-width:172px!important}.pb-data-section>summary{padding-inline:10px}.pb-data-section>summary small{max-width:46%}.pb-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pb-metric-card{padding:9px}.pb-metric-card>strong{font-size:calc((14px) * var(--density-font-scale, 1))}.pb-field-grid{grid-template-columns:1fr}.pb-activity-dialog form{padding-inline:13px}.planner-build-content :is(.pb-primary-button,.pb-secondary-button,.pb-danger-button,.pb-history-actions button,.pb-close-button){min-height:42px}.pb-field input:not([type=color]),.pb-field select{min-height:42px}.pb-colour-presets{grid-template-columns:repeat(6,minmax(0,1fr))}.pb-gantt-resize{width:12px}.pb-photo-storage-note{align-items:flex-start;flex-wrap:wrap}.pb-photo-paid-badge{margin-left:27px}}.editor-page{min-height:calc(100vh - 68px);padding:26px 28px 38px}.editor-version{flex:none;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--muted);font:500 calc(10px * var(--density-font-scale, 1)) var(--font-mono)}.editor-layout{max-width:none;width:max-content;min-width:min(100%,1500px);margin:auto;display:grid;grid-template-columns:285px max-content 320px;gap:14px;align-items:start}.coordinate-panel,.editor-tools{display:grid;gap:12px}.tool-section{padding:16px;border:1px solid var(--line);border-radius:12px;background:white;box-shadow:0 8px 26px rgba(28,45,38,.04)}.tool-heading{display:flex;gap:9px;align-items:center;margin-bottom:12px}.tool-heading h2{margin:0;font-size:calc((14px) * var(--density-font-scale, 1))}.tool-note{margin:-4px 0 var(--toolbar-control-gap);color:var(--muted);font-size:calc((11px) * var(--density-font-scale, 1));line-height:1.5}.button-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.button-grid .span-two{grid-column:1/-1}.editor-history-row{margin-top:var(--toolbar-control-gap)}.button-grid button,.danger-button,.mode-switch button,.primary-small,.review-style-button,.save-actions button,.validate-button{border:1px solid var(--line);border-radius:7px;padding:9px 10px;background:#f9faf8;color:var(--ink);font:600 calc(10px * var(--density-font-scale, 1)) var(--font-mono);cursor:pointer}.button-grid button:hover,.mode-switch button:hover,.review-style-button:hover:not(:disabled),.save-actions button:hover{border-color:#aab5af}.colour-reset-button{width:100%;margin-top:8px}.button-grid button.active{border-color:var(--deep);background:#eaf2ee;box-shadow:inset 0 0 0 1px var(--deep)}.full-plan-overall-properties{display:grid;gap:0;margin-top:var(--toolbar-control-gap);padding-top:var(--toolbar-control-gap);border-top:1px solid var(--line)}.full-plan-overall-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:31px;padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:#f5f9fd;color:var(--deep);font:700 calc(10px * var(--density-font-scale, 1))/1.1 var(--font-mono);text-align:left;cursor:pointer}.full-plan-overall-toggle>span{font-size:calc((16px) * var(--density-font-scale, 1));line-height:1}.full-plan-overall-properties.expanded .full-plan-overall-toggle{border-radius:8px 8px 0 0}.full-plan-overall-content{display:grid;gap:var(--toolbar-control-gap);padding:10px;border:1px solid var(--line);border-top:0;border-radius:0 0 8px 8px;background:#fbfcfa}.full-plan-overall-content .plan-constraint-controls{margin:0}.l-shape-picker{margin-top:10px;padding:10px;border:1px solid #b9c9c1;border-radius:9px;background:#f3f7f4}.l-shape-picker>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--ink);font:700 calc(10px * var(--density-font-scale, 1)) var(--font-mono)}.l-shape-picker>div:first-child button{width:24px;height:24px;padding:0;border:0;border-radius:5px;background:transparent;color:var(--muted);font-size:calc((17px) * var(--density-font-scale, 1));cursor:pointer}.l-shape-picker>p{margin:5px 0 9px;color:var(--muted);font-size:calc((9px) * var(--density-font-scale, 1));line-height:1.4}.l-shape-options{display:grid;grid-template-columns:1fr 1fr;gap:7px}.l-shape-options>button{display:grid;justify-items:center;gap:6px;min-width:0;padding:8px 5px 7px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink);cursor:pointer}.l-shape-options>button:focus-visible,.l-shape-options>button:hover{border-color:var(--deep);box-shadow:inset 0 0 0 1px var(--deep);outline:none}.l-shape-thumbnail{width:70px;height:58px;display:grid;place-items:center}.l-shape-thumbnail i{width:54px;height:48px;display:block;background:#68b982;box-shadow:inset 0 0 0 2px #37985b}.l-shape-options strong{font:600 calc(7px * var(--density-font-scale, 1))/1.3 var(--font-mono)}.outline-menu-content{display:grid;gap:12px}.outline-menu-content>p{margin:0;color:var(--muted);font:550 calc(10px * var(--density-font-scale, 1))/1.5 var(--font-mono)}.outline-menu-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.outline-menu-option{position:relative;display:grid;align-content:center;gap:4px;min-width:0;min-height:64px;padding:10px 11px;border:1px solid var(--line);border-radius:8px;background:#f9faf8;color:var(--ink);text-align:left;cursor:pointer}.outline-menu-option:focus-visible,.outline-menu-option:hover{border-color:var(--deep);background:#edf4ef;box-shadow:inset 0 0 0 1px var(--deep);outline:none}.outline-menu-option strong{color:var(--deep);font:700 calc(10px * var(--density-font-scale, 1))/1.25 var(--font-mono)}.outline-menu-option small,.outline-menu-option>span:not(.outline-menu-arrow){color:var(--muted);font:500 calc(9px * var(--density-font-scale, 1))/1.35 var(--font-sans)}.outline-menu-option-with-arrow{grid-template-columns:1fr auto;align-items:center}.outline-menu-option-with-arrow>span:first-child{display:grid;gap:4px}.outline-menu-arrow{color:var(--deep);font:700 calc(18px * var(--density-font-scale, 1))/1 var(--font-sans)}@media (max-width:480px){.outline-menu-options{grid-template-columns:1fr}}.mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-bottom:var(--toolbar-control-gap)}.plan-constraint-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:var(--toolbar-control-gap);padding-top:var(--toolbar-control-gap);border-top:1px solid var(--line)}.plan-constraint-controls .check-row{margin:0;font:500 calc(12px * var(--density-font-scale, 1))/1.25 var(--font-sans)}.plan-constraint-controls .check-row input{margin-top:0}.snap-control-row{box-sizing:border-box;display:flex;align-items:center;gap:6px;margin:0;padding-top:20px;color:var(--muted);font:500 calc(12px * var(--density-font-scale, 1))/1.25 var(--font-sans);white-space:nowrap}.snap-control-row>input{margin:0;accent-color:var(--deep)}.snap-control-row>span{display:inline-flex;align-items:center;gap:3px;flex:1 1;min-width:0;white-space:nowrap}.snap-size-control{min-width:0;margin:0}.square-walls-control{align-items:flex-start;white-space:normal!important}.square-walls-control>span{display:grid;gap:2px}.square-walls-control small{color:var(--muted);font:500 calc(9px * var(--density-font-scale, 1))/1.35 var(--font-sans)}.mode-switch button.active{border-color:var(--deep);background:var(--deep);color:white}.editor-tools .tool-section>.button-grid+.mode-switch{margin-top:12px}.check-row{display:flex;gap:8px;align-items:flex-start;margin:var(--toolbar-control-gap) 0;color:var(--muted);font-size:calc((10px) * var(--density-font-scale, 1));line-height:1.4}.check-row input{margin:1px 0 0;accent-color:var(--deep)}.selected-properties{margin-top:var(--toolbar-control-gap);padding-top:var(--toolbar-control-gap);border-top:1px solid var(--line);display:grid;gap:var(--toolbar-control-gap)}.selected-properties h3{margin:0;font-size:calc((12px) * var(--density-font-scale, 1))}.field{display:grid;gap:5px;color:var(--muted);font:600 calc(9px * var(--density-font-scale, 1)) var(--font-mono)}.field input,.field select,textarea{width:100%;border:1px solid var(--line);border-radius:7px;padding:9px;background:#fcfdfb;color:var(--ink);font:500 calc(11px * var(--density-font-scale, 1)) var(--font-mono)}.field input:focus,.field select:focus,textarea:focus{outline:2px solid rgba(24,61,52,.18);border-color:var(--deep)}.coordinate-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.room-measurements{align-items:start}.room-measurements .field{min-width:0;align-content:start}.room-measurements .field>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-measurements .field input{box-sizing:border-box;width:100%;height:38px;min-height:38px;align-self:start}.coordinate-input-list{min-height:0;display:block}.coordinate-input-list>div,.coordinate-table-heading{min-height:24px;display:grid;grid-template-columns:60px minmax(0,1fr) minmax(0,1fr);align-items:center;gap:5px}.coordinate-input-list>.coordinate-row.selected{border-radius:5px;background:rgba(232,241,236,.9);box-shadow:inset 3px 0 0 var(--deep)}.coordinate-input-list>.coordinate-row.selected .coordinate-prefix{color:var(--deep)}.coordinate-table-heading{font-weight:700;border-bottom:1px solid var(--line)}.coordinate-table-heading>:not(:first-child){text-align:right}.coordinate-input-list input{min-width:0;padding:1px 2px;border:0;border-bottom:1px solid transparent;border-radius:0;background:transparent;color:var(--ink);font:700 calc(11px * var(--density-font-scale, 1)) var(--font-mono);text-align:right;box-shadow:none}.coordinate-input-list input:hover{border-bottom-color:#c8d3cc}.coordinate-input-list input:focus{outline:0;border-bottom-color:var(--deep);background:rgba(232,241,236,.5)}.coordinate-comma,.coordinate-prefix{color:var(--ink);font:700 calc(11px * var(--density-font-scale, 1)) var(--font-mono);white-space:nowrap}.coordinate-prefix,.coordinate-table-heading>:first-child{min-width:28px;padding-left:4px;box-sizing:border-box}.primary-small,.validate-button{width:100%;border-color:var(--deep);background:var(--deep);color:white}.danger-button{width:100%;color:var(--fail);border-color:#efc5c1;background:var(--fail-soft)}.drawing-column{min-width:0}.resizable-floorplan-window{position:relative;display:flex;flex-direction:column;width:min(820px,calc(100vw - 690px));height:650px;min-width:480px;min-height:440px;resize:both;overflow:auto}.resizable-floorplan-window .drawing-scale,.resizable-floorplan-window .drawing-toolbar{flex:0 0 auto}.resizable-floorplan-window .floor-canvas{flex:1 1 auto;width:100%;height:auto;min-height:0}.resizable-floorplan-window .full-plan-canvas{display:flex;flex:1 1 auto;min-height:0}.resizable-floorplan-window .full-plan-canvas>.floor-canvas{height:100%}.drawing-toolbar{min-height:42px;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 12px;border:1px solid var(--line);border-bottom:0;border-radius:12px 12px 0 0;background:white;color:var(--muted);font:500 calc(10px * var(--density-font-scale, 1)) var(--font-mono)}.drawing-toolbar button{border:0;background:transparent;color:var(--deep);font:700 calc(10px * var(--density-font-scale, 1)) var(--font-mono);cursor:pointer}.drawing-zoom{display:inline-flex;flex:none;align-items:center;overflow:hidden;border:1px solid var(--line);border-radius:6px;background:#fbfcfa}.drawing-zoom button{min-width:26px;min-height:23px;padding:3px 6px;border-right:1px solid var(--line);font-size:calc((11px) * var(--density-font-scale, 1))}.drawing-zoom button:last-child{border-right:0}.drawing-zoom button:nth-child(2){min-width:44px;color:var(--muted);font-size:calc((9px) * var(--density-font-scale, 1))}.drawing-zoom .fit-view-button{min-width:38px;color:var(--deep);font-size:calc((9px) * var(--density-font-scale, 1))}.drawing-zoom button:hover{background:#edf3ef;color:var(--deep)}.drawing-navigation-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;flex:0 0 100%;gap:5px;width:100%;min-width:0}.drawing-navigation-row .drawing-zoom{width:100%;min-width:0}.drawing-navigation-row .drawing-zoom button{flex:1 1;min-width:0}.drawing-navigation-row .fit-view-button{width:100%;min-width:0;min-height:29px;padding:6px 8px;border:1px solid var(--line);border-radius:6px;background:#fbfcfa;color:var(--deep);font:700 calc(10px * var(--density-font-scale, 1)) var(--font-mono)}.drawing-navigation-row .fit-view-button:focus-visible,.drawing-navigation-row .fit-view-button:hover{border-color:#aab5af;background:#edf3ef;outline:none}.floor-canvas{width:100%;min-height:560px;display:block;border:1px solid var(--line);background:#eef1ed;touch-action:none;cursor:crosshair}.canvas-background{fill:#eef1ed}.canvas-background,.plan-grid,.room-polygon,.vertex-label,.wall-label{pointer-events:none}.floor-canvas.mode-add_measure .room-polygon{pointer-events:all;cursor:crosshair}.plan-grid line{stroke:#d9dfda;stroke-width:1}.room-polygon{fill:#fff;stroke:none}.wall-body{stroke:var(--deep);stroke-width:var(--wall-stroke-width,10px);stroke-linecap:square;pointer-events:none}.wall-line{stroke:white;stroke-width:var(--wall-inner-stroke-width,4px);stroke-linecap:square;cursor:grab}.wall-interaction-line{stroke:transparent;stroke-width:var(--wall-hit-stroke-width,24px);stroke-linecap:square;pointer-events:stroke;cursor:grab}.wall-selection-line{stroke:#f1b14b;stroke-width:var(--wall-inner-stroke-width,4px);stroke-linecap:square;pointer-events:none}.wall-selection-line.measurement-chosen{stroke:#2f9b7c}.wall-thickness-label{fill:var(--deep);font:700 calc(9px * var(--density-font-scale, 1)) var(--font-mono);text-anchor:middle;dominant-baseline:central;paint-order:stroke;stroke:white;stroke-width:4px;pointer-events:none}.wall-line:active{cursor:grabbing}.wall-line.selected,.wall-line:hover{stroke:#f1b14b;stroke-width:var(--wall-inner-stroke-width,4px)}.wall-dimension{color:#151515;pointer-events:none}.wall-dimension .wall-label{fill:currentColor}.measurement-context-target,.measurement-context-target *{pointer-events:all;cursor:context-menu}.measurement-context-target .dimension-extension,.measurement-context-target .dimension-tick,.measurement-context-target .measurement-hit,.measurement-context-target .wall-label{pointer-events:all}.measurement-item.editable,.measurement-item.editable *{pointer-events:all;cursor:grab}.measurement-item.editable:active{cursor:grabbing}.measurement-item.selected{color:#1678bd}.measurement-item.manual-measurement{color:#49a3dd}.measurement-item.manual-measurement .manual-measurement-value{fill:#49a3dd}.measurement-item.custom-measurement .wall-label{fill:#151515}.custom-measurement{color:#151515}.measurement-hit{stroke:transparent;stroke-width:32;pointer-events:none}.measurement-item.editable .measurement-hit{pointer-events:stroke}.measurement-context-target .dimension-extension,.measurement-context-target .dimension-tick{pointer-events:none}.measurement-context-target .measurement-hit{stroke-width:12;pointer-events:stroke}.measurement-removal-target .measurement-hit{stroke-width:28;pointer-events:stroke}.measurement-context-target .wall-label{-webkit-user-select:none;user-select:none}.wall-line.measurement-chosen{stroke:#2f9b7c;stroke-width:var(--wall-inner-stroke-width,4px)}.vertex-handle.measurement-chosen{fill:#d7f5e9;stroke:#2f9b7c;stroke-width:5}.measurement-reference-point circle{fill:#d7f5e9;stroke:#2f9b7c;stroke-width:3;vector-effect:non-scaling-stroke}.measurement-reference-point text{fill:#2f9b7c;font:700 calc(9px * var(--density-font-scale, 1)) var(--font-mono);text-anchor:middle;paint-order:stroke;stroke:white;stroke-width:4px}.dimension-extension,.dimension-line,.dimension-tick{stroke:currentColor;stroke-width:1;vector-effect:non-scaling-stroke}.dimension-extension{opacity:.62}.dimension-tick{stroke-width:1.3}.wall-label{fill:#44514b;font:650 calc(10px * var(--density-font-scale, 1)) var(--font-mono);text-anchor:middle;dominant-baseline:central;paint-order:stroke;stroke:white;stroke-width:5px}.vertex-handle{fill:white;stroke:var(--deep);stroke-width:4;cursor:grab}.vertex-handle:active{cursor:grabbing}.vertex-handle.hovered,.vertex-handle:hover{fill:#fff0cf;stroke:#f1b14b;stroke-width:5}.vertex-handle.selected{fill:#ffcb71;stroke:#8d5700}.vertex-handle.draw-connect-target{fill:#fff0cf;stroke:#f1b14b;stroke-width:5;cursor:crosshair}.corner-hover-hit{fill:transparent;stroke:transparent;pointer-events:all;cursor:grab}.corner-hover-hit.draw-mode{cursor:crosshair}.corner-connect-hit{fill:transparent;stroke:transparent;pointer-events:all;cursor:crosshair}.vertex-label{fill:var(--ink);font:700 calc(8px * var(--density-font-scale, 1)) var(--font-mono);text-anchor:middle}.opening-symbol{pointer-events:auto}.pickable-opening{cursor:grab}.pickable-opening:active{cursor:grabbing}.opening-hit{stroke:transparent;stroke-width:25;pointer-events:stroke}.opening-hit-area{fill:rgba(76,175,138,.002);stroke:transparent;stroke-width:12;pointer-events:fill;cursor:grab}.opening-swing-hit{fill:none;stroke:transparent;stroke-width:18;pointer-events:stroke}.opening-gap{stroke:white;stroke-width:var(--opening-gap-width,14px);pointer-events:none}.opening-jamb{stroke:#233e37;stroke-width:2.5;stroke-linecap:square;pointer-events:none}.door-closed-line{stroke:#8e9a95;stroke-width:1.2;stroke-dasharray:4 3;pointer-events:none}.door-leaf{stroke:#4caf8a;stroke-width:3;stroke-linecap:square;pointer-events:none}.door-swing{fill:none;stroke:#4caf8a;stroke-width:1.5;stroke-dasharray:4 2;pointer-events:none}.opening-dimension{color:#9a4604;pointer-events:none}.opening-dimension.measurement-context-target{pointer-events:all;cursor:context-menu}.opening-dimension-label{fill:currentColor;font:650 calc(9px * var(--density-font-scale, 1)) var(--font-mono);text-anchor:middle;dominant-baseline:central;paint-order:stroke;stroke:white;stroke-width:5px}.window-dimension{color:#9a4604}.window-dimension .opening-dimension-label{fill:currentColor}.window-frame{stroke:var(--window-colour,#287fb8);stroke-width:2.6;stroke-linecap:square;pointer-events:none}.window-projecting-frame{stroke:var(--window-plan-colour,#287fb8);stroke-linecap:square;pointer-events:none}.window-core{stroke:#76acd0;stroke-width:1.2;pointer-events:none}.window-pane{stroke:#287fb8;stroke-width:1.5;pointer-events:none}.window-jamb{stroke:#287fb8}.pickable-opening.selected .door-leaf,.pickable-opening.selected .door-swing,.pickable-opening:hover .door-leaf,.pickable-opening:hover .door-swing{stroke:#e29527}.pickable-opening.door-symbol.selected{color:#e29527}.pickable-opening.selected .window-core,.pickable-opening.selected .window-frame,.pickable-opening.selected .window-jamb,.pickable-opening.selected .window-projecting-frame,.pickable-opening:hover .window-core,.pickable-opening:hover .window-frame,.pickable-opening:hover .window-jamb,.pickable-opening:hover .window-projecting-frame{stroke:#49a3dd}.drawing-scale{display:flex;justify-content:space-between;gap:12px;padding:8px 11px;border:1px solid var(--line);border-top:0;border-radius:0 0 12px 12px;background:white;color:var(--muted);font:500 calc(8px * var(--density-font-scale, 1)) var(--font-mono)}textarea{min-height:190px;resize:vertical;line-height:1.55}.validation-fail,.validation-pass{margin-top:11px;padding:11px;border-radius:8px;font-size:calc((10px) * var(--density-font-scale, 1))}.validation-pass{border:1px solid #b6dcc7;background:var(--fit-soft)}.validation-fail{border:1px solid #efc5c1;background:var(--fail-soft);color:var(--fail)}.validation-pass>div:first-child{display:grid;gap:4px}.validation-fail strong,.validation-pass strong{font:750 calc(10px * var(--density-font-scale, 1)) var(--font-mono)}.validation-pass ul{margin:9px 0 0;padding-left:17px;color:var(--muted);line-height:1.45}.save-actions{display:grid;grid-template-columns:1fr 1.4fr;gap:7px;margin-top:var(--toolbar-control-gap)}.save-actions .save-button{border-color:var(--deep);background:var(--deep);color:white}.save-actions button:disabled{opacity:.45;cursor:not-allowed}.inline-error{margin:7px 0;color:var(--fail);font-size:calc((10px) * var(--density-font-scale, 1));line-height:1.4}.opening-section .mode-switch{margin:2px 0 0}.editing-notice{margin:0 0 10px;padding:8px 9px;border-left:3px solid var(--verify);background:var(--verify-soft);color:#664512;font-size:calc((10px) * var(--density-font-scale, 1));line-height:1.45}.opening-form-actions{display:grid;grid-template-columns:1fr 1.6fr;gap:8px;margin-top:var(--toolbar-control-gap)}.opening-form-actions>button{min-height:38px;border:1px solid var(--line);border-radius:7px;background:#f9faf8;color:var(--ink);font:600 calc(10px * var(--density-font-scale, 1)) var(--font-mono);cursor:pointer}.opening-form-actions>.primary-small:only-child{grid-column:1/-1}.opening-form-actions .danger-button{color:var(--fail);border-color:#efc5c1;background:var(--fail-soft)}.opening-chip{padding:4px 6px;border-radius:4px;font:750 calc(7px * var(--density-font-scale, 1)) var(--font-mono)}.opening-chip.door{background:var(--verify-soft);color:var(--verify)}.opening-chip.window{background:#e5f1fa;color:#24668f}.stale-analysis{margin:var(--toolbar-control-gap) 0;padding:15px;border:1px solid #e4bd79;border-radius:10px;background:var(--verify-soft)}.stale-analysis strong{font:750 calc(11px * var(--density-font-scale, 1)) var(--font-mono);color:var(--verify)}.stale-analysis p{margin:7px 0 10px;font-size:calc((11px) * var(--density-font-scale, 1));line-height:1.45}.stale-analysis button{border:0;border-radius:7px;padding:9px 11px;background:var(--verify);color:white;font:650 calc(10px * var(--density-font-scale, 1)) var(--font-mono);cursor:pointer}.stale-analysis span{display:block;margin-top:7px}.project-error,.stale-analysis span{color:var(--fail);font-size:calc((10px) * var(--density-font-scale, 1))}.project-error{margin:9px 0 0;line-height:1.4}@media (max-width:1180px){.editor-layout{grid-template-columns:250px minmax(460px,1fr)}.coordinate-panel{grid-column:1/-1;grid-template-columns:1fr 1fr}}@media (max-width:900px){.topbar{grid-template-columns:1fr auto;padding:0 16px}.project-meta{display:none}.workspace{grid-template-columns:1fr}.evidence-panel{border-right:0;border-bottom:1px solid var(--line);padding:25px 18px}.visual-panel{padding:18px}.viewer-shell{min-height:520px}.viewer-toolbar{align-items:flex-start}.toggle-row{max-width:60%;flex-wrap:wrap;justify-content:flex-end}.editor-page{padding:20px 16px 30px}.editor-layout{grid-template-columns:1fr}.coordinate-panel,.editor-tools{grid-column:auto;grid-template-columns:1fr 1fr}.drawing-column{grid-row:1}.brand>span:last-child{display:none}.app-identity{gap:8px}.catalogue-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.truth-badge{font-size:0}.truth-badge:after{content:"mm verified";font-size:calc((9px) * var(--density-font-scale, 1))}.visual-heading{align-items:start;gap:8px}.version-chip{max-width:145px}.viewer-shell{min-height:460px}.viewer-toolbar{position:static;padding:8px;background:white;flex-direction:column}.toggle-row{max-width:100%;width:100%;justify-content:flex-start}.viewer-legend{display:none}.topbar{height:auto;min-height:68px;grid-template-columns:1fr auto;gap:8px;padding-block:9px}.app-nav{grid-column:1/-1;grid-row:2}.app-nav-modes,.app-nav-modes button{flex:1 1}.editor-page{min-height:calc(100vh - 110px)}.coordinate-panel,.editor-tools,.fixture-selectors{grid-template-columns:1fr}.fixture-fields.three-columns{grid-template-columns:1fr 1fr}.fixture-list article{grid-template-columns:auto minmax(0,1fr) auto}.fixture-list .remove-fixture{grid-column:3}.floor-canvas{min-height:430px}.resizable-floorplan-window{width:100%;min-width:0;height:520px;min-height:420px;resize:vertical}.resizable-floorplan-window .floor-canvas{min-height:0}.drawing-scale{display:none}.app-identity{width:100%;grid-column:1/-1}.software-menu{margin-left:auto}.software-dropdown{left:auto;right:0}.catalogue-modal{width:98vw;height:96vh}.catalogue-header{padding:15px}.catalogue-toolbar{align-items:stretch;flex-direction:column}.catalogue-layout{grid-template-columns:1fr}.catalogue-categories{max-height:34vh;overflow-y:auto;padding:8px;border-right:0;border-bottom:1px solid var(--line)}.catalogue-categories button{margin-bottom:3px}.catalogue-detail-grid,.catalogue-detail-hero,.catalogue-detail-metadata,.catalogue-form-grid,.catalogue-grid{grid-template-columns:1fr}.catalogue-form-grid .span-two{grid-column:auto}.catalogue-manager-form{grid-template-columns:1fr}.catalogue-manager-form .span-two{grid-column:auto}}.full-floorplan-editor{padding:22px;background:var(--paper)}.full-floorplan-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:10px}.full-floorplan-toolbar h1{margin:3px 0 0;font-size:calc((28px) * var(--density-font-scale, 1))}.full-floorplan-actions{display:flex;flex-wrap:wrap;gap:7px}.full-floorplan-actions button,.full-floorplan-rooms button{padding:9px 13px;border:1px solid var(--line);border-radius:7px;background:white;font:650 calc(9px * var(--density-font-scale, 1)) var(--font-mono)}.full-floorplan-actions button.active,.full-floorplan-actions button.primary,.full-floorplan-rooms button{border-color:var(--deep);background:var(--deep);color:white}.full-floorplan-actions button.danger{background:#8c302c}.full-floorplan-help{margin:0 0 10px;color:var(--muted);font-size:calc((12px) * var(--density-font-scale, 1))}.full-floorplan-workspace{display:grid;grid-template-columns:minmax(0,1fr) 230px;min-height:610px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:white}.full-floorplan-workspace>svg{width:100%;height:610px;touch-action:none;cursor:crosshair}.project-wall{fill:none;stroke:var(--deep);stroke-width:9;stroke-linecap:square;stroke-linejoin:miter;vector-effect:non-scaling-stroke}.project-wall.draft{stroke:#2e8b70;stroke-dasharray:8 5}.project-wall.removable{cursor:pointer}.project-wall.removable:hover{stroke:#b53a34}.project-wall-node{fill:white;stroke:var(--deep);stroke-width:3;vector-effect:non-scaling-stroke;pointer-events:none}.full-floorplan-rooms{padding:14px;border-left:1px solid var(--line);background:#f7f8f5}.full-floorplan-rooms h2{margin:0 0 12px;font-size:calc((15px) * var(--density-font-scale, 1))}.full-floorplan-rooms>p{color:var(--muted);font-size:calc((11px) * var(--density-font-scale, 1));line-height:1.5}.full-floorplan-rooms>div{display:grid;gap:3px;margin-bottom:7px;padding:8px;border:1px solid var(--line);border-radius:7px;background:white}.full-floorplan-rooms>div.selected{border-color:var(--deep);box-shadow:inset 0 0 0 1px var(--deep)}.full-floorplan-rooms input{min-width:0;border:0;border-bottom:1px solid var(--line);background:transparent;font-weight:650}.full-floorplan-rooms small{color:var(--muted)}.full-floorplan-rooms button{width:100%;margin-top:8px}@media (max-width:900px){.full-floorplan-toolbar{align-items:flex-start;flex-direction:column}.full-floorplan-workspace{grid-template-columns:1fr}.full-floorplan-rooms{border-left:0;border-top:1px solid var(--line)}}.full-plan-page{background:var(--paper)}.floorplan-export-dialog{width:min(420px,calc(100vw - 32px));display:grid;gap:13px;padding:18px;border:1px solid var(--line);border-radius:12px;background:white;box-shadow:0 20px 55px rgba(20,39,31,.24)}.floorplan-export-dialog footer,.floorplan-export-dialog header{display:flex;justify-content:space-between;align-items:center;gap:10px}.floorplan-export-dialog h2{margin:3px 0 0;font-size:calc((18px) * var(--density-font-scale, 1))}.floorplan-export-dialog footer button{min-height:35px;padding:0 12px;border:1px solid var(--line);border-radius:7px;background:#f8faf8;color:var(--ink);font:650 calc(10px * var(--density-font-scale, 1)) var(--font-mono);cursor:pointer}.floorplan-export-dialog footer .primary{border-color:var(--deep);background:var(--deep);color:white}.export-style-preview{display:grid;gap:5px;padding:14px;border:1px solid #cfd8d1;border-radius:8px;background:linear-gradient(135deg,#f8faf8,#edf4ef)}.export-style-preview>span{color:var(--muted);font:700 calc(8px * var(--density-font-scale, 1)) var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.export-style-preview strong{font-size:calc((14px) * var(--density-font-scale, 1))}.export-style-preview small{color:var(--muted);font-size:calc((10px) * var(--density-font-scale, 1));line-height:1.4}.export-svg-preview{height:155px;overflow:hidden;border:1px solid rgba(27,57,48,.14);border-radius:5px;background:white}.export-svg-preview svg{display:block;width:100%!important;height:100%!important;min-height:0!important}.export-style-traditional .export-style-preview{background:white;color:#151515}.export-style-modern .export-style-preview{background:linear-gradient(135deg,#edf8f6,#e8eff9)}.export-style-creative .export-style-preview{background:linear-gradient(135deg,#fff4de,#f6e8dc)}.full-plan-layout{grid-template-columns:285px max-content 320px}.full-plan-controls{max-height:min(78vh,760px);overflow-y:auto}.full-plan-controls small{display:block;overflow:hidden;margin:5px 0 8px;color:var(--muted);text-overflow:ellipsis}.full-plan-controls button:disabled,.full-plan-rooms button:disabled{cursor:not-allowed;opacity:.42}.full-plan-mode-switch{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:12px}.full-plan-mode-switch button{min-width:0;padding-inline:6px}.full-plan-mode-switch button.danger.active{border-color:#9b3a34;background:#9b3a34;color:white}.full-plan-action-row{margin-top:8px}.full-plan-action-divider{height:1px;margin:10px 3px 0;background:var(--line)}.full-plan-help{margin:10px 0 0;color:var(--muted);font-size:calc((10px) * var(--density-font-scale, 1));line-height:1.5}.full-plan-help.danger-help{padding:9px;border-left:3px solid #b5524c;border-radius:0 6px 6px 0;background:#fff1ef;color:#7d2c28}.floorplan-context-menu{position:fixed;z-index:1200;width:176px;display:grid;gap:5px;padding:8px;border:1px solid #b9c6bd;border-radius:9px;background:rgba(255,255,255,.98);box-shadow:0 12px 32px rgba(20,39,31,.2)}.floorplan-context-menu strong{padding:3px 5px 5px;color:var(--muted);font:700 calc(9px * var(--density-font-scale, 1)) var(--font-mono);text-transform:uppercase;letter-spacing:.06em}.floorplan-context-menu button{width:100%;padding:8px 9px;border:1px solid var(--line);border-radius:6px;background:#f8faf8;color:var(--ink);font:650 calc(10px * var(--density-font-scale, 1)) var(--font-mono);text-align:left;cursor:pointer}.floorplan-context-menu button:focus-visible,.floorplan-context-menu button:hover{border-color:var(--deep);outline:none;background:#edf4ef}.floorplan-context-menu .danger-button{border-color:#efc5c1;background:var(--fail-soft);color:var(--fail)}.pb-activity-context-menu button:not(.danger-button){border-color:var(--line);background:var(--surface-muted);color:var(--ink)}.floorplan-context-menu.floorplan-value-menu{width:224px;max-height:min(520px,calc(100vh - 16px));overflow-y:auto}.floorplan-value-menu label{display:grid;gap:4px;padding:3px 5px;color:var(--muted);font:650 calc(8px * var(--density-font-scale, 1)) var(--font-mono)}.floorplan-value-menu .context-help{padding:0 5px 4px;color:var(--muted);font:500 calc(8px * var(--density-font-scale, 1)) var(--font-mono)}.floorplan-value-menu label>div{width:100%}.floorplan-value-menu input{width:100%;min-width:0;padding:7px;border:1px solid var(--line);border-radius:5px;background:white;color:var(--ink);font:650 calc(10px * var(--density-font-scale, 1)) var(--font-mono)}.measurement-value-menu{width:236px;gap:8px;padding:12px;border-radius:12px}.measurement-value-menu strong{padding:1px 3px 0}.measurement-value-menu label{gap:5px;padding:0 3px;font-size:calc((10px) * var(--density-font-scale, 1))}.measurement-value-menu label small{display:block;margin-top:1px;font-size:calc((8px) * var(--density-font-scale, 1))}.measurement-value-menu input{padding:9px 10px;border-radius:7px;font-size:calc((12px) * var(--density-font-scale, 1))}.measurement-value-menu button{padding:10px 11px;border-radius:8px;font-size:calc((11px) * var(--density-font-scale, 1))}.context-coordinate-fields{display:grid;grid-template-columns:1fr 1fr;gap:5px}.secondary-action{border-color:var(--line);background:#f9faf8;color:var(--ink)}.full-plan-drawing{min-width:0}.full-plan-canvas{position:relative;overflow:hidden}.floorplan-import-status{position:absolute;z-index:4;top:12px;left:50%;transform:translateX(-50%);max-width:calc(100% - 24px);padding:8px 12px;border:1px solid #b9c9c1;border-radius:8px;background:rgba(255,255,255,.94);color:var(--ink);font:600 calc(10px * var(--density-font-scale, 1))/1.35 var(--font-mono);box-shadow:0 8px 20px rgba(28,45,38,.12)}.floorplan-import-status.error{border-color:#e5aaa4;color:var(--fail)}.full-plan-canvas>embed{position:absolute;z-index:0;inset:0;width:100%;height:100%;border:0;opacity:.38;pointer-events:none}.drawing-calibration-panel{position:absolute;top:52px;left:50%;transform:translateX(-50%);z-index:6;width:min(420px,calc(100% - 32px))}.drawing-calibration-popup{width:100%}.drawing-calibration-popup .popup-content{display:grid;gap:10px}.drawing-calibration-popup .popup-content p{margin:0}.drawing-calibration-hint{color:var(--muted)!important;font-size:calc((10px) * var(--density-font-scale, 1))!important}.drawing-calibration-popup label{display:grid;gap:5px;color:var(--muted);font:650 calc(9px * var(--density-font-scale, 1)) var(--font-mono)}.drawing-calibration-popup input{width:100%;margin-top:1px;padding:9px 10px;border:1px solid var(--line);border-radius:7px;background:white;color:var(--ink);font:550 calc(12px * var(--density-font-scale, 1)) var(--font-mono)}.drawing-calibration-popup .popup-actions button:disabled{opacity:.45;cursor:default}.full-plan-canvas>svg{position:relative;z-index:1}.canvas-background.underlay{fill:rgba(248,250,247,.28)}.full-plan-source-image{opacity:.48;pointer-events:none}.full-plan-empty text{fill:var(--muted);font:600 calc(11px * var(--density-font-scale, 1)) var(--font-mono);text-anchor:middle;pointer-events:none}.full-plan-empty text+text{font-size:calc((9px) * var(--density-font-scale, 1));opacity:.8}.full-room-highlight{cursor:pointer}.full-room-highlight polygon{stroke:currentColor;stroke-width:4;vector-effect:non-scaling-stroke;fill:currentColor;fill-opacity:.16}.full-room-highlight.selected polygon{fill:#f6b768;fill-opacity:.42;stroke:#d27a18;stroke-width:5}.room-name-editor{overflow:visible}.room-name-drag-shell{box-sizing:border-box;display:flex;align-items:center;width:100%;height:100%;padding:2px;border:1px solid transparent;border-radius:3px;cursor:grab}.room-name-editor.dragging .room-name-drag-shell,.room-name-editor:hover .room-name-drag-shell{border-color:#1685dd;background:rgba(255,255,255,.18)}.room-name-editor.dragging .room-name-drag-shell{cursor:grabbing}.room-name-editor input{box-sizing:border-box;width:100%;height:24px;padding:2px 4px;border:0;border-radius:0;outline:none;background:transparent;color:#173b32;font:700 calc(11px * var(--density-font-scale, 1)) var(--font-mono);text-align:center;box-shadow:none;cursor:text}.room-name-editor input:focus{box-shadow:none}.full-room-highlight.room-colour-0{color:#278a69}.full-room-highlight.room-colour-1{color:#3978b9}.full-room-highlight.room-colour-2{color:#b66b23}.full-room-highlight.room-colour-3{color:#8954a1}.full-room-highlight.room-colour-4{color:#b44355}.full-room-highlight.room-colour-5{color:#3b8d9a}.floorplan-fixture ellipse,.floorplan-fixture rect{fill:color-mix(in srgb,var(--deep) 18%,white);stroke:var(--deep);stroke-width:2.5;stroke-dasharray:5 3;cursor:grab}.floorplan-fixture ellipse:active,.floorplan-fixture rect:active{cursor:grabbing}.floorplan-fixture .fixture-selection-overlay{fill:#e69a32;fill-opacity:.42;stroke:#b8640c;stroke-width:3;stroke-dasharray:none;pointer-events:none}.floorplan-fixture.selected .furniture-material{fill:#e69a32;stroke:#b8640c}.floorplan-fixture.selected .fixture-dimension{color:#9a4604}.floorplan-fixture.selected .fixture-dimension-label{fill:currentColor!important}.floorplan-fixture.selected .fixture-dimension .dimension-extension,.floorplan-fixture.selected .fixture-dimension .dimension-line,.floorplan-fixture.selected .fixture-dimension .dimension-tick{stroke:currentColor}.floorplan-fixture text{fill:var(--deep);font:700 calc(8px * var(--density-font-scale, 1)) var(--font-mono);text-anchor:middle;paint-order:stroke;stroke:white;stroke-width:4px;pointer-events:none}.floorplan-fixture .fixture-dimension{color:#b45309;pointer-events:none}.floorplan-fixture .fixture-dimension.measurement-context-target{pointer-events:all;cursor:context-menu}.floorplan-fixture .fixture-dimension.measurement-context-target .fixture-dimension-label{pointer-events:all}.floorplan-fixture .fixture-dimension-label{fill:currentColor;font:650 calc(9px * var(--density-font-scale, 1)) var(--font-mono);text-anchor:middle;dominant-baseline:central;paint-order:stroke;stroke:white;stroke-width:5px}.inline-status{margin:8px 0 0;padding:8px;border-radius:6px;background:#f2f5f2;color:var(--muted);font-size:calc((10px) * var(--density-font-scale, 1))}.full-wall-draft{fill:none;stroke:#2e8b70;stroke-width:8;stroke-linecap:square;stroke-linejoin:miter;stroke-dasharray:8 5;vector-effect:non-scaling-stroke}.full-plan-canvas g.removable .wall-line{cursor:crosshair}.full-plan-canvas g.removable:hover .wall-body{stroke:#b53a34}.full-plan-vertex{pointer-events:none}.full-plan-vertex.editable{pointer-events:auto}.full-plan-draft-node{fill:white;stroke:#2e8b70;stroke-width:3;vector-effect:non-scaling-stroke;pointer-events:none}.full-plan-draft-start{pointer-events:all;cursor:crosshair}.full-plan-side-column{align-content:start;min-width:0}.full-plan-rooms small{color:var(--muted);font-size:calc((9px) * var(--density-font-scale, 1))}.full-plan-openings-panel{max-height:none;overflow:visible;padding:12px}.full-opening-list{display:grid;gap:5px;margin-top:var(--toolbar-control-gap);padding-top:var(--toolbar-control-gap);border-top:1px solid var(--line)}.full-opening-list>div{display:grid;grid-template-columns:auto minmax(0,1fr) auto 28px;gap:6px;align-items:center;padding:5px;border:1px solid var(--line);border-radius:7px}.full-opening-list>div.editing{border-color:#d89a37;background:#fff7e5}.full-opening-list>div button{width:28px;height:28px;padding:0;border:0;border-radius:5px;background:var(--fail-soft);color:var(--fail);cursor:pointer}.full-opening-list>div .edit-opening{width:auto;padding:0 10px;background:#e7efeb;color:var(--deep)}@media (max-width:1180px){.full-plan-layout{grid-template-columns:250px minmax(460px,1fr)}.full-plan-side-column{grid-column:1/-1;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}@media (max-width:900px){.full-plan-controls{max-height:none}.full-plan-side-column{grid-template-columns:1fr 1fr}}@media (max-width:560px){.full-plan-mode-switch,.full-plan-side-column{grid-template-columns:1fr}}.analysis-workspace,.environment-screen{position:relative;width:100%;height:calc(100vh - 68px);min-height:0;overflow:hidden;background:var(--paper)}.environment-screen[hidden]{display:none}.floating-toolbar{position:absolute;display:flex;flex-direction:column;min-width:220px;max-width:calc(100% - 16px);max-height:calc(100% - 16px);overflow:hidden;border:1px solid rgba(176,188,181,.96);border-radius:10px;background:rgba(255,255,255,.96);box-shadow:0 14px 34px rgba(20,39,31,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--ink);font:500 calc(9px * var(--density-font-scale, 1))/1.4 var(--font-mono)}.floating-toolbar.full-plan-build-toolbar{min-width:min(340px,calc(100vw - 16px))}.floating-toolbar-titlebar{flex:0 0 auto;min-height:31px;display:grid;grid-template-columns:28px 1fr 28px;align-items:center;gap:4px;padding:3px 5px;border-bottom:1px solid var(--line);background:linear-gradient(#f9fbf9,#eef3ef);color:var(--deep);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.floating-toolbar-titlebar:active{cursor:grabbing}.floating-toolbar-titlebar>strong{overflow:hidden;font:750 calc(11px * var(--density-font-scale, 1)) var(--font-mono);letter-spacing:.035em;text-overflow:ellipsis;white-space:nowrap}.floating-toolbar-close,.floating-toolbar-drag{width:27px;height:25px;padding:0;border:0;border-radius:5px;background:transparent;color:var(--muted);cursor:pointer}.floating-toolbar-drag{display:inline-grid;place-items:center;pointer-events:none}.floating-toolbar-close{touch-action:auto;line-height:1}.floating-toolbar-drag{cursor:grab!important;touch-action:none}.floating-toolbar-drag:active{cursor:grabbing!important}.floating-toolbar-titlebar button:hover{background:#dfe9e3;color:var(--deep)}.floating-toolbar-content{flex:1 1 auto;min-width:0;min-height:0;margin:0 5px 10px;overflow:auto;font:inherit;scrollbar-gutter:stable}.floating-toolbar-content>*{min-width:0}.floating-toolbar .floating-toolbar-content :where(button,input,select,textarea){max-width:100%;font-family:var(--font-mono);font-size:calc((9px) * var(--density-font-scale, 1))}.floating-toolbar .floating-toolbar-content :where(input:not([type=checkbox]):not([type=radio]):not([type=color]),select,textarea){min-width:0;width:100%}.floating-toolbar .floating-toolbar-content :where(p,label,small){font-size:calc((9px) * var(--density-font-scale, 1))}.floating-toolbar .floating-toolbar-content :where(h1,h2,h3){font-size:calc((11px) * var(--density-font-scale, 1))}.floating-toolbar-resize{position:absolute;z-index:4;display:block;padding:0;border:0;background:transparent;touch-action:none}.floating-toolbar-resize-left,.floating-toolbar-resize-right{top:31px;bottom:10px;width:5px;cursor:ew-resize}.floating-toolbar-resize-left{left:0}.floating-toolbar-resize-right{right:0}.floating-toolbar-resize-top{top:0;right:5px;left:5px;height:10px;cursor:ns-resize}.floating-toolbar-resize-bottom{right:5px;bottom:0;left:5px;height:10px;cursor:ns-resize}.floating-toolbar-resize:after{position:absolute;border-radius:2px;background:rgba(24,73,61,.34);content:"";opacity:0;transition:opacity .12s ease}.floating-toolbar-resize-left:after,.floating-toolbar-resize-right:after{top:25%;bottom:25%;width:2px}.floating-toolbar-resize-left:after{left:2px}.floating-toolbar-resize-right:after{right:2px}.floating-toolbar-resize-top:after{top:2px;right:25%;left:25%;height:2px}.floating-toolbar-resize-bottom:after{right:25%;bottom:2px;left:25%;height:2px}.floating-toolbar-resize:focus-visible:after,.floating-toolbar:hover .floating-toolbar-resize:after{opacity:1}.floating-toolbar .tool-section{border:0;border-radius:0;box-shadow:none}.toolbar-context-menu{position:fixed;z-index:1500;width:174px;padding:5px;border:1px solid #b9c6bd;border-radius:8px;background:rgba(255,255,255,.99);box-shadow:0 14px 34px rgba(20,39,31,.22)}.toolbar-context-parent{width:100%;display:flex;justify-content:space-between;align-items:center;padding:8px 9px;border:0;border-radius:5px;background:transparent;color:var(--ink);font:650 calc(9px * var(--density-font-scale, 1)) var(--font-mono);cursor:default}.toolbar-context-parent:focus,.toolbar-context-parent:hover{background:#edf4ef;outline:none}.toolbar-context-submenu{position:absolute;display:none;left:calc(100% - 2px);top:-1px;width:238px;gap:2px;padding:5px;border:1px solid #b9c6bd;border-radius:8px;background:rgba(255,255,255,.99);box-shadow:0 14px 34px rgba(20,39,31,.22)}.toolbar-context-menu:focus-within .toolbar-context-submenu,.toolbar-context-menu:hover .toolbar-context-submenu{display:grid}.toolbar-context-submenu button,.toolbar-menu button{display:grid!important;grid-template-columns:18px 1fr;align-items:center;gap:5px}.toolbar-menu-actions{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:1px 0 5px;padding:0 2px 5px;border-bottom:1px solid var(--line)}.toolbar-menu .toolbar-menu-actions button{grid-template-columns:1fr!important;justify-content:center;padding:6px 7px;text-align:center}.toolbar-context-submenu button{width:100%;padding:8px;border:0;border-radius:5px;background:transparent;color:var(--ink);font:600 calc(9px * var(--density-font-scale, 1)) var(--font-mono);text-align:left;cursor:pointer}.toolbar-context-submenu button:hover{background:#edf4ef}.menu-check{display:inline-flex;width:16px;justify-content:center;font-size:calc((13px) * var(--density-font-scale, 1));font-weight:900;color:var(--deep)}.environment-screen .full-plan-page{position:relative;width:100%;height:100%;min-height:0;padding:0;overflow:hidden}.environment-screen .full-plan-layout{position:relative;display:block;width:100%;min-width:0;height:100%;margin:0}.environment-screen .full-plan-controls,.environment-screen .full-plan-side-column{display:contents}.environment-screen .full-plan-drawing{position:absolute;inset:0;width:100%;height:100%}.environment-screen .resizable-floorplan-window{width:100%;height:100%;min-width:0;min-height:0;resize:none;overflow:hidden}.environment-screen .full-plan-canvas{flex:1 1 auto;width:100%;min-height:0}.environment-screen .floor-canvas{width:100%;height:100%;min-height:0;border:0}.environment-screen .drawing-scale{position:absolute;z-index:7;left:12px;right:12px;bottom:8px;border-radius:7px;background:rgba(255,255,255,.84);pointer-events:none}.floating-canvas-navigation{padding:4px;border:0;background:transparent}.view-toggle{min-width:0;min-height:31px;border:1px solid transparent;border-radius:6px;padding:7px 8px;color:var(--muted);background:transparent;font:700 calc(10px * var(--density-font-scale, 1))/1.1 var(--font-mono);cursor:pointer}.view-toggle:hover{border-color:#cbd8d0;background:#edf4ef;color:var(--deep)}.view-toggle.active{border-color:var(--deep);color:white;background:var(--deep)}.view-toggle:focus-visible{outline:2px solid var(--deep);outline-offset:1px}.view-property-toggle-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));flex-basis:100%;gap:5px;padding-top:8px;border-top:1px solid var(--line)}.view-property-toggle-row>.view-toggle{width:100%}.view-property-toggle-row+.view-property-toggle-row{margin-top:3px}.floating-canvas-navigation{flex-wrap:wrap}.floating-canvas-navigation>strong{flex-basis:100%}.floating-canvas-navigation>.floorplan-background-actions{flex-basis:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-top:5px}.floating-canvas-navigation .floorplan-background-actions>.floorplan-background-action{width:100%;min-width:0;margin:0}.field-action-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:stretch}.field-action-row>button{width:100%;min-width:0;margin:0}.plan-constraint-controls .check-row{min-width:0;align-items:center}.room-action-panel{display:grid;gap:var(--toolbar-control-gap)}.room-action-panel>button{width:100%;margin:0}.room-action-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.room-action-buttons>button{width:100%;margin:0}.room-action-panel .save-actions{display:grid;grid-template-columns:1fr;gap:var(--toolbar-control-gap);margin:0}.room-action-panel .save-actions button{width:100%;margin:0}.opening-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--toolbar-control-gap)}.opening-fields>label{min-width:0}.opening-dimensions-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.opening-dimensions-fields.window{grid-template-columns:repeat(3,minmax(0,1fr))}.opening-catalogue-selectors{display:grid;gap:var(--toolbar-control-gap)}.floating-toolbar input[type=checkbox],input[type=checkbox]{width:14px;height:14px;min-width:14px;min-height:14px;flex:0 0 14px;margin:0;accent-color:var(--deep)}.analysis-workspace>.viewer-shell{width:100%;height:100%;min-height:0;border:0;border-radius:0;box-shadow:none}.analysis-workspace .floating-evidence-panel{padding:16px;border:0;overflow:visible;background:transparent}.analysis-workspace .person-editor{margin:0;border:0;border-radius:0}.analysis-workspace .viewer-warning{position:absolute;z-index:7;left:12px;right:12px;bottom:8px;margin:0;border-radius:7px;background:rgba(255,255,255,.86);pointer-events:none}.viewer-toolbar.floating-view-controls{position:static;display:grid;justify-content:stretch;gap:8px;padding:8px;pointer-events:auto}.viewer-view-control-group{display:grid;gap:4px;padding:5px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.82)}.viewer-lighting-controls{gap:10px;padding:10px;color:var(--ink)}.viewer-toolbar.floating-view-controls .viewer-view-control-group .viewer-lighting-toggle{display:flex;align-items:center;justify-content:space-between;min-height:24px;padding:0;color:var(--ink)}.viewer-lighting-toggle>strong{font-size:calc((11px) * var(--density-font-scale, 1))}.viewer-lighting-toggle>span{font-size:calc((16px) * var(--density-font-scale, 1));line-height:1}.viewer-lighting-field{min-width:0;display:grid;gap:4px;font-size:calc((10px) * var(--density-font-scale, 1))}.viewer-lighting-field>span{display:flex;justify-content:space-between;gap:8px}.viewer-lighting-field output{color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.viewer-lighting-field input[type=range]{width:100%;min-width:0;margin:0;padding:0;accent-color:var(--deep);cursor:pointer}.viewer-lighting-controls>small{color:var(--muted);font-size:calc((9px) * var(--density-font-scale, 1));line-height:1.4}.viewer-room-selector-controls{gap:10px;padding:10px;color:var(--ink)}.viewer-toolbar.floating-view-controls .viewer-view-control-group .viewer-room-selector-toggle{display:flex;align-items:center;justify-content:space-between;min-height:24px;padding:0;color:var(--ink)}.viewer-room-selector-toggle>strong{font-size:calc((11px) * var(--density-font-scale, 1))}.viewer-room-selector-toggle>span{font-size:calc((16px) * var(--density-font-scale, 1));line-height:1}.viewer-room-selector-content{display:grid;gap:var(--toolbar-control-gap)}.viewer-room-selector-content label{display:grid;gap:6px;font:650 calc(10px * var(--density-font-scale, 1)) var(--font-mono)}.viewer-room-selector-content select{width:100%;min-width:0;padding:8px 10px;border:1px solid var(--line);border-radius:7px;background:white}.viewer-room-selector-content>.review-style-button{display:block;width:100%;margin:0}.viewer-toolbar.floating-view-controls .toggle-row button,.viewer-toolbar.floating-view-controls .viewer-view-control-group button{min-width:0;min-height:31px;border:1px solid transparent;border-radius:6px;padding:7px 8px;color:var(--muted);font:700 calc(10px * var(--density-font-scale, 1))/1.1 var(--font-mono)}.viewer-toolbar.floating-view-controls .toggle-row button:hover,.viewer-view-control-group button:hover{border-color:#cbd8d0;background:#edf4ef;color:var(--deep)}.viewer-toolbar.floating-view-controls .toggle-row button.active,.viewer-view-control-group button.active{border-color:var(--deep);color:white;background:var(--deep)}.viewer-zoom-controls{grid-template-columns:40px minmax(0,1fr) 40px minmax(0,1.15fr);--ui-button-background:var(--surface-muted);--ui-button-text:var(--ink);--ui-button-hoverBackground:var(--surface-selected);--ui-button-activeBackground:var(--primary-action);--ui-button-activeText:var(--primary-action-text)}.viewer-zoom-controls button{border-color:var(--line);background:var(--surface-muted);color:var(--ink)}.viewer-zoom-controls button:nth-child(2){font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.viewer-zoom-controls button:hover:not(:disabled){border-color:var(--accent);background:var(--surface-selected);color:var(--ink)}.viewer-camera-controls,.viewer-projection-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.floating-toolbar.viewer-camera-window{min-width:min(540px,calc(100% - 16px));max-width:calc(100% - 16px)}.floating-toolbar.viewer-camera-properties-window{width:380px;min-width:min(340px,calc(100% - 16px));max-width:calc(100% - 16px)}.viewer-camera-properties{display:grid;gap:10px;padding:2px}.viewer-camera-properties>p{margin:0;color:var(--muted);font-size:calc((11px) * var(--density-font-scale, 1));line-height:1.45}.viewer-camera-property-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-width:0;margin:0;padding:12px 10px 10px;border:1px solid var(--line);border-radius:10px;background:#f7faf9}.viewer-camera-property-fields legend{padding:0 5px;color:var(--ink);font:700 calc(11px * var(--density-font-scale, 1)) var(--font-sans)}.viewer-camera-property-fields legend small{margin-left:5px;color:var(--muted);font:600 calc(9px * var(--density-font-scale, 1)) var(--font-mono)}.viewer-camera-property-fields label{display:grid;gap:4px;color:var(--muted);font:700 calc(9px * var(--density-font-scale, 1)) var(--font-mono)}.viewer-camera-property-fields input{box-sizing:border-box;width:100%;min-width:0;min-height:38px;padding:7px 8px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink);font:600 calc(12px * var(--density-font-scale, 1)) var(--font-sans)}.viewer-camera-property-fields input:focus-visible{border-color:#1682df;outline:2px solid rgba(22,130,223,.18)}.viewer-camera-properties-note{color:var(--muted);font-size:calc((9px) * var(--density-font-scale, 1));line-height:1.4}.viewer-camera-properties>.review-style-button{min-height:36px;margin:0}.viewer-camera-panel{display:grid;gap:4px;padding:0}.viewer-camera-live{display:grid;gap:3px;min-width:0}.viewer-camera-preview-stage{display:grid;width:100%;min-width:0;min-height:156px;padding:0;place-items:center;border:1px solid var(--line);border-radius:9px}.viewer-camera-frame,.viewer-camera-preview-stage{box-sizing:border-box;overflow:hidden;background:#edf0eb}.viewer-camera-frame{flex:none;max-width:100%;border:1px solid rgba(74,91,82,.28);border-radius:7px}.viewer-camera-frame canvas{display:block;width:100%;height:100%;object-fit:contain}.viewer-camera-preview-caption{display:flex;align-items:baseline;justify-content:space-between;gap:8px;color:var(--ink);font-size:calc((11px) * var(--density-font-scale, 1))}.viewer-camera-preview-caption>span{color:var(--muted);font:600 calc(9px * var(--density-font-scale, 1)) var(--font-mono);text-align:right}.viewer-camera-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(130px,1.15fr);gap:4px}.viewer-camera-actions .review-style-button{min-width:0;min-height:29px;margin:0;padding:4px 5px}.viewer-camera-manipulation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.viewer-camera-hint{margin:0;color:var(--muted);font-size:calc((9px) * var(--density-font-scale, 1));line-height:1.25}.viewer-camera-manipulation button{min-width:0;min-height:29px;padding:4px 8px;border:1px solid var(--line);border-radius:7px;background:#f5f8f7;color:var(--ink);font:650 calc(9px * var(--density-font-scale, 1))/1.15 var(--font-sans);cursor:pointer}.viewer-camera-manipulation button:hover{border-color:#c2d2ca;background:#edf4f0}.viewer-camera-manipulation button.active{border-color:var(--deep);background:var(--deep);color:white}.viewer-camera-rig-toggle{display:flex;min-width:0;min-height:29px;align-items:center;justify-content:center;gap:6px;padding:4px 7px;border:1px solid var(--line);border-radius:7px;background:#f5f8f7;color:var(--ink);font:650 calc(9px * var(--density-font-scale, 1))/1.15 var(--font-sans);cursor:pointer}.viewer-camera-rig-toggle input{accent-color:var(--deep)}.viewer-camera-settings-row{display:grid;grid-template-columns:minmax(190px,1.2fr) minmax(210px,1fr);gap:8px;align-items:center}.viewer-camera-fov{display:grid;grid-template-columns:auto minmax(60px,1fr) auto;gap:8px;align-items:center;min-width:0;min-height:34px;padding:0 9px;border:1px solid var(--line);border-radius:7px;background:#f8faf9;color:var(--muted);font:650 calc(9px * var(--density-font-scale, 1)) var(--font-mono)}.viewer-camera-fov output{color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.viewer-camera-fov input{width:100%;min-width:0;margin:0;accent-color:var(--deep)}.viewer-camera-section{display:grid;gap:7px;min-width:0;padding:5px 8px;border:1px solid var(--line);border-radius:8px;background:#f8faf8}.viewer-camera-section>summary{display:flex;align-items:center;min-height:24px;color:var(--ink);font:700 calc(10px * var(--density-font-scale, 1))/1.3 var(--font-sans);cursor:pointer;list-style:none}.viewer-camera-section>summary::-webkit-details-marker{display:none}.viewer-camera-section>summary:after{content:"+";margin-left:auto;color:var(--muted);font:700 calc(15px * var(--density-font-scale, 1))/1 var(--font-sans)}.viewer-camera-section[open]>summary:after{content:"−"}.viewer-camera-output-fields,.viewer-camera-vectors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.viewer-camera-vectors fieldset{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;min-width:0;margin:0;padding:5px;border:1px solid var(--line);border-radius:7px}.viewer-camera-vectors legend{grid-column:1/-1;padding:0 3px;color:var(--muted);font:650 calc(8px * var(--density-font-scale, 1)) var(--font-mono)}.viewer-camera-output-fields label,.viewer-camera-vectors label{display:grid;gap:3px;min-width:0;color:var(--muted);font:650 calc(8px * var(--density-font-scale, 1)) var(--font-mono)}.viewer-camera-output-fields select,.viewer-camera-vectors input{box-sizing:border-box;min-height:32px;padding:5px 6px;border:1px solid var(--line);border-radius:7px;background:white;color:var(--ink)}.viewer-camera-capture{display:flex;min-width:0;align-items:center;gap:10px;padding-top:6px;border-top:1px solid var(--line)}.viewer-camera-capture-button{min-height:34px;padding:6px 14px;border:1px solid var(--deep);border-radius:7px;background:var(--deep);color:white;font:700 calc(10px * var(--density-font-scale, 1)) var(--font-sans);cursor:pointer}.viewer-camera-capture>small{color:var(--muted);font-size:calc((9px) * var(--density-font-scale, 1))}.viewer-camera-capture-button:hover:not(:disabled){background:#123b32}.viewer-camera-capture-button:disabled{opacity:.62;cursor:wait}.viewer-camera-capture>p,.viewer-camera-error{margin:0;color:var(--muted);font-size:calc((9px) * var(--density-font-scale, 1));line-height:1.35}.viewer-camera-error{color:#8e2f2f!important}@media (max-width:560px){.viewer-camera-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.viewer-camera-rig-toggle{grid-column:1/-1;min-height:38px}.viewer-camera-settings-row{grid-template-columns:minmax(0,1fr);gap:6px}.viewer-camera-fov{min-height:38px}.viewer-camera-vectors{grid-template-columns:minmax(0,1fr)}.viewer-camera-capture{flex-wrap:wrap}}.viewer-toolbar.floating-view-controls .toggle-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:6px}.viewer-toolbar.floating-view-controls .viewer-toggle-checkbox{grid-column:1/-1;justify-content:flex-start;padding:7px 3px 2px;border-top:1px solid var(--line);font:700 calc(10px * var(--density-font-scale, 1))/1.1 var(--font-mono)}.viewer-toolbar.floating-view-controls .viewer-save-row{padding:8px 2px 0}.viewer-toolbar.floating-view-controls .viewer-save-row>.viewer-save-menu,.viewer-toolbar.floating-view-controls .viewer-save-row>.viewer-save-menu>button{width:100%}.viewer-toolbar.floating-view-controls .viewer-save-row>.viewer-save-menu>button{min-height:31px;border:1px solid var(--line);border-radius:6px;background:#f8faf8;color:var(--deep);font:700 calc(10px * var(--density-font-scale, 1))/1.1 var(--font-mono)}.viewer-navigation.floating-viewer-navigation{position:static;display:grid;margin:0;border:0;border-radius:0;background:transparent}@media (max-width:760px){.floating-toolbar{min-width:200px}.truth-badge{display:none}.topbar{padding-inline:10px}}.fabric-finish-picker{display:grid;gap:8px}.fabric-finish-preview{min-height:64px;border-radius:8px;border:1px solid #00000018;box-shadow:inset 0 1px 5px #00000012}.fabric-finish-picker small{color:var(--muted,#64736c);line-height:1.5}.placement-status{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:1900;display:flex;align-items:center;gap:14px;max-width:calc(100vw - 40px);padding:12px 16px;border:1px solid #c8d8cf;border-radius:12px;background:#fcfefdf5;color:#233f33;box-shadow:0 8px 30px #18372b22;font-size:calc((12px) * var(--density-font-scale, 1))}.placement-status span{color:#5a6d62}.placement-status button{flex:none}.placement-hint-touch{display:none}.placement-label{display:block;padding:6px 10px;border-radius:7px;border:1px solid #79b19c;background:#f3fff8ed;color:#185b41;font:600 calc(12px * var(--density-font-scale, 1)) system-ui,sans-serif;box-shadow:0 3px 12px #0002}.placement-label.invalid{border-color:#d79b96;background:#fff5f3ed;color:#9b342d}.placement-preview{pointer-events:none}@media (max-width:700px){.placement-status{flex-wrap:wrap;gap:6px 12px;width:max-content}}.compact-catalogue-selectors{display:grid;gap:6px;padding:0;min-width:0}.opening-catalogue-selectors.compact-catalogue-selectors{grid-template-columns:minmax(0,.85fr) minmax(0,1.45fr)}.element-object-selectors.compact-catalogue-selectors{grid-template-columns:minmax(0,.85fr) minmax(0,1fr) minmax(0,1.4fr)}.fixture-cascading-menu{width:100%;min-width:0}.fixture-cascading-collapsed,.fixture-cascading-menu-header{display:flex;align-items:center;justify-content:space-between;width:100%;min-width:0;min-height:38px;gap:8px;padding:5px 9px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.72);color:var(--ink)}.fixture-cascading-collapsed>strong,.fixture-cascading-menu-header>strong{min-width:0;overflow:hidden;color:var(--ink);font:650 calc(11px * var(--density-font-scale, 1))/1.2 var(--font-sans);text-overflow:ellipsis;white-space:nowrap}.fixture-cascading-collapsed>button,.fixture-cascading-menu-header>button{display:grid;width:24px;height:24px;flex:0 0 24px;place-items:center;padding:0;border:0;border-radius:5px;background:transparent;color:var(--deep);font:700 calc(12px * var(--density-font-scale, 1))/1 var(--font-sans);cursor:pointer}.fixture-cascading-collapsed>button:focus-visible,.fixture-cascading-collapsed>button:hover,.fixture-cascading-menu-header>button:focus-visible,.fixture-cascading-menu-header>button:hover{background:var(--soft);outline:none}.fixture-cascading-selector{display:grid;width:100%;min-width:0;gap:5px}.fixture-cascading-level{min-width:0;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.72)}.fixture-cascading-trigger{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;width:100%;min-height:36px;gap:8px;padding:4px 9px;border:0;background:transparent;color:var(--ink);cursor:pointer;text-align:left}.fixture-cascading-trigger:hover,.fixture-cascading-trigger[aria-expanded=true]{background:rgba(238,244,240,.72)}.fixture-cascading-trigger:disabled{color:var(--muted);cursor:not-allowed;opacity:.62}.fixture-cascading-trigger-copy{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:baseline;min-width:0;gap:9px}.fixture-cascading-trigger-copy>span{color:var(--muted);font:600 calc(9px * var(--density-font-scale, 1))/1.2 var(--font-sans)}.fixture-cascading-trigger-copy>strong{min-width:0;overflow:hidden;color:var(--ink);font:650 calc(11px * var(--density-font-scale, 1))/1.25 var(--font-sans);text-overflow:ellipsis;white-space:nowrap}.fixture-cascading-trigger-copy>strong.placeholder{color:var(--muted);font-weight:550}.fixture-cascading-chevron{color:var(--deep);font:700 calc(13px * var(--density-font-scale, 1))/1 var(--font-sans)}.fixture-cascading-options{display:grid;max-height:160px;gap:2px;overflow-y:auto;padding:5px 6px 6px}.fixture-cascading-options button{min-height:28px;padding:5px 8px;border:0;border-radius:6px;background:transparent;color:var(--ink);font:550 calc(11px * var(--density-font-scale, 1))/1.25 var(--font-sans);text-align:left;cursor:pointer}.fixture-cascading-options button:focus-visible,.fixture-cascading-options button:hover{background:var(--soft);outline:none}.fixture-cascading-options button.selected{background:var(--deep);color:white}.compact-catalogue-selectors .field{min-width:0;gap:6px;margin:0}.compact-catalogue-selectors .field select,.compact-catalogue-selectors .field>span{font-size:calc((13px) * var(--density-font-scale, 1));line-height:1.2;white-space:nowrap}.compact-catalogue-selectors .field select{width:100%;min-width:0;height:52px;min-height:52px;padding:0 18px 0 9px;letter-spacing:-.1px;text-overflow:ellipsis;overflow:hidden}.fixture-colours-compact .fixture-colours-toggle{min-height:44px;padding:6px 8px;text-align:left;gap:8px}.fixture-colours-compact .appearance-summary{gap:2px;width:100%}.fixture-colours-compact .appearance-summary>strong{font:700 calc(11px * var(--density-font-scale, 1))/1.2 var(--font-sans)}.fixture-colours-compact .appearance-summary>.appearance-summary-detail{white-space:normal;overflow:visible;gap:7px;line-height:1.2}.appearance-summary-detail>span{display:grid;gap:3px;min-width:0}.appearance-summary-detail b{color:var(--ink);font:600 calc(11px * var(--density-font-scale, 1))/1.2 var(--font-sans)}.appearance-summary-detail small{color:var(--muted);font:400 calc(10px * var(--density-font-scale, 1))/1.2 var(--font-sans)}.fixture-colours-compact .appearance-summary-swatch{width:30px;height:30px;border-radius:8px;box-shadow:inset 0 0 0 2px rgb(255 255 255/55%)}.full-plan-openings-panel>.fixture-add-section,.full-plan-openings-panel>.fixture-colours-compact{margin-top:4px}.full-plan-openings-panel>.elements-list-section{margin-top:var(--toolbar-control-gap)}.appearance-editor-fields{display:grid;gap:16px}.appearance-material-colour-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px}.appearance-material-colour-row .field select,.appearance-material-colour-row>.fabric-finish-picker,.appearance-material-colour-row>.field{min-width:0}.appearance-material-colour-row .appearance-colour-value{min-height:40px}.appearance-dimensions-section{margin-top:0}.appearance-popup-form>.appearance-dimensions-section{margin-top:4px}.flooring-colours-compact .fixture-colours-toggle{min-height:52px}.flooring-appearance-summary-swatch{width:30px;height:30px;border-radius:7px;background-position:50%;background-repeat:no-repeat;background-size:cover;box-shadow:inset 0 0 0 2px rgb(255 255 255/55%)}.flooring-appearance-fields{gap:12px}.flooring-appearance-popup-preview{gap:0}.flooring-preview-surface{display:grid;flex:1 1 auto;min-height:290px;min-width:0;place-items:center;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:linear-gradient(145deg,#eef3ef,#e3ebe5);box-shadow:inset 0 1px 0 rgb(255 255 255/75%),0 8px 22px rgb(28 45 38/8%)}.flooring-preview-surface .flooring-preview-canvas{width:min(100%,560px)!important;max-width:100%;height:auto!important;aspect-ratio:1!important;border-radius:14px!important}.appearance-preview-card{display:flex;align-items:center;gap:16px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface,#f7faff)}.appearance-preview-card>i{width:72px;height:72px;flex-shrink:0;border-radius:14px;border:1px solid rgb(0 0 0/12%);box-shadow:inset 0 0 0 4px rgb(255 255 255/45%)}.appearance-preview-card>div{display:grid;gap:5px}.appearance-preview-card strong{font-size:calc((15px) * var(--density-font-scale, 1));color:var(--ink)}.appearance-preview-card code,.appearance-preview-card span{color:var(--muted);font-size:calc((12px) * var(--density-font-scale, 1))}.appearance-editor-fields .appearance-colour-value{padding:8px 12px;border:1px solid var(--line);border-radius:12px;background:white}.popup.appearance-popup{width:min(1120px,calc(100vw - 24px));max-height:calc(100vh - 24px);min-height:min(620px,calc(100vh - 24px));display:flex;flex-direction:column}.appearance-popup .popup-content{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;overflow:auto;padding:24px 28px}.appearance-popup-has-object .popup-content{padding-top:0}.appearance-object-heading{display:flex;flex:0 0 auto;align-items:baseline;min-width:0;margin:24px 2px 16px;padding:0 0 12px;border-bottom:1px solid var(--line)}.appearance-object-heading>h2{min-width:0;margin:0;color:var(--deep);font:750 calc(17px * var(--density-font-scale, 1))/1.3 var(--font-sans);overflow-wrap:anywhere}.appearance-popup-grid{display:grid;flex:1 1 auto;min-height:0;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);align-items:stretch;gap:28px}.appearance-popup-grid-without-preview{grid-template-columns:minmax(0,1fr)}.appearance-popup-form,.appearance-popup-preview{min-width:0;min-height:0}.appearance-popup-form{overflow:visible;padding-inline:2px}.appearance-popup-preview{position:relative;display:flex;min-height:0;flex-direction:column;gap:0}.appearance-preview-heading{position:absolute;z-index:1;inset:12px 14px auto;display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:0;pointer-events:none}.appearance-preview-heading strong{color:var(--deep);font:700 calc(11px * var(--density-font-scale, 1))/1.3 var(--font-sans)}.appearance-preview-heading span{color:var(--muted);font:500 calc(9px * var(--density-font-scale, 1))/1.3 var(--font-sans)}.appearance-preview-heading>:is(strong,span){padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;text-shadow:0 1px 3px rgb(255 255 255/90%)}.appearance-popup-preview .fixture-preview{flex:1 1 auto;width:100%;height:auto!important;min-height:290px;margin:0;border:1px solid var(--line);border-radius:14px!important;background:linear-gradient(145deg,#eef3ef,#e3ebe5)!important;box-shadow:inset 0 1px 0 rgb(255 255 255/75%),0 8px 22px rgb(28 45 38/8%)}.appearance-popup-preview .fixture-preview canvas{display:block}.appearance-popup-form>.appearance-dimensions-section .fixture-fields.three-columns{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:560px){.appearance-material-colour-row{grid-template-columns:minmax(0,1fr)}.appearance-material-colour-row>.fabric-finish-picker+.appearance-colour-field,.appearance-material-colour-row>.fabric-finish-picker>.field{grid-column:1;grid-row:auto}.appearance-material-colour-row>.fabric-finish-picker>.fabric-finish-preview,.appearance-material-colour-row>.fabric-finish-picker>small{grid-row:auto}}@media (max-width:720px){.popup.appearance-popup{width:min(560px,calc(100vw - 24px));min-height:0}.appearance-popup .popup-content{display:block}.appearance-popup-has-object .popup-content{padding-top:16px}.appearance-object-heading{margin:0 2px 12px;padding-bottom:10px}.appearance-popup-grid{grid-template-columns:minmax(0,1fr);align-items:start;gap:14px}.appearance-popup-form{overflow:visible}.appearance-popup-preview{order:-1}.appearance-popup-preview .fixture-preview{flex:0 0 260px;height:260px!important;min-height:260px}.flooring-preview-surface{min-height:260px}.flooring-preview-surface .flooring-preview-canvas{width:100%!important}}.l-shape-options button[aria-pressed=true],.outline-menu-option[aria-pressed=true]{border-color:var(--deep);background:var(--deep);color:#fff;box-shadow:inset 0 0 0 1px var(--deep)}.l-shape-options button[aria-pressed=true] strong,.outline-menu-option[aria-pressed=true] .outline-menu-arrow,.outline-menu-option[aria-pressed=true] small,.outline-menu-option[aria-pressed=true] strong{color:#fff}.catalogue-selection-caption{grid-column:1/-1;color:var(--muted);font:500 calc(11px * var(--density-font-scale, 1))/1.4 var(--font-sans);overflow-wrap:anywhere}.annotations-panel{display:grid;width:100%;gap:10px;min-width:276px;padding:10px}.annotation-panel-group{display:grid;gap:6px}.annotation-panel-label{color:var(--muted);font:700 calc(10px * var(--density-font-scale, 1)) var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.annotation-tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.annotation-tool-grid.single{grid-template-columns:1fr}.annotation-delete-button,.annotation-tool-grid button{min-height:32px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);font:700 calc(12px * var(--density-font-scale, 1)) var(--font-sans);cursor:pointer}.annotation-tool-grid button.active{border-color:var(--deep);background:var(--deep);color:#fff}.annotation-style-group{display:grid;gap:7px;border-top:1px solid var(--line);padding-top:10px}.annotation-style-row{display:grid;grid-template-columns:1fr 132px;align-items:center;gap:8px;color:var(--muted);font:600 calc(11px * var(--density-font-scale, 1)) var(--font-sans)}.annotation-style-row input[type=number],.annotation-style-row select{width:100%;min-height:30px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);padding:0 7px;font:600 calc(11px * var(--density-font-scale, 1)) var(--font-sans)}.annotation-style-row input[type=color]{width:100%;height:30px;padding:3px;border:1px solid var(--line);border-radius:6px;background:#fff;cursor:pointer}.annotation-text-editor{display:grid;gap:5px;color:var(--muted);font:600 calc(11px * var(--density-font-scale, 1)) var(--font-sans)}.annotation-text-editor textarea{width:100%;resize:vertical;border:1px solid var(--line);border-radius:6px;padding:7px;color:var(--ink);font:600 calc(12px * var(--density-font-scale, 1)) var(--font-sans)}.annotation-delete-button{width:100%;border-color:#e9bcbc;background:#fff5f5;color:#a63232}.annotation-delete-button:disabled{opacity:.5;cursor:not-allowed}.annotation-panel-hint{margin:0;color:var(--muted);font-size:calc((11px) * var(--density-font-scale, 1));line-height:1.35}.annotation-layer{overflow:visible}.floorplan-annotation{cursor:pointer}.annotation-hit{pointer-events:stroke}.annotation-handle{fill:#fff;stroke:var(--deep);stroke-width:2;vector-effect:non-scaling-stroke;cursor:crosshair}.annotation-selected{filter:drop-shadow(0 1px 1px rgba(11,49,92,.2))}.annotation-measure-grid{width:100%;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.annotation-measure-grid button{width:100%;min-width:0}.annotation-text-popup .popup-content{display:grid;gap:7px}.annotation-text-popup-field{display:grid;gap:6px;color:var(--muted);font:650 calc(10px * var(--density-font-scale, 1)) var(--font-mono)}.annotation-text-popup-field input{width:100%;min-height:38px;padding:8px 10px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);font:550 calc(12px * var(--density-font-scale, 1)) var(--font-mono)}.annotation-text-popup-field input:focus{border-color:var(--deep);outline:2px solid rgb(34 102 84/18%)}.marker-settings-popup{width:min(470px,calc(100vw - 32px))}.marker-settings-content{display:grid;gap:12px}.marker-settings-field{display:grid;gap:6px}.marker-settings-label{color:var(--muted);font:700 calc(10px * var(--density-font-scale, 1)) var(--font-mono);letter-spacing:.06em;text-transform:uppercase}.marker-symbol-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.marker-symbol-grid button{display:grid;min-height:62px;place-items:center;gap:3px;padding:5px 3px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);cursor:pointer}.marker-symbol-grid button:focus-visible,.marker-symbol-grid button:hover{border-color:var(--deep);outline:none}.marker-symbol-grid button.selected{border-color:var(--deep);background:#eef5f1;box-shadow:inset 0 0 0 1px var(--deep)}.marker-symbol-grid svg{width:25px;height:25px}.marker-symbol-grid small{overflow:hidden;max-width:100%;color:var(--muted);font:600 calc(8px * var(--density-font-scale, 1)) var(--font-sans);text-overflow:ellipsis;white-space:nowrap}.marker-settings-field input,.marker-settings-row input[type=number],.marker-settings-row select{min-height:32px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);padding:0 8px;font:600 calc(11px * var(--density-font-scale, 1)) var(--font-sans)}.marker-settings-field input:focus,.marker-settings-row input[type=number]:focus,.marker-settings-row select:focus{border-color:var(--deep);outline:2px solid rgb(34 102 84/18%)}.marker-settings-row{display:grid;grid-template-columns:1fr 150px;align-items:center;gap:8px;color:var(--muted);font:650 calc(11px * var(--density-font-scale, 1)) var(--font-sans)}.marker-settings-row input[type=color]{width:100%;height:32px;padding:3px;border:1px solid var(--line);border-radius:6px;background:#fff;cursor:pointer}@media (max-width:520px){.marker-symbol-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.fixture-preview-zoom-controls{position:absolute;z-index:4;top:48%;right:8px;display:flex;flex-direction:column;align-items:center;gap:11px;transform:translateY(-50%);pointer-events:none}.fixture-preview-zoom-slider{width:18px;height:205px;margin:0;padding:0;appearance:auto;writing-mode:vertical-lr;direction:rtl;accent-color:var(--deep);pointer-events:auto;cursor:ns-resize;filter:drop-shadow(0 1px 2px rgb(255 255 255/75%))}.fixture-preview-fit-button{margin-top:3px;min-width:34px;min-height:22px;padding:2px 5px;border:0;border-radius:5px;background:transparent;color:var(--deep);font:700 calc(9px * var(--density-font-scale, 1)) var(--font-sans);text-shadow:0 1px 3px rgb(255 255 255/95%);pointer-events:auto;cursor:pointer}.fixture-preview-fit-button:focus-visible,.fixture-preview-fit-button:hover{outline:1px solid rgb(24 61 52/45%);background:rgb(255 255 255/22%)}.annotation-arrow-end-select{position:relative;width:100%;min-width:0}.annotation-arrow-end-trigger{display:flex;width:100%;min-width:0;min-height:30px;align-items:center;gap:5px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);padding:0 7px;font:600 calc(11px * var(--density-font-scale, 1)) var(--font-sans);text-align:left;cursor:pointer}.annotation-arrow-end-trigger:focus-visible,.annotation-arrow-end-trigger:hover{border-color:var(--deep);outline:2px solid rgb(34 102 84/18%);outline-offset:0}.annotation-arrow-end-trigger>span:first-child{min-width:0;flex:1 1}.annotation-arrow-end-preview{width:34px;height:18px;flex:0 0 34px;overflow:visible;color:var(--deep)}.annotation-arrow-end-preview line,.annotation-arrow-end-preview polyline{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.annotation-arrow-end-preview circle,.annotation-arrow-end-preview polygon,.annotation-arrow-end-preview rect{fill:currentColor;stroke:currentColor;stroke-width:1}.annotation-arrow-end-chevron{flex:0 0 auto;color:var(--muted);font-size:calc((10px) * var(--density-font-scale, 1))}.annotation-arrow-end-options{position:fixed;z-index:10000;display:grid;max-height:min(220px,calc(100vh - 16px));overflow-y:auto;padding:3px;border:1px solid #8f9c96;border-radius:0 0 5px 5px;background:#fff;box-shadow:0 8px 18px rgb(20 39 31/20%)}.annotation-arrow-end-options button{display:flex;width:100%;min-height:30px;align-items:center;justify-content:space-between;gap:7px;border:0;border-radius:3px;background:transparent;color:var(--ink);padding:3px 7px;font:600 calc(11px * var(--density-font-scale, 1)) var(--font-sans);text-align:left;cursor:pointer}.annotation-arrow-end-options button.selected,.annotation-arrow-end-options button:focus-visible,.annotation-arrow-end-options button:hover{background:#e8f0ec;color:var(--deep);outline:none}button,input,select,textarea{transition:border-color .12s ease,background-color .12s ease,color .12s ease,box-shadow .12s ease}[role=button]:focus-visible,button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.floating-toolbar,.popup{border-radius:var(--radius-panel);border-color:var(--line);box-shadow:0 14px 34px rgba(20,39,31,.18)}.floating-toolbar-titlebar{min-height:38px;grid-template-columns:20px 18px minmax(0,1fr) 28px;gap:6px;padding:4px 6px}.floating-toolbar-titlebar>strong,.popup-titlebar>strong{font:700 calc(11px * var(--density-font-scale, 1))/1.2 var(--font-sans);letter-spacing:.01em}.floating-toolbar-close,.floating-toolbar-drag{width:20px;height:28px;border-radius:var(--radius-control)}.floating-toolbar-icon,.popup-icon{display:grid;width:18px;height:18px;place-items:center;color:var(--deep)}.window-icon{display:block;width:16px;height:16px}.floating-toolbar-close{width:28px;font-size:calc((17px) * var(--density-font-scale, 1))}.floating-toolbar-titlebar button:focus-visible,.floating-toolbar-titlebar button:hover{background:var(--surface-muted);color:var(--deep)}.floating-toolbar-resize-left,.floating-toolbar-resize-right{top:38px}.popup-titlebar{min-height:38px;grid-template-columns:20px 18px minmax(0,1fr) 28px;gap:6px;padding:4px 8px}.popup-drag{width:20px;height:28px}.popup-close{width:28px;height:28px;padding:0;border:0;border-radius:var(--radius-control);background:transparent;color:var(--muted);font-size:calc((17px) * var(--density-font-scale, 1));line-height:1;cursor:pointer}.popup-close:hover{background:var(--surface-muted);color:var(--deep)}.popup-close:focus-visible{background:var(--surface-muted);color:var(--deep);outline:2px solid var(--focus-ring);outline-offset:2px}.floating-toolbar-content,.popup-content{scrollbar-width:thin;scrollbar-color:#b7c8bf transparent}.annotation-arrow-end-options::-webkit-scrollbar,.floating-toolbar-content::-webkit-scrollbar,.popup-content::-webkit-scrollbar{width:7px;height:7px}.annotation-arrow-end-options::-webkit-scrollbar-thumb,.floating-toolbar-content::-webkit-scrollbar-thumb,.popup-content::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:99px;background:#b7c8bf;background-clip:padding-box}.annotation-arrow-end-options::-webkit-scrollbar-track,.floating-toolbar-content::-webkit-scrollbar-track,.popup-content::-webkit-scrollbar-track{background:transparent}.button-grid button,.danger-button,.mode-switch button,.opening-form-actions>button,.popup-actions button,.primary-small,.review-style-button,.save-actions button,.validate-button{min-height:var(--control-height-normal);border-radius:var(--radius-control)}.button-grid button:hover:not(:disabled),.mode-switch button:hover:not(:disabled),.opening-form-actions>button:hover:not(:disabled),.primary-small:hover:not(:disabled),.review-style-button:hover:not(:disabled),.save-actions button:hover:not(:disabled),.validate-button:hover:not(:disabled){box-shadow:0 2px 8px rgb(24 61 52/9%)}button:disabled{border-color:#dfe5e1;background:#f1f4f2;color:#909a95;cursor:not-allowed}.annotation-delete-button:not(:disabled),.danger-button,.full-floorplan-actions button.danger,.opening-form-actions .danger-button{border-color:#efc5c1;background:var(--fail-soft);color:var(--fail)}.annotation-delete-button:not(:disabled):hover,.danger-button:hover:not(:disabled),.full-floorplan-actions button.danger:hover:not(:disabled){border-color:#d88982;background:#f9d9d5;color:#922d2d}.element-add-editor .fixture-add-section{border-color:#e3e9e5;background:rgba(255,255,255,.62)}.element-add-editor .fixture-section-content{border-top-color:#e6ece8}@media (max-width:560px){.floating-toolbar-titlebar,.popup-titlebar{grid-template-columns:20px 18px minmax(0,1fr) 28px}}.fixture-colours-compact .appearance-summary{gap:6px}.appearance-material-colour-row>.field{align-self:stretch}.appearance-material-colour-row>.field select,.appearance-material-colour-row>.field>.appearance-colour-value{height:52px;min-height:52px}.appearance-material-colour-row>.field>.appearance-colour-value{display:flex;align-items:center}.appearance-material-colour-row>.fabric-finish-picker{display:contents}.appearance-material-colour-row>.fabric-finish-picker>.field{min-width:0;align-self:stretch}.appearance-material-colour-row>.fabric-finish-picker>.field select{height:52px;min-height:52px}.appearance-material-colour-row>.fabric-finish-picker>.field{grid-column:1;grid-row:1}.appearance-material-colour-row>.fabric-finish-picker+.appearance-colour-field{grid-column:2;grid-row:1}.appearance-material-colour-row>.fabric-finish-picker>.fabric-finish-preview{grid-column:1/-1;grid-row:2;width:100%}.appearance-material-colour-row>.fabric-finish-picker>small{grid-column:1/-1;grid-row:3;width:100%}.appearance-section-divider{height:1px;margin:18px 0;background:var(--line)}.appearance-dimensions-fields{margin-top:2px}.appearance-popup-form>.appearance-dimensions-fields{padding-top:2px}.appearance-actions-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:8px}.appearance-actions-row>.colour-reset-button{width:100%;min-width:0;margin-top:0}.appearance-popup .popup-content{padding-block:16px}.appearance-popup .appearance-editor-fields{gap:12px}.appearance-popup .appearance-preview-card{padding:12px}.appearance-popup .appearance-preview-card>i{width:64px;height:64px}.appearance-popup .appearance-material-colour-row{gap:10px}.appearance-popup .fabric-finish-preview{min-height:56px}.appearance-popup .fabric-finish-picker>small{font-size:calc((11px) * var(--density-font-scale, 1));line-height:1.45}.appearance-popup .appearance-section-divider{margin-block:12px}.appearance-popup .appearance-actions-row{gap:10px;margin-top:4px}@media (max-width:560px){.appearance-actions-row{gap:8px}}.element-add-editor .fixture-section-content>.element-inline-action{margin-top:6px}.marker-symbol-picker{position:relative}.marker-symbol-trigger{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;width:100%;min-height:42px;gap:8px;padding:5px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font:650 calc(11px * var(--density-font-scale, 1)) var(--font-sans);text-align:left;cursor:pointer}.marker-symbol-trigger:focus-visible,.marker-symbol-trigger:hover{border-color:var(--deep);outline:2px solid rgb(34 102 84/18%);outline-offset:0}.marker-symbol-option-preview,.marker-symbol-trigger-preview{display:grid;place-items:center;width:30px;height:30px;color:var(--deep)}.marker-symbol-option-preview svg,.marker-symbol-trigger-preview svg{width:26px;height:26px}.marker-symbol-trigger-chevron{color:var(--muted);font-size:calc((15px) * var(--density-font-scale, 1));line-height:1}.marker-symbol-menu{position:absolute;z-index:8;top:calc(100% + 4px);right:0;left:0;max-height:240px;overflow-y:auto;padding:4px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 8px 22px rgb(15 34 58/14%)}.marker-symbol-menu button{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;width:100%;min-height:36px;gap:8px;padding:4px 7px;border:0;border-radius:5px;background:transparent;color:var(--ink);font:650 calc(11px * var(--density-font-scale, 1)) var(--font-sans);text-align:left;cursor:pointer}.marker-symbol-menu button:focus-visible,.marker-symbol-menu button:hover{background:#eef5f1;outline:none}.marker-symbol-menu button.selected,.marker-symbol-menu button.selected:focus-visible,.marker-symbol-menu button.selected:hover{background:#eaf2ee!important;color:var(--deep)!important;box-shadow:inset 0 0 0 1px var(--deep);outline:none}.marker-symbol-menu button.selected .marker-symbol-option-preview{color:var(--deep)!important}.marker-settings-checkbox{display:flex;align-items:flex-start;gap:9px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#f7fafc;color:var(--ink);cursor:pointer}.marker-settings-checkbox input{width:18px;height:18px;margin:0;flex:0 0 auto;accent-color:var(--deep)}.marker-settings-checkbox span{display:grid;gap:3px}.marker-settings-checkbox strong{font:700 calc(11px * var(--density-font-scale, 1)) var(--font-sans)}.marker-settings-checkbox small{color:var(--muted);font:600 calc(10px * var(--density-font-scale, 1))/1.35 var(--font-sans)}.pb-free-demo-banner{position:sticky;top:0;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 16px 0;padding:9px 12px;border:1px solid #ead8a8;border-radius:8px;background:#fff7e5;color:#705119;font-size:calc((11px) * var(--density-font-scale, 1));line-height:1.45}.pb-free-demo-banner button{flex:0 0 auto;min-height:32px}.pb-dashboard-view{gap:16px}.pb-dashboard-detail-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0 0}.pb-dashboard-detail-heading h2{margin:4px 0 0;font-size:calc((17px) * var(--density-font-scale, 1));color:var(--deep)}.pb-dashboard-detail-heading>span{color:var(--muted);font-size:calc((11px) * var(--density-font-scale, 1))}.pb-dashboard-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}.pb-dashboard-detail-grid .pb-dashboard-section{min-width:0}.pb-dashboard-detail-grid .pb-dashboard-section[open]{grid-column:1/-1}.pb-dashboard-detail-grid .pb-dashboard-section>summary{min-height:64px}.pb-quantity-table td.pb-cost-overrun{color:#ac2437;background:#fff0f2}@media (max-width:760px){.pb-dashboard-detail-grid{grid-template-columns:1fr}.pb-dashboard-detail-heading{align-items:flex-start;flex-direction:column;gap:8px}}.pb-dashboard-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:2px 1px 5px}.pb-dashboard-heading h1{margin:3px 0 0;color:var(--deep);font-size:calc((22px) * var(--density-font-scale, 1));letter-spacing:-.035em}.pb-dashboard-heading p{margin:5px 0 0;color:var(--muted);font-size:calc((11px) * var(--density-font-scale, 1))}.pb-dashboard-actions,.pb-dashboard-section-actions{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.pb-dashboard-overview,.pb-programme-health{overflow:hidden;border:1px solid var(--line);border-radius:11px;background:white;box-shadow:0 3px 12px rgba(15,32,49,.035)}.pb-dashboard-overview{padding:12px}.pb-dashboard-overview-title{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:9px}.pb-dashboard-overview-title>span:last-child{overflow:hidden;color:var(--muted);font-size:calc((10px) * var(--density-font-scale, 1));text-overflow:ellipsis;white-space:nowrap}.pb-dashboard-metrics{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:8px}.pb-dashboard-metrics .pb-metric-card{min-height:81px;padding:10px;background:#fbfcfc}.pb-dashboard-metrics .pb-metric-card>strong{font-size:calc((16px) * var(--density-font-scale, 1))}.pb-dashboard-facts{grid-template-columns:repeat(6,minmax(0,1fr));margin-top:8px}.pb-programme-health{padding:12px}.pb-programme-health-heading{display:flex;justify-content:space-between;align-items:center;gap:14px}.pb-programme-health-heading>div{display:grid;gap:3px}.pb-programme-health-heading>div>strong{color:var(--deep);font-size:calc((13px) * var(--density-font-scale, 1))}.pb-programme-health-heading small{color:var(--muted);font-size:calc((9px) * var(--density-font-scale, 1))}.pb-health-clear,.pb-issue-count{flex:none;padding:6px 9px;border:1px solid #cfe5d8;border-radius:7px;background:#f0f8f3;color:#246a4d;font-size:calc((9px) * var(--density-font-scale, 1));font-weight:750}.pb-issue-count{border-color:#efc4c8;background:#fff0f1;color:#a4212b;cursor:pointer}.pb-progress-track{height:7px;margin-top:10px;overflow:hidden;border-radius:99px;background:#e9eef0}.pb-progress-track>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#287fb8,#258664);transition:width .2s ease}.pb-programme-status-row{display:flex;flex-wrap:wrap;gap:6px 15px;padding:10px 0;color:var(--muted);font-size:calc((9px) * var(--density-font-scale, 1))}.pb-programme-status-row b{color:var(--deep);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pb-programme-status-row .has-issue,.pb-programme-status-row .has-issue b{color:#ae2934}.pb-upcoming-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.pb-upcoming-grid>div{display:grid;gap:4px;min-width:0;padding:8px 9px;border:1px solid var(--line);border-radius:8px;background:#f8faf9}.pb-upcoming-grid span{color:var(--muted);font-size:calc((9px) * var(--density-font-scale, 1))}.pb-upcoming-grid strong{overflow:hidden;color:var(--deep);font-size:calc((10px) * var(--density-font-scale, 1));text-overflow:ellipsis;white-space:nowrap}.pb-upcoming-grid small{color:var(--muted);font-size:calc((9px) * var(--density-font-scale, 1))}.pb-dashboard-section>summary{min-height:48px}.pb-dashboard-section>summary small{max-width:52%;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pb-dashboard-section>.pb-inline-action,.pb-dashboard-section>.pb-service-summary+.pb-inline-action{margin:8px 12px 11px}.pb-dashboard-section .pb-quantity-table td .pb-inline-action{margin:-4px 0}.pb-inline-action{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:5px 9px;border:1px solid var(--line);border-radius:7px;background:#f5f9fc;color:var(--deep);font:700 calc(9px * var(--density-font-scale, 1)) var(--font-sans);white-space:nowrap;cursor:pointer}.pb-inline-action:focus-visible,.pb-inline-action:hover{border-color:#a9bfd0;background:#eaf4fd;outline:2px solid #78b6fa;outline-offset:1px}.pb-link-button{display:inline-flex;align-items:center;gap:6px;padding:0;border:0;background:transparent;color:var(--deep);font:700 calc(10px * var(--density-font-scale, 1)) var(--font-sans);text-align:left;cursor:pointer}.pb-link-button:hover{text-decoration:underline}.pb-link-button>i{width:9px;height:18px;flex:none;border-radius:5px}.pb-dashboard-footnote{padding:8px 2px 1px;color:var(--muted);font-size:calc((9px) * var(--density-font-scale, 1));line-height:1.5}.pb-dashboard-overlay{position:fixed;z-index:1500;inset:0;display:grid;place-items:center;padding:16px;background:rgba(14,29,44,.42)}.pb-dashboard-dialog{display:flex;flex-direction:column;width:min(100%,900px);max-height:min(92dvh,850px);overflow:hidden;border:1px solid var(--line);border-radius:14px;background:white;box-shadow:0 24px 72px rgba(15,32,49,.28)}.pb-dashboard-dialog-wide{width:min(100%,1450px)}.pb-dashboard-dialog-register{width:min(100%,1450px);height:min(78dvh,900px);max-height:calc(100dvh - 32px)}.pb-dashboard-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;border-bottom:1px solid var(--line);background:#eaf4fd}.pb-dashboard-dialog h2{margin:3px 0 0;color:var(--deep);font-size:calc((17px) * var(--density-font-scale, 1))}.pb-dashboard-dialog-content{min-height:0;overflow:auto;padding:12px}.pb-dashboard-dialog-content>.planner-build-table-view{width:100%;max-width:none;padding:0}.pb-detail-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden;margin-bottom:10px;border:1px solid var(--line);border-radius:8px;background:#f8faf9}.pb-detail-facts>div{display:grid;gap:3px;min-width:0;padding:9px 10px;border-right:1px solid #e5ece8;border-bottom:1px solid #e5ece8}.pb-detail-facts span{color:var(--muted);font-size:calc((9px) * var(--density-font-scale, 1))}.pb-detail-facts strong{overflow-wrap:anywhere}.pb-detail-facts strong,.pb-detail-subheading{color:var(--deep);font-size:calc((11px) * var(--density-font-scale, 1))}.pb-detail-subheading{margin:13px 0 7px}.pb-detail-toolbar{display:flex;justify-content:flex-end;padding:5px 0 9px}.pb-detail-toolbar label{display:flex;align-items:center;gap:8px;color:var(--deep);font-size:calc((10px) * var(--density-font-scale, 1));font-weight:700}.pb-detail-toolbar select{min-height:32px;padding:5px 24px 5px 8px;border:1px solid var(--line);border-radius:6px;background:white;color:var(--ink);font:inherit}.pb-register-table{min-width:1320px}.pb-register-table :is(th,td){white-space:nowrap}.pb-status-pill{display:inline-block;padding:4px 6px;border-radius:99px;background:#edf2f5;color:#4b6072;font-size:calc((9px) * var(--density-font-scale, 1));text-transform:capitalize}.pb-status-pill.status-completed{background:#e6f3eb;color:#286749}.pb-status-pill.status-in_progress{background:#e8f2fb;color:#1e5f8e}.pb-status-pill.status-blocked,.pb-status-pill.status-delayed{background:#fff0f1;color:#a4212b}@media (max-width:1050px){.pb-dashboard-metrics{grid-template-columns:repeat(3,minmax(0,1fr))!important}.pb-dashboard-facts{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:640px){.pb-dashboard-heading{align-items:flex-start;flex-direction:column}.pb-dashboard-actions{width:100%}.pb-dashboard-actions>button{flex:1 1}.pb-dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}.pb-dashboard-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.pb-dashboard-overview-title{align-items:flex-start;flex-direction:column;gap:3px}.pb-upcoming-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pb-dashboard-section>summary{align-items:flex-start}.pb-dashboard-section>summary small{max-width:48%}.pb-detail-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.pb-dashboard-overlay{align-items:end;padding:0}.pb-dashboard-dialog,.pb-dashboard-dialog-register,.pb-dashboard-dialog-wide{width:100%;height:auto;max-height:94dvh;border-radius:14px 14px 0 0}}@media (max-width:400px){.pb-upcoming-grid{grid-template-columns:1fr}.pb-dashboard-overview,.pb-programme-health{padding:9px}.pb-dashboard-metrics .pb-metric-card{padding:8px}.pb-dashboard-section>summary{gap:7px}.pb-dashboard-section>summary small{font-size:calc((8px) * var(--density-font-scale, 1))}.pb-programme-status-row{gap:6px 10px}}