.wrap{--b:#111;--br:#e0e0e0;--bg:#f8f8f8;--ok:#1a7f37;--hot:#ff8c00;--primary:#111;--border:#e0e0e0;--border-light:#f0f0f0;--text-primary:#111;--text-secondary:#666;--text-muted:#999;max-width:1400px;margin:0 auto;padding:26px 18px}.page-header{margin-bottom:26px}.page-header h1{color:#000;letter-spacing:-.5px;margin:0 0 10px;padding:1px 0;font-size:32px;font-weight:700}.page-description{color:var(--text-secondary);max-width:900px;margin:0;padding-left:1px;font-size:14px;line-height:1.6}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.card{border:1px solid var(--border);background:#fff;border-radius:6px;margin-bottom:20px;padding:22px;box-shadow:0 2px 4px #0000000d}.settings-panel{border:none;margin:0;padding:0}.settings-row{border-bottom:1px solid var(--border-light);grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:18px;padding:18px 2px;display:grid}.settings-row:last-child{border-bottom:none;margin-bottom:0}.field{flex-direction:column;display:flex}.field-label{color:#333;margin-bottom:7px;padding-left:1px;font-size:12px;font-weight:500;display:block}.field-input{box-sizing:border-box;border:1px solid #ccc;border-radius:4px;width:100%;padding:12px 16px;font-size:14px;transition:border-color .2s}.card input,.card select{box-sizing:border-box;border:1px solid #ccc;border-radius:4px;width:100%;padding:8px 10px;font-size:13px;transition:border-color .2s}.card input:focus,.card select:focus,.field-input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 2px #1111111a}.card input[readonly]{color:#666;cursor:not-allowed;background:#f8f8f8}@media (max-width:1100px){.settings-row{grid-template-columns:repeat(2,1fr)}}@media (max-width:680px){.settings-row{grid-template-columns:1fr}}.toolbar{border-top:1px solid var(--border-light);border-bottom:1px solid var(--border-light);flex-wrap:wrap;align-items:center;gap:10px;margin:20px 0;padding:18px 2px;display:flex}.btn{background:var(--primary);color:#fff;cursor:pointer;border:0;border-radius:4px;padding:11px 21px;font-size:14px;font-weight:500;transition:background .2s}.btn:hover{background:#000}.btn--primary{background:var(--primary);color:#fff}.btn--primary:hover{background:#000}.btn--secondary{color:#333;background:#fff;border:1px solid #d0d0d0}.btn--secondary:hover{background:#f8f8f8;border-color:#bbb}.message{margin-left:12px;padding:4px 8px;font-size:13px;font-weight:500;display:inline}.message--error{color:#d32f2f;background:#ffebee;border-left:3px solid #d32f2f}.message--success{color:var(--ok);border-left:3px solid var(--ok);background:#e8f5e9}.table-container{margin:0 -22px;padding:0 22px;overflow-x:auto}.calc-table{border-collapse:separate;border-spacing:0;border:1px solid var(--border);background:#fff;border-radius:6px;width:100%;overflow:hidden}.calc-table thead th{color:#222;text-align:left;border-bottom:2px solid var(--border);white-space:nowrap;text-transform:uppercase;letter-spacing:.3px;background:#f8f8f8;padding:8px;font-size:12px;font-weight:600}.calc-table thead th:first-child{text-transform:none;white-space:normal}.calc-table__header-titles th{padding-top:4px}.col-element{min-width:320px}.col-heat-sides{min-width:180px}.col-params{min-width:320px}.col-material,.col-results{min-width:200px}.col-total{text-align:center;min-width:120px}.col-actions{text-align:center;min-width:50px}.calc-table tbody td{border-bottom:1px solid var(--border-light);vertical-align:top;background:#fff;padding:6px 8px}.calc-table tbody tr:hover td{background:#fafafa}.calc-table tbody tr:last-child td{border-bottom:0}.params-column{flex-direction:column;gap:10px;display:flex}.param-group{flex-direction:column;gap:4px;display:flex}.param-label{color:var(--text-secondary);font-size:11px;font-weight:500}.td-total{vertical-align:middle;text-align:center;padding:8px 12px}.input-total{border:1px solid var(--border);width:100%;color:var(--primary);text-align:center;background:#fff;border-radius:6px;padding:10px 8px;font-size:16px;font-weight:600}.td-actions{vertical-align:middle;text-align:center;padding:8px}.btn-delete{color:#fff;cursor:pointer;background:#dc2626;border:none;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;padding:0;transition:all .2s;display:inline-flex}.btn-delete:hover{background:#b91c1c;transform:scale(1.05)}.btn-delete:active{transform:scale(.95)}.btn-delete svg{width:18px;height:18px}.calc-table tfoot td{border-top:1px solid var(--border);background:#fff;padding:16px 8px}.grand-total-coef-cell{vertical-align:middle;justify-content:flex-end;align-items:center;gap:8px;display:flex}.input-grand-coef{border:1px solid var(--border);width:120px;color:var(--primary);background:#fff;border-radius:6px;padding:8px 10px;font-size:14px}.grand-total-cell{vertical-align:middle;justify-content:flex-end;align-items:center;gap:8px;display:flex}.grand-total-label{color:var(--primary);white-space:nowrap;font-size:14px;font-weight:600}.input-grand-total{border:1px solid var(--border);width:80px;color:var(--primary);text-align:center;background:#fff;border-radius:6px;padding:8px 10px;font-size:16px;font-weight:600}.svgwrap{background:#fff;border:1px solid #e0e0e0;border-radius:6px;justify-content:center;align-items:center;max-width:160px;min-height:140px;padding:10px;display:flex;position:relative;box-shadow:0 1px 3px #0000000d}.svgwrap svg{width:100%;max-width:100%;height:auto;max-height:100%;display:block}.seg{cursor:pointer;stroke:#888;stroke-width:10px;stroke-linecap:round;fill:none;opacity:.9;transition:all .2s}.seg:hover{opacity:1;stroke-width:12px;stroke:#666}.seg.on{stroke:#ff8c00;stroke-width:10px;opacity:1;filter:drop-shadow(0 0 2px #ff8c0066)}.shape{fill:none;stroke:#333;stroke-width:2.5px}.shape-bg{fill:#f8f8f8;stroke:#ddd;stroke-width:1px}.heat-label{fill:#666;text-anchor:middle;font-size:11px}.page-footer{border-top:1px solid var(--border);background:#fafafa;margin-top:40px;padding:24px 0}.footer-content{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.footer-company{color:var(--text-secondary);font-size:14px}.footer-company strong{color:var(--text-primary)}.footer-contacts{flex-wrap:wrap;gap:24px;display:flex}.footer-link{color:var(--text-secondary);font-size:14px;text-decoration:none;transition:color .2s}.footer-link:hover{color:var(--text-primary)}@media (max-width:600px){.footer-content{text-align:center;flex-direction:column}.footer-contacts{justify-content:center}}
