@font-face{font-family:Manrope;src:url(fonts/Manrope-800.ttf);font-weight:800;font-display:swap}@font-face{font-family:Inter;src:url(fonts/Inter.ttf);font-weight:100 900;font-display:swap}
:root{--ink:#101828;--teal:#0f766e;--mint:#2dd4bf;--cloud:#f7f9fc;--mist:#d9e2ec;--muted:#586577;--white:#fff}*{box-sizing:border-box}body{margin:0;background:var(--cloud);color:var(--ink);font:14px/1.55 Inter,Arial,sans-serif}.shell{max-width:1500px;margin:auto;padding:0 48px}.topbar{display:flex;justify-content:space-between;align-items:center;min-height:103px;border-bottom:1px solid var(--mist)}.brand{color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:12px;font:800 22px Manrope,Arial,sans-serif}.brand small{display:block;font:9px Inter,Arial,sans-serif;letter-spacing:.1em;margin-top:5px}.badge{display:flex;align-items:center;gap:8px;border:1px solid var(--mist);border-radius:30px;font-size:9px;letter-spacing:.08em;padding:9px 12px}.badge i{width:6px;height:6px;border-radius:50%;background:var(--teal)}.intro{display:flex;align-items:end;justify-content:space-between;gap:40px;padding:42px 0 28px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.13em;color:var(--teal);margin:0 0 10px}h1,h2,h3{font-family:Manrope,Arial,sans-serif;font-weight:800}h1{font-size:48px;line-height:1.15;letter-spacing:-1.8px;margin:0 0 15px}h1 span{color:var(--teal)}.lede{font-size:15px;color:var(--muted);margin:0}.local-note{display:flex;gap:16px;border-left:1px solid var(--mist);padding:8px 0 8px 27px;max-width:280px;font-size:12px}.local-note>span{font-size:28px;line-height:1;color:var(--teal)}.local-note p{font-size:11px;color:var(--muted);margin:5px 0}.sample-banner{display:flex;gap:10px;flex-wrap:wrap;border:1px solid #b4dacf;background:#eaf7f2;padding:12px 16px;border-radius:10px;font-size:11px;margin-bottom:27px}.sample-banner strong{color:#12594c}.sample-banner span{color:#3c665d}.workspace{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:28px;align-items:start}.builder,.review{min-width:0}.card{background:white;border:1px solid var(--mist);border-radius:14px;padding:24px;margin-bottom:18px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.section-heading .eyebrow{font-size:9px;margin-bottom:4px}h2{font-size:22px;letter-spacing:-.5px;margin:0}.step-note{font-size:10px;color:var(--muted);text-align:right;max-width:120px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.wide{grid-column:1/-1}label{display:block;font-size:11px;font-weight:600;min-width:0}.optional{font-weight:400;color:var(--muted);font-size:9px;margin-left:4px}input,textarea,select{width:100%;font:12px/1.5 Inter,Arial,sans-serif;border:1px solid var(--mist);border-radius:7px;color:var(--ink);background:white;padding:9px 10px;min-height:40px;margin-top:6px}textarea{resize:vertical}#title{font-weight:600;font-size:15px}#currency{text-transform:uppercase;letter-spacing:.1em}button{font:600 11px/1.4 Inter,Arial,sans-serif;border:1px solid var(--teal);background:var(--teal);color:white;border-radius:8px;padding:10px 13px;min-height:42px;cursor:pointer}button:hover{filter:brightness(.94)}button:disabled{opacity:.5;cursor:not-allowed}.secondary{background:white;color:var(--ink);border-color:var(--mist)}.text-button{background:none;border:0;color:var(--teal);padding:8px;font-size:11px}.danger{color:#a33626}.hint{font-size:10px;font-weight:400;color:var(--muted);margin:7px 0 0;line-height:1.6}.field-grid .hint{margin-top:-4px}.section-copy{font-size:11px;color:var(--muted);margin:-10px 0 18px}.line-card{border:1px solid var(--mist);border-radius:10px;padding:14px;margin:12px 0;background:#fbfcfe}.line-top{display:flex;gap:8px;align-items:center;margin-bottom:8px}.line-number{color:var(--muted);font-size:10px;min-width:17px}.line-top select{width:120px;margin:0;min-height:34px;font-size:10px;padding:5px 7px}.row-actions{display:flex;gap:3px;margin-left:auto}.row-actions button{background:white;border-color:var(--mist);color:var(--muted);padding:4px 7px;min-height:34px;min-width:30px;font-size:10px}.row-actions button[data-action=remove]{color:#a33626}.line-description textarea{min-height:64px;margin-top:4px}.line-values{display:grid;grid-template-columns:1fr 1.35fr 1.6fr;gap:12px;margin-top:12px}.line-values label{font-size:10px}.line-values input{margin-top:4px}.line-amount{font-size:10px;color:var(--muted);padding-top:0;min-width:0}.line-amount strong{display:block;color:var(--ink);font-size:12px;margin-top:14px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.line-footer{display:flex;justify-content:space-between;gap:10px;font-size:9px;color:var(--muted);margin:13px 0 18px}.line-footer>span:first-child{color:var(--teal);font-weight:600}.discount-row{display:grid;grid-template-columns:1fr 1fr;gap:15px;border-top:1px solid var(--mist);padding-top:17px}.discount-row input:disabled{background:#f1f4f8;color:var(--muted)}.preset-save,.preset-load{display:flex;gap:8px;align-items:center;margin-top:12px}.preset-save input,.preset-load select{margin:0;flex:1;min-width:0}.preset-save button,.preset-load button{flex-shrink:0}.preset-load .text-button{padding:5px}.review-heading{padding:7px 0 17px}.review-heading .eyebrow{font-size:9px;margin-bottom:4px}.review-heading h2{font-size:25px}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:16px;background:var(--ink);color:white;padding:22px;border-radius:14px}.metrics span{font-size:10px;color:#bfccd8;display:block}.metrics strong{display:block;font:800 18px/1.5 Manrope,Arial,sans-serif;margin-top:4px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.metrics .grand{grid-column:1/-1;border-top:1px solid #344054;padding-top:14px}.metrics .grand strong{font-size:32px;color:var(--mint);letter-spacing:-.7px}.overflow{font-size:10px;color:var(--muted);margin:14px 2px;line-height:1.6}.overflow.warning{padding:12px 14px;background:#fff6e9;border:1px solid #e5cda8;border-radius:8px;color:#7b4b0c}#errors{border:1px solid #e8b9aa;background:#fff5f0;border-radius:8px;padding:13px;color:#8b2f1b;font-size:12px;margin:0 0 15px}.paper{background:white;padding:30px;border:1px solid var(--mist);box-shadow:0 5px 17px #10182806;color:var(--ink);font:10px/1.5 Inter,Arial,sans-serif;overflow-wrap:anywhere}.paper-top{display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:2px solid var(--ink);padding-bottom:16px;margin-bottom:21px}.paper-brand{font-size:8px;font-weight:700;letter-spacing:.12em}.estimate-badge{font-size:8px;letter-spacing:.07em;border:1px solid #9fbfb8;padding:4px 7px;color:#12594c;white-space:nowrap}.paper h2{font-size:24px;line-height:1.25;letter-spacing:-.6px;margin:0 0 6px;white-space:pre-wrap}.paper-reference{font-size:9px;color:var(--muted);margin:0 0 20px;white-space:pre-wrap}.paper-parties{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:0 0 22px}.paper h3{font-family:Inter,Arial,sans-serif;font-size:8px;font-weight:700;letter-spacing:.1em;margin:0 0 8px;color:var(--muted)}.paper-parties p,.paper-notes p{white-space:pre-wrap;margin:0}.print-table{width:100%;border-collapse:collapse;table-layout:fixed}.print-table th{font-size:8px;font-weight:600;color:var(--muted);text-align:right;border-bottom:1px solid var(--mist);padding:8px 0}.print-table th:first-child{width:46%;text-align:left}.print-table th:nth-child(2){width:10%}.print-table th:nth-child(3),.print-table th:nth-child(4){width:22%}.print-table td{font-size:9px;text-align:right;vertical-align:top;border-bottom:1px solid #e8edf3;padding:11px 0 11px 6px;font-variant-numeric:tabular-nums}.print-table td:first-child{text-align:left;padding-left:0;padding-right:10px;white-space:pre-wrap}.print-table small{display:block;font-size:7px;color:var(--muted);margin-top:4px;text-transform:uppercase;letter-spacing:.05em}.paper-totals{margin:17px 0 20px auto;width:70%}.paper-totals p{display:flex;justify-content:space-between;gap:12px;margin:7px 0;font-size:10px}.paper-totals strong{text-align:right}.paper-grand{border-top:1px solid var(--ink);padding-top:10px;font-weight:600}.paper-grand strong{font-size:13px;color:var(--teal)}.paper-notes{border-top:1px solid var(--mist);padding-top:15px;margin-top:18px}.paper-notes p{font-size:9px}.paper-footer{border-top:1px solid var(--mist);margin-top:25px;padding-top:12px;color:var(--muted);font-size:7px;line-height:1.6}.invalid-paper{background:white;border:1px dashed var(--mist);padding:50px 30px;text-align:center;color:var(--muted);font-size:13px}.export-card{padding:23px 0 0}.export-card h3{font-size:19px;margin:0 0 8px}.export-card p{font-size:11px;color:var(--muted);margin:0 0 14px}.actions{display:flex;flex-wrap:wrap;gap:8px}.utility-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:10px 0 20px}.utility-row>div{display:flex;flex-wrap:wrap}.utility-row p{font-size:11px;color:var(--muted);max-width:480px;text-align:right}.help{border-top:1px solid var(--mist);padding:20px 0;color:var(--muted);font-size:11px}.help summary{font-weight:600;color:var(--teal);cursor:pointer}.help p{max-width:850px}.site-footer>span:first-child{max-width:850px}.site-footer>span:last-child{white-space:nowrap}.site-footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--mist);padding:23px 0 30px;color:var(--muted);font-size:10px}.empty{text-align:center;padding:30px 15px;color:var(--muted)}.empty strong{font:800 19px Manrope,Arial,sans-serif;color:var(--ink)}.empty p{font-size:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.skip{position:absolute;left:20px;top:-100px;padding:10px;background:white;z-index:5}.skip:focus{top:10px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--mint);outline-offset:3px}dialog{max-width:490px;width:calc(100% - 36px);padding:28px;border:1px solid var(--mist);border-radius:14px;color:var(--ink);box-shadow:0 20px 80px #10182830}dialog::backdrop{background:#10182880}dialog p{font-size:13px;color:var(--muted);margin:14px 0 22px}[aria-invalid=true]{border-color:#b54730;background:#fff5f0}[hidden]{display:none!important}
@media(max-width:1150px){.shell{padding:0 28px}.workspace{gap:20px}.card{padding:20px}.paper{padding:22px}.row-actions button{padding:4px 5px}.step-note{display:none}.preset-load{flex-wrap:wrap}.preset-load select{flex-basis:100%}.preset-load button{flex:1}.paper h2{font-size:21px}}
@media(max-width:850px){.shell{padding:0 20px}.topbar{min-height:83px}.brand{font-size:20px}.brand small{font-size:7px}.intro{padding:30px 0 25px;display:block}h1{font-size:41px;letter-spacing:-1.5px}.lede{font-size:13px}.local-note{max-width:none;padding:0;border:0;margin-top:22px}.workspace{grid-template-columns:1fr}.review-heading{padding-top:10px}.review{max-width:650px;width:100%;margin:auto}.preset-load{flex-wrap:nowrap}.preset-load select{flex-basis:auto}.preset-load button{flex:initial}.metrics{grid-template-columns:1fr 1fr}.paper{padding:30px}.paper h2{font-size:26px}.paper-totals{width:65%}.paper .print-table td{font-size:10px}.utility-row{display:block;margin-top:24px}.utility-row p{text-align:left;max-width:none}.card{padding:22px}.sample-banner{font-size:10px}.site-footer{font-size:9px}}
@media(max-width:480px){.shell{padding:0 14px}.badge{font-size:7px;letter-spacing:0;padding:7px}.brand{gap:7px;font-size:18px}.brand img{width:30px;height:30px}.card{padding:17px}.field-grid{gap:13px}.field-grid label:nth-child(4),.field-grid label:nth-child(5){grid-column:1/-1}.section-heading{gap:10px}h2{font-size:20px}.section-heading button{font-size:10px;padding:9px}.line-card{padding:11px}.row-actions{gap:2px}.row-actions button{min-width:28px;padding:4px;font-size:9px}.line-top select{width:93px}.line-values{gap:8px;grid-template-columns:1fr 1.15fr 1.2fr}.line-amount strong{font-size:10px}.line-footer{font-size:8px}.preset-load{flex-wrap:wrap}.preset-load select{flex-basis:100%}.preset-load button{flex:1}.preset-save{flex-wrap:wrap}.preset-save input{flex-basis:100%}.paper{padding:20px}.paper h2{font-size:23px}.paper-top{gap:8px}.paper-brand{font-size:7px}.estimate-badge{font-size:7px;padding:3px}.paper-parties{gap:15px}.paper .print-table td{font-size:8px}.print-table th{font-size:7px}.paper-totals{width:80%}.paper-totals p{font-size:9px}.metrics .grand strong{font-size:28px}.site-footer{display:block}.site-footer span{display:block;margin:6px 0}.preset-save button{width:100%}}
@page{size:portrait;margin:14mm}
@media print{body{background:white;color:#000;font:10pt/1.4 Arial,sans-serif}.shell{padding:0;max-width:none}.topbar,.intro,.sample-banner,.builder,.review-heading,.metrics,.overflow,.export-card,.utility-row,.help,.site-footer,.skip,dialog,noscript,#errors{display:none!important}.workspace{display:block}.review{max-width:none;width:100%}.paper{border:0;padding:0;box-shadow:none;font:9pt/1.4 Arial,sans-serif;color:#000}.paper-top{padding-bottom:12pt;margin-bottom:18pt;border-color:#000}.paper-brand{font-size:8pt}.estimate-badge{font-size:8pt;color:#000;border-color:#555}.paper h2{font:700 22pt/1.2 Arial,sans-serif;letter-spacing:0}.paper-reference{font-size:9pt;margin-bottom:17pt}.paper-parties{margin-bottom:18pt}.paper h3{font:700 8pt Arial,sans-serif;color:#444}.paper-parties p{font-size:9pt}.print-table th{font-size:8pt}.paper .print-table td{font-size:9pt;padding:8pt 0 8pt 5pt}.paper .print-table td:first-child{padding-left:0;padding-right:8pt}.print-table small{font-size:7pt}.print-table thead{display:table-header-group}.print-table tr,.paper-totals,.paper-top{break-inside:avoid;page-break-inside:avoid}.paper-totals{width:55%;margin:15pt 0 18pt auto}.paper-totals p{font-size:9pt}.paper-grand strong{font-size:12pt;color:#000}.paper-notes{padding-top:12pt}.paper-notes p{font-size:9pt}.paper-footer{font-size:7pt;margin-top:20pt;padding-top:10pt;color:#444}.invalid-paper{border:0;padding:30pt;font-size:16pt}#print-invalid[aria-invalid=true]{border-color:#b54730;background:#fff5f0}[hidden]{display:none!important}}
@media(max-width:480px){.line-top{flex-wrap:wrap}.row-actions{max-width:100%}}
.line-top .unit-mode{width:112px;color:var(--teal)}.payment-row{border:1px solid var(--mist);border-radius:9px;background:#fbfcfe;padding:14px;margin:12px 0}.payment-row-top{display:flex;gap:10px;align-items:center}.payment-row-top label{flex:1}.payment-actions{display:flex;gap:4px;align-items:center;padding-top:20px}.payment-actions button{background:white;color:var(--muted);border-color:var(--mist);padding:6px 8px;min-height:34px}.payment-actions button[data-payment-action=remove]{color:#a33626}.payment-values{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}.payment-amount{margin:10px 0 0;color:var(--teal);font-weight:600;font-size:12px}.schedule-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;margin:15px 0}.balance-timing{margin-top:16px}.schedule-summary{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:16px;background:#edf8f4;border:1px solid #c6e4d9;border-radius:9px;margin-top:18px}.schedule-summary span{font-size:10px;color:#3c665d}.schedule-summary strong{display:block;font-size:15px;color:var(--teal);margin-top:5px;overflow-wrap:anywhere}.manual-reference{margin-top:20px;padding-top:17px;border-top:1px solid var(--mist)}.paper-schedule{margin:20px 0;border-top:1px solid var(--mist);padding-top:15px}.schedule-disclaimer{font-size:8px;color:var(--muted);margin:0 0 9px}.schedule-print-table{border-collapse:collapse;width:100%;table-layout:fixed}.schedule-print-table th{text-align:left;font-size:8px;color:var(--muted);padding:7px 0;border-bottom:1px solid var(--mist)}.schedule-print-table th:first-child{width:55%}.schedule-print-table th:nth-child(2){width:20%}.schedule-print-table th:last-child{width:25%;text-align:right}.schedule-print-table td{padding:8px 0;border-bottom:1px solid #e8edf3;font-size:9px;vertical-align:top;white-space:pre-wrap;overflow-wrap:anywhere}.schedule-print-table td:first-child{padding-right:10px}.schedule-print-table td:last-child{text-align:right;font-variant-numeric:tabular-nums}.schedule-print-table small{display:block;color:var(--muted);font-size:8px}.manual-print{font-size:8px;background:#f7f9fc;padding:10px;white-space:pre-wrap}.schedule-print-table tr{break-inside:avoid;page-break-inside:avoid}
@media(max-width:1150px){.line-top{flex-wrap:wrap}.line-top .unit-mode{width:100px}.payment-actions button{padding:5px;min-width:29px}}
@media(max-width:480px){.line-top .unit-mode{width:100px}.row-actions{margin-left:0}.payment-row{padding:11px}.payment-row-top{flex-wrap:wrap}.payment-row-top label{flex-basis:100%}.payment-actions{padding-top:0;margin-left:auto}.schedule-summary{padding:12px;gap:10px}.schedule-summary strong{font-size:12px}.schedule-print-table td{font-size:8px}}
@media print{.paper-schedule{margin:15pt 0;padding-top:12pt}.schedule-disclaimer{font-size:8pt}.schedule-print-table thead{display:table-header-group}.schedule-print-table th{font-size:8pt}.schedule-print-table td{font-size:9pt;padding:7pt 0}.schedule-print-table small,.manual-print{font-size:8pt}.manual-print{background:none;padding:8pt 0}}
