.page.quote-workspace{max-width:1240px;padding:30px 34px 60px}.quote-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px;position:sticky;top:0;z-index:20;padding-block:12px;background:var(--paper)}.quote-workspace .quote-editor-title{gap:13px;flex-wrap:wrap}.quote-workspace .quote-editor-title h1{font-size:27px;letter-spacing:-1px}.quote-toolbar-actions{display:flex;gap:9px;margin-left:auto}.quote-viewbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.quote-view-switch{display:flex;gap:3px;border:1px solid #d4d8ce;border-radius:7px;padding:3px;background:#eceee8}.quote-view-switch button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:9px 15px;border:0;border-radius:4px;background:transparent;font-size:12px;font-weight:600}.quote-view-switch button[aria-pressed=true]{background:#fff;box-shadow:0 1px 4px #26312212;color:#30382e}.quote-view-switch button:hover:not(:disabled){color:#a34f35}.quote-save-state,.quote-protected{display:flex;align-items:center;gap:7px;color:#5c6b54;font-size:12px}.quote-save-state.unsaved{color:#9a5137}.quote-desk{background:#e9eae4;border:1px solid #dddfd6;border-radius:6px;padding:22px 28px 8px}.quote-paper-guide{display:flex;justify-content:space-between;align-items:center;gap:20px;max-width:210mm;margin:0 auto 14px;color:#6d7366;font-size:11px}.quote-paper-guide>span:first-child{letter-spacing:.4px;font-weight:600;white-space:nowrap}.quote-sheet{width:100%;max-width:210mm;min-height:297mm;margin:0 auto;background:#fff;padding:20mm 20mm 20mm 25mm;border:1px solid #d5d8ce;box-shadow:0 4px 14px #30382e0c;color:#30382e}.quote-sheet-body{display:flex;flex-direction:column;min-height:257mm}.quote-sheet-header{display:flex;justify-content:flex-end;align-items:flex-start;min-height:25mm;padding-bottom:5mm}.quote-letter-brand{max-width:70%;text-align:right;font-size:23px;line-height:1.3;overflow-wrap:anywhere}.quote-address-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,58mm);gap:12mm;margin-bottom:9mm}.quote-information{min-width:0}.quote-sender{min-width:0;overflow-wrap:anywhere}.quote-sender>strong{display:block;font-size:13px;font-weight:600;line-height:1.45}.quote-sender>p{font-size:11px;line-height:1.5;color:#626b5b;margin:5px 0 0;white-space:pre-line}.quote-sheet-header img.quote-logo{display:block;max-width:min(55mm,70%);max-height:20mm;width:auto;height:auto;object-fit:contain}.quote-fixed-label{display:flex;align-items:center;gap:5px;font-size:10px;color:#72776d;margin-bottom:14px;line-height:1.6}.quote-document-meta{min-width:0;margin-top:7mm}.quote-document-mark{font-size:17px;font-weight:600;letter-spacing:1px;color:#30382e;margin-bottom:12px}.quote-document-meta dl{margin:0 0 16px;font-size:11px}.quote-document-meta dl>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:7px}.quote-document-meta dt{color:#73796c}.quote-document-meta dd{text-align:right;margin:0;font-weight:550;overflow-wrap:anywhere}.quote-draft-mark{display:block;font-size:11px;color:#a34f35;margin:-8px 0 18px}.quote-section-label{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:16px;font-size:13px;font-weight:650}.quote-section-label small{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:400;color:#8f5945}.quote-section-label>span>small{margin-left:8px;color:#69725f}.quote-sheet .field{margin-bottom:17px}.quote-sheet .field>span{font-size:11px;font-weight:550;color:#545f4c;margin-bottom:7px}.quote-sheet.is-editing input,.quote-sheet.is-editing textarea{background:#fcfaf6;border:1px solid #c8baab;border-radius:4px;font-size:13px;padding:11px;color:#30382e;min-height:44px;transition:border-color .15s,background .15s}.quote-sheet.is-editing input:hover,.quote-sheet.is-editing textarea:hover{border-color:#a48c77}.quote-sheet.is-editing input:focus,.quote-sheet.is-editing textarea:focus{background:#fff;border-color:#b25b3e}.quote-sheet textarea{display:block;resize:vertical}.quote-recipient-block{min-width:0;max-width:85mm;min-height:45mm;font-size:13px;line-height:1.5;overflow-wrap:anywhere}.quote-recipient-fields{display:grid;grid-template-columns:1fr}.quote-recipient-block>p{margin:5px 0;white-space:pre-line}.quote-recipient-block>.quote-return-address{min-height:12mm;margin:0 0 4mm;font-size:8px;line-height:1.4;color:#626b5b;white-space:normal}.quote-recipient-email{font-size:11px}.quote-sheet .quote-subject{margin-bottom:28px}.quote-sheet .quote-subject input{font-size:17px;font-weight:550}.quote-preview-subject{font-size:23px;line-height:1.35;letter-spacing:-.5px;margin:4px 0 28px;overflow-wrap:anywhere}.quote-position{border-top:1px solid #d7dbd0;padding:13px 0 20px;scroll-margin-block:150px}.quote-position-heading{display:flex;align-items:center;gap:8px;margin-bottom:7px;font-size:12px;color:#68735e}.quote-position-heading>strong{font-size:15px;color:#30382e}.quote-position-actions{display:flex;margin-left:auto;gap:2px}.quote-position-actions .icon-button{width:44px;min-width:44px;height:44px;color:#6b7462}.quote-position-actions .icon-button:last-child:hover{color:#a3412d;background:#f8eee9}.quote-position .field{margin-bottom:12px}.quote-position-values{display:grid;grid-template-columns:minmax(70px,.8fr) minmax(80px,.9fr) minmax(115px,1.2fr) minmax(110px,1.2fr);gap:12px;align-items:end}.quote-position-values>.field{margin-bottom:0}.quote-position-total{align-self:stretch;display:flex;flex-direction:column;justify-content:space-between;text-align:right;gap:7px}.quote-position-total>span{font-size:11px;color:#6c7564}.quote-position-total>output{min-height:44px;display:flex;align-items:center;justify-content:flex-end;font-size:15px;font-weight:600;overflow-wrap:anywhere}.quote-position-empty{padding:28px 20px;border-block:1px dashed #d3d7cc;text-align:center;margin-bottom:25px;color:#737f68}.quote-position-empty>strong{display:block;font-size:17px;font-weight:550;margin:10px 0;color:#3d4935}.quote-position-empty p{font-size:12px;max-width:370px;margin:0 auto 20px}.quote-sheet .quote-add-position{width:100%;border-style:dashed;color:#526347;margin:8px 0 16px}.quote-preview-table{width:100%;border-collapse:collapse;margin:0 0 28px;table-layout:fixed;font-size:11px}.quote-preview-table th{font-size:10px;font-weight:550;color:#626f58;text-align:left;border-bottom:1px solid #bbc6af;padding:12px 5px}.quote-preview-table td{padding:15px 5px;vertical-align:top;border-bottom:1px solid #e0e4d9;overflow-wrap:anywhere}.quote-preview-table th:nth-child(1){width:6%}.quote-preview-table th:nth-child(2){width:38%}.quote-preview-table th:nth-child(3){width:11%}.quote-preview-table th:nth-child(4){width:9%}.quote-preview-table th:nth-child(5),.quote-preview-table th:nth-child(6){width:18%}.quote-preview-table td:nth-child(2){white-space:pre-line}.quote-preview-table th:nth-child(3),.quote-preview-table td:nth-child(3),.quote-preview-table th:nth-child(n+5),.quote-preview-table td:nth-child(n+5){text-align:right;font-variant-numeric:tabular-nums}.quote-totals{width:285px;max-width:100%;align-self:flex-end;margin:20px 0 26px;font-size:13px}.quote-totals>div{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px}.quote-totals output{font-weight:600;text-align:right;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.quote-totals .field{width:106px;margin-bottom:0}.quote-totals>.quote-grand-total{padding-top:17px;margin-top:18px;border-top:1px solid #b7c2ab;font-size:20px}.quote-notes{margin:10px 0 36px;font-size:12px;white-space:pre-line;overflow-wrap:anywhere}.quote-notes p{margin-bottom:0}.quote-sheet-footer{display:flex;flex-wrap:wrap;gap:7px 22px;margin-top:auto;border-top:1px solid #d8dcd2;padding-top:17px;font-size:10px;color:#65735a;overflow-wrap:anywhere}.quote-source-note{text-align:center;font-size:10px;color:#6f7767;margin:17px 0 8px}.quote-status-section{border-bottom:1px solid var(--line);margin:0 0 18px;padding-bottom:16px}.quote-statusbar{display:flex;align-items:center;justify-content:space-between;gap:18px}.quote-statusbar>div:first-child{flex:1;min-width:0}.quote-statusbar strong{font-size:13px;font-weight:600}.quote-statusbar p{font-size:12px;color:#66705e;margin:4px 0 0;max-width:530px}.quote-statusbar>.button,.quote-statusbar>.inline-actions{flex:none}.quote-statusbar .inline-actions{flex-wrap:wrap;gap:8px}.quote-readiness{margin-top:12px;font-size:12px}.quote-readiness>summary{display:flex;align-items:center;gap:10px;min-height:44px;width:fit-content;cursor:pointer;color:#8c4933;list-style:none}.quote-readiness>summary::-webkit-details-marker{display:none}.quote-readiness[open]>summary svg{transform:rotate(180deg)}.quote-readiness .quote-readiness-list{margin:2px 0 12px;font-size:12px}.quote-readiness>p{color:var(--muted);margin:10px 0 0}.quote-more-actions{position:relative;flex:none}.quote-more-actions>summary{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;height:100%;padding:10px 12px;border:1px solid #cdd3c4;border-radius:5px;list-style:none;cursor:pointer;font-size:12px;font-weight:550}.quote-more-actions>summary::-webkit-details-marker{display:none}.quote-more-actions>summary:hover,.quote-more-actions[open]>summary{background:var(--soft)}.quote-more-actions>summary[aria-disabled=true]{opacity:.5;cursor:wait}.quote-more-actions[open]>summary svg{transform:rotate(180deg)}.quote-actions-compact{display:none}.quote-action-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:30;width:260px;max-width:calc(100vw - 32px);padding:6px;background:var(--paper);border:1px solid #d4d9cd;border-radius:6px;box-shadow:0 8px 24px #2631221a}.quote-editor-workspace .quote-action-menu .button{justify-content:flex-start;width:100%;flex:none;padding:12px 10px;border:0;background:transparent;font-size:12px;text-align:left;white-space:normal}.quote-editor-workspace .quote-action-menu .button:hover:not(:disabled){background:var(--soft)}.quote-editor-workspace .quote-action-menu .button.create{color:var(--accent)}.quote-editor-workspace .quote-action-menu .button.danger{color:#9d3926;border-top:1px solid var(--line);border-radius:0;margin-top:4px}.quote-editor-workspace .quote-action-menu .button.danger:hover{background:#f7e9e3}.quote-secondary-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:15px;padding-top:20px}.quote-secondary-actions .button{font-weight:500;font-size:11px}.quote-readiness-list{padding-left:22px;margin-block:22px;font-size:13px;line-height:1.8}.quote-undo{position:sticky;bottom:16px;z-index:12;display:flex;align-items:center;justify-content:center;gap:10px;width:max-content;max-width:100%;margin:14px auto;padding:6px 9px 6px 16px;border:1px solid #c7d0be;border-radius:6px;background:#f5f8ef;box-shadow:0 3px 18px #2028181a;font-size:12px}.modal.wide-modal{width:min(720px,calc(100vw - 24px))}.picker-search-row{display:flex;align-items:center;gap:14px;margin:22px 0 16px}.picker-search-row .search-field{flex:1;padding:0 12px;border:1px solid #c8cebf;border-radius:5px;background:#fff}.picker-search-row .search-field input{width:100%}.picker-filters{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:15px}.picker-filters button{border:1px solid #d5dacd;border-radius:4px;background:transparent;min-height:44px;padding:8px 14px;font-size:12px}.picker-filters button[aria-pressed=true]{background:#e2e8da;border-color:#aab79c;color:#394e2f}.picker-price-note{font-size:11px;color:#6d7763}.picker-results{max-height:350px;overflow-y:auto;overscroll-behavior:contain;margin-bottom:16px}.picker-item{display:flex;gap:13px;align-items:center;width:100%;border:0;border-top:1px solid #dce0d3;background:transparent;text-align:left;padding:17px 8px}.picker-item:hover,.picker-item:focus-visible{background:#e9eee2}.picker-item>span:first-of-type{flex:1;min-width:0;overflow-wrap:anywhere}.picker-item>svg{color:#71815f}.picker-item strong{display:block;font-size:13px;font-weight:550}.picker-item small{display:block;color:#717c66;font-size:11px;margin-top:4px}.picker-item-price{text-align:right;flex-shrink:0}.picker-footer{display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:8px 16px;border-top:1px solid #d8dece;padding-top:15px;font-size:11px;color:#727c66}.picker-footer .text-link{min-height:44px}.picker-loading,.picker-empty{padding:30px 15px;font-size:13px;color:#758169}.picker-loading{display:flex;justify-content:center;align-items:center;gap:10px}.picker-selection-label{color:#66765a;font-size:12px;margin:22px 0 18px}.picker-position-fields{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:14px}.picker-submit{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:15px;padding-top:14px;border-top:1px solid #d8dece;font-size:12px}.picker-submit strong{display:block;font-size:22px;color:#3e5032;margin-top:3px}.picker-price-warning{color:#9e633b;margin:15px 0 0}.quote-sheet.is-editing{min-height:0;padding:26px}.quote-sheet.is-editing .quote-sheet-body{min-height:0}.quote-edit-heading{display:flex;justify-content:space-between;gap:14px;margin-bottom:18px}.quote-edit-heading>span{font-weight:650;letter-spacing:1px;font-size:15px}.quote-edit-heading>small{font-size:11px;color:#6d7764}.quote-edit-basics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.quote-edit-header{margin-bottom:24px}.quote-details{border-top:1px solid #dde2d7}.quote-details:last-child{border-bottom:1px solid #dde2d7}.quote-details>summary{display:flex;align-items:center;gap:10px;min-height:64px;padding:12px 0;cursor:pointer;list-style:none}.quote-details>summary::-webkit-details-marker{display:none}.quote-details>summary>span{flex:1;min-width:0;overflow-wrap:anywhere}.quote-details>summary strong{display:block;font-size:12px;font-weight:600}.quote-details>summary small{display:block;font-size:11px;color:#66735d;margin-top:4px;line-height:1.5}.quote-details>summary img{max-width:76px;max-height:32px;object-fit:contain}.quote-details[open]>summary>svg:last-child{transform:rotate(180deg)}.quote-details[open]>summary{color:#405733}.quote-details-body{padding:6px 0 16px}.quote-details-body .inline-actions{flex-wrap:wrap;gap:10px}.quote-details-body .quote-sender{margin-bottom:16px}.quote-details-meta{font-size:11px;color:#6e7766;margin:0}.quote-sheet.is-editing .quote-position{padding-block:8px 14px}.quote-sheet.is-editing .quote-position-heading{margin-bottom:5px}.quote-sheet.is-editing .quote-position-empty{padding-block:16px;margin-bottom:12px}.quote-sheet.is-editing .quote-position-empty>svg{display:none}.quote-sheet.is-editing .quote-totals{margin-block:12px 18px}.quote-sheet.is-editing .quote-notes{margin-bottom:20px}.quote-sheet .quote-add-position.create{background:var(--accent);color:#fff;border-style:solid;border-color:var(--accent)}@media(max-width:1150px){.page.quote-workspace{padding:28px 24px 50px}.quote-desk{padding:18px 16px 8px}.quote-sheet{padding:34px}.quote-sheet-body{min-height:950px}}@media(max-width:900px){.quote-toolbar{align-items:flex-start;flex-wrap:wrap;gap:16px}.quote-sheet{padding:26px}.quote-address-row{grid-template-columns:minmax(0,1fr) 185px;gap:20px}.quote-position-values{gap:10px;grid-template-columns:.8fr .9fr 1.25fr 1.25fr}.quote-position-total>output{font-size:13px}}@media(max-width:760px){.page.quote-workspace{padding:22px 18px 35px}.quote-toolbar{top:58px}.quote-undo{bottom:calc(83px + env(safe-area-inset-bottom))}.quote-sheet input,.quote-sheet textarea,.picker-position-fields input,.picker-search-row .search-field input{font-size:16px}}@media(pointer:coarse){.quote-sheet.is-editing input,.quote-sheet.is-editing textarea,.wide-modal input,.wide-modal textarea{font-size:16px}}@media(max-width:580px){.quote-statusbar{flex-wrap:wrap;gap:12px}.quote-statusbar>div:first-child{flex-basis:100%}.quote-statusbar>.inline-actions{width:100%}.quote-statusbar .inline-actions .button{flex:1}.quote-statusbar>.button{width:100%}.quote-editor-workspace .quote-toolbar-actions{gap:6px}.quote-editor-workspace .quote-toolbar-actions>.button{font-size:11px;padding-inline:8px;gap:6px}.quote-more-actions>summary{font-size:11px;padding-inline:8px}.quote-actions-label{display:none}.quote-action-menu{left:0;right:auto}.page.quote-workspace{padding-inline:12px}.quote-toolbar{margin-bottom:18px}.quote-workspace .quote-editor-title h1{font-size:25px}.quote-toolbar-actions{width:100%}.quote-toolbar-actions .button{flex:1}.quote-viewbar{align-items:flex-start;flex-direction:column;gap:12px}.quote-view-switch{width:100%}.quote-view-switch button{flex:1}.quote-save-state{margin-left:3px;font-size:11px}.quote-desk{padding:13px 0 7px;border-radius:0;background:transparent;border:0}.quote-paper-guide{gap:7px;font-size:10px;align-items:flex-start}.quote-paper-guide>span:last-child{text-align:right;max-width:185px}.quote-sheet{padding:25px 18px;min-height:0}.quote-sheet-body{min-height:0}.quote-sheet-header{min-height:80px}.quote-address-row{grid-template-columns:1fr;gap:24px;margin-bottom:28px}.quote-recipient-block{max-width:none;min-height:0}.quote-letter-brand{font-size:20px}.quote-document-meta{border-top:1px solid #e0e4d8;padding-top:20px}.quote-document-mark{font-size:19px;margin-bottom:15px}.quote-document-meta dl{font-size:12px}.quote-document-meta .field{max-width:none;margin-bottom:0}.quote-fixed-label{font-size:10px}.quote-section-label{align-items:flex-start}.quote-recipient-fields{grid-template-columns:1fr;gap:0}.quote-sheet.is-editing input,.quote-sheet.is-editing textarea{font-size:16px}.quote-position-values{grid-template-columns:1fr 1fr;gap:14px 12px}.quote-position-total>output{font-size:16px}.quote-position-heading{flex-wrap:wrap;gap:7px}.quote-position-heading>span{display:none}.quote-position-actions{gap:1px}.quote-position-empty{padding-inline:4px}.quote-totals{width:100%}.quote-totals>.quote-grand-total{font-size:21px}.quote-secondary-actions{align-items:stretch;flex-direction:column;gap:10px}.quote-preview-table{font-size:10px}.quote-preview-table th,.quote-preview-table td{padding-inline:3px}.quote-preview-table th{font-size:9px}.quote-preview-table th:nth-child(2){width:30%}.quote-preview-table th:nth-child(5),.quote-preview-table th:nth-child(6){width:22%}.quote-undo{gap:5px;padding-left:10px;font-size:11px}.quote-undo .button{padding-inline:10px}.picker-search-row{flex-wrap:wrap}.picker-search-row .search-field{flex-basis:100%}.picker-search-row>.button{width:100%}.picker-results{max-height:38dvh}.picker-item{gap:9px;padding:16px 3px}.picker-item>svg:last-child{display:none}.picker-item strong{font-size:12px}.picker-item-price{max-width:96px}.picker-position-fields{grid-template-columns:1fr 1fr;gap:0 14px}.picker-position-fields .field:last-child{grid-column:1 / -1}.picker-submit{align-items:stretch;flex-direction:column}.quote-sheet.is-editing{padding:18px 14px}.quote-edit-basics{grid-template-columns:minmax(0,1fr)}.quote-edit-heading{flex-wrap:wrap;gap:4px;margin-bottom:14px}.quote-edit-heading small{width:100%}.quote-details>summary{gap:8px}.quote-details>summary img{max-width:50px}.quote-details-body .button{width:100%}.quote-sheet.is-editing .quote-section-label{flex-wrap:wrap;gap:6px}}@media(max-width:380px){.quote-more-actions>summary{min-width:44px;padding-inline:0}.quote-more-actions>summary>span,.quote-actions-chevron{display:none}.quote-actions-compact{display:block}.quote-editor-workspace .quote-toolbar-actions>.button{padding-inline:6px;gap:4px}}.catalogue-heading,.service-materials-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px}.catalogue-heading>div,.service-materials-heading>div{min-width:0}.catalogue-heading h2{font-size:25px;margin-bottom:8px}.catalogue-heading p,.service-materials-heading p{font-size:13px;color:var(--muted);margin:0}.catalogue-help{border-bottom:1px solid var(--line);margin-bottom:20px}.catalogue-help>summary{min-height:44px;display:flex;align-items:center;gap:12px;cursor:pointer;list-style:none;font-size:13px;color:#536447}.catalogue-help>summary::-webkit-details-marker{display:none}.catalogue-help>summary svg{margin-left:auto}.catalogue-help>div{padding:4px 0 10px}.catalogue-help p{font-size:13px;line-height:1.65;color:#606c56}.catalogue-search.search-field{gap:12px;padding:0 12px;border:1px solid #c9d0c1;border-radius:5px;background:#fff;margin:0 0 20px}.catalogue-search.search-field input{width:100%;flex:1;min-width:0;font-size:14px}.catalogue-search>span{white-space:nowrap;font-size:12px;color:#69765e}.service-list{border-top:1px solid #d3d9cb}.service-editor{border-bottom:1px solid #d3d9cb;scroll-margin-top:140px}.service-summary{margin:0;font-size:inherit}.service-summary>button{display:flex;align-items:center;gap:14px;width:100%;min-height:82px;padding:18px 14px;border:0;background:transparent;text-align:left}.service-summary>button>span:first-of-type{min-width:0;flex:1}.service-summary strong{display:block;font-size:16px;font-weight:600;overflow-wrap:anywhere}.service-summary small{display:block;margin-top:7px;color:#65725b;font-size:12px;line-height:1.5;letter-spacing:0}.service-summary>button:hover{background:#eeefe8}.service-edit-state{color:#607351;font-size:11px;letter-spacing:0}.service-editor.is-open{margin:0 0 12px;border:1px solid #8f9d82;border-radius:5px;background:#fff}.service-editor.is-open .service-summary{position:sticky;top:69px;z-index:10}.service-editor.is-open .service-summary>button{background:#e8eddf;border-bottom:1px solid #c4ceba}.service-editor.is-open .service-edit-state{color:#354b2a;font-weight:600}.service-editor.is-open .service-summary>button>svg:last-child,.catalogue-material.is-open .catalogue-material-summary>svg:last-child,.catalogue-help[open]>summary svg{transform:rotate(180deg)}.service-body{padding:22px}.service-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.service-fields .field>span,.material-name-row .field>span{font-size:12px;font-weight:550;color:#526047}.service-price-note{font-size:12px;margin:0 0 22px;color:#5c6c51}.service-price-note strong{font-weight:600;white-space:nowrap}.service-materials{border:1px solid #dce1d5;border-radius:5px;background:#f6f7f2;padding:18px}.service-materials-heading{align-items:center;margin-bottom:15px}.service-materials-heading h4{display:flex;flex-wrap:wrap;align-items:center;gap:7px;font-size:13px;font-weight:600;margin:0 0 7px}.service-materials-heading h4>span{padding:1px 6px;border-radius:3px;background:#e4e9dd;color:#526148;font-size:11px}.service-materials-heading p{font-size:12px}.service-materials-heading .button{font-size:11px;padding-inline:12px}.material-empty,.catalogue-empty{color:#6a765f;font-size:13px;margin:16px 0 0}.catalogue-material{border-top:1px solid #d5ddcd}.catalogue-material-summary{display:flex;align-items:center;gap:10px;width:100%;padding:13px 0;min-height:66px;background:transparent;border:0;text-align:left}.catalogue-material-summary>span{min-width:0;flex:1}.catalogue-material-summary strong{display:block;font-size:13px;font-weight:600;overflow-wrap:anywhere}.catalogue-material-summary small{display:block;color:#647459;font-size:11px;line-height:1.6;margin-top:4px}.catalogue-material-body{padding-top:12px;border-top:1px dashed #c1ccb5}.material-name-row{display:flex;align-items:flex-start;gap:10px}.material-name-row>.field{min-width:0;flex:1}.material-name-row>.icon-button{margin-top:25px}.material-calculation-label{font-size:12px;font-weight:600;color:#506542;border-top:1px solid #d9e0d0;padding:16px 0}.service-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:22px}.service-save-hint{margin:15px 0 0;font-size:11px;text-align:right}@media(max-width:1250px){.service-materials-heading{flex-wrap:wrap}}@media(max-width:580px){.catalogue-heading{flex-wrap:wrap;gap:14px}.catalogue-heading h2{font-size:22px}.catalogue-heading>.button{width:100%}.service-summary>button{flex-wrap:wrap;gap:8px;padding:15px 10px}.service-summary strong{font-size:15px}.service-summary small{font-size:12px}.service-edit-state{display:none}.service-editor.is-open .service-edit-state{display:block;order:2;width:100%;padding-left:28px;font-size:11px}.service-body{padding:16px 12px}.service-fields{grid-template-columns:minmax(0,1fr)}.service-materials{padding:13px 10px}.service-materials-heading .button{width:100%;font-size:12px}.service-footer{flex-direction:column-reverse;align-items:stretch}.service-save-hint{text-align:left}.catalogue-search.search-field input{font-size:16px}}@media(max-width:760px){.service-editor.is-open .service-summary{top:127px}}.invoice-workspace h2{margin:0 0 12px;font-size:20px;font-weight:550;letter-spacing:-.4px}.invoice-workspace .quote-toolbar{align-items:flex-start}.invoice-viewbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.invoice-tabs{display:flex;flex-wrap:wrap;gap:4px}.invoice-tabs button{display:flex;align-items:center;gap:8px;border:0;background:transparent;border-radius:5px;min-height:44px;padding:10px 12px;font-size:12px;color:var(--muted)}.invoice-tabs button>span{display:grid;place-items:center;width:21px;height:21px;border:1px solid #bbc3b1;border-radius:50%;font-size:10px}.invoice-tabs button[aria-pressed=true]{background:var(--soft);color:var(--olive);font-weight:600}.invoice-tabs button[aria-pressed=true]>span{background:var(--olive);border-color:var(--olive);color:#fff}.invoice-details{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:20px;align-items:start}.invoice-details>div{min-width:0}.invoice-section{min-width:0;background:#fff;border:1px solid var(--line);border-radius:7px;padding:24px;margin-bottom:20px}.invoice-section .section-heading{margin-bottom:22px}.invoice-section .section-heading p{margin-bottom:0;font-size:13px}.invoice-section .field{margin-bottom:17px}.invoice-section .field>span{font-size:12px}.invoice-section input,.invoice-section textarea,.invoice-section select{background:#fcfaf6;border-color:#c8baab;min-height:44px;font-size:14px}.invoice-section input:focus,.invoice-section textarea:focus,.invoice-section select:focus{background:#fff}.invoice-section .form-grid{gap:0 14px}.invoice-document-fields{border-top:1px solid var(--line);margin-top:8px;padding-top:24px}.invoice-seller>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;min-height:44px;list-style:none}.invoice-seller>summary::-webkit-details-marker{display:none}.invoice-seller>summary small{display:block;color:var(--muted);margin-top:6px}.invoice-seller>summary>span:last-child{color:var(--accent)}.invoice-seller[open]>summary{padding-bottom:16px;border-bottom:1px solid var(--line);margin-bottom:18px}.invoice-company-actions{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 23px}.invoice-company-actions .button{font-size:11px;padding-inline:12px}.invoice-source-address{font-size:12px;line-height:1.6;padding:12px;margin-bottom:18px;background:#f3f4ed;overflow-wrap:anywhere}.invoice-source-address strong{white-space:pre-line}.invoice-positions-header{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:20px}.invoice-positions-header p{font-size:13px}.invoice-positions-header .button{flex-shrink:0}.invoice-position{padding:22px 0;border-top:1px solid var(--line)}.invoice-position>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.invoice-position>header>strong{font-size:12px;color:#6a765f}.invoice-position>header>div{display:flex;gap:3px}.invoice-position>header .icon-button{min-width:44px;min-height:44px}.invoice-position-numbers{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.5fr) minmax(0,1.3fr);gap:14px}.invoice-line-total{display:flex;align-items:flex-end;flex-direction:column;gap:15px;min-width:0;padding-bottom:17px}.invoice-line-total>span{font-size:12px;color:var(--muted)}.invoice-line-total>output{font-size:17px;font-weight:600;overflow-wrap:anywhere}.invoice-tax-field{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 16px;align-items:center}.invoice-tax-field p{margin-top:9px;line-height:1.6}.invoice-unit-map{max-width:360px}.invoice-undo{display:flex;align-items:center;gap:15px;padding:12px 0 22px;font-size:13px}.invoice-summarybar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}.invoice-summarybar>div{display:flex;flex-direction:column;gap:7px;min-width:0}.invoice-summarybar>div>span{font-size:12px;color:var(--muted)}.invoice-summarybar>div>strong{font-size:29px;font-weight:550;letter-spacing:-.7px;overflow-wrap:anywhere}.invoice-summarybar small{color:var(--muted);font-size:11px}.invoice-errors{background:#fff2ec;border:1px solid #d5a18d;padding:20px;border-radius:6px;margin-bottom:20px;color:#864331;overflow-wrap:anywhere}.invoice-errors>strong{font-size:15px}.invoice-errors ul{padding-left:18px;margin:12px 0 0}.invoice-errors button{padding:8px 0;min-height:44px;color:inherit;background:transparent;border:0;text-align:left;text-decoration:underline;font-size:13px}.invoice-downloads{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 26px}.invoice-export{margin:20px 0 26px}.invoice-export>.invoice-downloads{margin-bottom:12px}.invoice-export>p{max-width:680px;line-height:1.6}.invoice-export-details{border-top:1px solid var(--line);margin-top:15px}.invoice-export-details>summary{cursor:pointer;min-height:44px;padding:13px 0;color:var(--olive);font-size:13px}.invoice-export-details .invoice-downloads{margin:3px 0 14px}.invoice-archive-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;margin-top:24px}.invoice-preview-positions{margin-top:20px;border-top:1px solid #b8c3ac}.invoice-preview-positions>div{display:grid;grid-template-columns:22px minmax(0,1fr) minmax(80px,auto);gap:12px;padding:18px 0;border-bottom:1px solid #e0e3da;font-size:11px}.invoice-preview-positions>div>span{color:var(--muted)}.invoice-preview-positions>div>strong{text-align:right}.invoice-preview-positions>div>div>strong{font-weight:500;white-space:pre-line;overflow-wrap:anywhere}.invoice-preview-positions small{display:block;margin-top:8px;color:#68775c;font-size:10px}.invoice-preview .quote-sheet-body>strong{overflow-wrap:anywhere}.invoice-review{display:grid;grid-template-columns:1fr 1.5fr;gap:12px;padding:20px 0;border-block:1px solid var(--line);font-size:13px}.invoice-review dt{color:var(--muted)}.invoice-review dd{margin:0;font-weight:600;overflow-wrap:anywhere}.invoice-validation-success{display:flex;align-items:center;gap:10px;color:#456035;background:#edf2e6;padding:15px;border-radius:5px}.invoice-list-row{width:100%;display:grid;grid-template-columns:30px minmax(0,1fr) auto minmax(110px,auto) 20px;gap:20px;align-items:center;background:transparent;border:0;border-bottom:1px solid var(--line);padding:24px 0;text-align:left}.invoice-list-row:hover{background:#eeefe8}.invoice-list-row>div{display:flex;flex-direction:column;gap:6px;min-width:0;overflow-wrap:anywhere}.invoice-list-row>div>strong{font-size:20px;font-weight:550}.invoice-list-row>div>span:last-child{color:var(--muted);font-size:12px}.invoice-list-row>strong{font-size:17px;text-align:right;font-weight:550;overflow-wrap:anywhere}.invoice-pagination{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:25px;font-size:13px}.invoice-scope{font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:22px;margin-top:30px}.invoice-payment-filter{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:18px 0 6px}.invoice-payment-filter .field{width:min(100%,270px);margin:0}.invoice-list-status{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.invoice-list-row>strong>small{display:block;color:var(--muted);font-size:12px;font-weight:400;margin-top:7px}.payment-badge{white-space:normal}.payment-badge.payment-overdue{color:#943b2b;background:#f8e9e1}.invoice-payments{margin:0 0 28px;padding:22px 0;border-block:1px solid var(--line)}.invoice-payments>header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.invoice-payments>header>div:first-child{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.invoice-payments>header h2{margin:0}.payment-totals{display:flex;flex-wrap:wrap;gap:18px 40px;margin:0 0 18px}.payment-totals>div{min-width:0}.payment-totals dt{color:var(--muted);font-size:12px;margin-bottom:8px}.payment-totals dd{margin:0;font-size:22px;font-weight:550;overflow-wrap:anywhere}.payment-totals .payment-balance dd{color:var(--olive)}.payment-history{border-top:1px solid var(--line);margin-top:20px}.payment-history>summary{cursor:pointer;padding:15px 0;min-height:44px;font-size:13px;font-weight:550}.payment-history>summary>span{font-size:12px;color:var(--muted);margin-left:10px;font-weight:400}.payment-entry{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:16px;padding:14px 0;border-top:1px solid var(--line);font-size:13px}.payment-entry>div{display:flex;flex-direction:column;gap:6px;min-width:0;overflow-wrap:anywhere}.payment-entry>div>span{font-size:12px;color:var(--muted)}.payment-entry p{margin:0;white-space:pre-line}.payment-entry-amount{text-align:right;font-size:15px;font-weight:550}.payment-entry-amount small{display:block;font-size:11px;font-weight:400;margin-top:6px}.payment-voided .payment-entry-amount{color:var(--muted)}.payment-correction{color:#864331}.payment-modal-context{display:flex;flex-direction:column;gap:5px;margin:0 0 22px;overflow-wrap:anywhere}.payment-modal-context span{color:var(--muted);font-size:13px}.payment-details-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;gap:12px;padding:15px 0;border:0;border-block:1px solid var(--line);background:transparent;text-align:left;color:var(--olive);min-height:52px;margin-bottom:18px}.payment-details-toggle small{display:block;color:var(--muted);margin-top:5px}.payment-details-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.payment-modal input,.payment-modal textarea,.invoice-payment-filter select{font-size:16px}@media(max-width:1100px){.invoice-details{grid-template-columns:minmax(0,1fr)}.invoice-viewbar{align-items:flex-start;flex-direction:column;gap:10px}.invoice-list-row{gap:14px}}@media(max-width:600px){.invoice-list-page .list-toolbar{flex-direction:column;align-items:stretch;gap:12px}.invoice-list-page .list-toolbar .search-field{margin:0;padding:0 12px;background:#fff;border:1px solid var(--line);border-radius:5px}.invoice-list-page .search-field input{width:100%;min-width:0;font-size:16px}.invoice-list-page .list-filters{justify-content:space-between}.invoice-list-page .list-filters button{font-size:12px;min-height:44px}.invoice-workspace .quote-toolbar{gap:14px}.invoice-workspace .quote-toolbar-actions .button{flex:1}.invoice-workspace .invoice-tabs{width:100%;flex-wrap:nowrap}.invoice-tabs button{flex:1 1 0;min-width:0;flex-direction:column;padding:9px 3px;font-size:11px}.invoice-section{padding:18px 15px}.invoice-section .form-grid,.invoice-tax-field{grid-template-columns:minmax(0,1fr)}.invoice-section .span-two{grid-column:auto}.invoice-section input,.invoice-section select,.invoice-section textarea{font-size:16px}.invoice-positions-header{align-items:stretch;flex-direction:column;gap:10px}.invoice-position-numbers{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.invoice-position>header{gap:5px}.invoice-position>header>div{gap:0}.invoice-position>header>strong{font-size:11px}.invoice-position>header .icon-button{width:44px;min-width:44px}.invoice-summarybar{align-items:stretch;flex-direction:column}.invoice-summarybar>div{display:grid;grid-template-columns:1fr auto;align-items:center;gap:9px}.invoice-summarybar>div>strong{font-size:24px;text-align:right}.invoice-summarybar small{grid-column:1 / -1}.invoice-downloads .button{flex:1 1 100%}.invoice-list-row{grid-template-columns:24px minmax(0,1fr) auto;gap:12px}.invoice-list-row>div{grid-column:2 / 4}.invoice-list-row>div>strong{font-size:18px}.invoice-list-row>.badge{grid-column:2;justify-self:start}.invoice-list-row>.invoice-list-status{grid-column:2}.invoice-list-row>strong{grid-column:3;font-size:15px}.invoice-list-row>svg:last-child{display:none}.invoice-preview-positions>div{grid-template-columns:16px minmax(0,1fr);gap:7px}.invoice-preview-positions>div>strong{grid-column:2;text-align:right}.invoice-pagination{gap:10px}.invoice-payment-filter{align-items:flex-start;flex-direction:column;gap:10px}.invoice-payment-filter .field{width:100%}.invoice-payments>header{align-items:stretch;flex-direction:column}.invoice-payments>header .inline-actions>.button{flex:1}.payment-totals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px}.payment-totals dd{font-size:19px}.payment-balance{grid-column:1 / -1}.payment-entry{grid-template-columns:minmax(0,1fr) auto;gap:10px}.payment-entry>.button{grid-column:1 / -1;justify-self:start}.payment-modal .form-grid{grid-template-columns:minmax(0,1fr)}}.workspace-picker{display:block;min-width:0;margin-bottom:18px}.workspace-current{display:none}.mobile-header .workspace-current{display:block;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right;color:var(--muted);font-size:11px;margin-inline:12px}.workspace-picker>span{display:block;font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-bottom:6px}.workspace-picker select{text-overflow:ellipsis;font-size:12px;padding-right:24px}.sidebar .workspace-picker{margin-inline:20px}.mobile-header .workspace-picker{flex:1;max-width:260px;margin:0 8px}.mobile-header .workspace-picker>span{display:none}.team-section{max-width:1050px}.team-invite-action{display:flex;justify-content:flex-end;margin-bottom:20px}.team-role-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid var(--line);gap:24px;padding:22px 0;margin-bottom:24px}.team-role-guide strong{font-weight:600}.team-role-guide p{margin:8px 0 0;font-size:13px;color:var(--muted)}.team-share{padding:22px;background:var(--soft);border:1px solid var(--line);border-radius:6px;margin-bottom:24px}.team-share p{margin:8px 0 16px}.team-share .field{margin-bottom:14px}.team-people{border-top:1px solid var(--line)}.team-person{display:flex;align-items:center;flex-wrap:wrap;gap:16px;padding:20px 0;border-bottom:1px solid var(--line)}.team-person-name{flex:1;min-width:140px;overflow-wrap:anywhere}.team-person-name>strong,.team-person-name>span,.team-person-name>small{display:block}.team-person-name>span,.team-person-name>small{font-size:12px;color:var(--muted);margin-top:3px}.team-role{flex:0 1 180px;min-width:160px}.team-role-label{font-size:12px;background:var(--soft);padding:8px 12px;border-radius:4px}.team-invitations{margin-top:32px}.team-invitation{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:18px 0}.team-invitation>div{min-width:0;overflow-wrap:anywhere}.team-invitation p{margin:5px 0 0;color:var(--muted);font-size:12px}.team-section>.notice{margin:20px 0}.dashboard.quantities-only .dashboard-stats{grid-template-columns:1fr 1fr 1.1fr}@media(max-width:1100px){.dashboard.quantities-only .dashboard-stats{grid-template-columns:1fr 1fr}.dashboard.quantities-only .dashboard-stats>div:nth-child(2){border:0}}@media(max-width:650px){.team-role-guide{grid-template-columns:1fr;gap:16px}.team-role-guide p{margin-top:4px}.team-person{gap:12px}.team-person-name{flex-basis:calc(100% - 56px)}.team-role{flex:1 1 160px}.team-role select,.team-section .stack-form input,.team-section .stack-form select{font-size:16px}.team-invitation{flex-direction:column;align-items:stretch;gap:12px}.team-share{padding:16px}.mobile-header .workspace-picker{max-width:none}.mobile-header .workspace-picker select{font-size:12px}}.project-tasks{min-width:0}.task-heading{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:16px;margin-bottom:22px}.task-heading h2{margin-bottom:9px}.task-heading p{margin-bottom:0}.task-heading .inline-actions{flex-wrap:wrap;margin-left:auto}.task-progress{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:16px 0;border-block:1px solid var(--line);font-size:12px}.task-progress progress{width:160px;max-width:100%;height:7px;accent-color:var(--olive)}.task-progress progress::-webkit-progress-bar{background:var(--line);border-radius:5px}.task-progress progress::-webkit-progress-value{background:var(--olive);border-radius:5px}.task-overdue{color:#943e2e;font-weight:600}.task-filters{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:14px;padding:20px 0 4px}.task-list{border-top:1px solid var(--line)}.task-row{display:flex;align-items:flex-start;gap:12px;padding:20px 0;border-bottom:1px solid var(--line)}.task-complete.icon-button{border:1px solid #b7c2ad;background:#f0f3ec;color:#45603a}.task-content{flex:1;min-width:0;text-align:left;border:0;background:transparent;padding:0;min-height:44px;overflow-wrap:anywhere}.task-row-heading{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px}.task-row-heading>strong{font-size:15px;font-weight:600}.task-status{display:inline-block;padding:4px 8px;border-radius:4px;font-size:11px;background:#e9ece3;color:#52604a}.task-status.in_progress{background:#e0e9e9;color:#365c62}.task-status.blocked{background:#f4e2d9;color:#923b27}.task-status.done{background:#e1ead9;color:#416034}.task-description{color:var(--muted);font-size:12px;margin:0 0 10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-line}.task-meta{display:flex;flex-wrap:wrap;gap:7px 18px;color:var(--muted);font-size:12px}.task-meta>span{display:inline-flex;align-items:center;flex-wrap:wrap;gap:5px}.task-meta em{font-style:normal;color:#943e2e}.task-phase{color:#58624d}.task-edit-hint{color:var(--muted);margin-top:14px}.task-row.is-done .task-row-heading>strong{color:var(--muted)}.task-editor-actions>.danger{margin-right:auto}.task-remove-confirm{border:1px solid #ddb3a6;border-radius:5px;padding:16px;background:#fbefea}.task-remove-confirm .inline-actions{flex-wrap:wrap;justify-content:flex-end}.project-workspace .project-subbar{min-width:0}.project-workspace .project-tabs{min-width:0;overflow-x:auto;scrollbar-width:none}.project-workspace .project-tabs::-webkit-scrollbar{display:none}.project-workspace .project-tabs button{flex-shrink:0;min-height:48px}@media(max-width:700px){.task-heading .eyebrow{display:none}.task-filters{grid-template-columns:1fr 1fr;gap:0 12px}.task-filters>.field:last-child{grid-column:1 / -1}.task-row{gap:10px}.task-edit-hint{display:none}.task-row-heading>strong{font-size:15px}.task-meta{gap:6px}.task-meta>span{width:100%}.task-editor .field-pair{grid-template-columns:1fr;gap:0}.project-workspace .project-tabs{justify-content:flex-start;gap:18px}.project-workspace .project-tabs button{font-size:11px}.project-workspace .project-tabs button span,.project-workspace .project-tabs button:nth-child(3) span{max-width:none;white-space:nowrap}.task-editor .notice{flex-wrap:wrap}}.project-workspace .project-subbar{min-width:0;gap:18px;flex-shrink:0}.project-workspace .project-tabs{min-width:0;flex:1;overflow-x:auto;overscroll-behavior-x:contain;gap:20px}.project-workspace .project-tabs button{flex:none;min-height:50px;font-size:12px}.project-workspace .plan-summary{flex:none}.project-records{min-width:0}.record-filters{display:grid;grid-template-columns:minmax(160px,2fr) repeat(2,minmax(120px,1fr)) minmax(140px,1fr);gap:12px;padding:18px 0 6px;border-top:1px solid var(--line)}.record-filters:not(:has(select)){grid-template-columns:minmax(180px,2fr) repeat(2,minmax(120px,1fr))}.record-filters .field{margin-bottom:10px}.record-list-heading{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:12px;padding:10px 0}.record-row{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:18px;padding:16px 0;border-top:1px solid var(--line)}.record-row-top{display:flex;align-items:center;flex-wrap:wrap;gap:5px 12px;font-size:11px;margin-bottom:5px}.record-day{font-weight:600}.record-author{color:var(--muted)}.record-open{display:block;width:100%;min-width:0;background:transparent;border:0;padding:3px 0;min-height:44px;text-align:left;color:var(--ink);border-radius:3px}.record-open>strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:16px;font-weight:600;overflow-wrap:anywhere;line-height:1.4}.record-open:hover>strong{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.record-open:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.record-amount{font-size:18px;font-weight:600;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.record-amount.is-missing{color:var(--muted);font-size:12px;font-weight:400}.record-excerpt{font-size:12px;line-height:1.5;white-space:pre-line;overflow-wrap:anywhere;color:#606a57;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;margin:4px 0}.record-meta{display:block;font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:4px}.record-meta:empty{display:none}.record-meta>span+span:before{content:" \b7  ";margin-inline:3px}.record-row-actions{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:9px;max-width:220px;text-align:right}.record-row-actions .button{min-height:44px;padding:9px 14px;font-size:12px}.record-thumbnail{align-self:start;padding-top:3px;text-align:center}.record-thumbnail>button,.record-thumbnail>a,.record-thumbnail-empty{display:grid;place-items:center;width:64px;height:64px;padding:0;background:var(--soft);border:1px solid #d4dccc;border-radius:5px;overflow:hidden;color:var(--olive)}.record-thumbnail-empty{background:transparent;color:#829078}.record-thumbnail img{width:100%;height:100%;object-fit:cover}.record-thumbnail>small{display:block;font-size:10px;margin-top:5px;color:var(--muted)}.record-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:20px;font-size:12px}.record-status{font-size:11px;padding:5px 9px;border-radius:4px;background:#e9ece3;color:#55624d}.record-status.submitted{background:#e1eaed;color:#375e68}.record-status.approved,.record-status.reimbursed{background:#e3ecd9;color:#3c5832}.record-status.rejected{background:#f6e6df;color:#8c3c2b}.record-status.in_progress{background:#e1eaed;color:#375e68}.record-status.review{background:#f3ead6;color:#70571f}.record-status.done{background:#e3ecd9;color:#3c5832}.record-status.urgent{background:#f6e6df;color:#8c3c2b}.defect-overdue{color:#8c3c2b;font-weight:600}.defect-resolution,.defect-workflow{border-top:1px solid var(--line);padding-top:18px;margin-top:18px}.defect-resolution h3{font-size:17px;margin:0 0 12px}.defect-resolution .record-attachments{margin:0 0 14px}.defect-resolution-note,.defect-return-note{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}.defect-workflow>strong{font-size:14px}.defect-workflow .inline-actions{flex-wrap:wrap}.defect-return-note{padding-left:12px;border-left:3px solid var(--accent)}.defect-location{padding:4px 0 12px}.defect-location>.button{max-width:100%;white-space:normal;text-align:left}.defect-plan-picker{margin-top:12px}.defect-plan{width:100%;height:230px;display:block;background:#eeeee6;border:1px solid var(--line);border-radius:5px;touch-action:none;cursor:crosshair}.defect-plan.readonly{cursor:default;touch-action:auto}.defect-plan path{fill:#faf9f5;stroke:#717b68;stroke-width:2;vector-effect:non-scaling-stroke}.defect-pin circle:first-child{fill:var(--accent);stroke:#fff;stroke-width:2;vector-effect:non-scaling-stroke}.defect-pin circle:last-child{fill:#fff}@media(max-width:580px){.defect-workflow .inline-actions .button{flex:1 1 auto;white-space:normal}.defect-plan{height:210px}}.expense-totals{display:flex;flex-wrap:wrap;gap:16px;padding-bottom:12px}.expense-totals>div{flex:1 1 280px;background:#ecf0e6;padding:14px 16px;border-radius:5px}.expense-totals>div>span{font-size:10px;letter-spacing:.5px;text-transform:uppercase;color:#65715b}.expense-totals dl{display:flex;flex-wrap:wrap;gap:12px 25px;margin:12px 0 0}.expense-totals dt{font-size:11px;color:#687260}.expense-totals dd{margin:5px 0 0;font-size:16px;font-weight:600}.record-editor-meta{display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-bottom:20px;font-size:12px;color:var(--muted)}.record-readonly{border-left:3px solid #8b9d7a;background:#eff2e9;padding:12px 15px;font-size:12px;line-height:1.6}.record-read-summary h3{margin:20px 0 12px;font-size:21px;overflow-wrap:anywhere}.record-read-amount{display:block;font-size:27px;margin-bottom:18px}.record-read-amount small{font-size:12px;font-weight:400;color:var(--muted)}.record-read-summary dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.record-read-summary dt{font-size:11px;color:var(--muted);margin-bottom:4px}.record-read-summary dd{font-size:13px;margin:0;overflow-wrap:anywhere}.record-read-summary p,.record-receipt-reason{white-space:pre-line;overflow-wrap:anywhere;font-size:13px;line-height:1.7}.record-receipt-reason strong{display:block;font-size:11px;margin-bottom:4px;color:var(--muted)}.record-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.record-wide{grid-column:1 / -1}.record-form-grid input,.record-form-grid select,.record-form-grid textarea{max-width:100%}.record-form-grid input:disabled,.record-form-grid select:disabled,.record-form-grid textarea:disabled{color:#4e5947;opacity:1;background:#f1f2ed}.record-attachments{border-block:1px solid var(--line);padding:18px 0;margin:8px 0 20px}.record-attachment-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.record-attachment-heading strong{font-size:14px}.record-attachment-heading p{font-size:11px;margin:5px 0 0;color:var(--muted)}.record-attachment-heading .inline-actions{flex-wrap:wrap}.record-file-input{display:none}.record-file-list{display:grid;gap:7px}.record-file-list:not(:empty){margin-top:15px}.record-file{display:flex;align-items:center;gap:12px;background:#f2f4ee;padding:8px;border-radius:5px;min-width:0}.record-file>span{flex:1;min-width:0}.record-file strong,.record-file small{display:block;overflow-wrap:anywhere;font-size:12px}.record-file small{color:var(--muted);font-size:10px;margin-top:4px}.record-file>svg{flex:none;margin:10px}.record-file.pending{border:1px dashed #adbba0;background:#f8f9f5}.record-file-preview{width:55px;height:55px;display:grid;place-items:center;flex:none;border:0;padding:0;background:#e2e8d9;border-radius:4px;color:var(--olive);overflow:hidden}.record-file-preview img{width:100%;height:100%;object-fit:cover}.record-progress{color:#567445;font-size:12px}.record-editor-footer>p{margin:0 0 9px;line-height:1.5}.record-editor-actions>.danger{margin-right:auto}.record-capture-intro{margin:0 0 18px;color:var(--muted);font-size:13px;line-height:1.6}.receipt-capture{margin:0 0 22px;border:1px dashed #acb6a2;border-radius:6px;padding:18px;background:#f1f4ec}.receipt-capture .record-attachment-heading{display:block}.receipt-capture .inline-actions{margin-top:16px}.receipt-capture .receipt-camera{background:#e0e8d5;border-color:#a9b899;color:#34462c;min-height:48px}.record-details-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:left;padding:14px 0;min-height:60px;border:0;border-block:1px solid var(--line);background:transparent;color:var(--ink)}.record-details-toggle strong{display:block;font-size:13px}.record-details-toggle small{color:var(--muted);font-size:11px;font-weight:400}.record-details-toggle>span>small{display:block;margin-top:4px}.record-details-toggle svg{flex:none}.record-details-toggle svg.expanded{transform:rotate(45deg)}#record-extra-fields>p{line-height:1.6;margin:14px 0 18px}.record-file>.record-file-preview{flex:none}.expense-review-note{padding:12px 15px;border-left:3px solid #b7c5a9;background:#f2f5ed;font-size:12px;margin:18px 0;overflow-wrap:anywhere}.expense-review-note p{margin:5px 0 0;white-space:pre-line}.expense-review-actions{display:flex;flex-wrap:wrap;gap:10px;padding:15px 0}.expense-decision{border-top:1px solid var(--line);padding-top:18px;margin-top:15px}.expense-decision h3{font-size:17px}.record-history{margin-top:20px;border-top:1px solid var(--line);font-size:12px}.record-history summary{cursor:pointer;padding:15px 0;min-height:44px;font-weight:600}.record-history ol{margin:0;padding:0;list-style:none}.record-history li{display:grid;gap:4px;padding:10px 0;border-top:1px solid #e8ebdf;overflow-wrap:anywhere}.record-history li>span{color:var(--muted);font-size:11px}.record-history p{margin:3px 0;white-space:pre-line}.record-photo-preview{display:block;width:100%;max-height:65vh;object-fit:contain}@media(max-width:1000px){.record-filters,.record-filters:not(:has(select)){grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.record-editor-body>form>fieldset>.field input{font-size:16px}.receipt-capture{padding:15px}.project-workspace .project-tabs{justify-content:flex-start;gap:18px}.project-workspace .project-tabs button{min-height:48px;font-size:11px}.project-workspace .project-tabs button:nth-child(3) span{max-width:none;white-space:nowrap}.record-filters,.record-filters:not(:has(select)){grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.record-filters .field:first-child{grid-column:1 / -1}.record-filters input,.record-filters select,.record-form-grid input,.record-form-grid select,.record-form-grid textarea,.expense-decision input,.expense-decision textarea{font-size:16px}.record-row{grid-template-columns:48px minmax(0,1fr);gap:8px 12px;padding-block:14px}.record-thumbnail>button,.record-thumbnail>a,.record-thumbnail-empty{width:48px;height:54px}.record-thumbnail>small{font-size:9px}.record-row-actions{grid-column:2;flex-direction:row;align-items:center;justify-content:flex-end;max-width:none;gap:12px}.record-row-actions>.button{flex:none;padding-inline:12px}.record-row-actions>.record-amount{margin-right:auto;text-align:left;font-size:16px}.record-row-actions>.record-amount.is-missing{font-size:12px}.record-row-top{gap:4px 9px}.record-form-grid{gap:0 12px}.record-attachment-heading .inline-actions{width:100%}.record-attachment-heading .button{flex:1;font-size:11px;padding-inline:9px}.record-editor-actions>.button{padding-inline:12px}}@media(max-width:430px){.record-modal .record-editor-actions{flex-wrap:nowrap;gap:8px}.record-editor-actions>.button{padding-inline:8px;font-size:11px}.record-form-grid .field{grid-column:1 / -1}}.time-page{min-width:0}.time-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.time-heading h2{font-size:28px;margin:0 0 8px}.time-heading p{margin:0}.time-toolbar{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;padding-block:18px;border-block:1px solid var(--line)}.time-toolbar .field{margin:0}.time-week{display:flex;align-items:flex-end;gap:6px;min-width:0}.time-week .field{width:166px}.time-week .icon-button,.time-toolbar>.icon-button{min-height:44px}.time-person{flex:1;min-width:150px;max-width:300px;margin-left:auto!important}.time-total{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0}.time-total>div{display:flex;flex-direction:column;gap:6px}.time-total span{color:var(--muted);font-size:12px}.time-total strong{font-size:28px;font-variant-numeric:tabular-nums;font-weight:600}.time-summary{border-top:1px solid var(--line);padding:12px 0}.time-summary summary{cursor:pointer;min-height:44px;align-content:center;font-weight:600;font-size:13px}.time-summary-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;padding-bottom:12px}.time-summary h3{font-size:12px;color:var(--muted);margin:10px 0}.time-summary-row{display:flex;justify-content:space-between;gap:14px;padding:8px 0;font-size:13px}.time-summary-row span{overflow-wrap:anywhere}.time-summary-row strong{white-space:nowrap;font-variant-numeric:tabular-nums}.time-row{display:grid;grid-template-columns:135px minmax(0,1fr) auto;align-items:center;gap:18px;padding:14px 0;border-top:1px solid var(--line)}.time-row-day{display:flex;flex-direction:column;gap:7px}.time-row-day span{color:var(--muted);font-size:11px}.time-row-day strong{font-size:18px;font-variant-numeric:tabular-nums}.time-row-content{min-width:0;text-align:left;padding:4px 0;min-height:44px;color:var(--ink);background:none;border:0}.time-row-content strong{display:block;overflow-wrap:anywhere;font-weight:600}.time-row-content span,.time-row-content p{display:block;margin:4px 0 0;color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.time-row-content:hover strong{color:var(--accent);text-decoration:underline}.time-row .button{min-height:44px}.time-modal{width:min(540px,calc(100vw - 32px))}.time-editor-person{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);margin-bottom:20px}.time-project-choice{display:flex;align-items:center;gap:16px;justify-content:space-between;padding-bottom:20px}.time-project-choice>div{min-width:0}.time-project-choice span{display:block;font-size:11px;color:var(--muted);margin-bottom:4px}.time-project-choice strong{font-size:16px;overflow-wrap:anywhere}.time-duration-hint{margin:-10px 0 22px;color:var(--muted);font-size:12px}.time-input-mode{display:flex;gap:4px;margin-bottom:16px;border-bottom:1px solid var(--line)}.time-input-mode button{min-height:44px;padding:10px 16px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font-size:13px}.time-input-mode button[aria-pressed=true]{color:var(--ink);border-bottom-color:var(--accent);font-weight:600}.time-range-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}.time-range-fields input{width:100%;min-width:0}.time-range-total{display:flex;flex-direction:column;justify-content:center;gap:5px;margin-bottom:16px;padding-left:8px}.time-range-total span{font-size:11px;color:var(--muted)}.time-range-total strong{font-size:23px;font-weight:600;font-variant-numeric:tabular-nums}.time-range-error{color:#963927;font-size:12px;line-height:1.5;margin:0 0 16px}.time-details-toggle{display:flex;width:100%;min-height:52px;text-align:left;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;color:var(--ink);border:0;border-top:1px solid var(--line);background:none;font-size:13px;font-weight:600}.time-details-toggle small{display:block;color:var(--muted);font-weight:400;margin-top:4px}.time-details-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.time-extra-fields{padding-top:18px}.time-extra-fields[hidden]{display:none}.time-delete{margin-right:auto}@media(max-width:760px){.time-heading{align-items:flex-start;gap:14px;flex-direction:column}.time-heading h2{font-size:24px}.time-week{flex:1 1 100%}.time-week .field{flex:1;width:auto;min-width:0}.time-week input{min-width:0}.time-person{max-width:none}.time-total{gap:14px;align-items:flex-start}.time-total>span{max-width:105px;text-align:right;line-height:1.5}.time-row{grid-template-columns:minmax(85px,1fr) minmax(0,2fr);gap:8px 14px}.time-row>.button{grid-column:2;justify-self:start;padding:8px 12px}.time-row-day strong{font-size:16px}.time-summary-columns{grid-template-columns:minmax(0,1fr);gap:8px}}:root{color-scheme:light;--paper: #f6f5f1;--white: #fff;--ink: #30382e;--muted: #73776d;--line: #e0e2d9;--olive: #3c4639;--accent: #b25b3e;--soft: #e9ece3;font-family:Aptos,Segoe UI,-apple-system,BlinkMacSystemFont,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}fieldset{border:0;padding:0;margin:0;min-width:0}.company-refresh{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.company-refresh .text-link{font-size:10px}.company-logo-editor{display:flex;align-items:flex-start;flex-wrap:wrap;gap:22px;padding-bottom:28px;margin-bottom:28px;border-bottom:1px solid var(--line)}.company-logo-preview{width:160px;height:100px;flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:12px;background:#fff;border:1px solid var(--line);border-radius:5px;color:var(--muted)}.company-logo-preview img{display:block;max-width:100%;max-height:100%;object-fit:contain}.company-logo-controls{flex:1 1 230px;min-width:0}.company-logo-controls>strong{font-size:14px;font-weight:600}.company-logo-controls p{margin-top:9px}.company-logo-controls .inline-actions{flex-wrap:wrap}.company-logo-controls .logo-snapshot-note{margin-bottom:0}.quote-company img.quote-logo{display:block;max-width:min(200px,100%);max-height:80px;width:auto;height:auto;object-fit:contain;margin-bottom:18px}body{margin:0;font-size:14px;line-height:1.5}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.5}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}input:focus,select:focus,textarea:focus{outline:2px solid #b25b3e66;outline-offset:1px;border-color:var(--accent)}input,textarea,select{width:100%;min-width:0;border:1px solid #d8dbd2;border-radius:5px;background:#fff;color:var(--ink);padding:11px 12px;min-height:44px}input::placeholder,textarea::placeholder{color:#94978c}input:disabled,textarea:disabled,select:disabled{background:#f7f7f3;color:#5d6258;opacity:1}input[type=checkbox]{width:19px;height:19px;min-height:19px;margin:0;accent-color:var(--olive);flex:0 0 auto}textarea{resize:vertical;line-height:1.5}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.16;font-weight:500}h1{font-size:clamp(30px,3.1vw,44px);letter-spacing:-1.8px;margin-bottom:12px}h2{font-size:25px;letter-spacing:-.6px;margin-bottom:12px}h3{font-size:20px;letter-spacing:-.4px}p{margin-bottom:16px}svg{flex-shrink:0;vertical-align:middle}.muted{color:var(--muted)}.small{font-size:12px}.eyebrow{font-size:10px;font-weight:650;letter-spacing:1.7px;color:var(--muted);margin-bottom:13px}.eyebrow>span{float:right}.wordmark{font-size:32px;font-weight:650;letter-spacing:-1.8px;line-height:1}.wordmark>span{color:var(--accent)}.brand-button{border:0;background:transparent;padding:0;text-align:left}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 16px;border:1px solid #d8dcd0;border-radius:5px;background:#fff;font-size:12px;font-weight:600;white-space:nowrap;transition:background .15s,border-color .15s}.button:hover:not(:disabled){background:#eef0e9;border-color:#bbc1b3}.button.primary{background:var(--olive);color:#fff;border-color:var(--olive)}.button.primary:hover:not(:disabled){background:#283524}.button.create{background:var(--accent);border-color:var(--accent);color:#fff}.button.create:hover:not(:disabled){background:#98492f;border-color:#98492f}.button.update{background:#f0f3ec;border-color:#9aa58e;color:#3c5130}.button.update:hover:not(:disabled){background:#e3e9da;border-color:#6d7f5d}.button.danger,.icon-button.danger{color:#963927;background:#fbefea;border-color:#ddb3a6}.button.danger:hover:not(:disabled),.icon-button.danger:hover:not(:disabled){color:#7d291c;background:#f4ded5;border-color:#bc8070}.button.wide,.wide{width:100%}.icon-button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;width:44px;height:44px;padding:0;background:transparent;border:1px solid transparent;border-radius:5px}.icon-button:hover:not(:disabled){background:var(--soft)}.icon-button.active{background:var(--olive);color:#fff}.icon-button.active:hover{background:#283524}.text-link{display:inline-flex;align-items:center;gap:7px;background:none;border:0;border-bottom:1px solid #c4c9bb;padding:7px 0;font-size:12px;font-weight:600;text-align:left}.text-link:hover{color:var(--accent);border-color:var(--accent)}.danger{color:#a3412d}.quote-create-actions{flex-wrap:wrap}.quote-empty-lines{padding:24px 0;font-size:13px}.inline-actions,.form-line{display:flex;align-items:center;gap:10px}.form-line{justify-content:space-between;flex-wrap:wrap}.badge{display:inline-block;width:max-content;white-space:nowrap;border-radius:3px;padding:4px 8px;color:#68705e;background:#e9ece2;font-size:10px;line-height:1.4;font-weight:600;letter-spacing:.15px}.badge.won,.badge.accepted,.badge.active,.badge.paid{background:#e2eadc;color:#426238}.badge.sent,.badge.quoted,.badge.pending,.badge.past_due{background:#f2e9d7;color:#8c682a}.badge.rejected,.badge.failed,.badge.canceled{background:#f1e2da;color:#9c4e36}.badge.measured{background:#e0e9e9;color:#4b7074}.notice{display:flex;align-items:center;gap:12px;background:#efeee5;padding:14px 18px;color:#666447;border-left:3px solid #aaa777;font-size:12px;margin:0 0 24px;border-radius:3px}.notice>span{flex:1}.notice.error{background:#f4e8e2;color:#90422f;border-color:var(--accent)}.notice.recovery-notice{display:grid;grid-template-columns:17px minmax(0,1fr) auto}.notice.recovery-notice>span{min-width:0}@media(max-width:600px){.notice.recovery-notice{grid-template-columns:17px minmax(0,1fr)}.recovery-notice>.inline-actions{grid-column:2;flex-wrap:wrap}}.toast{position:fixed;z-index:80;bottom:26px;left:calc(50% + 108px);transform:translate(-50%);display:flex;align-items:center;gap:14px;max-width:min(620px,88vw);padding:8px 8px 8px 20px;border-radius:7px;box-shadow:0 8px 35px #25301f22;background:#303e2c;color:#fff;font-size:13px}.toast.error{background:#88472f}.toast .icon-button:hover{background:#fff2}.spin{animation:spin 1.2s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.boot-screen{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;gap:24px;text-align:center}.boot-screen h1{font-size:28px}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:center;padding:70px 24px}.empty-icon{color:#7e8a70;margin-bottom:24px}.empty p{color:var(--muted);max-width:440px}.app-shell{min-height:100dvh;padding-left:216px}.sidebar{position:fixed;inset:0 auto 0 0;z-index:35;width:216px;padding:35px 20px 0;display:flex;flex-direction:column;border-right:1px solid var(--line);background:#f0f1e9}.sidebar{overflow-y:auto}.sidebar .brand-button{margin:2px 13px 51px}.workspace-label{margin:0 13px 15px;font-size:9px;letter-spacing:1.5px;color:#929788}.sidebar nav{display:flex;flex-direction:column;gap:7px}.nav-item{display:flex;align-items:center;gap:12px;height:48px;border:0;border-radius:5px;padding:0 13px;background:none;text-align:left;color:#79816f;font-size:12px}.nav-item:hover{color:var(--ink);background:#e7eade}.nav-item.active{color:var(--olive);background:#e0e5d7;font-weight:650}.nav-dot{width:5px;height:5px;background:var(--accent);border-radius:100%;margin-left:auto}.sidebar-note{margin:auto 13px 48px;padding-top:80px;color:#9a9f90}.sidebar-note p{font-size:20px;line-height:1.4;letter-spacing:-.3px;margin:17px 0 12px}.sidebar-note strong{font-weight:400;color:#6c765f}.sidebar-note>span{font-size:9px;letter-spacing:.5px}.sidebar-bottom{margin:0 -20px}.platform-link{display:flex;gap:8px;align-items:center;width:100%;background:none;border:0;padding:14px 22px;font-size:10px;color:#79816f;text-align:left}.platform-link:hover{background:#e4e8dd}.account{display:flex;align-items:center;gap:9px;min-height:84px;border-top:1px solid #dfe3d6;padding:14px 15px}.avatar{width:30px;height:32px;flex-shrink:0;background:#d9dfcd;border-radius:4px;display:grid;place-items:center;font-size:13px;font-weight:600}.account>div{flex:1;min-width:0}.account strong{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account div>span{display:block;font-size:9px;margin-top:3px;color:#929787}.account .icon-button{width:32px;min-width:32px}.account form{margin:0}.main-content{min-width:0}.page{padding:48px clamp(24px,4.2vw,68px) 45px;max-width:1680px;margin:0 auto}.page-header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px;min-width:0}.page-header>div{min-width:0}.page-header .muted{margin-bottom:0}.page-header>.button{margin-top:7px}.dashboard-stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr 1fr 1.1fr;margin-bottom:34px;padding:28px 0}.dashboard-stats>div{padding:0 26px;border-right:1px solid var(--line)}.dashboard-stats>div:first-child{padding-left:0}.dashboard-stats>div:last-child{border-right:0;padding-right:0}.dashboard-stats span{display:block;font-size:9px;letter-spacing:1.2px;color:#8b9082;margin-bottom:7px}.dashboard-stats strong{font-weight:400;font-size:33px;line-height:1.3;letter-spacing:-1px;font-variant-numeric:tabular-nums}.dashboard-stats small{font-size:14px;color:#7d8573;letter-spacing:0}.dashboard-stats .stats-note{position:relative;display:flex;align-items:center;font-family:Georgia,serif;font-style:italic;font-size:18px;line-height:1.4;color:#858d77;padding-right:35px}.stats-note svg{position:absolute;right:0;top:26px}.list-toolbar{display:flex;gap:24px;align-items:center;justify-content:space-between;margin-bottom:20px}.list-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px 22px;border-bottom:1px solid var(--line);margin-bottom:24px;min-width:0}.list-toolbar .list-filters{margin:0;border:0}.list-filters button{display:inline-flex;align-items:center;gap:8px;background:none;border:0;border-bottom:2px solid transparent;min-height:44px;padding:10px 0;font-size:12px;color:#909588;white-space:nowrap}.list-filters button.active{border-color:var(--olive);color:var(--olive);font-weight:600}.list-filters button>span{background:#e7e9e0;font-size:9px;padding:2px 5px;border-radius:3px}.search-field{display:flex;gap:8px;align-items:center;color:#929787}.search-field input{width:200px;background:transparent;border:0;font-size:12px;padding-left:0}.site-list{border-top:1px solid var(--line)}.site-row{display:flex;align-items:center;gap:28px;width:100%;padding:25px 0;text-align:left;background:none;border:0;border-bottom:1px solid var(--line)}.site-row:hover .site-info h2{color:var(--accent)}.site-row:hover .site-open{color:#fff;background:var(--olive)}.site-preview{width:180px;height:120px;background:#eeeee6;position:relative;flex-shrink:0;border:1px solid #e6e6dc;overflow:hidden;border-radius:3px}.site-preview>svg{width:100%;height:100%;padding:12px}.site-preview>span{position:absolute;left:8px;top:6px;color:#9ca18e;font-size:9px;letter-spacing:1px}.site-info{flex:1;min-width:0}.site-info>div{display:flex;align-items:center;gap:13px;margin-bottom:10px}.site-date{font-size:10px;color:#8d9384}.site-info h2{font-size:22px;margin-bottom:7px;letter-spacing:-.5px;transition:color .15s;overflow-wrap:anywhere}.site-info p{margin:0;font-size:12px;color:#7f8775}.site-address{display:flex;align-items:center;gap:4px;font-size:10px;color:#969b8f;margin-top:6px}.site-measure{text-align:right;margin-left:auto}.site-measure strong{display:block;font-size:23px;font-weight:400;white-space:nowrap;letter-spacing:-.8px}.site-measure small{font-size:12px;letter-spacing:0;color:#838c77}.site-measure>span{display:block;font-size:10px;color:#909885;margin-top:8px;white-space:nowrap}.site-open{display:grid;place-items:center;width:42px;height:42px;flex-shrink:0;border:1px solid #d9ddcf;border-radius:50%;margin-left:10px;color:#626e55;transition:background .15s}.welcome-workspace{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:32px 0 35px}.welcome-copy{max-width:390px}.welcome-copy h2{font-size:clamp(31px,3vw,43px);letter-spacing:-1.6px;line-height:1.13}.welcome-copy p{font-size:13px;color:#7f8675;line-height:1.8;margin:20px 0 24px;max-width:320px}.welcome-copy .text-link{display:flex;margin-top:17px;font-size:11px}.welcome-drawing{position:relative;background:radial-gradient(#ced2c5 .8px,transparent .8px);background-size:16px 16px;min-height:330px}.welcome-drawing>svg{position:absolute;inset:12px 0 38px;width:100%;height:calc(100% - 50px);padding:0 14px;transform:rotate(-4deg)}.drawing-caption{display:flex;gap:8px;position:absolute;bottom:0;right:10px;background:var(--paper);padding:8px;font-size:10px;color:#838d75}.workflow-strip{display:grid;grid-template-columns:1fr 1fr 1fr;border-top:1px solid var(--line);padding-top:27px;margin-top:35px;gap:22px}.workflow-strip>div{display:flex;gap:13px;align-items:flex-start}.workflow-strip>div>span{font-size:9px;color:#939c85;padding-top:3px}.workflow-strip svg{color:#80906e}.workflow-strip strong{font-size:11px;font-weight:600}.workflow-strip p{font-size:10px;color:#8e9681;margin:5px 0 0;line-height:1.7}.mobile-header,.mobile-nav{display:none}.field,.stack-form>label{display:block;margin-bottom:16px;min-width:0}.field>span,.stack-form>label{color:#656e5b;font-size:11px;font-weight:550}.field>span{display:block;margin-bottom:7px}.stack-form>label>input{display:block;margin-top:7px}.input-wrap{position:relative}.input-wrap:has(.input-suffix) input{padding-right:48px}.input-suffix{pointer-events:none;position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:11px;color:#8f9686}.form-grid,.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.span-two{grid-column:span 2}.modal{width:min(520px,calc(100vw - 36px));max-height:calc(100dvh - 44px);border:1px solid #dce1d3;border-radius:10px;padding:28px;color:var(--ink);background:var(--paper);box-shadow:0 24px 80px #15201030;overflow-y:auto}.modal::backdrop{background:#242d2466;backdrop-filter:blur(3px)}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:-4px -9px 17px 0}.modal-header h2{margin:0;font-size:25px}.modal .muted{font-size:12px}.modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.modal.form-modal[open]{display:flex;flex-direction:column;padding:0;overflow:hidden;max-height:calc(100dvh - 32px)}.modal.form-modal>form{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;overflow:hidden;margin:0}.modal.invoice-create-modal{width:min(600px,calc(100vw - 32px));height:min(600px,calc(100dvh - 32px))}.form-modal>.modal-header{flex:none;margin:0;padding:20px 26px 16px;border-bottom:1px solid var(--line)}.form-modal .modal-header h2{font-size:23px}.form-modal .icon-button{min-width:44px;min-height:44px}.form-modal-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:20px 26px;scrollbar-gutter:stable}.form-modal-error{flex:none;padding:12px 26px 0;max-height:30dvh;overflow-y:auto}.form-modal-error .notice{margin:0}.form-modal-footer{flex:none;padding:16px 26px;border-top:1px solid var(--line);background:var(--paper)}.modal.form-modal .form-modal-actions{margin:0;padding:0;border:0;gap:10px}@media(max-width:760px){.modal.form-modal[open]{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.form-modal>.modal-header{padding:14px 18px 10px}.form-modal .modal-header h2{font-size:21px}.form-modal-body{padding:16px 18px;scrollbar-gutter:auto}.form-modal-error{padding:10px 18px 0}.form-modal-footer{padding:12px 18px max(14px,env(safe-area-inset-bottom))}}@media(max-width:430px){.modal.form-modal .form-modal-actions{flex-wrap:nowrap;gap:8px}.form-modal-actions>.button{padding-inline:8px;font-size:11px}}.room-area-preview{display:flex;justify-content:space-between;align-items:center;padding:14px;background:var(--soft);border-radius:4px;font-size:12px}.room-area-preview strong{font-size:23px;font-weight:450}.project-workspace{height:100dvh;display:flex;flex-direction:column;overflow:hidden}.project-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:21px 28px;border-bottom:1px solid var(--line);background:var(--paper)}.project-identity{display:flex;align-items:center;gap:12px;min-width:0}.project-identity>div{min-width:0}.breadcrumb{font-size:8px;letter-spacing:1.3px;color:#8b9380;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.breadcrumb span{margin:0 6px;color:#afb7a2}.title-button{display:flex;align-items:center;gap:12px;padding:0;border:0;background:none;max-width:100%;margin-top:5px}.title-button h1{font-size:clamp(19px,1.8vw,25px);font-weight:500;letter-spacing:-.7px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.title-button>svg{color:#989f8d}.project-actions{display:flex;align-items:center;gap:21px;flex-shrink:0}.save-status{display:flex;align-items:center;gap:7px;font-size:10px;color:#879477;white-space:nowrap}.save-status.error,.save-status.conflict{color:var(--accent)}.save-status.dirty{color:#a49568}.project-workspace>.notice{margin:0;border-radius:0;padding:9px 20px}.project-subbar{display:flex;align-items:center;justify-content:space-between;padding:0 32px;min-height:58px;border-bottom:1px solid var(--line);background:var(--paper)}.project-tabs{display:flex;gap:25px;align-self:stretch}.project-tabs button{background:none;border:0;border-bottom:2px solid transparent;display:flex;align-items:center;gap:7px;padding:0;font-size:11px;white-space:nowrap;color:#949b89}.project-tabs button.selected{color:var(--olive);border-bottom-color:var(--accent);font-weight:600}.plan-summary{display:flex;gap:16px;align-items:center;font-size:11px;color:#979f8c}.plan-summary strong{font-weight:500;color:#5f6b52}.plan-options{display:flex;align-items:center;justify-content:space-between;min-height:63px;padding:6px 28px;gap:10px;background:#f6f6f0;border-bottom:1px solid var(--line)}.floor-picker,.plan-options-right{display:flex;gap:6px;align-items:center}.floor-picker{color:#7a846c}.floor-picker select{font-size:11px;border:0;width:auto;max-width:170px;background:transparent}.plan-options-right>.button{font-size:11px;min-height:38px;margin-left:13px}.planner-layout{display:flex;flex:1;min-height:0}.canvas-column{position:relative;flex:1;min-width:0;overflow:hidden}.plan-stage,.three-stage{width:100%;height:100%;position:relative;overflow:hidden;background:#f7f8f1}.plan-svg,.three-canvas{width:100%;height:100%;touch-action:none;display:block;user-select:none}.three-canvas canvas{display:block;touch-action:none}.tool-select .plan-svg{cursor:default}.tool-select .plan-svg [data-room]{cursor:move}.tool-select .plan-svg [data-vertex],.tool-draw .plan-svg,.tool-polygon .plan-svg,.tool-door .plan-svg,.tool-window .plan-svg{cursor:crosshair}.tool-pan .plan-svg{cursor:grab}.tool-measure .plan-svg,.tool-outdoor .plan-svg,.tool-outdoor-polygon .plan-svg,.tool-hole .plan-svg,.tool-hole-polygon .plan-svg{cursor:crosshair}.plan-dimension [data-dimension-part],.wall-handle{cursor:grab}.wall-hit:focus-visible{outline:none;stroke:#b25b3e44}.plan-hole:focus-visible{outline:none}.plan-hole:focus-visible polygon{stroke:#b25b3e}.dimension-label{font-variant-numeric:tabular-nums;paint-order:stroke;stroke:#f7f8f1;stroke-width:.06}.drawing-toolbar{position:absolute;top:22px;left:22px;display:flex;gap:3px;padding:5px;background:#fff;border:1px solid #dfe3d6;border-radius:7px;box-shadow:0 3px 14px #37432808}.drawing-toolbar .icon-button{width:41px;min-width:41px}.drawing-tool{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:58px;min-height:52px;padding:7px;border:0;border-radius:4px;background:transparent;color:#68735c;font:inherit;font-size:10px;cursor:pointer}.drawing-tool:hover{background:#f0f3e8}.drawing-tool.active{background:#e5ecdb;color:#365225}.snap-control{position:absolute;left:22px;bottom:53px;display:flex;align-items:center;gap:7px;color:#536247;font-size:10px;background:#f7f8f1ed;border-radius:5px}.snap-control .icon-button{width:44px;height:44px}.plan-opening{cursor:pointer;outline:none}.plan-opening:hover .opening-hit,.plan-opening:focus-visible .opening-hit{stroke:#b25b3e22}.tool-select .plan-svg .plan-opening{cursor:grab}.toolbar-divider{display:block;align-self:center;height:23px;width:1px;background:var(--line);margin:0 3px}.zoom-controls{position:absolute;bottom:50px;right:22px;display:flex;align-items:center;padding:3px;background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:0 2px 8px #30382e08}.zoom-controls span{font-size:10px;width:35px;text-align:center;color:#7e8772}.canvas-hint{position:absolute;bottom:15px;left:50%;transform:translate(-50%);display:flex;gap:8px;align-items:center;justify-content:center;font-size:10px;color:#8d9580;text-align:center;white-space:nowrap;background:#f7f8f1d9;padding:4px 7px;border-radius:4px;pointer-events:none}.canvas-hint.draw-actions{pointer-events:auto;color:var(--ink);background:#fff;padding:5px 9px 5px 15px;border:1px solid var(--line)}.plan-scale{position:absolute;left:22px;bottom:65px;font-size:9px;color:#959d87;pointer-events:none}.canvas-empty,.canvas-message{position:absolute;top:50%;left:50%;width:300px;max-width:90%;transform:translate(-50%,-50%);text-align:center;pointer-events:none;color:#7f8e6e}.canvas-empty h3{font-size:28px;margin:17px 0 8px;color:#536247}.canvas-empty p,.canvas-message p{font-size:12px}.canvas-empty .button{pointer-events:auto}.tool-draw .canvas-empty,.tool-polygon .canvas-empty{display:none}.inspector{display:none;width:292px;flex:0 0 292px;border-left:1px solid var(--line);background:var(--paper);overflow-y:auto;scrollbar-width:thin;overscroll-behavior:contain}.inspector.open{display:block}.inspector-heading{display:flex;align-items:center;justify-content:space-between;padding:13px 19px;border-bottom:1px solid var(--line)}.inspector-heading h2{font-size:15px;letter-spacing:-.2px;margin:0}.inspector-heading .icon-button{display:inline-flex}.inspector-handle{display:none}.inspector-section{padding:23px 21px;border-bottom:1px solid var(--line)}.inspector-section .field{margin-bottom:14px}.inspector-section .field>span{font-size:10px}.inspector-section input{font-size:12px;padding:10px}.inspector-section .field-pair{gap:12px}.inspector-section .eyebrow{font-size:9px}.inspector-section .back-link{margin:-7px 0 17px}.room-list{margin:0 -21px 20px}.room-list button{width:100%;display:flex;align-items:center;gap:10px;min-height:49px;background:none;border:0;padding:10px 20px;text-align:left;font-size:11px}.room-list button:hover{background:#e9ece2}.room-list button>span:nth-child(2){flex:1;overflow-wrap:anywhere}.room-list strong{font-size:10px;font-weight:500;white-space:nowrap}.room-list small{color:#929b83}.room-list svg{color:#939b86}.room-swatch{display:inline-flex;align-items:center;justify-content:center;width:12px;height:12px;border-radius:2px;flex-shrink:0}.room-swatch.sand{background:#e7ddc9}.room-swatch.sage{background:#d0dccb}.room-swatch.clay{background:#e8cbbc}.room-swatch.blue{background:#cadde0}.swatch-picker{display:flex;gap:7px;margin:9px 0 23px}.swatch-picker .room-swatch{width:44px;height:36px;border:1px solid transparent}.swatch-picker .selected{border-color:#99a18d}.measurement-summary{display:flex;flex-direction:column;gap:13px;font-size:11px;margin-bottom:18px}.measurement-summary>span{display:flex;justify-content:space-between;gap:10px;color:#8c957e}.measurement-summary strong{font-weight:500;color:#58654c;font-variant-numeric:tabular-nums}.recipe-choice,.check-option{display:flex;align-items:flex-start;gap:10px;padding:10px 0;font-size:12px;cursor:pointer}.recipe-choice input{margin-top:2px}.recipe-choice small,.check-option small{display:block;color:#8b957d;font-size:10px;margin-top:4px}.check-option{margin-bottom:20px}.opening-detail{padding:13px 0;border-bottom:1px solid var(--line)}.opening-detail summary{display:flex;align-items:center;gap:8px;font-size:11px;cursor:pointer;min-height:30px}.opening-detail summary small{margin-left:auto;color:#969e8a;font-size:9px}.opening-detail[open] summary{margin-bottom:12px}.opening-row{width:100%;min-height:54px;display:flex;align-items:center;gap:12px;padding:12px 0;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.opening-row>span{flex:1;font-size:13px}.opening-row small{display:block;color:#68735c;margin-top:3px;font-size:11px}.opening-kind{display:flex;gap:8px;margin-bottom:18px}.opening-kind button{flex:1;min-height:44px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);border-radius:5px;background:transparent;font:inherit;cursor:pointer}.opening-kind button[aria-pressed=true]{background:#e5ecdb;border-color:#80946b;color:#365225}.opening-wall-preview{margin:-4px 0 18px}.opening-wall-preview svg{display:block;width:100%;max-height:115px}.opening-actions{justify-content:space-between}.delete-room{margin-top:23px}.project-detail-page{flex:1;overflow-y:auto;padding:35px 40px}.section-heading{margin-bottom:25px}.section-heading h2{font-size:26px;margin-bottom:10px}.section-heading p{font-size:12px;max-width:630px;line-height:1.7}.loading-inline{display:flex;gap:13px;padding:70px;justify-content:center;color:#818c72}.table-scroll{width:100%;overflow-x:auto}.data-table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}.data-table th{font-weight:500;font-size:10px;color:#8b937e;border-bottom:1px solid #d2d9c8;padding:13px 16px;white-space:nowrap}.data-table th:first-child,.data-table td:first-child{padding-left:0}.data-table td{padding:20px 16px;border-bottom:1px solid var(--line)}.data-table td>strong{display:block;font-weight:500}.data-table td small{display:block;font-size:10px;color:#8c967f;margin-top:5px}.material-table td:not(:first-child){white-space:nowrap}.calculation-footer{display:flex;align-items:flex-start;justify-content:space-between;gap:45px;margin-top:35px}.calculation-explainer{display:flex;align-items:flex-start;gap:17px;max-width:365px;font-size:12px;color:#7d8b6c}.calculation-explainer p{font-size:11px;margin-top:10px}.price-summary{width:295px;flex-shrink:0}.price-summary>div{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:15px;font-size:11px;color:#839074}.price-summary strong{font-weight:500;color:#546549;white-space:nowrap}.price-summary .grand-total{padding-top:20px;margin-bottom:23px;border-top:1px solid #cdd6c1;color:#435637}.grand-total strong{font-size:23px;letter-spacing:-.5px}.settings-layout{display:grid;grid-template-columns:190px 1fr;gap:42px;border-top:1px solid var(--line);padding-top:32px}.settings-nav{display:flex;flex-direction:column;gap:7px;align-self:start}.settings-nav>button{display:flex;align-items:center;gap:10px;background:none;border:0;border-radius:4px;padding:12px;min-height:44px;font-size:11px;text-align:left;color:#879278}.settings-nav>button.active{color:#485e39;background:var(--soft);font-weight:600}.settings-content{min-width:0;max-width:850px}.settings-section{padding-bottom:27px;margin-bottom:34px;border-bottom:1px solid var(--line)}.settings-section .section-heading{margin-bottom:28px}.settings-section .section-heading h2{font-size:23px}.billing-overview{display:flex;align-items:center;gap:25px;border-block:1px solid var(--line);padding:30px 0;margin-bottom:25px}.billing-overview h3{margin-bottom:10px}.quote-row{display:flex;align-items:center;gap:24px;background:none;border:0;border-bottom:1px solid var(--line);width:100%;text-align:left;padding:25px 0}.quote-row:hover{background:#eeefe7}.quote-row>svg:first-child{color:#8a967b}.quote-row>div{flex:1;min-width:0}.quote-row>div strong{display:block;font-size:16px;font-weight:500}.quote-row>div span{display:block;color:#8b977b;margin-top:5px;font-size:11px;overflow-wrap:anywhere}.quote-row>strong{font-size:16px;font-weight:500;white-space:nowrap}.quote-row>svg:last-child{margin-left:15px;color:#8a967c}.quote-date{color:#8d9780;font-size:11px}.project-detail-page>.button{margin-top:25px}.quote-editor-title{display:flex;align-items:center;gap:17px}.quote-editor-title h1{margin:0;font-size:31px}.quote-editor-title .eyebrow{margin-bottom:6px}.quote-paper{background:#fff;border:1px solid #e1e5d8;padding:42px;border-radius:3px}.quote-company{display:flex;align-items:flex-start;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line);padding-bottom:30px;margin-bottom:30px}.quote-company strong{font-size:18px;font-weight:500}.quote-company p{white-space:pre-line;color:#8a927c;font-size:11px;margin:11px 0}.quote-company span{font-size:11px;color:#8a947c}.quote-company .document-mark{font-size:25px;letter-spacing:4px;color:#b9c0ad}.quote-lines{margin:25px 0 17px}.quote-lines-header,.quote-line{display:grid;grid-template-columns:minmax(140px,1fr) 75px 65px 95px 105px 35px;align-items:center;gap:12px}.quote-lines-header{font-size:9px;color:#8c967d;border-bottom:1px solid #cbd5be;padding-bottom:12px}.quote-line{padding:14px 0;border-bottom:1px solid var(--line)}.quote-line .field{margin:0}.quote-line .field>span,.mobile-label{display:none}.quote-line input,.quote-line textarea{border-color:#e3e6dc;font-size:11px;padding:10px 8px}.quote-line textarea{resize:vertical;display:block}.quote-line .icon-button{min-width:32px;width:32px}.line-total{text-align:right;font-size:11px;font-weight:500}.quote-bottom{display:grid;grid-template-columns:1fr 275px;gap:40px;margin-top:35px}.quote-bottom .price-summary{width:100%}.price-summary .field{margin:0;width:100px}.quote-footnote{font-size:9px;color:#99a08e;border-top:1px solid var(--line);padding-top:20px;margin-top:22px}.quote-status-actions{display:flex;align-items:center;justify-content:flex-end;gap:14px;margin-top:23px}.quote-status-actions p{margin:0 auto 0 0;font-size:11px;color:#909a80}.owner-label{display:flex;align-items:center;gap:8px;font-size:11px;color:#788c65;background:#e4eadb;border-radius:4px;padding:10px 14px}.users-table td{white-space:nowrap}.auth-page{min-height:100dvh;padding:45px 7vw 25px;display:flex;flex-direction:column}.auth-page>.wordmark{align-self:flex-start}.auth-layout{flex:1;width:100%;max-width:1150px;margin:50px auto;display:grid;grid-template-columns:1.25fr 1fr;gap:10%;align-items:center}.auth-art h1{font-size:clamp(42px,4.6vw,66px);line-height:1.06;letter-spacing:-3px;margin-top:24px}.auth-art svg{width:100%;margin:10px 0}.auth-art>p{font-size:12px;max-width:340px;color:#8a947e}.auth-form{max-width:380px;width:100%}.auth-form h2{font-size:38px;letter-spacing:-1.5px;margin-bottom:17px}.auth-form>.muted{font-size:13px;line-height:1.7;margin-bottom:35px}.auth-form input{font-size:14px}.auth-form .form-line{margin:21px 0 28px;font-size:10px}.auth-form .check-label{display:flex;align-items:center;gap:8px}.auth-form .button{font-size:12px;min-height:49px}.auth-form .button>span{margin-left:auto;font-size:20px;line-height:1}.auth-form a:not(.button){color:var(--accent)}.auth-switch{font-size:12px;text-align:center;margin-top:25px;color:#8d967e}.auth-footer{font-size:10px;color:#9da490;border-top:1px solid var(--line);padding-top:20px}.field-error{color:#a34d35;font-size:12px;margin-top:-8px}@media(min-width:1450px){.inspector{width:312px;flex-basis:312px}.inspector-section{padding-inline:25px}}@media(max-width:1200px){.page{padding:35px 28px}.project-header{padding:17px 20px}.project-actions{gap:12px}.save-status span{display:none}.project-subbar{padding:0 22px}.project-tabs{gap:19px}.plan-summary{display:none}.plan-options{padding:6px 18px}.site-row{gap:18px}.site-preview{width:145px;height:110px}.site-info h2{font-size:20px}.site-date{display:none}.site-open{margin-left:0}.site-measure strong{font-size:20px}.stats-note{font-size:15px!important}.settings-layout{grid-template-columns:160px 1fr;gap:24px}.quote-paper{padding:28px}.quote-lines-header,.quote-line{grid-template-columns:minmax(90px,1fr) 65px 55px 75px 85px 30px;gap:7px}.quote-date{display:none}.quote-bottom{gap:25px;grid-template-columns:1fr 245px}}@media(max-width:1050px){.app-shell{padding-left:186px}.sidebar{width:186px;padding-inline:13px}.sidebar-bottom{margin-inline:-13px}.sidebar .wordmark{font-size:29px}.nav-item{font-size:11px;gap:10px}.platform-link{padding:14px;font-size:9px}.account{padding-inline:10px;gap:7px}.avatar{width:26px}.account .icon-button{width:28px;min-width:28px}.inspector{display:none}.inspector.open{display:block;position:static;width:280px;flex-basis:280px}.inspector-heading .icon-button{display:inline-flex}.drawing-toolbar{left:17px;top:17px}.project-options{padding-inline:15px}.dashboard-stats{grid-template-columns:1fr 1fr 1fr}.dashboard-stats>div{padding:0 20px}.dashboard-stats .stats-note{display:none}.dashboard-stats>div:nth-child(3){border-right:0}.platform-page .dashboard-stats{grid-template-columns:repeat(4,1fr)}.platform-page .dashboard-stats>div{padding:0 12px}.platform-page .dashboard-stats>div:first-child{padding-left:0}.platform-page .dashboard-stats>div:nth-child(3){border-right:1px solid var(--line)}.site-preview{width:125px;height:100px}.site-measure>span{font-size:9px}.site-open{display:none}.workflow-strip{gap:14px}.workflow-strip>div{gap:8px}.workflow-strip svg{display:none}.welcome-workspace{gap:10px}.welcome-copy h2{font-size:33px}.welcome-drawing{min-height:310px}.settings-layout{grid-template-columns:1fr;gap:30px}.settings-nav{flex-direction:row;gap:12px}.settings-nav>button{flex:1;white-space:nowrap}.project-detail-page{padding:27px}.quote-row{gap:15px}.quote-row>strong{font-size:14px}.quote-row>svg:last-child{margin-left:0}.quote-editor-page .page-header{align-items:flex-start}.quote-editor-page .page-header>.inline-actions{flex-wrap:wrap;justify-content:flex-end}.quote-editor-title h1{font-size:25px}.quote-editor-title{gap:10px;flex-wrap:wrap}.quote-editor-title .badge{display:inline-block}.toast{left:calc(50% + 93px)}.calculation-footer{gap:23px}.calculation-explainer{max-width:260px}.price-summary{width:255px}}@media(max-width:760px){.app-shell{padding:58px 0 calc(72px + env(safe-area-inset-bottom))}.sidebar{display:none}.mobile-header{display:flex;align-items:center;gap:5px;position:fixed;inset:0 0 auto;height:58px;border-bottom:1px solid var(--line);background:#f0f1e9;z-index:35;padding:7px 18px}.mobile-header .brand-button{margin-right:auto}.mobile-header .wordmark{font-size:27px}.mobile-header form{margin:0}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;height:calc(67px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:#f3f4ed;border-top:1px solid #d8dfcd;z-index:40}.mobile-nav button{display:flex;flex:1;flex-direction:column;gap:5px;align-items:center;justify-content:center;background:none;border:0;font-size:9px;color:#8e9a80}.mobile-nav button.active{color:#435b33}.mobile-nav button.active svg{fill:#dce5d2}.page{padding:30px 22px}.page-header{margin-bottom:26px;gap:15px}h1{font-size:35px}.page-header .eyebrow{font-size:8px;letter-spacing:1.2px}.page-header .muted{font-size:12px}.page-header>.button{font-size:11px;padding-inline:12px}.dashboard-stats{margin-bottom:20px;padding:21px 0}.dashboard-stats strong{font-size:28px}.dashboard-stats>div{padding:0 18px}.dashboard-stats span{font-size:8px;letter-spacing:.7px}.dashboard-stats small{font-size:11px}.site-row{gap:18px}.site-preview{width:135px}.site-info h2{font-size:19px}.site-measure strong{font-size:20px}.site-info p{font-size:11px}.site-address{display:none}.list-filters{gap:20px}.list-filters button{font-size:11px}.search-field input{width:165px;font-size:11px}.welcome-copy h2{font-size:37px}.welcome-drawing{min-height:330px}.project-workspace{height:calc(100dvh - 125px - env(safe-area-inset-bottom))}.has-planner{padding-bottom:0}.project-header{padding:13px 17px;min-height:77px;gap:8px}.project-identity{gap:5px}.project-identity>.icon-button{min-width:30px;width:30px}.title-button h1{font-size:19px}.title-button{gap:7px}.breadcrumb{font-size:7px}.project-actions{gap:6px}.project-actions .button{width:42px;padding:0;min-height:42px;font-size:0;gap:0}.project-actions .button svg{width:19px;height:19px}.save-status{font-size:8px}.project-subbar{min-height:50px;padding:0 22px}.project-tabs{width:100%;justify-content:space-between;gap:12px}.project-tabs button{font-size:10px;gap:6px}.project-tabs svg{width:16px}.plan-options{min-height:59px;padding:5px 15px}.plan-options-right{gap:0}.plan-options-right>.button{min-height:42px;padding:7px 10px;font-size:10px;margin-left:0}.plan-options-right>.icon-button{min-width:36px;width:36px}.floor-picker{gap:1px}.floor-picker select{font-size:10px;max-width:135px;padding:10px 3px}.floor-picker .icon-button{width:32px;min-width:32px}.drawing-toolbar{left:14px;top:14px;gap:1px;padding:4px}.drawing-toolbar .icon-button{width:42px;min-width:42px;height:44px}.zoom-controls{right:14px;bottom:43px}.plan-scale{left:15px;bottom:58px;font-size:8px}.canvas-hint{bottom:9px;font-size:9px;width:94%;white-space:normal}.inspector.open{position:fixed;inset:auto 0 calc(67px + env(safe-area-inset-bottom));height:min(68dvh,660px);width:100%;border-radius:15px 15px 0 0;border:1px solid #cbd7bd;z-index:30;box-shadow:0 -8px 35px #26331b25}.inspector-handle{display:block;width:35px;height:4px;border-radius:4px;background:#c4cdb8;margin:10px auto 0}.inspector-heading{padding:6px 20px 10px;position:sticky;top:0;background:var(--paper);z-index:1}.inspector-section{padding:21px 25px}.inspector-section .field-pair{gap:20px}.room-list{margin-inline:-25px}.project-detail-page{padding:24px 22px}.calculation-footer{flex-direction:column;gap:28px}.price-summary{width:100%}.calculation-explainer{max-width:100%}.material-table{font-size:11px}.section-heading h2{font-size:25px}.project-workspace>.notice{font-size:10px;flex-wrap:wrap}.settings-layout{padding-top:17px}.settings-nav{gap:8px;overflow-x:auto}.settings-nav>button{flex:0 0 auto;padding:10px;font-size:10px}.settings-nav svg{width:16px}.quote-paper{padding:25px}.quote-company .document-mark{font-size:20px;letter-spacing:2px}.quote-lines-header,.quote-line{grid-template-columns:minmax(90px,1fr) 58px 52px 75px 85px 30px;gap:5px}.quote-bottom{grid-template-columns:1fr 230px;gap:24px}.quote-status-actions{flex-wrap:wrap}.quote-status-actions p{width:100%}.quote-date{display:none}.toast{bottom:calc(83px + env(safe-area-inset-bottom));left:50%;min-width:min(480px,90vw);max-width:90vw;font-size:12px}.auth-page{padding:29px 25px 20px}.auth-layout{gap:5%;margin:45px auto}.auth-art h1{font-size:38px;letter-spacing:-1.6px}.auth-art .eyebrow{font-size:8px}.auth-form h2{font-size:32px}.auth-form>.muted{font-size:12px}.auth-form .form-line{font-size:9px;gap:9px}.auth-form .check-label{gap:5px}}@media(max-width:540px){.page{padding:27px 20px}.page-header{flex-wrap:wrap;align-items:flex-start;gap:19px}.page-header>.button{margin:0}.dashboard .page-header>.button{width:100%}h1{font-size:37px;letter-spacing:-1.6px}.dashboard-stats{padding:22px 0}.dashboard-stats span{font-size:7px;letter-spacing:.6px}.dashboard-stats strong{font-size:26px}.dashboard-stats>div{padding:0 12px}.dashboard-stats small{font-size:10px}.list-toolbar{gap:10px;flex-wrap:wrap;margin-bottom:15px}.search-field{margin-left:auto}.search-field input{width:140px;font-size:10px}.list-filters{gap:17px}.list-filters button{font-size:10px}.list-toolbar .list-filters{gap:15px}.site-row{display:grid;grid-template-columns:96px 1fr;gap:0 17px;padding:21px 0}.site-preview{grid-row:span 2;width:96px;height:115px}.site-preview>svg{padding:7px}.site-info h2{font-size:18px;margin-bottom:5px;line-height:1.25}.site-info>div{margin-bottom:7px}.site-info .badge{font-size:8px;padding:3px 6px}.site-measure{text-align:left;margin:9px 0 0;display:flex;align-items:baseline;gap:10px}.site-measure strong{font-size:16px;letter-spacing:-.5px}.site-measure small{font-size:10px}.site-measure>span{font-size:8px;margin:0}.site-info p{font-size:10px}.welcome-workspace{display:flex;flex-direction:column-reverse;padding-top:8px;gap:27px}.welcome-drawing{min-height:220px}.welcome-copy{max-width:100%}.welcome-copy h2{font-size:37px}.welcome-copy p{max-width:100%}.welcome-copy .button{width:100%}.welcome-copy .text-link{margin:17px auto 0}.welcome-copy .eyebrow{font-size:9px}.workflow-strip{display:flex;flex-direction:column;gap:22px}.workflow-strip svg{display:block}.workflow-strip>div{gap:14px}.workflow-strip strong{font-size:12px}.workflow-strip p{font-size:11px}.project-header{padding-inline:12px}.project-actions .save-status{display:none}.project-identity{flex:1}.title-button h1{font-size:18px}.project-subbar{padding-inline:17px}.project-tabs{gap:8px}.project-tabs button{font-size:9px;gap:5px}.project-tabs svg{width:15px}.project-tabs button:nth-child(3) span{max-width:49px;line-height:1.3;text-align:left;white-space:normal}.floor-picker>svg{display:none}.floor-picker select{max-width:97px;font-size:9px}.floor-picker .icon-button{width:29px;min-width:29px}.floor-picker .icon-button svg{width:15px}.plan-options{padding-inline:9px;gap:0}.plan-options-right>.button{font-size:0;width:36px;min-width:36px;height:42px;padding:0;gap:0;border:0;background:transparent}.plan-options-right>.button svg{width:19px}.plan-options-right>.icon-button{width:34px;min-width:34px}.plan-options-right>.icon-button:last-child{background:#e3ead9;margin-left:4px}.drawing-toolbar{left:50%;transform:translate(-50%);top:11px;white-space:nowrap}.drawing-toolbar .icon-button{width:38px;min-width:38px;height:44px}.toolbar-divider{margin:0 2px}.drawing-toolbar svg{width:18px}.zoom-controls{bottom:43px;right:12px}.zoom-controls .icon-button{min-width:37px;width:37px;height:40px}.plan-scale{bottom:92px;left:14px}.canvas-hint{width:calc(100% - 22px);font-size:8px}.canvas-hint.draw-actions{width:max-content;max-width:96%;bottom:8px}.canvas-hint.draw-actions .button{font-size:10px;padding-inline:10px}.canvas-empty h3{font-size:25px}.canvas-empty p{max-width:235px;margin-inline:auto}.canvas-empty{top:53%}.modal{padding:22px;width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.modal h2{font-size:23px}.field-pair{gap:13px}input,textarea,select,.inspector-section input,.auth-form input{font-size:16px}.input-suffix{font-size:10px}.field>span{font-size:10px}.form-grid{grid-template-columns:1fr;gap:0}.span-two{grid-column:auto}.settings-nav{gap:3px}.settings-nav>button{font-size:9px;padding:8px 7px;gap:6px}.settings-nav svg{width:14px}.quote-row{display:grid;grid-template-columns:28px 1fr auto;gap:12px;padding:21px 0}.quote-row>div{grid-column:2 / 4}.quote-row>.badge{grid-column:2;grid-row:2}.quote-row>strong{grid-column:3;grid-row:2}.quote-row>svg:last-child{display:none}.quote-row>div strong{font-size:17px}.quote-editor-page{padding-inline:16px}.quote-editor-title h1{font-size:28px}.quote-editor-page .page-header>.inline-actions{width:100%;justify-content:stretch}.quote-editor-page .page-header .button{flex:1}.quote-paper{padding:22px 17px}.quote-company{flex-direction:column-reverse;gap:22px}.quote-company .document-mark{font-size:14px}.quote-company strong{font-size:19px}.quote-lines-header{display:none}.quote-line{grid-template-columns:repeat(3,1fr) 32px;gap:12px 9px;padding:20px 0}.quote-line>label:first-child{grid-column:span 4}.mobile-label,.quote-line .field>span{display:block;font-size:9px;color:#8a957b;margin-bottom:7px}.quote-line .field:nth-child(2){grid-column:1}.quote-line .field:nth-child(3){grid-column:2}.quote-line .field:nth-child(4){grid-column:3 / 5}.quote-line input,.quote-line textarea{font-size:16px}.line-total{grid-column:span 3;text-align:left;font-size:15px}.line-total:before{content:"Position gesamt ";font-size:10px;font-weight:400;color:#8d997e;margin-right:10px}.quote-line>.icon-button{grid-column:4}.quote-bottom{display:flex;flex-direction:column;gap:17px}.quote-status-actions .button{flex:1}.notice{flex-wrap:wrap;font-size:11px;padding:13px;gap:10px}.notice>span{min-width:70%}.notice>.button{margin-left:25px}.notice .inline-actions{flex-wrap:wrap}.notice .button{font-size:10px}.platform-page .dashboard-stats{grid-template-columns:repeat(2,1fr);gap:20px 0}.platform-page .dashboard-stats>div{padding:0 18px}.platform-page .dashboard-stats>div:nth-child(3){padding-left:0}.platform-page .dashboard-stats>div:nth-child(2){border:0}.owner-label{font-size:10px}.auth-layout{display:block;max-width:370px;margin:55px auto}.auth-art{display:none}.auth-form{max-width:none}.auth-form h2{font-size:39px}.auth-form .form-line{font-size:10px}.auth-switch{font-size:12px}.auth-page{padding:30px 26px 22px}.auth-footer{font-size:9px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}@media(max-width:760px){.drawing-toolbar{max-width:calc(100% - 22px);overflow-x:auto}.drawing-toolbar .icon-button,.plan-options-right>.icon-button,.floor-picker .icon-button,.plan-options-right>.button,.project-identity>.icon-button,.zoom-controls .icon-button{min-width:44px;width:44px;min-height:44px}.swatch-picker .room-swatch{height:44px}.inspector.open{position:fixed}}@media(min-width:761px)and (max-width:1050px)and (min-height:501px){.inspector.open{position:fixed;inset:auto 0 0 auto;width:min(580px,calc(100vw - 186px));height:min(62dvh,620px);border:1px solid #cbd7bd;border-radius:15px 15px 0 0;z-index:30;box-shadow:0 -8px 35px #26331b25}.inspector-heading{position:sticky;top:0;background:var(--paper);z-index:1}.inspector-section input{font-size:16px}}@media(max-width:360px){.floor-picker select{max-width:72px}.plan-options{padding-inline:6px}}@media(max-width:1050px){.drawing-toolbar{right:17px;width:max-content;max-width:calc(100% - 34px)}.drawing-tool{min-width:50px}}@media(max-width:700px){.drawing-toolbar{left:12px;right:12px;top:12px;width:auto;max-width:none;transform:none;display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}.drawing-tool{min-width:0;min-height:52px;padding:5px 1px;font-size:9px;gap:6px}.snap-control{left:12px;bottom:44px;gap:3px}.snap-control span{max-width:70px;font-size:9px}.zoom-controls .icon-button{min-width:44px;width:44px;height:44px}.zoom-controls span{width:30px}.canvas-hint.draw-actions{flex-wrap:wrap;white-space:normal}.canvas-hint.draw-actions .icon-button{min-width:44px;height:44px}.opening-editor input,.opening-editor select{font-size:16px}}@media(max-width:360px){.drawing-tool{font-size:8px}.snap-control span{max-width:53px}}@media(max-height:500px)and (orientation:landscape){.has-planner{padding:0}.has-planner>.sidebar,.has-planner>.mobile-header,.has-planner>.mobile-nav{display:none}.has-planner .project-workspace{height:100dvh}.has-planner .project-header{min-height:54px;padding:5px 16px}.has-planner .breadcrumb{display:none}.has-planner .project-subbar{min-height:44px;padding-inline:16px}.has-planner .project-tabs button{padding-block:10px}.has-planner .plan-options{min-height:50px;padding:3px 16px}.drawing-toolbar{top:12px;left:12px;right:auto;transform:none;width:120px;max-width:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;padding:4px}.drawing-tool{min-width:0;min-height:44px;padding:4px 1px;font-size:9px;gap:3px}.snap-control{left:12px;bottom:12px}.snap-control span{max-width:70px;font-size:9px}.zoom-controls{right:12px;bottom:12px}.canvas-hint:not(.draw-actions):not(.selection-actions){display:none}.inspector.open{position:fixed;inset:0 0 0 auto;height:100dvh;width:280px;z-index:30;border-radius:0}}.drawing-tool>span{display:inline-flex;align-items:center;gap:2px}.shape-menu{position:absolute;z-index:8;top:88px;left:22px;width:290px;max-width:calc(100% - 44px);max-height:calc(100% - 110px);overflow-y:auto;padding:7px;border:1px solid var(--line);border-radius:8px;background:#fffefb;box-shadow:0 8px 26px #3743281a}.shape-menu button{display:flex;align-items:center;gap:12px;width:100%;min-height:46px;padding:9px 12px;border:0;background:transparent;color:var(--ink);text-align:left;font-size:12px}.shape-menu button:nth-child(3),.shape-menu button:nth-child(5){border-top:1px solid var(--line)}.shape-menu button:hover:not(:disabled),.shape-menu button:focus-visible{background:#edf1e5}.shape-menu button:disabled{opacity:.4;cursor:default}.shape-menu p{margin:7px 12px;color:var(--muted);font-size:10px;line-height:1.5}.canvas-hint.selection-actions{pointer-events:auto;color:var(--ink);background:#fffefb;border:1px solid var(--line);padding:5px 8px 5px 14px;width:max-content;max-width:calc(100% - 24px);box-shadow:0 3px 12px #3743280d}.selection-actions .icon-button{width:44px;min-width:44px;min-height:44px}.selection-actions .button{min-height:44px}.wall-delete-button.icon-button{position:absolute;transform:translate(-50%,-50%);width:44px;height:44px;min-width:44px;border-radius:50%;background:#fffaf6;box-shadow:0 2px 8px #37432818}.wall-delete-button svg{width:17px;height:17px}.wall-removal-preview{display:block;width:100%;height:180px;margin:16px 0;background:var(--paper);border:1px solid var(--line);border-radius:6px}.room-service-picker{margin:16px 0 12px}.room-service-picker select{width:100%;min-width:0;text-overflow:ellipsis}.room-service-list{display:grid;gap:12px}.room-service{min-width:0;border:1px solid var(--line);border-radius:6px;padding:10px 12px;background:#fffefb}.room-service-heading{display:flex;align-items:center;gap:8px;margin:-4px -6px 8px 0}.room-service-heading>strong{flex:1;min-width:0;font-size:13px;overflow-wrap:anywhere}.room-service-heading .icon-button{width:44px;min-width:44px;height:44px}.room-service-heading .icon-button svg{width:16px;height:16px}.room-service .field{margin-bottom:8px}.room-service .field>span{overflow-wrap:anywhere}.room-service-quantity{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;font-size:11px}.room-service-quantity small{display:block;margin-top:4px;color:var(--muted);font-size:10px}.room-service-quantity>strong{font-size:14px;white-space:nowrap}.room-service-price{font-size:11px;line-height:1.6;margin:10px 0 4px;color:var(--muted)}.room-service-price strong{color:var(--ink)}.room-service-materials{border-top:1px solid var(--line);margin-top:8px}.room-service-materials summary{display:flex;align-items:center;gap:7px;min-height:44px;font-size:11px;cursor:pointer;list-style:none}.room-service-materials summary::-webkit-details-marker{display:none}.room-service-materials summary span{flex:1;min-width:0}.room-service-materials summary svg{flex:none}.room-service-materials[open] summary{font-weight:600}.room-service-materials[open] summary>svg:last-child{transform:rotate(180deg)}.room-service-materials ul{margin:0;padding:0;list-style:none}.room-service-materials li{padding:8px 0;border-top:1px solid var(--line);overflow-wrap:anywhere}.room-service-materials li strong,.room-service-materials li span{display:block;font-size:10px;line-height:1.7}.room-service-materials li span{color:var(--muted)}.has-canvas-actions .snap-control,.has-canvas-actions .zoom-controls{bottom:82px}@media(pointer:coarse),(max-width:700px){.plan-editor input{font-size:16px}}@media(max-width:700px){.shape-menu{top:80px;left:12px;max-width:calc(100% - 24px);max-height:calc(100% - 98px)}.selection-actions{gap:4px;font-size:11px}.selection-actions .button{padding-inline:9px;font-size:11px}}@media(max-height:500px)and (orientation:landscape){.shape-menu{top:12px;left:142px;max-width:calc(100% - 154px);max-height:calc(100% - 24px)}.has-canvas-actions .snap-control,.has-canvas-actions .zoom-controls{bottom:12px}.canvas-hint.selection-actions,.canvas-hint.draw-actions{bottom:8px;left:145px;transform:none;max-width:calc(100% - 328px);font-size:10px;gap:4px;padding:3px 5px}.selection-actions .button{font-size:10px;padding-inline:7px}}.page-actionbar{display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:0;z-index:25;background:var(--paper);padding-block:12px;border-bottom:1px solid var(--line)}.settings-page .page-header{margin-bottom:14px}.settings-actionbar{margin-bottom:24px}.settings-actionbar>.button{margin-left:auto}.edit-save-state{display:inline-flex;align-items:center;gap:7px;color:#596b4e;font-size:12px}.edit-save-state.unsaved{color:#985137}.settings-layout{grid-template-columns:175px minmax(0,1fr);gap:28px;border-top:0;padding-top:0}.settings-nav{position:sticky;top:92px}.settings-nav>button{font-size:12px;color:#5e6f52}.quote-workspace .quote-toolbar{margin-bottom:14px}.page.quote-workspace{padding-inline:clamp(20px,4.2vw,68px)}.quote-viewbar{margin-bottom:12px}.quote-view-switch button{padding-block:7px}.quote-create-actions{justify-content:flex-end}.quote-toolbar-actions,.quote-create-actions{min-width:0}.quote-position-actions .icon-button.danger{color:#963927;background:#fbefea;border-color:#ddb3a6}.quote-row{overflow-wrap:anywhere}.quote-row>strong{max-width:100%}.modal .modal-actions,.modal .form-line{flex-wrap:wrap;justify-content:flex-end}.modal .modal-actions .button,.modal .form-line .button{max-width:100%;white-space:normal}.service-catalogue .field>span{font-size:12px}@media(max-width:1050px){.settings-layout{grid-template-columns:minmax(0,1fr);gap:24px}.settings-nav{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.project-header{flex-wrap:wrap}.project-header .project-identity{min-width:0}.project-actions{margin-left:auto;gap:10px}}@media(max-width:760px){.page-actionbar{top:58px}.mobile-nav{width:auto;max-width:100%}.mobile-nav button{flex:1 1 0;min-width:0}.page,.page.quote-workspace{padding-inline:20px}.settings-nav{display:grid;gap:6px;overflow:visible}.settings-nav>button{flex:1 1 auto;font-size:12px;padding:10px;gap:6px}.settings-nav svg{width:17px}.project-header .project-actions{width:100%;margin-left:0;justify-content:flex-end;flex-wrap:wrap}.project-actions .save-status{display:none}.project-header .project-actions .button{width:auto;min-height:44px;padding:10px 12px;font-size:12px;gap:7px}.project-header .project-actions .button:last-child{margin-left:auto}.project-header .project-identity{flex:1 1 100%}.project-header .project-identity>.icon-button{min-width:44px;width:44px}.project-header .title-button{min-height:44px}.service-catalogue input,.service-catalogue select,.settings-content input,.settings-content select,.settings-content textarea{font-size:16px}}@media(max-width:580px){.quotes-page .page-header{flex-wrap:wrap}.quote-create-actions{width:100%;flex-direction:column-reverse;align-items:stretch;gap:8px}.quotes-page .list-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border:0}.quotes-page .list-filters button{justify-content:space-between;padding:9px 12px;border:1px solid #d6ddcd;border-radius:5px;font-size:12px;color:#637458}.quotes-page .list-filters button.active{background:#e6ecdd;border-color:#8f9f80;color:#374e2b}.quote-row{grid-template-columns:22px minmax(0,1fr) minmax(0,auto);gap:10px}.quote-row>strong{font-size:15px;white-space:normal;overflow-wrap:anywhere;text-align:right}.quote-workspace .quote-toolbar{gap:10px}.quote-workspace .quote-editor-title{gap:8px}.quote-workspace .quote-editor-title h1{font-size:21px}.quote-editor-title .eyebrow{display:none}.quote-toolbar-actions{width:100%}.quote-toolbar-actions .button{flex:1;padding-inline:10px}.quote-viewbar{gap:9px}.quote-save-state{font-size:12px}.quote-paper-guide{margin-bottom:10px}.settings-layout{gap:20px}.settings-nav>button:last-child{flex-basis:100%}.settings-nav>button{justify-content:center}.catalogue-material-body .service-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.catalogue-material-body .service-fields .field>span{min-height:36px}.settings-actionbar .button{padding-inline:13px}.notice{flex-wrap:wrap}.notice>span{min-width:0;overflow-wrap:anywhere}}@media(max-width:580px){.settings-page .page-header .eyebrow{display:none}.settings-page .page-header h1{font-size:30px;margin-bottom:7px}.settings-page .page-header p{font-size:12px}.settings-page .settings-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.settings-page .settings-nav>button{flex-direction:column;white-space:normal;text-align:center;line-height:1.35;padding:8px 4px;font-size:11px}.service-catalogue .catalogue-heading,.service-catalogue .catalogue-help,.service-catalogue .catalogue-search{margin-bottom:12px}}.price-issues{list-style:none;margin:0 0 24px;padding:0;border-top:1px solid var(--line)}.price-issues li{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}.zero-price-choice{display:flex;align-items:flex-start;gap:10px;margin:12px 0;font-size:13px;line-height:1.5}.zero-price-choice input{flex:0 0 auto;margin-top:3px}.record-pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:16px 0}.record-pagination span{font-size:12px;text-align:center}@media(max-width:600px){.price-issues li{align-items:flex-start;flex-direction:column;gap:8px}.settings-actionbar .inline-actions{justify-content:flex-end;flex-wrap:wrap}.settings-actionbar .button{font-size:12px;padding:9px 10px}}.record-picker{margin:16px 0}.record-picker-options{display:flex;flex-direction:column;gap:6px;max-height:190px;overflow-y:auto}.record-picker-options .button{justify-content:flex-start;text-align:left}.record-picker-options [aria-pressed=true]{border-color:var(--olive);background:#eff2e9}.record-picker-selected{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px}.searchable-picker>label{display:block;color:#656e5b;font-size:11px;font-weight:550;margin-bottom:7px}.searchable-picker-control{position:relative}.searchable-picker-control input{padding-right:48px;text-overflow:ellipsis}.searchable-picker-control:has(.picker-clear) input{padding-right:88px}.searchable-picker-controls{position:absolute;inset:1px 1px 1px auto;display:flex}.searchable-picker-controls button{display:grid;place-items:center;width:42px;min-height:44px;padding:0;background:transparent;border:0;color:var(--muted);cursor:pointer}.searchable-picker-controls button:hover{color:var(--ink)}.searchable-picker-menu{position:fixed;z-index:10;overflow-y:auto;overscroll-behavior:contain;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:5px;box-shadow:0 8px 24px #15201020}.searchable-picker-menu ul{list-style:none;padding:4px;margin:0}.searchable-picker-menu li{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;padding:10px 12px;border-radius:3px;cursor:pointer}.searchable-picker-menu li>div{min-width:0}.searchable-picker-menu li strong{display:block;font-size:14px;font-weight:500;overflow-wrap:anywhere}.searchable-picker-menu li small{display:block;margin-top:4px;color:var(--muted);font-size:11px;overflow-wrap:anywhere}.searchable-picker-menu li>svg{flex:none}.searchable-picker-menu li:hover,.searchable-picker-menu li[data-active=true],.searchable-picker-menu li[aria-selected=true]{background:#eff2e9}.searchable-picker-menu>p,.searchable-picker-menu>.notice{margin:8px 12px;font-size:12px}.searchable-picker-menu .record-pagination{margin:0;padding:8px;border-top:1px solid var(--line);gap:6px;font-size:11px}.searchable-picker-menu .record-pagination .button{padding:8px;min-height:44px;font-size:11px}.searchable-picker-menu>.button{margin:8px}.picker-search-row{align-items:flex-end}.picker-search-row>.searchable-picker{flex:1;min-width:0;margin:0}.setup-checklist{padding:20px 0;margin-bottom:24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.setup-checklist h2{margin-bottom:8px;font-size:22px}.setup-checklist ol{display:flex;flex-wrap:wrap;gap:12px 28px;padding-left:20px}.setup-checklist li>span{display:inline-flex;align-items:center;gap:6px;font-size:13px}.costs-page{max-width:1240px;margin-inline:auto;width:100%}.costs-heading,.costs-section>header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.costs-heading h2{font-size:28px;margin-bottom:6px}.costs-heading p,.costs-section>header p{margin:0}.costs-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;border-block:1px solid var(--line);padding:24px 0;margin:24px 0 12px}.costs-totals dt{font-size:12px;color:var(--muted);margin-bottom:8px}.costs-totals dd{margin:0;font-size:clamp(19px,2.2vw,30px);font-weight:600;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.costs-over-budget{color:#a03f2b}.costs-basis{font-size:12px;font-weight:600}.costs-missing,.costs-budget-hint{border-left:3px solid var(--accent);padding:12px 16px;background:#f5eee6;font-size:13px;margin-block:18px}.costs-missing ul{margin:8px 0 0;padding-left:18px}.costs-missing li{margin-block:4px}.costs-missing .text-link{min-height:32px;text-align:left}.costs-breakdown{border-collapse:collapse;width:100%;table-layout:fixed;margin:24px 0 12px;font-size:14px}.costs-breakdown td,.costs-breakdown th{padding:11px 0 11px 12px;text-align:right;border-bottom:1px solid var(--line);overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.costs-breakdown th:first-child{text-align:left;padding-left:0}.costs-breakdown thead th{color:var(--muted);font-size:12px;font-weight:500}.costs-section{margin-top:36px}.costs-section h3{font-size:20px;margin-bottom:6px}.costs-section>header p{font-size:12px;color:var(--muted)}.costs-person,.costs-expense{border-top:1px solid var(--line)}.costs-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(110px,auto) 170px;align-items:center;gap:14px;padding:16px 0}.costs-row>div{min-width:0}.costs-row>div>strong{display:block;font-size:14px;margin-bottom:4px;overflow-wrap:anywhere}.costs-row>div>span{display:block;color:var(--muted);font-size:12px;overflow-wrap:anywhere}.costs-row>strong{text-align:right;font-size:15px;overflow-wrap:anywhere}.costs-row small{display:block;font-size:11px;font-weight:400;color:var(--muted);margin-top:4px}.costs-row>.button{justify-self:end}.costs-incomplete{color:#9a492e}.costs-rates{font-size:12px;margin-bottom:12px}.costs-rates summary,.costs-receipts summary{min-height:44px;padding-block:12px;cursor:pointer}.costs-rates>div{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:520px;padding-block:8px;border-top:1px solid var(--line)}.costs-rates small{display:block;font-size:13px;font-weight:600}.costs-modal{width:min(570px,calc(100vw - 32px))}.costs-modal fieldset{border:0;padding:0;margin:0;min-width:0}.costs-modal .field{margin-top:16px}.costs-modal .input-wrap input{font-size:18px}.costs-import{padding-block:12px;border-block:1px solid var(--line)}.costs-import p{margin-bottom:0}.costs-delete{margin-right:auto}.costs-remove p{font-size:13px;margin-top:0}.costs-receipts{font-size:13px;margin-top:16px;border-top:1px solid var(--line)}.costs-receipts .button{max-width:100%;white-space:normal;overflow-wrap:anywhere;margin-block:4px}@media(max-width:760px){.costs-heading,.costs-section>header{flex-wrap:wrap;gap:12px}.costs-heading>.inline-actions{width:100%;justify-content:flex-end}.costs-totals{gap:14px;grid-template-columns:repeat(2,minmax(0,1fr));padding-block:18px}.costs-totals>div:last-child{grid-column:1 / -1;display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding-top:14px;border-top:1px solid var(--line)}.costs-totals>div:last-child dd{text-align:right}.costs-row{grid-template-columns:minmax(0,1fr) minmax(90px,auto);gap:10px}.costs-row>.button{grid-column:1 / -1;padding-block:8px}.costs-breakdown{font-size:12px}.costs-modal .field input,.costs-modal .field select{font-size:16px}}.customer-list{border-top:1px solid var(--line)}.customer-row{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 0;border-bottom:1px solid var(--line)}.customer-row>div{min-width:0}.customer-row strong{display:block;font-size:16px;overflow-wrap:anywhere}.customer-row p{margin:5px 0;font-size:13px;color:var(--muted);overflow-wrap:anywhere}.customer-row>.button{flex:none}.customer-contacts{display:flex;flex-wrap:wrap;gap:4px 18px;font-size:12px;color:var(--muted);overflow-wrap:anywhere}.customer-picker{margin:10px 0 16px}.customer-modal,.customer-picker-modal{width:620px}.customer-modal fieldset>.field{margin-bottom:12px}.customer-details{margin:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.customer-details>summary{padding:14px 0;font-size:13px;font-weight:600;cursor:pointer}.customer-details>summary small{display:block;margin:6px 0 0;font-weight:400;color:var(--muted);overflow-wrap:anywhere}.customer-details[open]{padding-bottom:18px}.customer-details[open]>summary{color:var(--ink)}.customer-address-fields{margin-top:10px}.customer-picker-results{display:grid;gap:0}.customer-picker-results>button{display:flex;flex-direction:column;gap:5px;width:100%;min-height:64px;text-align:left;background:transparent;border:0;border-bottom:1px solid var(--line);padding:14px 8px;color:var(--ink);cursor:pointer;overflow-wrap:anywhere}.customer-picker-results>button:hover,.customer-picker-results>button:focus-visible{background:var(--sage-light, #e4e8df)}.customer-picker-results>button span{color:var(--muted);font-size:12px}.customer-picker-results>button:disabled{opacity:.55;cursor:wait}.customer-remove{margin-right:auto}@media(max-width:640px){.customer-row{gap:12px;align-items:flex-start;padding:14px 0}.customer-row>.button{font-size:11px;padding-inline:9px;min-height:44px}.customer-row strong{font-size:15px}.customer-contacts{flex-direction:column}.customer-modal .field input,.customer-modal .field select,.customer-picker-modal input{font-size:16px}.mobile-nav span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
