/* signora.css — lo propio de las páginas de SecondSign, encima de @overa/ui-kit
   (app.css, page.css y, en el portal, portal.css), que NO se editan aquí.
   Prefijo `sn-`. Los colores salen de las variables de app.css (medidas
   contra WCAG AA en claro y en oscuro); nada obliga a desplazarse a lo ancho a
   360 px. Sin `style=` en el HTML: la CSP no lo deja. */

/* ── Un registro DNS para publicar (TXT de verificación, DKIM) ─────────── */
.sn-record {
  margin-top: 12px;
  padding: 12px var(--sg-gutter);
  border: 1px dashed var(--warn-bd);
  border-radius: var(--radius);
  background: var(--bg2);
}
.sn-record .pt-facts { margin-top: 0; }
.sn-record .sg-actions { margin-top: 8px; }

/* ── La política: el aviso al encender el relay (SF0.J) ─────────────────── */
.sn-relay-note { margin-bottom: 12px; }
.sn-relay-note p { margin: 0 0 8px; }
.sn-relay-note[hidden],
.sn-relay-note label[hidden] { display: none; }

/* ── Un envío: el plazo para deshacerlo ─────────────────────────────────── */
.sn-grace { font-weight: 600; }
.sn-back { display: inline-flex; align-items: center; min-height: var(--sg-touch); }

/* ── Formularios en una fila que se parte ──────────────────────────────── */
.sn-inline-form { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 0 12px; }
.sn-inline-form .field { flex: 1 1 220px; min-width: 0; }
.sn-inline-form .sg-actions { flex: 0 1 auto; }
.pt-body .field input[type=number] { max-width: 12ch; }

/* ── Verificación: el veredicto y las huellas ──────────────────────────── */
.sn-verdict { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 4px 0 12px; }
.sn-verdict .badge { font-size: 15px; }
.sn-code { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-weight: 700; overflow-wrap: anywhere; }
.sn-recipients { list-style: none; padding: 0; margin: 8px 0 0; display: flex; flex-direction: column; gap: 6px; }
.sn-recipients li { overflow-wrap: anywhere; }
.sn-match { margin-top: 12px; font-weight: 700; overflow-wrap: anywhere; }
.sn-match[data-match="pdf"],
.sn-match[data-match="evidence"],
.sn-match[data-match="included"] { color: var(--ok-tx); }
.sn-match[data-match="none"],
.sn-match[data-match="not_included"] { color: var(--danger-tx); }

/* ── Marca blanca (RF-TEN-10, ui/js/branding.js): acompaña, no sustituye ── */
.sn-brand-logo { max-height: 32px; max-width: 160px; width: auto; vertical-align: middle; margin-right: 8px; }
.sn-brand-name { margin-left: 8px; font-weight: 600; overflow-wrap: anywhere; }
.sn-brand-provider, .sn-brand-text { margin-top: 4px; overflow-wrap: anywhere; }

/* F7.H · La verificación pública por clase: idiomas, pasos de Notify y acuses de SMS, versiones reselladas y URL de una captura. */
.sg-brand .sn-languages { display: flex; gap: 0.75rem; margin-left: auto; font-size: 0.9rem; }
.sg-brand .sn-languages a[aria-current="true"] { font-weight: 700; text-decoration: none; }
.sn-steps { padding-left: 1.25rem; }
.sn-steps li { margin-block: 0.25rem; }
.sn-versions { list-style: none; padding: 0; margin: 0.5rem 0; }
.sn-versions li { padding: 0.4rem 0; border-bottom: 1px solid var(--border, #ddd); }
.sn-versions .sn-file-hash { display: block; font-family: ui-monospace, monospace; font-size: 0.75rem; overflow-wrap: anywhere; }
.sn-url { overflow-wrap: anywhere; }

/* El logotipo «Trazo» en la barra del portal (docs/marca/GUIA-DE-ESTILO.md). */
.sn-mark-stroke { fill: none; stroke: currentColor; stroke-width: 4.2; stroke-linecap: round; stroke-linejoin: round; }
.sn-mark-dot { fill: #8E1F57; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .sn-mark-dot { fill: #E07AA3; } }
:root[data-theme="dark"] .sn-mark-dot { fill: #E07AA3; }

/* ── Firmas pendientes (ui/js/portal/signing.js, 2026-10-08) ─────────────── */
.sn-signing-head { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; }
.sn-signing-local { border: 1px solid var(--bd); border-radius: var(--radius); padding: 16px; background: var(--bg2); }
.sn-signing-certificate { display: flex; flex-direction: column; gap: 2px; margin: 8px 0; }
.sn-signing-certificate:empty { display: none; }
.sn-signing-file { font-weight: 600; overflow-wrap: anywhere; }
.sn-signing-detail { display: block; margin-top: 2px; }
.sn-signing-actions { margin: 0; flex-wrap: wrap; }
.sn-option-hint { display: block; margin-top: 2px; }
/* FB-24 · El panel de filtro a la vista de cada tabla de «Envíos» (sends.js, createFilterPanel): los botones de
   pt-period, que bajan de línea si no caben (los motivos son siete). */
.pt-period[data-filter-panel] { flex-wrap: wrap; margin: 4px 0 10px; }
/* FB-413 · La leyenda que filtra la portada (OveraDrilldown, drilldown.css): cada serie, con el color de su estado en la
   gráfica (las variables de app.css ya cambian con el tema oscuro). */
.ov-dd-t-delivered { --c: var(--ok); --c-dark: var(--ok); }
.ov-dd-t-failed { --c: var(--neg); --c-dark: var(--neg); }
.ov-dd-t-pending { --c: var(--info); --c-dark: var(--info); }
.ov-dd-t-rejected { --c: var(--warn); --c-dark: var(--warn); }
.pt-period a[aria-current="true"] { font-weight: 700; text-decoration: underline; }
[data-only-chip] { margin: 4px 0 10px; }
