/* AFood Sign — layout specific adminului (doar var(); fără hex, fără umbre). */

/* Liste (Documente / Parteneri / Șabloane): prima coloană ia spațiul rămas și trunchiază,
   în loc să împingă celelalte coloane în afara ecranului (datatable pune w-grow doar pe th). */
.sign-list .data-table tbody td:first-child:not([colspan]) { max-width: 0; width: 100%; overflow: hidden; }
@media (max-width: 639px) {
  .sign-list .data-table tr > :nth-child(3) { display: none; }
}

.detail-grid + .doc-a4, .doc-a4 + .detail-section-title { margin-top: var(--sp-5); }
.detail-value.code { font-family: var(--font-mono); }
.partner-links { display: flex; flex-wrap: wrap; gap: var(--sp-2); margin-top: var(--sp-4); padding-top: var(--sp-3); border-top: 1px solid var(--line-1); }

/* ── Pagină împărțită: editor | foaie A4 (editor șabloane, document nou). Bază = taburi; ≥ 1024 px = două coloane. ── */
.split { display: flex; flex-direction: column; gap: var(--sp-4); }
.split > * { min-width: 0; }
.split-tabs { position: sticky; top: var(--topbar-h); z-index: 3; background: var(--canvas); }
.split.show-preview .split-edit, .split:not(.show-preview) .split-preview { display: none; }
.split-edit { display: flex; flex-direction: column; gap: var(--sp-3); padding: var(--sp-4); overflow: clip; }  /* clip, nu hidden (.card): altfel subsolul sticky nu se lipește de fereastră */
.split-preview { display: flex; flex-direction: column; min-height: 70dvh; }
.a4-host { border-radius: var(--r-3); background: var(--sunken); }
.split-preview .a4-scroll { flex: 1; overflow: auto; padding: var(--sp-4) var(--sp-3); }
.split-preview .a4-bar { position: sticky; bottom: 0; z-index: 2; background: var(--sunken); border-top: 1px solid var(--line-1); }
.split-foot { position: sticky; bottom: 0; z-index: 2; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: var(--sp-3); margin-top: auto; padding: var(--sp-3) 0; border-top: 1px solid var(--line-1); background: var(--surface); }
.split-foot .btn-group { flex-wrap: wrap; justify-content: flex-end; margin-left: auto; }
.tpl-status { white-space: nowrap; }

.tpl-head { display: grid; grid-template-columns: 2fr 3fr; gap: var(--sp-2); }
.tpl-title { grid-column: 1 / -1; font-weight: var(--fw-strong); }
.md-tools { display: flex; align-items: center; gap: var(--sp-1); flex-wrap: wrap; }
.md-field { margin-left: auto; }
.md-src { flex: 1; min-height: 55dvh; resize: none; font-family: var(--font-mono); line-height: 1.6; }
.doc-fields .form-hint b { color: var(--accent-onsoft); font-weight: var(--fw-strong); }
.doc-form { flex: 1; }

@media (min-width: 1024px) {
  .split { display: grid; grid-template-columns: minmax(360px, 5fr) 6fr; height: calc(100dvh - var(--topbar-h) - var(--sp-6) - var(--sp-12)); min-height: 560px; }
  .split-tabs { display: none; }
  .split.show-preview .split-edit, .split:not(.show-preview) .split-preview { display: flex; }
  .split-edit { min-height: 0; overflow-y: auto; }
  .split-preview { min-height: 0; }
  .split-preview .a4-bar { position: static; border-top: 0; }
  .md-src { min-height: 240px; }
}
@media (max-width: 639px) {
  .md-field { margin-left: 0; flex: 1; }
}

/* ── Foaia A4: 210 mm, marginile și corpul de literă ale PDF-ului (TCPDF: DejaVu Sans 9,5 pt), ca numărul de
   pagini să iasă apropiat. Excepție asumată de la tokenii --fs-*: foaia imită hârtia, nu interfața. ── */
.a4 { zoom: var(--a4-zoom, 1); box-sizing: border-box; width: 210mm; min-height: 297mm; margin: 0 auto; padding: 18mm 20mm;
  background-color: var(--surface); color: var(--ink-1);   /* plat: foaia albă se desparte de gazda --sunken prin culoare */
  font-family: 'DejaVu Sans', Verdana, var(--font-ui); font-size: 9.5pt; line-height: 1.62;
  background-image: repeating-linear-gradient(to bottom, transparent 0, transparent calc(297mm - 1px), var(--line-3) calc(297mm - 1px), var(--line-3) 297mm); }
.a4-logo { display: block; width: 9mm; margin-bottom: 3mm; }
.a4-title { margin: 0 0 1mm; font-size: 15pt; font-weight: 700; }
.a4-ref { margin: 0 0 3mm; color: var(--ink-3); }
.a4-ref:empty { display: none; }
.a4-body h2 { margin: 5mm 0 2mm; font-size: 12pt; font-weight: 700; }
.a4-body h3, .a4-body h4 { margin: 4mm 0 1.5mm; font-size: 10.5pt; font-weight: 700; }
.a4-body > :first-child { margin-top: 0; }
.a4-body p { margin: 0 0 3.4mm; }
.a4-body ul { margin: 0 0 1.8mm; padding-left: 6mm; list-style: disc; }
.a4-body .clause { padding: 1mm 2.5mm; background: var(--accent-softer); border-left: 2px solid var(--accent); font-weight: 600; }
.a4-body mark.val { padding: 0 0.15em; border-radius: var(--r-1); background: var(--accent-soft); color: inherit; }
.split:has(.md-src) .a4-body > *, .split:has(.md-src) .a4-body li { cursor: text; }
.a4-body mark.field { padding: 0 0.3em; border-radius: var(--r-1); background: var(--warning-soft); color: var(--warning-ink);
  font-family: var(--font-mono); font-size: 0.9em; }
.a4-bar { display: flex; align-items: center; justify-content: center; gap: var(--sp-2); padding: var(--sp-2) var(--sp-3); text-align: center; }
.a4-meta b { color: var(--warning-ink); font-weight: var(--fw-strong); }
.a4-body .a4-here { outline: 2px solid var(--accent); outline-offset: 2px; }
.doc-a4 .a4-scroll { max-height: 60vh; overflow: auto; padding: var(--sp-3); }
