:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#101827;background:#f6f7fb;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--border:#d9dfeb;--muted:#657188;--soft:#eef2f8;--panel:#fff;--ink:#101827;--brand:#203f80;--brand-dark:#132759;--silver:#d8dde8;--silver-strong:#aeb7c8;--green:#166534;--blue:#1d4ed8;--amber:#92400e}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;padding:24px;background:linear-gradient(135deg,rgba(32,63,128,.08),transparent 34%),radial-gradient(circle at 92% 4%,rgba(174,183,200,.35),transparent 28%),#f6f7fb}.topbar{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:0 auto 20px;max-width:1600px}.brand-lockup{display:flex;align-items:center;gap:18px}.brand-lockup img{width:clamp(116px,10vw,168px);height:auto;filter:drop-shadow(0 10px 18px rgba(16,24,39,.08))}.eyebrow{margin:0 0 5px;color:var(--brand);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}h1,h2,h3,p{margin:0}h1{font-size:30px;line-height:1.1;letter-spacing:0;color:var(--brand-dark)}.topbar__stats{display:flex;align-items:center;gap:18px;padding:0 4px}.topbar__actions{display:flex;align-items:end;gap:12px}.nav-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:46px;border:1px solid var(--brand);border-radius:8px;background:#fff;color:var(--brand-dark);padding:0 14px;font-weight:800}.metric{display:flex;align-items:baseline;gap:5px;padding:0 2px;white-space:nowrap}.metric strong{font-size:15px;line-height:1;color:var(--brand-dark)}.info span,.metric span{color:var(--muted);font-size:13px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 390px;grid-gap:16px;gap:16px;max-width:1600px;margin:0 auto}.detail-panel,.sheet-panel{border:1px solid var(--border);border-radius:8px;background:var(--panel);box-shadow:0 16px 34px rgba(19,39,89,.08)}.panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px;border-bottom:1px solid var(--border);background:linear-gradient(90deg,rgba(32,63,128,.08),transparent 56%),#fff}.detail-hero h2,.panel-header h2{font-size:20px;color:var(--brand-dark)}.panel-header p{margin-top:5px;color:var(--muted);font-size:14px}.icon-button,.section-title button{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--brand-dark)}.icon-button{width:38px;height:38px}.toolbar{display:flex;align-items:center;gap:14px;padding:16px 20px;border-bottom:1px solid var(--border)}.toolbar .search-field{flex:1 1;display:flex;align-items:center;gap:10px;height:46px;padding:0 14px;color:var(--muted)}.toolbar .search-field:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px rgba(32,63,128,.1)}.toolbar .search-field input{flex:1 1;min-width:0;border:0;outline:none;background:transparent;color:var(--ink);font-size:15px}.search-clear{display:grid;place-items:center;width:24px;height:24px;border:0;border-radius:999px;background:var(--soft);color:var(--muted)}.toolbar-count{color:var(--muted);font-size:13px;white-space:nowrap}.new-job{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));grid-gap:14px;gap:14px;padding:18px 20px;border-bottom:1px solid var(--border);background:var(--soft)}.new-job-field{display:grid;grid-gap:6px;gap:6px;min-width:0}.new-job-field>span:first-child{color:var(--muted);font-size:12px;font-weight:700}.new-job-field input,.new-job-field select{height:42px;border:1px solid var(--border);border-radius:8px;padding:0 12px;background:#fff;font-size:14px}.new-job-wide{grid-column:span 2}.typeahead{position:relative;display:block}.new-job-actions{display:flex;align-items:end}.new-job-actions .primary-button{width:100%;height:42px}.sheet-empty{padding:40px 20px;color:var(--muted);font-size:14px;text-align:center}.add-row{position:relative;display:grid;grid-template-columns:minmax(150px,1.05fr) minmax(112px,.68fr) minmax(170px,1fr) minmax(180px,1.15fr) 112px 86px 138px 76px;grid-gap:8px;gap:8px;padding:12px 18px;border-bottom:1px solid var(--border);background:#f7f9fd}.add-row input,.add-row select,.note-form textarea,.search-field{min-width:0;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--ink)}.add-row input,.add-row select,.search-field{height:38px;padding:0 10px}.search-field{position:relative;display:flex;align-items:center;gap:8px}.search-field input{flex:1 1;height:auto;border:0;padding:0;outline:0}.customer-menu{position:absolute;z-index:10;top:42px;left:0;right:0;display:grid;grid-gap:4px;gap:4px;padding:6px;border:1px solid var(--border);border-radius:8px;background:#fff;box-shadow:0 16px 32px rgba(15,23,42,.12)}.customer-menu button{display:grid;grid-gap:2px;gap:2px;border:0;border-radius:6px;padding:8px;background:transparent;text-align:left}.customer-menu button:hover{background:var(--soft)}.customer-cell small,.customer-menu span,.detail-hero span,.notes-list span,.stack-item span{color:var(--muted);font-size:12px}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--brand-dark);border-radius:8px;background:linear-gradient(180deg,var(--brand),var(--brand-dark));color:#fff;font-weight:700}.sheet{overflow:auto}.job-row,.sheet-head{display:grid;grid-template-columns:minmax(190px,1.1fr) minmax(130px,.7fr) minmax(240px,1.5fr) 110px 100px 116px;min-width:900px}.sheet-head{position:-webkit-sticky;position:sticky;top:0;z-index:2;border-bottom:1px solid var(--border);background:linear-gradient(180deg,#f8faff,#eef2f8)}.sheet-head span{padding:10px 14px;color:var(--brand-dark);font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.date-row{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--border);background:#eef2f8;color:var(--brand-dark)}.date-row span{color:var(--muted);font-size:13px}.job-row{width:100%;border:0;border-bottom:1px solid var(--border);background:#fff;text-align:left}.job-row.is-selected,.job-row:hover{background:#edf3ff}.job-row>span{display:flex;align-items:center;min-height:54px;padding:10px 14px;color:#1f2937;font-size:14px}.customer-cell{display:grid!important;align-content:center;grid-gap:2px;gap:2px}.badge{display:inline-flex!important;align-items:center;width:max-content;min-height:24px!important;border-radius:6px;padding:3px 9px!important;font-size:12px!important;font-weight:700;line-height:1.2}.badge.green,.form-state.done{background:#dcfce7;color:var(--green)}.badge.blue{background:#dbe6ff;color:var(--brand)}.badge.amber{background:#fef3c7;color:var(--amber)}.badge.slate{background:#e2e8f0;color:#334155}.badge.violet{background:#ede9fe;color:#6d28d9}.detail-panel{position:-webkit-sticky;position:sticky;top:24px;max-height:calc(100vh - 48px);overflow:auto}.detail-hero{display:grid;grid-template-columns:48px 1fr;grid-gap:12px;gap:12px;padding:18px;border-bottom:1px solid var(--border)}.detail-hero p{color:var(--muted);font-size:12px;font-weight:800}.avatar{display:grid;place-items:center;width:48px;height:48px;border-radius:8px;background:linear-gradient(160deg,var(--brand),var(--brand-dark));color:#fff}.quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px 20px;gap:16px 20px;padding:18px 20px}.info{display:grid;grid-gap:2px;gap:2px;min-width:0}.info strong{font-size:14px;font-weight:700;color:var(--ink);overflow-wrap:anywhere}.info-wide{grid-column:1/-1}.preview-pill{border:1px solid var(--silver);border-radius:999px;padding:4px 8px;background:#f7f9fd;color:var(--brand);font-size:11px;font-weight:800;text-transform:uppercase}.enquiry-filters{display:flex;gap:6px;flex-wrap:wrap;padding:0 18px 10px}.enquiry-filters button{border:1px solid var(--border);border-radius:999px;padding:5px 12px;background:var(--panel);color:var(--muted);font-size:12px;font-weight:700;cursor:pointer}.enquiry-filters button.is-active{border-color:var(--brand);background:var(--soft);color:var(--brand-dark)}.enquiry-add{grid-template-columns:1fr 1fr 1fr auto}.job-row.enquiry-row,.sheet-head.enquiry-head{grid-template-columns:90px 1.2fr 1fr .8fr 1fr 1fr 100px}.enquiry-note{color:var(--ink);font-size:13px;line-height:1.45}.invoice-builder{display:grid;grid-gap:8px;gap:8px;border:1px solid var(--border);border-radius:8px;background:var(--soft);padding:10px;margin-bottom:10px}.invoice-line{display:grid;grid-template-columns:1fr 1fr 1fr 32px;grid-gap:6px;gap:6px;padding-bottom:8px;border-bottom:1px solid var(--border)}.invoice-line>input:first-child{grid-column:1/-1}.invoice-line input,.invoice-line select{height:34px;border:1px solid var(--border);border-radius:7px;padding:0 8px;background:var(--panel);font-size:13px}.invoice-item-actions button,.invoice-line button{display:grid;place-items:center;border:1px solid var(--border);border-radius:7px;background:var(--panel);color:var(--muted);cursor:pointer}.invoice-line button:disabled{opacity:.4;cursor:default}.invoice-builder-foot{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.invoice-builder-foot>button:first-child{display:inline-flex;gap:4px;align-items:center;height:34px;border:1px solid var(--border);border-radius:7px;padding:0 10px;background:var(--panel);font-size:13px;font-weight:700;cursor:pointer}.invoice-totals{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-left:auto;color:var(--muted);font-size:12px}.invoice-totals strong{color:var(--ink);font-size:14px}.invoice-item{align-items:center}.invoice-item small{display:block;color:var(--muted);font-size:11px}.invoice-item-actions{display:flex;gap:6px;align-items:center}.invoice-item-actions select{height:30px;border:1px solid var(--border);border-radius:7px;padding:0 6px;font-size:12px}.invoice-item-actions button{width:30px;height:30px}.preview-notice{grid-column:1/-1;border:1px solid #f0d8a8;border-radius:8px;background:#fdf6e7;padding:9px 12px;color:var(--amber);font-size:13px;font-weight:700}.detail-actions{display:flex;gap:6px;align-items:start;justify-self:end}.detail-actions button{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--border);border-radius:8px;background:var(--panel);color:var(--muted);cursor:pointer}.detail-actions button:hover:not(:disabled){border-color:var(--brand);color:var(--brand)}.detail-actions button:disabled{opacity:.45;cursor:default}.detail-section>select,.status-select{height:42px;border:1px solid var(--border);border-radius:8px;padding:0 12px;background:#fff;font-size:14px;font-weight:700;color:var(--brand-dark)}.edit-grid{display:grid;grid-gap:8px;gap:8px;padding:12px 18px}.edit-grid label{display:grid;grid-gap:4px;gap:4px;color:var(--muted);font-size:12px;font-weight:700}.edit-grid input,.edit-grid select{height:38px;border:1px solid var(--border);border-radius:8px;padding:0 10px;color:var(--ink);font-size:13px}.edit-actions{display:flex;gap:8px;margin-top:4px}.edit-actions button{height:38px;border-radius:8px;padding:0 14px;font-size:13px;font-weight:700;cursor:pointer}.edit-actions button:not(.primary-button){border:1px solid var(--border);background:var(--panel);color:var(--ink)}.email-workflow{background:linear-gradient(180deg,#f7f9fd,#fff)}.email-editor-page{display:grid;grid-template-columns:330px minmax(0,1fr);grid-gap:16px;gap:16px;max-width:1600px;margin:0 auto}.editor-panel,.workflow-sidebar{border:1px solid var(--border);border-radius:8px;background:#fff;box-shadow:0 16px 34px rgba(19,39,89,.08)}.workflow-sidebar{display:grid;align-content:start;grid-gap:8px;gap:8px;padding:12px}.workflow-sidebar button{display:grid;grid-template-columns:34px 1fr;grid-gap:10px;gap:10px;align-items:start;border:1px solid transparent;border-radius:8px;background:#fff;padding:10px;text-align:left}.workflow-sidebar button.is-selected,.workflow-sidebar button:hover{border-color:var(--brand);background:#edf3ff}.workflow-sidebar button>span{display:grid;place-items:center;width:30px;height:30px;border-radius:999px;background:linear-gradient(160deg,var(--brand),var(--brand-dark));color:#fff;font-size:13px;font-weight:900}.workflow-sidebar strong{display:block;color:var(--brand-dark);font-size:14px}.workflow-sidebar small{display:block;margin-top:3px;color:var(--muted);font-size:12px;line-height:1.35}.editor-panel{display:grid;grid-template-columns:minmax(320px,.85fr) minmax(360px,1fr);grid-gap:0;gap:0;overflow:hidden}.editor-form{display:grid;grid-gap:12px;gap:12px;align-content:start;padding:18px;border-right:1px solid var(--border);background:#f7f9fd}.editor-form label{display:grid;grid-gap:6px;gap:6px}.editor-form span{color:var(--brand-dark);font-size:12px;font-weight:900;text-transform:uppercase}.editor-form input,.editor-form textarea{min-width:0;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--ink);padding:10px}.editor-form textarea{min-height:88px;resize:vertical}.editor-preview{align-content:start;padding:18px;background:#fff}.editor-preview,.email-stage-list{display:grid;grid-gap:12px;gap:12px}.email-stage-card{display:grid;grid-gap:9px;gap:9px;border:1px solid var(--border);border-radius:8px;background:#fff;padding:10px}.stage-meta{display:grid;grid-template-columns:34px 1fr;grid-gap:9px;gap:9px;align-items:start}.stage-meta>span{display:grid;place-items:center;width:34px;height:34px;border-radius:999px;background:linear-gradient(160deg,var(--brand),var(--brand-dark));color:#fff;font-weight:900}.stage-meta strong{color:var(--brand-dark);font-size:14px}.stage-meta p,.subject-line span{margin-top:2px;color:var(--muted);font-size:12px;line-height:1.4}.subject-line{display:grid;grid-gap:3px;gap:3px;padding:8px 9px;border-radius:8px;background:#eef2f8}.subject-line strong{color:var(--ink);font-size:13px;line-height:1.35}.email-preview-card{display:grid;grid-gap:10px;gap:10px;border-radius:8px;background:#f3f5f9;padding:12px}.email-preview-card>img{justify-self:center;width:132px;height:auto}.email-preview-hero{border-radius:8px;padding:20px 18px;background:linear-gradient(160deg,#101827,var(--brand-dark));color:#f7f9fd}.email-preview-hero p{margin-bottom:8px;color:#9db4ee;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.email-preview-hero h4{margin:0 0 9px;color:#fff;font-size:22px;line-height:1.12}.email-preview-hero span{color:rgba(247,249,253,.72);font-size:13px;line-height:1.5}.email-preview-body{display:grid;grid-gap:14px;gap:14px;border-radius:8px;background:#fff;padding:16px}.email-preview-body>p{color:#334155;font-size:13px;line-height:1.55}.email-steps{display:grid;grid-gap:10px;gap:10px}.email-steps div{display:grid;grid-template-columns:28px 1fr;grid-gap:9px;gap:9px;align-items:start}.email-steps span{display:grid;place-items:center;width:26px;height:26px;border-radius:999px;background:var(--brand);color:#fff;font-size:12px;font-weight:900}.email-steps p{color:#475569;font-size:13px;line-height:1.45}.email-preview-body button{width:max-content;max-width:100%;border:0;border-radius:999px;background:linear-gradient(180deg,var(--brand),var(--brand-dark));color:#fff;padding:10px 16px;font-size:13px;font-weight:900}.email-preview-card footer{display:grid;grid-gap:3px;gap:3px;padding:2px 4px 0;text-align:center}.email-preview-card footer strong{color:var(--brand-dark);font-size:12px}.email-preview-card footer span{color:var(--muted);font-size:11px;line-height:1.4}.detail-section{display:grid;grid-gap:12px;gap:12px;padding:20px;border-top:1px solid var(--border)}.section-title{display:flex;align-items:center;gap:8px}.section-title h3{flex:1 1;font-size:13px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.section-title h3,.section-title svg{color:var(--muted)}.section-title button{padding:7px 9px;font-size:12px;font-weight:800}.form-state{display:flex;align-items:center;gap:8px;border-radius:8px;background:#f6f0df;color:#7a5a11;padding:10px;font-size:14px;font-weight:700}.notes-list,.stack-list{display:grid;grid-gap:8px;gap:8px}.stack-item{display:flex;justify-content:space-between;gap:10px;padding:10px;border:1px solid var(--border);border-radius:8px;background:#fff;color:inherit;text-decoration:none}.stack-item div{display:grid;grid-gap:2px;gap:2px}.empty{color:var(--muted);font-size:14px}.note-form{display:grid;grid-gap:8px;gap:8px}.note-form textarea{min-height:74px;padding:10px;resize:vertical}.note-form button{min-height:38px}.notes-list article{display:grid;grid-gap:5px;gap:5px;padding:10px;border-radius:8px;background:var(--soft)}.notes-list p{font-size:14px}@media (max-width:1180px){.editor-panel,.email-editor-page,.workspace{grid-template-columns:1fr}.editor-form{border-right:0;border-bottom:1px solid var(--border)}.detail-panel{position:static;max-height:none}}@media (max-width:900px){.app-shell{padding:14px}.topbar{align-items:stretch}.topbar,.topbar__actions{display:grid}.brand-lockup{align-items:flex-start}.topbar__stats{grid-template-columns:repeat(3,1fr)}.add-row{grid-template-columns:1fr}}@media (max-width:560px){.quick-grid,.topbar__stats{grid-template-columns:1fr}}.login-shell{display:grid;place-items:center;min-height:100vh;padding:24px;background:linear-gradient(135deg,rgba(32,63,128,.1),transparent 40%),radial-gradient(circle at 92% 4%,rgba(174,183,200,.4),transparent 30%),#f6f7fb}.login-card{display:grid;grid-gap:14px;gap:14px;width:100%;max-width:380px;padding:28px;border:1px solid var(--border);border-radius:12px;background:var(--panel);box-shadow:0 24px 48px rgba(19,39,89,.12)}.login-card img{justify-self:center;width:150px;height:auto}.login-card .eyebrow,.login-card h1{text-align:center}.login-card h1{margin-bottom:4px;font-size:24px}.login-card label{display:grid;grid-gap:6px;gap:6px}.login-card span{color:var(--brand-dark);font-size:12px;font-weight:800;text-transform:uppercase}.login-card input{height:42px;padding:0 12px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--ink)}.login-card .primary-button{min-height:44px;margin-top:4px}.login-error{border:1px solid #f3c0c0;border-radius:8px;background:#fdecec;color:#b42318;padding:9px 11px;font-size:13px}.login-hint{color:var(--muted);font-size:12px;text-align:center}.user-chip{display:inline-flex;align-items:center;gap:10px;min-height:46px;border:1px solid var(--border);border-radius:8px;background:#fff;padding:0 12px}.user-chip strong{color:var(--brand-dark);font-size:13px}.user-chip small{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em}.user-chip button{border:0;background:transparent;color:var(--brand);font-size:12px;font-weight:800}.users-page{display:grid;grid-template-columns:minmax(0,1fr) 360px;grid-gap:16px;gap:16px;max-width:1600px;margin:0 auto}.user-form,.users-list{border:1px solid var(--border);border-radius:8px;background:var(--panel);box-shadow:0 16px 34px rgba(19,39,89,.08)}.users-list{overflow:hidden}.users-list .user-row{display:grid;grid-template-columns:1fr auto;grid-gap:8px;gap:8px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border)}.user-row-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center;grid-column:1/-1}.user-row-actions button,.user-row-actions input,.user-row-actions select{height:30px;border:1px solid var(--border);border-radius:7px;padding:0 8px;background:var(--panel);color:var(--muted);font-size:12px;font-weight:700;cursor:pointer}.user-row-actions input{cursor:text;font-weight:500}.user-row-actions button:disabled{opacity:.45;cursor:default}.user-self{grid-column:1/-1;color:var(--muted);font-size:12px}.role-pill.banned{background:#fdecec;color:#b42318}.users-list .user-row strong{color:var(--brand-dark);font-size:14px}.users-list .user-row span{color:var(--muted);font-size:12px}.role-pill{width:max-content;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:800}.role-pill.office{background:#dbe6ff;color:var(--brand)}.role-pill.fitter{background:#e2e8f0;color:#334155}.user-form{display:grid;grid-gap:12px;gap:12px;align-content:start;padding:18px}.user-form label{display:grid;grid-gap:6px;gap:6px}.user-form span{color:var(--brand-dark);font-size:12px;font-weight:800;text-transform:uppercase}.user-form input,.user-form select{height:40px;padding:0 10px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--ink)}@media (max-width:1180px){.users-page{grid-template-columns:1fr}}.attach-upload{display:flex;gap:8px;align-items:center}.attach-upload select{height:34px;border:1px solid var(--border);border-radius:8px;background:#fff;padding:0 8px;color:var(--ink);font-size:13px}.attach-upload input[type=file]{flex:1 1;min-width:0;font-size:12px;color:var(--muted)}.attachment-thumb{width:44px;height:44px;object-fit:cover;border-radius:6px;border:1px solid var(--border);flex-shrink:0}.stack-item img.attachment-thumb+div{flex:1 1}.extras-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:4px 12px;gap:4px 12px;margin:0;padding-left:18px;color:var(--ink);font-size:13px}.quote-table{width:100%;border-collapse:collapse;font-size:13px}.quote-table th{padding:0 0 6px;border-bottom:1px solid var(--border);color:var(--muted);font-size:11px;font-weight:800;text-align:right;text-transform:uppercase}.quote-table td:first-child,.quote-table th:first-child{text-align:left}.quote-table td{padding:8px 0;border-bottom:1px solid var(--border);text-align:right;vertical-align:top}.quote-line-note{display:block}.quote-line-note,.quote-totals{color:var(--muted);font-size:12px}.quote-totals{display:flex;gap:12px;align-items:center;justify-content:flex-end;flex-wrap:wrap;padding-top:10px}.quote-totals strong{color:var(--ink);font-size:14px}.quote-accepted{margin:10px 0 0;border-radius:7px;background:var(--soft);padding:8px 10px;color:var(--green);font-size:13px;font-weight:700}.quote-share{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px}.quote-share input{flex:1 1 200px;min-width:0;padding:0 8px;background:var(--soft);color:var(--muted);font-size:12px}.quote-share button,.quote-share input{height:34px;border:1px solid var(--border);border-radius:7px}.quote-share button{padding:0 12px;background:var(--panel);font-size:13px;font-weight:700;cursor:pointer}.quote-share button:disabled{opacity:.45;cursor:default}.quote-editor{display:grid;grid-gap:12px;gap:12px}.quote-editor-actions{display:flex;gap:8px;justify-content:flex-end}.quote-editor-actions button{height:34px;border:1px solid var(--border);border-radius:7px;padding:0 12px;background:var(--panel);font-size:13px;font-weight:700;cursor:pointer}.extras-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:6px 12px;gap:6px 12px;border:1px solid var(--border);border-radius:8px;padding:10px 12px 12px}.extras-grid legend{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}.extras-row{display:flex;flex-wrap:wrap}.extras-row,.extras-tick{gap:6px;align-items:center}.extras-tick{display:inline-flex;font-size:13px}.extras-qty{width:52px}.extras-note{flex:1 1 100%}.extras-note,.extras-qty,.extras-row input[type=text]{height:30px;border:1px solid var(--border);border-radius:7px;padding:0 8px;background:var(--panel);font-size:12px}.quote-additional{display:grid;grid-gap:4px;gap:4px;color:var(--muted);font-size:12px;font-weight:700}.quote-additional textarea{border:1px solid var(--border);border-radius:7px;padding:8px;background:var(--panel);color:var(--ink);font:inherit;font-size:13px;font-weight:400;resize:vertical}.quote-line>input.line-note{grid-column:1/-1}.vat-toggle{display:inline-flex;gap:6px;align-items:center;color:var(--ink);font-size:13px;font-weight:700}.quote-doc{max-width:780px;margin:0 auto;padding:32px 20px 64px;background:var(--panel)}.quote-doc-head{padding-bottom:24px;border-bottom:1px solid var(--border)}.quote-doc-head img{height:auto;max-width:120px}.quote-doc-eyebrow{margin:20px 0 4px;color:var(--muted);font-size:13px;font-weight:700}.quote-doc-head h1{margin:0;color:var(--brand-dark);font-size:clamp(26px,5vw,40px);line-height:1.1;text-transform:uppercase}.quote-doc-stats{display:flex;gap:32px;flex-wrap:wrap;margin:24px 0 0}.quote-doc-stats dt{color:var(--brand-dark);font-size:26px;font-weight:800}.quote-doc-stats dd{margin:0;color:var(--muted);font-size:13px}.quote-doc-prepared{margin:24px 0 0;color:var(--muted);font-size:14px}.quote-doc-section{padding:24px 0;border-bottom:1px solid var(--border)}.quote-doc-section h2{margin:0 0 12px;color:var(--brand-dark);font-size:20px}.quote-doc-section p{margin:0 0 10px;color:var(--ink);font-size:15px;line-height:1.55}.quote-doc-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:14px;gap:14px;margin:0}.quote-doc-details dt{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}.quote-doc-details dd{margin:2px 0 0;color:var(--ink);font-size:15px;overflow-wrap:anywhere}.quote-doc-stone{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.quote-doc-stone span{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}.quote-doc-extras{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:6px 20px;gap:6px 20px;margin:12px 0;padding-left:18px;font-size:15px}.quote-doc-additional{border-left:3px solid var(--brand);padding-left:12px;color:var(--muted)}.quote-doc-table{display:block;width:100%;overflow-x:auto;border-collapse:collapse;font-size:15px}.quote-doc-table td,.quote-doc-table th{padding:10px 8px;text-align:right}.quote-doc-table thead th{border-bottom:2px solid var(--border);color:var(--brand);font-size:12px;text-transform:uppercase}.quote-doc-table td:first-child,.quote-doc-table th:first-child{text-align:left}.quote-doc-table tbody td{border-bottom:1px solid var(--border);vertical-align:top}.quote-doc-table tbody td span{display:block;color:var(--muted);font-size:13px}.quote-doc-table tfoot th{color:var(--muted);font-weight:600}.quote-doc-total td,.quote-doc-total th{border-top:2px solid var(--border);color:var(--brand-dark);font-size:18px;font-weight:800}.quote-doc-basis{margin-top:14px;color:var(--muted);font-size:13px}.quote-doc-accept button{min-height:52px;border:0;border-radius:10px;padding:0 28px;background:var(--brand-dark);color:#fff;font-size:17px;font-weight:800;cursor:pointer}.quote-doc-accept button:disabled{opacity:.5;cursor:default}.quote-doc-error{margin-top:10px;color:#b42318;font-size:14px}.quote-doc-accepted{display:grid;grid-gap:4px;gap:4px;border:1px solid #b7e2c1;border-radius:10px;background:#effaf2;padding:14px 16px;color:var(--green);font-size:15px}.quote-doc-superseded{border:1px solid var(--border);border-radius:10px;background:var(--soft);padding:14px 16px}.quote-doc-terms{margin:0;padding-left:18px;color:var(--ink);font-size:14px;line-height:1.6}.quote-doc-terms li{margin-bottom:8px}.quote-doc-foot{padding-top:24px;color:var(--muted);font-size:13px}.quote-doc-foot p{margin:0 0 4px}