.calculator-toolbar{display:flex;gap:9px;align-items:center}
.calculator-open{width:48px;height:48px;display:grid;place-items:center;border:1px solid #a52225;background:#f8f7ee;color:#a52225;cursor:pointer}
.calculator-open:hover,.calculator-open:focus-visible{background:#a52225;color:#f8f7ee;outline-offset:2px}
.calculator-open svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.calculator-dialog{box-sizing:border-box;width:min(1160px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto;border:1px solid #a52225;background:#f8f7ee;color:#302a27;padding:26px}
.calculator-dialog::backdrop{background:rgba(35,21,20,.66)}
.calculator-dialog h2{font-size:clamp(30px,4vw,48px);margin:10px 0 24px}
.calculator-grid{display:grid;grid-template-columns:minmax(190px,1fr) minmax(270px,1.35fr) minmax(240px,1fr);gap:12px}
.calculator-grid>section{min-width:0;border:1px solid #d7d4c2;padding:17px;background:#efedd9}
.calculator-grid h3{margin:0 0 16px;color:#a52225;font:700 13px 'Courier New',monospace;letter-spacing:.06em}
.calculator-categories{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:13px}
.calculator-categories button{padding:8px 10px;border:1px solid #a52225;background:transparent;color:#a52225;font-size:12px;font-weight:700;cursor:pointer}
.calculator-categories button.active{background:#a52225;color:#f8f7ee}
.calculator-services,.calculator-lines{display:grid;align-content:start;gap:7px;max-height:54vh;overflow:auto}
.calculator-service{display:flex;justify-content:space-between;gap:12px;align-items:start;width:100%;padding:12px;text-align:left;border:1px solid #d7d4c2;background:#f8f7ee;color:#302a27;cursor:pointer;font-size:13px}
.calculator-service:hover{border-color:#a52225}
.calculator-service strong{color:#a52225;white-space:nowrap}
.calculator-link{margin-top:14px;border:0;background:transparent;color:#a52225;font-weight:700;text-decoration:underline;cursor:pointer;padding:0}
.calculator-empty{color:#685b53;line-height:1.45;font-size:13px}
.calculator-line{padding:11px;background:#f8f7ee;border:1px solid #d7d4c2}
.calculator-line-info{display:grid;gap:4px}
.calculator-line-info small{color:#a52225;font:11px 'Courier New',monospace}
.calculator-line-info strong{font-size:14px;line-height:1.3}
.calculator-line-controls{display:grid;grid-template-columns:68px minmax(85px,1fr) 32px;gap:6px;margin-top:10px}
.calculator-line-controls input{box-sizing:border-box;width:100%;height:36px;border:1px solid #cfcab4;background:#fff;color:#302a27;padding:5px;font-size:13px}
.calculator-remove{border:1px solid #a52225;background:transparent;color:#a52225;font-size:21px;line-height:1;cursor:pointer}
.calculator-summary label{display:block;margin:12px 0 5px;font-size:12px;font-weight:700}
.calculator-summary input,.calculator-summary select{box-sizing:border-box;width:100%;height:40px;border:1px solid #cfcab4;background:#fff;color:#302a27;padding:7px 9px;font-size:14px}
.calculator-summary button[type=submit]{box-sizing:border-box;width:100%;min-height:42px;margin-top:8px;cursor:pointer;font-weight:700}
.calculator-paid{border:1px solid #a52225;color:#a52225;background:transparent}
.calculator-total{display:block;margin:1px 0 17px;color:#a52225;font-size:clamp(28px,3vw,40px);overflow-wrap:anywhere}
#calculator-error,#calculator-service-error{min-height:17px;color:#a52225;font-size:12px;line-height:1.4}
.calculator-manager{width:min(650px,calc(100vw - 28px))}
.calculator-service-list{max-height:34vh;overflow:auto;border-top:1px solid #d7d4c2;margin-top:18px}
.calculator-manager-row{display:flex;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid #d7d4c2}
.calculator-manager-row>div{display:grid;gap:4px;min-width:0;flex:1;overflow-wrap:anywhere}
.calculator-manager-row small{font:11px 'Courier New',monospace;color:#685b53}
.calculator-manager-row strong{font-size:13px}
.calculator-manager-row button{font-size:12px;padding:8px}
@media(max-width:900px){.calculator-grid{grid-template-columns:1fr 1fr}.calculator-summary{grid-column:1/-1}}
@media(max-width:620px){.calculator-toolbar{width:100%}.calculator-toolbar #payment-add{flex:1}.calculator-dialog{padding:15px}.calculator-grid{grid-template-columns:1fr}.calculator-summary{grid-column:auto;display:block}.calculator-services,.calculator-lines{max-height:220px}.calculator-manager-row{flex-wrap:wrap}.calculator-manager-row>div{width:100%;flex:auto}}
