/* Wide working tables should use the available screen width. */
main:has(.order-card),main:has(.heatTable){max-width:none;width:100%;padding:14px}
.order-card{width:100%}
.order-card .compact-orders-table{width:100%;min-width:0}
.order-card .compact-orders-table th,.order-card .compact-orders-table td{overflow-wrap:anywhere}
.order-card .compact-orders-table th:last-child{width:130px}
.order-position-number{display:block;color:#607586;font-size:11px;font-weight:500;margin-bottom:2px}

.heatTable{overflow:visible;padding:0}
.heatTable .heat-table{width:100%;min-width:0;table-layout:fixed;font-size:12px}
.heatTable .heat-table th,.heatTable .heat-table td{padding:7px 3px;text-align:center;white-space:normal;overflow-wrap:anywhere}
.heatTable .heat-table th:first-child{width:12%}
.heatTable .heat-table th:nth-child(2){width:12%}
.heatTable .heat-table .chem-column{width:5%}
.heatTable .heat-table .heat-note{width:18%;text-align:left}
.heatTable .heat-table .heat-lot-count{width:7%}
.heatTable .heat-table th:first-child,.heatTable .heat-table td:first-child,.heatTable .heat-table th:nth-child(2),.heatTable .heat-table td:nth-child(2){text-align:left}
.heatTable .heat-table thead th{position:sticky;top:0;z-index:1}
.heat-elements .actions{align-items:end}
.heat-elements label{margin:0;min-width:190px}
.grade-picker{display:flex;align-items:flex-end;gap:6px;min-width:0}
.grade-picker label{flex:1;min-width:0;margin:0}
.grade-picker .add-grade{flex:0 0 auto;white-space:nowrap;padding-inline:10px}
dialog{width:min(420px,calc(100vw - 32px));border:0;border-radius:14px;padding:22px;box-shadow:0 18px 55px #18344755;color:inherit}
dialog::backdrop{background:#18344788}
dialog form{display:grid;gap:12px;margin:0}
dialog h2,dialog p{margin:0}
dialog .actions{margin-top:4px}
.heat-form-details{display:flex;align-items:end;gap:12px;flex-wrap:wrap}
.heat-form-details>label{width:180px;margin:0}
.heat-form-details .grade-picker{width:280px}
.heat-composition{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 12px}
.heat-composition label{width:76px;margin:0;text-align:center;font-weight:600}
.heat-composition input{width:100%;padding:8px 5px;text-align:center;font-weight:400}
.heat-form #heatNote{min-height:64px;max-width:720px}
.route-input-cells{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:0;border:1px solid #b9c8d2;border-radius:7px;overflow:hidden}
.route-input-cells label{min-width:0;margin:0;border-right:1px solid #b9c8d2;border-bottom:1px solid #b9c8d2;text-align:center;background:#edf3f5}
.route-input-cells label:last-child{border-right:0}
.route-input-cells label span{font-size:11px;color:#607586}
.route-input-cells input{border:0;border-radius:0;margin:0;padding:9px 3px;text-align:center;min-width:0}
.route-save-actions{align-items:end;margin:12px 0}
.route-save-actions label{margin:0;width:260px}
.route-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.route-card-header>div{min-width:0}
.route-card-header>button{flex-shrink:0;font-size:13px;padding:7px 10px}
.route-template-name{margin:5px 0 0;color:#607586;font-size:13px}
.route-chain{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:12px}
.route-chain-step{display:inline-flex;align-items:center;justify-content:center;min-width:38px;min-height:38px;padding:7px 10px;border:1px solid #d7e1e7;border-radius:5px;background:#edf3f5;font-weight:600}
.route-chain-arrow{color:#607586;padding:0 1px}
@media(max-width:700px){.route-input-cells{grid-template-columns:repeat(6,minmax(0,1fr))}.route-input-cells label{border-bottom:1px solid #b9c8d2}}
@media(max-width:520px){.heat-form-details>label,.heat-form-details .grade-picker{width:100%}.heat-composition{gap:6px}.heat-composition label{width:calc((100% - 18px)/4)}}

@media(max-width:700px){
 .heatTable .heat-table,.heatTable .heat-table tbody,.heatTable .heat-table tr{display:block;width:100%}
 .heatTable .heat-table thead{display:none}
 .heatTable .heat-table tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;padding:8px;border-bottom:8px solid #f2f5f8}
 .heatTable .heat-table td{display:block;text-align:center!important;border:1px solid #e1e8ec;padding:6px 3px;min-width:0}
 .heatTable .heat-table td:first-child,.heatTable .heat-table td:nth-child(2),.heatTable .heat-table td.heat-note{grid-column:1/-1;text-align:left!important}
 .heatTable .heat-table td::before{display:block;color:#607586;font-size:10px;font-weight:600}
 .heatTable .heat-table td:nth-child(1)::before{content:'Плавка / производитель'}
 .heatTable .heat-table td:nth-child(2)::before{content:'Марка'}
 .heatTable .heat-table td:nth-child(3)::before{content:'C'}
 .heatTable .heat-table td:nth-child(4)::before{content:'Si'}
 .heatTable .heat-table td:nth-child(5)::before{content:'Mn'}
 .heatTable .heat-table td:nth-child(6)::before{content:'S'}
 .heatTable .heat-table td:nth-child(7)::before{content:'P'}
 .heatTable .heat-table td:nth-child(8)::before{content:'Cr'}
 .heatTable .heat-table td:nth-child(9)::before{content:'Ni'}
 .heatTable .heat-table td:nth-child(10)::before{content:'Ti'}
 .heatTable .heat-table td:nth-child(11)::before{content:'Fe'}
 .heatTable .heat-table td.chem-column::before{content:attr(data-label)}
 .heatTable .heat-table td.heat-note::before{content:'Примечание'}
 .heatTable .heat-table td.heat-lot-count::before{content:'Позиций на складе'}
}
.operation:has(.operation-complete){grid-template-columns:42px minmax(0,1fr) 190px}
.operation .operation-complete{border:0;border-left:1px solid #087f83;border-radius:0;background:#087f83;font-weight:600;font-size:18px;align-self:stretch;min-height:90px}
@media(max-width:650px){.operation:has(.operation-complete){grid-template-columns:34px minmax(0,1fr)}.operation .operation-complete{grid-column:1/-1;min-height:56px;border-left:0;border-top:1px solid #087f83}.operation .operation-complete br{display:none}}
.operation-complete small{display:block;font-size:12px;font-weight:400;line-height:1.3;margin-top:8px}
.job-lot-picker{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.job-lot-picker>label{flex:1;min-width:0;margin:0}
.job-lot-picker>button{flex:none}
.job-stock-receipt{border:1px solid #b9c8d2;background:#f5f9fa}
.production-actions .route-print-button{display:block;margin:4px auto 0;padding:5px}
.worker-queue-entry{min-width:0;display:grid;gap:5px}
.worker-queue-entry .worker-queue-card{width:100%}
.worker-route-print{width:100%;font-size:13px}
.machine-qr-selected{border:2px solid #087f83;background:#f0faf8}
