/* Deca AFP — documento DeCA (copia del documento DeCa con tarjetas de LaborVera).
   Lo usan la página pública del QR, los modales de Fleet y del panel y el PDF.
   La paleta se fija EN el documento (Soft Grid aprobado): es un papel blanco que
   se ve igual en la tema Original, en Soft Grid, en el móvil y al imprimir. */

.deca-document {
  --dd-accent: #0f4c4a;
  --dd-text: #1a1814;
  --dd-copy: #57524a;
  --dd-muted: #6b6459;
  --dd-soft: #e7efee;
  --dd-border: #ded9cf;
  --dd-field: #fffdf8;
  --dd-red: #b3261e;
  max-width: 900px;
  margin: auto;
  background: #fff;
  padding: 36px;
  border: 1px solid var(--dd-border);
  border-radius: 10px;
  color: var(--dd-text);
  font-family: 'Manrope', sans-serif;
  line-height: 1.45;
  text-align: left;
}
.deca-document * { box-sizing: border-box; }
.deca-document .document-heading { display: flex; justify-content: space-between; gap: 20px; border-bottom: 2px solid var(--dd-accent); padding-bottom: 22px; }
.deca-document .document-heading h1 { margin: 0; font: 700 23px 'Sora', 'Manrope', sans-serif; letter-spacing: -.018em; color: var(--dd-accent); }
.deca-document .document-heading p { margin: 7px 0 0; font-size: 12px; color: var(--dd-copy); }
.deca-document .document-ref { text-align: right; white-space: nowrap; }
.deca-document .document-ref strong { color: var(--dd-accent); display: block; margin-bottom: 4px; font: 700 18px 'Sora', 'Manrope', sans-serif; }
.deca-document .document-ref .daf-doc-sub { display: block; font-size: 12px; color: var(--dd-copy); margin-bottom: 8px; }
.deca-document .document-section { margin-top: 24px; }
.deca-document .document-section h2 { background: var(--dd-soft); color: var(--dd-accent); padding: 10px; font: 700 12px 'Manrope', sans-serif; margin: 0 0 12px; text-transform: uppercase; letter-spacing: .04em; }
.deca-document .deca-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.deca-document .document-box { border: 1px solid var(--dd-border); padding: 14px; border-radius: 6px; overflow-wrap: anywhere; background: var(--dd-field); }
.deca-document .document-box small { display: block; font-size: 10px; text-transform: uppercase; color: var(--dd-muted); margin-bottom: 7px; letter-spacing: .03em; }
.deca-document .document-box strong { display: block; font-size: 14px; }
.deca-document .document-box p { font-size: 12px; color: var(--dd-copy); margin: 7px 0 0; }
.deca-document .document-box .daf-big { font-size: 15px; font-weight: 700; color: var(--dd-text); margin: 0; }
.deca-document .deca-paradas { list-style: none; padding: 0; margin: 0 0 12px; display: grid; gap: 0; counter-reset: parada; }
.deca-document .deca-paradas li { position: relative; padding: 14px 12px 14px 46px; border-bottom: 1px solid var(--dd-border); counter-increment: parada; }
.deca-document .deca-paradas li::before { content: counter(parada); position: absolute; left: 6px; top: 14px; width: 26px; height: 26px; border-radius: 50%; background: var(--dd-accent); color: #fff; display: grid; place-items: center; font-size: 12px; font-weight: 800; }
.deca-document .deca-paradas .label { display: block; font-size: 11px; text-transform: uppercase; color: var(--dd-muted); margin-bottom: 4px; }
.deca-document .deca-paradas strong { font-size: 15px; }
.deca-document .deca-paradas p { margin: 4px 0 0; font-size: 12px; color: var(--dd-copy); }
.deca-document .document-qr { display: flex; align-items: center; gap: 24px; padding: 6px 0; }
.deca-document .document-qr svg { width: 120px; height: 120px; flex: none; }
.deca-document .document-qr strong { font-size: 14px; }
.deca-document .document-qr p { font-size: 12px; color: var(--dd-copy); margin: 4px 0; }
.deca-document .daf-url { font-family: 'JetBrains Mono', monospace; font-size: 11px; overflow-wrap: anywhere; }
.deca-document .document-footer { border-top: 1px solid var(--dd-border); margin-top: 30px; padding-top: 16px; font-size: 11px; color: var(--dd-muted); display: flex; justify-content: space-between; gap: 16px; }
.deca-document--anulado .document-heading h1::after { content: " · ANULADO"; color: var(--dd-red); }

@media screen and (max-width: 760px) {
  .deca-document { padding: 18px; }
  .deca-document .deca-grid { grid-template-columns: 1fr; }
  .deca-document .document-heading { flex-direction: column; }
  .deca-document .document-ref { text-align: left; }
  .deca-document .document-qr { flex-direction: column; align-items: flex-start; }
}

/* Página pública de verificación (QR) */
body.daf-publico { margin: 0; background: #f7f5f0; color: #1a1814; font-family: 'Manrope', sans-serif; }
.daf-publico-main { max-width: 940px; margin: 0 auto; padding: 20px 14px 48px; }
.daf-verificacion {
  display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap;
  max-width: 900px; margin: 0 auto 16px; padding: 16px 20px; border-radius: 14px; border: 1px solid #ded9cf;
  background: #fff; border-left: 6px solid #2e6a4f;
}
.daf-verificacion strong { display: block; font: 700 26px 'Sora', 'Manrope', sans-serif; letter-spacing: -.018em; color: #2e6a4f; }
.daf-verificacion span { display: block; margin-top: 4px; font-size: 14px; color: #57524a; }
.daf-verificacion--anulado { border-left-color: #b3261e; }
.daf-verificacion--anulado strong { color: #b3261e; }
.daf-verificacion .daf-btn {
  display: inline-flex; align-items: center; min-height: 44px; padding: 10px 18px; border-radius: 6px;
  background: #0f4c4a; color: #fff; font: 700 14px 'Manrope', sans-serif; text-decoration: none;
}
.daf-verificacion .daf-btn:hover { background: #14605d; }
.daf-verificacion .daf-btn:focus-visible { outline: 3px solid #d8c6a1; outline-offset: 2px; }

/* Impresión (PDF de Chromium y «imprimir» del navegador) */
body.daf-impresion { margin: 0; background: #fff; }
body.daf-impresion .deca-document { border: 0; border-radius: 0; padding: 0; max-width: none; }
/* Una sola página A4: mismas tarjetas, espaciado algo más compacto. */
body.daf-impresion .deca-document .document-heading { padding-bottom: 14px; }
body.daf-impresion .deca-document .document-section { margin-top: 14px; }
body.daf-impresion .deca-document .document-section h2 { padding: 7px 10px; margin-bottom: 8px; }
body.daf-impresion .deca-document .deca-grid { gap: 8px; }
body.daf-impresion .deca-document .document-box { padding: 9px 12px; }
body.daf-impresion .deca-document .deca-paradas li { padding: 9px 12px 9px 46px; }
body.daf-impresion .deca-document .deca-paradas li::before { top: 9px; }
body.daf-impresion .deca-document .document-footer { margin-top: 16px; padding-top: 10px; }
body.daf-impresion .deca-document .document-qr svg { width: 100px; height: 100px; }
@media print {
  * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  body.daf-publico { background: #fff; }
  .daf-verificacion { display: none; }
  .deca-document { border: 0; padding: 0; max-width: none; }
  .deca-document .document-section, .deca-document .deca-paradas li { break-inside: avoid; }
}
