/* =============================================================================
   Verificações por serviço — bater o olho (28/09/2026).
   ⚠️ CÓPIA IDÊNTICA em CustomerPortal/wwwroot/css e DashboardWebApp/wwwroot/css: mudou um, copie o outro.
   Classe dos cartões é cx-svc: cx-check já é o checkbox do design system (colidiu e centralizou tudo).
   Um cartão por serviço executado, com o veredito dele; o que pede atenção vem primeiro. Detalhe fica no Fluxo.
   ========================================================================== */

.cx-checks { background: var(--cx-card); border: 1px solid var(--cx-border); border-radius: var(--cx-r-card); padding: 16px 18px 18px; margin-bottom: var(--cx-s4); }
.cx-checks__head { display: flex; align-items: baseline; gap: var(--cx-s2); flex-wrap: wrap; margin-bottom: var(--cx-s2); }
.cx-checks__title { font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--cx-ink-3); }
.cx-checks__sum { font-size: 12.5px; color: var(--cx-ink-2); display: flex; gap: 10px; flex-wrap: wrap; }
.cx-checks__sum b { font-variant-numeric: tabular-nums; }
.cx-checks__sum .is-failed b { color: var(--cx-error-fg); }
.cx-checks__sum .is-waiting b { color: var(--cx-warning-fg); }
.cx-checks__sum .is-passed b { color: var(--cx-success-fg); }
.cx-checks__more { margin-left: auto; font-size: 12.5px; font-weight: 600; color: var(--cx-primary); background: none; border: 0; padding: 0; cursor: pointer; font-family: inherit; text-decoration: none; }

.cx-checks__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 10px; }

.cx-svc {
    position: relative; display: flex; flex-direction: column; align-items: stretch; gap: 4px; text-align: left;
    border: 1px solid var(--cx-border); border-left-width: 4px; border-radius: 12px; background: var(--cx-subtle);
    padding: 10px 12px 11px; font: inherit; color: var(--cx-ink); min-width: 0;
}
button.cx-svc, a.cx-svc { cursor: pointer; text-decoration: none; transition: box-shadow .12s, transform .12s; }
button.cx-svc:hover, a.cx-svc:hover { box-shadow: 0 2px 8px rgba(11, 16, 32, .08); }
button.cx-svc:focus-visible, a.cx-svc:focus-visible { outline: 3px solid var(--cx-info); outline-offset: 2px; }
.cx-svc__top { display: flex; align-items: center; gap: 6px; min-width: 0; }
.cx-svc__top .cx-i { font-size: 18px; flex-shrink: 0; }
.cx-svc__name { font-size: 12.5px; font-weight: 600; color: var(--cx-ink-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cx-svc__label { font-size: 14px; font-weight: 700; }
.cx-svc__detail { font-size: 12px; color: var(--cx-ink-3); line-height: 1.4; overflow-wrap: anywhere; }
.cx-svc__effect { align-self: flex-start; margin-top: 2px; font-size: 11px; font-weight: 700; border-radius: 999px; padding: 2px 8px; }

.cx-svc--passed { border-left-color: var(--cx-success); }
.cx-svc--passed .cx-i, .cx-svc--passed .cx-svc__label { color: var(--cx-success-fg); }
.cx-svc--failed { border-left-color: var(--cx-error); background: var(--cx-error-field); }
.cx-svc--failed .cx-i, .cx-svc--failed .cx-svc__label { color: var(--cx-error-fg); }
.cx-svc--failed .cx-svc__effect { background: var(--cx-error-bg); color: var(--cx-error-fg); }
.cx-svc--error { border-left-color: var(--cx-warning); }
.cx-svc--error .cx-i, .cx-svc--error .cx-svc__label { color: var(--cx-warning-fg); }
.cx-svc--waiting { border-left-color: var(--cx-warning); background: #FFFCF4; }
.cx-svc--waiting .cx-i, .cx-svc--waiting .cx-svc__label { color: var(--cx-warning-fg); }
.cx-svc--skipped, .cx-svc--no_rules { border-left-color: var(--cx-border-2); }
.cx-svc--skipped .cx-i, .cx-svc--skipped .cx-svc__label,
.cx-svc--no_rules .cx-i, .cx-svc--no_rules .cx-svc__label { color: var(--cx-ink-3); }
/* "Registra e segue" que falhou (29/09/2026): não passou, mas não pesa — neutro, sem alarme vermelho. */
.cx-svc--noted { border-left-color: var(--cx-border-2); }
.cx-svc--noted .cx-i, .cx-svc--noted .cx-svc__label { color: var(--cx-ink-2); }
.cx-svc--noted .cx-svc__effect { background: var(--cx-subtle); color: var(--cx-ink-2); border: 1px solid var(--cx-border); }
div.cx-svc, a.cx-svc[href="#svc-orphans"] { cursor: default; }

@media (max-width: 560px) { .cx-checks__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 380px) { .cx-checks__grid { grid-template-columns: 1fr; } }
