.ptm-wrap,.card{--primary:#062230;--accent:#feb700;--accent-end:#ffa54b;--border:#e4e8ec;--border-light:#f0f2f5;--bg:#f7f8fa;--bg-card:#fff;--text:#062230;--text-secondary:#5a6a78;--text-muted:#8a96a0;--hot:#feb700;--ok:#1a7f37;--radius:14px;--shadow:0 2px 12px #0622300f;--shadow-hover:0 6px 24px #0622301f}.ptm-hero{background:linear-gradient(135deg,#062230 0%,#0a3a52 60%,#0e4d6a 100%);padding:60px 20px 50px;position:relative;overflow:hidden}.ptm-hero:before{content:"";background:radial-gradient(circle,#feb70014 0%,#0000 70%);border-radius:50%;width:500px;height:500px;position:absolute;top:-50%;right:-10%}.ptm-hero-inner{justify-content:space-between;align-items:center;gap:40px;max-width:1170px;margin:0 auto;display:flex}.ptm-hero-label{color:#feb700;text-transform:uppercase;letter-spacing:.08em;background:#feb70026;border-radius:100px;margin-bottom:16px;padding:6px 16px;font-size:12px;font-weight:700;display:inline-block}.ptm-hero h1{color:#fff;letter-spacing:-.5px;margin:0 0 14px;font-size:40px;font-weight:800}.ptm-hero-text p{color:#ffffffb3;max-width:520px;margin:0;font-size:16px;line-height:1.6}.ptm-hero-features{flex-direction:column;gap:14px;display:flex}.ptm-hero-feat{color:#fff;-webkit-backdrop-filter:blur(4px);background:#ffffff0f;border:1px solid #ffffff1a;border-radius:12px;align-items:center;gap:14px;padding:14px 20px;font-size:15px;font-weight:500;display:flex}.ptm-hero-feat svg{color:#feb700;flex-shrink:0;font-size:18px}.ptm-wrap{background:var(--bg);max-width:1400px;min-height:400px;margin:0 auto;padding:32px 20px 60px}.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);border-radius:var(--radius);background:var(--bg-card);box-shadow:var(--shadow);padding:28px}.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:20px;padding:0 0 24px;display:grid}.settings-row:last-child{border-bottom:none;margin-bottom:0}.field{flex-direction:column;display:flex}.field-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:7px;padding-left:1px;font-size:12px;font-weight:600;display:block}.field-input{border:1px solid var(--border);box-sizing:border-box;background:var(--bg-card);width:100%;color:var(--text);border-radius:10px;padding:12px 16px;font-family:inherit;font-size:14px;transition:border-color .2s,box-shadow .2s}.card input,.card select{border:1px solid var(--border);box-sizing:border-box;background:var(--bg-card);width:100%;color:var(--text);border-radius:8px;padding:9px 12px;font-family:inherit;font-size:13px;transition:border-color .2s,box-shadow .2s}.card input:focus,.card select:focus,.field-input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #feb70026}.card input[readonly]{background:var(--bg);color:var(--text-secondary);cursor:not-allowed;border-color:var(--border-light)}@media (max-width:1100px){.settings-row{grid-template-columns:repeat(2,1fr)}}@media (max-width:680px){.settings-row{grid-template-columns:1fr}}.toolbar{border-bottom:1px solid var(--border-light);flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 24px;padding:20px 0;display:flex}.btn{cursor:pointer;border:0;border-radius:10px;padding:11px 22px;font-family:inherit;font-size:14px;font-weight:600;transition:all .2s}.btn--primary{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-end) 100%);color:var(--primary);box-shadow:0 2px 8px #feb70040}.btn--primary:hover{transform:translateY(-1px);box-shadow:0 4px 16px #feb70059}.btn--secondary{border:1px solid var(--border);background:var(--bg-card);color:var(--text)}.btn--secondary:hover{background:var(--bg);border-color:var(--primary)}.message{border-radius:8px;margin-left:12px;padding:6px 12px;font-size:13px;font-weight:600;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 -28px;padding:0 28px;overflow-x:auto}.calc-table{border-collapse:separate;border-spacing:0;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);width:100%;overflow:hidden}.calc-table thead th{background:var(--primary);color:#fff;text-align:left;white-space:nowrap;text-transform:uppercase;letter-spacing:.05em;border-bottom:none;padding:12px 10px;font-size:11px;font-weight:700}.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:var(--bg-card);padding:8px 10px}.calc-table tbody tr:hover td{background:#feb70008}.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-muted);text-transform:uppercase;letter-spacing:.03em;font-size:11px;font-weight:600}.td-total{vertical-align:middle;text-align:center;padding:8px 12px}.input-total{border:2px solid var(--accent);width:100%;color:var(--primary);text-align:center;background:#feb7000f;border-radius:10px;padding:10px 8px;font-size:16px;font-weight:700}.td-actions{vertical-align:middle;text-align:center;padding:8px}.btn-delete{color:#dc2626;cursor:pointer;background:#fee2e2;border:none;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;padding:0;transition:all .2s;display:inline-flex}.btn-delete:hover{color:#fff;background:#dc2626;transform:scale(1.05)}.btn-delete:active{transform:scale(.95)}.btn-delete svg{width:18px;height:18px}.calc-table tfoot td{background:var(--bg);border-top:2px solid var(--border);padding:16px 10px}.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);background:var(--bg-card);width:150px;min-width:150px;color:var(--text);border-radius:8px;flex-shrink:0;padding:9px 12px;font-family:inherit;font-size:14px}.grand-total-cell{justify-content:flex-end;align-items:center;gap:10px;display:flex}.calc-table tfoot select,.calc-table tfoot input{width:auto}.grand-total-label{color:var(--primary);white-space:nowrap;font-size:14px;font-weight:700}.input-grand-total{border:2px solid var(--accent);width:120px;min-width:120px;color:var(--primary);text-align:center;background:linear-gradient(135deg,#feb70014 0%,#ffa54b14 100%);border-radius:10px;flex-shrink:0;padding:10px 12px;font-size:18px;font-weight:800}.svgwrap{border:1px solid var(--border);background:var(--bg);border-radius:12px;justify-content:center;align-items:center;max-width:160px;min-height:140px;padding:12px;display:flex;position:relative;box-shadow:inset 0 1px 3px #0622300a}.svgwrap svg{width:100%;max-width:100%;height:auto;max-height:100%;display:block}.seg{cursor:pointer;stroke:#b0bec5;stroke-width:10px;stroke-linecap:round;fill:none;opacity:.9;transition:all .2s}.seg:hover{opacity:1;stroke-width:12px;stroke:#78909c}.seg.on{stroke:var(--hot,#feb700);stroke-width:10px;opacity:1;filter:drop-shadow(0 0 3px #feb70080)}.shape{fill:none;stroke:#455a64;stroke-width:2.5px}.shape-bg{fill:var(--bg,#f7f8fa);stroke:#cfd8dc;stroke-width:1px}.heat-label{fill:var(--text-muted,#8a96a0);text-anchor:middle;font-size:11px}@media (max-width:1100px){.ptm-hero-inner{flex-direction:column;align-items:flex-start}.ptm-hero-features{flex-flow:wrap}}@media (max-width:768px){.ptm-hero{padding:40px 20px 36px}.ptm-hero h1{font-size:28px}.ptm-hero-features{flex-direction:column}.ptm-hero-feat{padding:12px 16px;font-size:14px}.ptm-wrap{padding:20px 12px 40px}.card{border-radius:12px;padding:18px 14px}.table-container{margin:0 -14px;padding:0 14px}}@media (max-width:600px){.ptm-hero h1{font-size:24px}.ptm-hero-text p{font-size:14px}.toolbar{gap:8px}.btn{padding:10px 16px;font-size:13px}}
