.sheet{position:relative;max-width:182mm;margin:0 auto;color:#14110d;background:#fff;font-family:var(--font-ui);font-size:10.5pt;line-height:1.45}.sheet h1{margin:0 0 6px;font-size:22pt;letter-spacing:-.5px}.sheet h2{margin:0 0 6px;font-size:9pt;letter-spacing:2px;text-transform:uppercase;color:var(--sheet-accent, #d2540d);break-after:avoid}.sheet-office{display:inline-block;margin-bottom:6px;border:1.5px solid #14110d;padding:1px 8px;font-size:8pt;font-weight:700;letter-spacing:2px;text-transform:uppercase}.sheet section{margin-bottom:12px}.sheet-customer,.sheet-spec,.sheet-lines tr{break-inside:avoid}.sheet-stamp{position:absolute;top:15mm;left:50%;border:2px solid #d2540d;color:#d2540d;font-weight:800;font-size:9pt;letter-spacing:2px;text-transform:uppercase;padding:3px 8px;transform:translate(-50%) rotate(-6deg);opacity:.85;white-space:nowrap}.sheet-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid #14110d;padding-bottom:10px;margin-bottom:12px}.sheet-brand{display:flex;flex-direction:column;gap:4px}.sheet-logo{display:block;color:#14110d;-webkit-print-color-adjust:exact;print-color-adjust:exact}.sheet-logo svg{display:block;height:12mm;width:auto}.sheet-logo-img{display:block;height:14mm;max-width:70mm;width:auto;object-fit:contain;object-position:left center}.sheet-brand-name{font-size:20pt;font-weight:800;letter-spacing:-.5px;color:var(--sheet-accent, #14110d)}.sheet-legal{font-size:7.5pt}.sheet-lines .sheet-optional td{color:#6b6253}.sheet-muted{color:#6b6253;font-size:9.5pt}.sheet-meta{text-align:right}.sheet-meta table{margin-left:auto;border-collapse:collapse;font-size:10pt}.sheet-meta th{text-align:right;font-weight:400;color:#6b6253;padding:1px 10px 1px 0}.sheet-meta td{text-align:left;font-weight:600}.sheet-customer-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.sheet-pre{white-space:pre-wrap;margin:0}.sheet-spec{display:grid;grid-template-columns:3fr 2fr;gap:18px;align-items:start}.sheet-spec.is-wide{grid-template-columns:1fr;gap:8px}.sheet-spec.is-wide .sheet-plan{height:42mm}.sheet-kv{border-collapse:collapse;width:100%}.sheet-kv th{text-align:left;vertical-align:top;font-weight:600;width:22%;padding:2px 8px 2px 0;border-bottom:1px solid #e6e1d8}.sheet-kv td{vertical-align:top;padding:2px 0;border-bottom:1px solid #e6e1d8}.sheet-plan{margin:0;border:1px solid #e6e1d8;border-radius:6px;padding:6px;height:58mm;display:flex;flex-direction:column}.sheet-plan svg{flex:1;min-height:0}.sheet-plan figcaption{font-size:8pt;color:#6b6253;text-align:center;margin-top:4px}.sheet-views-grid{display:grid;grid-template-columns:1fr 1fr;gap:4mm 5mm}.sheet-views figure{margin:0;break-inside:avoid}.sheet-views img{display:block;width:100%;aspect-ratio:3 / 2;object-fit:cover;border:1px solid #e6e1d8;border-radius:6px;background:#fff}.sheet-views figcaption{font-size:8pt;color:#6b6253;text-align:center;margin-top:2px}.sheet-note{font-size:8pt;color:#6b6253;margin:3mm 0 0}.sheet-detail{break-inside:avoid}.sheet-warnings{margin:6px 0 0;padding-left:0;list-style:none;font-size:9pt;color:#b4430a}.sheet-lines .sheet-flag{color:#b4430a}.sheet-rails{display:flex;gap:8mm;margin-bottom:5mm;break-inside:avoid}.sheet-rails figure{margin:0;width:48mm}.sheet-rails img{width:100%;height:30mm;object-fit:contain;border:1px solid #e6e1d8;border-radius:6px;background:#fff}.sheet-rails figcaption{font-size:8pt;color:#6b6253;text-align:center;margin-top:3px}.sheet-lines{width:100%;border-collapse:collapse}.sheet-lines th{text-align:left;font-size:8.5pt;text-transform:uppercase;letter-spacing:1px;color:#6b6253;padding:4px 6px;border-bottom:1px solid #14110d}.sheet-lines td{padding:3px 6px;border-bottom:1px solid #e6e1d8;vertical-align:top}.sheet-lines th:nth-child(n+2),.sheet-lines td:nth-child(n+2){text-align:right;white-space:nowrap}.sheet-lines small{display:block;color:#6b6253;font-size:8.5pt}.sheet-lines .sheet-group td{padding-top:10px;font-size:8.5pt;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:#6b6253;border-bottom:1px solid #14110d}.sheet-lines .sheet-subtotal td{font-weight:700;border-bottom:none}.sheet-lines .sheet-subtotal td:first-child{text-align:right;color:#6b6253}.sheet-totals{margin-top:8px;margin-left:auto;width:60%;break-inside:avoid}.sheet-totals>div{display:flex;justify-content:space-between;gap:16px;padding:2px 6px}.sheet-totals>div>span:first-child{color:#6b6253}.sheet-totals .sheet-grand{border-top:2px solid #14110d;margin-top:4px;padding-top:6px;font-size:13pt;font-weight:800}.sheet-totals .sheet-grand>span:first-child{color:#14110d}.sheet-foot{border-top:1px solid #e6e1d8;padding-top:8px;font-size:8pt;color:#6b6253;break-inside:avoid}.sheet-foot p{margin:0 0 6px}.app{max-width:1280px;margin:0 auto;padding:20px 24px 60px}.topbar{display:flex;align-items:center;gap:16px;padding:6px 0 16px}.logo{display:block;flex:none;color:var(--text)}.logo svg{display:block;height:38px;width:auto}.topbar h1{margin:0;font-size:26px;line-height:1.1}.sub{margin:2px 0 0;color:var(--muted);font-size:14px}.banner{background:var(--accent-soft);border:1px solid var(--accent);border-radius:10px;padding:10px 14px;margin-bottom:20px;font-size:13px}.columns{display:grid;grid-template-columns:minmax(330px,5fr) minmax(420px,7fr);gap:20px;align-items:start}@media(max-width:900px){.columns{grid-template-columns:1fr}}.controls{display:flex;flex-direction:column;gap:16px}.group{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px}.group h3{margin:0 0 14px;font-family:var(--font-display);font-size:16px;font-weight:650;color:var(--text)}.group-body{display:flex;flex-direction:column;gap:12px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{display:flex;flex-direction:column;gap:5px}.field>span{font-size:12px;color:var(--muted)}select,input[type=number]{width:100%;background:var(--input-bg);border:1px solid var(--input-line);color:var(--text);padding:9px 11px;border-radius:var(--radius-sm);font-family:inherit;font-size:14px}select:focus,input:focus,textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #f26a1b2e}.mini{align-self:flex-start;background:transparent;border:1px dashed var(--line-strong);color:var(--accent);font-size:12px;padding:5px 10px;border-radius:8px;cursor:pointer;font-family:inherit}.mini:hover{border-color:var(--accent)}.rail-pick{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px}.rail-pick .field{flex:1;min-width:0}.rail-hidden{flex-basis:100%;margin-top:4px}.rail-thumb{width:64px;height:44px;object-fit:cover;background:#fff;border:1px solid var(--input-line);border-radius:7px;flex:none}.quote{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px;position:sticky;top:16px;display:flex;flex-direction:column;gap:16px}.plan-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.view-toggle{display:flex;gap:4px;background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:3px}.view-toggle button{background:transparent;border:none;color:var(--muted);font-family:inherit;font-size:12px;font-weight:600;padding:4px 14px;border-radius:6px;cursor:pointer}.view-toggle button.is-on{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #1d22261f,0 0 0 1px var(--line)}.plan h4{margin:0;font-family:var(--font-display);font-size:16px;font-weight:650;color:var(--text)}.plan-canvas{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;height:320px;overflow:hidden}.plan-canvas.is-big{height:min(78vh,900px)}.plan-tools{display:flex;align-items:center;gap:6px}.plan-tools .expand{background:var(--input-bg);border:1px solid var(--input-line);color:var(--muted);border-radius:8px;width:30px;height:30px;font-size:16px;line-height:1;cursor:pointer;font-family:inherit}.plan-tools .expand:hover,.plan-tools .expand.is-on{color:var(--accent);border-color:var(--accent)}.specs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.specs>div{background:var(--surface-2);border:1px solid var(--line);border-radius:9px;padding:8px 10px;display:flex;flex-direction:column;gap:2px}.specs em{font-style:normal;font-size:12px;font-weight:600;color:var(--muted)}.specs strong{font-size:15px}.warnings{background:var(--accent-soft);border:1px solid var(--accent);border-radius:10px;padding:10px 14px}.warnings h4{margin:0 0 6px;font-size:12px;color:var(--accent)}.warnings ul{margin:0;padding-left:18px;font-size:13px}.bom{width:100%;border-collapse:collapse;font-size:13px}.bom th{text-align:left;color:var(--muted);font-size:11px;padding:4px 8px;border-bottom:1px solid var(--line)}.bom td{padding:7px 8px;border-bottom:1px solid var(--line);vertical-align:top}.bom th:nth-child(n+2),.bom td:nth-child(n+2){text-align:right;white-space:nowrap}.bom small{display:block;color:var(--muted);font-size:11px}.bom small.flag{color:var(--accent)}.totals{display:flex;flex-direction:column;gap:6px}.totals>div{display:flex;justify-content:space-between;font-size:14px}.totals .good{color:var(--good)}.totals .grand{border-top:1px solid var(--line);padding-top:8px;margin-top:4px;font-size:16px}.totals .grand.orange{border-top:2px solid var(--accent)}.totals .grand.orange strong{color:var(--accent);font-size:26px}.topbar-title{flex:1;min-width:0}.topbar-title h1,.topbar-title .sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toolbar{display:flex;align-items:center;gap:8px}.toolbar button{background:var(--input-bg);border:1px solid var(--input-line);color:var(--text);font-family:inherit;font-size:13px;font-weight:600;padding:8px 14px;border-radius:9px;cursor:pointer}.toolbar button:hover{border-color:var(--accent)}.toolbar button.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.toolbar button.primary:hover{background:var(--accent-hover)}.status{color:var(--muted);font-size:12px;margin-right:6px;white-space:nowrap;max-width:320px;overflow:hidden;text-overflow:ellipsis}input[type=text],input[type=email],input[type=tel],input[type=date],input[type=search],input[type=password],textarea{width:100%;background:var(--input-bg);border:1px solid var(--input-line);color:var(--text);padding:9px 11px;border-radius:9px;font-family:inherit;font-size:14px}textarea{resize:vertical;min-height:38px;line-height:1.4}textarea:focus{outline:none;border-color:var(--accent)}input[type=date]{color-scheme:dark}.mini.danger{color:var(--bad)}.mini.danger:hover{border-color:var(--bad)}.drawer-backdrop{position:fixed;inset:0;background:#1d222647;display:flex;justify-content:flex-end;z-index:50}.drawer{width:min(520px,100%);height:100%;background:var(--surface);border-left:1px solid var(--line);padding:20px;display:flex;flex-direction:column;gap:14px;overflow-y:auto}.drawer-head{display:flex;align-items:center;justify-content:space-between}.drawer-head h2{margin:0;font-size:13px;color:var(--accent)}.drawer-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.drawer-list li{display:flex;align-items:center;gap:8px;border:1px solid var(--input-line);border-radius:10px;padding:6px 8px 6px 0;background:var(--input-bg)}.drawer-list li.is-current{border-color:var(--accent)}.drawer-item{flex:1;background:transparent;border:none;color:var(--text);text-align:left;font-family:inherit;padding:6px 12px;cursor:pointer;display:flex;flex-direction:column;gap:2px}.drawer-item:hover .drawer-ref{color:var(--accent)}.drawer-ref{font-weight:700;font-size:14px}.drawer-customer{font-size:13px}.drawer-sub{font-size:11px;color:var(--muted)}.drawer-empty,.drawer-foot{color:var(--muted);font-size:12px;margin:0}.drawer-foot{margin-top:auto;word-break:break-all}.modal-backdrop{justify-content:center;align-items:center}.modal{width:min(560px,calc(100% - 32px));max-height:calc(100vh - 32px);overflow-y:auto;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:14px}.modal .field .hint{margin-top:2px}.modal .hint{margin:0}.modal .seg{align-self:flex-start}.print-shots{display:grid;grid-template-columns:1fr 1fr;gap:8px}.print-shots figure{margin:0;border:1px solid var(--input-line);border-radius:8px;overflow:hidden;background:#fff}.print-shots img,.print-shots .pending{display:block;width:100%;aspect-ratio:3 / 2;object-fit:cover}.print-shots .pending{background:var(--input-bg)}.print-shots figcaption{font-size:11px;color:var(--muted);padding:4px 8px;background:var(--input-bg)}.modal-foot{justify-content:flex-end}.toolbar button:disabled{opacity:.5;cursor:default}.toolbar button:disabled:hover{border-color:var(--input-line)}.scene-offscreen{position:fixed;top:0;left:-20000px;pointer-events:none}.print-only.show-sheet{display:block;background:#fff;padding:16mm 14mm;min-height:100vh}body:has(.show-sheet) .app{display:none}.print-only{display:none}@media print{@page{size:A4;margin:16mm 14mm}body{background:#fff;color:#14110d;font-size:11pt}.app{display:none}.print-only{display:block}.scene-offscreen{display:none}}.rates{display:flex;flex-direction:column;gap:16px}.rates-bar{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--surface);border:1px solid var(--line);border-radius:12px}.rates-bar-title{flex:1;display:flex;align-items:baseline;gap:12px;min-width:0}.rates-bar h2{margin:0;font-size:18px}.rates-when{color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rates-bar button{background:var(--input-bg);border:1px solid var(--input-line);color:var(--text);font-family:inherit;font-size:13px;font-weight:600;padding:8px 14px;border-radius:9px;cursor:pointer;white-space:nowrap}.rates-bar button:hover:not(:disabled){border-color:var(--accent)}.rates-bar button:disabled{opacity:.45;cursor:default}.rates-bar button.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.rates-bar button.primary:hover:not(:disabled){background:var(--accent-hover)}.rates-bar .status{max-width:320px;overflow:hidden;text-overflow:ellipsis}.rates-bar .status.bad{color:var(--bad)}.rates-main{display:grid;grid-template-columns:220px minmax(0,1fr);gap:16px;align-items:start}.rates-nav{position:sticky;top:76px;display:flex;flex-direction:column;gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 10px}.rates-nav-group{display:flex;flex-direction:column;gap:2px}.rates-nav-group h4{margin:0 0 4px 8px;font-size:10px;font-weight:700;letter-spacing:.1em;color:var(--muted)}.rates-nav-item{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:none;border:1px solid transparent;border-left:2px solid transparent;color:var(--text);font-family:inherit;font-size:13px;padding:7px 10px;border-radius:8px;cursor:pointer}.rates-nav-item:hover{background:var(--input-bg)}.rates-nav-item.on{background:var(--input-bg);border-left-color:var(--accent);color:var(--accent);font-weight:600}.rates-nav-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rates-nav-count{color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}.rates-nav-flag{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:var(--bad);color:var(--on-accent);font-size:11px;font-weight:800}.rates-body{display:flex;flex-direction:column;gap:16px;min-width:0}@media(max-width:860px){.rates-main{grid-template-columns:1fr}.rates-nav{position:static;flex-direction:row;flex-wrap:wrap;gap:10px 16px}}.rates-problems{margin:0;padding-left:18px;color:var(--bad);font-size:13px;line-height:1.6}.rates-problems .link{color:inherit}.rates-section{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:10px;min-width:0}.rates-section h3{margin:0;font-size:13px;letter-spacing:.08em;color:var(--accent)}.rates-hint{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.rates-section .mini{align-self:flex-start}.rates-table{width:100%;border-collapse:collapse;font-size:13px}.rates-table th{text-align:left;color:var(--muted);font-weight:600;font-size:11px;letter-spacing:.05em;padding:4px 6px;border-bottom:1px solid var(--line);white-space:nowrap}.rates-table th.sub{text-transform:none;letter-spacing:0;font-weight:500}.rates-table td{padding:4px 6px;border-bottom:1px solid var(--line);vertical-align:middle}.rates-table .label-col{min-width:200px}.rates-table .remove-col{width:36px;text-align:right}.scroll-x .rates-table tr>.remove-col,.scroll-x .rates-table tr>th:last-child:empty{position:sticky;right:0;background:var(--surface)}.rates-table .num-col{text-align:right;font-variant-numeric:tabular-nums;color:var(--muted)}.rates-table .used-col{color:var(--muted);font-size:12px;white-space:nowrap}.rates-table .remove-col .mini{padding:4px 8px}.row-id{display:block;color:var(--muted);font-size:10px;font-family:Consolas,Courier New,monospace;margin-top:2px}.rates .cell,.rates input.cell[type=text],.rates select.cell{width:100%;min-width:0;background:var(--input-bg);border:1px solid var(--input-line);color:var(--text);padding:6px 8px;border-radius:7px;font-family:inherit;font-size:13px}.rates .cell.num{width:96px;text-align:right;font-variant-numeric:tabular-nums}.rates .cell:focus{outline:none;border-color:var(--accent)}.rates .cell.bad{border-color:var(--bad)}.rates .cell.colour{width:54px;height:30px;padding:2px;cursor:pointer}.rates-table .mini-check{justify-content:center}.rates-table.rails td{vertical-align:top;padding-top:8px;padding-bottom:8px}.rates-table .section-col{white-space:nowrap}.rates-table .section-col .times{color:var(--muted);padding:0 4px}.rates-table .made-col{min-width:240px}.rail-timbers{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.rail-timbers li{display:flex;align-items:center;gap:8px}.rail-timbers li.stale .rail-timber-name{color:var(--bad)}.rail-timber-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rail-timbers .mini{padding:3px 8px}.rail-timbers .paired{display:flex;align-items:center;gap:4px}.rail-timbers .paired>span{font-size:11px;color:var(--muted)}.rail-add{margin-top:6px;width:auto;color:var(--accent)}.rates-table .rail-remove{width:auto;white-space:nowrap}.rail-none{margin:0 0 6px;color:var(--bad);font-size:12px}.img-cell{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:96px}.img-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.img-thumb{width:76px;height:52px;object-fit:cover;background:#fff;border:1px solid var(--input-line);border-radius:7px}.img-acts{display:flex;gap:4px}.img-acts .mini{padding:3px 7px;font-size:11px}.mini.as-button{display:inline-block}.img-cell:focus-within .as-button{border-color:var(--accent)}.img-err{color:var(--bad);font-size:11px;max-width:140px;line-height:1.3}.rates .field input.cell.num{width:100%;text-align:left}.scroll-x{overflow-x:auto}.rates-table.winder td:not(.label-col){padding:4px 3px}.check{display:flex;align-items:center;gap:10px;font-size:14px;cursor:pointer}.check input{width:18px;height:18px;accent-color:var(--accent)}.banner.final{border-color:var(--line);color:var(--muted)}.banner button{margin-left:8px}.banner.offline{background:var(--bad-soft);border-color:var(--bad)}.settings-actions{justify-content:flex-start}.settings-msg{margin:0;font-size:13px;line-height:1.45}.settings-msg.ok{color:var(--good)}.settings-msg.bad{color:var(--bad)}.toolbar button.danger-text{color:var(--bad);margin-right:auto}.plan-hint{margin:8px 0 0;font-size:12px;color:var(--muted);line-height:1.45}.plan-hint span{display:block;color:var(--text);margin-top:4px}.hint{margin:-4px 0 0;font-size:12px;color:var(--muted);line-height:1.45}button.link{background:none;border:none;padding:0;color:var(--accent);font:inherit;cursor:pointer;text-decoration:underline}.plan-hit{fill:transparent;stroke:transparent;cursor:pointer;pointer-events:all}.plan-hit-post:hover{fill:#f26a1b47}.plan-hit-rail{fill:none;pointer-events:stroke}.plan-hit-rail:hover{stroke:#f26a1b47}.plan-hit-fixed{cursor:not-allowed}.builder-title{margin:2px 0 0;font-size:12px;color:var(--muted);font-weight:600;letter-spacing:.04em;display:flex;justify-content:space-between;gap:8px;align-items:baseline}.builder-title small{font-weight:400;text-transform:none;letter-spacing:0;color:var(--accent);font-size:12px;text-align:right}.builder{display:flex;flex-direction:column;gap:8px}.builder-run{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.builder-treads{font-size:12px;color:var(--muted);padding-bottom:10px;white-space:nowrap}.builder-treads strong{color:var(--text);font-size:14px}.builder-turn{border:1px solid var(--input-line);border-left:3px solid var(--accent);border-radius:8px;padding:8px 10px;margin:6px 0;background:#f26a1b0d;display:flex;flex-direction:column;gap:8px}.builder-turn-head{display:flex;align-items:center;gap:10px}.builder-turn-head strong{flex:1;font-size:13px}.builder-turn-head .mini{align-self:center;padding:3px 8px}.hand-toggle{display:flex;gap:4px;background:var(--input-bg);border:1px solid var(--input-line);border-radius:8px;padding:3px}.hand-toggle button{background:transparent;border:none;color:var(--muted);font-family:inherit;font-size:12px;font-weight:600;padding:4px 10px;border-radius:6px;cursor:pointer}.hand-toggle button.is-on{background:var(--accent);color:var(--on-accent)}.builder-add{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);flex-wrap:wrap}.builder-add .mini{align-self:center}.builder-branches{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px;font-size:12px;color:var(--muted)}.builder-branch{display:flex;align-items:center;gap:6px;flex:1 1 100%}.builder-branch em{font-style:normal;opacity:.8}.extra-row{display:grid;grid-template-columns:1fr 88px 118px auto;gap:6px;align-items:center}.extra-row .mini{align-self:center;padding:3px 8px}.plan-hit-turn{cursor:grab}.plan-hit-turn:hover{fill:#f26a1b24}.plan-hit-turn:active{cursor:grabbing}.plan-handle{cursor:pointer}.plan-handle:hover circle{fill:#f26a1b4d}.plan-handle text{pointer-events:none;-webkit-user-select:none;user-select:none}.plan-handle-drag{cursor:grab}.plan-handle-drag:active{cursor:grabbing}.plan-menu{position:fixed;z-index:60;min-width:220px;max-width:320px;background:var(--surface);border:1px solid var(--input-line);border-radius:10px;padding:6px;box-shadow:var(--shadow-pop);font-size:13px}.plan-menu-title{padding:4px 10px 6px;color:var(--muted);font-size:11px;letter-spacing:.04em}.plan-menu button{display:block;width:100%;text-align:left;background:transparent;border:none;color:var(--text);font-family:inherit;font-size:13px;padding:7px 10px;border-radius:6px;cursor:pointer}.plan-menu button:hover:not(:disabled){background:#f26a1b29}.plan-menu button:disabled{color:var(--muted);cursor:default}.plan-menu button.danger{color:var(--bad)}.plan-menu button small{display:block;color:var(--muted);font-size:11px}.plan-menu hr{border:none;border-top:1px solid var(--input-line);margin:4px 0}.plan-mode{position:absolute;left:12px;top:12px;z-index:5;background:#1d2226eb;border:1px solid var(--accent);color:var(--text);border-radius:8px;padding:6px 10px;font-size:12px;pointer-events:none}.plan-canvas{position:relative}.plan-arm{fill:transparent;cursor:crosshair}.feature-pick{display:grid;grid-template-columns:1fr 96px;gap:8px;align-items:end}.page{max-width:1240px;margin:0 auto;padding:28px 32px 72px}.page-head{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;padding:0 0 22px}.page-head h1{margin:0;font-size:28px;line-height:1.15}.page-head .sub{margin:4px 0 0}.page-sub{margin:6px 0 0;color:var(--muted);font-size:14px}.page-sub a{color:var(--text);text-decoration:none;font-weight:600}.page-sub a:hover{color:var(--accent)}.page-head .spacer{flex:1}.crumbs{font-size:13px;color:var(--muted);margin-bottom:6px}.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--accent);text-decoration:underline}.btn{background:var(--surface);border:1px solid var(--line-strong);color:var(--text);font-family:inherit;font-size:13px;font-weight:600;line-height:1.2;padding:8px 14px;border-radius:var(--radius-sm);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;transition:background-color .12s,border-color .12s}.btn:hover:not(:disabled){border-color:var(--text)}.btn:disabled{opacity:.45;cursor:default}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn.danger{color:var(--bad)}.btn.danger:hover:not(:disabled){border-color:var(--bad);background:var(--bad-soft)}.btn.small{font-size:12px;padding:5px 10px}.segmented{display:inline-flex;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:2px;gap:2px}.segmented button{background:none;border:none;border-radius:5px;color:var(--muted);font:inherit;font-size:13px;font-weight:500;padding:6px 12px;cursor:pointer}.segmented button:hover{color:var(--text)}.segmented button.on{background:var(--surface);color:var(--text);font-weight:650;box-shadow:0 1px 2px #1d22261f,0 0 0 1px var(--line)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px}.card>h3,.card-head h3{margin:0 0 14px;font-family:var(--font-display);font-size:16px;font-weight:650;color:var(--text)}.card h4{font-size:13px;font-weight:650}.card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px}.card-head h3{margin:0}.stack{display:flex;flex-direction:column;gap:14px}.split{display:grid;grid-template-columns:minmax(320px,5fr) minmax(360px,7fr);gap:20px;align-items:start}@media(max-width:900px){.split{grid-template-columns:1fr}.page{padding:20px 16px 60px}}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.muted{color:var(--muted)}.small{font-size:12px}.error-box{border:1px solid #efc4bf;background:var(--bad-soft);color:var(--bad);border-radius:var(--radius-sm);padding:10px 14px;font-size:13px}.warn-box{border:1px solid #f0d9a6;background:var(--warn-soft);color:#5c3d00;border-radius:var(--radius-sm);padding:10px 14px;font-size:13px}.empty{color:var(--muted);font-size:13px;padding:22px 0;text-align:center}.ui-check{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}.ui-check input{accent-color:var(--accent);width:16px;height:16px}.list{width:100%;border-collapse:collapse;font-size:13.5px}.list th{text-align:left;font-size:12px;color:var(--muted);font-weight:600;padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap}.list td{padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:top}.list tbody tr:last-child td{border-bottom:none}.list tr.clickable{cursor:pointer}.list tr.clickable:hover td{background:var(--surface-2)}.list td.num,.list th.num{text-align:right;white-space:nowrap}.list a{color:var(--text);text-decoration:none;font-weight:600}.list a:hover{color:var(--accent)}.card[style*="padding: 0"] .list th:first-child,.card[style*="padding: 0"] .list td:first-child{padding-left:20px}.card[style*="padding: 0"] .list th:last-child,.card[style*="padding: 0"] .list td:last-child{padding-right:20px}.badge{display:inline-block;font-size:11.5px;font-weight:600;line-height:1.5;padding:1px 8px;border-radius:999px;border:1px solid transparent;background:var(--surface-2);color:var(--muted);white-space:nowrap;vertical-align:middle}.badge.trade{color:var(--info);background:var(--info-soft)}.badge.supplier{color:var(--warn);background:var(--warn-soft)}.stage-enquiry{color:#50585f;background:#eceeea}.stage-quoted{color:#a44208;background:var(--accent-soft)}.stage-order{color:var(--good);background:var(--good-soft)}.stage-delivered{color:var(--info);background:var(--info-soft)}.stage-invoiced{color:#6a4596;background:#f1eaf8}.stage-paid{color:#1f6b5a;background:#e2f2ee}.stage-lost{color:var(--bad);background:var(--bad-soft)}.stepper{display:flex;align-items:flex-end;flex-wrap:wrap;gap:3px;border-bottom:2px solid var(--text)}.stepper button{display:flex;align-items:flex-end;min-width:104px;padding:0 12px 7px;background:var(--surface);border:1px solid var(--line-strong);border-top:3px solid var(--line-strong);border-bottom:none;border-radius:3px 3px 0 0;color:var(--muted);font:inherit;font-size:13px;font-weight:600;text-align:left;cursor:pointer;transition:background-color .12s,border-color .12s}.stepper button:nth-child(1){height:34px}.stepper button:nth-child(2){height:42px}.stepper button:nth-child(3){height:50px}.stepper button:nth-child(4){height:58px}.stepper button:nth-child(5){height:66px}.stepper button:nth-child(6){height:74px}.stepper button:hover:not(:disabled){border-top-color:var(--brand);color:var(--text)}.stepper button.done{background:#e9ebe7;border-color:#d6d9d4;border-top-color:var(--text);color:var(--text)}.stepper button.on{background:var(--accent);border-color:var(--accent);border-top-color:var(--brand);color:var(--on-accent);font-weight:700}.stepper button.lost{height:30px;min-width:0;margin:0 0 6px auto;border:1px dashed var(--line-strong);border-radius:999px;padding:0 14px;align-items:center}.stepper button.lost:hover:not(:disabled){border-color:var(--bad);color:var(--bad)}.stepper button.lost.on{background:var(--bad);border:1px solid var(--bad);color:#fff}@media(max-width:700px){.stepper button{min-width:0;flex:1 1 30%}}.timeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.timeline li{display:grid;grid-template-columns:16px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.timeline li:last-child{border-bottom:none}.timeline .tl-dot{width:9px;height:9px;border-radius:50%;margin-top:5px;background:var(--muted)}.timeline .tl-note{background:var(--text)}.timeline .tl-call{background:var(--info)}.timeline .tl-stage{background:var(--brand)}.timeline .tl-quote{background:var(--good)}.timeline .tl-created{background:var(--line-strong)}.timeline .tl-invoice{background:#7a52a8}.timeline .tl-payment{background:#1f8a70}.timeline .tl-portal{background:var(--accent)}.timeline .tl-message{background:var(--info);box-shadow:0 0 0 3px var(--info-soft)}.timeline .tl-document{background:var(--muted)}.docs-card{transition:box-shadow .12s}.docs-card.docs-over{box-shadow:0 0 0 2px var(--brand)}.link-btn{background:none;border:0;padding:0;font:inherit;font-weight:600;color:var(--accent);cursor:pointer;text-align:left;word-break:break-word}.link-btn:hover{text-decoration:underline}.timeline .body{white-space:pre-wrap;font-size:13.5px;line-height:1.45}.timeline .meta{font-size:12px;color:var(--muted);margin-top:2px}.timeline .meta a{color:var(--muted)}.note-form{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}.board{display:grid;grid-template-columns:repeat(5,minmax(210px,1fr));gap:12px;overflow-x:auto;padding-bottom:8px}.board-col{background:#e9ebe7;border:1px solid transparent;border-radius:var(--radius);padding:10px;min-height:260px;display:flex;flex-direction:column;gap:8px}.board-col.drop{border-color:var(--brand);background:var(--accent-soft)}.board-col h3{margin:4px 4px 6px;font-family:var(--font-display);font-size:14px;font-weight:650;color:var(--text);display:flex;justify-content:space-between}.board-col h3 span{color:var(--muted);font-family:var(--font-ui);font-weight:600}.job-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px 12px;cursor:pointer;display:flex;flex-direction:column;gap:3px;color:var(--text);text-decoration:none;box-shadow:0 1px 1px #1d22260d}.job-card:hover{border-color:var(--line-strong);box-shadow:0 2px 8px #1d222614}.job-card.dragging{opacity:.4}.job-card .ref{font-size:12px;color:var(--muted);display:flex;justify-content:space-between}.job-card .title{font-weight:650;font-size:13.5px}.job-card .who{font-size:12.5px;color:var(--muted)}.job-card .value{font-size:13.5px;font-weight:700}.pick-list{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:4px;max-height:340px;overflow-y:auto}.pick-list button{width:100%;text-align:left;background:var(--surface);border:1px solid var(--line);color:var(--text);font:inherit;font-size:13.5px;padding:9px 12px;border-radius:var(--radius-sm);cursor:pointer;display:flex;justify-content:space-between;gap:8px}.pick-list button:hover{border-color:var(--line-strong);background:var(--surface-2)}.pick-list small{color:var(--muted)}.link-chip{display:flex;align-items:center;gap:8px;border:1px solid #f5cdb2;background:var(--accent-soft);border-radius:var(--radius-sm);padding:8px 10px;font-size:13px}.link-chip a{color:var(--text);font-weight:650;text-decoration:none}.link-chip a:hover{color:var(--accent)}.link-chip .x{margin-left:auto;flex-shrink:0;flex-wrap:nowrap}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:20px}.tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;display:flex;flex-direction:column;gap:4px;color:var(--text);text-decoration:none}a.tile:hover{border-color:var(--line-strong)}.tile-label{font-size:13px;font-weight:600;color:var(--muted)}.tile-value{font-family:var(--font-display);font-size:28px;font-weight:650;letter-spacing:-.02em;line-height:1.15}.tile-sub{font-size:12.5px;color:var(--muted)}.tasks{list-style:none;margin:0;padding:0}.tasks li{display:grid;grid-template-columns:22px 1fr;gap:8px;padding:9px 0;border-bottom:1px solid var(--line);font-size:13.5px}.tasks li:last-child{border-bottom:none}.tasks input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px;margin-top:2px;cursor:pointer}.tasks a{color:var(--muted)}.task-late{color:var(--bad);font-weight:600}.task-today{color:var(--accent);font-weight:600}.split.editor{grid-template-columns:minmax(280px,340px) minmax(0,1fr)}@media(max-width:900px){.split.editor{grid-template-columns:1fr}}.mlines{display:flex;flex-direction:column;gap:10px}.mline{border:1px solid var(--line);background:var(--surface-2);border-radius:var(--radius-sm);padding:10px;display:flex;flex-direction:column;gap:8px}.mline.is-optional{border-style:dashed}.mline.is-optional .mline-total{color:var(--muted)}.mline-desc{display:flex;gap:8px;align-items:flex-start}.mline-desc textarea{flex:1}.mline-nums{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}.mline-nums label{display:flex;flex-direction:column;gap:3px;font-size:11px;color:var(--muted)}.mline-nums label input,.mline-nums label select{padding:7px 8px;font-size:13px;width:92px}.mline-nums label:first-child input{width:72px}.mline-nums .mline-opt{flex-direction:row;align-items:center;gap:6px;font-size:12px;color:var(--text);padding-bottom:8px;cursor:pointer}.mline-nums .mline-opt input{accent-color:var(--accent);width:16px;height:16px}.mline-total{margin-left:auto;font-size:14px;padding-bottom:8px}.thumb{width:36px;height:36px;object-fit:cover;border-radius:6px;flex:none;background:#fff}.thumb.large{width:96px;height:96px}.brand-preview{border-radius:10px;padding:14px 16px;max-width:none;margin:0}.brand-preview .sheet-foot{margin-top:10px}@media print{.screen-only,.screen-only-fixed{display:none!important}}body:has(.show-sheet) .screen-only{display:none}.screen-only-fixed{position:fixed;top:16px;right:20px;z-index:40}.badge.inv-draft{color:#50585f;background:#eceeea}.badge.inv-unpaid{color:#a44208;background:var(--accent-soft)}.badge.inv-part-paid{color:var(--info);background:var(--info-soft)}.badge.inv-overdue{color:#fff;background:var(--bad)}.badge.inv-paid{color:var(--good);background:var(--good-soft)}.badge.inv-refund-due{color:var(--warn);background:var(--warn-soft)}.badge.inv-credit{color:#6a4596;background:#f1eaf8}.list .inv-pick{width:34px}.list .inv-pick input{accent-color:var(--accent);width:16px;height:16px;margin:0;vertical-align:middle}.list tr.is-picked td{background:var(--accent-soft)}.inv-selbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px;padding:8px 12px;background:var(--surface);border:1px solid var(--accent);border-radius:var(--radius-sm)}.inv-selbar .spacer{flex:1}.inv-dates{align-items:flex-end}.inv-dates .field{max-width:170px}.inv-outcomes{margin:0;padding-left:18px;font-size:13px}.inv-outcomes .is-bad{color:var(--bad)}.inv-print-batch>.sheet+.sheet{break-before:page}.billing-figures{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;margin-bottom:12px}.billing-figures div{display:flex;flex-direction:column;gap:2px}.billing-figures span{font-size:12px;font-weight:600;color:var(--muted)}.billing-figures strong{font-family:var(--font-display);font-size:19px;font-weight:650}.sched-rows{display:flex;flex-direction:column;gap:8px}.sched-row{background:var(--surface-2);display:grid;grid-template-columns:minmax(110px,1.2fr) 110px 100px minmax(170px,2fr) 90px 34px;gap:6px;align-items:center;padding:8px;border:1px solid var(--line);border-radius:var(--radius-sm)}.sched-row.is-locked{opacity:.7}.sched-row .sched-when{display:flex;flex-wrap:wrap;gap:6px}.sched-row .sched-when>*{flex:1 1 120px;min-width:0}.sched-row .sched-amount{text-align:right;font-variant-numeric:tabular-nums}.sched-head{display:grid;grid-template-columns:minmax(110px,1.2fr) 110px 100px minmax(170px,2fr) 90px 34px;gap:6px;padding:0 8px;font-size:12px;font-weight:600;color:var(--muted)}@media(max-width:760px){.sched-row,.sched-head{grid-template-columns:1fr 1fr}}.inv-line-nums{display:grid;grid-template-columns:80px 130px 90px 1fr;gap:6px;align-items:end}.inv-line-nums label{display:flex;flex-direction:column;gap:2px;font-size:11px;color:var(--muted)}.linkish{background:none;border:none;padding:0;font:inherit;color:var(--accent);cursor:pointer;text-decoration:underline}.linkish:disabled{color:var(--muted);cursor:default}.contact-suggest{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.contact-suggest .mini{align-self:center}.pay-methods-row{display:flex;flex-wrap:wrap;gap:8px 18px}.pay-methods .hint{margin:6px 0 0}.sent-note{font-size:12px;color:var(--muted)}.shell{display:flex;min-height:100vh}.shell-nav{flex:none;width:212px;border-right:1px solid var(--line);background:var(--surface);padding:18px 12px;position:sticky;top:0;height:100vh;overflow-x:hidden;overflow-y:auto}.shell.collapsed .shell-nav{width:52px;padding:18px 8px}.shell-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 22px 8px}.shell.collapsed .shell-top{margin-left:0;justify-content:center}.shell-logo{display:block;color:var(--text)}.shell-logo svg{display:block;height:30px;width:auto}.shell-toggle{flex:none;background:none;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--muted);width:30px;height:28px;cursor:pointer;font-size:14px}.shell-toggle:hover{color:var(--text);border-color:var(--line)}.shell-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.shell-nav a:not(.shell-logo){position:relative;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-radius:var(--radius-sm);color:var(--text);text-decoration:none;font-size:14px;font-weight:500}.shell-nav a:not(.shell-logo):hover{background:var(--surface-2)}.shell-nav a.active{background:var(--accent-soft);color:var(--accent-hover);font-weight:650}.shell-nav a.active:before{content:"";position:absolute;left:-12px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--brand)}.shell-nav small{color:var(--muted);font-size:11px;font-weight:500}.shell-main{flex:1;min-width:0}.shell-soon{max-width:560px;margin:96px auto;padding:0 24px}.shell-soon h1{margin:0 0 12px;font-size:30px}.shell-soon p{line-height:1.55}.shell-soon .shell-soon-phase{color:var(--muted)}body:has(.show-sheet) .shell-nav{display:none}@media print{.shell-nav{display:none}.shell{display:block}}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-vietnamese-wght-normal-BUzh504Q.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-ext-wght-normal-CcLUaPy7.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-wght-normal-DLoelf7F.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-vietnamese-wght-normal-CHiFlh_0.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-latin-ext-wght-normal-Dg-wlmqe.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-latin-wght-normal-CaVRRdDk.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #f2f3f0;--surface: #ffffff;--surface-2: #f7f8f6;--line: #e1e3df;--line-strong: #cdd1cc;--text: #1d2226;--muted: #687078;--brand: #f26a1b;--accent: #c4500b;--accent-hover: #a94409;--accent-soft: #fdeee4;--on-accent: #ffffff;--good: #2f7d4f;--good-soft: #e5f3ea;--bad: #b83a2e;--bad-soft: #fbe9e7;--warn: #8a5a00;--warn-soft: #fdf3dc;--info: #2c6a93;--info-soft: #e6f0f7;--input-bg: #ffffff;--input-line: var(--line-strong);--font-ui: "Hanken Grotesk Variable", "Segoe UI", system-ui, sans-serif;--font-display: "Bricolage Grotesque Variable", "Hanken Grotesk Variable", "Segoe UI", sans-serif;--radius: 10px;--radius-sm: 7px;--shadow-pop: 0 12px 40px rgba(29, 34, 38, .16), 0 2px 6px rgba(29, 34, 38, .08);color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-ui);font-size:14px;line-height:1.45;font-feature-settings:"tnum" 1;-webkit-font-smoothing:antialiased}h1,h2{font-family:var(--font-display);font-weight:650;letter-spacing:-.01em}a{color:var(--accent)}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
