/* Complementos del portal CYPHER sobre styles.css (el del portal viejo, sin tocar). */
.container.wide { max-width: 860px; }
.header.compact { margin-bottom: var(--spacing-md); padding-top: var(--spacing-md); }
.header.compact .logo-image { max-width: 120px; }
.estado { margin: 6px 0 0; font-weight: 600; font-size: 0.95rem; }
.estado.ok { color: #15803d; }
.estado.pendiente { color: #a16207; }
.muted { color: var(--text-light); font-size: 0.85rem; }
.mono { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 0.85rem; word-break: break-all; }
.centrado { text-align: center; margin: var(--spacing-md) 0; }
.btn-link-block { display: block; text-align: center; text-decoration: none; margin-bottom: var(--spacing-sm); }
.acciones { display: flex; flex-wrap: wrap; gap: var(--spacing-xs); margin-bottom: var(--spacing-lg); }
.acciones a { flex: 1 1 160px; text-align: center; text-decoration: none; margin: 0; padding: 10px 14px; font-size: 0.95rem; }
.btn-convertir { background: #5b2c74; color: #fff; border-radius: var(--radius-md); font-weight: 600; }
.btn-convertir:hover { background: #7a3b9a; color: #fff; }
.datos { display: grid; grid-template-columns: max-content 1fr; gap: 4px 14px; margin-bottom: var(--spacing-lg); font-size: 0.95rem; }
.datos dt { color: var(--text-light); font-weight: 600; }
.datos dd { margin: 0; }
.tabla-wrap { overflow-x: auto; }
table.detalle { width: 100%; border-collapse: collapse; font-size: 0.9rem; margin-bottom: var(--spacing-lg); }
table.detalle th, table.detalle td { padding: 8px 6px; border-bottom: 1px solid #eee; vertical-align: top; text-align: left; }
table.detalle th { color: var(--text-light); font-weight: 600; font-size: 0.8rem; text-transform: uppercase; }
table.detalle .num { text-align: right; white-space: nowrap; }
.totales { display: grid; grid-template-columns: 1fr max-content; gap: 4px 20px; max-width: 360px; margin-left: auto; font-size: 0.95rem; }
.totales dt { color: var(--text-light); }
.totales dd { margin: 0; text-align: right; }
.totales .gran { font-size: 1.2rem; font-weight: 700; color: var(--text-dark); border-top: 2px solid #ddd; padding-top: 6px; }
.pie { margin-top: var(--spacing-lg); text-align: center; }
form.factura select.form-input { appearance: auto; }
@media (max-width: 600px) {
  .datos { grid-template-columns: 1fr; gap: 2px; }
  .datos dt { margin-top: 8px; }
  .acciones a { flex-basis: 100%; }
}
