/* site */

/* ---------- доставки и бетон (deliveries.js) ---------- */
.dl-mats { display: grid; grid-template-columns: repeat(auto-fill, minmax(104px, 1fr)); gap: 8px; }
.dl-mat {
  min-height: 56px; padding: 8px 10px; border-radius: 12px; border: 2px solid var(--line); background: var(--surface);
  color: var(--text); font-weight: 700; font-size: .92rem; line-height: 1.2; cursor: pointer; overflow-wrap: anywhere;
}
.dl-mat.on { border-color: var(--accent); background: var(--accent-soft); color: var(--accent); }
.dl-note { border-radius: 12px; padding: 10px 12px; font-weight: 600; line-height: 1.35; overflow-wrap: anywhere; }
.dl-note-warn { background: var(--warn-soft); color: var(--warn); }
.dl-note-err { background: var(--err-soft); color: var(--err); }
.dl-note-info { background: var(--info-soft); color: var(--info); font-weight: 500; }
.dl-day { font-size: .95rem; color: var(--muted); margin-top: 6px; }
.dl-chip-warn:not(.on) { border-color: var(--warn); color: var(--warn); }
.dl-fab-space { height: 72px; }
.print-page .dl-register th, .print-page .dl-register td { font-size: 8.5pt; padding: 1mm 1.5mm; }

.cc-wx { display: grid; gap: 8px; }
.cc-class { font-size: 1.6rem; font-weight: 800; line-height: 1.1; }
.cc-check {
  display: flex; align-items: center; gap: 12px; width: 100%; min-height: 52px; padding: 8px 12px; border: 0; border-radius: 12px;
  background: var(--surface-2); color: var(--text); text-align: left; cursor: pointer; font-size: .98rem;
}
.cc-check[disabled] { cursor: default; opacity: .85; }
.cc-box {
  flex: none; width: 30px; height: 30px; border-radius: 8px; border: 2px solid var(--muted); display: grid; place-items: center;
  font-weight: 800; color: #fff;
}
.cc-check.on .cc-box { background: var(--ok); border-color: var(--ok); }
.cc-check.on { color: var(--muted); }
.cc-truck {
  display: flex; align-items: center; gap: 10px; width: 100%; min-height: 60px; padding: 10px 12px; border: 0; border-radius: 12px;
  background: var(--surface-2); color: var(--text); text-align: left; cursor: pointer;
}
.cc-truck[disabled] { cursor: default; }
.cc-truck .item-sub { display: block; }
.cc-truck .item-right { display: grid; justify-items: end; gap: 4px; flex: none; }
.cc-truck-n {
  flex: none; width: 34px; height: 34px; border-radius: 50%; background: var(--primary); color: var(--primary-ink);
  display: grid; place-items: center; font-weight: 800; font-size: .9rem;
}
.cc-result { background: var(--surface-2); border-radius: 12px; padding: 10px; }

@page cc-land { size: A4 landscape; margin: 10mm; }
.cc-journal-doc { page: cc-land; }
.print-page .cc-journal th, .print-page .cc-journal td { font-size: 7.5pt; padding: 1mm; line-height: 1.25; }
.print-page .cc-journal th { background: #eee; }

/* ---------- актове, предписания, проверки (.ac-) ---------- */
.ac-hint { background: var(--info-soft); color: var(--text); border-radius: 12px; padding: 10px 12px; display: grid; gap: 4px; font-size: .92rem; overflow-wrap: anywhere; }
.ac-party { display: grid; gap: 6px; grid-template-columns: minmax(0, 1fr) 48px; grid-template-areas: "role x" "name x"; padding: 8px; background: var(--surface-2); border-radius: 12px; }
.ac-party .ac-role { grid-area: role; }
.ac-party .ac-name { grid-area: name; }
.ac-party .ac-x { grid-area: x; align-self: center; }
@media (min-width: 640px) { .ac-party { grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr) 48px; grid-template-areas: "role name x"; } }
.ac-itemrow { display: grid; gap: 6px; padding: 10px; background: var(--surface-2); border-radius: 12px; margin-bottom: 8px; }
.ac-item { display: grid; gap: 8px; padding: 10px 0; border-bottom: 1px solid var(--line); min-width: 0; }
.ac-item:last-child { border-bottom: 0; }
.ac-text { font-weight: 600; overflow-wrap: anywhere; }
.seg-btn.ac-yes.on { color: var(--ok); }
.seg-btn.ac-no.on { color: var(--err); }
.ac-mark { width: 32px; height: 32px; border-radius: 50%; display: inline-grid; place-items: center; font-weight: 800; flex: none; background: var(--surface-2); color: var(--muted); }
.ac-mark.yes { background: var(--ok-soft); color: var(--ok); }
.ac-mark.no { background: var(--err-soft); color: var(--err); }
.ac-req { display: flex; flex-wrap: wrap; gap: 6px; }
.ac-sugg { display: flex; gap: 10px; align-items: center; padding: 8px 0; border-bottom: 1px solid var(--line); }
.ac-sugg:last-child { border-bottom: 0; }
.ac-pre { white-space: pre-wrap; overflow-wrap: anywhere; }

/* ---------- безопасност (.sf-) ---------- */
.sf-row { display: flex; gap: 12px; align-items: center; padding: 8px 0; min-width: 0; }
.sf-row + .sf-row { border-top: 1px solid var(--line); }
.sf-row .btn { flex: none; }
.sf-icon { width: 48px; height: 48px; border-radius: 12px; display: grid; place-items: center; font-size: 1.5rem; background: var(--surface-2); flex: none; }
.sf-group { font-weight: 700; color: var(--muted); margin-top: 6px; }
.sf-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.sf-chips .chip { min-height: 44px; }
.sf-sig-row { display: flex; align-items: center; gap: 10px; justify-content: space-between; padding: 8px 0; border-bottom: 1px solid var(--line); min-width: 0; }
.sf-sig-row:last-child { border-bottom: 0; }
.sf-warn { background: var(--err-soft); color: var(--err); border-radius: 12px; padding: 10px 12px; font-weight: 600; }
@media (max-width: 420px) { .sf-row { flex-wrap: wrap; } .sf-row > .grow { flex: 1 1 calc(100% - 60px); } .sf-row > .btn, .sf-row > a.btn, .sf-row > .badge { margin-left: 60px; } }
