:root{--bg:#f5f6f2;--ink:#233f36;--muted:#829088;--green:#1e5644;--line:#e3e8e1;--lime:#d8edaa;--orange:#d98c51;--white:#fff}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;line-height:1.5}button,input,select,textarea{font:inherit}button,a,label{ -webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:3px solid #b1d27b;outline-offset:3px}a{color:inherit;text-decoration:none}button{border:0;background:none}input,select,textarea{border:1px solid #dce3da;background:#fff;padding:12px 13px;border-radius:9px;width:100%;color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{border-color:#69977c;box-shadow:0 0 0 3px #e8f0e4}input[type=checkbox]{width:16px;height:16px;accent-color:var(--green);margin:0}input[type=number]{font-variant-numeric:tabular-nums}h1,h2,h3,p{margin:0}.sidebar{position:fixed;inset:0 auto 0 0;width:228px;background:#fff;border-right:1px solid var(--line);padding:34px 22px 20px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;gap:10px;align-items:center;font-size:11px;font-weight:750;letter-spacing:.9px}.brand-mark{font-size:32px;letter-spacing:-3px;line-height:1;color:#1a4a3a}.brand-mark>span{color:var(--orange);font-size:29px;letter-spacing:0}.brand small{display:block;font-size:8px;letter-spacing:1.8px;color:var(--muted);margin-top:4px}.workspace-label{font-size:9px;letter-spacing:1.5px;color:#a1aaa3;margin:52px 0 17px 10px}#steps{display:grid;gap:9px}.step-nav{display:flex;align-items:center;gap:12px;text-align:left;padding:12px;border-radius:10px;width:100%;font-size:13px;color:#7d8c83}.step-nav.active{background:#edf4e7;color:#315f3f;font-weight:650}.step-nav .step-num{width:25px;height:25px;border:1px solid #dce4d7;border-radius:7px;display:grid;place-items:center;font-size:11px}.step-nav.active .step-num{background:#285c40;color:#fff;border-color:#285c40}.step-nav.done .step-num{color:#488059;border-color:#b5cbb1}.step-nav .arrow{margin-left:auto}.sidebar-bottom{margin-top:auto}.side-note{padding:18px 10px;border-bottom:1px solid var(--line);margin-bottom:16px;font-size:11px;font-weight:600}.side-note small{display:block;margin:7px 0 0 13px;font-size:10px;color:var(--muted);font-weight:400;line-height:1.8}.dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#8aa766;margin-right:6px}.side-action{width:100%;display:flex;justify-content:space-between;font-size:12px;padding:12px 10px;color:#728278}.side-action:hover{background:var(--bg)}.company{border-top:1px solid var(--line);padding-top:22px;margin-top:18px;display:flex;align-items:center;gap:9px;font-size:10px;font-weight:650}.avatar{background:#edf1e9;border:1px solid #e1e7dc;border-radius:8px;padding:9px;font-size:10px}.company small{display:block;color:var(--muted);font-size:9px;font-weight:400}.demo-tag{font-size:7px;color:#8c9a86;margin-left:auto;border:1px solid var(--line);padding:2px 4px;border-radius:4px}.app{margin-left:228px}.topbar{height:78px;border-bottom:1px solid var(--line);padding:0 44px;display:flex;align-items:center;justify-content:space-between;gap:16px;position:relative;background:#f9faf6;font-size:12px}.crumb{color:#9ba59d;font-size:10px;letter-spacing:1px;margin-right:7px}.top-actions{display:flex;align-items:center;gap:20px}.top-actions #save-state{font-size:10px;color:#869684}.top-actions i,.live-pill i{display:inline-block;width:5px;height:5px;background:#a5c480;border-radius:50%;margin-right:6px}.button{border:1px solid #dce3d7;background:#fff;padding:12px 18px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:12px;font-weight:600;transition:.15s}.button:hover{border-color:#85a278;transform:translateY(-1px)}.button.primary{background:var(--green);border-color:var(--green);color:#fff}.button.small{padding:8px 12px;font-size:11px}.button.subtle{background:#f1f5eb;border-color:transparent}.icon-button{width:33px;height:33px;border-radius:8px;font-size:16px;display:grid;place-items:center}.icon-button:hover{background:#edf1e7}.popover{position:absolute;right:36px;top:60px;z-index:30;background:#fff;box-shadow:0 12px 40px #213b3520;border:1px solid var(--line);border-radius:10px;padding:8px;min-width:190px}.popover button,.popover label{display:block;cursor:pointer;width:100%;text-align:left;padding:10px 12px;font-size:12px}.popover button:hover,.popover label:hover{background:var(--bg);border-radius:5px}main{max-width:1400px;margin:auto;padding:36px 44px 24px}.page-heading{display:flex;justify-content:space-between;align-items:center;margin:0 0 28px}.eyebrow{font-size:9px;letter-spacing:1.7px;font-weight:650;color:#7e947c;display:flex;align-items:center;gap:7px}.eyebrow>span{width:6px;height:6px;background:#d39660;border-radius:50%}h1{font-size:38px;line-height:1.2;font-weight:650;letter-spacing:-1.3px;margin:11px 0 12px}h1 em{font-style:normal;color:#719162}.page-heading p{font-size:12px;color:var(--muted)}.heading-stamp{background:#edf1e6;border:1px solid #e4e9db;width:150px;height:150px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;margin-right:28px;transform:rotate(6deg);color:#798c68}.heading-stamp svg{width:65px;height:65px}.heading-stamp span{font-size:10px;font-weight:700;letter-spacing:2px;margin-top:4px}.heading-stamp small{font-size:8px;margin-top:3px}.notice{display:flex;align-items:center;gap:12px;padding:13px 16px;background:#fcf5e8;border:1px solid #efe3ca;border-radius:10px;margin-bottom:24px;color:#98784c;font-size:10px}.notice-icon{border:1px solid #b7955f;width:17px;height:17px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;font-weight:bold}.notice b{display:block;font-weight:650;font-size:11px}.notice span:not(.notice-icon){display:block;margin-top:2px}.notice button{margin-left:auto;white-space:nowrap;font-size:10px;font-weight:650}.notice.reviewed{background:#eaf2e5;border-color:#d4e2c9;color:#557348}.work-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start}.section-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:25px;margin-bottom:18px}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:22px}.section-head h2{font-size:19px;letter-spacing:-.4px;font-weight:650}.section-head p{font-size:11px;color:var(--muted);margin-top:5px}.step-badge{color:#91a18c;background:#f0f5eb;font-size:10px;padding:5px 9px;border-radius:5px;white-space:nowrap}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px 18px}.field-grid label,.field{display:block;font-size:11px;font-weight:550;color:#61756a}.field-grid input,.field-grid select,.field input,.field select,.field textarea{margin-top:7px;font-size:12px}.field-full{grid-column:1/-1}.field small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.segmented{display:flex;border:1px solid var(--line);padding:4px;background:#f9faf6;border-radius:10px;margin-top:7px;gap:4px}.segmented button{flex:1;padding:10px 8px;border-radius:7px;font-size:11px;color:#83917f}.segmented button.active{background:#fff;color:#32573d;box-shadow:0 1px 5px #25442c10;font-weight:650}.field-label{font-size:11px;color:#61756a;font-weight:550}.separator{height:1px;background:var(--line);margin:23px 0}.inline-tip{display:flex;gap:9px;padding:13px 14px;background:#f5f8f0;border-radius:9px;font-size:10px;color:#7e9072;line-height:1.7}.inline-tip strong{color:#56734b}.next-bar{display:flex;align-items:center;justify-content:space-between;margin-top:22px;gap:10px}.next-bar small{font-size:10px;color:#94a08e}.next-bar .button{padding:12px 20px}.quote-summary{position:sticky;top:24px;background:#20493c;color:#fff;border-radius:15px;overflow:hidden;padding:23px 22px 0;box-shadow:0 8px 20px #2447340c}.summary-top{display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:1.6px;color:#a9bcad}.live-pill{letter-spacing:0;background:#ffffff0c;border:1px solid #ffffff15;border-radius:20px;padding:4px 7px;font-size:8px;color:#c8d8be}.summary-project{font-size:12px;margin:18px 0 17px;color:#dbe6d8;font-weight:500;min-height:18px}.currency-toggle{display:flex;width:fit-content;background:#12372e;padding:3px;border:1px solid #ffffff0d;border-radius:7px;margin-bottom:14px}.currency-toggle button{color:#90af9c;font-size:9px;padding:5px 9px;border-radius:5px}.currency-toggle button.active{background:#456953;color:#f0f7e8}.total{font-size:35px;font-weight:600;letter-spacing:-1.1px;font-variant-numeric:tabular-nums;line-height:1.2;white-space:nowrap}.total small{font-size:11px;font-weight:400;letter-spacing:0;color:#a6c0ac;margin-left:6px}.range-label{font-size:9px;line-height:1.7;color:#a6bfa9;margin-top:9px}.summary-divider{height:1px;background:#ffffff18;margin:20px 0}.money-line{display:flex;justify-content:space-between;gap:9px;font-size:11px;margin:11px 0;color:#b5cbb7}.money-line strong{font-weight:500;color:#edf4e8;font-variant-numeric:tabular-nums}.mini-stats{display:flex;border:1px solid #ffffff16;border-radius:8px;padding:11px 0;margin:22px 0 18px}.mini-stats>div{flex:1;text-align:center;border-right:1px solid #ffffff15;font-size:9px;color:#a8bba5}.mini-stats>div:last-child{border:0}.mini-stats b{display:block;font-size:15px;color:#e8f0df;font-weight:550;margin-bottom:2px}.summary-button{width:100%;background:#deecb6;color:#264b35;border-color:#deecb6;justify-content:space-between;font-weight:650;padding:13px 15px}.summary-foot{text-align:center;color:#a0b49c;font-size:9px;line-height:1.8;margin:11px 0 19px}.summary-bottom{background:#173d32;margin:0 -22px;padding:15px 22px;color:#a9c19f;display:grid;gap:5px;font-size:9px}.page-footer{display:flex;justify-content:space-between;gap:20px;font-size:9px;color:#a1aca0;margin-top:28px}.room-toolbar{display:flex;gap:7px;flex-wrap:wrap;margin:18px 0}.room-type{border:1px solid var(--line);border-radius:7px;padding:8px 10px;font-size:10px;background:#fbfcf8;display:flex;gap:6px;align-items:center}.room-type:hover{background:#eaf2df;border-color:#b4c6a4}.room-type svg{width:15px;height:15px}.room-card{border:1px solid var(--line);border-radius:11px;padding:17px;margin:12px 0;background:#fff}.room-card-top{display:flex;align-items:center;gap:10px}.room-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:#eef3e7;color:#6f8a59;flex-shrink:0}.room-icon svg{width:22px;height:22px}.room-name{border:0;padding:0;font-size:13px;font-weight:650;border-radius:0;background:transparent}.room-name:focus{box-shadow:none}.room-meta{font-size:10px;color:#92a18c;margin-top:4px}.room-cost{margin-left:auto;font-size:14px;white-space:nowrap;font-weight:650;font-variant-numeric:tabular-nums}.room-cost small{display:block;color:#97a28f;font-size:8px;text-align:right;font-weight:400}.room-actions{display:flex;gap:3px;margin-left:6px}.room-actions button{width:25px;height:25px;font-size:13px;border-radius:6px;color:#99a48f}.room-actions button:hover{background:#f0f3e9;color:#3f6543}.room-mini{display:flex;gap:15px;margin:15px 0 7px;flex-wrap:wrap;color:#84907d;font-size:10px}.room-mini b{font-weight:600;color:#57704b}.room-details summary{font-size:10px;color:#628050;cursor:pointer;list-style:none;padding-top:7px;font-weight:550}.room-details summary::after{content:' ＋';font-weight:400}.room-details[open] summary::after{content:' −'}.room-detail-body{padding-top:16px}.room-geometry{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.room-geometry label{font-size:9px;color:#85927a}.room-geometry input,.room-geometry select{font-size:11px;margin-top:5px;padding:9px}.quantity-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px 20px;padding:18px 0}.qty-field{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10px}.stepper{display:flex;border:1px solid var(--line);border-radius:6px;overflow:hidden;align-items:center;background:#fcfdf9}.stepper button{width:25px;height:28px;font-size:14px;color:#819270}.stepper input{width:37px;border:0;border-radius:0;background:transparent;padding:4px 1px;text-align:center;font-size:11px;-moz-appearance:textfield}.stepper input::-webkit-inner-spin-button{appearance:none}.checks-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin:14px 0;font-size:10px}.check-label{display:flex;align-items:center;gap:8px;cursor:pointer}.room-note{font-size:9px;color:#96a18d;margin-top:12px;background:#f6f8f1;padding:10px;border-radius:6px}.tier-grid{display:grid;gap:12px}.tier-card{display:block;text-align:left;position:relative;border:1px solid var(--line);border-radius:11px;padding:19px 20px;background:#fff;width:100%}.tier-card.selected{border-color:#6e9159;background:#f7faef;box-shadow:0 0 0 1px #6e9159}.tier-card-head{display:flex;justify-content:space-between;align-items:center}.tier-card h3{font-size:15px}.tier-tag{font-size:8px;padding:4px 7px;border-radius:5px;background:#f1f4ea;color:#7a9466}.tier-card.selected .tier-tag{background:#dcebc4;color:#4b6a37}.tier-card p{font-size:10px;color:#90a081;margin-top:5px}.tier-price{font-size:24px;letter-spacing:-.6px;font-weight:600;margin-top:13px;font-variant-numeric:tabular-nums}.tier-price small{font-size:10px;font-weight:400;letter-spacing:0;color:#8ca07c}.tier-card ul{padding:0;margin:13px 0 0;list-style:none;display:flex;gap:13px;flex-wrap:wrap;color:#839276;font-size:9px}.tier-card li::before{content:'✓ ';color:#6d9355}.tier-choice{position:absolute;right:20px;bottom:23px;font-size:11px;color:#7c926a}.option-card{border:1px solid var(--line);border-radius:9px;padding:15px;margin:10px 0}.option-card .check-label{font-size:12px;font-weight:550}.option-card p{font-size:10px;color:#93a089;margin:5px 0 0 24px}.overview-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0}.overview-stats div{padding:14px;background:#f5f7ef;border-radius:8px;text-align:center;font-size:9px;color:#8d9d7c}.overview-stats b{display:block;font-size:19px;font-weight:600;color:#4e6a3d}.quote-actions{display:flex;gap:8px;flex-wrap:wrap}.quote-room-list{margin:20px 0}.quote-room-line{display:flex;align-items:center;gap:11px;border-bottom:1px solid var(--line);padding:13px 0;font-size:11px}.quote-room-line .icon{color:#8fa378}.quote-room-line small{display:block;font-size:9px;color:#91a187;margin-top:3px}.quote-room-line strong{margin-left:auto;font-weight:600;white-space:nowrap}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:10px}th{background:#f4f7ef;color:#819174;font-size:9px;font-weight:550;text-align:left;white-space:nowrap}th,td{padding:11px 10px;border-bottom:1px solid #e8ecdf}td small{display:block;color:#93a087;font-size:9px;margin-top:4px}.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.tag{display:inline-block;font-size:8px;padding:3px 5px;border-radius:4px;background:#eef4e6;color:#749453}.tag.estimated{background:#fbf1df;color:#a48655}.tag.allowance{background:#f0eef7;color:#8d7da6}.assumption-list{margin:15px 0 0;padding-left:17px;color:#819175;font-size:10px;line-height:1.9}.warning{background:#fcf2e2;color:#9c7947;font-size:10px;padding:11px 13px;border-radius:8px;margin:12px 0}.empty{text-align:center;padding:40px 20px;color:#91a184}.empty b{display:block;font-size:16px;color:#577446;margin-bottom:8px}.empty p{font-size:11px}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:22px 26px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:1}.modal-header h2{font-size:21px;margin-top:5px}.modal-header .eyebrow{font-size:8px}dialog{border:1px solid var(--line);padding:0;border-radius:16px;width:min(1040px,94vw);max-height:90vh;color:var(--ink);box-shadow:0 20px 90px #143f3120}dialog::backdrop{background:#16372855;backdrop-filter:blur(3px)}#modal-body{padding:24px 26px}.settings-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:20px}.settings-tabs button{border:1px solid var(--line);padding:8px 11px;border-radius:7px;font-size:11px}.settings-tabs button.active{background:#eaf3df;border-color:#acc398}.catalog-table input{width:85px;padding:7px;font-size:11px}.catalog-table input[data-name]{width:230px}.history-item{display:flex;align-items:center;border:1px solid var(--line);border-radius:10px;padding:15px;margin:10px 0;gap:15px}.history-item b{font-size:13px}.history-item small{display:block;font-size:10px;color:#90a085;margin-top:5px}.history-item button{margin-left:auto;white-space:nowrap}#toast{position:fixed;bottom:25px;left:calc(50% + 100px);transform:translateX(-50%);z-index:100;background:#234b39;color:#edf4e6;box-shadow:0 5px 20px #163e3520;padding:13px 22px;border-radius:9px;font-size:12px;max-width:90vw}.print-only{display:none}.report{color:#294536;font-size:11px}.report-header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:2px solid #28583c;padding-bottom:20px;margin-bottom:20px}.report-logo{font-size:30px;font-weight:750;letter-spacing:-2px}.report h1{font-size:23px;margin:0 0 7px;letter-spacing:-.5px}.report-subtitle{font-size:10px;color:#819175}.report-info{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:20px 0;font-size:11px}.report-total{background:#edf4e5;padding:18px;margin:18px 0;display:flex;justify-content:space-between;gap:15px}.report-total b{font-size:23px}.report h3{margin:20px 0 12px;font-size:14px}.report table{font-size:9px}.report-notes{font-size:10px;color:#7c8d72;line-height:1.8}.report-notes ol{padding-left:17px}.report-footer{margin-top:24px;border-top:1px solid var(--line);padding-top:13px;font-size:9px;color:#8a9a7f;display:flex;justify-content:space-between}.report-group td{background:#f5f8f0;font-weight:650;color:#506c40}.report .tag{font-size:7px}.customer-banner{padding:10px;background:#fcf3e3;border:1px solid #efdfc2;color:#9a7644;border-radius:5px;font-size:10px;margin:12px 0}
@media(min-width:1500px){.work-grid{grid-template-columns:minmax(0,1fr) 350px}main{padding-top:42px}.total{font-size:39px}}@media(max-width:1200px){.sidebar{width:195px;padding:30px 16px}.app{margin-left:195px}main{padding:28px}.topbar{padding:0 28px}.work-grid{grid-template-columns:minmax(0,1fr) 285px;gap:18px}.quote-summary{padding:20px 18px 0}.summary-bottom{margin:0 -18px;padding:15px 18px}.total{font-size:31px}.heading-stamp{width:128px;height:128px;margin:0}.section-card{padding:21px}.top-actions #save-state{display:none}}@media(max-width:1000px){.sidebar{width:76px;padding:25px 12px}.brand{justify-content:center}.brand>span:last-child,.workspace-label,.step-nav>span:not(.step-num),.sidebar-bottom{display:none}.brand-mark{font-size:28px}#steps{margin-top:45px}.step-nav{justify-content:center;padding:10px}.app{margin-left:76px}.work-grid{grid-template-columns:minmax(0,1fr) 275px}.field-grid{gap:15px 12px}.total{font-size:29px}h1{font-size:34px}}@media(max-width:780px){.work-grid{grid-template-columns:1fr}.quote-summary{position:static;margin-top:4px}.total{font-size:40px}.heading-stamp{width:105px;height:105px}.heading-stamp svg{width:45px;height:45px}.heading-stamp small{display:none}.heading-stamp span{font-size:8px}.sidebar{width:62px;padding:24px 7px}.app{margin-left:62px}.topbar{height:66px;padding:0 18px}.topbar>div:first-child{font-size:10px;max-width:50%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.crumb{display:none}.top-actions{gap:6px}.button.small{font-size:10px;padding:7px 9px}main{padding:23px 18px}.page-heading{margin-bottom:23px}h1{font-size:31px}.page-heading p{font-size:10px;max-width:240px}.eyebrow{font-size:7px;letter-spacing:1px}.notice{padding:11px;gap:8px}.notice span:not(.notice-icon){font-size:9px}.notice button{font-size:9px;white-space:normal;text-align:right}.page-footer{font-size:8px;flex-direction:column;gap:4px}.room-cost{font-size:12px}.room-geometry{grid-template-columns:1fr 1fr}.quantity-grid{gap:10px}.room-actions{gap:0}.section-card{padding:18px}.checks-grid{gap:9px}.report-info{grid-template-columns:1fr}.report-total b{font-size:18px}#toast{left:50%}.heading-stamp{flex-shrink:0}}@media(max-width:430px){.heading-stamp{display:none}.field-grid{grid-template-columns:1fr}.room-card{padding:13px}.room-name{font-size:12px}.room-cost{font-size:11px}.quantity-grid{grid-template-columns:1fr}.room-mini{gap:10px}.brand-mark{font-size:24px}.room-actions{display:none}.section-head h2{font-size:17px}}
@media print{@page{size:A4;margin:14mm 11mm}body{background:#fff}.no-print,dialog,#toast{display:none!important}.app{margin:0}main{padding:0;max-width:none}.print-only{display:block}.report table{font-size:8px}.report td,.report th{padding:6px}.report-info{font-size:10px}.report-total{padding:12px}.report .report-header{padding-bottom:12px}thead{display:table-header-group}tr{break-inside:avoid}.report h3{break-after:avoid}.report-group{break-after:avoid}.report-total,.report-footer{break-inside:avoid}a{text-decoration:none}.report-notes{font-size:9px}}
.drawing-entry{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#eff4e9;border:1px solid #d6e1cc;border-radius:14px;padding:18px;margin:18px 0}.drawing-entry p{font-size:13px;line-height:1.6;margin:5px 0 0;color:#697465}.drawing-entry .button{flex-shrink:0}dialog.plan-dialog{width:min(1240px,96vw);max-width:96vw}.plan-dialog #modal-body{padding-top:8px}.plan-intro,.plan-foot{display:flex;gap:16px;justify-content:space-between;align-items:center}.plan-intro p{font-size:13px;color:#6a7465;line-height:1.6}.plan-controls,.plan-tools{display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin:12px 0}.plan-controls label{display:grid;gap:5px;font-size:11px;color:#66715f}.plan-controls input,.plan-controls select{padding:8px;border:1px solid #d6dccf;border-radius:7px;max-width:240px;background:white}.plan-controls input{width:105px}.plan-scale{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px;background:#eef3e8;border-radius:10px}.plan-scale small{display:block;max-width:700px;font-size:12px;line-height:1.6;margin-top:4px;color:#65705e}.plan-tools .active{background:#344b2d;color:white}#pl-message{padding:10px 12px;background:#f7f3e8;font-size:12px;line-height:1.6;border-radius:8px;margin:10px 0}.plan-edit-grid{display:grid;grid-template-columns:minmax(0,1fr) 255px;gap:16px}#pl-viewport{overflow:auto;height:480px;background:#e9ece5;border:1px solid #d6dccf;border-radius:10px;overscroll-behavior:contain}#pl-canvas{display:block;touch-action:none;cursor:crosshair;max-width:none}.plan-room-panel{border:1px solid #dfe4d8;border-radius:10px;padding:16px;background:#fafbf7}.plan-room-panel .button{width:100%;margin-top:9px}.plan-room-panel .field{margin-top:12px}#pl-area{font-size:38px;font-weight:600;color:#36532d;margin:8px 0}#pl-area small{display:block;font-size:12px;font-weight:400}#pl-detection,#pl-preview,.plan-room-help{font-size:12px;line-height:1.65;color:#68715f}#pl-preview{padding:10px;background:#eef3e8;border-radius:8px}.plan-room-help{margin-top:14px}.plan-added{font-size:12px;color:#52634a;margin:12px 0}.plan-foot{border-top:1px solid #e2e6dc;padding-top:14px;font-size:11px;color:#68715f}.button:disabled{opacity:.45;cursor:not-allowed}button[hidden]{display:none!important}@media(max-width:760px){.plan-edit-grid{grid-template-columns:1fr}#pl-viewport{height:360px}.plan-room-panel{display:block}.plan-intro,.plan-foot,.drawing-entry{align-items:stretch;flex-direction:column}.plan-scale{flex-wrap:wrap}.plan-room-panel #pl-area{font-size:30px}}
#language-switch{display:grid;gap:3px;font-size:9px;color:#63715c}#language-switch select{border:1px solid #d6ddce;padding:6px;border-radius:7px;background:#fff;font:inherit;font-size:11px;color:#294939}.feedback-box{padding:24px;background:#f5f7ef;border:1px solid #d9e3cd;border-radius:16px;margin-top:20px}.feedback-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.feedback-heading h3{font-size:15px;margin:8px 0}.feedback-box p,.feedback-actions{font-size:12px;line-height:1.8;color:#68745e}.feedback-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px}.feedback-item{padding:14px;margin-top:12px;background:white;border:1px solid #dbe1d3;border-radius:10px}.feedback-item small{display:inline-block;margin-left:10px;color:#78826e}.feedback-item p{white-space:pre-wrap;overflow-wrap:anywhere;color:#31482d}.attachment-options{padding:16px;background:#f2f6eb;border:1px solid #d8e2cb;border-radius:12px;margin:18px 0}.attachment-options p{font-size:12px;line-height:1.6;color:#6d7863}.attachment-options>div{display:grid;gap:9px;font-size:12px}.plan-annex{margin-top:30px;break-before:page}.annex-image{display:block;width:100%;max-height:650px;object-fit:contain;margin:16px auto;border:1px solid #d9dfd2}.plan-annex h2{font-size:18px}.plan-annex p{font-size:11px;line-height:1.7}.room-toolbar{max-height:240px;overflow:auto;padding:6px 2px}.room-type[hidden]{display:none}.step-nav span:nth-child(2){line-height:1.6}.topbar{height:auto;min-height:75px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px}.button{white-space:normal}body[data-language=bi] .report table{font-size:9px}body[data-language=bi] .step-nav{font-size:11px}body[data-language=bi] .summary-top{font-size:9px;flex-wrap:wrap}body[data-language=bi] .section-head h2{font-size:24px}body[data-language=bi] .qty-field>span:first-child{font-size:11px;line-height:1.5}.report .report-header>div{min-width:0}.report .report-header h1{font-size:19px}.report .report-header{gap:15px}.report-notes{overflow-wrap:anywhere}.top-actions{flex-wrap:wrap}@media(max-width:760px){.feedback-heading,.feedback-actions{align-items:stretch;flex-direction:column}.feedback-box{padding:16px}.top-actions{gap:8px}.topbar>div:first-child{max-width:100%}.annex-image{max-height:450px}}@media print{.plan-annex{break-before:page}.annex-image{max-height:160mm}.plan-annex table{font-size:8px}.plan-annex .report-header{break-inside:avoid}body[data-language=bi] .report table{font-size:8px}}

.report-logo img{display:block;width:160px;height:74px;object-fit:contain;object-position:left center}.annex-logo{display:block;width:130px;height:60px;object-fit:contain;object-position:left center}@media print{.report-logo img{width:140px;height:65px}.annex-logo{width:110px;height:51px}}
@font-face{font-family:'Phetsarath OT';src:url('./assets/fonts/Phetsarath-OT.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0E80-0EFF,U+200B-200D,U+25CC}@font-face{font-family:'Phetsarath OT';src:url('./assets/fonts/Phetsarath-OT-Bold.ttf') format('truetype');font-style:normal;font-weight:600 900;font-display:swap;unicode-range:U+0E80-0EFF,U+200B-200D,U+25CC}body{font-family:'Phetsarath OT',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}button,input,textarea,select{font-family:inherit}.home-nav{display:block;text-align:left;background:#edf4e6;color:#27513e;border-radius:9px;padding:12px;width:100%;margin:18px 0 6px;font-size:12px;line-height:1.7}.home-nav:not(.active){background:transparent;color:#6f8178}.home-nav:hover{background:#edf4e6}body[data-view=home] #steps,body[data-view=home] .page-heading,body[data-view=home] #price-notice,body[data-view=home] .work-grid,body[data-view=home] #save-version{display:none}body[data-view=editor] #home-page{display:none}#home-page{padding-top:20px}.home-hero{display:flex;align-items:center;justify-content:space-between;gap:30px;margin:20px 0 28px}.home-hero h1{font-size:42px;line-height:1.35;margin:12px 0;letter-spacing:-1px;max-width:850px}.home-hero p{font-size:15px;line-height:1.8;color:#7b8c81}.home-hero img{object-fit:contain;flex-shrink:0}.home-actions{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.home-storage{background:#eaf2df;border:1px solid #d7e5c5;padding:18px 22px;border-radius:13px;margin:24px 0 35px;color:#3c5b32}.home-storage p{font-size:12px;line-height:1.9;margin-top:7px;max-width:920px}.home-list-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:20px}.home-list-head h2{font-size:21px}.home-list-head label{font-size:11px;display:grid;gap:5px;min-width:270px;max-width:45%}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;min-height:200px}.project-grid>.empty{grid-column:1/-1;background:white;border:1px dashed #cfdbcb;border-radius:14px;padding:45px 20px}.project-card{background:white;border:1px solid #dce4d7;border-radius:16px;padding:22px;display:flex;flex-direction:column;box-shadow:0 5px 15px #233f3604;min-width:0}.project-card-label{display:flex;justify-content:space-between;gap:12px;font-size:9px;letter-spacing:.8px;color:#7b8e70}.project-card-label span{background:#edf4e6;color:#5d7b4d;padding:4px 6px;border-radius:5px}.project-card h3{font-size:20px;line-height:1.5;margin:18px 0 6px;overflow-wrap:anywhere}.project-card>p{font-size:12px;line-height:1.7;color:#819080;min-height:20px;overflow-wrap:anywhere}.project-card-stats{display:flex;flex-wrap:wrap;gap:8px;font-size:10px;margin:18px 0}.project-card-stats span{background:#f4f6f0;border-radius:5px;padding:6px}.project-card-progress{font-size:12px;line-height:1.8;color:#526f44;margin-top:auto}.project-updated{font-size:10px;color:#8a9881;margin:8px 0 18px}.project-card .button{width:100%;font-size:12px}body[data-language=bi] .home-hero h1{font-size:34px}@media(max-width:1100px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.home-hero{align-items:start;flex-direction:column-reverse;gap:14px}.home-hero img{width:130px;height:60px}.home-hero h1,body[data-language=bi] .home-hero h1{font-size:29px}.project-grid{grid-template-columns:1fr}.home-list-head{align-items:stretch;flex-direction:column}.home-list-head label{min-width:0;max-width:100%}.home-actions .button{flex:1 1 100%}.home-storage{padding:15px}.home-nav{margin:5px 0}.sidebar .workspace-label{display:none}}@media print{.home-nav{display:none}}

.button.danger{color:#9d3f32;border-color:#e2b8ad;background:#fff5f0}.button.danger:hover{background:#fbe5dc}.plan-delete-confirm{background:#fff6ef;border:1px solid #e4c5b8;border-radius:10px;padding:16px;margin:12px 0;color:#754333}.plan-delete-confirm[hidden]{display:none}.plan-delete-confirm p{font-size:12px;line-height:1.8;margin:8px 0}.plan-delete-confirm>div{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}.plan-delete-confirm small{display:block;font-size:11px;line-height:1.8}

.cloud-panel{background:#edf4ef;border:1px solid #c7d9cc;border-radius:16px;padding:22px;margin:0 0 26px}.cloud-panel p{margin:12px 0;line-height:1.65}.cloud-panel small{display:block;line-height:1.6;margin-top:12px;color:#526c62}.cloud-account-line{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.cloud-panel .home-actions{margin:12px 0;flex-wrap:wrap}.cloud-badge{font:inherit;font-size:11px;border:0;background:#edf4ef;color:#245745;border-radius:8px;padding:8px 10px;max-width:230px;text-align:left;cursor:pointer}.cloud-error{color:#984015;background:#fff0dd}#ledger-list{margin-top:16px}.feedback-item small{display:block;line-height:1.7}#ledger-list .feedback-item p{white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:700px){.cloud-panel{padding:16px}.cloud-badge{max-width:150px;font-size:10px}.top-actions{flex-wrap:wrap}.cloud-panel .button{min-height:42px}}
/* Optional, bidirectional reuse of plan pages and room geometry. */
.shared-entry-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.shared-room-badge{margin:8px 0;color:#496b52;font-size:12px;line-height:1.6}
.shared-room-dimensions{padding:0 20px 8px;color:var(--muted);font-size:12px}
.share-intro{padding:18px;margin:12px 0 20px;background:#eff4e9;border:1px solid #d6e1cc;border-radius:12px}
.share-intro p,.share-help,.share-source-date{color:#64705f;font-size:13px;line-height:1.7}
.share-intro p{margin:8px 0 0}
.share-source-date{margin:8px 0 18px}
.share-options{display:flex;flex-wrap:wrap;gap:12px 28px;margin:18px 0}
.share-selection-head{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:22px 0 12px}
.share-selection-head h3{margin:0 auto 0 0}
.share-rooms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.share-room,.share-review-row{border:1px solid var(--line);border-radius:12px;padding:16px;min-width:0}
.share-room-check{display:flex;align-items:flex-start;gap:10px;cursor:pointer}
.share-room-check input,.share-plan input{width:17px;height:17px;flex:0 0 auto;margin-top:4px}
.share-room-check b{font-size:15px;overflow-wrap:anywhere}
.share-room small,.share-plan small{display:block;color:#64705f;font-size:12px;margin-top:3px}
.share-metrics{display:grid;gap:4px;font-size:12px;line-height:1.6;margin:12px 0}
.share-room select{margin-top:5px;width:100%;max-width:100%}
.share-room label:not(.share-room-check){font-size:12px}
.share-blocked{background:#f6f6f1}
.share-blocked p{font-size:12px;line-height:1.6}
.share-plan{padding:12px 0;border-bottom:1px solid var(--line);align-items:flex-start}
.share-review-row{margin:12px 0}
.share-review-row>.tag{margin-left:10px}
.share-before-after{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:12px}
.share-before-after>div{background:#f6f7f2;padding:12px;border-radius:8px}
.share-before-after small{color:#64705f}
#share-error{color:#943f2b;font-size:13px;line-height:1.7}
#share-error:empty{display:none}
@media(max-width:650px){.share-rooms,.share-before-after{grid-template-columns:1fr}.shared-entry-actions{flex-direction:column;align-items:stretch}.share-options{display:grid;gap:12px}.share-selection-head h3{width:100%}}
/* Review is available at every workflow step, with explicit previews and undo. */
.review-entry{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#eef3e9;border:1px solid #d5e1cf;border-radius:13px;padding:16px 18px;margin:0 0 18px}
.review-entry p{font-size:12px;color:#60705e;margin-top:5px;line-height:1.6}
.review-entry>div:last-child{display:flex;flex-wrap:wrap;gap:8px;flex-shrink:0;max-width:46%}
.review-entry .button{font-size:12px}
.review-intro{background:#eef3e9;padding:18px;border-radius:12px;margin:12px 0 18px}
.review-intro p{font-size:13px;color:#60705e;line-height:1.7;margin-top:8px}
.review-scope{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.review-issues{display:grid;gap:12px}
.review-issue{border:1px solid var(--line);border-radius:12px;padding:17px}
.review-error{border-left:4px solid #b56c42}
.review-issue-heading{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.review-issue-heading small{font-size:11px;color:#71806b}
.review-issue h3{font-size:14px;line-height:1.6;margin:10px 0 6px;overflow-wrap:anywhere}
.review-issue p{font-size:12px;line-height:1.7;color:#65745f;overflow-wrap:anywhere}
.review-issue-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;margin-top:14px}
.review-issue-actions .check-label{max-width:74%;font-size:12px}
.review-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}
.review-totals>div{background:#f4f6f0;border:1px solid var(--line);border-radius:10px;padding:16px}
.review-totals small{display:block;font-size:12px;color:#65745f}
.review-totals b{display:block;font-size:20px;margin-top:7px;overflow-wrap:anywhere}
.review-change-list{padding-left:22px;line-height:1.8;font-size:13px}
#review-error{color:#963f28;font-size:13px;line-height:1.7;margin:12px 0}
#review-error:empty{display:none}
.room-price-notes{background:#fff7e9;border:1px solid #e8d2ab;border-radius:10px;padding:12px 14px;margin-top:14px;font-size:12px}
.room-price-notes>b{display:block;color:#865c2e;margin-bottom:6px}
.room-price-notes>div{padding:7px 0;border-top:1px solid #eadcc6}
.room-price-notes strong{display:block;font-size:13px;margin:3px 0}
.room-price-notes p{font-size:12px;line-height:1.6;color:#74634c;overflow-wrap:anywhere;white-space:pre-wrap}
.item-price-note{display:grid;gap:4px;padding:10px 12px;margin-top:10px;background:#fff7e9;border-radius:8px;font-size:12px;color:#80592f}
.item-price-note span{line-height:1.6;overflow-wrap:anywhere;white-space:pre-wrap}
.quote-check-row{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid #e5ddc9;padding:12px 0;font-size:12px;line-height:1.7}
.quote-check-row>.button{flex-shrink:0}
@media(max-width:760px){.review-entry{align-items:stretch;flex-direction:column}.review-entry>div:last-child{max-width:100%}.review-entry .button{flex:1}.review-totals{grid-template-columns:1fr}.review-issue-actions{align-items:stretch;flex-direction:column}.review-issue-actions .check-label{max-width:100%}.quote-check-row{align-items:flex-start;flex-direction:column}}

.review-line-diffs{display:grid;gap:10px;margin:14px 0 20px}.review-line-diffs article{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:14px;padding:14px;border:1px solid var(--line);border-radius:10px;font-size:12px}.review-line-diffs small,.review-line-diffs span{display:block;color:#697763;line-height:1.7}.review-line-diffs b{display:block;font-size:12px;line-height:1.7;overflow-wrap:anywhere}@media(max-width:650px){.review-line-diffs article{grid-template-columns:1fr 1fr}.review-line-diffs article>div:first-child{grid-column:1/-1}}

/* Pinned drafts and quote totals */
.project-card.is-pinned{border:2px solid #b28a37;background:#fffdf7}
.project-pinned{color:#806019;font-weight:700;font-size:12px;margin-bottom:10px}
.project-card-total{border-top:1px solid #e6ebe4;padding:12px 0;display:flex;flex-direction:column;gap:4px;margin-top:12px}
.project-card-total small{color:#65746a;font-size:12px}.project-card-total strong{font-size:22px;color:#1d5444;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.project-pin-button[aria-pressed="true"]{background:#fff3cd;border-color:#b28a37;color:#745615}
.project-pin-button[hidden]{display:none!important}
@media(max-width:700px){.top-actions{flex-wrap:wrap}.project-pin-button{max-width:100%;white-space:normal}}

#delete-project[hidden]{display:none!important}.trash-project-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.trash-project-card{padding:18px;border:1px solid #d8e1d5;border-radius:12px;background:#fafbf7}.trash-project-card h3{overflow-wrap:anywhere}.project-card>[data-delete-project]{margin-top:8px}.top-actions{flex-wrap:wrap}

.room-work-prices{margin-top:14px;padding:12px;border:1px solid #dce5d9;border-radius:10px;background:#f7faf4;font-size:12px;overflow-wrap:anywhere}.room-work-prices>b{display:block;margin-bottom:8px}.room-work-price{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:8px 0;border-top:1px solid #dce5d9}.room-work-price>span{grid-column:1/-1}.room-work-price>small{font-size:12px}.room-work-price>strong{text-align:right}.room-work-total{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px;margin:8px 0;font-weight:700}.room-work-prices>small{display:block;line-height:1.5;color:#67745e}

.out-style-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px;margin:14px 0}.out-style{border:1px solid #dce5d9;border-radius:12px;padding:14px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;text-align:left;background:#fff;color:#315c46;cursor:pointer;font:inherit}.out-style[aria-pressed="true"]{border:2px solid #245d47;background:#eef5e4}.out-style b{font-size:15px}.out-style span{font-weight:700}.out-style small{font-size:12px;line-height:1.6}#out-plan-panel{margin:16px 0}#out-spec{white-space:pre-line;line-height:1.7}#out-svg{touch-action:none;user-select:none}
