/* Грузовозы · бесплатные инструменты — бланки второй волны: акт сверки, счёт-фактура, ТТН, CMR.
   Грузится после instrumenty.css и только на этих страницах: общие правила формы и листа — там, здесь — своё. */

/* ── форма: поля, которые видны только в нужном режиме ── */
#tool-form:not(.their-own) .their{display:none}
#tool-form:not(.adv-on) .adv{display:none}
#tool-form:not(.gu-on) .gu{display:none}
#tool-form:not(.ref-on) .ref{display:none}
.subhint{font-size:12px;line-height:1.5;color:var(--muted);margin:0 0 10px}
.f select{appearance:auto}
.import{border:1px dashed var(--form-line);background:#fbfbf9;padding:12px;margin:0 0 12px}
.import .btn{width:100%}
.import input[type=file]{position:absolute;width:1px;height:1px;opacity:0}
.import input[type=file]:focus-visible+label.btn{outline:3px solid #8b7800;outline-offset:2px}
.import-report{font-size:13px;line-height:1.5;margin:8px 0 0}
.import-report:empty{display:none}
.import-report.ok{color:#1d5b2a}
.import-report.bad{color:#8a1f17}
.toggle{display:flex;gap:8px;align-items:center;font-size:14px;margin:0 0 10px;cursor:pointer}
.toggle input{width:18px;height:18px;margin:0;accent-color:var(--ink)}
.legal-note{font-size:13px;line-height:1.55;border-left:4px solid #a15c00;background:#fffaf0;padding:10px 12px;margin:0 0 14px}
.legal-note b{color:var(--ink)}
.legal-note p{margin:0 0 6px}
.legal-note p:last-child{margin:0}
.copies-note{font-size:12px;color:#3c3c3c;margin:0 0 8px}

/* ── лист: экземпляры. На экране — первый, остальные только в печати ── */
.doc .copy+.copy{margin-top:22px;border-top:2px dashed #bbb;padding-top:18px}
.doc .copy{position:relative}
.doc .copy-tag{display:inline-block;font-size:10px;border:1px solid #000;padding:1px 6px;margin:0 0 4px}
.doc-ttn .copy-tag{position:absolute;right:0;top:0;margin:0}
.doc-ttn .copy>h2{padding-top:18px}
.sheet .copy.extra{display:none}

/* ── акт сверки ── */
.doc table.sv{table-layout:fixed}
.doc table.sv th,.doc table.sv td{padding:3px 4px;word-wrap:break-word;overflow-wrap:anywhere}
.doc table.sv .sv-d{width:10%}
.doc table.sv .sv-n{width:11.5%}
.doc table.sv td.n{white-space:normal;overflow-wrap:normal;word-break:normal}
.doc table.sv td.c{white-space:nowrap;overflow-wrap:normal}
.doc table.sv tr.sv-sum td{background:#fafaf7}
.doc .sv-diff{font-weight:700;color:#8a1f17}

/* ── счёт-фактура (по форме ЭСФ): компактные секции с номерами строк ── */
.doc-sf{font-size:10.5px;line-height:1.35}
.doc-sf .sf-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}
.doc-sf h2{font-size:15px;margin:0}
.doc-sf .sf-head .form-no{margin:0}
.doc-sf .sf-sec{margin:5px 0 0}
.doc-sf .sf-cols{display:grid;grid-template-columns:1fr 1fr;gap:0 8px}
.doc-sf .sf-cols table{table-layout:fixed}
.doc-sf .sf-cols td{overflow-wrap:anywhere}
.doc-sf td.cats{font-size:.82em;line-height:1.45}
.doc-sf .signs .mp{width:52px;height:52px;margin-top:2px}
.doc-sf .sf-sec>b{display:block;font-size:10.5px;background:#f0f0ec;border:1px solid #000;border-bottom:0;padding:2px 5px}
.doc-sf table{margin:0}
.doc-sf td,.doc-sf th{padding:2px 4px}
.doc-sf .no{color:#555;font-size:.92em;margin-right:3px}
.doc-sf .sf-g{table-layout:fixed;font-size:8.6px}
.doc-sf .sf-g th{font-size:8.2px;font-weight:700;padding:2px 2px;line-height:1.2}
.doc-sf .sf-g td{padding:2px 2px;overflow-wrap:anywhere}
.doc-sf .sf-g td.n{white-space:normal}
.doc-sf .sf-g tr.tot td{font-weight:700;background:#fafaf7}
.doc-sf .sf-paper{font-size:9.5px;color:#333;margin:4px 0 0}
.doc-sf .signs{margin-top:10px}
.doc-sf .chk{display:inline-block;width:10px;height:10px;border:1px solid #000;margin:0 3px 0 6px;vertical-align:-1px;font-size:9px;line-height:9px;text-align:center}

/* ── ТТН ── */
.doc-ttn{font-size:11px;line-height:1.35}
.doc-ttn h2{font-size:15px;margin:0}
.doc-ttn .sub{margin:0 0 6px}
.doc-ttn table{margin:4px 0}
.doc-ttn td,.doc-ttn th{padding:2px 4px}
.doc-ttn td.k{width:30%;font-weight:400;font-size:.9em;color:#333}
.doc-ttn table.pt{table-layout:fixed}
.doc-ttn table.pt td{overflow-wrap:anywhere}
.doc-ttn td.k .no{color:#555;margin-right:3px}
.doc-ttn .gr{table-layout:fixed}
.doc-ttn .gr td{overflow-wrap:anywhere}
.doc-ttn .gr td.n{white-space:normal}
.doc-ttn .gr tr.tot td{font-weight:700;background:#fafaf7}
.doc-ttn .signs{grid-template-columns:1fr 1fr 1fr;gap:10px 16px;margin-top:10px}
.doc-ttn .signs .mp{width:58px;height:58px;margin-top:6px}

/* ── CMR: сетка граф как на бланке IRU ── */
.doc-cmr{font-size:9.6px;line-height:1.25}
.doc-cmr .cm-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin:0 0 4px}
.doc-cmr .cm-head h2{font-size:13px;margin:0;text-align:left;text-transform:none}
.doc-cmr .cm-head .cm-no{font-size:12px;font-weight:700;white-space:nowrap}
.doc-cmr table{margin:0;table-layout:fixed}
.doc-cmr td{border:1px solid #000;padding:2px 3px;vertical-align:top;overflow-wrap:anywhere}
.doc-cmr .bx{display:block;font-size:7.6px;color:#333;line-height:1.15;margin:0 0 2px}
.doc-cmr .bx i{font-style:normal;display:inline-block;min-width:13px;border:1px solid #000;text-align:center;font-weight:700;color:#000;margin-right:3px;font-size:7.6px;line-height:11px}
.doc-cmr .val{white-space:pre-line;min-height:1.2em}
.doc-cmr .tall{height:62px}
.doc-cmr .mid{height:40px}
.doc-cmr .goods td{height:auto}
.doc-cmr .goods .gh td{font-size:7.4px;color:#333;line-height:1.15;vertical-align:bottom}
.doc-cmr .goods .gt td{font-weight:700;background:#fafaf7}
.doc-cmr .goods td.n{text-align:right}
.doc-cmr .pay td{padding:1px 3px;font-size:9px}
.doc-cmr .pay td.n{text-align:right;white-space:nowrap}
.doc-cmr .cm-law{font-size:7.6px;line-height:1.2;margin:2px 0 4px;color:#000}
.doc-cmr .sigbox{height:58px}

@media (max-width:640px){
  .doc-cmr{font-size:8.6px}
  .doc-sf .sf-g{font-size:7.4px}
  .doc-sf .sf-cols{grid-template-columns:1fr}
  .doc-ttn .signs{grid-template-columns:1fr}
}
@media print{
  .sheet .copy.extra{display:block}
  .doc .copy+.copy{margin-top:0;border-top:0;padding-top:0;break-before:page;page-break-before:always}
  .doc-sf .sf-sec>b,.doc table.sv tr.sv-sum td,.doc-ttn .gr tr.tot td,.doc-cmr .goods .gt td{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .doc-sverka{font-size:9.5pt}
  .doc-sverka table.sv{font-size:7.8pt}
  .doc-sverka table.sv th,.doc-sverka table.sv td{padding:1px 2px}
  .doc-sverka .signs{margin-top:8px}
  .doc-sverka .mp{width:48px;height:48px}
  .doc-sverka h2{margin:0}
  .doc-ttn{font-size:8pt}
  .doc-ttn h2{font-size:12pt}
  .doc-ttn .signs .mp{width:42px;height:42px;font-size:8px}
  .doc-ttn .sg-line{margin:8px 0 1px}
  .doc-ttn .foot-note{margin-top:4px;font-size:7pt}
  .doc-cmr{font-size:7.8pt}
  .doc-cmr .tall{height:54px}
  .doc-cmr .mid{height:34px}
  .doc-cmr .sigbox{height:46px}
  .doc-sf{font-size:7pt}
  .doc-sf h2{font-size:11pt}
  .doc-sf .signs{margin-top:6px}
  .doc-sf .sg-line{margin:6px 0 1px}
  .doc-sf .signs .mp{width:40px;height:40px;font-size:8px}
  .doc-sf .sf-paper{margin:2px 0 0}
  .doc-sf .sf-g{font-size:6.4pt}
  .doc-sf .sf-g th{font-size:6.2pt}
}
