/* ── PUBLIC VIEWER (C3) ───────────────────────────────────────
   Capa de alias fuera (Fase B). Lee foundation.css directo, cada
   var() con respaldo (§5.2). Página clara, sin data-zona: el
   lienzo es el nivel 1 de :root. El documento usa --belk-paper-*.
   Se van --ER (0 usos). ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  background:var(--belk-level-1,#CDD8EA);color:var(--belk-paper-text,#0D2350);min-height:100vh;line-height:1.5;font-size:14px}

/* Header */
.phdr{display:flex;align-items:center;justify-content:space-between;
  padding:12px 24px;background:#fff;border-bottom:1px solid var(--belk-paper-border,rgba(13,35,80,.10));
  position:sticky;top:0;z-index:10}
.phdr-brand{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--belk-paper-text,#0D2350);font-size:14px}
.phdr-tag{font-size:11px;font-weight:700;color:#fff;background:var(--belk-paper-brand,#143A7D);
  padding:4px 10px;border-radius:20px;letter-spacing:.06em;text-transform:uppercase}
.phdr-back{font-size:13px;font-weight:600;color:var(--belk-paper-brand,#143A7D);text-decoration:none;
  padding:6px 12px;border-radius:8px;border:1px solid var(--belk-paper-border,rgba(13,35,80,.10));
  background:#fff;transition:.15s;white-space:nowrap}
.phdr-back:hover{background:var(--belk-paper-brand,#143A7D);color:#fff;border-color:var(--belk-paper-brand,#143A7D)}

/* Main */
main{max-width:820px;margin:32px auto;padding:0 16px 80px}

/* Loading */
.loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:80px 16px;color:var(--belk-paper-muted,#414B5C)}
.spinner{width:36px;height:36px;border:3px solid var(--belk-paper-border,rgba(13,35,80,.10));border-top-color:var(--belk-paper-brand,#143A7D);
  border-radius:50%;animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* Error */
.errorState{text-align:center;padding:80px 16px;color:var(--belk-paper-muted,#414B5C)}
.err-emoji{font-size:48px;margin-bottom:8px}
.errorState h2{color:var(--belk-paper-text,#0D2350);font-size:1.2rem;margin-bottom:8px}
.errorState p{margin-bottom:24px;font-size:.92rem}
.btn-back{display:inline-block;padding:10px 22px;background:var(--belk-paper-brand,#143A7D);color:#fff;
  text-decoration:none;border-radius:8px;font-weight:600;font-size:.88rem}
.btn-back:hover{filter:brightness(1.1)}

/* Document */
.doc{background:var(--belk-paper,#FFFFFF);border-radius:12px;overflow:hidden;box-shadow:var(--belk-shadow-2,0 8px 24px rgba(13,35,80,.16));
  border:1px solid var(--belk-paper-border,rgba(13,35,80,.10))}
.doc-hd{display:flex;justify-content:space-between;align-items:flex-start;
  padding:28px 32px;border-bottom:2px solid var(--belk-paper-border,rgba(13,35,80,.10));gap:20px;flex-wrap:wrap}
.dh-empresa{display:flex;align-items:center;gap:14px}
.emp-logo{width:60px;height:auto;max-height:48px;object-fit:contain}
.emp-name{font-size:1.2rem;font-weight:800;color:var(--belk-paper-brand,#143A7D)}
.emp-sub{font-size:.78rem;color:var(--belk-paper-muted,#414B5C)}
.dh-meta{text-align:right}
.dh-badge{background:var(--belk-paper-brand,#143A7D);color:#fff;font-size:.7rem;font-weight:800;
  padding:3px 10px;border-radius:20px;letter-spacing:.06em;text-transform:uppercase}
.dh-num{font-size:1.3rem;font-weight:800;margin-top:6px}
.dh-date{font-size:.76rem;color:var(--belk-paper-muted,#414B5C)}

.doc-parties{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--belk-paper-border,rgba(13,35,80,.10))}
.party{padding:16px 32px}
.party+.party{border-left:1px solid var(--belk-paper-border,rgba(13,35,80,.10))}
.party-label{font-size:.66rem;font-weight:700;text-transform:uppercase;color:var(--belk-paper-muted,#414B5C);
  letter-spacing:.08em;margin-bottom:6px}
.party-val{font-weight:600;font-size:.95rem}
.party-sub{font-size:.78rem;color:var(--belk-paper-muted,#414B5C);margin-top:2px}

.doc-desc{padding:14px 32px;color:var(--belk-paper-muted,#414B5C);font-size:.86rem;border-bottom:1px solid var(--belk-paper-border,rgba(13,35,80,.10))}

.doc-items{width:100%;border-collapse:collapse}
.doc-items th{text-align:left;padding:14px 12px 10px;border-bottom:2px solid var(--belk-paper-border,rgba(13,35,80,.10));
  font-size:.66rem;font-weight:700;text-transform:uppercase;color:var(--belk-paper-muted,#414B5C);letter-spacing:.06em}
.doc-items th:first-child{padding-left:32px}
.doc-items th:last-child,.doc-items td:last-child{padding-right:32px}
.doc-items th.rc,.doc-items td.rc{text-align:right}
.doc-items th.cc,.doc-items td.cc{text-align:center}
.doc-items td{padding:12px;border-bottom:1px solid rgba(0,0,0,.05);font-size:.88rem}
.doc-items td:first-child{padding-left:32px}
.it-name{font-weight:500}
.it-cat{font-size:.76rem;color:var(--belk-paper-muted,#414B5C);margin-top:1px}

.doc-totals{padding:18px 32px;display:flex;flex-direction:column;align-items:flex-end;gap:6px;
  border-top:2px solid var(--belk-paper-border,rgba(13,35,80,.10));background:rgba(27,58,107,.02)}
.tt{display:flex;gap:80px;justify-content:space-between;min-width:280px;font-size:.92rem}
.tt span:first-child{color:var(--belk-paper-muted,#414B5C)}
.tt.grand{font-size:1.25rem;font-weight:800;border-top:1px dashed var(--belk-paper-border,rgba(13,35,80,.10));
  padding-top:10px;margin-top:6px;color:var(--belk-paper-ok,#2E6B4F)}

.doc-cond,.doc-notes{padding:18px 32px;border-top:1px solid var(--belk-paper-border,rgba(13,35,80,.10))}
.doc-cond strong,.doc-notes strong{display:block;font-size:.7rem;text-transform:uppercase;
  color:var(--belk-paper-muted,#414B5C);letter-spacing:.08em;margin-bottom:6px}
.doc-cond p,.doc-notes p{font-size:.86rem;white-space:pre-wrap}

.share-info{text-align:center;color:var(--belk-paper-muted,#414B5C);font-size:.76rem;margin-top:18px}

/* Footer */
.pftr{display:flex;justify-content:space-between;align-items:center;
  padding:14px 24px;background:#fff;border-top:1px solid var(--belk-paper-border,rgba(13,35,80,.10));
  position:fixed;bottom:0;left:0;right:0;font-size:.78rem;color:var(--belk-paper-muted,#414B5C)}
.pftr a{color:var(--belk-paper-brand,#143A7D);text-decoration:none;font-weight:600}
.btn-print{padding:8px 16px;background:var(--belk-paper-brand,#143A7D);color:#fff;border:none;border-radius:6px;
  cursor:pointer;font-weight:600;font-size:.78rem;font-family:inherit}
.btn-print:hover{filter:brightness(1.1)}

/* Mobile */
@media(max-width:640px){
  .doc-hd{padding:20px 18px}
  .doc-parties{grid-template-columns:1fr}
  .party+.party{border-left:none;border-top:1px solid var(--belk-paper-border,rgba(13,35,80,.10))}
  .party{padding:14px 18px}
  .doc-items th:first-child,.doc-items td:first-child{padding-left:18px}
  .doc-items th:last-child,.doc-items td:last-child{padding-right:18px}
  .doc-totals{padding:18px;align-items:stretch}
  .tt{min-width:auto;justify-content:space-between;gap:0}
  .doc-cond,.doc-notes{padding:14px 18px}
  .pftr{flex-direction:column;gap:8px;padding:12px 16px}
  main{padding-bottom:120px}
}

/* Print */
@media print{
  body{background:#fff}
  .phdr,.pftr,.no-print,.share-info{display:none!important}
  main{margin:0;padding:0;max-width:none}
  .doc{box-shadow:none;border:none;border-radius:0}
}
