.calc-page{padding:42px 7.5vw 95px;background:#f8fbf8;color:#163b35}.calc-intro{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:48px 5vw;background:radial-gradient(circle at 80% 20%,#cceee3,#e8f5ee 50%,#eff8f2);border-radius:28px;overflow:hidden}.calc-kicker{font:700 11px 'Space Grotesk',sans-serif;letter-spacing:.16em;color:#178b80}.calc-intro h1{font:600 clamp(45px,5.4vw,78px)/1.02 'Space Grotesk',sans-serif;letter-spacing:-.07em;margin:21px 0}.calc-intro h1 em{font-style:normal;color:#168d88}.calc-intro p{max-width:620px;color:#597a70;line-height:1.65;font-size:15px;margin:0}.calc-intro-mark{width:180px;height:180px;flex:0 0 auto;border:1px solid #a3d7c5;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#168d88;transform:rotate(-11deg);box-shadow:0 0 0 18px #ffffff55,0 0 0 36px #b9dfd344}.calc-intro-mark span{font:600 100px/.9 'Space Grotesk',sans-serif}.calc-intro-mark small{font-size:8px;font-weight:700;letter-spacing:.12em}.calc-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,.75fr);gap:28px;align-items:start;margin-top:30px}.calc-inputs{display:grid;gap:20px}.calc-panel,.calc-result{background:#fff;border:1px solid #dae9e2;border-radius:22px;box-shadow:0 12px 35px #154c3520}.calc-panel{padding:29px}.calc-panel-heading{display:flex;align-items:start;gap:17px;margin-bottom:24px}.calc-panel-heading>span{display:grid;place-items:center;flex:0 0 auto;width:38px;height:38px;background:#dff3e9;border-radius:12px;color:#168d88;font:700 13px 'Space Grotesk'}.calc-panel h2{margin:1px 0 5px;font:600 22px 'Space Grotesk',sans-serif;letter-spacing:-.035em}.calc-panel-heading p{margin:0;color:#779187;font-size:12px}.calc-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:15px}.calc-fields label{font-size:12px;font-weight:700;color:#365e53;min-width:0}.calc-fields label small{float:right;font-size:10px;color:#81978e;font-weight:500}.calc-fields input,.calc-fields select{display:block;width:100%;height:45px;margin-top:8px;border:1px solid #cfe1d8;border-radius:10px;background:#fbfdfb;color:#173f35;padding:0 13px;font:600 14px 'Space Grotesk',sans-serif;outline-color:#168d88}.calc-fields input:focus,.calc-fields select:focus{background:#fff;border-color:#168d88}.calc-mode{display:grid;grid-template-columns:1fr 1fr;gap:10px}.calc-mode label{position:relative;cursor:pointer}.calc-mode input{position:absolute;opacity:0}.calc-mode span{display:flex;flex-direction:column;gap:4px;border:1px solid #d6e7dc;padding:14px;border-radius:12px;min-height:72px}.calc-mode b{font-size:12px}.calc-mode small{color:#799489;font-size:10px}.calc-mode input:checked+span{border-color:#168d88;background:#e6f6ee;box-shadow:inset 0 0 0 1px #168d88}.calc-mode input:focus-visible+span{outline:3px solid #9be4d7}.calc-help{font-size:11px;line-height:1.6;color:#718b7e;margin:16px 0 0}.calc-result{position:sticky;top:16px;overflow:hidden}.calc-result-head{padding:34px;background:#154c45;color:white}.calc-result-head span{font:700 10px 'Space Grotesk',sans-serif;letter-spacing:.14em;color:#afe6cc}.calc-result-head strong{display:block;font:600 clamp(42px,4vw,62px) 'Space Grotesk',sans-serif;letter-spacing:-.07em;margin:13px 0 6px;white-space:nowrap}.calc-result-head p{margin:0;font-size:12px;color:#c2e1d2}.calc-result-stats{display:grid;grid-template-columns:repeat(3,1fr);padding:23px 25px;gap:13px;background:#e9f5ed}.calc-result-stats>div{display:grid;gap:7px}.calc-result-stats span{font-size:10px;color:#6b8c7d}.calc-result-stats b{font:700 16px 'Space Grotesk',sans-serif;color:#174b41}.calc-detail{padding:28px 29px 16px}.calc-detail h3{font:600 18px 'Space Grotesk',sans-serif;margin:0 0 18px}.calc-bar-row{display:grid;grid-template-columns:135px 1fr 36px;gap:9px;align-items:center;margin:10px 0;font-size:10px;color:#688579}.calc-bar-row i{display:block;height:7px;background:#eef5f0;border-radius:10px;overflow:hidden}.calc-bar-row em{display:block;height:100%;border-radius:10px}.calc-bar-row b{text-align:right;color:#345a50}.calc-detail #calcLines{border-top:1px solid #e4eee7;margin-top:21px;padding-top:12px}.calc-detail #calcLines>div{display:flex;justify-content:space-between;gap:18px;padding:6px 0;color:#698478;font-size:11px}.calc-detail #calcLines b{color:#234e42;font-size:12px}.calc-assumption,.calc-math,.calc-disclaimer{margin:7px 29px 15px;font-size:11px;line-height:1.6;color:#6a8579}.calc-math{background:#f0f8f2;padding:12px;border-radius:10px}.calc-actions{display:flex;gap:7px;flex-wrap:wrap;margin:20px 29px}.calc-actions button{padding:9px 11px;border:1px solid #c9e0d2;border-radius:8px;background:#fff;color:#1f766b;font-size:11px;font-weight:700;cursor:pointer}.calc-order{display:flex;justify-content:space-between;align-items:center;width:calc(100% - 58px);margin:0 29px;padding:16px 20px;background:#168d88;color:#fff;border:0;border-radius:11px;font-weight:700;cursor:pointer}.calc-order:hover{background:#106b66}.calc-disclaimer{margin-top:15px;margin-bottom:28px}@media(max-width:1050px){.calc-layout{grid-template-columns:1fr}.calc-result{position:static}}@media(max-width:720px){.calc-page{padding:20px 6vw 60px}.calc-intro{padding:36px 7vw}.calc-intro-mark{display:none}.calc-fields{grid-template-columns:1fr 1fr}.calc-result-head strong{font-size:50px}}@media(max-width:450px){.calc-intro h1{font-size:48px}.calc-panel{padding:20px}.calc-fields{grid-template-columns:1fr}.calc-result-stats{grid-template-columns:1fr 1fr}.calc-bar-row{grid-template-columns:105px 1fr 32px}}
@media print{.demo-strip,.module-navigation,.calc-inputs,.calc-actions,.calc-order,.calc-intro-mark{display:none!important}.calc-page{padding:0;background:#fff}.calc-intro{padding:10px;background:#fff}.calc-intro h1{font-size:32px}.calc-intro p{font-size:11px}.calc-layout{display:block}.calc-result{box-shadow:none;border:0}.calc-result-head{color:#153e34;background:#fff;padding:12px 29px}.calc-result-head span,.calc-result-head p{color:#153e34}.calc-result-head strong{font-size:42px}}
.calc-save-row{display:flex;gap:9px}.calc-save-row input{min-width:0;flex:1;border:1px solid #cfe1d8;border-radius:10px;padding:12px;font-size:12px}.calc-save-row button,.calc-saved-row button{border:1px solid #a9d2c4;border-radius:10px;background:#e5f4eb;color:#176f68;padding:10px 14px;font-size:11px;font-weight:700;cursor:pointer}.calc-saved-empty{font-size:11px;color:#80978b;margin:18px 0 0}.calc-saved-row{display:flex;align-items:center;gap:8px;border-top:1px solid #e4efe7;padding:12px 0}.calc-saved-row:first-child{margin-top:12px}.calc-saved-row span{display:flex;flex:1;min-width:0;flex-direction:column;gap:3px}.calc-saved-row b{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calc-saved-row small{color:#6b8778;font-size:10px}.calc-saved-row button:last-child{background:#fff;color:#8b635d;border-color:#e4d3ce}@media(max-width:450px){.calc-save-row{flex-direction:column}.calc-saved-row button{padding:9px}}
.price-lab{--pl-ink:#173b34;--pl-muted:#698578;--pl-border:#d9e8df;--pl-surface:#fff;color:var(--pl-ink)}.pl-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:29px 0 22px}.pl-tabs button,.pl-subtabs button{border:1px solid #c8e1d2;background:#fff;color:#477165;padding:11px 17px;border-radius:999px;font-size:12px;font-weight:700;cursor:pointer}.pl-tabs button.active,.pl-subtabs button.active{color:#fff;background:#168d88;border-color:#168d88}.pl-notice{padding:14px 19px;background:#fff5da;color:#715b20;border:1px solid #e7d49b;border-radius:12px;margin:0 0 20px;font-size:12px}.pl-job{border:1px solid #d8e9df;border-radius:16px;padding:20px;margin-top:18px;background:#fbfdfb}.pl-job-head,.pl-subhead{display:flex;align-items:center;justify-content:space-between;gap:12px}.pl-job-head b{font:700 13px 'Space Grotesk',sans-serif}.pl-job-head small{font:500 11px 'DM Sans',sans-serif;color:#748e80}.pl-job-head button,.pl-subhead button{border:0;background:none;color:#17857a;font-size:11px;font-weight:700;cursor:pointer}.pl-usage{border-top:1px solid #e1ece4;margin-top:20px;padding-top:17px}.pl-usage-line{display:grid;grid-template-columns:1fr 160px 30px;gap:9px;align-items:end;margin-top:12px}.pl-usage-line>.pl-field{min-width:0}.pl-usage-line>button{height:43px;border:1px solid #e5d7d0;border-radius:8px;background:#fff;color:#a06554;cursor:pointer}.pl-file{display:block;border:1px dashed #b9d7c7;border-radius:12px;padding:13px;margin-top:17px;color:#296e62;font-size:12px;font-weight:700}.pl-file input{display:block;margin:8px 0;max-width:100%;font-size:11px}.pl-file small{display:block;color:#83998e;font-weight:400;line-height:1.4}.pl-add{border:1px dashed #87bdac;border-radius:11px;background:#f3faf5;color:#16796d;padding:12px 16px;margin-top:15px;font-size:12px;font-weight:700;cursor:pointer}.pl-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:22px}.pl-actions button,.pl-import{border:1px solid #b6d7c7;border-radius:10px;background:#fff;color:#247569;padding:11px 15px;font-size:11px;font-weight:700;cursor:pointer}.pl-actions .pl-primary,.pl-primary{border:0;border-radius:10px;background:#168d88;color:#fff;padding:12px 17px;font-size:12px;font-weight:700;cursor:pointer}.pl-primary:hover{background:#0e706a}.pl-import input{display:none}.pl-result-row{display:grid;grid-template-columns:1fr auto;gap:3px 10px;border-top:1px solid #e5efe8;padding:10px 0;font-size:11px}.pl-result-row b{font-size:11px}.pl-result-row span{grid-column:1;color:#789183}.pl-result-row strong{grid-column:2;grid-row:1/3;align-self:center}.pl-library-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:35px 0 25px}.pl-library-head h2{font:600 clamp(35px,4vw,54px) 'Space Grotesk';letter-spacing:-.06em;margin:10px 0}.pl-library-head p{font-size:13px;line-height:1.6;color:#698578;max-width:630px}.pl-search{width:min(320px,100%);height:45px;border:1px solid #ccdfd2;border-radius:999px;padding:0 17px;background:#fff;font-size:12px}.pl-library-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(310px,.75fr);gap:20px;align-items:start}.pl-library-list{display:grid;gap:10px}.pl-library-card,.pl-printer-card,.pl-product-row{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid #dceae0;border-radius:13px;padding:15px}.pl-library-card>i{width:32px;height:32px;border-radius:50%;flex:0 0 auto;border:1px solid #d9e6df}.pl-library-card>div,.pl-printer-card>div,.pl-product-row>div{display:grid;gap:4px;flex:1;min-width:0}.pl-library-card b,.pl-printer-card b,.pl-product-row b{font-size:13px}.pl-library-card small,.pl-printer-card small,.pl-product-row small,.pl-printer-card span,.pl-product-row span{color:#748e80;font-size:11px;line-height:1.4}.pl-printer-card a{font-size:10px;color:#177f75;width:max-content}.pl-library-card button,.pl-printer-card button,.pl-product-row button{border:1px solid #c5dfd0;border-radius:8px;background:#fff;color:#277768;padding:8px 10px;font-size:10px;font-weight:700;white-space:nowrap;cursor:pointer}.pl-library-card button:last-child,.pl-printer-card button:last-child,.pl-product-row button:last-child{border-color:#eadad3;color:#9b6a61}.pl-edit-panel{position:sticky;top:16px}.pl-edit-panel h3,.pl-settings-grid h3{margin:0 0 19px;font:600 19px 'Space Grotesk'}.pl-field{display:block;min-width:0;font-size:12px;font-weight:700;color:#395f52}.pl-field span{display:block}.pl-field small{float:right;color:#8ca498;font-weight:400}.pl-field input,.pl-field select{display:block;width:100%;min-width:0;height:44px;border:1px solid #cbded2;border-radius:9px;background:#fff;color:#1c4638;padding:0 12px;margin-top:8px;font-size:13px;outline-color:#168d88}.pl-field input[type=color]{padding:3px}.pl-subtabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 20px}.pl-list-line{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #e4eee6;padding:13px 0;font-size:11px}.pl-list-line b{font-size:11px}.pl-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.pl-settings-grid .calc-panel{height:max-content}.pl-check{display:flex;gap:10px;align-items:center;font-size:12px;font-weight:700;color:#2e5f53;margin:12px 0}.pl-check input{accent-color:#168d88}.pl-channel,.pl-fixed{display:flex;gap:7px;align-items:center;margin:9px 0}.pl-channel input,.pl-fixed input{min-width:0;width:100%;height:39px;border:1px solid #d4e6da;border-radius:8px;padding:7px;font-size:11px}.pl-channel input:first-child,.pl-fixed input:first-child{flex:1.5}.pl-channel input[type=number],.pl-fixed input[type=number]{flex:.65}.pl-channel span{font-size:10px;color:#829a8a}.pl-channel button,.pl-fixed button{border:0;background:#fff;color:#ac6b5b;cursor:pointer}.pl-quote-overlay{position:fixed;z-index:30;inset:0;background:#102e27b8;display:grid;place-items:center;padding:20px}.pl-quote-modal{width:min(620px,100%);background:#fff;border-radius:20px;padding:28px;box-shadow:0 25px 80px #071c1480}.pl-quote-head{display:flex;justify-content:space-between;align-items:center}.pl-quote-head h2{margin:0;font:600 24px 'Space Grotesk'}.pl-quote-head button{border:0;background:none;font-size:26px;cursor:pointer}.pl-quote-modal p{font-size:12px;color:#647e71}.pl-quote-modal textarea{width:100%;height:280px;border:1px solid #d0e2d5;border-radius:10px;padding:15px;font:12px/1.7 monospace;resize:vertical}.pl-sync{margin-top:15px;font-size:12px;color:#617d70}.pl-sync button{margin-right:8px}@media(max-width:1100px){.pl-library-layout{grid-template-columns:1fr}.pl-edit-panel{position:static}}@media(max-width:750px){.pl-settings-grid{grid-template-columns:1fr}.pl-library-head{align-items:stretch;flex-direction:column}.pl-search{width:100%}.pl-library-card,.pl-printer-card,.pl-product-row{flex-wrap:wrap}.pl-library-card>div,.pl-printer-card>div,.pl-product-row>div{flex-basis:65%}}@media(max-width:480px){.pl-tabs{gap:6px}.pl-tabs button{padding:9px 11px;font-size:10px}.pl-usage-line{grid-template-columns:1fr 95px 28px}.pl-job-head{align-items:start}.pl-job-head small{display:block;margin-top:4px}.pl-channel{flex-wrap:wrap}.pl-channel input:first-child{flex-basis:100%}}
.price-lab.pl-dark{background:#142622;color:#e3f2e9;--pl-ink:#e3f2e9}.pl-dark .calc-intro{background:linear-gradient(120deg,#213b34,#1a4c44)}.pl-dark .calc-intro p,.pl-dark .pl-library-head p{color:#b8d6c5}.pl-dark .calc-panel,.pl-dark .pl-library-card,.pl-dark .pl-printer-card,.pl-dark .pl-product-row,.pl-dark .calc-result,.pl-dark .pl-quote-modal{background:#21352e;color:#e4f1e9;border-color:#38594b}.pl-dark .pl-job{background:#294238;border-color:#466858}.pl-dark .pl-field input,.pl-dark .pl-field select,.pl-dark .calc-fields input,.pl-dark .calc-fields select,.pl-dark .pl-search,.pl-dark .pl-channel input,.pl-dark .pl-fixed input{background:#1a2e27;color:#e8f4ec;border-color:#4b705c}.pl-dark .pl-field,.pl-dark .calc-fields label,.pl-dark .calc-panel h2,.pl-dark .calc-detail h3,.pl-dark .pl-library-card b,.pl-dark .pl-printer-card b,.pl-dark .pl-product-row b{color:#e3f2e9}.pl-dark .calc-result-stats,.pl-dark .calc-math{background:#2b4b3c}.pl-dark .calc-result-stats b{color:#e3f2e9}.pl-dark .pl-tabs button,.pl-dark .pl-subtabs button{background:#243f33;color:#d4e7da;border-color:#4b735a}.pl-dark .pl-tabs button.active,.pl-dark .pl-subtabs button.active{background:#168d88;color:#fff}
.price-lab{padding-top:18px}.price-lab .calc-intro{padding:27px 4vw;border-radius:20px}.price-lab .calc-intro h1{font-size:clamp(38px,4vw,58px);margin:12px 0}.price-lab .calc-intro p{font-size:13px;max-width:660px}.price-lab .calc-intro-mark{width:110px;height:110px;box-shadow:0 0 0 12px #ffffff55,0 0 0 24px #b9dfd344}.price-lab .calc-intro-mark span{font-size:64px}.price-lab .calc-intro-mark small{font-size:6px}.price-lab .pl-tabs{margin:17px 0 15px}
@media(max-width:480px){.module-navigation{flex-wrap:nowrap;overflow-x:auto;padding:12px 6vw 0;scrollbar-width:none}.module-navigation::-webkit-scrollbar{display:none}.module-navigation button{flex:0 0 auto;white-space:nowrap}.price-lab{padding-top:9px}.price-lab .calc-intro{padding:18px 6vw}.price-lab .calc-intro h1{font-size:35px;line-height:1.04;margin:9px 0}.price-lab .calc-intro p{font-size:11px;line-height:1.5}.price-lab .pl-tabs{margin:12px 0}.pl-tabs button{padding:8px 10px}}
@media print{.pl-tabs,.pl-library-head,.pl-settings-grid,.pl-job-list,.pl-add,.pl-file,.pl-quote-overlay{display:none!important}.price-lab .calc-layout{display:block}.price-lab .calc-inputs{display:none}.price-lab .calc-result{display:block}}
body:has(#calcView:not(.hidden)) .demo-strip,
body:has(#calcView:not(.hidden)) .module-navigation{display:none!important}
.price-lab .pl-pick-search input{border-color:#9bc8bb;background:#f4fbf7}
.price-lab .pl-pick-group{min-width:0;display:grid;gap:7px}
.price-lab .pl-pick-group .pl-field input,.price-lab .pl-pick-group .pl-field select{margin-top:5px}
.price-lab .pl-library-card a{color:#18786e;text-decoration:underline;text-underline-offset:2px}
.price-lab .pl-printer-card a{width:auto}
.price-lab .pl-printer-card{align-items:flex-start}.price-lab .pl-printer-card>div{gap:6px}.price-lab .pl-printer-card span{line-height:1.55}.price-lab .pl-printer-card a{font-size:11px;font-weight:700;text-underline-offset:3px}.price-lab .pl-printer-card button{min-height:36px}.price-lab .pl-search:focus-visible,.price-lab .pl-printer-card button:focus-visible,.price-lab .pl-printer-card a:focus-visible{outline:2px solid #168d88;outline-offset:3px}@media(max-width:750px){.price-lab .pl-printer-card>div{flex-basis:100%}.price-lab .pl-printer-card button{font-size:12px;padding:9px 14px}.price-lab .pl-library-head{margin-top:25px}}
.price-lab .pl-brand-header{margin:22px 0 4px;padding:10px 3px 8px;border-bottom:2px solid #a9d5bc;color:#245c4d;font:700 17px 'Space Grotesk',sans-serif;letter-spacing:-.02em}.price-lab .pl-brand-header:first-child{margin-top:0}.price-lab .pl-brand-header[hidden]{display:none}.price-lab .pl-printer-card[hidden]{display:none}.pl-dark .pl-brand-header{color:#c7ead1;border-color:#4c866f}
.price-lab .pl-printer-picker{position:relative;min-width:0;align-self:end}.price-lab .pl-picker-label{display:block;font-size:12px;font-weight:700;color:#395f52}.price-lab .pl-picker-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;height:44px;margin-top:8px;padding:0 12px;text-align:left;color:#1c4638;background:#fff;border:1px solid #cbded2;border-radius:9px;font-size:13px;cursor:pointer}.price-lab .pl-picker-trigger i{font-size:18px;font-style:normal}.price-lab .pl-picker-menu{position:absolute;z-index:25;top:100%;left:0;width:min(420px,max(100%,320px));max-width:calc(100vw - 36px);margin-top:5px;padding:12px;background:#fff;border:1px solid #bdd7c7;border-radius:13px;box-shadow:0 18px 45px #193f2d2e}.price-lab .pl-picker-menu[hidden],.price-lab .pl-picker-brand[hidden],.price-lab [data-printer-option][hidden]{display:none}.price-lab .pl-picker-search span{display:block;margin-bottom:6px;color:#476f5e;font-size:11px;font-weight:700}.price-lab .pl-picker-search input{width:100%;height:40px;border:1px solid #c6ddcd;border-radius:8px;padding:0 12px;font-size:12px}.price-lab .pl-picker-options{max-height:300px;overflow:auto;margin-top:9px}.price-lab .pl-picker-brand>b{display:block;position:sticky;top:0;padding:9px 7px 5px;background:#f0f8f2;color:#2b6654;font-size:11px}.price-lab .pl-picker-brand>button{display:flex;justify-content:space-between;gap:10px;width:100%;padding:10px 8px;border:0;border-bottom:1px solid #edf3ed;background:#fff;color:#294b3f;text-align:left;font-size:12px;cursor:pointer}.price-lab .pl-picker-brand>button:hover,.price-lab .pl-picker-brand>button[aria-current=true]{background:#e9f6ee}.price-lab .pl-picker-brand small{color:#789181;font-size:10px;text-align:right}.pl-dark .pl-picker-label{color:#d8efde}.pl-dark .pl-picker-trigger,.pl-dark .pl-picker-menu,.pl-dark .pl-picker-search input,.pl-dark .pl-picker-brand>button{background:#20382c;color:#e0f2e5;border-color:#496b55}.pl-dark .pl-picker-brand>b{background:#2b4937;color:#d7f1da}
.price-lab .pl-material-picker{position:relative;min-width:0;align-self:end}.price-lab .pl-material-picker .pl-picker-trigger>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.price-lab .pl-material-picker .pl-picker-brand>button>span{display:flex;align-items:center;gap:7px;min-width:0}.price-lab .pl-color-dot{display:inline-block;width:12px;height:12px;min-width:12px;border:1px solid #bdcfc3;border-radius:50%}.price-lab .pl-material-picker .pl-picker-brand small{white-space:nowrap}.price-lab [data-material-option][hidden]{display:none}
.price-lab .pl-material-picker .pl-picker-menu{width:min(460px,max(100%,340px))}.price-lab .pl-material-picker .pl-picker-options{max-height:340px}.price-lab .pl-material-group{padding:11px 5px;border-bottom:1px solid #e1ece4}.price-lab .pl-material-group[hidden],.price-lab .pl-swatch[hidden]{display:none}.price-lab .pl-material-group-line{display:flex;justify-content:space-between;gap:12px;align-items:baseline;color:#244e3f;font-size:12px}.price-lab .pl-material-group-line strong{white-space:nowrap;color:#13756c;font-size:11px}.price-lab .pl-swatch-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.price-lab .pl-swatch{display:block;width:27px;height:27px;padding:0;border:1px solid #aabdaf;border-radius:50%;box-shadow:0 1px 2px #182e2733;cursor:pointer}.price-lab .pl-swatch:hover,.price-lab .pl-swatch:focus-visible{outline:3px solid #79bdb1;outline-offset:2px}.price-lab .pl-swatch[aria-current=true]{outline:3px solid #168d88;outline-offset:2px}.price-lab .pl-picker-note{margin:9px 3px 1px;color:#759081;font-size:10px;line-height:1.45}.price-lab .pl-picker-trigger .pl-color-dot{margin-right:6px;vertical-align:-1px}.pl-dark .pl-material-group{border-color:#456955}.pl-dark .pl-material-group-line{color:#dcf0e3}.pl-dark .pl-material-group-line strong{color:#8cdbbc}
.price-lab .pl-material-brand[hidden]{display:none}.price-lab .pl-material-brand>h3{position:sticky;top:0;z-index:1;margin:8px 0 0;padding:9px 6px;background:#eaf4ed;border-radius:7px;color:#215e4d;font:700 12px 'Space Grotesk',sans-serif}.price-lab .pl-material-brand:first-child>h3{margin-top:0}.pl-dark .pl-material-brand>h3{background:#2c4938;color:#d5f0dc}
.price-lab .pl-material-option{display:flex;width:100%;justify-content:space-between;align-items:center;gap:12px;padding:9px 7px;border:0;border-radius:7px;background:transparent;color:#254e40;text-align:left;cursor:pointer;font-size:12px}.price-lab .pl-material-option:hover,.price-lab .pl-material-option[aria-current=true]{background:#e9f5ed}.price-lab .pl-material-option strong{color:#13756c;white-space:nowrap}.price-lab .pl-material-use{margin-top:12px;padding:12px;border:1px solid #dceae0;border-radius:12px;background:#fff}.price-lab .pl-usage-multi{margin:0;grid-template-columns:minmax(0,1fr) 120px 30px}.price-lab .pl-color-picker{margin-top:10px;color:#4d7163;font-size:12px}.price-lab .pl-color-picker summary{cursor:pointer;font-weight:700}.price-lab .pl-color-picker p{margin:9px 0 0;font-size:11px;color:#718d7e}.price-lab .pl-color-picker .pl-swatch[aria-pressed=true]{outline:3px solid #168d88;outline-offset:2px}.price-lab .pl-custom-color{display:flex;align-items:end;gap:10px;margin-top:12px}.price-lab .pl-custom-color label{display:grid;gap:4px;font-size:11px;font-weight:700}.price-lab .pl-custom-color input{width:65px;height:36px;padding:2px;border:1px solid #c5dfd0;border-radius:7px;background:#fff}.price-lab .pl-custom-color button{height:36px;padding:0 12px;border:1px solid #b6d7c7;border-radius:8px;background:#fff;color:#247569;font-weight:700;cursor:pointer}.price-lab .pl-material-editor{margin-top:20px;padding-top:15px;border-top:1px solid #dceae0}@media(max-width:750px){.price-lab .pl-usage-multi{grid-template-columns:minmax(0,1fr) 96px 28px}.price-lab .pl-material-use{padding:10px}}
.price-lab.pl-dark .pl-material-use{background:#21352e;border-color:#38594b}.price-lab.pl-dark .pl-material-option{color:#e3f2e9}.price-lab.pl-dark .pl-material-option:hover,.price-lab.pl-dark .pl-material-option[aria-current=true]{background:#2e5141}.price-lab.pl-dark .pl-color-picker{color:#d4e7da}@media(max-width:480px){.price-lab .pl-usage-multi{grid-template-columns:minmax(0,1fr) 32px}.price-lab .pl-usage-multi .pl-pick-group{grid-column:1/-1}.price-lab .pl-usage-multi>.pl-field{grid-column:1}.price-lab .pl-usage-multi>button{grid-column:2;grid-row:2}}
.price-lab .pl-usage-multi>button{width:32px;justify-self:end}

.price-lab.pl-dark .calc-mode span{border-color:#557968;color:#e6f4e9}.price-lab.pl-dark .calc-mode input:checked+span{background:#286458;border-color:#73c9b6;box-shadow:inset 0 0 0 1px #73c9b6}.price-lab.pl-dark .calc-mode small,.price-lab.pl-dark .calc-help,.price-lab.pl-dark .calc-panel-heading p{color:#bfd6c8}
.price-lab .pl-catalog-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,1fr);gap:24px;align-items:start}
.price-lab .pl-catalog-column{min-width:0}
.price-lab .pl-catalog-filters{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:12px}
.price-lab .pl-catalog-count,.price-lab .pl-catalog-feedback{margin:10px 0;font-size:12px;color:#47685a}
.price-lab .pl-catalog-feedback:empty{display:none}
.price-lab .pl-catalog-scroll{max-height:520px;overflow-y:auto;align-content:start;scrollbar-gutter:stable;padding-right:8px;border-radius:10px}
.price-lab .pl-catalog-scroll:focus-visible{outline:2px solid #168d88;outline-offset:3px}
.price-lab .pl-catalog-scroll .pl-material-family{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:center}
.price-lab .pl-catalog-scroll .pl-material-family[hidden]{display:none}
.price-lab .pl-catalog-scroll .pl-material-family-head{flex-wrap:wrap;gap:4px 10px}
.price-lab .pl-catalog-scroll .pl-material-family small{grid-column:1}
.price-lab .pl-material-edit{grid-column:2;grid-row:1 / span 2;min-height:38px;padding:6px 10px;border:1px solid #b6d7c7;border-radius:8px;background:#f6fbf8;color:#185b4b;font-size:11px;font-weight:700;white-space:nowrap;cursor:pointer}
.price-lab .pl-material-edit:hover{background:#e2f5ea}
.price-lab .pl-catalog-toolbar{margin-bottom:18px}
.price-lab .pl-material-controls .pl-material-editor{margin-top:0;padding-top:0;border-top:0}
.price-lab .pl-edit-material-name{font-weight:700}
.price-lab.pl-dark .pl-catalog-count,.price-lab.pl-dark .pl-catalog-feedback,.price-lab.pl-dark .pl-catalog-scroll .pl-material-family small{color:#bfd6c8}
.price-lab.pl-dark .pl-material-edit{background:#254538;color:#c2f4e2;border-color:#507f6c}
.price-lab.pl-dark .pl-material-edit:hover{background:#315b49}
@media(max-width:850px){.price-lab .pl-catalog-layout{grid-template-columns:minmax(0,1fr)}.price-lab .pl-catalog-scroll{max-height:370px}}
.price-lab .pl-library-brand[hidden],.price-lab .pl-material-family[hidden]{display:none}.price-lab .pl-library-brand{display:grid;gap:9px}.price-lab .pl-library-brand>h3{margin:16px 0 2px;padding:9px 3px;border-bottom:2px solid #a9d5bc;color:#245c4d;font:700 17px 'Space Grotesk',sans-serif}.price-lab .pl-library-brand:first-child>h3{margin-top:0}.price-lab .pl-material-family{padding:15px;background:#fff;border:1px solid #dceae0;border-radius:13px}.price-lab .pl-material-family-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:13px}.price-lab .pl-material-family-head strong{color:#13756c;white-space:nowrap;font-size:12px}.price-lab .pl-material-family-swatches{display:flex;flex-wrap:wrap;gap:9px;margin:13px 0}.price-lab .pl-material-family-swatches button{width:28px;height:28px;padding:0;border:1px solid #adbfaf;border-radius:50%;box-shadow:0 1px 2px #182e2733;cursor:pointer}.price-lab .pl-material-family-swatches button:hover,.price-lab .pl-material-family-swatches button:focus-visible{outline:3px solid #79bdb1;outline-offset:2px}.price-lab .pl-material-family>small{color:#759081;font-size:10px}.price-lab .pl-material-extras{margin-top:10px;color:#617e6e;font-size:11px}.price-lab .pl-material-extras summary{cursor:pointer}.price-lab .pl-material-extras>div{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid #e4eee6}.price-lab .pl-material-extras button{border:1px solid #c5dfd0;border-radius:7px;background:#fff;color:#277768;padding:5px 9px;cursor:pointer}.pl-dark .pl-library-brand>h3{color:#c7ead1;border-color:#4c866f}.pl-dark .pl-material-family{background:#21352e;border-color:#38594b}.pl-dark .pl-material-family-head strong{color:#8cdbbc}
@media(max-width:480px){.price-lab .pl-usage-line{grid-template-columns:minmax(0,1fr) 85px 28px}}

.price-lab .pl-catalog-scroll .pl-printer-card[hidden]{display:none}
.price-lab .pl-file input[data-gcode]{position:absolute;width:1px;height:1px;margin:0;clip-path:inset(50%);overflow:hidden}
.price-lab .pl-file-button{display:block;width:fit-content;min-height:36px;margin:8px 0;padding:8px 12px;border:1px solid #b6d7c7;border-radius:8px;background:#f6fbf8;color:#185b4b;cursor:pointer}
.price-lab .pl-file input:focus-visible+.pl-file-button{outline:2px solid #168d88;outline-offset:3px}
.price-lab .pl-file-feedback{margin:8px 0 0;font-weight:600;line-height:1.5;overflow-wrap:anywhere;color:#296e62}
.price-lab .pl-file-feedback:empty{margin:0}
.price-lab .pl-file-feedback[data-tone=error],.price-lab .pl-file-feedback[data-tone=warning]{color:#954711}
.price-lab.pl-dark .pl-file,.price-lab.pl-dark .pl-file small,.price-lab.pl-dark .pl-file-feedback{color:#bfd6c8}
.price-lab.pl-dark .pl-file-feedback[data-tone=error],.price-lab.pl-dark .pl-file-feedback[data-tone=warning]{color:#ffc998}

.pl-job-times {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, max(125px, 42%)), 1fr));
  gap: 12px 15px;
}
.pl-duration.pl-field {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.pl-duration-inputs {
  --duration-border: #cbded2;
  --duration-unit: #567a6c;
  --duration-active: #eef7f2;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 6px;
  border: 1px solid var(--duration-border);
  border-radius: 7px;
  background: #fff;
  overflow: hidden;
}
.pl-duration-inputs > label {
  display: flex;
  align-items: center;
  gap: 3px;
  padding-inline: clamp(4px, 1vw, 10px);
}
.pl-duration-inputs > label + label {
  border-inline-start: 1px solid var(--duration-border);
}
.calc-fields .pl-duration-inputs input {
  appearance: textfield;
  min-width: 0;
  height: 38px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.calc-fields .pl-duration-inputs input:focus {
  outline: none;
  box-shadow: none;
  background: transparent;
}
.pl-duration-inputs input::-webkit-inner-spin-button,
.pl-duration-inputs input::-webkit-outer-spin-button {
  -webkit-appearance: none;
}
.pl-duration-inputs > label > span {
  color: var(--duration-unit);
  font-size: 10px;
  font-weight: 500;
}
.pl-duration-inputs:focus-within {
  border-color: #168d88;
}
.pl-duration-inputs > label:focus-within {
  background: var(--duration-active);
}
.pl-dark .pl-duration-inputs {
  --duration-border: #4b705c;
  --duration-unit: #b8d6c5;
  --duration-active: #243e34;
  background: #1a2e27;
}

.price-lab .pl-picker-trigger > i {
  flex: 0 0 16px;
  height: 16px;
  display: grid;
  place-items: center;
  font-size: 0;
  opacity: .8;
}
.pl-picker-trigger > i::before {
  content: "";
  width: 7px;
  height: 7px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  border-radius: 0 0 1px;
  transform: translateY(-2px) rotate(45deg);
}
.pl-picker-trigger[aria-expanded="true"] > i::before {
  transform: translateY(2px) rotate(225deg);
}

.price-lab .pl-usage-multi {
  grid-template-columns: minmax(0, 1fr) auto;
}
.pl-usage-multi > .pl-pick-group {
  grid-column: 1 / -1;
}
.pl-usage-values {
  grid-column: 1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}
.pl-usage-values:last-child {
  grid-column: 1 / -1;
}
.price-lab .pl-usage-multi > button {
  grid-column: 2;
  grid-row: 2;
  width: 32px;
}
.pl-usage-price-note {
  margin-top: 9px;
}

.price-lab .pl-picker-add {
  width: 100%;
  margin-top: 10px;
  text-align: left;
}
.price-lab .pl-picker-menu .pl-material-editor {
  margin: 0;
  padding: 4px;
  border: 0;
}
.pl-picker-menu .pl-material-editor h3 {
  margin: 0;
  font-size: 15px;
}
.price-lab.pl-dark .pl-picker-add {
  background: #29483b;
  border-color: #6aab92;
  color: #d9f4e7;
}

.pl-printer-pick-row {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 8px;
}
.price-lab .pl-printer-pick-row .pl-picker-trigger {
  flex: 1;
  min-width: 0;
  margin-top: 0;
}
.pl-printer-pick-row .pl-picker-trigger > span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.pl-printer-edit-link {
  flex: none;
  padding: 9px 6px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: #14776d;
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
}
.pl-printer-edit-link:hover,
.pl-printer-edit-link[aria-expanded="true"] {
  background: #eaf6ee;
}
.pl-dark .pl-printer-edit-link {
  color: #a3e4d2;
}
.pl-dark .pl-printer-edit-link:hover,
.pl-dark .pl-printer-edit-link[aria-expanded="true"] {
  background: #29483b;
}
.price-lab .pl-printer-edit-popup {
  width: min(460px, max(100%, 340px));
  padding: 16px;
}
.pl-printer-edit-popup h3 {
  margin: 0;
  font-size: 15px;
}
.pl-printer-edit-popup .calc-fields {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: end;
  gap: 10px;
}
.pl-printer-edit-popup .calc-fields input {
  height: 38px;
}
.pl-printer-edit-popup .pl-actions {
  margin-top: 12px;
}
@media (max-width: 450px) {
  .price-lab .pl-printer-edit-popup {
    width: 100%;
    padding: 12px;
  }
}

.pl-file-guide {
  margin-top: 10px;
}
.pl-file-guide summary,
.pl-file-guide a {
  color: #14776d;
  font-size: 12px;
  font-weight: 700;
}
.pl-file-guide summary {
  width: fit-content;
  cursor: pointer;
}
.pl-file-guide a {
  text-decoration: underline;
  text-underline-offset: 2px;
}
.pl-file-guide ol,
.pl-file-guide p {
  margin: 9px 0;
  color: #47685a;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.55;
}
.pl-file-guide ol {
  padding-inline-start: 20px;
}
.pl-file-guide li + li {
  margin-top: 5px;
}
.pl-dark .pl-file-guide summary,
.pl-dark .pl-file-guide a {
  color: #a3e4d2;
}
.pl-dark .pl-file-guide ol,
.pl-dark .pl-file-guide p {
  color: #bfd6c8;
}

.pl-color-summary-item {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  vertical-align: middle;
}
.pl-color-preview {
  flex: 0 0 13px;
  width: 13px;
  height: 13px;
  border: 1px solid #789386;
  border-radius: 2px;
}

.price-lab {
  --pl-detail-surface: #f3faf6;
  --pl-detail-border: #d6e8de;
  --pl-detail-muted: #4f7264;
  --pl-detail-accent: #126f64;
}
.price-lab.pl-dark {
  --pl-detail-surface: #263e33;
  --pl-detail-border: #456655;
  --pl-detail-muted: #b8d6c5;
  --pl-detail-accent: #a3e4d2;
}
.price-lab .pl-job > .pl-file {
  margin-top: 12px;
  background: var(--pl-detail-surface);
}
.price-lab .pl-info {
  display: inline-grid;
  place-items: center;
  margin-inline-start: 4px;
  min-width: 16px;
  height: 16px;
  border-radius: 50%;
  color: var(--pl-detail-accent);
  font-size: 12px;
  line-height: 1;
  cursor: pointer;
  vertical-align: middle;
}
.price-lab .pl-info:hover,
.price-lab .pl-info:focus-visible,
.price-lab .pl-info[aria-expanded="true"] {
  background: var(--pl-detail-border);
  outline: 1px solid var(--pl-detail-accent);
}
.pl-info-tooltip {
  position: fixed;
  z-index: 60;
  width: max-content;
  max-width: min(270px, calc(100vw - 16px));
  padding: 9px 12px;
  border-radius: 9px;
  background: #193f36;
  color: #fff;
  box-shadow: 0 6px 20px #12372b30;
  font-size: 12px;
  line-height: 1.5;
  pointer-events: none;
}
.pl-info-tooltip[hidden] {
  display: none;
}
.price-lab .pl-price-stats {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  padding: 0;
  background: var(--pl-detail-border);
}
.pl-price-stats > div {
  padding: 13px 15px;
  background: var(--pl-detail-surface);
}
.pl-price-stats > div > span {
  color: var(--pl-detail-muted);
  font-size: 11px;
}
.pl-price-stats > [hidden] {
  display: none;
}
.calc-result-head .pl-profit-note {
  display: inline-block;
  margin: 0;
  padding: 5px 9px;
  border: 1px solid #80b9a66b;
  border-radius: 6px;
  font-weight: 700;
}
.pl-profit-setting {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 9px;
  margin: 3px 0 9px;
}
.pl-profit-edit summary {
  width: fit-content;
  padding: 3px 5px;
  list-style: none;
  color: #d1f0e2;
  font-size: 12px;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}
.pl-profit-edit summary::-webkit-details-marker {
  display: none;
}
.pl-profit-form {
  position: absolute;
  z-index: 6;
  inset-block-start: calc(100% + 6px);
  inset-inline-start: 0;
  display: grid;
  gap: 10px;
  width: min(100%, 275px);
  padding: 13px;
  border: 1px solid var(--pl-detail-border);
  border-radius: 12px;
  background: var(--pl-detail-surface);
  box-shadow: 0 12px 28px #15382c30;
}
.pl-profit-form .pl-field > span {
  color: var(--pl-detail-muted);
  font: inherit;
  letter-spacing: normal;
}
.pl-profit-form .pl-field input,
.pl-profit-form .pl-field select {
  height: 36px;
  margin-top: 5px;
}
.pl-profit-form .pl-primary {
  justify-self: start;
}
@media print {
  .pl-profit-edit {
    display: none;
  }
}
.pl-usage-total,
.pl-usage-metrics {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: baseline;
  gap: 4px 10px;
  color: var(--pl-detail-muted);
  font-size: 11px;
}
.pl-usage-total {
  margin-top: 9px;
  padding: 8px 10px;
  border-radius: 8px;
  background: var(--pl-detail-surface);
}
.pl-usage-metrics {
  margin-top: 9px;
  padding-top: 8px;
  border-top: 1px solid var(--pl-detail-border);
}
.pl-usage-total strong,
.pl-usage-metrics strong {
  color: var(--pl-detail-accent);
  font-size: 12px;
}
@media print {
  .pl-info,
  .pl-info-tooltip {
    display: none !important;
  }
}

.pl-calc-start {
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 14px;
}
.pl-calc-start > div {
  flex: 1 1 175px;
}
.pl-reset-button {
  margin-inline-start: auto;
  padding: 9px 12px;
  border: 1px solid var(--pl-detail-border);
  border-radius: 9px;
  background: var(--pl-detail-surface);
  color: var(--pl-detail-accent);
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
  cursor: pointer;
}
.pl-reset-button i {
  font-style: normal;
}
.pl-reset-button:hover,
.pl-reset-button:focus-visible {
  border-color: var(--pl-detail-accent);
}
.pl-calc-start {
  margin-bottom: 14px;
}
.pl-job-list > .pl-job:first-child {
  margin-top: 0;
}
.pl-product-save {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 9px 12px;
  padding: 15px clamp(12px, 3vw, 29px) 18px;
  border-top: 1px solid var(--pl-detail-border);
  background: var(--pl-detail-surface);
}
.pl-product-save .pl-primary {
  min-height: 44px;
  padding-inline: 12px;
  white-space: nowrap;
}
.pl-product-save p {
  grid-column: 1 / -1;
  margin: 0;
  color: var(--pl-detail-accent);
  font-size: 12px;
}
.pl-product-save p[data-tone="error"] {
  color: #954711;
}
.pl-dark .pl-product-save p[data-tone="error"] {
  color: #ffc998;
}
@media print {
  .pl-product-save {
    display: none;
  }
}

/* Price Lab result: keep the quote first, with the audit trail close at hand. */
.price-lab .calc-result {
  border-color: #cddfd5;
  border-radius: 24px;
  box-shadow: 0 20px 56px #173f3224, 0 3px 10px #173f320b;
}
.price-lab .calc-result-head {
  position: relative;
  padding: 27px clamp(20px, 3vw, 32px) 25px;
  background: radial-gradient(circle at 100% 0, #2a7468 0, transparent 45%), linear-gradient(145deg, #103e37, #174c43 70%);
}
.price-lab .calc-result-head::after {
  content: '';
  position: absolute;
  inset: auto 0 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, #a6dac18c, transparent);
}
.price-lab .calc-result-head #plUnitLabel {
  color: #bdebd5;
  font-size: 10px;
  letter-spacing: .16em;
}
.price-lab .calc-result-head #plUnit {
  margin: 12px 0 8px;
  font-size: clamp(38px, 4vw, 54px);
  white-space: normal;
  line-height: 1.04;
  font-variant-numeric: tabular-nums;
}
.price-lab .calc-result-head #plConfidence {
  margin-top: 13px;
  color: #cee7db;
  font-size: 11px;
}
.price-lab .pl-profit-setting { margin: 0; }
.price-lab .calc-result-head .pl-profit-note {
  padding: 6px 10px;
  border-color: #a0d3b955;
  border-radius: 999px;
  background: #ffffff12;
  color: #e9fff1;
  font-size: 10px;
}
.price-lab .pl-profit-edit summary {
  padding: 6px 8px;
  color: #d8f3e4;
  text-decoration: underline;
  border-radius: 6px;
}
.price-lab .pl-profit-edit summary:hover,
.price-lab .pl-profit-edit summary:focus-visible { background: #ffffff20; outline: 1px solid #a0d3b9; }
.price-lab .pl-price-stats {
  border-bottom: 1px solid var(--pl-detail-border);
  background: var(--pl-detail-surface);
}
.price-lab .pl-price-stats > div { padding: 15px clamp(15px, 2.5vw, 28px); }
.price-lab .pl-price-stats > div > span { font-size: 10px; line-height: 1.4; }
.price-lab .pl-price-stats b { font-size: 16px; font-variant-numeric: tabular-nums; }
.price-lab .pl-price-stats > :is(.pl-unit-cost, .pl-tray-total) { grid-column: 1 / -1; }
.price-lab .pl-price-stats > .pl-unit-cost #plUnitCost { font-size: 20px; }
.price-lab .pl-price-stats > .pl-tray-total #plTotal { font-size: 18px; color: var(--pl-detail-accent); }
.price-lab .calc-result-head #plUnitLabel .pl-info { color: inherit; }
.price-lab .calc-detail { padding: 24px clamp(17px, 3vw, 30px) 7px; }
.price-lab .pl-section-heading { margin-bottom: 14px; }
.price-lab .pl-section-heading span {
  display: block;
  margin-bottom: 4px;
  color: var(--pl-detail-accent);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .14em;
}
.price-lab .pl-section-heading h3,
.price-lab .pl-result-machine h3 {
  margin: 0;
  color: var(--pl-ink);
  font-size: 16px;
  line-height: 1.3;
}
.pl-cost-bar + .pl-cost-bar { margin-top: 13px; }
.pl-cost-bar-head,
.pl-material-breakdown-line {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: baseline;
  gap: 6px 10px;
}
.pl-cost-bar-head { font-size: 12px; font-weight: 700; }
.pl-cost-bar-value,
.pl-material-breakdown-line > div:last-child {
  text-align: right;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.pl-cost-bar-value { color: var(--pl-detail-muted); font-weight: 500; }
.pl-cost-bar-head b { color: var(--pl-ink); }
.pl-cost-track {
  height: 5px;
  margin-top: 6px;
  overflow: hidden;
  border-radius: 999px;
  background: var(--pl-detail-border);
}
.pl-cost-track i { display: block; height: 100%; border-radius: inherit; }
.pl-material-breakdown {
  list-style: none;
  margin: 7px 0 0;
  padding: 0;
}
.pl-material-breakdown-line { padding: 4px 0; font-size: 11px; overflow-wrap: anywhere; }
.pl-material-breakdown-line .pl-color-preview {
  display: inline-block;
  vertical-align: -2px;
}
.pl-material-breakdown-line small {
  display: block;
  color: var(--pl-detail-muted);
  font-size: 10px;
  line-height: 1.5;
}
.pl-platform-fee { margin-top: 13px; padding-top: 9px; border-top: 1px solid var(--pl-detail-border); }
.price-lab .pl-result-machine { margin-top: 21px; }
.price-lab .pl-result-machine h3 { margin-bottom: 9px; }
.price-lab .pl-result-row { padding: 12px 0; }
.price-lab .pl-result-row strong { color: var(--pl-detail-accent); font-variant-numeric: tabular-nums; }
.pl-tray-sale {
  grid-column: 1 / -1;
  display: flex;
  justify-content: space-between;
  gap: 8px;
  margin-top: 4px;
}
.price-lab .pl-tray-sale span { color: var(--pl-detail-muted); }
.price-lab .pl-tray-sale b { color: var(--pl-detail-accent); white-space: nowrap; }
.price-lab .pl-result-notes {
  display: grid;
  gap: 5px;
  margin: 10px clamp(17px, 3vw, 30px) 0;
  padding: 12px 13px;
  border-radius: 10px;
  background: var(--pl-detail-surface);
}
.price-lab .pl-result-notes .calc-assumption,
.price-lab .pl-result-notes .calc-math { margin: 0; padding: 0; background: none; font-size: 10px; }
.price-lab .pl-result-notes .calc-math { color: var(--pl-ink); font-weight: 600; }
.price-lab .calc-actions { margin: 18px clamp(17px, 3vw, 30px) 0; }
.price-lab .calc-actions button { min-height: 36px; padding: 8px 11px; border-radius: 9px; }
.price-lab .calc-actions button:first-child { background: var(--pl-detail-surface); border-color: var(--pl-detail-border); }
.price-lab .calc-disclaimer { margin: 13px clamp(17px, 3vw, 30px) 20px; font-size: 10px; }
.price-lab .pl-product-save { padding: 16px clamp(17px, 3vw, 30px) 19px; }
.price-lab .pl-product-save .pl-primary { box-shadow: 0 4px 12px #168d8830; }
.price-lab.pl-dark .pl-price-stats > div { background: #263e33; }
.price-lab.pl-dark .calc-result-head { background: radial-gradient(circle at 100% 0, #2a7468 0, transparent 45%), linear-gradient(145deg, #103e37, #174c43 70%); }
@media (max-width: 450px) {
  .price-lab .calc-result-head #plUnit { font-size: 43px; }
}
@media print {
  .price-lab .calc-result-head { background: #fff; }
}

@media screen and (min-width: 1051px) {
  html.pl-native-scroll, .pl-native-scroll body { overflow-x: clip; overflow-y: visible; }
  .pl-native-scroll .calc-result {
    position: sticky;
    /* Let a tall card scroll until its last row fits in the viewport. */
    top: min(16px, calc(100dvh - var(--pl-result-height, 0px) - 16px));
  }
}

.pl-tab-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px 18px;
  margin: 29px 0 22px;
}
.pl-tab-bar .pl-tabs { margin: 0; }
.pl-theme-switch {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  border: 1px solid var(--pl-detail-border);
  border-radius: 24px;
  background: var(--pl-detail-surface);
  color: var(--pl-ink);
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}
.pl-theme-switch[hidden] { display: none; }
.pl-theme-switch:focus-visible { outline: 2px solid var(--pl-detail-accent); outline-offset: 2px; }
.pl-theme-track {
  position: relative;
  width: 38px;
  height: 22px;
  border-radius: 20px;
  background: #647f75;
}
.pl-theme-track::after {
  content: '';
  position: absolute;
  top: 3px;
  left: 3px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: white;
  transition: transform .16s ease;
}
.pl-theme-switch[aria-checked=true] .pl-theme-track { background: #168d88; }
.pl-theme-switch[aria-checked=true] .pl-theme-track::after { transform: translateX(16px); }
@media (prefers-reduced-motion: reduce) { .pl-theme-track::after { transition: none; } }

/* Clear hierarchy for the five quote figures. */
.price-lab .pl-price-stats {
  --metric-bg: #f3f8f4;
  --metric-card: #fff;
  --metric-border: #dbe9df;
  --metric-label: #5d7c6e;
  --metric-ink: #173e35;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  padding: 15px;
  background: var(--metric-bg);
  border-bottom: 1px solid var(--metric-border);
}
.price-lab .pl-price-stats > div {
  min-width: 0;
  min-height: 67px;
  padding: 12px 14px;
  border: 1px solid var(--metric-border);
  border-radius: 12px;
  background: var(--metric-card);
  box-shadow: 0 2px 8px #173e3508;
}
.price-lab .pl-price-stats > div > span {
  color: var(--metric-label);
  font-size: 11px;
  line-height: 1.4;
}
.price-lab .pl-price-stats b {
  color: var(--metric-ink);
  font-size: 17px;
  line-height: 1.15;
}
.price-lab .pl-price-stats > .pl-unit-cost {
  min-height: 78px;
  padding: 13px 17px;
  border-color: #a9d8c6;
  background: linear-gradient(110deg, #e8f6ee, #f9fdfa);
  box-shadow: inset 3px 0 0 #168d88;
}
.price-lab .pl-price-stats > .pl-unit-cost #plUnitCost {
  color: #125e55;
  font-size: 26px;
}
.price-lab .pl-price-stats > .pl-tray-total:not([hidden]) {
  min-height: 78px;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 8px 16px;
  padding: 15px 17px;
  border-color: #1b6a5e;
  background: linear-gradient(105deg, #195c51, #247c6e);
}
.price-lab .pl-price-stats > .pl-tray-total > span,
.price-lab .pl-price-stats > .pl-tray-total .pl-info,
.price-lab .pl-price-stats > .pl-tray-total #plTotal { color: #f5fff8; }
.price-lab .pl-price-stats > .pl-tray-total #plTotal {
  font-size: 23px;
  white-space: nowrap;
}
.price-lab.pl-dark .pl-price-stats {
  --metric-bg: #1d342d;
  --metric-card: #2b4539;
  --metric-border: #3a5e4d;
  --metric-label: #b7d1c2;
  --metric-ink: #f1faf3;
}
.price-lab.pl-dark .pl-price-stats > div { background: var(--metric-card); }
.price-lab.pl-dark .pl-price-stats > .pl-unit-cost {
  border-color: #5e9e80;
  background: linear-gradient(110deg, #315c48, #294a3d);
}
.price-lab.pl-dark .pl-price-stats > .pl-unit-cost #plUnitCost { color: #e4f9e8; }
.price-lab.pl-dark .pl-price-stats > .pl-tray-total {
  border-color: #489f8d;
  background: linear-gradient(105deg, #1b695c, #268b79);
}
@media (max-width: 450px) {
  .price-lab .pl-price-stats { gap: 7px; padding: 11px; }
  .price-lab .pl-price-stats > div { padding: 11px; }
  .price-lab .pl-price-stats > .pl-tray-total { flex-wrap: wrap; }
}
@media print {
  .price-lab .pl-price-stats > .pl-tray-total,
  .price-lab.pl-dark .pl-price-stats > .pl-tray-total { background: #fff; border-color: #ddd; }
  .price-lab .pl-price-stats > .pl-tray-total > span,
  .price-lab .pl-price-stats > .pl-tray-total #plTotal { color: #173e35; }
}

/* Keep the quote legible on narrow screens and in the dark theme. */
.price-lab .calc-result-head #plUnitLabel { font-size: 12px; letter-spacing: .11em; }
.price-lab .calc-result-head #plConfidence { font-size: 13px; line-height: 1.5; }
.price-lab .calc-result-head .pl-profit-note,
.price-lab .pl-profit-edit summary { font-size: 12px; }
.price-lab .pl-price-stats > div > span { font-size: 13px; line-height: 1.45; }
.price-lab .pl-price-stats b { font-size: 20px; }
.price-lab .pl-price-stats > .pl-unit-cost #plUnitCost { font-size: 28px; }
.price-lab .pl-price-stats > .pl-tray-total #plTotal { font-size: 26px; }
.price-lab.pl-dark .pl-price-stats { --metric-label: #d5e8dc; }
@media (max-width: 450px) {
  .price-lab .pl-price-stats > div > span { font-size: 12px; }
  .price-lab .pl-price-stats b { font-size: 18px; }
  .price-lab .pl-price-stats > .pl-tray-total #plTotal { font-size: 24px; }
}

.price-lab .calc-result-head { padding-top: 21px; padding-bottom: 19px; }
.price-lab .calc-result-head #plUnitLabel { font-size: 14px; letter-spacing: .07em; }
.price-lab .calc-result-head #plUnit { margin: 7px 0 5px; }
.price-lab .calc-result-head #plConfidence { margin-top: 7px; font-size: 14px; }
.price-lab .calc-result-head .pl-profit-note,
.price-lab .pl-profit-edit summary { font-size: 13px; }
.price-lab .pl-price-stats { gap: 7px; padding: 11px; }
.price-lab .pl-price-stats > div { min-height: 0; padding: 10px 13px; }
.price-lab .pl-price-stats > div > span { font-size: 15px; line-height: 1.35; }
.price-lab .pl-price-stats b { font-size: 21px; }
.price-lab .pl-price-stats > .pl-unit-cost,
.price-lab .pl-price-stats > .pl-tray-total { min-height: 0; padding: 11px 15px; }
.price-lab .pl-price-stats > .pl-unit-cost #plUnitCost { font-size: 27px; }
.price-lab .pl-price-stats > .pl-tray-total #plTotal { font-size: 25px; }
@media (max-width: 450px) {
  .price-lab .pl-price-stats > div { padding: 10px; }
  .price-lab .pl-price-stats > div > span { font-size: 14px; }
  .price-lab .pl-price-stats b { font-size: 19px; }
  .price-lab .pl-price-stats > .pl-tray-total #plTotal { font-size: 25px; }
}

.pl-toolpath {
  margin: 12px 0;
  border: 1px solid var(--pl-detail-border);
  border-radius: 12px;
  background: var(--pl-detail-surface);
}
.pl-toolpath > summary {
  padding: 11px 13px;
  cursor: pointer;
  color: var(--pl-ink);
  font-weight: 700;
}
.pl-toolpath > summary small {
  display: inline;
  margin-inline-start: 6px;
  color: var(--pl-detail-muted);
}
.pl-toolpath-body { padding: 0 10px 10px; }
.pl-toolpath-stage {
  position: relative;
  height: clamp(235px, 37vw, 350px);
  border-radius: 9px;
  background: #142b29;
  overflow: hidden;
  color: #e5f7ed;
}
.pl-toolpath-stage p {
  display: grid;
  place-content: center;
  height: 100%;
  margin: 0;
  padding: 18px;
  text-align: center;
  font-size: 13px;
}
.pl-toolpath-stage canvas { display: block; width: 100%; height: 100%; touch-action: none; }
.pl-toolpath-controls { padding: 9px 2px 0; }
.pl-toolpath-angles, .pl-toolpath-legend { display: flex; flex-wrap: wrap; gap: 6px; }
.pl-toolpath-angles button {
  padding: 5px 9px;
  border: 1px solid var(--pl-detail-border);
  border-radius: 7px;
  background: var(--pl-detail-surface);
  color: var(--pl-ink);
  font: inherit;
  cursor: pointer;
}
.pl-toolpath-angles button:hover { border-color: var(--pl-detail-accent); }
.pl-toolpath-range { display: grid; gap: 4px; margin: 10px 0; color: var(--pl-ink); }
.pl-toolpath-range input { width: 100%; accent-color: #168d88; }
.pl-toolpath-legend span { color: var(--pl-detail-muted); font-size: 11px; }
.pl-toolpath-legend i { display: inline-block; width: 10px; height: 10px; border: 1px solid #7e918a; border-radius: 2px; }
.pl-toolpath .pl-toolpath-note { margin-top: 6px; color: var(--pl-detail-muted); }
.pl-toolpath-angles .pl-toolpath-enlarge { font-weight: 700; }
.pl-toolpath-popup {
  box-sizing: border-box;
  position: fixed;
  inset: auto;
  top: var(--pl-popup-center, 50%);
  left: 50%;
  transform: translate(-50%, -50%);
  width: calc(100% - 20px);
  height: var(--pl-popup-height, calc(100vh - 24px));
  max-width: none;
  max-height: none;
  margin: 0;
  padding: 12px;
  border: 1px solid var(--pl-detail-border);
  border-radius: 15px;
  background: var(--pl-detail-surface);
  color: var(--pl-ink);
  box-shadow: 0 24px 80px #071d19a6;
}
.pl-toolpath-popup[open] {
  display: flex;
  flex-direction: column;
}
.pl-toolpath-popup::backdrop { background: #071c18b3; }
.pl-toolpath-popup > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 0 2px 8px;
  font-size: 16px;
}
.pl-toolpath-popup > header button {
  width: 38px;
  height: 38px;
  padding: 0;
  border: 1px solid var(--pl-detail-border);
  border-radius: 9px;
  background: var(--pl-detail-surface);
  color: var(--pl-ink);
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}
.pl-toolpath-popup > header button:hover { border-color: var(--pl-detail-accent); }
.pl-toolpath-popup .pl-toolpath-stage { flex: 1 1 0; min-height: 0; }
.pl-toolpath-popup .pl-toolpath-controls { flex: 0 0 auto; max-height: 42%; overflow: auto; }

.pl-scroll-footer {
  padding: 32px 7.5vw 18px;
  background: #183d3d;
  color: #eef8f4;
}
.pl-scroll-footer .in3d-footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 24px;
}
.pl-scroll-footer a { color: #c6ded3; }
.pl-scroll-footer .in3d-footer-grid > div > a { display: block; margin-bottom: 8px; font-size: 13px; }
.pl-scroll-footer .in3d-footer-grid > div > .in3d-brand { font-size: 18px; }
.pl-scroll-footer h3 { margin: 0 0 10px; font-size: 14px; }
.pl-scroll-footer p { margin: 0; color: #adc9be; font-size: 13px; }
.pl-scroll-footer .in3d-copyright {
  margin-top: 22px;
  padding-top: 14px;
  border-top: 1px solid #ffffff25;
  color: #adc9be;
  font-size: 12px;
}
@media print { .pl-scroll-footer { display: none; } }

.price-lab .pl-price-stats > div > span { font-size: 14px; }
.price-lab .pl-price-stats > .pl-tray-total > span { font-size: 15px; font-weight: 700; line-height: 1.25; }
.price-lab .pl-price-stats :is(#plCostLabel, #plProfitLabel, #plTotalLabel) { font-size: inherit; color: inherit; }
.price-lab .pl-price-stats > .pl-tray-total #plTotal { font-size: 26px; }
.price-lab .pl-result-machine h3 { font-size: 18px; }
@media (max-width: 450px) {
  .price-lab .pl-price-stats > div > span { font-size: 14px; }
  .price-lab .pl-price-stats > .pl-tray-total #plTotal { font-size: 25px; }
}

@media screen and (max-width: 720px) {
  .calc-page.price-lab { padding: 14px clamp(12px, 4vw, 24px) 64px; }
  .price-lab .calc-intro { position: relative; padding: 20px 18px; border-radius: 18px; }
  .price-lab .pl-intro-title { margin: 9px 0; }
  .price-lab .calc-intro h1 { margin: 0; font-size: clamp(23px, 7.5vw, 44px); }
  .price-lab .calc-intro p { font-size: 13px; line-height: 1.55; }
  .price-lab .pl-tab-bar { display: grid; gap: 7px; margin: 15px 0; }
  .price-lab.pl-bottom-tabs-ready .pl-tab-bar { display: none; }
  .price-lab.pl-bottom-tabs-ready #plContent { margin-top: 14px; }
  .price-lab .pl-tab-bar .pl-tabs {
    min-width: 0;
    flex-wrap: nowrap;
    gap: 7px;
    padding: 4px 3px 7px;
    overflow-x: auto;
    scrollbar-width: thin;
    scrollbar-color: var(--pl-detail-accent) var(--pl-detail-surface);
  }
  .price-lab .pl-tabs button {
    flex: 0 0 auto;
    min-width: 62px;
    min-height: 38px;
    padding: 7px 12px;
    font-size: 12px;
    white-space: nowrap;
  }
  .price-lab .pl-theme-switch {
    position: absolute;
    top: 10px;
    right: 12px;
    min-height: 36px;
    gap: 4px;
    padding: 4px 6px;
    font-size: 10px;
  }
  .price-lab .pl-theme-track { width: 32px; height: 18px; }
  .price-lab .pl-theme-track::after { width: 12px; height: 12px; }
  .price-lab .pl-theme-switch[aria-checked=true] .pl-theme-track::after { transform: translateX(14px); }
  .price-lab .calc-layout { gap: 16px; margin-top: 0; }
  .price-lab .calc-inputs { gap: 14px; }
  .price-lab .calc-panel { min-width: 0; padding: clamp(13px, 4vw, 20px); border-radius: 17px; }
  .price-lab .calc-result { min-width: 0; border-radius: 17px; }
  .price-lab .calc-panel-heading { gap: 10px; margin-bottom: 14px; }
  .price-lab .calc-panel-heading > span { width: 32px; height: 32px; }
  .price-lab .calc-panel-heading h2 { font-size: 20px; }
  .price-lab .pl-calc-start {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 4px 8px;
  }
  .price-lab .pl-calc-start > span { grid-area: 1 / 1; }
  .price-lab .pl-calc-start > div { display: contents; }
  .price-lab .pl-calc-start h2 { grid-area: 1 / 2; margin: 0; }
  .price-lab .pl-calc-start p { grid-area: 2 / 2 / auto / -1; }
  .price-lab .pl-calc-start .pl-reset-button {
    grid-area: 1 / 3;
    min-height: 36px;
    padding: 5px 7px;
    font-size: 11px;
  }
  .price-lab .pl-job-times {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 144px), 1fr));
    column-gap: 8px;
  }
  .price-lab .pl-duration > span { font-size: 11px; white-space: nowrap; }
  .price-lab .pl-duration > span .pl-info { min-width: 12px; margin-inline-start: 2px; }
  .price-lab .pl-usage > .pl-subhead { gap: 6px; }
  .price-lab .pl-usage > .pl-subhead b { font-size: 12px; white-space: nowrap; }
  .price-lab .pl-usage > .pl-subhead button { padding-inline: 2px; white-space: nowrap; }
  .price-lab .pl-product-save { scroll-margin-block-end: 100px; }
}

@media screen and (max-width: 360px) {
  .price-lab .pl-usage > .pl-subhead { gap: 4px; }
  .price-lab .pl-usage > .pl-subhead b { font-size: 11px; }
  .price-lab .pl-usage > .pl-subhead button { font-size: 10px; }
}

.price-lab .pl-picker-dialog {
  position: fixed;
  inset: var(--pl-picker-center, 50%) auto auto 50%;
  transform: translate(-50%, -50%);
  width: min(460px, calc(100% - 24px));
  max-height: min(620px, var(--pl-picker-height, calc(100dvh - 24px)));
  margin: 0;
  padding: 0;
  overflow: auto;
  overscroll-behavior: contain;
  border: 1px solid var(--pl-detail-border);
  border-radius: 16px;
  background: var(--pl-detail-surface);
  color: var(--pl-ink);
  box-shadow: 0 18px 64px #081d18a6;
}
.price-lab .pl-picker-dialog::backdrop { background: #0b1f1bb3; }
.pl-picker-dialog > header {
  position: sticky;
  top: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 12px 8px 16px;
  border-bottom: 1px solid var(--pl-detail-border);
  background: var(--pl-detail-surface);
}
.pl-picker-dialog > header h3 { margin: 0; font-size: 17px; }
.pl-picker-dialog > header button {
  width: 40px;
  height: 40px;
  padding: 0;
  border: 1px solid var(--pl-detail-border);
  border-radius: 50%;
  background: var(--pl-surface);
  color: inherit;
  font-size: 23px;
  cursor: pointer;
}
.price-lab .pl-picker-dialog .pl-picker-menu {
  position: static;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 12px;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.price-lab .pl-picker-dialog .pl-picker-options {
  max-height: clamp(96px, calc(var(--pl-picker-height) - 215px), 390px);
  overscroll-behavior: contain;
}
.price-lab .pl-picker-dialog .pl-picker-search input { font-size: 16px; }
.price-lab .pl-picker-dialog :is([data-printer-option], .pl-material-option) {
  min-height: 44px;
  align-items: center;
  font-size: 13px;
}
.pl-picker-dialog :is([data-printer-option], .pl-material-option) span {
  min-width: 0;
  overflow-wrap: anywhere;
}
