/* Bodegas: compras y recepción, fiados, actividad y facturación simulada. Solo tokens de tokens.css; sin animaciones. */
.purchase-form { align-items: start; }
.purchase-form .span-2, .purchase-lines { grid-column: 1 / -1; }
.purchase-lines { display: grid; gap: var(--space-3); margin: 0; padding: var(--space-3); border: 1px solid var(--border); border-radius: var(--radius-medium); min-width: 0; }
.purchase-line { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1.4fr) repeat(3, minmax(0, 1fr)); gap: var(--space-2) var(--space-3); padding-bottom: var(--space-3); border-bottom: 1px solid var(--border); }
.purchase-line:last-child { border-bottom: 0; padding-bottom: 0; }
.purchase-line [data-line-note] { grid-column: 1 / -1; color: var(--text-secondary); font-variant-numeric: tabular-nums; }
.purchase-line [data-line-note]:empty { display: none; }
@media (max-width: 900px) { .purchase-line { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } .purchase-line > label:first-child { grid-column: 1 / -1; } }
@media (max-width: 600px) { .purchase-line > label:nth-child(2) { grid-column: 1 / -1; } }
.activity-title { display: block; }
.purchase-list { display: grid; gap: var(--space-3); }
.purchase-card { display: grid; gap: var(--space-2); padding: var(--space-3); min-width: 0; }
.purchase-card h3 small { color: var(--text-secondary); font-weight: var(--weight-regular); font-size: var(--text-sm); }
.purchase-totals { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-4); margin: 0; font-variant-numeric: tabular-nums; }
.activity-list { list-style: none; margin: 0; padding: 0; display: grid; }
.activity-list li { display: grid; grid-template-columns: 7.5rem minmax(0, 1fr) auto; gap: var(--space-3); align-items: start; padding: var(--space-2) 0; border-top: 1px solid var(--border); }
.activity-list time { color: var(--text-secondary); font-size: var(--text-sm); font-variant-numeric: tabular-nums; }
.activity-list span { display: grid; gap: 2px; min-width: 0; }
.activity-list small { color: var(--text-secondary); font-size: var(--text-xs); overflow-wrap: anywhere; }
.activity-list .num { text-align: right; font-variant-numeric: tabular-nums; }
@media (max-width: 600px) { .activity-list li { grid-template-columns: minmax(0, 1fr) auto; } .activity-list time { grid-column: 1 / -1; } }
.filter-bar { align-items: end; }
.notice-card { border-left: 3px solid var(--warning); }
.notice-card h2 { display: flex; align-items: center; gap: var(--space-2); }
.issuer { display: grid; gap: var(--space-2); padding: var(--space-3) 0; border-bottom: 1px solid var(--border); }
.inline-form { display: flex; flex-wrap: wrap; align-items: end; gap: var(--space-2) var(--space-3); }
.inline-form .form-error { flex-basis: 100%; margin: 0; }
.xml-preview { max-height: 18rem; overflow: auto; padding: var(--space-3); border-radius: var(--radius-medium); background: var(--surface-inset); font-size: var(--text-xs); white-space: pre-wrap; overflow-wrap: anywhere; }
.link-button { padding: 0; border: 0; background: none; color: var(--accent); font: inherit; text-decoration: underline; cursor: pointer; min-height: var(--touch); }
.is-danger { color: var(--danger); }
/* Aviso obligatorio de los documentos de DEMOSTRACIÓN (pantalla, vista, historial e impresión). */
.demo-notice { display: grid; gap: 2px; margin: 0 0 var(--space-3); padding: var(--space-3); border: 2px solid var(--danger); border-radius: var(--radius-medium); background: var(--surface-inset); color: var(--text); }
.demo-notice strong { color: var(--danger); letter-spacing: 0.02em; }
.demo-notice.is-compact { padding: var(--space-2) var(--space-3); font-size: var(--text-sm); }
.demo-doc { display: grid; gap: var(--space-2); min-width: 0; }
#demo-print { display: none; }
@media print {
  body.printing-demo > *:not(#demo-print) { display: none !important; }
  body.printing-demo #demo-print { display: block; color: #000; background: #fff; }
  #demo-print .demo-print-notice { position: fixed; top: 0; left: 0; right: 0; padding: 6px 10px; border: 2px solid #a11; color: #a11; font: 700 11pt/1.35 system-ui, sans-serif; background: #fff; }
  #demo-print .demo-print-footer { position: fixed; bottom: 0; left: 0; right: 0; color: #a11; font: 8pt/1.3 system-ui, sans-serif; text-align: center; }
  #demo-print .demo-print-body { padding-top: 72px; padding-bottom: 30px; }
  #demo-print .demo-notice { border-color: #a11; }
  #demo-print table { width: 100%; border-collapse: collapse; } #demo-print th, #demo-print td { border-bottom: 1px solid #999; padding: 4px; text-align: left; }
}
/* Entorno de prueba: aviso visible antes y después de ingresar. */
.test-banner strong { color: var(--warning); }
.test-login-banner { position: relative; z-index: 1; margin: 0 auto var(--space-3); max-width: 28rem; padding: var(--space-2) var(--space-3); border: 1px solid var(--warning); border-radius: var(--radius-medium); background: var(--surface-inset); text-align: center; }
.test-login-banner strong { color: var(--warning); }
.secret-text { display: inline-block; max-width: 100%; padding: var(--space-1) var(--space-2); border-radius: var(--radius-small, 6px); background: var(--surface-inset); overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.recovery-codes { display: grid; grid-template-columns: repeat(auto-fill, minmax(8rem, 1fr)); gap: var(--space-2); padding: 0; list-style: none; }
.demo-doc p, .demo-doc h3, #form-dialog code { overflow-wrap: anywhere; }
