@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{--ink:#172d32;--muted:#63777b;--teal:#17605c;--lime:#dcf39c;--line:#dfe7e7;--bg:#f3f6f6;--white:#fff;--dark:#143e40;--danger:#a34025;--radius:16px;font-family:'DM Sans',Arial,sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button,a,summary,input,select{outline-offset:4px}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #599e93}button{transition:background .15s,border-color .15s,transform .15s}button:active:not(:disabled){transform:translateY(1px)}[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1,h2,h3,.price{font-family:Manrope,'DM Sans',Arial,sans-serif}input,select{width:100%;min-width:0;border:1px solid #d5e0df;background:#fff;border-radius:8px;padding:11px 12px;color:var(--ink);font-size:14px;min-height:44px}input:focus,select:focus{border-color:var(--teal)}input[aria-invalid=true]{border-color:var(--danger);background:#fff8f4}label{display:block;font-size:14px;font-weight:550;margin:17px 0 7px}a{color:var(--teal)}.header{height:88px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(32px,calc((100vw - 1480px)/2))}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;font-size:24px;font-weight:800;letter-spacing:-1px}.brand small{display:block;letter-spacing:2.6px;font-size:10px;font-weight:600;margin-top:2px}.brand-dot{color:#2c8c73}.brand-mark{display:grid;place-items:center;background:var(--dark);color:white;width:43px;height:46px;border-radius:10px;font-size:35px;font-weight:400}.header-right{display:flex;align-items:center;gap:28px}.demo-tag{font-size:11px;letter-spacing:1.3px;background:#eff3f2;color:#657975;padding:7px 10px;border-radius:5px;font-weight:650}.text-button{background:transparent;border:0;color:var(--teal);padding:9px 0;font-size:14px;font-weight:600}.text-button span{margin-left:8px}main{max-width:1544px;margin:auto;padding:36px 32px 0}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:29px;gap:20px}.eyebrow{font-size:11px;letter-spacing:1.5px;font-weight:700;color:var(--muted)}h1{font-size:34px;line-height:1.25;letter-spacing:-1.4px;margin:9px 0}.intro{font-size:15px;color:var(--muted);line-height:1.6}.currency-tag{border-left:1px solid var(--line);padding-left:24px;flex-shrink:0;font-size:12px;color:var(--muted)}.currency-tag>span{display:block;margin-bottom:7px}.currency-tag strong{font-size:14px;color:var(--ink)}.currency-tag strong span{font-weight:400;color:var(--muted)}.workspace{display:grid;grid-template-columns:300px minmax(340px,1fr) 290px;gap:22px;align-items:start}.settings{background:white;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.setting-section{padding:23px;border-bottom:1px solid var(--line)}.setting-section:last-child{border:0}.section-title{display:flex;align-items:center;gap:10px;margin-bottom:18px}.section-title h2{font-size:15px;letter-spacing:-.3px}.step{color:#477b72;background:#eef5f1;font-size:11px;font-weight:700;border-radius:50%;width:27px;height:27px;display:grid;place-items:center}.section-title+label{margin-top:0}.segmented{display:flex;gap:7px}.segmented button{flex:1;border:1px solid var(--line);border-radius:8px;background:white;color:var(--muted);font-size:12px;padding:12px 3px 9px}.segmented button.active{border:1.5px solid var(--teal);color:var(--teal);background:#f0f7f4}.mini-window{display:block;width:30px;height:31px;border:2px solid currentColor;margin:0 auto 8px;position:relative}.mini-window.two:before,.mini-window.three:before,.mini-window.three:after{content:'';position:absolute;top:0;bottom:0;width:1.5px;background:currentColor;left:50%}.mini-window.three:before{left:33%}.mini-window.three:after{left:66%}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.unit-input{position:relative}.unit-input input{padding-right:34px;appearance:textfield}.unit-input input::-webkit-inner-spin-button{appearance:none}.unit-input>span{position:absolute;right:10px;top:14px;font-size:12px;color:var(--muted);pointer-events:none}.hint{font-size:12px;line-height:1.6;color:var(--muted);margin-top:7px}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px;margin:19px 0 2px;cursor:pointer}.toggle-row small{display:block;font-size:12px;color:var(--muted);font-weight:400;line-height:1.5;margin-top:4px}.toggle-row input{appearance:none;flex-shrink:0;width:34px;min-height:20px;height:20px;border:0;border-radius:20px;background:#cedad7;padding:0;position:relative;cursor:pointer}.toggle-row input:before{content:'';width:14px;height:14px;border-radius:50%;background:#fff;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0002;transition:transform .2s}.toggle-row input:checked{background:var(--teal)}.toggle-row input:checked:before{transform:translateX(14px)}.subdetails{margin-top:20px;padding-top:15px;border-top:1px solid var(--line);font-size:13px}.subdetails summary,.technical-note summary{cursor:pointer;font-weight:550;color:#45655f;line-height:1.6}.small-button{margin-top:12px;background:#f2f6f5;color:var(--teal);border:1px solid var(--line);border-radius:6px;padding:8px 12px;font-size:13px}.design-column{min-width:0}.drawing-panel{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fbfcfc}.drawing-top{display:flex;align-items:start;justify-content:space-between;padding:23px 23px 0;gap:10px}.drawing-top h2{font-size:16px;margin-bottom:5px}.drawing-top .hint{display:block;font-size:12px}.view-tag{font-size:11px;color:var(--muted);white-space:nowrap;border:1px solid var(--line);border-radius:5px;padding:6px 8px}.drawing{height:390px;display:flex;align-items:center;justify-content:center;padding:12px;background-image:radial-gradient(#cbdad8 0.7px,transparent .7px);background-size:16px 16px;margin-top:14px}.drawing svg{width:100%;height:100%;overflow:visible}.drawing svg [role=button]{cursor:pointer;outline:none}.drawing svg [role=button]:focus-visible .pane{stroke:#072d2b;stroke-width:5}.drawing svg .pane{transition:fill .2s,stroke .2s}.drawing svg [role=button]:hover .pane{fill:#d3ebe3}.drawing-footer{background:white;border-top:1px solid var(--line);padding:15px 22px;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted);gap:10px}.drawing-footer>span:first-child{font-weight:600;color:var(--ink)}#color-chip{display:flex;align-items:center;gap:6px}#color-chip i{width:13px;height:13px;background:#fff;border:1px solid #ced8d7;border-radius:3px;display:inline-block}.sash-panel{margin-top:18px;background:#fff;border:1px solid var(--line);padding:23px;border-radius:var(--radius)}.sash-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:10px}.sash-heading .eyebrow{font-size:10px;letter-spacing:1.2px}.sash-heading h2{font-size:19px;margin-top:5px}.section-size{font-size:12px;color:var(--muted)}.opening-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.opening-picker button{background:white;border:1px solid var(--line);border-radius:8px;padding:12px 3px;font-size:12px;color:var(--ink);font-weight:600;min-width:0}.opening-picker button>span{display:block;font-size:30px;line-height:1.2;font-weight:400;color:#809c96;margin-bottom:6px}.opening-picker small{display:block;font-size:10px;font-weight:400;color:var(--muted);line-height:1.4;margin-top:5px}.opening-picker button.active{border-color:var(--teal);background:#edf6f0;color:var(--teal)}.opening-picker button.active>span{color:var(--teal)}.sash-options{display:grid;grid-template-columns:1fr 1fr;gap:16px}.validation:empty{display:none}.validation{background:#fff5e6;border:1px solid #ead7b3;border-radius:10px;padding:14px 17px;color:#785328;font-size:13px;line-height:1.6;margin-top:16px}.validation ul{padding-left:17px;margin:5px 0}.validation.error{color:var(--danger);background:#fff0ec;border-color:#edc7b8}.technical-note{padding:16px 4px;font-size:12px;color:var(--muted)}.technical-note p{margin-top:10px;line-height:1.7}.estimate-column{position:sticky;top:20px}.estimate-card{background:var(--dark);color:white;border-radius:var(--radius);padding:25px 23px;box-shadow:0 10px 24px #143e4009}.estimate-header{display:flex;justify-content:space-between;align-items:center}.estimate-header .eyebrow{color:#acc6bf;font-size:10px}.estimate-count{font-size:11px;background:#ffffff13;border:1px solid #ffffff20;border-radius:5px;padding:4px 7px}.estimate-name{margin-top:27px;font-size:16px;font-weight:500;overflow-wrap:anywhere}.price{font-size:42px;letter-spacing:-1.8px;font-weight:750;margin-top:7px;line-height:1.2}.price span{font-size:15px;letter-spacing:0;font-weight:400;color:#c4d8d1}.estimate-subtitle{font-size:12px;color:#a9c4be;margin-top:8px;line-height:1.5}.breakdown{border-top:1px solid #ffffff20;border-bottom:1px solid #ffffff20;margin-top:24px;padding:16px 0}.breakdown-row{display:flex;justify-content:space-between;gap:12px;font-size:12px;margin:10px 0;color:#c7dcd5;line-height:1.5}.breakdown-row strong{white-space:nowrap;color:#eef8f2;font-weight:500}.quantity-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:20px}.quantity-row label{margin:0;font-size:12px;color:#d0e0dc}.quantity-control{display:flex;align-items:center;border:1px solid #ffffff30;border-radius:7px;overflow:hidden}.quantity-control button{width:28px;height:34px;border:0;background:#ffffff08;color:white}.quantity-control input{border:0;padding:0;text-align:center;width:35px;min-height:34px;background:transparent;color:white;appearance:textfield;font-size:13px}.quantity-control input::-webkit-inner-spin-button{appearance:none}.primary-button{display:flex;align-items:center;justify-content:center;gap:18px;width:100%;border:0;background:var(--lime);color:#223b2c;padding:14px 10px;border-radius:8px;font-size:14px;font-weight:650;margin-top:23px}.primary-button:hover{background:#e8ffac}.primary-button>span{font-size:22px;line-height:18px;font-weight:400}.estimate-note{font-size:11px;line-height:1.6;color:#a4bfb8;margin-top:16px}.cancel-edit{width:100%;background:none;border:0;color:white;padding:10px;font-size:13px}.confidence-note{display:flex;gap:10px;margin-top:23px;color:var(--muted);padding:0 3px}.confidence-note>span{font-size:21px;color:#669082}.confidence-note p{font-size:13px;line-height:1.6;color:#49645e}.confidence-note small{display:block;font-size:12px;margin-top:7px;color:var(--muted)}.source-button{font-size:12px;margin:10px 0 0 34px;font-weight:500;border-bottom:1px solid #acc5bc;padding:4px 0}.project-section{margin-top:36px;padding-top:30px;border-top:1px solid #d9e3e1}.project-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:15px}.project-heading h2{font-size:25px;letter-spacing:-.7px;margin-top:8px}.project-heading h2 span{font-size:13px;display:inline-grid;place-items:center;background:#dfeae4;border-radius:6px;padding:4px 8px;margin-left:10px;vertical-align:middle}.outline-button{border:1px solid #becdc8;background:#fff;color:var(--teal);border-radius:8px;padding:11px 16px;font-size:13px;font-weight:600}.outline-button:hover{background:#eaf3ee}.empty-project{display:flex;align-items:center;gap:18px;padding:30px;background:#eaf0ed;border:1px dashed #c5d4ce;border-radius:12px}.empty-icon{font-size:32px;color:#799990}.empty-project h3{font-size:15px;font-weight:600}.empty-project p{margin-top:6px;font-size:13px;line-height:1.5;color:var(--muted)}.project-item{display:grid;grid-template-columns:110px 1fr auto;gap:25px;align-items:center;padding:20px;background:white;border:1px solid var(--line);border-radius:12px;margin-bottom:10px}.project-thumb{background:#f2f6f5;border-radius:8px;height:110px;display:flex;align-items:center;justify-content:center}.project-thumb svg{width:95px;height:100px}.project-info h3{font-size:16px;overflow-wrap:anywhere}.project-info p{font-size:13px;line-height:1.6;color:var(--muted);margin-top:7px}.item-actions{display:flex;flex-wrap:wrap;gap:13px;margin-top:10px}.item-actions button{font-size:12px;padding:0;border:0;background:none;color:var(--teal)}.item-actions button[data-remove]{color:#9b5e4d}.item-price{font-size:21px;white-space:nowrap;font-weight:650}.item-price small{font-size:12px;font-weight:400;color:var(--muted);display:block;text-align:right;margin-top:6px}.project-total{display:flex;justify-content:space-between;gap:20px;align-items:center;background:#e3ece7;border-radius:12px;padding:22px 26px;margin-top:17px}.project-total p{color:var(--muted);font-size:12px;line-height:1.5;margin-top:5px}.project-total strong{font-size:28px;white-space:nowrap}.footer{padding:32px 0 26px;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:11px;align-items:center}.footer>span:first-child{font-size:15px;font-weight:700;color:var(--ink)}.footer-label{font-weight:400;font-size:11px;margin-left:10px;color:var(--muted)}dialog{border:1px solid var(--line);border-radius:18px;max-width:640px;width:calc(100% - 32px);padding:28px;color:var(--ink);box-shadow:0 25px 100px #102f3040}dialog::backdrop{background:#102e3066;backdrop-filter:blur(3px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.dialog-heading h2{font-size:23px;letter-spacing:-.5px}.dialog-heading button{background:#edf3ef;border:0;border-radius:50%;width:34px;height:34px;font-size:24px;color:var(--ink)}#dialog-content{font-size:15px;line-height:1.75}#dialog-content h3{font-size:16px;margin-top:20px}#dialog-content p{margin:10px 0}#dialog-content ol{padding-left:22px}#dialog-content li{padding-left:5px;margin:10px 0}.modal-note{background:#edf5ef;border-radius:8px;padding:14px;font-size:13px}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);padding:13px 22px;border-radius:9px;background:var(--dark);box-shadow:0 5px 30px #0002;color:white;font-size:14px;z-index:20;text-align:center}#print-area{display:none}
@media(min-width:1600px){.drawing{height:440px}}
@media(max-width:1200px){.workspace{grid-template-columns:275px minmax(320px,1fr);gap:18px}.estimate-column{grid-column:2;position:static;margin-top:-3px}.settings{grid-row:1/3}.estimate-card{padding:24px}.estimate-header{margin-bottom:12px}.estimate-name{margin-top:10px}.breakdown{margin-top:16px}.price{font-size:38px}.confidence-note{margin-top:16px}.drawing{height:370px}.currency-tag{display:none}}
@media(max-width:760px){.header{height:74px;padding:0 20px}.header-right{gap:12px}.demo-tag{display:none}.brand{font-size:21px}.brand-mark{width:35px;height:39px;font-size:30px}.brand small{font-size:8px;letter-spacing:2px}.header .text-button{font-size:12px}main{padding:25px 16px 0}.page-heading{margin-bottom:23px}h1{font-size:28px;letter-spacing:-1px}.intro{font-size:14px}.workspace{display:flex;flex-direction:column;gap:18px}.settings,.design-column,.estimate-column{width:100%}.setting-section{padding:20px}.settings{display:contents}.setting-section{background:white;border:1px solid var(--line)!important;border-radius:13px;width:100%}.setting-section:nth-child(1){order:0}.design-column{order:1}.setting-section:nth-child(2){order:2}.setting-section:nth-child(3){order:3}.estimate-column{order:4}.drawing-top{padding:18px 16px 0}.drawing-top h2{font-size:15px}.drawing-top .hint{font-size:11px}.view-tag{font-size:10px;padding:5px}.drawing{height:330px;padding:5px}.drawing-footer{padding:13px;font-size:11px}.sash-panel{padding:18px 14px}.opening-picker button{font-size:11px;padding:12px 2px}.opening-picker small{font-size:10px}.sash-options{gap:12px}.estimate-card{padding:24px}.estimate-name{margin-top:20px}.estimate-subtitle,.estimate-note{font-size:13px}.breakdown-row{font-size:14px}.quantity-row label{font-size:14px}.primary-button{font-size:16px;min-height:50px}.confidence-note p{font-size:14px}.confidence-note small{font-size:13px}.project-section{margin-top:28px}.project-heading{align-items:end}.project-heading .eyebrow{font-size:9px;letter-spacing:1px}.project-heading h2{font-size:22px}.outline-button{padding:11px;font-size:12px;max-width:150px}.empty-project{padding:23px 18px}.project-item{grid-template-columns:75px 1fr;gap:15px;padding:15px}.project-thumb{height:90px}.project-thumb svg{width:70px;height:85px}.item-price{grid-column:2;font-size:19px}.item-price small{display:inline;margin-left:10px}.project-total{padding:20px;align-items:start;flex-direction:column}.project-total strong{font-size:27px}.footer{align-items:start;font-size:10px}.footer-label{display:block;margin:5px 0 0}.footer>span:last-child{text-align:right;max-width:125px}.field-grid input,.field-grid select,select,input{font-size:16px}.subdetails,.technical-note,.hint{font-size:13px}.opening-picker small{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{@page{size:A4;margin:15mm}body{background:#fff;color:#111;font-size:11pt}.header,main,dialog,.toast{display:none!important}#print-area{display:block}.print-header{display:flex;justify-content:space-between;align-items:start;border-bottom:2px solid #143e40;padding-bottom:15px;margin-bottom:20px}.print-header h1{font-size:24px}.print-header p{font-size:10px;color:#555}.print-item{break-inside:avoid;border-bottom:1px solid #ccc;padding:15px 0;display:flex;gap:25px}.print-item svg{width:160px;height:180px;flex-shrink:0}.print-item h2{font-size:16px}.print-item p{font-size:11px;line-height:1.6;margin-top:6px}.print-total{text-align:right;font-size:22px;margin:20px 0}.print-note{font-size:10px;line-height:1.6;color:#555}.print-item strong{font-size:17px;display:block;margin-top:10px}}

.access-bar{padding:12px 5%;background:#143e40;color:white;display:flex;justify-content:space-between;align-items:center}.access-panel{max-width:620px;margin:40px auto;padding:32px;background:white;border:1px solid #ccd9d6;border-radius:20px;box-shadow:0 12px 45px #143e4018}.access-panel h1{font-size:30px}.access-panel input{margin:12px 0}.access-panel p{line-height:1.6}.access-panel[hidden]{display:none}main[inert]{opacity:.25;max-height:400px;overflow:hidden}option:disabled{color:#8d9492}#access-error{color:#a12c2c}@media print{.access-bar,.access-panel{display:none!important}}
