.auth-brand img[src^="/brand/"]{width:64px;height:64px;flex:0 0 64px;object-fit:contain;background:#fff;border-radius:6px}.auth-card .auth-brand span{font-size:10px;line-height:1.7}.top-bar-logo{display:flex;align-items:center;gap:10px}.top-bar-logo img[src^="/brand/"]{width:40px;height:40px;object-fit:contain;background:#fff;border-radius:4px}.top-bar-logo span{color:var(--text-main);font-size:13px;font-weight:600;white-space:nowrap}html .classic-sales-document .classic-company img{width:64px;height:64px;max-height:64px;object-fit:contain}html .preview-page>.printed-page-header img{width:.55in;height:.55in;object-fit:contain}:where(.app-shell) .customer-detail-page,:where(.app-shell) .jobs-page,:where(.app-shell) .record-editor-page{gap:12px}:where(.app-shell) .jobs-header,:where(.app-shell) .record-editor-header{min-width:0;gap:16px;padding:14px 18px;border-radius:6px}:where(.app-shell) .jobs-header>div,:where(.app-shell) .record-editor-header>div{min-width:0}:where(.app-shell) .jobs-header h1,:where(.app-shell) .record-editor-header h1{line-height:1.2;overflow-wrap:anywhere}:where(.app-shell) .jobs-header p,:where(.app-shell) .record-editor-header p{margin:5px 0 0;line-height:1.45}:where(.app-shell) .record-editor-form{gap:10px}:where(.app-shell) .form-section{border-radius:6px}:where(.app-shell) .form-section-header{min-height:0;align-items:flex-start;gap:6px 16px;padding:13px 17px 11px;background:transparent}:where(.app-shell) .form-section-header:has(>p){flex-direction:column}:where(.app-shell) .form-section-header>div{min-width:0}:where(.app-shell) .form-section-header h2{font-size:14px;line-height:1.3}:where(.app-shell) .form-section-header p{max-width:72ch;margin:4px 0 0;color:var(--text-muted);font-size:11px;line-height:1.5}:where(.app-shell) .form-section-body{padding:16px 17px}:where(.app-shell) .form-grid{gap:11px 13px}:where(.app-shell) .form-field{gap:5px}:where(.app-shell) .form-field>span{color:var(--text-secondary);font-size:10px;font-weight:600;line-height:1.35;letter-spacing:.025em}:where(.app-shell) .form-field small{color:var(--text-muted);font-size:10px;line-height:1.45}:where(.app-shell) .form-control,:where(.app-shell) .generated-value{min-height:34px;border-radius:4px}:where(.app-shell) textarea.form-control{min-height:72px;padding-block:8px;line-height:1.45}:where(.app-shell) .form-control:focus-visible{border-color:var(--accent);outline:2px solid color-mix(in srgb,var(--accent) 22%,transparent);outline-offset:1px}:where(.app-shell) .record-editor-actions{gap:10px;padding:11px 15px;border-radius:6px}:where(.app-shell) .primary-button,:where(.app-shell) .secondary-button{border-radius:4px}:where(.app-shell) .customer-table-panel,:where(.app-shell) .jobs-table-wrapper{border-radius:6px}:where(.app-shell) .customer-table td,:where(.app-shell) .customer-table th{padding:10px 12px;line-height:1.4;vertical-align:middle}:where(.app-shell) .customer-table td small{display:block;margin-top:4px;line-height:1.4}@media (max-width:700px){:where(.app-shell) .jobs-header,:where(.app-shell) .record-editor-header{align-items:flex-start;flex-wrap:wrap;padding:13px 15px}:where(.app-shell) .form-section-header{padding:12px 14px 10px}:where(.app-shell) .form-section-body{padding:14px}:where(.app-shell) .record-editor-actions{flex-wrap:wrap}}.spec-product-photo{grid-row:1;width:92px;height:72px;object-fit:contain;border:1px solid var(--border);border-radius:5px;background:var(--bg-panel)}.spec-product:has(>.spec-product-photo){grid-template-columns:92px minmax(0,1fr) auto 118px}.spec-product:has(>.spec-product-photo) .spec-option-panel{grid-column:1/-1}.spec-dimensions{display:block;margin-top:6px;color:var(--text-secondary)!important}.spec-product-gallery{margin-top:6px}.spec-product-gallery summary{width:max-content;color:var(--accent);font-size:10px;cursor:pointer}.spec-product-gallery>div{display:flex;flex-wrap:wrap;gap:7px;padding-top:8px}.spec-product-gallery img{width:140px;height:100px;object-fit:contain;border:1px solid var(--border);border-radius:4px;background:var(--bg-panel)}.spec-option-panel{grid-column:1/-1;margin-top:6px;border:1px solid var(--border);border-radius:5px;overflow:hidden;background:var(--bg-panel)}.spec-option-tabs{display:flex;align-items:center;flex-wrap:wrap;gap:3px;padding:6px 9px 0;border-bottom:1px solid var(--border)}.spec-option-tabs>span{margin-right:8px;color:var(--text-muted);font-size:9px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.spec-option-tabs button{padding:7px 10px;border:0;border-bottom:2px solid transparent;color:var(--text-muted);background:transparent;font-size:10px;cursor:pointer}.spec-option-tabs button.active{border-bottom-color:var(--accent);color:var(--text-main)}.spec-subitems{display:grid;gap:8px;padding:12px}.spec-subitems>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.spec-subitems>div:first-child strong{font-size:11px}.spec-subitems>div:first-child small{color:var(--text-muted);font-size:9px}.spec-subitem-row{display:flex;align-items:center;gap:10px;padding:9px 10px;background:var(--bg-panel-alt);border:1px solid var(--border);border-radius:4px}.spec-subitem-row label{display:flex;align-items:center;flex:1;gap:9px;min-width:0;cursor:pointer}.spec-subitem-row label>span{display:grid;gap:3px;min-width:0}.spec-subitem-row b{font-size:10px}.spec-subitem-row small{color:var(--text-muted);font-size:9px}.spec-subitem-row img{width:52px;height:42px;object-fit:contain;border-radius:3px}.spec-subitem-row .spec-subitem-quantity{width:62px;min-height:30px;text-align:center}.spec-subitem-row em{min-width:70px;text-align:right;font-size:10px;font-style:normal}.spec-admin-product-page{gap:10px}.spec-admin-product-page .spec-product-tabs{margin:0}.spec-admin-product-page .form-section{border-radius:6px}.spec-admin-product-page .form-section-header{align-items:flex-start;flex-direction:column;gap:4px}.spec-admin-product-page .form-section-header,.spec-admin-product-page .spec-editor-two-column .form-section-header,.spec-admin-product-page .spec-product-tabs+.form-section .form-section-header{min-height:0;padding:12px 16px 10px;background:transparent}.spec-admin-product-page .form-section-header h2{font-size:13px}.spec-admin-product-page .form-section-header p{margin:0;font-size:10px;line-height:1.45}.spec-admin-product-page .form-section-body,.spec-admin-product-page .spec-editor-two-column .form-section-body,.spec-admin-product-page .spec-product-tabs+.form-section .form-section-body{padding:14px 16px}.spec-admin-product-page .form-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 12px;align-items:end}.spec-admin-product-page .form-field{gap:4px}.spec-admin-product-page .form-control{min-height:34px}.spec-admin-product-page .form-grid>.primary-button{align-self:end;justify-self:start;min-height:34px;width:auto;padding-inline:14px}.spec-admin-product-page .spec-editor-two-column{align-items:start}.spec-admin-product-page .spec-admin-rule{gap:14px;padding-block:11px}.spec-admin-product-page .spec-admin-rule>span{min-width:0;display:grid;gap:4px;overflow-wrap:anywhere}.spec-admin-product-page .spec-admin-rule small{color:var(--text-muted);font-size:10px;line-height:1.4}.spec-photo-upload{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto;align-items:end;gap:12px}.spec-photo-upload .primary-button{min-height:34px}.spec-admin-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;padding:0 16px 16px}.spec-admin-photo-grid article{display:grid;gap:8px;padding:10px;background:var(--bg-panel-alt);border:1px solid var(--border);border-radius:5px}.spec-admin-photo-grid img{width:100%;height:150px;object-fit:contain;background:var(--bg-panel)}.spec-admin-photo-grid span{min-width:0;overflow-wrap:anywhere;color:var(--text-secondary);font-size:10px}.spec-admin-photo-grid .secondary-button{width:100%}@media(max-width:1050px){.spec-admin-product-page .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.spec-photo-upload{grid-template-columns:1fr 1fr}}@media(max-width:700px){.spec-product:has(>.spec-product-photo){grid-template-columns:72px minmax(0,1fr)}.spec-product-photo{width:72px;height:64px}.spec-admin-product-page .form-grid,.spec-photo-upload{grid-template-columns:1fr}.spec-admin-product-page .form-field-wide{grid-column:auto}.spec-subitem-row{flex-wrap:wrap}}.spec-selected-child{margin-left:14px;padding-left:12px;border-left:2px solid var(--accent);background:var(--bg-panel-alt)}.spec-selected-child>div>strong:before{content:"↳ ";color:var(--accent)}.spec-review{display:grid;gap:14px;padding:16px;border:1px solid var(--accent);border-radius:6px;background:var(--bg-panel)}.spec-review-heading{display:flex;justify-content:space-between;align-items:start;gap:14px}.spec-review-heading h2{margin:0;font-size:15px}.spec-review-actions small,.spec-review-heading p{margin:4px 0 0;color:var(--text-muted);font-size:10px}.spec-review-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.spec-review-grid>div{display:grid;gap:5px;padding:11px;border:1px solid var(--border);border-radius:4px;background:var(--bg-panel-alt)}.spec-review-grid strong{color:var(--text-muted);font-size:9px;text-transform:uppercase}.spec-review-grid span{font-size:12px}.spec-review-block{padding:11px 13px;border:1px solid var(--border);border-radius:4px;font-size:11px}.spec-review-error{border-color:#b95656}.spec-review-block ul{margin:7px 0 0;padding-left:18px;line-height:1.6}.spec-review-clear{margin:0;color:var(--text-muted);font-size:11px}.spec-review-actions{display:flex;align-items:center;gap:12px}@media(max-width:900px){.spec-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.spec-review-grid{grid-template-columns:1fr}.spec-review-actions,.spec-review-heading{flex-direction:column;align-items:stretch}}.spec-search-category{display:block;width:fit-content;margin-bottom:4px;padding:3px 6px;border:1px solid var(--border);border-radius:3px;color:var(--accent)!important;font-weight:700}.spec-draft-saved{padding:10px 13px;border:1px solid var(--accent);border-radius:5px;background:var(--bg-panel);color:var(--text-main);font-size:11px}.spec-admin-photo-grid .spec-photo-controls{display:grid;grid-template-columns:1fr 36px 36px;gap:5px}.spec-admin-photo-grid .spec-photo-controls .secondary-button{min-width:0;padding-inline:5px}.spec-admin-photo-grid button:disabled{opacity:.45;cursor:default}.spec-product:has(>.spec-photo-placeholder),.spec-product:has(>.spec-photo-trigger){grid-template-columns:92px minmax(0,1fr) auto 118px}.spec-product:has(>.spec-photo-placeholder) .spec-option-panel,.spec-product:has(>.spec-photo-trigger) .spec-option-panel{grid-column:1/-1}.spec-photo-trigger,.spec-subitem-photo-button{padding:0;border:0;background:transparent;cursor:zoom-in}.spec-photo-placeholder{display:grid;place-items:center;color:var(--text-muted);font-size:10px;text-align:center}.spec-gallery-open{margin-top:6px;padding:0;border:0;background:transparent;color:var(--accent);font-size:10px;cursor:pointer}.spec-subitem-no-photo{color:var(--text-muted);font-size:9px;white-space:nowrap}.spec-photo-overlay{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px;background:rgba(0,0,0,.78)}.spec-photo-dialog{width:min(100%,1040px);max-height:calc(100vh - 40px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:10px;padding:14px;border:1px solid var(--border);border-radius:7px;background:var(--bg-panel)}.spec-photo-dialog>img{max-width:100%;max-height:calc(100vh - 170px);width:100%;height:auto;object-fit:contain}.spec-photo-dialog-footer,.spec-photo-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.spec-photo-dialog-header strong{font-size:13px}.spec-photo-dialog-header button{border:0;background:transparent;color:var(--text-main);font-size:25px;cursor:pointer}.spec-photo-dialog-footer span{color:var(--text-muted);font-size:11px}.spec-review-jump{padding:0;border:0;background:transparent;color:var(--text-main);text-align:left;font:inherit;cursor:pointer}.spec-review-jump span{color:var(--accent);white-space:nowrap}.spec-review-jump:hover span{text-decoration:underline}.spec-product:focus{outline:2px solid var(--accent);outline-offset:2px}@media(max-width:700px){.spec-product:has(>.spec-photo-placeholder),.spec-product:has(>.spec-photo-trigger){grid-template-columns:72px minmax(0,1fr)}.spec-photo-placeholder{width:72px;height:64px}}.job-build-plan{display:grid;gap:14px}.job-build-plan .customer-tab-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}.build-plan-alert,.build-plan-spec{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:13px 15px;border:1px solid var(--border);border-radius:5px;background:var(--bg-panel);font-size:11px}.build-plan-alert strong,.build-plan-spec strong{color:var(--text-main)}.build-plan-alert span,.build-plan-spec span{color:var(--text-muted)}.build-plan-alert{border-color:#9e7236}.build-plan-alert .secondary-button{margin-left:auto}.build-plan-group .form-section-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.build-plan-group .form-section-header h2{margin:0;font-size:14px}.build-plan-group .form-section-header p{margin:4px 0 0;color:var(--text-muted);font-size:10px}.build-plan-group-count{white-space:nowrap;color:var(--text-muted);font-size:10px}.build-plan-fitment{margin:10px 15px 0;padding:10px 12px;border:1px solid #a77945;border-radius:4px;color:#e6bd81;font-size:10px;line-height:1.45}.build-plan-group-progress{display:flex;flex-wrap:wrap;gap:8px;padding:12px 15px;border-bottom:1px solid var(--border)}.build-plan-group-progress span{display:flex;gap:5px;padding:7px 9px;border:1px solid var(--border);border-radius:4px;color:var(--text-muted);font-size:10px}.build-plan-group-progress strong{color:var(--text-main)}.build-plan-status{display:inline-block;padding:4px 7px;border:1px solid var(--border);border-radius:4px;color:var(--text-muted);font-size:9px;white-space:nowrap}.build-plan-status.installed,.build-plan-status.ready-to-install{border-color:#4a8a64;color:#75c596}.build-plan-status.shortage{border-color:#ae7250;color:#eca37b}.build-plan-status.on-order{border-color:#a58a50;color:#e4c478}.build-plan-relation{color:var(--accent)!important}.build-plan-assign{min-width:145px}.build-plan-assign summary{color:var(--accent);font-size:10px;cursor:pointer}.build-plan-assign form{display:grid;gap:8px;padding:10px 0}.build-plan-assign label{display:grid;gap:4px;color:var(--text-muted);font-size:9px}.build-plan-assign small{color:var(--text-muted);font-size:9px;line-height:1.4}.build-plan-forms{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:11px 15px;border-top:1px solid var(--border);font-size:10px}.build-plan-forms span{padding:5px 7px;border:1px solid var(--border);border-radius:4px}.build-plan-forms a{color:var(--accent)}.job-changes-tab{display:grid;gap:14px}.job-change-create{display:grid;grid-template-columns:minmax(220px,1fr) minmax(300px,2fr) auto;align-items:end;gap:12px}.job-change-create .form-field{display:grid;gap:5px}.job-change-create .primary-button{align-self:end}.job-change-removal{display:grid;grid-template-columns:minmax(240px,2fr) minmax(120px,1fr) auto;align-items:end;gap:12px}.job-change-removal .form-field{display:grid;gap:5px}.job-change-help{margin:0;padding:0 16px 14px;color:var(--text-muted);font-size:10px}@media(max-width:850px){.job-change-create,.job-change-removal{grid-template-columns:1fr}}