:root{font-family:Arial,Helvetica,sans-serif;color:#153249;background:#eaf0f4;font-synthesis:none}*{box-sizing:border-box}html{font-size:16px}body{margin:0;min-width:320px}.shell{width:min(100%,520px);margin:auto;padding:20px 16px calc(30px + env(safe-area-inset-bottom))}.topbar{display:flex;align-items:center;gap:13px;margin:2px 0 20px}.mark{display:grid;place-items:center;background:#0b2c45;color:#fff;font-size:19px;font-weight:800;letter-spacing:-1px;width:47px;height:47px;border-radius:13px}.overline{color:#467486;font-size:11px;font-weight:800;letter-spacing:.15em;margin:0 0 3px}.topbar h1{font-size:22px;letter-spacing:-.035em;line-height:1.13;margin:0}.card{background:#fff;border:1px solid #dbe5ea;border-radius:18px;box-shadow:0 4px 18px #16405b0a;padding:19px;margin:0 0 13px}.start-card{border-color:#b5d9d4}.section-heading{display:flex;gap:11px;align-items:center;margin:0 0 19px}.step{display:grid;place-items:center;width:30px;height:30px;flex:none;border-radius:9px;background:#dff5f0;color:#0d6c63;font-size:12px;font-weight:800}.section-heading h2{font-size:17px;letter-spacing:-.02em;margin:0 0 2px}.section-heading p{font-size:13px;color:#668294;margin:0}.field-label,label{display:block;font-size:14px;font-weight:700;margin:17px 0 8px;color:#2b4a5c}label span{float:right;font-size:13px;font-weight:600;color:#6b8595}.money-field{display:flex;align-items:center;height:52px;background:#f5f8fa;border:1px solid #cbd9e0;border-radius:11px;overflow:hidden}.money-field>span{color:#527080;padding:0 0 0 15px;font-weight:800}.money-field input{border:0;background:transparent;padding-left:9px;height:100%;width:100%;font:inherit;font-weight:700;font-size:18px;color:#13384d;outline:0}.money-field:focus-within,select:focus{border-color:#0d8f82;box-shadow:0 0 0 3px #0d8f8226}.money-field input::placeholder{color:#9eafb9;font-weight:400;font-size:15px}select{appearance:none;width:100%;height:51px;padding:0 38px 0 14px;border:1px solid #cbd9e0;border-radius:11px;background:#f5f8fa url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23527080' stroke-width='2' viewBox='0 0 16 16'%3E%3Cpath d='m3 6 5 5 5-5'/%3E%3C/svg%3E") no-repeat right 14px center;color:#153249;font-size:16px;font-weight:650;outline:0}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:8px}.segmented button{border:1px solid #ccdae1;background:#f5f8fa;color:#33556a;border-radius:12px;padding:10px 12px;text-align:left;font-size:16px;font-weight:800;min-height:55px;cursor:pointer}.segmented button small{display:block;color:#7590a0;font-size:12px;font-weight:500;margin-top:2px}.segmented button.active{background:#0b2c45;color:#fff;border-color:#0b2c45}.segmented button.active small{color:#b6d3df}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:11px}.field-pair>*{min-width:0}.hint{font-size:12px;color:#688394;margin:7px 0 0}.divider{border-top:1px solid #e6edf1;margin:20px 0 2px}.group-title{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:#668596;margin:19px 0 0}.static-pill{display:block;background:#f3f8f9;color:#27596c;font-weight:700;border-radius:10px;padding:13px 14px;font-size:14px;margin-top:8px}.cost-card{background:#0b2c45;color:#fff;border-color:#0b2c45}.cost-card .section-heading h2{color:#fff}.cost-card .section-heading p{color:#bad0db}.cost-card .step{background:#24556a;color:#78e0cf}.result{background:#153d54;border:1px solid #2d6070;border-radius:14px;padding:18px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:3px}.result span{font-size:11px;color:#9ec6cf;font-weight:800;letter-spacing:.1em}.result strong{font-size:40px;line-height:1.15;letter-spacing:-.045em}.result small{font-size:13px;color:#b1ccd4}.result-help{text-align:center;color:#b8d0dc;font-size:13px;line-height:1.4;margin:12px 0 0}.breakdown{margin:16px 3px 0}.breakdown-row{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #31556a;padding:11px 2px;font-size:14px}.breakdown-row span{color:#c5dbe4}.breakdown-row strong{white-space:nowrap}.breakdown-row.total{font-weight:800}.margin-note{color:#80e1cf;text-align:center;font-weight:700;font-size:14px;margin:17px 0 0}.footnote{font-size:12px;color:#78909f;line-height:1.5;text-align:center;margin:15px 6px}@media(min-width:700px){.shell{padding-top:34px}.topbar{margin-bottom:26px}}@media(max-width:360px){.field-pair{grid-template-columns:1fr}.result strong{font-size:36px}}

/* Direct PI entry */
.topbar{margin-bottom:14px}
.direct-pi{width:100%;min-height:58px;margin:0 0 14px;padding:11px 15px;border:0;border-radius:14px;background:#103c2b;color:#fff;display:flex;align-items:center;justify-content:space-between;text-align:left;font:inherit;cursor:pointer;box-shadow:0 5px 16px #103c2b24}
.direct-pi strong{display:block;font-size:17px;line-height:1.2}
.direct-pi small{display:block;margin-top:3px;color:#cce3d3;font-size:12px}
.direct-pi-arrow{font-size:25px;font-weight:800}
.direct-pi:focus-visible{outline:3px solid #8fcba3;outline-offset:3px}
.pi-choose-product{width:100%;min-height:44px;margin:8px 0 2px;border:1px solid #9dc4aa;border-radius:10px;background:#edf6ef;color:#1f5a39;font:inherit;font-size:14px;font-weight:800;cursor:pointer}
.text-button{display:block;margin:11px auto 0;padding:7px 10px;border:0;background:transparent;color:#236443;font:inherit;font-size:14px;font-weight:800;cursor:pointer}
.text-button:disabled{opacity:.55;cursor:wait}
.specification-input{min-height:94px;resize:vertical;line-height:1.45}
.pi-quick-product{padding-top:2px}
.pdf-backdrop{position:fixed;inset:0;z-index:30;padding:10px;background:#0a1912db;display:grid;place-items:center}
.pdf-card{width:min(100%,820px);height:min(94vh,900px);display:grid;grid-template-rows:auto 1fr auto;overflow:hidden;border-radius:16px;background:#fff;box-shadow:0 24px 70px #0007}
.pdf-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid #dbe7de}.pdf-header h2{margin:0;font-size:18px}.pdf-header button{width:38px;height:38px;border:0;border-radius:9px;background:#eaf2ec;color:#244f35;font-size:25px;cursor:pointer}
#pi-pdf-preview{width:100%;height:100%;border:0;background:#e7ece9}
.pdf-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:11px 14px;border-top:1px solid #dbe7de}.pdf-actions a,.pdf-actions button{min-height:48px;display:grid;place-items:center;border:0;border-radius:10px;background:#103c2b;color:#fff;text-decoration:none;font:inherit;font-weight:800;cursor:pointer}.pdf-actions button{background:#e8f1ea;color:#244f35}
@media(min-width:700px){.topbar{margin-bottom:18px}}

/* Bottle-green palette */
:root{color:#183a2d;background:#eef4ef}
.mark,.segmented button.active,.cost-card{background:#103c2b;border-color:#103c2b}
.overline{color:#39765b}
.card{border-color:#d5e3d9;box-shadow:0 4px 18px #0d3d2910}
.start-card{border-color:#8dbba1}
.step{background:#dceee2;color:#165a3b}
.section-heading p,.hint,.group-title{color:#587664}
.field-label,label{color:#254b37}
label span{color:#5a7968}
.money-field,.segmented button{background:#f5faf6;border-color:#bcd2c2}
.money-field>span,.segmented button{color:#416850}
.money-field input,select{color:#173d2b}
.money-field:focus-within,select:focus{border-color:#23764c;box-shadow:0 0 0 3px #23764c26}
.money-field input::placeholder{color:#849d8d}
select{border-color:#bcd2c2;background-color:#f5faf6;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23416850' stroke-width='2' viewBox='0 0 16 16'%3E%3Cpath d='m3 6 5 5 5-5'/%3E%3C/svg%3E")}
.segmented button small{color:#698775}
.segmented button.active small{color:#c5e0cf}
.divider{border-color:#dce9df}
.static-pill{background:#e8f3eb;color:#285b3c}
.cost-card .section-heading p{color:#b9d4c1}
.cost-card .step{background:#2b6647;color:#e3f4e6}
.result{background:#185137;border-color:#3b7955}
.result span,.result small{color:#c6e4d0}
.result-help{color:#cbe1d0}
.breakdown-row{border-color:#426f54}
.breakdown-row span{color:#d6e9da}
.margin-note{color:#b5e5bf}
.footnote{color:#668574}
.breakdown-row{align-items:center}
.breakdown-label{display:flex;flex-direction:column;gap:3px;min-width:0}
.breakdown-label small{color:#a9cdb4;font-size:13px;line-height:1.4}
.piece-panel{margin-top:18px;padding:17px 16px;border:1px solid #58936b;border-radius:14px;background:#215f41;text-align:center;display:flex;flex-direction:column;align-items:center;gap:3px}
.piece-panel[hidden]{display:none}
.piece-panel>span{color:#d6eddd;font-size:11px;font-weight:800;letter-spacing:.1em}
.piece-panel strong{font-size:34px;line-height:1.2;letter-spacing:-.035em}
.piece-panel small,.piece-panel p{color:#d2e9d8;font-size:13px;line-height:1.4}
.piece-panel p{margin:7px 0 0}
.piece-action{margin-top:18px}
.piece-action[hidden],.piece-section[hidden]{display:none}
.piece-action button{width:100%;min-height:50px;border:1px solid #bde6c7;border-radius:11px;background:#e9f7ed;color:#12462d;font:inherit;font-size:15px;font-weight:800;cursor:pointer}
.piece-action button:focus-visible{outline:3px solid #bde6c7;outline-offset:3px}
.piece-section{margin-top:18px;padding-top:16px;border-top:1px solid #426f54}
.piece-title{font-size:15px;font-weight:800;margin:0 0 2px}
.piece-section label{color:#e0f0e3;margin-top:14px}
.piece-section label span,.piece-section .hint{color:#bfddc8}

/* PI workspace */
[hidden]{display:none!important}.plain-input,.file-input{width:100%;min-height:51px;border:1px solid #bcd2c2;border-radius:11px;background:#f5faf6;color:#173d2b;padding:12px 14px;font:inherit;font-size:16px;font-weight:700;outline:0}.plain-input:focus,.file-input:focus{border-color:#23764c;box-shadow:0 0 0 3px #23764c26}.file-input{font-size:14px;padding:10px}.pi-card{border-color:#86b99a}.pi-items{display:grid;gap:8px}.empty-lines{margin:0;padding:14px;border:1px dashed #aec9b6;border-radius:11px;color:#668574;text-align:center;font-size:13px}.pi-item{display:flex;justify-content:space-between;gap:10px;padding:12px;border:1px solid #d2e3d6;border-radius:11px;background:#f6faf7}.pi-item strong{font-size:14px}.pi-item p{margin:4px 0;color:#587664;font-size:12px;line-height:1.4}.pi-item small{color:#24593b;font-weight:800}.pi-item button{flex:none;width:30px;height:30px;border:0;border-radius:8px;background:#e7f0e9;color:#315b40;font-size:20px;cursor:pointer}.pi-tip{font-size:12px;line-height:1.4;color:#668574;margin:10px 0 4px}.line-add,.primary-button,.pi-buttons button{width:100%;min-height:50px;border:0;border-radius:11px;background:#103c2b;color:#fff;font:inherit;font-weight:800;cursor:pointer}.line-add{margin-top:14px}.pi-buttons{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:18px}.pi-buttons button.secondary{background:#e8f1ea;color:#244f35}.line-add:disabled,.primary-button:disabled,.pi-buttons button:disabled{opacity:.55;cursor:wait}.pi-status{min-height:18px;color:#23764c;font-size:13px;font-weight:700;line-height:1.4;margin:11px 0 0}.pi-status.error{color:#a63131}.dialog-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:18px;background:#10241bbd}.login-card{position:relative;width:min(100%,410px);padding:24px;border-radius:18px;background:#fff;box-shadow:0 22px 60px #07150d55}.login-card h2{margin:0 0 8px;font-size:22px}.dialog-close{position:absolute;top:11px;right:12px;width:36px;height:36px;border:0;border-radius:9px;background:#eaf2ec;color:#244f35;font-size:25px;cursor:pointer}.remember{display:flex;gap:9px;align-items:center;font-size:13px;margin:14px 0;color:#355d43}.remember input{width:18px;height:18px;accent-color:#23764c}.primary-button{margin-top:6px}@media(max-width:360px){.pi-buttons{grid-template-columns:1fr}}
