:root{--bg:#f4f6f4;--surface:#fff;--soft:#f8faf8;--line:#dde3df;--text:#27342d;--muted:#6e7972;--accent:#4f6b5c;--accent-dark:#354a3f;--accent-soft:#e8efeb;--warn:#8a6a2f;--danger:#9b5f59}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}button,input,select{font:inherit}.calc-topbar{height:58px;display:flex;align-items:center;gap:14px;padding:0 18px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.calc-back{color:var(--accent-dark);text-decoration:none;font-weight:700}.calc-brand{font-weight:800;letter-spacing:.05em}.calc-user{margin-left:auto;color:var(--muted);font-size:13px}.calc-page{max-width:1320px;margin:0 auto;padding:22px}.calc-intro{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:15px}.calc-intro h1{margin:0 0 5px;font-size:30px}.calc-intro p{margin:0;color:var(--muted)}.customer-field{display:grid;gap:5px;min-width:260px;font-size:12px;color:var(--muted);font-weight:700}.customer-field select,.dynamic-form select,.dynamic-form input{height:42px;border:1px solid #cfd7d2;border-radius:9px;background:#fff;padding:0 10px;color:var(--text)}.product-picker{display:flex;gap:7px;overflow:auto;padding:2px 0 12px;scrollbar-width:none}.product-picker::-webkit-scrollbar{display:none}.product-picker button{border:1px solid var(--line);background:#fff;color:#536159;padding:10px 14px;border-radius:10px;font-weight:700;white-space:nowrap;cursor:pointer}.product-picker button.active{background:var(--accent);border-color:var(--accent);color:#fff}.calc-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,.72fr);gap:16px;align-items:start}.calc-card{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 1px 3px rgba(32,45,37,.05)}.calc-form-card{padding:18px}.calc-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:16px}.calc-card-head small,.result-card>div>small{color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.12em}.calc-card h2{margin:3px 0 0;font-size:21px}.draft-badge{padding:5px 9px;border-radius:999px;background:#fff7dd;color:#7d6328;font-size:11px;font-weight:700}.dynamic-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.field{display:grid;gap:5px;min-width:0}.field.wide{grid-column:1/-1}.field label{font-size:12px;color:#5e6963;font-weight:700}.segmented{display:flex;gap:6px;flex-wrap:wrap}.segmented button{border:1px solid #d2d9d4;background:#fff;border-radius:9px;padding:9px 11px;color:#536058;cursor:pointer}.segmented button.active{background:var(--accent-soft);border-color:#bdcec4;color:var(--accent-dark);font-weight:700}.checkline{display:flex;align-items:center;gap:8px;min-height:42px;padding:0 2px}.checkline input{width:18px;height:18px}.result-card{padding:16px}.result-sticky{position:sticky;top:76px}.summary-text{margin:12px 0 15px;color:#4f5c55;line-height:1.5}.summary-text span{display:block}.price-block{background:var(--accent);color:#fff;border-radius:13px;padding:15px;margin-bottom:10px}.price-block span,.price-block small{display:block;opacity:.82}.price-block strong{display:block;font-size:31px;line-height:1.1;margin:4px 0}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px}.metrics>div{border:1px solid var(--line);border-radius:10px;padding:10px;background:var(--soft)}.metrics span{display:block;color:var(--muted);font-size:11px}.metrics b{display:block;margin-top:3px}.warnings{margin-top:10px}.warning{padding:9px 10px;border-radius:9px;background:#fff4d9;color:#765b20;font-size:12px;margin-top:6px}.breakdown{margin-top:11px;border-top:1px solid var(--line);padding-top:10px}.breakdown summary{cursor:pointer;font-weight:700;color:#536058}.breakdown div{margin-top:8px;color:var(--muted);font-size:12px;line-height:1.5}.breakdown-row{display:flex;justify-content:space-between;gap:12px;border-bottom:1px dashed #e3e7e4;padding:5px 0}.result-actions{display:grid;grid-template-columns:1fr auto;gap:7px;margin-top:14px}.result-actions button{min-height:42px;border:1px solid var(--accent);border-radius:10px;background:var(--accent);color:#fff;font-weight:700;cursor:pointer}.result-actions button.secondary{background:#fff;color:#59665f;border-color:var(--line)}@media(max-width:820px){.calc-page{padding:12px}.calc-topbar{height:54px;padding:0 11px;gap:10px}.calc-brand{font-size:12px}.calc-user{display:none}.calc-intro{display:block}.calc-intro h1{font-size:24px}.customer-field{margin-top:12px;min-width:0;width:100%}.calc-layout{grid-template-columns:1fr}.calc-form-card{order:1}.result-card{order:2}.result-sticky{position:static}.dynamic-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.dynamic-form .field.wide{grid-column:1/-1}.dynamic-form .field label{font-size:11px}.dynamic-form select,.dynamic-form input{height:40px;padding:0 9px}.segmented{gap:5px}.segmented button{padding:8px 9px;font-size:13px}.product-picker button{padding:9px 11px;font-size:13px}.price-block strong{font-size:28px}}@media(max-width:520px){.calc-back{font-size:13px}.calc-brand{margin-left:auto}.dynamic-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.dynamic-form .field.wide{grid-column:1/-1}.dynamic-form>.field:nth-last-child(-n+2){margin-top:5px;padding-top:9px;border-top:1px solid #edf0ee}.dynamic-form>.field:nth-last-child(2){position:relative}.dynamic-form>.field:nth-last-child(2)::before{content:'Дополнительно';position:absolute;top:-20px;left:0;color:#7b847f;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.dynamic-form>.field:nth-last-child(2),.dynamic-form>.field:last-child{margin-top:18px}.dynamic-form>.field:nth-last-child(2)+.field{margin-top:18px}.segmented button{padding:8px 8px;font-size:12px}.calc-form-card,.result-card{padding:12px;border-radius:13px}.calc-card-head{margin-bottom:10px}.calc-card h2{font-size:19px}.draft-badge{font-size:10px;padding:4px 7px}.metrics{grid-template-columns:1fr 1fr}.result-actions{grid-template-columns:1fr}.product-picker{margin-right:-12px;padding-right:12px}.customer-field select{height:40px}.checkline{min-height:40px;font-size:13px}}@media(max-width:820px){.product-picker button,.segmented button,.result-actions button,.calc-back,.customer-field select,.dynamic-form select,.dynamic-form input{min-height:44px}}