.calc-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}.calc-form,.calc-result{background:var(--paper);border:1px solid var(--line-soft);border-radius:12px;padding:24px}.calc-section-head{font-family:Monaspace Krypton,monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:16px;display:flex;align-items:center;gap:8px}.calc-section-head .num{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;background:var(--blue);color:var(--paper);border-radius:50%;font-weight:700;letter-spacing:0}.calc-field{margin-bottom:18px}.calc-field label{display:block;font-size:13px;font-weight:600;color:var(--ink-2);margin-bottom:6px}.calc-field .unit-suffix{font-family:Monaspace Krypton,monospace;font-size:11px;color:var(--muted);margin-left:6px;letter-spacing:.12em;text-transform:uppercase}.calc-input-row{display:flex;gap:8px;align-items:center}.calc-input-row input,.calc-input-row select{flex:1;padding:11px 14px;background:var(--paper);border:1.5px solid var(--line);border-radius:8px;font-family:Montserrat,sans-serif;font-size:14.5px;color:var(--ink);outline:none}.calc-input-row input:focus,.calc-input-row select:focus{border-color:var(--blue)}.calc-input-row .suffix{font-family:Monaspace Krypton,monospace;font-size:11px;color:var(--muted);letter-spacing:.12em;text-transform:uppercase;min-width:36px}.material-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.material-chip{padding:10px 8px;background:var(--paper);border:1.5px solid var(--line);border-radius:8px;cursor:pointer;text-align:center;font-size:12px;font-weight:600;color:var(--ink-2);transition:all .12s}.material-chip:hover{border-color:var(--muted)}.material-chip.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.calc-result{background:#0f2a40;color:var(--paper);border:0;position:relative;overflow:hidden}.calc-result:before{content:"";position:absolute;inset:0;background-image:linear-gradient(to right,rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.03) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(ellipse at 50% 100%,black 0%,transparent 70%)}.calc-result>*{position:relative;z-index:1}.calc-result .calc-section-head{color:#fff9}.calc-result .calc-section-head .num{background:#ec1e24}.result-headline{font-weight:800;font-size:64px;line-height:.95;letter-spacing:-.035em;margin-bottom:6px}.result-headline .unit{font-size:26px;font-weight:500;color:#fff9;letter-spacing:0;margin-left:6px}.result-sub{font-family:Monaspace Krypton,monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#ffffff80;margin-bottom:28px}.result-recs{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:16px 18px;margin-bottom:14px}.result-recs h4{font-family:Monaspace Krypton,monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#ffffff80;margin-bottom:10px}.result-recs .row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:13px}.result-recs .row:last-child{border-bottom:0}.result-recs .row .lbl{color:#ffffffb3}.result-recs .row .val{font-family:Monaspace Krypton,monospace;font-weight:500;color:var(--paper)}.upsell-strip{display:flex;align-items:center;gap:14px;padding:14px 16px;background:#c9a2271a;border:1px solid rgba(201,162,39,.3);border-radius:10px;margin-top:16px}.upsell-strip .coin{width:32px;height:32px;background:var(--gold, #C9A227);color:var(--paper);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}.upsell-strip .text{flex:1;font-size:12.5px;color:#ffffffd9;line-height:1.4}.upsell-strip .text strong{color:var(--paper);font-weight:700}.upsell-strip .ghost-btn{font-family:Monaspace Krypton,monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--gold, #C9A227);background:transparent;border:1px solid var(--gold, #C9A227);padding:7px 12px;border-radius:6px;cursor:pointer;white-space:nowrap;text-decoration:none}.upsell-strip .ghost-btn:hover{background:var(--gold, #C9A227);color:#0f2a40}@media(max-width:720px){.calc-grid{grid-template-columns:1fr}.material-picker{grid-template-columns:repeat(2,1fr)}}.dxf-drop{display:block;border:1.5px dashed var(--line);border-radius:12px;padding:28px;background:var(--paper);cursor:pointer;transition:border-color .12s,background .12s}.dxf-drop:hover{border-color:var(--blue)}.dxf-drop.over{border-color:var(--blue);background:#206ca40a}.dxf-drop.has-file{border-style:solid;border-color:var(--blue);background:#206ca408}.dxf-drop-inner{display:flex;flex-direction:column;align-items:center;gap:8px}.dxf-drop-icon{width:44px;height:44px;border-radius:50%;background:var(--paper-2);color:var(--muted);display:inline-flex;align-items:center;justify-content:center;font-size:20px;font-weight:700}.dxf-drop-icon.ok{background:#22c55e1f;color:#16a34a}.dxf-drop-text{font-size:14px;color:var(--ink-2)}.dxf-drop-text strong{color:var(--ink);font-weight:700}.dxf-drop-browse{color:var(--blue);text-decoration:underline}.dxf-drop-hint{font-family:Monaspace Krypton,monospace;font-size:11px;color:var(--muted);letter-spacing:.08em}.step-inputs{display:flex;align-items:center;gap:10px}.step-inputs.row .step-num-input{width:110px}.step-num-input{width:110px;padding:10px 14px;background:var(--paper);border:1.5px solid var(--line);border-radius:8px;font-family:Monaspace Krypton,monospace;font-size:14px;color:var(--ink);outline:none}.step-num-input:focus{border-color:var(--blue)}.step-input-sep{color:var(--muted);font-size:14px}.dxf-actions{display:flex;gap:10px;margin:22px 0 8px;align-items:center}.dxf-calc-btn{padding:11px 22px;background:var(--ink);color:var(--paper);border:0;border-radius:8px;font-family:Montserrat,sans-serif;font-size:13.5px;font-weight:700;letter-spacing:.02em;cursor:pointer;transition:opacity .12s,background .12s}.dxf-calc-btn:hover:not(:disabled){background:var(--blue)}.dxf-calc-btn:disabled{opacity:.4;cursor:not-allowed}.dxf-error{background:#dc262614;color:#b91c1c;border:1px solid rgba(220,38,38,.25);border-radius:8px;padding:12px 16px;margin-bottom:16px;font-size:13.5px}.dxf-layout{display:block;width:100%;max-width:720px;margin:14px auto 4px;border:1px solid var(--line-soft);border-radius:8px;background:var(--paper)}.dxf-layout.chart{max-width:640px}.result-stage.savings{background:var(--paper-2)}
