@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#172a24;--muted:#77837d;--line:#e7ece8;--paper:#f5f7f5;--white:#fff;--green:#1e6a4d;--green-dark:#154c38;--green-pale:#eaf4ee;--orange:#d98c39;--red:#b74b46;--shadow:0 12px 35px rgba(20,49,38,.055);--radius:16px}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;display:flex}.sidebar{width:252px;background:#10231d;color:#eaf2ee;display:flex;flex-direction:column;flex:none;padding:27px 16px 18px;position:fixed;inset:0 auto 0 0;z-index:20}.brand{display:flex;align-items:center;gap:11px;padding:0 11px 41px}.brand-mark{width:38px;height:38px;border-radius:12px;background:#d2934d;color:#10231d;display:grid;place-items:center;font:800 23px Manrope, sans-serif;box-shadow:inset 0 0 0 1px #f4b768}.brand strong{display:block;font:800 14px Manrope,sans-serif;letter-spacing:1.65px;color:#fff}.brand span{display:block;margin-top:4px;font-size:9px;letter-spacing:1.8px;color:#9bac9f}.workspace-label,.eyebrow{font-size:10px;letter-spacing:1.75px;font-weight:700;color:#889990}.workspace-label{padding:0 12px 12px;color:#74877d}.nav-list{display:grid;gap:5px}.nav-item{border:0;background:transparent;color:#a8b7ae;display:flex;align-items:center;gap:12px;text-align:left;padding:12px;border-radius:10px;font-size:13px;font-weight:600;transition:.18s}.nav-item:hover{background:rgba(255,255,255,.07);color:#fff}.nav-item.active{background:#204b39;color:#fff;box-shadow:inset 3px 0 #d69b56}.nav-icon{width:18px;text-align:center;color:#8eaa98;font-size:17px}.nav-item.active .nav-icon{color:#f0b66b}.sidebar-bottom{margin-top:auto}.storage-card{display:flex;align-items:center;gap:11px;margin:0 4px 13px;padding:13px 11px;border:1px solid rgba(255,255,255,.12);border-radius:11px;background:rgba(255,255,255,.045)}.status-dot,.local-badge i{width:8px;height:8px;border-radius:50%;background:#7bc18c;display:inline-block;box-shadow:0 0 0 3px rgba(123,193,140,.13)}.storage-card strong{display:block;color:#edf5f0;font-size:11px}.storage-card small{display:block;margin-top:4px;color:#96a79d;font-size:10px}.sidebar-bottom .nav-item{width:100%;font-size:12px}.sidebar-foot{padding:23px 9px 0;color:#7c8c84;font-size:8px;letter-spacing:1.25px;border-top:1px solid rgba(255,255,255,.1);margin-top:15px}.sidebar-foot span{display:block;margin-top:7px;letter-spacing:1.6px;color:#596c61}.main-area{margin-left:252px;min-width:0;flex:1;padding:0 35px 25px}.topbar{height:76px;border-bottom:1px solid #e8ece9;display:flex;align-items:center;justify-content:space-between}.breadcrumbs{font-size:12px;color:#849089;display:flex;gap:11px;align-items:center}.breadcrumbs b{color:#c8ceca;font-weight:400}.breadcrumbs strong{color:#283c33;font-weight:600}.top-actions{display:flex;align-items:center;gap:15px}.local-badge{display:flex;align-items:center;gap:8px;padding:7px 11px;border:1px solid #d9e6dc;border-radius:20px;color:#517460;font-size:9px;font-weight:700;letter-spacing:1px;background:#f7fbf8}.local-badge i{width:6px;height:6px}.avatar{width:33px;height:33px;border-radius:50%;border:0;background:#d9e8dd;color:#245e43;font:700 13px Manrope}.mobile-menu{display:none;border:0;background:transparent;font-size:20px;color:var(--ink)}.page{display:none;padding-top:31px}.page.active{display:block}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:22px;margin-bottom:23px}.eyebrow{color:#648372;font-size:9px;margin-bottom:10px}.page-heading h1{margin:0;font:700 29px Manrope,sans-serif;letter-spacing:-.75px;color:#1c3027}.page-heading p{color:#859089;font-size:12px;margin:8px 0 0}.heading-actions{display:flex;gap:9px;flex:none}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:9px;padding:11px 15px;font-size:11px;font-weight:700;white-space:nowrap;transition:all .18s}.button-primary{background:var(--green);color:#fff;border:1px solid var(--green);box-shadow:0 4px 10px rgba(30,106,77,.12)}.button-primary:hover{background:var(--green-dark);transform:translateY(-1px)}.button-primary span{font-size:14px}.button-secondary{background:white;border:1px solid #dfe6e1;color:#4d6357}.button-secondary:hover{background:#f4f8f5;border-color:#cbd9d0}.button-danger{background:#fff;color:#a2443d;border:1px solid #efd7d4}.button-danger:hover{background:#fff7f6}.notice{display:flex;align-items:center;gap:12px;background:#eff6f0;border:1px solid #d9e8da;border-radius:11px;padding:12px 15px;margin-bottom:20px;color:#45634e}.notice-icon{width:19px;height:19px;border:1px solid #a9c9ad;border-radius:50%;display:grid;place-items:center;font:700 11px Georgia;flex:none;color:#56815d}.notice strong{font-size:11px;display:block;color:#36573f}.notice span{display:block;margin-top:4px;font-size:10px;color:#78917b}.notice-link{border:0;background:transparent;color:#2d704f;font-weight:700;font-size:10px;margin-left:auto;white-space:nowrap}.calc-grid{display:grid;grid-template-columns:minmax(0,1fr) 292px;gap:19px;align-items:start}.left-column,.right-column{display:grid;gap:17px;min-width:0}.panel{background:#fff;border:1px solid #e9eeea;border-radius:var(--radius);padding:21px;box-shadow:var(--shadow)}.panel-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:20px}.panel-heading h2,.history-toolbar h2{font:700 14px Manrope,sans-serif;margin:0;color:#263b30}.panel-heading p,.history-toolbar p{margin:6px 0 0;color:#98a19b;font-size:10px}.step-chip{font-size:8px;letter-spacing:1.2px;color:#6b8b76;background:#eff6f0;padding:7px 9px;border-radius:6px;white-space:nowrap;font-weight:700}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px 13px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field>span{font-size:10px;font-weight:600;color:#52645a}.field em{color:#d1795f;font-style:normal}.field input,.field select,.history-toolbar input{width:100%;height:39px;padding:0 11px;border:1px solid #e1e7e2;border-radius:8px;background:#fff;color:#253a2e;outline:none;font-size:11px;transition:.16s}.field input:focus,.field select:focus,.history-toolbar input:focus{border-color:#70a287;box-shadow:0 0 0 3px #e8f3eb}.field input::placeholder{color:#b3bcb6}.field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%2377837d' stroke-width='1.5' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:30px}.field-wide{grid-column:span 1}.input-unit{height:39px;display:flex;align-items:center;border:1px solid #e1e7e2;border-radius:8px;background:white;overflow:hidden;transition:.16s}.input-unit:focus-within{border-color:#70a287;box-shadow:0 0 0 3px #e8f3eb}.input-unit input{height:100%;border:0!important;box-shadow:none!important;padding:0 10px;min-width:0}.input-unit small{font-size:9px;color:#98a39b;padding:0 9px;white-space:nowrap}.unit-prefix{font-size:10px;color:#849188;padding-left:11px}.field-hint{font-size:9px;line-height:1.45;color:#9ba49e}.section-label{font-size:8px;letter-spacing:1.3px;color:#819188;font-weight:700;border-top:1px solid #edf0ed;padding-top:18px;margin:20px 0 13px;display:flex;justify-content:space-between}.section-label span{font-weight:500;letter-spacing:.8px;color:#a6b0a9}.live-total{margin-top:21px;background:#f6f9f6;border:1px solid #e6eee7;border-radius:10px;padding:13px 14px;display:flex;align-items:center;gap:11px}.total-icon{width:32px;height:32px;border-radius:9px;background:#e5f1e7;color:#2b734f;display:grid;place-items:center;font:700 17px Manrope}.live-total>div:nth-child(2){display:grid;gap:4px}.live-total>div:nth-child(2)>span{font-size:8px;letter-spacing:.85px;font-weight:700;color:#52735e}.live-total>div:nth-child(2)>small{font-size:9px;color:#9ba69e}.live-total>strong{margin-left:auto;font:700 15px Manrope;color:#245c41}.live-total>strong small{font-size:9px;color:#819188}.summary-card{background:#15392c;color:#fff;border-radius:var(--radius);padding:20px;box-shadow:0 12px 32px rgba(20,62,44,.13);position:relative;overflow:hidden}.summary-card:after{content:"";position:absolute;width:140px;height:140px;border:1px solid rgba(211,161,97,.14);border-radius:50%;right:-74px;top:-70px;box-shadow:0 0 0 15px rgba(211,161,97,.035),0 0 0 32px rgba(211,161,97,.025)}.summary-top{display:flex;justify-content:space-between;align-items:center}.summary-kicker{font-size:8px;letter-spacing:1.45px;color:#a3baa9;font-weight:700}.summary-icon{width:27px;height:27px;border-radius:8px;background:rgba(255,255,255,.09);display:grid;place-items:center;color:#f0ba72}.summary-card h3{margin:19px 0 5px;font:700 17px Manrope;color:#fff;position:relative;z-index:1}.summary-card>p{margin:0;color:#9eb1a5;font-size:10px}.summary-divider{height:1px;background:rgba(255,255,255,.1);margin:16px 0}.metric{display:flex;justify-content:space-between;align-items:center;margin:12px 0;gap:8px}.metric span{font-size:10px;color:#b4c4b9}.metric strong{font-size:10px;color:#f5f8f5;font-weight:600;text-align:right}.metric-highlight{margin:0}.metric-highlight span{color:#f0c589}.metric-highlight strong{font:700 15px Manrope;color:#f0c589}.summary-foot{font-size:8px;color:#91a99a;margin-top:11px}.quick-card{padding:18px 17px}.quick-card .panel-heading{margin-bottom:10px}.quick-action{width:100%;display:flex;align-items:center;gap:10px;border:0;border-top:1px solid #edf0ed;padding:12px 0;background:white;text-align:left}.quick-action>span{width:29px;height:29px;border-radius:8px;background:#eff6f0;color:#3e7c59;display:grid;place-items:center;font-size:14px}.quick-action div{flex:1}.quick-action strong{display:block;color:#42554a;font-size:10px;font-weight:600}.quick-action small{display:block;margin-top:4px;color:#a0aaa3;font-size:9px}.quick-action>b{font-size:17px;color:#a1aba4;font-weight:400}.quick-action:hover strong{color:var(--green)}.formula-note{border:1px solid #eee4d6;background:#fcf9f4;border-radius:10px;padding:13px 14px}.formula-note strong{font-size:9px;color:#966c3b}.formula-note p{font-size:9px;line-height:1.55;color:#98866f;margin:6px 0 0}.results-panel{overflow:hidden}.text-button{border:0;background:transparent;color:#60816c;font-weight:700;font-size:9px;white-space:nowrap}.results-content{display:grid;gap:16px}.result-section{border:1px solid #edf0ed;border-radius:10px;overflow:hidden}.result-section-head{background:#f7f9f7;padding:11px 13px;display:flex;justify-content:space-between;align-items:center}.result-section-head strong{font-size:10px;color:#385344}.result-section-head span{font-size:8px;color:#929e96;letter-spacing:.6px}.result-table{width:100%;border-collapse:collapse;font-size:9px}.result-table th{font-size:8px;font-weight:600;color:#849188;text-align:right;background:#fbfcfb;padding:9px 11px;border-bottom:1px solid #edf0ed}.result-table th:first-child,.result-table td:first-child{text-align:left}.result-table td{padding:9px 11px;border-bottom:1px solid #f0f2f0;color:#617068;text-align:right}.result-table td:first-child{color:#495d51;font-weight:500}.result-table tr:last-child td{border-bottom:0}.result-table .total-row td{font-weight:700;color:#2e5a40;background:#f7faf7}.no-results{padding:27px 14px;text-align:center;color:#9aa49d;font-size:10px;border:1px dashed #e1e8e2;border-radius:9px;line-height:1.7}.no-results strong{color:#69796f}.product-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:18px;align-items:start}.product-list-panel{padding:18px 13px;position:sticky;top:20px}.product-list-panel .panel-heading{padding:0 8px;margin-bottom:12px}.product-list{display:grid;gap:5px}.product-row{display:flex;align-items:center;gap:10px;padding:11px 9px;border:1px solid transparent;border-radius:9px;background:white;text-align:left;width:100%;color:#4c6154}.product-row:hover{background:#f7faf7}.product-row.selected{background:#eef6ef;border-color:#d8e8d8}.product-avatar{width:31px;height:31px;border-radius:9px;background:#e8f0e9;color:#4b7857;display:grid;place-items:center;font:700 11px Manrope;flex:none}.product-row.selected .product-avatar{background:#d7e9d9;color:#286442}.product-row strong{display:block;font-size:10px;line-height:1.35}.product-row small{display:block;margin-top:4px;color:#98a39b;font-size:8px}.product-row .row-arrow{margin-left:auto;color:#9eaaa1;font-size:16px}.product-editor{padding:21px 22px}.product-editor form{max-width:800px}.product-editor .form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.product-editor .form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.product-editor .field-wide{grid-column:span 3}.empty-state{min-height:270px;border:1px dashed #e1e8e2;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:25px}.empty-icon{width:50px;height:50px;display:grid;place-items:center;border-radius:15px;background:#eff6f0;color:#548563;font-size:24px;margin-bottom:13px}.empty-state strong{font:700 13px Manrope;color:#45584c}.empty-state p{font-size:10px;color:#98a39b;margin:6px 0 15px}.hidden{display:none!important}.editor-actions{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #edf0ed;margin-top:22px;padding-top:17px}.editor-actions>div{display:flex;gap:8px}.history-panel{padding:20px}.history-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:15px}.history-toolbar input{max-width:260px;height:36px}.history-table-wrap{overflow:auto;border:1px solid #edf0ed;border-radius:9px}.history-table{width:100%;border-collapse:collapse;min-width:720px}.history-table th{background:#f7f9f7;color:#819087;font-size:8px;letter-spacing:.7px;text-align:left;padding:11px 12px;border-bottom:1px solid #e9eeea}.history-table td{padding:12px;font-size:10px;color:#627168;border-bottom:1px solid #eef1ee}.history-table tr:last-child td{border-bottom:0}.history-table td strong{display:block;color:#31483a;font-size:10px}.history-table td small{display:block;margin-top:4px;font-size:8px;color:#9aa59d}.table-actions{display:flex;gap:6px}.small-action{border:1px solid #e1e8e2;background:white;border-radius:6px;color:#557360;font-size:9px;padding:6px 8px}.small-action:hover{background:#eff6f0}.small-action.delete{color:#aa5750}.empty-history{text-align:center;padding:48px 15px;color:#9ba59e}.empty-history strong{display:block;color:#5b6f61;font:700 12px Manrope}.empty-history p{font-size:10px;margin:6px 0 0}.main-footer{border-top:1px solid #e8ece9;display:flex;justify-content:space-between;gap:15px;margin-top:34px;padding-top:17px;color:#a1aaa4;font-size:9px}.main-footer span:first-child{font-weight:600;color:#718278}.toast{position:fixed;bottom:23px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#193b2d;color:white;border-radius:10px;padding:11px 16px;font-size:11px;box-shadow:0 8px 30px #10231d2b;z-index:60;transition:.22s}.toast.show{opacity:1;transform:translate(-50%,0)}.modal-dialog{width:min(460px,calc(100vw - 30px));padding:23px;border:1px solid #e8eeea;border-radius:16px;box-shadow:0 18px 80px #10231d30;color:var(--ink)}.modal-dialog::backdrop{background:#10231d88;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start}.dialog-head h2{font:700 19px Manrope;margin:0}.icon-button{border:0;background:#f2f5f2;border-radius:8px;width:30px;height:30px;color:#697970;font-size:20px;line-height:1}.modal-dialog>p{font-size:11px;color:#829087;line-height:1.6;margin:13px 0 18px}.backup-actions{display:flex;gap:9px}.file-button{cursor:pointer}.storage-warning{background:#fff8ed;border:1px solid #f1e1c8;color:#9a7544;border-radius:9px;padding:12px;margin-top:18px;display:grid;gap:4px}.storage-warning strong{font-size:10px}.storage-warning span{font-size:9px;line-height:1.5}.print-only{display:none}
@media(max-width:1150px){.main-area{padding-left:24px;padding-right:24px}.calc-grid{grid-template-columns:minmax(0,1fr) 265px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.field-wide{grid-column:span 2}.product-editor .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-editor .field-wide{grid-column:span 2}}
@media(max-width:900px){.sidebar{width:220px}.main-area{margin-left:220px;padding:0 18px 20px}.calc-grid{grid-template-columns:minmax(0,1fr)}.right-column{grid-template-columns:1fr 1fr;align-items:start}.formula-note{grid-column:span 2}.product-layout{grid-template-columns:220px minmax(0,1fr)}.product-editor .form-grid,.product-editor .form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.sidebar{transform:translateX(-100%);transition:.22s;width:260px;box-shadow:10px 0 30px #0002}.sidebar.open{transform:translateX(0)}.main-area{margin-left:0;padding:0 14px 18px}.topbar{height:61px}.mobile-menu{display:block}.breadcrumbs{margin-right:auto;margin-left:10px;font-size:10px}.top-actions{gap:8px}.local-badge{font-size:7px;padding:6px 8px}.avatar{width:29px;height:29px}.page{padding-top:23px}.page-heading{align-items:flex-start;flex-direction:column}.page-heading h1{font-size:25px}.page-heading p{font-size:11px;line-height:1.5}.heading-actions{width:100%}.heading-actions .button{flex:1;padding:10px 7px;font-size:10px}.notice{align-items:flex-start;padding:11px;gap:9px}.notice-link{align-self:center;font-size:9px}.notice span{line-height:1.4}.panel{padding:16px;border-radius:13px}.panel-heading{margin-bottom:16px}.form-grid,.form-grid.two{grid-template-columns:1fr}.field-wide{grid-column:auto}.section-label{margin-top:17px;padding-top:16px}.live-total{gap:8px;padding:11px}.live-total>strong{font-size:13px}.right-column{grid-template-columns:1fr}.formula-note{grid-column:auto}.summary-card{padding:17px}.product-layout{grid-template-columns:1fr}.product-list-panel{position:static}.product-list{grid-template-columns:1fr 1fr}.product-editor .form-grid,.product-editor .form-grid.two{grid-template-columns:1fr}.product-editor .field-wide{grid-column:auto}.product-editor{padding:16px}.editor-actions{align-items:flex-start;gap:8px;flex-direction:column}.editor-actions>div{width:100%;justify-content:flex-end}.editor-actions .button{font-size:10px;padding:10px}.history-toolbar{align-items:flex-start;flex-direction:column}.history-toolbar input{max-width:none}.main-footer{font-size:8px}.main-footer span:last-child{text-align:right}.backup-actions{flex-direction:column}.backup-actions .button{width:100%}}
@media print{body{background:#fff}.sidebar,.topbar,.heading-actions,.notice,.quick-card,.formula-note,.main-footer,.text-button{display:none!important}.main-area{margin:0;padding:0}.page{display:none!important}.page#page-calculator{display:block!important;padding:0}.page-heading{margin-bottom:14px}.calc-grid{display:block}.right-column{display:block;margin-bottom:15px}.summary-card{background:#f1f5f1;color:#172a24;border:1px solid #dce5dd;box-shadow:none}.summary-card h3,.summary-card .metric strong{color:#1d4833}.summary-card>p,.summary-card .metric span,.summary-foot{color:#52665a}.summary-divider{background:#dce5dd}.panel{box-shadow:none;break-inside:avoid}.results-panel{margin-top:14px}.result-section{break-inside:avoid}.page-heading h1{font-size:22px}.panel{padding:14px}.result-table td,.result-table th{padding:6px 8px}}
/* Larger, easier-to-read type across the calculator. */
body{font-size:15px}
.page-heading h1{font-size:34px}
.page-heading p{font-size:14px}
.eyebrow{font-size:11px}
.nav-item{font-size:14px}
.panel-heading h2,.history-toolbar h2{font-size:16px}
.panel-heading p,.history-toolbar p{font-size:12px}
.field>span{font-size:12px}
.field input,.field select,.history-toolbar input{font-size:13px}
.field-hint{font-size:11px}
.section-label{font-size:10px}
.notice strong{font-size:13px}
.notice span{font-size:12px}
.notice-link{font-size:12px}
.local-badge{font-size:10px}
.summary-kicker{font-size:10px}
.summary-card h3{font-size:19px}
.metric span,.metric strong{font-size:12px}
.quick-action strong{font-size:12px}
.quick-action small,.formula-note p{font-size:11px}
.result-table{font-size:11px}
.result-table th{font-size:10px}
.result-table td,.result-table th{padding:11px 12px}
.result-section-head strong{font-size:12px}
.result-section-head span{font-size:10px}
.history-table th{font-size:10px}
.history-table td,.history-table td strong{font-size:12px}
.theme-picker{display:flex;align-items:center;gap:7px;padding:5px 8px;border:1px solid #e3e9e4;border-radius:20px;background:#fff}
.theme-dot{width:14px;height:14px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #ccd7ce;padding:0;transition:transform .16s,box-shadow .16s}
.theme-dot:hover{transform:scale(1.18)}
.theme-dot.selected{box-shadow:0 0 0 2px #657d6d;transform:scale(1.08)}
.theme-dot.forest{background:#28734f}.theme-dot.ocean{background:#347d9b}.theme-dot.plum{background:#79517e}.theme-dot.amber{background:#c07a35}
body[data-theme="ocean"]{--green:#347d9b;--green-dark:#285e75;--green-pale:#eaf4f8}
body[data-theme="ocean"] .summary-card{background:#1b4557}
body[data-theme="ocean"] .nav-item.active{background:#24546a}
body[data-theme="ocean"] .brand-mark{background:#8fc2d0;color:#1b4557}
body[data-theme="plum"]{--green:#79517e;--green-dark:#5d3f63;--green-pale:#f3edf4}
body[data-theme="plum"] .summary-card{background:#49354d}
body[data-theme="plum"] .nav-item.active{background:#604865}
body[data-theme="plum"] .brand-mark{background:#c7a7c9;color:#49354d}
body[data-theme="amber"]{--green:#b87531;--green-dark:#925a24;--green-pale:#fbf2e7}
body[data-theme="amber"] .summary-card{background:#564021}
body[data-theme="amber"] .nav-item.active{background:#705127}
body[data-theme="amber"] .brand-mark{background:#e5b66d;color:#564021}
@media(max-width:650px){.page-heading h1{font-size:29px}.theme-picker{gap:5px;padding:5px 6px}.theme-dot{width:12px;height:12px}.result-table{font-size:11px}}
/* Full-page color themes: each palette carries through the canvas, navigation, cards, tables and controls. */
body[data-theme="forest"]{--ink:#173127;--muted:#72847a;--line:#dbe7de;--paper:#eff5f1;--white:#fff;--green:#28734f;--green-dark:#194d38;--green-pale:#eaf4ee;--accent:#28734f;--accent-dark:#194d38;--accent-soft:#e3efe7;--accent-strong:#8ac49b;--sidebar-bg:#102a20;--sidebar-active:#204b39;--brand-mark-bg:#e9bc7b;--brand-mark-fg:#10231d;--surface-alt:#eaf3ed;--table-head-bg:#f3f8f4;--notice-bg:#eaf4ec;--notice-border:#d5e7d8;--summary-bg:#15392c;--icon-tint:#e3efe5;--selected-bg:#edf6ee;--selected-border:#d5e8d9;--toast-bg:#15392c}
body[data-theme="ocean"]{--ink:#18384a;--muted:#6d8797;--line:#d5e3ec;--paper:#edf4f8;--white:#fff;--green:#347d9b;--green-dark:#245a72;--green-pale:#e6f1f6;--accent:#347d9b;--accent-dark:#245a72;--accent-soft:#e5f1f6;--accent-strong:#8fc8da;--sidebar-bg:#123246;--sidebar-active:#20546a;--brand-mark-bg:#9ac9d8;--brand-mark-fg:#123246;--surface-alt:#e8f2f7;--table-head-bg:#f1f7fa;--notice-bg:#e8f3f7;--notice-border:#d2e6ee;--summary-bg:#19465b;--icon-tint:#e4f0f5;--selected-bg:#eaf4f8;--selected-border:#cfe3ec;--toast-bg:#123246}
body[data-theme="plum"]{--ink:#3d2c43;--muted:#8b7a91;--line:#e4d8e7;--paper:#f5f0f6;--white:#fff;--green:#79517e;--green-dark:#5f4065;--green-pale:#f3edf4;--accent:#79517e;--accent-dark:#5f4065;--accent-soft:#f0e8f2;--accent-strong:#c9a9cc;--sidebar-bg:#302239;--sidebar-active:#604865;--brand-mark-bg:#c9a9cc;--brand-mark-fg:#302239;--surface-alt:#f1eaf3;--table-head-bg:#f8f4f8;--notice-bg:#f3edf4;--notice-border:#e7dce9;--summary-bg:#49354d;--icon-tint:#f0e8f2;--selected-bg:#f4edf5;--selected-border:#e3d5e6;--toast-bg:#302239}
body[data-theme="amber"]{--ink:#48371f;--muted:#8b785d;--line:#eadbc4;--paper:#fbf4e9;--white:#fff;--green:#b87531;--green-dark:#925a24;--green-pale:#fbf2e7;--accent:#b87531;--accent-dark:#925a24;--accent-soft:#f7ecdc;--accent-strong:#e8bc78;--sidebar-bg:#3f2d17;--sidebar-active:#705127;--brand-mark-bg:#e4bb76;--brand-mark-fg:#3f2d17;--surface-alt:#f7eedf;--table-head-bg:#fdf9f1;--notice-bg:#fbf3e6;--notice-border:#efdfc3;--summary-bg:#564021;--icon-tint:#f7eddf;--selected-bg:#fcf5e9;--selected-border:#eedbb8;--toast-bg:#3f2d17}
body,.app-shell,.main-area{background:var(--paper);color:var(--ink)}
.sidebar{background:var(--sidebar-bg)}
.brand-mark{background:var(--brand-mark-bg);color:var(--brand-mark-fg);box-shadow:inset 0 0 0 1px var(--accent-strong)}
.workspace-label,.eyebrow{color:var(--accent)}
.nav-item.active{background:var(--sidebar-active);box-shadow:inset 3px 0 var(--accent-strong)}
.nav-icon,.nav-item.active .nav-icon{color:var(--accent-strong)}
.topbar,.main-footer{border-color:var(--line)}
.breadcrumbs strong,.page-heading h1,.panel-heading h2,.history-toolbar h2{color:var(--ink)}
.local-badge{background:var(--surface-alt);border-color:var(--line);color:var(--accent-dark)}
.local-badge i{background:var(--accent)}
.avatar{background:var(--accent-soft);color:var(--accent-dark)}
.button-primary{background:var(--accent);border-color:var(--accent);box-shadow:0 4px 12px color-mix(in srgb,var(--accent) 20%,transparent)}
.button-primary:hover{background:var(--accent-dark)}
.button-secondary:hover{background:var(--surface-alt);border-color:var(--accent)}
.notice{background:var(--notice-bg);border-color:var(--notice-border);color:var(--accent-dark)}
.notice-icon{border-color:var(--accent-strong);color:var(--accent)}
.notice strong,.notice-link{color:var(--accent-dark)}
.panel,.quick-card,.product-list-panel,.product-editor,.history-panel{background:var(--white);border-color:var(--line)}
.step-chip,.product-row.selected{background:var(--selected-bg);border-color:var(--selected-border);color:var(--accent-dark)}
.field>span{color:var(--ink)}
.field input,.field select,.history-toolbar input,.input-unit{background:var(--white);border-color:var(--line);color:var(--ink)}
.field input:focus,.field select:focus,.history-toolbar input:focus,.input-unit:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.input-unit .unit-prefix{color:var(--accent-dark)}
.section-label{border-color:var(--line);color:var(--accent-dark)}
.live-total{background:var(--surface-alt);border-color:var(--line)}
.total-icon,.quick-action>span,.product-avatar,.empty-icon{background:var(--icon-tint);color:var(--accent)}
.live-total>div:nth-child(2)>span,.live-total>strong{color:var(--accent-dark)}
.summary-card{background:var(--summary-bg)}
.summary-card:after{border-color:color-mix(in srgb,var(--accent-strong) 28%,transparent);box-shadow:0 0 0 15px color-mix(in srgb,var(--accent-strong) 8%,transparent),0 0 0 32px color-mix(in srgb,var(--accent-strong) 6%,transparent)}
.summary-icon,.metric-highlight span,.metric-highlight strong{color:var(--accent-strong)}
.quick-action{background:var(--white);border-color:var(--line)}
.quick-action:hover{background:var(--surface-alt)}
.quick-action:hover strong,.text-button,.small-action{color:var(--accent)}
.formula-note{background:var(--surface-alt);border-color:var(--line)}
.formula-note strong{color:var(--accent-dark)}
.result-section{border-color:var(--line)}
.result-section-head,.result-table th,.history-table th{background:var(--table-head-bg)}
.result-section-head strong,.result-table .total-row td,.history-table td strong{color:var(--accent-dark)}
.result-table td,.result-table th,.history-table td,.history-table th{border-color:var(--line)}
.result-table .total-row td{background:var(--surface-alt)}
.product-row:hover,.small-action:hover{background:var(--surface-alt)}
.product-row.selected .product-avatar{background:var(--accent-soft);color:var(--accent-dark)}
.history-table-wrap{border-color:var(--line)}
.small-action{border-color:var(--line)}
.modal-dialog{background:var(--white);border-color:var(--line)}
.icon-button{background:var(--surface-alt);color:var(--accent-dark)}
.toast{background:var(--toast-bg)}
.theme-picker{background:var(--white);border-color:var(--line)}
.theme-dot.selected{box-shadow:0 0 0 2px var(--accent);transform:scale(1.08)}
.main-footer span:first-child{color:var(--accent-dark)}
@media(prefers-color-scheme:dark){body[data-theme]{color-scheme:light}}
.legacy-help{font-size:12px;line-height:1.55;color:var(--muted);margin:-5px 0 13px}
.cost-item-header,.cost-item-row{display:grid;grid-template-columns:minmax(150px,1fr) minmax(150px,1fr) 88px;gap:9px;align-items:center}
.cost-item-header{padding:10px 12px;border:1px solid var(--line);border-radius:9px 9px 0 0;background:var(--table-head-bg);color:var(--accent-dark);font-size:11px;font-weight:700}
.cost-item-row{padding:7px 10px;border:1px solid var(--line);border-top:0;background:var(--white)}
.cost-item-row:last-child{border-radius:0 0 9px 9px}
.cost-item-row input{min-width:0;width:100%;height:36px;padding:0 10px;border:1px solid var(--line);border-radius:7px;background:var(--white);color:var(--ink);font:inherit;font-size:12px}
.cost-item-row input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.add-cost-item{margin-top:10px}
@media(max-width:650px){.cost-item-header,.cost-item-row{grid-template-columns:minmax(105px,1fr) minmax(105px,1fr) 66px;gap:6px;padding-left:7px;padding-right:7px}.cost-item-row .small-action{font-size:10px;padding:7px 5px}.cost-item-header{font-size:10px}}
.allocation-rule-head,.allocation-rule-row{display:grid;grid-template-columns:minmax(220px,1fr) minmax(120px,150px) minmax(120px,150px);gap:10px;align-items:center}
.allocation-rule-head{padding:10px 12px;border:1px solid var(--line);border-radius:9px 9px 0 0;background:var(--table-head-bg);color:var(--accent-dark);font-size:11px;font-weight:700}
.allocation-rule-row{padding:7px 12px;border:1px solid var(--line);border-top:0;background:var(--white)}
.allocation-rule-row:last-child{border-radius:0 0 9px 9px}
.allocation-rule-name{font-size:12px;color:var(--ink)}
.allocation-rule-row label{display:block}
.allocation-rule-row input{width:100%;height:36px;padding:0 10px;border:1px solid var(--line);border-radius:7px;background:var(--white);color:var(--ink);font:inherit;font-size:12px}
.allocation-rule-row input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:650px){.allocation-rule-head,.allocation-rule-row{grid-template-columns:minmax(120px,1fr) 76px 76px;gap:6px;padding-left:7px;padding-right:7px}.allocation-rule-head{font-size:9px}.allocation-rule-name{font-size:10px}.allocation-rule-row input{padding:0 5px;font-size:11px}}

/* CBN daily exchange-rate strip */
.rate-strip{min-height:46px;display:flex;align-items:center;gap:13px;padding:8px 14px;margin-top:9px;background:var(--surface-alt,#f6f9f6);border:1px solid var(--line,#e7ece8);border-radius:10px;color:var(--ink,#172a24);font-size:11px;flex-wrap:wrap}.rate-title{font-size:9px;font-weight:800;letter-spacing:.8px;color:var(--accent-dark,#245c41)}.rate-strip>strong{font:700 14px Manrope,Arial,sans-serif;color:var(--accent-dark,#245c41)}.rate-breakdown,.rate-date{font-size:10px;color:var(--muted,#77837d)}.rate-strip>a{margin-left:auto;color:var(--accent-dark,#245c41);font-weight:700;text-decoration:none}.rate-strip>a:hover{text-decoration:underline}@media(max-width:650px){.rate-strip{gap:7px 10px;margin-top:7px;padding:8px 10px;font-size:10px}.rate-strip>a{margin-left:0}.rate-strip>strong{font-size:12px}}
