/* Раскладка по рулонам — общий вид для брифа и калькулятора */
.rl{display:flex;flex-direction:column;gap:12px}
.rl-row{border:1.5px solid var(--line,#e6e6e3);border-radius:14px;padding:14px;background:#fff}
.rl-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.rl-head b{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted,#8a8a85)}
.rl-x{border:1px solid var(--line,#e6e6e3);background:#fff;border-radius:50%;width:28px;height:28px;cursor:pointer;
  font-size:12px;line-height:1;color:var(--muted,#8a8a85)}
.rl-x:hover{border-color:#c0392b;color:#c0392b}
.rl-g{display:grid;gap:9px;margin-bottom:10px}
.rl-g3{grid-template-columns:1.4fr 1fr 1fr}
.rl-g4{grid-template-columns:repeat(4,1fr)}
.rl label,.rl-note{display:flex;flex-direction:column;gap:5px;font-size:11.5px;font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;color:var(--muted,#8a8a85)}
.rl input{border:1.5px solid var(--line,#e6e6e3);border-radius:10px;padding:10px 12px;font-family:inherit;font-size:15px;
  background:#fff;color:var(--ink,#0c0c0c);width:100%;text-transform:none;letter-spacing:normal;font-weight:500}
.rl input:focus{outline:none;border-color:var(--ink,#0c0c0c)}
/* Выход — расчётный показатель (не поле ввода): вес ÷ расход */
.rl .rl-out{display:flex;flex-direction:column;gap:5px}
.rl .rl-out>span{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted,#8a8a85)}
.rl .rl-out>b{border:1.5px solid var(--ink,#0c0c0c);border-radius:10px;padding:10px 12px;font-size:19px;font-weight:900;
  letter-spacing:-.02em;color:var(--ink,#0c0c0c);text-align:center;line-height:1.05}
.rl .rl-out>i{font-style:normal;font-size:10.5px;font-weight:600;letter-spacing:.04em;text-transform:none;color:var(--muted,#8a8a85)}
.rl-sz{border-top:1px solid var(--line,#e6e6e3);padding-top:11px;margin-bottom:10px}
.rl-sz-h{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.rl-sz-h span{font-size:11.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted,#8a8a85)}
.rl-mini{border:1px solid var(--line,#e6e6e3);background:#fff;border-radius:999px;padding:5px 12px;font:inherit;font-size:12px;
  font-weight:700;cursor:pointer;color:var(--ink,#0c0c0c)}
.rl-mini:hover{border-color:var(--ink,#0c0c0c)}
.rl-sz-g{display:grid;grid-template-columns:repeat(auto-fit,minmax(78px,1fr));gap:8px;align-items:end}
.rl-sum{display:flex;flex-direction:column;gap:5px;font-size:11.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  color:var(--muted,#8a8a85)}
.rl-sum b{border:1.5px dashed var(--line,#e6e6e3);border-radius:10px;padding:10px 12px;font-size:15px;color:var(--ink,#0c0c0c);text-align:center}
.rl-sum.bad b{border-color:#c0392b;color:#c0392b}
.rl-warn{margin-top:8px;font-size:12.5px;font-weight:600;color:#b23c17}
.rl-note{margin-top:2px}
.rl-add{border:1.5px dashed var(--line,#e6e6e3);background:#fff;border-radius:14px;padding:14px;font:inherit;font-size:14px;
  font-weight:700;cursor:pointer;color:var(--ink,#0c0c0c)}
.rl-add:hover{border-color:var(--ink,#0c0c0c)}
.rl-tot{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;border:1.5px solid var(--ink,#0c0c0c);
  border-radius:14px;padding:14px}
.rl-tot-l{display:flex;flex-direction:column;gap:3px;text-align:center}
.rl-tot-l span{font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted,#8a8a85)}
.rl-tot-l b{font-size:19px;font-weight:900;letter-spacing:-.02em}
@media(max-width:760px){
  .rl-g3,.rl-g4{grid-template-columns:1fr 1fr}
  .rl-sz-g{grid-template-columns:repeat(3,1fr)}
}
/* печатная таблица раскроя */
.rlp-h{font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;margin:16px 0 6px}
table.rlp{width:100%;border-collapse:collapse;font-size:12px;margin-bottom:10px}
table.rlp th,table.rlp td{border:1px solid #bbb;padding:5px 6px;text-align:center;vertical-align:middle}
table.rlp th{background:#f1f1ef;font-size:11px;text-transform:uppercase;letter-spacing:.04em}
table.rlp td:first-child,table.rlp td:nth-child(2),table.rlp .rlp-n{text-align:left}
table.rlp .rlp-n{font-size:11px}
table.rlp tfoot td{background:#f7f7f5;font-weight:800}

/* Печать листа раскроя. Именованная страница — чтобы альбомная ориентация касалась только бланка,
   а обычная печать ТЗ осталась книжной. table-layout:fixed заставляет таблицу вписаться в лист
   при любой ширине и любом числе размеров. */
/* Поля держим внутри самого бланка, а не в @page: в диалоге печати «Поля: Нет» отменяет
   отступы страницы, и содержимое упирается в кромку бумаги, которую принтер не пропечатывает. */
@page rolls{ size:A4 landscape; margin:0 }
/* смета печатается книжной страницей (в ней нет широкой таблицы размеров) */
@page est{ size:A4 portrait; margin:0 }
@media print{
  body.print-est{page:est}
  body.print-est>*{display:none!important}
  body.print-est #rollsheet{display:block!important;width:100%!important;max-width:100%!important;
    box-sizing:border-box;margin:0!important;padding:14mm 16mm!important}
  body.print-est .es-t tr{page-break-inside:avoid}
  body.print-est .es-t thead{display:table-header-group}
  body.print-rolls{page:rolls}
  html,body{width:auto!important;min-width:0!important;max-width:none!important;
    margin:0!important;padding:0!important;background:#fff!important;overflow:visible!important}
  body.print-rolls>*{display:none!important}
  body.print-rolls #rollsheet{display:block!important;width:100%!important;max-width:100%!important;
    box-sizing:border-box;margin:0!important;padding:10mm 12mm!important}
  #rollsheet .rs-h,#rollsheet .rs-cl,#rollsheet .rs-sign,#rollsheet table.rlp{width:100%;box-sizing:border-box}
  table.rlp{table-layout:fixed;font-size:9.5px;page-break-inside:auto}
  table.rlp tr{page-break-inside:avoid}
  table.rlp thead{display:table-header-group}          /* шапка повторяется на каждой странице */
  table.rlp th,table.rlp td{padding:3px 4px;overflow-wrap:anywhere;word-break:break-word;hyphens:auto}
  table.rlp th,table.rlp tfoot td{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .rlp-h{font-size:12px;margin:10px 0 4px}
}
