:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#12304a;background:var(--app-background,#f3f9fd);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--green:#159be8;--muted:#647f93;--line:#dceaf3;--paper:#fff}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #62c8ff;outline-offset:3px}button{touch-action:manipulation}svg{flex-shrink:0}h1,h2,h3,p{margin-top:0}input,textarea{font-size:16px}button{min-height:44px}::selection{background:#cef}fieldset{border:0;padding:0;margin:0;min-width:0}.app-shell{display:flex;min-height:100dvh}.sidebar{width:232px;flex-shrink:0;background:#133c37;color:#fff;padding:37px 21px 26px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;padding-top:max(37px,env(safe-area-inset-top));padding-bottom:max(26px,env(safe-area-inset-bottom))}.brand{display:flex;flex-direction:column;align-items:flex-start;gap:15px;padding:0 7px}.brand-symbol{width:54px;height:54px;display:grid;place-items:center;border:1px solid #5c8076;border-radius:10px;color:#d6e8dc}.brand strong{font-size:17px;font-weight:600;letter-spacing:.2px;line-height:1.35;display:block;overflow-wrap:anywhere}.workspace-label{font-size:9px;letter-spacing:1.7px;color:#8aaa9d;margin:49px 12px 16px}.nav-item{border:0;background:transparent;color:inherit;width:100%;display:flex;gap:12px;align-items:center;font-size:14px;padding:15px 13px;border-radius:8px;min-height:50px}.nav-item.active{background:#2a514a}.nav-item svg:last-child{margin-left:auto}.sidebar-bottom{margin-top:auto;padding:35px 12px 0;color:#a9c1b6}.sidebar-bottom>svg{color:#abc8ac;margin-bottom:16px}.sidebar-bottom strong{display:block;color:#dce8df;font-size:14px;font-weight:500}.sidebar-bottom p{font-size:12px;line-height:1.8;margin:9px 0 23px}.local-label{display:flex;align-items:center;gap:8px;border-top:1px solid #33564c;padding-top:19px;font-size:10px}.local-label span{background:#a9c79b;width:6px;height:6px;border-radius:50%}.main-shell{margin-left:232px;flex:1;min-width:0}.topbar{height:76px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 42px;background:#fcfdfb;padding-top:env(safe-area-inset-top)}.topbar>div{display:flex;align-items:center;gap:13px;font-size:12px}.topbar span{color:var(--muted)}.topbar strong{font-weight:500}.topbar .storage-label{font-size:11px;color:var(--muted);gap:7px}main{max-width:1500px;margin:auto;padding:39px 42px 30px}.eyebrow{font-size:10px;letter-spacing:1.9px;font-weight:650;color:#6e8979;margin-bottom:12px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:32px}.page-heading h1{font-size:32px;letter-spacing:-1.1px;font-weight:600;display:flex;align-items:center;gap:13px;margin-bottom:9px;overflow-wrap:anywhere}.page-heading p{color:var(--muted);font-size:14px;margin-bottom:0;line-height:1.7;display:flex;align-items:flex-start;gap:6px;white-space:pre-wrap}.count{font-size:12px;font-weight:500;min-width:25px;height:25px;border-radius:6px;display:inline-grid;place-items:center;background:#e7eee8;color:#527361;letter-spacing:0;padding:0 6px}.button{border:1px solid transparent;border-radius:7px;min-height:46px;padding:11px 18px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-size:13px;font-weight:550;white-space:nowrap}.button.primary{background:var(--green);color:#fff;box-shadow:0 2px 3px #163b3710}.button.primary:hover{background:#24624f}.button.secondary{border-color:#d8e1d8;background:#fff;color:#36574a}.button.secondary:hover{background:#f2f6f1}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:31px}.summary{border:1px solid var(--line);background:#fff;border-radius:9px;padding:21px 23px}.summary>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.summary span{font-size:12px;color:#567064}.summary strong{font-size:29px;line-height:1;font-weight:500;letter-spacing:-1px;font-variant-numeric:tabular-nums}.summary small{display:block;font-size:11px;color:#8a958e;margin-top:10px}.project-section{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}.list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 21px;border-bottom:1px solid var(--line);flex-wrap:wrap}.filters{display:flex;gap:5px}.filters button{border:0;background:none;border-radius:6px;padding:0 12px;color:#758278;font-size:12px}.filters button.selected{background:#eaf1e9;color:#365b45;font-weight:600}.search-field{display:flex;gap:8px;align-items:center;color:#8b978f;border:1px solid var(--line);border-radius:6px;padding:0 11px;min-height:44px;max-width:100%;width:300px}.search-field input{border:0;outline:0;background:transparent;width:100%;font-size:11px;color:#324d42;padding:12px 0;min-width:0}.empty-state{padding:62px 24px 71px;display:flex;align-items:center;flex-direction:column;text-align:center}.empty-icon{width:78px;height:78px;background:#f0f4ed;color:#61866a;border:1px solid #e2eadd;border-radius:20px;display:grid;place-items:center;margin-bottom:24px}.empty-state h2{font-size:20px;letter-spacing:-.3px;font-weight:550;margin-bottom:11px}.empty-state p{max-width:350px;line-height:1.8;font-size:13px;color:var(--muted);margin-bottom:23px}.empty-state .button{font-size:12px}.workspace-footer{display:flex;align-items:center;gap:8px;font-size:10px;color:#859188;margin-top:20px}.units{margin-left:auto}.units strong{font-weight:500}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:22px}.project-card{display:block;text-align:left;border:1px solid var(--line);background:#fff;border-radius:8px;padding:22px;color:inherit;min-width:0}.project-card:hover{border-color:#92b49d;background:#fcfefb}.card-top{display:flex;gap:10px;justify-content:space-between;align-items:center;flex-wrap:wrap}.reference{font-size:10px;letter-spacing:.7px;color:#7b897f;overflow-wrap:anywhere}.status{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-size:10px;font-weight:500;padding:6px 9px;background:#f7f1df;color:#887028;border-radius:5px}.status:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.status.complete,.status.exported{background:#e9f1e7;color:#4b7549}.status.archived{background:#eef0ee;color:#69766b}.project-card h2{font-size:19px;font-weight:550;margin:24px 0 12px;overflow-wrap:anywhere}.address{display:flex;align-items:flex-start;gap:6px;color:#7b887f;font-size:12px;line-height:1.7;white-space:pre-wrap}.card-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:28px;padding-top:16px;border-top:1px solid #edf0ea;font-size:10px;color:#738176}.back-button{background:none;border:0;display:flex;gap:9px;align-items:center;font-size:12px;color:#708374;padding:0;margin-top:-17px;margin-bottom:20px}.form-layout{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:29px;align-items:start}.panel{border:1px solid var(--line);border-radius:9px;background:#fff;overflow:hidden;min-width:0}.panel-heading{padding:24px 26px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.panel-heading h2{font-size:16px;font-weight:550;letter-spacing:-.2px;margin:0}.required-note{font-size:10px;color:#8c968d}.form-grid{padding:8px 26px 27px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 19px}.form-field{display:flex;flex-direction:column;gap:9px;min-width:0}.form-field.wide{grid-column:1 / -1}.form-field label{display:flex;gap:8px;align-items:center;font-size:12px;font-weight:500;color:#455f4e}.form-field label span{color:#9aa39a;font-weight:400;font-size:10px}.form-field input,.form-field textarea{border:1px solid #dce3d9;border-radius:6px;min-height:46px;padding:12px;background:#fff;color:#2b4939;width:100%;resize:vertical}.form-field textarea{line-height:1.6}.form-field input::placeholder,.form-field textarea::placeholder{color:#9da79f;font-size:12px}.form-field [aria-invalid=true]{border-color:#b35e4c}.form-actions{display:flex;justify-content:flex-end;gap:12px;border-top:1px solid var(--line);padding:19px 26px}.form-guide{padding:27px 6px}.guide-icon{background:#e7eee0;color:#66825d;width:53px;height:53px;border-radius:12px;display:grid;place-items:center;margin-bottom:22px}.form-guide h2{font-size:23px;letter-spacing:-.6px;line-height:1.35;font-weight:500}.form-guide p{font-size:12px;line-height:1.9;color:#788674}.form-guide hr{border:0;border-top:1px solid #dfe6d9;margin:25px 0}.guide-note{display:flex;gap:10px;align-items:flex-start;color:#72876c}.guide-note p{font-size:11px;margin-top:-3px}.field-error{color:#a04732;font-size:11px}.error-banner{margin:0 26px 23px;padding:15px;background:#fff0eb;color:#963c2b;border:1px solid #edbbae;font-size:13px;border-radius:6px;line-height:1.7}.saved-indicator{display:flex;align-items:center;gap:6px;color:#65825b;font-size:12px;white-space:nowrap}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.project-data{display:grid;grid-template-columns:1fr 1fr;gap:29px 20px;padding:10px 26px;margin:0}.project-data dt{font-size:10px;color:#89968b;margin-bottom:8px}.project-data dd{font-size:14px;margin:0;overflow-wrap:anywhere}.notes-block{margin:27px 26px 25px;padding-top:21px;border-top:1px solid var(--line)}.notes-block h3{font-size:11px;color:#7d8c7f;font-weight:500}.notes-block p{font-size:13px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere}.empty-state.compact{padding:45px 24px}.compact>svg{color:#839a7e;margin-bottom:21px}.compact h3{font-size:15px;font-weight:500}.loading-state{padding:70px 0;text-align:center}.loading-state h1{font-size:22px;margin:25px 0}.loading-state p{font-size:14px;line-height:1.7;max-width:450px;margin:0 auto 20px}@media(min-width:1500px){main{padding-top:50px}.summary-grid{margin-bottom:38px}}@media(max-width:1150px){.sidebar{width:196px;padding-left:15px;padding-right:15px}.main-shell{margin-left:196px}main{padding:30px 27px}.topbar{padding:0 27px}.form-layout{grid-template-columns:minmax(0,1fr) 175px;gap:19px}.page-heading h1{font-size:29px}.search-field{width:260px}.form-guide h2{font-size:20px}.summary{padding:18px}.project-grid{gap:13px;padding:16px}.project-card{padding:18px}}@media(max-width:900px){.sidebar{width:82px;align-items:center;padding:26px 10px}.main-shell{margin-left:82px}.brand{padding:0;align-items:center;gap:0}.brand>div,.workspace-label,.sidebar-bottom{display:none}.brand-symbol{width:45px;height:45px}.nav-item{flex-direction:column;gap:5px;justify-content:center;text-align:center;width:100%;min-height:60px;padding:9px 2px;font-size:9px;letter-spacing:.03em;line-height:1.2;margin-top:8px}.nav-item svg:not(:first-child){display:none}.topbar{height:65px}.page-heading{gap:16px}.page-heading h1{font-size:27px}.form-layout{grid-template-columns:1fr}.form-guide{display:none}.summary-grid{gap:12px}.detail-grid{grid-template-columns:1fr}.summary strong{font-size:25px}}@media(max-width:600px){.sidebar{display:none}.main-shell{margin-left:0}.topbar{padding:env(safe-area-inset-top) 20px 0;height:60px}.topbar .storage-label{font-size:0;gap:0}.topbar .keyboard-mode-toggle{font-size:0;gap:0;padding:0 9px}main{padding:28px 18px max(28px,env(safe-area-inset-bottom))}.page-heading{align-items:flex-start;flex-wrap:wrap;margin-bottom:24px}.page-heading h1{font-size:27px}.page-heading p{font-size:12px}.page-heading>.button{width:100%}.eyebrow{font-size:9px}.summary-grid{gap:8px;margin-bottom:22px}.summary{padding:13px 10px}.summary>div{align-items:flex-start;flex-direction:column}.summary span{font-size:10px}.summary strong{font-size:26px;margin-top:5px}.summary small{font-size:9px;line-height:1.5}.list-toolbar{padding:12px;gap:8px}.filters{width:100%;justify-content:space-between;gap:0}.filters button{padding:0 10px;font-size:11px}.search-field{width:100%}.empty-state{padding:40px 18px 47px}.empty-state h2{font-size:18px}.empty-state p{font-size:12px}.workspace-footer{align-items:flex-start;flex-wrap:wrap;line-height:1.5}.units{margin-left:23px;width:100%}.project-grid{grid-template-columns:1fr;padding:12px}.form-grid{grid-template-columns:1fr;padding:8px 20px 22px;gap:19px}.panel-heading{padding:23px 20px 18px}.form-actions{padding:17px 20px}.project-data{padding:10px 20px}.notes-block{margin:25px 20px}.saved-indicator{margin-top:5px}}@media(prefers-reduced-motion:no-preference){button{transition:background .15s,border-color .15s}}.sidebar{background:#07375f}.brand-symbol{border-color:#348bc2;color:#bcecff}.brand small,.workspace-label{color:#8fd9ff}.nav-item.active{background:#0d5f94}.sidebar-bottom{color:#a8d1e7}.sidebar-bottom>svg{color:#71d1ff}.sidebar-bottom strong{color:#e5f6ff}.local-label{border-top-color:#245d82}.local-label span{background:#4fd1ff}.topbar{background:#fafdff}.eyebrow{color:#168ccf}.button.primary{background:#159be8;box-shadow:0 3px 8px #0b76b52b}.button.primary:hover{background:#087fc2}.button.secondary{border-color:#cce3f1;color:#135b86}.button.secondary:hover{background:#eef9ff}.count{background:#e2f4fd;color:#0876b5}.filters button.selected{background:#e2f4fd;color:#086da5}.search-field input{color:#173f5c}.empty-icon{background:#eaf7fd;color:#168bc9;border-color:#d3edf9}.project-card:hover{border-color:#79c9ee;background:#fbfeff}.status.complete,.status.exported{background:#e1f5fc;color:#11769f}.form-field label{color:#274f68}.form-field input,.form-field textarea{border-color:#d2e6f1;color:#173f5c}.guide-icon{background:#e1f4fd;color:#1386c4}.guide-note,.saved-indicator{color:#147baa}.button.small{min-height:38px;padding:8px 12px;font-size:11px}.opening-heading-actions{display:flex;align-items:center;gap:9px}.opening-form{margin:0 22px 20px;padding:18px;background:#f5fbfe;border:1px solid #d9edf7;border-radius:8px;display:grid;grid-template-columns:1fr 1fr;gap:16px}.opening-form select,.opening-edit-grid select{min-height:46px;border:1px solid #d2e6f1;border-radius:6px;background:#fff;color:#173f5c;padding:0 11px;font-size:16px}.opening-form-actions{display:flex;justify-content:flex-end;align-items:flex-end;gap:9px}.opening-list{padding:0 22px 22px;display:flex;flex-direction:column;gap:10px}.opening-card{display:flex;align-items:center;gap:14px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#fff}.opening-code{width:46px;height:46px;border-radius:9px;background:#e2f4fd;color:#0876b5;display:grid;place-items:center;font-weight:700;font-size:13px}.opening-card-main{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:4px;min-width:0;flex:1;border:0;background:transparent;color:inherit;padding:0}.opening-card-main strong{font-size:14px}.opening-card-main span{font-size:11px;color:var(--muted)}.opening-card-main small{display:flex;align-items:center;gap:5px;color:#a1771b;font-size:10px;margin-top:3px}.icon-button{width:44px;height:44px;border:1px solid #d5e8f2;border-radius:8px;background:#fff;color:#147baa;display:grid;place-items:center}.icon-button:hover{background:#eef9ff}.opening-editor{display:flex;flex-direction:column;gap:18px}.opening-edit-grid{padding-top:7px}.opening-notes{padding:5px 26px 26px}.opening-notes textarea{width:100%;border:1px solid #d2e6f1;border-radius:6px;padding:13px;resize:vertical;color:#173f5c;font-size:16px;line-height:1.6}.sketch-section{grid-column:1/-1}.sketch-tools{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:4px 22px 22px}.sketch-box{border:1px solid #d9eaf3;border-radius:9px;background:#fafdff;overflow:hidden}.sketch-box-heading{min-height:61px;padding:13px 15px;display:flex;align-items:center;justify-content:space-between;gap:10px}.sketch-box-heading strong,.sketch-box-heading span{display:block}.sketch-box-heading strong{font-size:12px}.sketch-box-heading span{font-size:10px;color:var(--muted);margin-top:4px}.sketch-box-heading button{border:0;background:#e6f5fc;color:#0876b5;border-radius:6px;padding:7px 9px;font-size:10px;min-height:34px}.sketch-canvas,.template-preview{display:block;width:100%;height:auto;aspect-ratio:360/230;touch-action:none}.canvas-paper{fill:#fff;stroke:#d9eaf3}.free-stroke{fill:none;stroke:#087fc2;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round}.template-actions{display:flex;align-items:center;gap:10px;padding:0 15px 10px;flex-wrap:wrap}.template-button{border:1px solid #bfe1f2;background:#eaf7fd;color:#086da5;border-radius:7px;padding:8px 11px;display:flex;align-items:center;gap:7px;font-size:11px}.shutter-toggle{display:flex;align-items:center;gap:7px;font-size:11px;color:#345f78}.shutter-toggle input{width:18px;height:18px;accent-color:#159be8}.template-preview{background:#fff;border-top:1px solid #e3eef4}.window-frame{fill:#f7fcff;stroke:#0876b5;stroke-width:6;stroke-linejoin:round}.opening-lines{fill:none;stroke:#58bce9;stroke-width:2}.shutter-box{fill:#d9f1fc;stroke:#0876b5;stroke-width:3}.shutter-line{stroke:#58bce9;stroke-width:2}.dimension-line{stroke:#6b8798;stroke-width:1.5}.dimension-text{fill:#244d66;font-size:11px;font-weight:650}.template-placeholder{fill:#8198a7;font-size:12px}.save-error{color:#a04732}.finish-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:flex-end}.photo-editor{padding:3px 22px 22px}.photo-toolbar{display:flex;align-items:center;gap:13px;flex-wrap:wrap;margin-bottom:14px}.photo-toolbar>span{font-size:11px;color:var(--muted)}.photo-toolbar label{cursor:pointer}.photo-toolbar label.disabled{opacity:.6;pointer-events:none}.photo-tabs{display:flex;gap:7px;overflow:auto;padding-bottom:10px}.photo-tabs button{display:flex;align-items:center;gap:5px;border:1px solid #d6e8f2;background:#fff;color:#527184;border-radius:6px;padding:8px 10px;font-size:10px;white-space:nowrap}.photo-tabs button.selected{background:#e3f5fd;color:#0876b5;border-color:#9fd7ef}.empty-photo{min-height:180px;border:1px dashed #b9dcea;border-radius:9px;background:#f8fcfe;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#147baa;padding:24px}.empty-photo strong{font-size:13px;margin:12px 0 6px}.empty-photo span{font-size:11px;color:var(--muted)}.annotation-wrap{border:1px solid #d9eaf3;border-radius:9px;overflow:hidden;background:#10293a}.annotation-toolbar{min-height:45px;padding:8px 12px;background:#f8fcfe;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px;color:#557486}.annotation-toolbar button{border:0;background:#e6f5fc;color:#0876b5;border-radius:6px;min-height:32px;padding:6px 9px;font-size:10px}.photo-canvas{display:block;width:100%;max-height:540px;touch-action:none}.native-file-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sketch-heading-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.sketch-heading-actions button:disabled{opacity:.45}.template-folders{display:flex;gap:5px;padding:0 15px 10px;overflow:auto}.template-folders button{border:0;border-radius:6px;background:#edf5f9;color:#587184;min-height:34px;padding:7px 9px;font-size:9px;white-space:nowrap}.template-folders button.selected{background:#159be8;color:#fff}.template-button.selected{border-color:#159be8;background:#dff3fd}.no-templates{font-size:10px;color:var(--muted);line-height:1.5;padding:5px}.panel-frame{fill:#f9fdff;stroke:#159be8;stroke-width:2}.internal-dimension{fill:#075f93;font-size:9px;font-weight:700}.opening-lines.strong{stroke:#07375f;stroke-width:2.2}.opening-lines.dashed{stroke:#07375f;stroke-width:2.2;stroke-dasharray:5 4}.parallel-frame{fill:none;stroke:#07375f;stroke-width:1.7}.data-sheet-grid{display:grid;grid-template-columns:minmax(330px,.9fr) minmax(420px,1.1fr);gap:20px;padding:4px 22px 22px;align-items:start}.data-sheet-drawing{min-width:0}.data-sheet .sketch-tools{grid-template-columns:1fr;padding:0}.data-sheet-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.data-sheet-fields .wide{grid-column:1/-1}.data-sheet-fields select{min-height:46px;border:1px solid #d2e6f1;border-radius:6px;background:#fff;color:#173f5c;padding:0 11px;font-size:16px}.sketch-mode-tabs{grid-column:1/-1;display:flex;gap:6px}.sketch-mode-tabs button{flex:1;border:1px solid #d2e6f1;background:#f4f9fc;color:#557486;border-radius:7px;min-height:40px;font-size:11px}.sketch-mode-tabs button.selected{background:#159be8;color:#fff;border-color:#159be8}@media(max-width:1050px){.data-sheet-grid{grid-template-columns:1fr}.data-sheet-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.sketch-tools{grid-template-columns:1fr}}@media(max-width:600px){.opening-form{grid-template-columns:1fr;margin:0 12px 16px}.opening-form-actions{justify-content:stretch}.opening-form-actions .button{flex:1}.opening-list{padding:0 12px 16px}.opening-heading-actions .button{font-size:0;padding:8px}.opening-heading-actions .button svg{margin:0}.opening-notes{padding:5px 20px 22px}.sketch-tools{padding:4px 12px 16px}.finish-actions{width:100%;align-items:stretch;flex-direction:column}.finish-actions .button{width:100%}.photo-editor{padding:3px 12px 16px}.photo-toolbar .button{width:100%}.data-sheet-grid{padding:4px 12px 16px}.data-sheet-fields{grid-template-columns:1fr}.data-sheet-fields .wide{grid-column:auto}}.free-stroke{stroke:#111}.template-item{display:inline-flex;align-items:center;border:1px solid #bfe1f2;border-radius:7px;background:#eaf7fd}.template-item .template-button{border:0}.template-item .favorite-button{padding:7px 9px}.print-sheet{display:none}.print-sheet header{display:flex;justify-content:space-between;border-bottom:2px solid #111;padding-bottom:8px}.print-title{display:grid;grid-template-columns:100px 1fr 1fr;gap:20px;padding:18px 0;border-bottom:1px solid #999}.print-title div{display:flex;flex-direction:column;gap:4px}.print-title h1{margin:0}.print-main{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;padding:20px 0}.print-sketch{width:100%;border:1px solid #aaa}.print-main dl{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:0}.print-main dl div{padding:8px;border-bottom:1px solid #ccc}.print-main dt{font-size:10px;text-transform:uppercase;color:#555}.print-main dd{margin:3px 0 0;font-weight:600}.print-notes{border:1px solid #999;padding:12px}.print-summary-sheet table{width:100%;border-collapse:collapse;margin-top:20px;font-size:10px}.print-summary-sheet th,.print-summary-sheet td{border:1px solid #777;padding:7px;text-align:left;vertical-align:top}@media print{body[data-print] .app-shell *{visibility:hidden}body[data-print=opening] .print-opening-sheet,body[data-print=opening] .print-opening-sheet *,body[data-print=summary] .print-summary-sheet,body[data-print=summary] .print-summary-sheet *{visibility:visible}.print-sheet{font-family:Arial,sans-serif;color:#111;padding:8mm;position:absolute;inset:0;width:100%;background:#fff}.print-sheet header{display:flex}body[data-print=opening] .print-opening-sheet,body[data-print=summary] .print-summary-sheet{display:block!important}@page{size:A4;margin:10mm}}.template-toolbar{display:flex;gap:8px;padding:0 15px 10px;align-items:center}.template-toolbar input{flex:1;min-height:38px;border:1px solid #d2e6f1;border-radius:6px;padding:0 10px}.favorite-button{border:0;background:transparent;color:#6b8798;font-size:18px}.favorite-button.selected{color:#e8a317}.dynamic-parameters{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding-top:4px;border-top:1px solid #e3eef4}.opening-card-actions{display:flex;gap:7px}.icon-button.danger{color:#a04732;border-color:#efd2ca}.icon-button.danger:hover{background:#fff2ee}.approved-sketch-editor{display:grid;gap:14px}.model-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:14px;border:1px solid #d9eaf3;border-radius:9px;background:#fafdff;align-items:end}.model-controls .wide{grid-column:1/-1}.model-controls .form-field:not(.wide) label{min-height:34px;align-items:flex-start}.model-controls select,.catalog-form select{min-height:46px;border:1px solid #d2e6f1;border-radius:6px;background:#fff;color:#173f5c;padding:0 11px;font-size:14px;width:100%}.catalog-button{grid-column:1/-1;justify-self:start}.technical-drawing{border:1px solid #d9eaf3;border-radius:9px;background:#fff;overflow:hidden}.drawing-heading{padding:13px 15px}.drawing-heading strong,.drawing-heading span{display:block}.drawing-heading strong{font-size:12px}.drawing-heading span{font-size:10px;color:var(--muted);margin-top:4px;line-height:1.5}.approved-preview{border-top:1px solid #e3eef4}.active-leaf-label{fill:#075f93;font-size:7px;font-weight:700}.vector-stroke{fill:none;stroke:#1769df;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.source-stroke{fill:none;stroke:#111;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;opacity:.4}.inline-sketch{border:1px solid #d9eaf3;border-radius:9px;background:#fafdff;overflow:hidden}.inline-sketch summary{cursor:pointer;padding:14px 15px;font-size:12px;font-weight:600}.inline-sketch .sketch-heading-actions{padding:0 15px 10px}.inline-sketch .sketch-heading-actions button{border:0;background:#e6f5fc;color:#0876b5;border-radius:6px;padding:7px 9px;min-height:34px}.inline-sketch-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 14px;flex-wrap:wrap}.inline-sketch-footer>span{font-size:10px;color:var(--muted)}.catalog-manager{border:1px solid #bfe1f2;border-radius:9px;background:#fff;padding:14px}.catalog-heading,.catalog-list article{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.catalog-heading strong,.catalog-heading span,.catalog-list strong,.catalog-list span{display:block}.catalog-heading span,.catalog-list span{font-size:10px;color:var(--muted);margin-top:4px;line-height:1.5}.catalog-heading>button,.catalog-list button{border:0;background:#eef7fb;color:#315f79;border-radius:6px;padding:7px 9px;display:inline-flex;align-items:center;gap:5px}.catalog-tabs{display:flex;gap:6px;margin:14px 0}.catalog-tabs button{border:1px solid #d2e6f1;background:#f4f9fc;color:#557486;border-radius:6px;padding:8px 12px}.catalog-tabs button.selected{background:#159be8;color:#fff}.catalog-list{max-height:280px;overflow:auto;border-top:1px solid #e3eef4}.catalog-list article{padding:11px 0;border-bottom:1px solid #e3eef4}.catalog-list article>div:last-child{display:flex;gap:5px;flex-shrink:0}.catalog-list button.danger{color:#a04732;background:#fff2ee}.catalog-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:15px;padding-top:14px;border-top:1px solid #d9eaf3}.catalog-form h3,.catalog-form .wide,.catalog-form-actions{grid-column:1/-1}.catalog-form h3{font-size:13px;margin:0}.catalog-form-actions{display:flex;justify-content:flex-end;gap:8px}.shutter-config{padding-top:12px;border-top:1px solid #d9eaf3}.shutter-config h3{font-size:13px;margin:0 0 12px}.shutter-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px;margin-top:14px}.shutter-fields .wide{grid-column:1/-1}.shutter-fields>.form-field:not(.wide) label{min-height:35px;align-items:flex-start}.height-result{font-size:10px;color:#557486;margin:0;padding:9px 10px;background:#f1f8fc;border-radius:6px}.data-sheet-fields textarea{font-size:14px}.photo-canvas{height:auto;max-height:none;user-select:none;-webkit-user-select:none}@media(max-width:700px){.model-controls,.catalog-form,.shutter-fields{grid-template-columns:1fr}.model-controls .wide,.catalog-form h3,.catalog-form .wide,.catalog-form-actions,.shutter-fields .wide{grid-column:auto}.model-controls .form-field:not(.wide) label,.shutter-fields>.form-field:not(.wide) label{min-height:0}.catalog-list article{flex-direction:column}.catalog-list article>div:last-child{width:100%}}.vector-stroke{stroke:#111}.source-stroke{opacity:.28}.technical-vector{stroke-width:2.2}.annotation-toolbar button{display:inline-flex;align-items:center;justify-content:center;gap:5px}.draw-mode-toggle{display:flex;gap:4px;padding:3px;border:1px solid #c9e1ee;border-radius:7px;background:#f5fbfe}.inline-sketch .draw-mode-toggle button{background:transparent;color:#527184}.inline-sketch .draw-mode-toggle button.selected{background:#159be8;color:#fff}.draw-mode-line{cursor:crosshair}.draw-mode-ink{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18'%3E%3Ccircle cx='9' cy='9' r='3' fill='%23111'/%3E%3C/svg%3E") 9 9,crosshair}.recognized-text{fill:#111;stroke:#fff;stroke-width:3px;paint-order:stroke;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:650}.annotation-wrap{overscroll-behavior:contain}.photo-canvas{touch-action:none!important;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;overscroll-behavior:contain}.annotation-toolbar>.annotation-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}.ink-color-picker{display:flex;align-items:center;gap:6px;padding:4px 7px;border:1px solid #d6e8f2;border-radius:7px;background:#fff}.ink-color-picker>span{font-size:9px;color:#557486}.annotation-toolbar .ink-color{width:28px;height:28px;min-height:28px;padding:0;border:1px solid #91a8b5;border-radius:50%}.annotation-toolbar .ink-color.selected{box-shadow:0 0 0 3px #159be8;border-color:#fff}.ink-color-picker input[type=color]{width:30px;height:30px;min-height:30px;padding:2px;border:1px solid #91a8b5;border-radius:6px;background:#fff;cursor:pointer}.data-sheet-fields>.form-field:not(.wide)>label{min-height:35px;align-items:flex-start}.data-sheet-fields>.form-field>input,.data-sheet-fields>.form-field>select,.shutter-config>.form-field>select,.shutter-fields>.form-field>input,.shutter-fields>.form-field>select{height:46px}@media(max-width:700px){.data-sheet-fields>.form-field:not(.wide)>label{min-height:0}}.recognition-review{border:1px solid #f0d9a8;border-radius:9px;background:#fffdf7;padding:14px}.recognition-review .catalog-heading strong{font-size:12px}.recognition-review .catalog-heading span{font-size:10px;color:var(--muted);margin-top:4px;line-height:1.5;display:block}.recognition-review-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;margin-top:12px;align-items:start}.review-preview{border:1px solid #e3eef4;border-radius:8px;background:#fff}.recognition-review-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;max-height:280px;overflow:auto}.recognition-review-list li{border:1px solid #e3eef4;border-radius:7px;background:#fff;padding:9px 11px}.recognition-review-list li.uncertain{border-color:#e8c98a;background:#fffbf1}.recognition-review-row{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.recognition-review-name{font-size:12px;font-weight:600}.recognition-review-state{font-size:10px;color:var(--muted)}.recognition-review-list li.uncertain .recognition-review-state{color:#96701d}.recognition-review-controls{display:flex;gap:7px;margin-top:8px;flex-wrap:wrap}.recognition-review-controls select{flex:1 1 140px;min-height:44px;border:1px solid #d2e6f1;border-radius:6px;background:#fff;color:#173f5c;padding:0 9px;font-size:14px}.recognition-review-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}@media(max-width:700px){.recognition-review-body{grid-template-columns:minmax(0,1fr)}}.brand-logo{width:54px;height:54px;object-fit:contain;background:#fff;border-radius:11px;padding:5px}.settings-card{background:#fff;border:1px solid var(--line);border-radius:10px;max-width:780px;overflow:hidden}.settings-section{padding:26px;border-bottom:1px solid var(--line)}.settings-section h2{font-size:17px;font-weight:550;margin:0 0 7px}.settings-section>p{font-size:12px;line-height:1.7;color:var(--muted);margin-bottom:22px}.settings-section .form-field{max-width:520px;margin-bottom:18px}.logo-picker{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.logo-picker img,.logo-picker>svg{width:70px;height:70px;object-fit:contain;border:1px solid var(--line);border-radius:8px;padding:5px}.logo-picker>svg{padding:20px;color:#168ccf;border-style:dashed}.logo-picker input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.settings-colors{display:flex;gap:28px;flex-wrap:wrap}.color-field{display:grid;grid-template-columns:auto auto;align-items:center;gap:8px 12px}.color-field label{grid-column:1/-1;font-size:12px;font-weight:500}.color-field input{width:56px;height:42px;border:1px solid var(--line);border-radius:6px;padding:3px;background:#fff}.color-field code{font-size:11px;color:var(--muted)}.settings-preview{display:flex;align-items:center;gap:16px;margin:22px 26px;padding:16px;border-radius:8px;border:1px solid var(--line)}.settings-preview span{font-size:10px;color:var(--muted);margin-right:auto}.settings-preview strong{font-size:13px}.settings-preview button{border:0;color:#fff;border-radius:6px;padding:9px 13px;font-size:11px}.settings-card .form-actions{padding:18px 26px}.settings-problem{margin:0 26px 18px;padding:14px;border:1px solid #edbbae;background:#fff0eb;color:#963c2b;border-radius:6px;font-size:13px;line-height:1.6}.inline-sketch-buttons{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.sketch-copy-fallback{padding:0 14px 12px;display:flex;flex-direction:column;gap:6px}.sketch-copy-fallback label{font-size:10px;color:var(--muted)}.sketch-copy-fallback textarea{width:100%;border:1px solid #d2e6f1;border-radius:6px;padding:9px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;line-height:1.45;color:#173f5c;resize:vertical}.sketch-copy-fallback>button{align-self:flex-end;border:0;background:#e6f5fc;color:#0876b5;border-radius:6px;padding:7px 9px;min-height:34px;font-size:11px}.sketch-sheet{position:fixed;inset:0;z-index:60;background:#e6eef5;display:flex;flex-direction:column;overscroll-behavior:contain;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.sketch-sheet-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 16px;background:#fff;border-bottom:1px solid var(--line)}.sketch-sheet-hint{font-size:11px;color:var(--muted);flex:1;min-width:120px}.sketch-sheet-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.sketch-sheet-actions>button:not(.button){border:1px solid #d5e8f2;background:#fff;color:#0876b5;border-radius:7px;min-height:42px;padding:8px 12px;display:inline-flex;align-items:center;gap:6px;font-size:12px}.sketch-sheet-canvas{flex:0 1 auto;min-height:0;width:auto;height:auto;max-width:100%;max-height:100%;aspect-ratio:360/230;margin:auto;display:block;background:#fff;border-radius:8px;box-shadow:0 2px 14px #0f2a3d1a;touch-action:none;-webkit-user-select:none;user-select:none}.sheet-paper{fill:#fff}.sheet-rules line{stroke:#d7e7f2;stroke-width:.5}.sketch-sheet .draw-mode-toggle button{background:transparent;color:#527184;border:0;border-radius:5px;min-height:38px;padding:7px 12px}.sketch-sheet .draw-mode-toggle button.selected{background:#159be8;color:#fff}.composition-editor{border:1px solid #d9eaf3;border-radius:9px;background:#fafdff;overflow:hidden;margin-bottom:12px}.composition-editor summary{cursor:pointer;padding:14px 15px;font-size:12px;font-weight:600}.composition-help{font-size:10px;color:var(--muted);line-height:1.6;padding:0 15px 10px;margin:0}.composition-body{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;padding:0 15px 14px;align-items:start}.composition-preview{border:1px solid #e3eef4;border-radius:8px;background:#fff}.pano{fill:transparent;stroke:#159be8;stroke-width:2;cursor:pointer}.pano:hover{fill:#159be814}.pano.selected{fill:#159be822;stroke:#0a5f8f;stroke-width:4}.pano-number{fill:#075f93;font-size:9px;font-weight:700;stroke:#fff;stroke-width:3px;paint-order:stroke}.composition-controls{display:flex;flex-direction:column;gap:10px}.composition-actions{display:flex;gap:6px;flex-wrap:wrap}.composition-actions button{border:1px solid #d2e6f1;background:#fff;color:#0876b5;border-radius:6px;min-height:40px;padding:8px 10px;font-size:11px}.composition-actions button:disabled{opacity:.45}.composition-actions button.danger{color:#a04732;border-color:#eccfc7}.composition-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.composition-fields .form-field{gap:6px}.composition-fields label{font-size:11px}.composition-fields select,.composition-fields input{min-height:44px;border:1px solid #d2e6f1;border-radius:6px;background:#fff;color:#173f5c;padding:0 10px;font-size:15px;width:100%}.composition-hint{font-size:11px;color:var(--muted);margin:0;line-height:1.6}.composition-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px;max-height:180px;overflow:auto}.composition-list button{width:100%;display:flex;align-items:center;gap:8px;text-align:left;min-width:0;border:1px solid #e3eef4;background:#fff;border-radius:6px;padding:7px 9px;font-size:11px;color:#173f5c}.composition-list li.selected button{border-color:#159be8;background:#f0f9fe}.pano-tag{width:22px;height:22px;flex-shrink:0;border-radius:5px;background:#e2f4fd;color:#0876b5;display:grid;place-items:center;font-weight:700;font-size:10px}.pano-mm{margin-left:auto;color:var(--muted);font-variant-numeric:tabular-nums;text-align:right;flex-shrink:0}.composition-total{font-size:10px;color:var(--muted);margin:0}.composition-fields .form-field{min-width:0}.composition-fields label span{display:block;font-weight:400;color:#9aa39a;font-size:10px}@media print{.print-sheet .print-sketch{background:#fff}.print-sheet .window-frame{fill:#fff;stroke:#111;stroke-width:5}.print-sheet .panel-frame{fill:#fff;stroke:#111;stroke-width:1.6}.print-sheet .opening-lines,.print-sheet .opening-lines.strong,.print-sheet .opening-lines.dashed,.print-sheet .parallel-frame{stroke:#111}.print-sheet .shutter-box{fill:#fff;stroke:#111}.print-sheet .dimension-line{stroke:#111}.print-sheet .dimension-text,.print-sheet .internal-dimension,.print-sheet .active-leaf-label,.print-sheet .recognized-text{fill:#111}.print-sheet .vector-stroke{stroke:#111}}.opening-groups{display:flex;flex-direction:column;gap:18px}.opening-group{border:1px solid #d9eaf3;border-radius:10px;background:#fafdff;padding:12px}.opening-group.loose{border:0;background:transparent;padding:0}.opening-group-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:4px 6px 12px}.opening-group-heading strong{display:block;font-size:13px}.opening-group-heading span{display:block;font-size:10px;color:var(--muted);margin-top:3px}.group-plan{width:132px;height:132px;flex:none;background:#fff;border:1px solid #d9eaf3;border-radius:8px}.group-plan-run{stroke:#0f2a3d;stroke-width:7;stroke-linecap:square}.group-plan-corner{fill:#fff;stroke:#0876b5;stroke-width:2}.group-plan-code{font-size:13px;font-weight:700;fill:#0876b5}.group-plan-mm{font-size:11px;fill:#5b7488}.label-hit{fill:transparent;stroke:none;cursor:move;touch-action:none}.label-box{fill:none;stroke:#159be8;stroke-width:1.4;stroke-dasharray:4 3;pointer-events:none}.label-stem{stroke:#159be8;stroke-width:1.4;pointer-events:none}.label-handle{fill:#fff;stroke:#159be8;stroke-width:2;cursor:grab;touch-action:none}.label-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:9px 12px;background:#f2f9fd;border-top:1px solid #d9eaf3}.label-actions-name{font-size:11px;color:#245a7c;font-weight:650;margin-right:2px}.label-actions button{border:1px solid #d5e8f2;background:#fff;color:#0876b5;border-radius:7px;min-height:38px;padding:7px 11px;font-size:11px}.label-actions button.use{background:#159be8;border-color:#159be8;color:#fff}.label-actions button.danger{color:#a2402c;border-color:#f0cfc6}.label-colours{display:flex;align-items:center;gap:5px;padding:0 2px}.label-colour{width:26px;height:26px;min-height:26px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #c7dbe6;padding:0}.label-colour.selected{box-shadow:0 0 0 2px #159be8}.sketch-sheet .label-actions{border-top:0;border-bottom:1px solid #d9eaf3}.model-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;padding:14px 22px 22px}.model-card{position:relative;border:1px solid #d9eaf3;border-radius:10px;background:#fff;overflow:hidden}.model-card.favourite{border-color:#9ad4f2;box-shadow:0 0 0 2px #e6f5fd}.model-card-main{display:block;width:100%;border:0;background:transparent;padding:10px;text-align:center;cursor:pointer}.model-card-drawing{width:100%;height:auto;display:block;background:#fff}.model-card-main strong{display:block;font-size:11px;margin-top:6px;color:#0f2a3d}.model-card-main span{display:block;font-size:9px;color:var(--muted);margin-top:2px}.model-card-actions{position:absolute;top:6px;right:6px;display:flex;gap:4px}.model-card-actions .icon-button{min-width:34px;min-height:34px;font-size:15px;line-height:1;background:#fff;border:1px solid #d9eaf3;border-radius:7px}.composition-sheet{position:fixed;inset:0;z-index:70;background:#eef5fa;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.composition-sheet-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 16px;background:#fff;border-bottom:1px solid var(--line)}.composition-sheet-bar>strong{font-size:13px}.composition-sheet-hint{font-size:11px;color:var(--muted);flex:1;min-width:140px}.composition-sheet-actions{display:flex;align-items:center;gap:8px}.composition-sheet-actions>button:not(.button){border:1px solid #d5e8f2;background:#fff;color:#0876b5;border-radius:7px;min-height:42px;padding:8px 12px;font-size:12px}.composition-sheet-body{flex:1;min-height:0;overflow:auto;padding:14px}.model-sheet{position:fixed;inset:0;z-index:75;background:#eef5fa;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.model-sheet-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 16px;background:#fff;border-bottom:1px solid var(--line)}.model-sheet-bar>strong{font-size:13px}.model-sheet-search{display:flex;align-items:center;gap:6px;flex:1 1 200px;min-width:160px;border:1px solid #d5e8f2;border-radius:8px;background:#fff;padding:0 10px;color:#527184}.model-sheet-search input{flex:1;min-width:0;border:0;outline:0;background:transparent;min-height:42px;font-size:13px}.model-sheet-search>button{border:0;background:transparent;color:#0876b5;font-size:12px;min-height:38px;padding:0 4px}.model-sheet-hint{font-size:11px;color:var(--muted);flex:1 1 100%;order:3}.model-sheet-body{flex:1;min-height:0;overflow:auto;padding:4px 0 18px}.model-sheet-section h3{display:flex;align-items:center;gap:8px;margin:14px 22px 0;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:#527184}.model-sheet-section .model-gallery{padding-top:8px}.model-sheet .typology-workspace{margin:0;padding:10px 14px 0}.model-sheet .typology-rail{background:transparent}@media(min-width:820px){.model-sheet-hint{flex:1 1 auto;order:0;text-align:right}}.composition-launch{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 15px;border:1px solid #d9eaf3;border-radius:9px;background:#fafdff;margin:0 22px 18px}.composition-launch strong{display:block;font-size:12px}.composition-launch span{display:block;font-size:10px;color:var(--muted);margin-top:3px}.model-picker{border:1px solid #d9eaf3;border-radius:9px;background:#fafdff;margin:0 22px 14px}.model-picker-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;flex-wrap:wrap}.model-picker-heading strong{display:block;font-size:12px}.model-picker-heading span{display:block;font-size:10px;color:var(--muted);margin-top:3px}.model-picker-actions{display:flex;gap:6px;flex-wrap:wrap}.model-picker-row{display:flex;gap:8px;overflow-x:auto;padding:0 13px 13px;scroll-snap-type:x proximity}.model-chip{flex:none;width:104px;border:1px solid #d9eaf3;border-radius:9px;background:#fff;padding:6px;scroll-snap-align:start;cursor:pointer}.model-chip.selected{border-color:#159be8;box-shadow:0 0 0 2px #d9f0fd}.model-chip-drawing{width:100%;height:auto;display:block}.model-chip span{display:block;font-size:9px;color:#245a7c;margin-top:4px;line-height:1.3}.voice-bar{display:flex;align-items:center;gap:10px;padding:0 13px 12px;flex-wrap:wrap}.voice-button{display:inline-flex;align-items:center;gap:7px;border:1px solid #159be8;background:#159be8;color:#fff;border-radius:20px;min-height:42px;padding:9px 15px;font-size:12px;touch-action:none}.voice-button.listening{background:#a2402c;border-color:#a2402c}.voice-bar>span{font-size:10px;color:var(--muted);flex:1;min-width:160px;line-height:1.4}.voice-ask{margin:0 13px 12px;padding:11px 13px;border:1px solid #bfe1f2;border-radius:9px;background:#f2f9fd}.voice-ask strong{display:block;font-size:12px;margin-bottom:8px}.voice-ask-options{display:flex;gap:6px;flex-wrap:wrap}.voice-ask-options button{border:1px solid #d5e8f2;background:#fff;color:#0876b5;border-radius:7px;min-height:40px;padding:8px 12px;font-size:11px}.voice-ask-options button.danger{color:#a2402c;border-color:#f0cfc6}.hueco-body{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.7fr);gap:20px;padding:0 22px 18px;align-items:start}.hueco-measures{display:grid;grid-template-columns:1fr;gap:14px;padding:0}.measure-note{grid-column:1/-1;margin:0;font-size:11px;color:var(--muted);background:#f2f9fd;border-radius:7px;padding:8px 10px}.data-groups{display:flex;flex-direction:column;gap:0;padding:0 22px 18px}.data-group{border-bottom:1px solid #e6f0f5}.data-group:last-child{border-bottom:0}.data-group>summary{cursor:pointer;list-style:none;padding:13px 4px;font-size:12px;font-weight:650;color:#245a7c;display:flex;align-items:center;gap:8px}.data-group>summary::-webkit-details-marker{display:none}.data-group>summary:before{content:"▸";color:#8fc7e6;font-size:11px}.data-group[open]>summary:before{content:"▾"}.data-group .data-sheet-fields{padding:0 0 16px}@media(min-width:1000px){.data-group .data-sheet-fields{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:999px){.data-group .data-sheet-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.hueco-body{grid-template-columns:1fr;padding:0 12px 14px}.data-groups{padding:0 12px 14px}.data-group .data-sheet-fields{grid-template-columns:1fr}}@media(min-width:1000px){.model-picker-row{flex-wrap:wrap;overflow:visible}.model-chip{width:118px}}.sketch-canvas.locked,.sketch-sheet-canvas.locked{cursor:pointer}.sketch-canvas.locked .canvas-paper,.sketch-sheet-canvas.locked .sheet-paper{stroke:#bcd7e6;stroke-dasharray:6 4}.sketch-canvas.armed .canvas-paper,.sketch-sheet-canvas.armed .sheet-paper{stroke:#159be8;stroke-width:2}.canvas-lock{border:1px solid #d5e8f2!important;background:#fff!important;color:#0876b5!important}.canvas-lock.armed{background:#159be8!important;border-color:#159be8!important;color:#fff!important}.canvas-dictate,.annotation-dictate{display:inline-flex;align-items:center;gap:6px;border:1px solid #159be8!important;background:#159be8!important;color:#fff!important;border-radius:20px;touch-action:none}.canvas-dictate.listening,.annotation-dictate.listening{background:#a2402c!important;border-color:#a2402c!important}.dictation-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 13px 12px;padding:11px 13px;border:1px solid #f0cfc6;border-radius:9px;background:#fdf4f1}.dictation-bar>strong{font-size:12px;color:#a2402c;white-space:nowrap}.dictation-dot{width:11px;height:11px;border-radius:50%;background:#c0392b;flex:none;animation:dictation-pulse 1s ease-in-out infinite}@keyframes dictation-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.82)}}.dictation-meter{flex:none;width:120px;height:8px;border-radius:5px;background:#f2ded8;overflow:hidden}.dictation-meter>span{display:block;height:100%;background:#c0392b;border-radius:5px;transition:width .08s linear}.dictation-partial{flex:1;min-width:150px;font-size:12px;color:#7a4436;line-height:1.4}.dictation-bar button:not(.button){border:1px solid #e4c8c0;background:#fff;color:#a2402c;border-radius:7px;min-height:40px;padding:8px 12px;font-size:11px}.voice-button,.canvas-dictate,.annotation-dictate{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.voice-button[disabled],.canvas-dictate[disabled],.annotation-dictate[disabled]{opacity:.5}.shape{fill:none;stroke:#0f2a3d;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.shape.red{stroke:#e32636}.shape.white{stroke:#fff}.shape.yellow{stroke:#ffd60a}.shape.green{stroke:#12a150}.shape-panel{stroke:#159be8;stroke-width:1.6}.shape-text{font-size:13px;font-weight:700;fill:#0f2a3d;stroke:#fff;stroke-width:3px;paint-order:stroke}.shape.red .shape-text{fill:#e32636}.shape.white .shape-text{fill:#fff;stroke:#0f2a3d}.shape.yellow .shape-text{fill:#ffd60a;stroke:#0f2a3d}.shape.green .shape-text{fill:#12a150}.shape-selected{fill:none;stroke:#159be8;stroke-width:1.6;stroke-dasharray:5 4}.sketch-grid line{stroke:#e7f0f6;stroke-width:1}.tool-palette{display:flex;gap:10px;flex-wrap:wrap;padding:10px 16px;background:#fff;border-bottom:1px solid var(--line)}.tool-set{display:flex;gap:4px;align-items:center;padding:3px;background:#f2f7fa;border-radius:9px}.tool-set select{border:1px solid #d5e8f2;border-radius:7px;min-height:38px;padding:6px 8px;font-size:11px;background:#fff;color:#245a7c}.tool-group-label{align-self:center;font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.tool-palette .tool{border:1px solid transparent;background:#fff;color:#245a7c;border-radius:8px;width:48px;height:48px;padding:0;display:grid;place-items:center}.tool-palette .tool svg{width:26px;height:26px}.tool-text{font-size:11px;font-weight:700}.tool-palette .tool .tool-text{font-size:18px;line-height:1}.aperture-icon .opening-lines{stroke:currentColor;stroke-width:1.4}.aperture-icon .parallel-frame{stroke:currentColor}.tool-palette .tool.on{border-color:#159be8;background:#e8f6fe;color:#0876b5;font-weight:650}.tool-palette .tool.ink-dot span{width:24px;height:24px;border-radius:50%;display:block;box-shadow:0 0 0 1px #0f2a3d59 inset}.tool-holder{position:relative;display:flex}.tool-flyout{position:absolute;left:calc(100% + 8px);top:-4px;z-index:40;display:flex;align-items:center;gap:7px;background:#fff;border:1px solid #d5e8f2;border-radius:12px;padding:8px;box-shadow:0 10px 26px #0f2a3d38}.tool-flyout.column{flex-direction:column;align-items:stretch}.ink-swatch{width:40px;height:40px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #c7dbe6;padding:0}.ink-swatch.on{box-shadow:0 0 0 3px #159be8}.ink-other{width:40px;height:40px;border-radius:50%;border:1px dashed #9fc4d8;display:grid;place-items:center;overflow:hidden}.ink-other input{width:52px;height:52px;border:0;background:transparent;padding:0}.size-pill{display:inline-flex;border:1px solid #d5e8f2;border-radius:9px;overflow:hidden}.size-pill button{border:0;background:#fff;color:#0876b5;font-size:15px;font-weight:700;min-height:44px;padding:0 16px}.size-pill button+button{border-left:1px solid #d5e8f2}.annotation-wrap .tool-flyout{background:#16354a;border-color:#ffffff29}.annotation-wrap .size-pill{border-color:#ffffff29}.annotation-wrap .size-pill button{background:#16354a;color:#cfe6f3}.annotation-wrap .size-pill button+button{border-left-color:#ffffff29}.bar-holder{position:relative;display:flex}.bar-flyout{position:absolute;top:calc(100% + 8px);right:0;z-index:20;display:flex;gap:6px;background:#fff;border:1px solid #d5e8f2;border-radius:12px;padding:8px;box-shadow:0 10px 26px #0f2a3d38}.bar-flyout.column{flex-direction:column;min-width:210px}.bar-flyout button{border:1px solid #d5e8f2;background:#fff;color:#0876b5;border-radius:8px;min-height:44px;padding:0 12px;font-size:12px;display:inline-flex;align-items:center;gap:7px;justify-content:flex-start;white-space:nowrap}.bar-flyout button:disabled{opacity:.45}.bar-flyout button.danger{color:#a2402c;border-color:#f0cfc6}.annotation-wrap .bar-flyout{background:#16354a;border-color:#ffffff29}.annotation-wrap .bar-flyout button{background:#16354a;border-color:#ffffff29;color:#cfe6f3}.annotation-wrap .tool-palette .tool.ink-dot{background:#16354a}.annotation-wrap .tool-palette .tool.ink-dot.on{background:#16354a;box-shadow:0 0 0 2px #159be8}.shape-handle{fill:#fff;stroke:#159be8;stroke-width:2.4;cursor:grab;touch-action:none}.annotation-wrap{display:flex;flex-direction:column;min-height:0}.annotation-wrap .tool-palette{background:#0d2434;border-bottom:1px solid rgba(255,255,255,.12);border-right:0}.annotation-wrap .tool-palette .tool{background:#16354a;border-color:transparent;color:#cfe6f3}.annotation-wrap .tool-palette .tool.on{background:#159be8;border-color:#159be8;color:#fff}.annotation-wrap .tool-palette .tool-set{background:#ffffff0f}.annotation-wrap .tool-group-label{color:#8fb4c9}.photo-canvas{display:block;width:auto;height:auto;max-width:100%;max-height:100%;margin:auto;flex:0 1 auto;min-height:0;touch-action:none}.photo-stage{flex:1;min-height:0;display:flex;background:#10293a}@media(orientation:landscape)and (min-width:1000px){.hueco-body{grid-template-columns:minmax(0,1.35fr) minmax(330px,.85fr)}}@media(orientation:landscape)and (min-width:900px){.annotation-wrap{flex-direction:row;align-items:stretch}.annotation-wrap .tool-palette{flex-direction:column;align-items:stretch;width:150px;border-bottom:0;border-right:1px solid rgba(255,255,255,.12);overflow:visible}.annotation-wrap .tool-palette .tool-set{flex-direction:row;flex-wrap:wrap;justify-content:center}.photo-stage{flex:1}.annotation-toolbar{position:absolute;left:150px;right:0;bottom:0;background:#f8fcfef0}.annotation-wrap{position:relative}}.sketch-sheet{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);gap:10px;padding:10px}.sketch-sheet .tool-palette{position:static;grid-column:1;grid-row:1 / span 2;transform:none;flex-direction:column;align-items:center;width:64px;overflow:visible;gap:6px;padding:8px 5px;border:0;border-radius:16px;background:#fff;box-shadow:0 6px 22px #0f2a3d1f;z-index:2}.sketch-sheet .tool-palette .tool-set{flex-direction:column;gap:3px;padding:2px;background:transparent}.sketch-sheet .tool-palette .tool{width:46px;height:46px}.sketch-sheet .tool-group-label{font-size:7px;letter-spacing:.04em;color:#8ba6b8}.sketch-sheet .sketch-sheet-bar{position:static;grid-column:2;grid-row:1;flex-direction:row;align-items:center;gap:6px;flex-wrap:wrap;border:0;border-radius:14px;padding:7px 9px;background:#fff;box-shadow:0 6px 22px #0f2a3d1f;z-index:2}.sketch-sheet-canvas{position:static;grid-column:2;grid-row:2;width:100%;height:100%;min-width:0;min-height:0;max-width:none;max-height:none;aspect-ratio:auto;margin:0}.sketch-sheet .sketch-sheet-hint{display:none}.sketch-sheet .label-actions{position:absolute;left:84px;right:10px;bottom:10px;z-index:2;border:0;border-radius:14px;background:#fffffff5;box-shadow:0 6px 22px #0f2a3d29}.sketch-sheet .dictation-bar{position:absolute;left:84px;right:10px;bottom:10px;z-index:3}.annotation-wrap{position:relative}.photo-stage{padding:0}.annotation-wrap .tool-palette{position:absolute;left:10px;top:50%;transform:translateY(-50%);flex-direction:column;align-items:center;width:60px;overflow:visible;gap:6px;padding:8px 5px;border:0;border-radius:16px;background:#0d2434eb;box-shadow:0 6px 22px #00000059;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:2}.annotation-wrap .tool-palette .tool-set{flex-direction:column;gap:3px;padding:2px;background:transparent}.annotation-wrap .tool-palette .tool{width:46px;height:46px}.annotation-toolbar{position:absolute;left:82px;right:10px;bottom:10px;z-index:2;border-radius:12px;background:#f8fcfef0;min-height:0;padding:7px 11px}.annotation-wrap.full{position:fixed;inset:0;z-index:60;border:0;border-radius:0;background:#0b1f2d;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.annotation-wrap.full .photo-canvas{max-width:100%;max-height:100%}.annotation-wrap.full .annotation-toolbar{left:82px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom))}.annotation-wrap.full .tool-palette{top:50%}.annotation-actions>button[aria-label=Acercar],.annotation-actions>button[aria-label=Alejar]{min-width:38px;font-size:16px;line-height:1;padding:6px 10px}.sketch-sheet .label-actions,.annotation-wrap.full .label-actions{width:max-content;max-width:calc(100% - 94px)}.annotation-wrap.full .label-actions{position:absolute;left:82px;bottom:calc(74px + env(safe-area-inset-bottom));z-index:3;border:0;border-radius:14px;background:#fffffff5;box-shadow:0 6px 22px #0f2a3d29}.bar-flyout.up{top:auto;bottom:calc(100% + 8px)}.annotation-toolbar>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.annotation-wrap.full .annotation-actions{flex-wrap:nowrap;min-width:max-content}@media(orientation:landscape){.sketch-sheet{gap:8px;padding:8px}.sketch-sheet .sketch-sheet-bar{gap:5px;padding:5px 8px}.sketch-sheet .sketch-sheet-actions{gap:5px}.sketch-sheet .sketch-sheet-actions>button:not(.button),.sketch-sheet .bar-holder>button{min-height:36px;padding:6px 10px;font-size:11px}.sketch-sheet .sketch-sheet-actions .button.small{min-height:36px;padding:6px 12px}.sketch-sheet .label-actions,.annotation-wrap.full .label-actions{gap:5px;padding:6px 9px}.sketch-sheet .label-actions button,.annotation-wrap.full .label-actions button{min-height:34px;padding:5px 10px}.annotation-wrap.full .annotation-toolbar{padding:5px 9px}.annotation-wrap.full .label-actions{bottom:calc(64px + env(safe-area-inset-bottom))}.annotation-wrap.full .annotation-actions{gap:5px}.annotation-wrap.full .annotation-actions .button.small{min-height:34px;padding:5px 11px}.annotation-wrap.full .annotation-actions>button:not(.button){min-height:34px}}.doc-switch{display:flex;gap:4px;padding:3px;background:#f2f7fa;border-radius:22px}.doc-switch button{border:0;background:transparent;color:#527184;border-radius:20px;min-height:38px;padding:8px 18px;font-size:12px}.doc-switch button.selected{background:#159be8;color:#fff;font-weight:650}.panel.documenting .composition-hint{padding:14px 22px 20px}.stepper{display:flex;align-items:stretch;gap:6px}.stepper input{flex:1;min-width:0;text-align:center}.stepper button{width:52px;border:1px solid #d5e8f2;background:#fff;color:#0876b5;border-radius:8px;font-size:20px;line-height:1}.stepper button:disabled{opacity:.4}.hueco-measures{order:2}.hueco-body>.technical-drawing{order:1}.hueco-config{margin-top:8px;border-top:1px solid #e6f0f5;padding-top:2px}.hueco-strip{grid-column:1/-1;border-top:1px solid #e6f0f5;margin-top:10px;padding-top:4px}.hueco-strip .data-sheet-fields{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px;padding:0 0 12px}.hueco-strip .data-group>summary{padding:11px 2px;font-size:11px}@media(max-width:900px){.hueco-strip .data-sheet-fields{grid-template-columns:1fr!important}}.hueco-config h3{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:6px 0 0}.hueco-config .data-groups{padding:0}.hueco-config .data-group>summary{padding:9px 2px;font-size:11px}.hueco-config .data-sheet-fields{grid-template-columns:1fr!important;gap:10px;padding:0 0 10px}.hueco-config .form-field label{min-height:0;font-size:10px}.hueco-config .form-field input,.hueco-config .form-field select,.hueco-config .form-field textarea{min-height:40px;font-size:12px}.hueco-config .shutter-config{margin:0}@media(max-width:900px){.hueco-body{grid-template-columns:1fr}}.sketch-canvas.preview{touch-action:auto!important;pointer-events:none;cursor:default}.photo-canvas.preview{touch-action:auto!important;cursor:zoom-in}.annotation-wrap:not(.full) .annotation-toolbar{position:static;border-radius:0}.shutter-drive{fill:none;stroke:#0876b5;stroke-width:1.6;stroke-linecap:round}.print-sheet .shutter-drive{stroke:#111}.annotation-wrap:not(.full){border:1px solid #d9eaf3;border-radius:9px;background:#fff}.annotation-wrap:not(.full) .photo-stage{height:min(52vh,420px);padding:10px;background:#f2f9fd;border-radius:9px 9px 0 0}.annotation-wrap:not(.full) .photo-canvas{max-height:100%;max-width:100%;margin:auto;box-shadow:0 2px 14px #0f2a3d1a;border-radius:6px}.annotation-wrap.full .photo-stage{height:100%;padding:0}.photo-actions{display:flex;gap:8px;flex-wrap:wrap;padding:10px 12px}.print-photos{margin-top:16px}.print-photos>strong{display:block;font-size:10px;text-transform:uppercase;color:#555;margin-bottom:8px}.print-photos figure{margin:0 0 10px;border:1px solid #999;padding:6px;break-inside:avoid;page-break-inside:avoid}.print-photos svg{display:block;width:100%;height:auto;max-height:105mm}.print-photos figcaption{font-size:10px;color:#555;margin-top:5px}@media print{body[data-print=opening] .app-shell{display:none}body[data-print=opening] .print-opening-sheet{position:static;inset:auto;padding:0}}.pdf-state{margin:0 0 14px;padding:10px 13px;border-radius:8px;background:#eef7fb;color:#20536f;font-size:12px}.pdf-option{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:#3b5f75}.pdf-option input{width:18px;height:18px}.measures-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-field.compact input{min-height:38px;padding:7px 10px;font-size:15px}.choice-toggle{display:flex;gap:6px;flex-wrap:wrap}.choice-toggle button{flex:1 1 92px;min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:5px;border:1px solid #d2e6f1;background:#fbfdff;color:#41647c;border-radius:7px;min-height:42px;font-size:13px}.choice-toggle button.selected{background:#159be8;border-color:#159be8;color:#fff}.checkbox-field{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:500;color:#274f68;min-height:42px}.checkbox-field input{width:19px;height:19px;flex-shrink:0}.pdf-state{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.pdf-state-actions{display:inline-flex;gap:8px}button.storage-label{border:0;background:transparent;cursor:pointer;font:inherit}.topbar-actions{display:flex;align-items:center;gap:14px}.keyboard-mode-toggle{display:inline-flex;align-items:center;gap:6px;border:1px solid #d2e6f1;background:#fff;color:#41647c;border-radius:7px;min-height:38px;padding:0 12px;font-size:11px;font-weight:500}.keyboard-mode-toggle.on{background:#159be8;border-color:#159be8;color:#fff}.storage-panel{position:fixed;inset:0;background:#0c202d73;display:flex;align-items:center;justify-content:center;z-index:60;padding:20px}.storage-panel-card{background:#fff;border-radius:12px;width:min(680px,100%);max-height:86vh;display:flex;flex-direction:column;padding:18px;box-shadow:0 18px 50px #091e2d4d}.storage-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:12px;border-bottom:1px solid #e3eef4}.storage-panel-head strong{display:block;font-size:16px}.storage-panel-head span{display:block;font-size:12px;color:var(--muted);margin-top:4px}.storage-list{overflow:auto;flex:1}.storage-list article{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid #eef5f9}.storage-list strong{display:block;font-size:13px}.storage-list span{display:block;font-size:11px;color:#7d94a3;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;margin-top:3px}.storage-list small{display:block;font-size:11px;color:var(--muted);margin-top:3px}.storage-empty,.storage-foot{font-size:12px;color:var(--muted);margin:12px 0 0}.box-doubt{display:flex;flex-direction:column;gap:9px;padding:11px 13px;border:1px solid #f0d9a8;background:#fdf7e9;border-radius:8px;font-size:12px;color:#6b5320}.box-doubt div{display:flex;gap:8px;flex-wrap:wrap}.gallery-tabs{display:inline-flex;background:#eef6fa;border-radius:8px;padding:3px;margin-right:10px}.gallery-tabs button{border:0;background:transparent;color:#527184;border-radius:6px;min-height:38px;padding:7px 14px;font-size:13px}.gallery-tabs button.selected{background:#159be8;color:#fff}@media(max-width:900px){.gallery-tabs{margin-right:0}.gallery-tabs button{white-space:nowrap;padding:7px 11px;font-size:12px}}.typology-workspace{display:grid;grid-template-columns:186px minmax(0,1fr) 300px;gap:14px;align-items:start;margin-bottom:18px}.typology-workspace.picking{grid-template-columns:186px minmax(0,1fr)}.typology-rail{background:#fff;border:1px solid #d9eaf3;border-radius:11px;padding:10px;display:flex;flex-direction:column;gap:2px;position:sticky;top:12px}.typology-rail>span{font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:#8ba6b8;padding:6px 10px 8px}.typology-rail button{display:flex;align-items:center;gap:9px;border:0;background:transparent;color:#41647c;border-radius:8px;min-height:42px;padding:8px 10px;font-size:13px;text-align:left}.typology-rail button.selected{background:#eaf5fb;color:#0876b5;font-weight:600}.typology-main{background:#fff;border:1px solid #d9eaf3;border-radius:11px;padding:16px;min-width:0}.typology-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.typology-search{display:flex;align-items:center;gap:8px;flex:1;min-width:200px;border:1px solid #d2e6f1;border-radius:8px;padding:0 11px;background:#fbfdff}.typology-search input{flex:1;border:0;background:transparent;min-height:44px;font-size:14px;color:#173f5c}.typology-search input:focus{outline:none}.typology-search button{border:0;background:transparent;color:#0876b5;font-size:12px}.typology-heard{margin:12px 0 0;padding:10px 13px;border-radius:8px;background:#eef7fb;color:#20536f;font-size:12px}.typology-hint{margin:12px 0 0;font-size:12px;color:var(--muted)}.typology-section{margin-top:18px}.typology-section h3{display:flex;align-items:center;gap:8px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#5b7488;margin:0 0 10px}.typology-section h3 span{background:#eef6fa;color:#41647c;border-radius:10px;padding:1px 8px;font-size:11px;letter-spacing:0}.typology-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(124px,1fr));gap:10px}.typology-card{position:relative;border:1px solid #dfeaf1;border-radius:10px;background:#fff}.typology-card:hover{border-color:#9ed0ea}.typology-card.chosen{border-color:#159be8;box-shadow:0 0 0 2px #159be82e}.typology-pick{display:block;width:100%;border:0;background:transparent;padding:10px 8px 9px;text-align:center;cursor:pointer}.typology-icon{width:100%;max-width:96px;height:auto;color:#0f2a3d}.typology-pick span{display:block;font-size:11px;line-height:1.35;color:#3b5f75;margin-top:6px}.typology-pick small{display:block;font-size:9px;color:#9ab0be;margin-top:2px}.typology-star{position:absolute;top:4px;right:4px;border:0;background:transparent;color:#c3d3dd;padding:6px;line-height:0}.typology-star.on{color:#e8a317}.typology-options{background:#fff;border:1px solid #d9eaf3;border-radius:11px;padding:14px;position:sticky;top:12px;display:flex;flex-direction:column;gap:11px}.typology-options h3{font-size:13px;margin:0 0 2px}.typology-options.empty p{font-size:12px;color:var(--muted);margin:0;line-height:1.55}.typology-chosen{display:flex;gap:11px;align-items:center;border:1px solid #e3eef4;border-radius:9px;padding:9px}.typology-chosen .typology-icon{width:70px;flex:none}.typology-chosen strong{display:block;font-size:13px;line-height:1.3}.typology-chosen span{display:block;font-size:10px;color:#7d94a3;margin-top:2px}.typology-chosen small{display:block;font-size:10px;color:var(--muted);margin-top:4px;line-height:1.4}.typology-field{display:flex;flex-direction:column;gap:5px;font-size:11px;color:#5b7488}.typology-field>span{font-size:11px;color:#5b7488}.typology-field input,.typology-field select{min-height:40px;border:1px solid #d2e6f1;border-radius:7px;background:#fff;color:#173f5c;padding:0 10px;font-size:13px;width:100%}.typology-field small{font-size:10px;color:#8ba6b8;line-height:1.4}.typology-choice{display:flex;gap:6px}.typology-choice button{flex:1;border:1px solid #d2e6f1;background:#fbfdff;color:#41647c;border-radius:7px;min-height:40px;font-size:13px}.typology-choice button.selected{background:#159be8;border-color:#159be8;color:#fff}.typology-choice button:disabled{opacity:.45}.typology-fav-toggle{display:flex;align-items:center;gap:8px;font-size:12px;color:#41647c}.typology-fav-toggle input{width:18px;height:18px}.typology-saved{margin:0;font-size:12px;color:#20536f;background:#eef7fb;border-radius:8px;padding:9px 11px}.typology-note{margin:0;font-size:10px;color:#8ba6b8;line-height:1.5}.typology-icon.big{width:min(320px,60vw);height:auto;margin:14px auto;display:block;color:#0f2a3d}@media(max-width:1100px){.typology-workspace{grid-template-columns:minmax(0,1fr);gap:8px}.typology-workspace.picking{grid-template-columns:minmax(0,1fr)}.typology-rail{position:sticky;top:0;z-index:3;flex-direction:row;flex-wrap:nowrap;overflow-x:auto;gap:6px;padding:8px;-webkit-overflow-scrolling:touch}.typology-rail>span{display:none}.typology-rail button{flex:0 0 auto;white-space:nowrap;border:1px solid #e3eef4;min-height:40px}.typology-grid{grid-template-columns:repeat(auto-fill,minmax(112px,1fr))}.typology-icon{max-width:92px}.typology-options{position:sticky;bottom:8px;z-index:3;max-height:52vh;overflow-y:auto;box-shadow:0 -10px 26px #0f2a3d24}.typology-options.empty{display:none}}@media(min-width:1101px)and (max-width:1320px){.typology-workspace{grid-template-columns:142px minmax(0,1fr) 244px;gap:10px}.typology-workspace.picking{grid-template-columns:142px minmax(0,1fr)}.typology-rail button{min-height:38px;padding:6px 8px;font-size:12px;gap:7px}.typology-grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px}.typology-icon{max-width:80px}.typology-options{padding:11px;gap:9px}.typology-chosen .typology-icon{width:56px}}.project-gallery{margin-bottom:18px}.project-gallery .typology-workspace{margin-bottom:0}.project-gallery-hint{margin:0;padding:0 15px 14px;font-size:12px;color:var(--muted)}.what-next{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:24px;background:#0920306b}.what-next-card{background:var(--paper);border-radius:14px;padding:28px;max-width:440px;width:100%;box-shadow:0 18px 50px #09203047}.what-next-card h2{font-size:20px;font-weight:600;letter-spacing:-.2px;margin:0 0 8px}.what-next-card>p{font-size:13px;line-height:1.7;color:var(--muted);margin:0 0 20px}.what-next-actions{display:flex;flex-direction:column;gap:9px}.what-next-actions .button{width:100%}.what-next-note{font-size:11px;line-height:1.65;color:var(--muted);margin:18px 0 0}.what-next-error{border:1px solid #edbbae;background:#fff0eb;color:#963c2b;border-radius:6px;padding:12px;font-size:13px;margin:0 0 16px}.canvas-limit{fill:none;stroke:#1d7fc0;stroke-width:1.5;stroke-dasharray:7 5;opacity:.55}
