/* =========================================================
   Verificador público, resultados y mantenimiento.
   Extiende el lenguaje Corporate Professional del perímetro.
   ========================================================= */

.verificar-hero,
.verificar-resultado-shell,
.maintenance-page {
    width: min(1180px, calc(100% - 48px));
    min-height: calc(100vh - 146px);
    margin: 0 auto;
    display: grid;
    place-items: center;
    padding: 32px 0;
}

.verificar-hero {
    grid-template-columns: minmax(0, 1.05fr) minmax(390px, .72fr);
    gap: 80px;
}

.verificar-hero-copy {
    min-width: 0;
    padding: 28px 0;
}

.verificar-eyebrow,
.verificar-result-eyebrow,
.maintenance-kicker {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
    color: var(--pre-gold-light, #e3c989);
    font-size: .61rem;
    font-weight: 750;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.verificar-eyebrow::before,
.verificar-result-eyebrow::before,
.maintenance-kicker::before {
    content: "";
    width: 28px;
    height: 1px;
    background: var(--pre-gold, #c6a25b);
}

.verificar-hero h1,
.verificar-resultado-card h1,
.maintenance-card h1 {
    margin: 0;
    font-family: var(--pre-serif, Georgia, serif);
    font-weight: 400;
    line-height: .98;
    letter-spacing: -.045em;
}

.verificar-hero h1 {
    max-width: 660px;
    color: #fff;
    font-size: clamp(3.4rem, 6.2vw, 6rem);
}

.verificar-hero-copy > p {
    max-width: 630px;
    margin: 26px 0 0;
    color: rgba(255, 255, 255, .63);
    font-size: 1rem;
    line-height: 1.72;
}

.verificar-info-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    margin-top: 35px;
    border-top: 1px solid rgba(255, 255, 255, .13);
    border-bottom: 1px solid rgba(255, 255, 255, .13);
}

.verificar-info-grid article {
    min-width: 0;
    display: grid;
    grid-template-columns: 25px minmax(0, 1fr);
    gap: 4px 7px;
    padding: 18px 14px 18px 0;
    color: rgba(255, 255, 255, .55);
    border: 0;
    border-radius: 0;
    background: transparent;
}

.verificar-info-grid article + article {
    padding-left: 14px;
    border-left: 1px solid rgba(255, 255, 255, .11);
}

.verificar-info-grid i {
    grid-row: 1 / span 2;
    color: var(--pre-gold-light, #e3c989);
    font-size: 1.05rem;
}

.verificar-info-grid strong {
    color: rgba(255, 255, 255, .9);
    font-size: .72rem;
    font-weight: 700;
}

.verificar-info-grid span {
    color: rgba(255, 255, 255, .49);
    font-size: .65rem;
    line-height: 1.45;
}

.verificar-form-card,
.verificar-resultado-card,
.maintenance-card {
    position: relative;
    width: 100%;
    overflow: hidden;
    padding: 30px 30px;
    color: var(--pre-ink, #122039);
    border: 1px solid #d4dde7;
    border-radius: 3px;
    background: #fff;
    box-shadow: 0 34px 85px rgba(0, 8, 21, .4);
}

.verificar-form-card::before,
.verificar-resultado-card::before,
.maintenance-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: linear-gradient(var(--pre-gold-light, #e3c989), var(--pre-cobalt, #145bd7));
}

.verificar-card-topline {
    min-height: 57px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: -12px 0 27px;
    padding-bottom: 17px;
    border-bottom: 1px solid var(--pre-line, #dce3ec);
}

.verificar-card-brand-mini {
    display: flex;
    align-items: center;
    gap: 10px;
}

.verificar-card-brand-mini > * { display: none; }

.verificar-card-brand-mini::before {
    content: "";
    width: 202px;
    height: 49px;
    display: block;
    border: 1px solid rgba(198, 162, 91, .34);
    background: var(--pre-navy-900, #091a31) url("../../images/brand/portal-recibos-logo.png") center / 184px auto no-repeat;
}

.verificar-card-icon {
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    color: var(--pre-cobalt, #145bd7);
    border: 1px solid #bfd0eb;
    border-radius: 0;
    background: var(--pre-cobalt-soft, #eaf1ff);
}

.verificar-card-icon i { font-size: 1.15rem; }
.verificar-card-brand-mini strong,
.verificar-card-brand-mini small { display: block; }
.verificar-card-brand-mini strong { color: var(--pre-ink, #122039); font-family: var(--pre-serif, Georgia, serif); font-size: .78rem; font-weight: 700; }
.verificar-card-brand-mini small { color: var(--pre-muted, #718096); font-size: .54rem; font-weight: 650; letter-spacing: .08em; text-transform: uppercase; }

.verificar-inline-home {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--pre-cobalt-strong, #0d4fc7);
    font-size: .7rem;
    font-weight: 700;
    text-decoration: none;
}

.verificar-inline-home:hover { color: var(--pre-cobalt, #145bd7); text-decoration: underline; text-underline-offset: 3px; }

.verificar-form-card h2 {
    margin: 0;
    color: var(--pre-ink, #122039);
    font-family: var(--pre-serif, Georgia, serif);
    font-size: 1.9rem;
    font-weight: 600;
    letter-spacing: -.025em;
}

.verificar-form-card > p {
    margin: 7px 0 18px;
    color: var(--pre-copy, #4a5a70);
    font-size: .81rem;
    line-height: 1.55;
}

.verificar-form label {
    margin-bottom: 6px;
    color: var(--pre-ink, #122039);
    font-size: .68rem;
    font-weight: 750;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.verificar-input-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
}

.verificar-input {
    min-height: 49px;
    padding-inline: 14px;
    color: var(--pre-ink, #122039);
    border: 1px solid #c6d0dc;
    border-radius: 2px;
    background: #fff;
    font-family: var(--pre-mono, "Roboto Mono", monospace);
    font-size: .84rem;
    font-weight: 600;
    letter-spacing: .055em;
    text-transform: uppercase;
}

.verificar-input:focus {
    color: var(--pre-ink, #122039);
    border-color: var(--pre-cobalt, #145bd7);
    background: #fbfdff;
    box-shadow: 0 0 0 3px rgba(20, 91, 215, .1);
}

.verificar-input::placeholder { color: #8f9cad; }

.verificar-button,
.verificar-actions .btn,
.maintenance-actions .btn {
    min-height: 49px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 11px 18px;
    border-radius: 2px;
    font-size: .76rem;
    font-weight: 750;
}

.verificar-button,
.verificar-actions .btn-primary,
.maintenance-actions .btn-primary {
    color: #fff;
    border-color: var(--pre-cobalt, #145bd7);
    background: var(--pre-cobalt, #145bd7);
    box-shadow: 0 10px 22px rgba(20, 91, 215, .2);
}

.verificar-button:hover,
.verificar-actions .btn-primary:hover,
.maintenance-actions .btn-primary:hover {
    color: #fff;
    border-color: #1b65e6;
    background: #1b65e6;
}

.verificar-mini-note,
.verificar-note,
.maintenance-admin-note,
.maintenance-support {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-top: 17px;
    padding: 11px 13px;
    color: var(--pre-copy, #4a5a70);
    border: 1px solid var(--pre-line, #dce3ec);
    border-radius: 2px;
    background: var(--pre-surface, #f4f6f9);
    font-size: .72rem;
    line-height: 1.55;
}

.verificar-mini-note i,
.verificar-note i { color: var(--pre-cobalt, #145bd7); font-size: 1rem; }

/* Resultados del verificador */
.verificar-resultado-card { width: min(100%, 850px); padding: 42px 44px; }
.verificar-resultado-ok::before { background: var(--pre-success, #0d8d6f); }

.verificar-resultado-status {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 20px;
    padding-bottom: 28px;
    border-bottom: 1px solid var(--pre-line, #dce3ec);
}

.verificar-resultado-card h1 {
    color: var(--pre-ink, #122039);
    font-size: clamp(2.4rem, 5vw, 4rem);
}

.verificar-result-eyebrow { margin-bottom: 9px; color: var(--pre-cobalt, #145bd7); }
.verificar-result-eyebrow::before { background: var(--pre-cobalt, #145bd7); }
.verificar-resultado-ok .verificar-result-eyebrow { color: var(--pre-success, #0d8d6f); }
.verificar-resultado-ok .verificar-result-eyebrow::before { background: var(--pre-success, #0d8d6f); }

.verificar-resultado-status p {
    margin: 10px 0 0;
    color: var(--pre-copy, #4a5a70);
    font-size: .85rem;
    line-height: 1.55;
}

.verificar-success-icon,
.verificar-error-icon,
.maintenance-icon {
    width: 66px;
    height: 66px;
    display: grid;
    place-items: center;
    border-radius: 0;
    font-size: 1.6rem;
}

.verificar-success-icon { color: var(--pre-success, #0d8d6f); border: 1px solid #b7ddcf; background: #edf9f5; }
.verificar-error-icon { color: var(--pre-danger, #b13b48); border: 1px solid #e5c0c6; background: #fff2f3; }

.verificar-integrity-box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-top: 24px;
    padding: 16px 18px;
    color: #fff;
    border: 0;
    border-radius: 2px;
    background: var(--pre-navy-900, #091a31);
}

.verificar-integrity-box span,
.verificar-integrity-box strong { display: block; }
.verificar-integrity-box span { color: rgba(255, 255, 255, .48); font-family: var(--pre-mono, monospace); font-size: .54rem; letter-spacing: .1em; text-transform: uppercase; }
.verificar-integrity-box strong { margin-top: 3px; color: #fff; font-family: var(--pre-serif, Georgia, serif); font-size: .95rem; font-weight: 600; }
.verificar-integrity-box i { color: var(--pre-gold-light, #e3c989); font-size: 1.6rem; }

.verificar-datos {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    margin: 24px 0 0;
    border-top: 1px solid var(--pre-line, #dce3ec);
    border-left: 1px solid var(--pre-line, #dce3ec);
}

.verificar-datos > div {
    min-width: 0;
    min-height: 67px;
    display: grid;
    align-content: center;
    gap: 6px;
    padding: 12px 15px;
    border-right: 1px solid var(--pre-line, #dce3ec);
    border-bottom: 1px solid var(--pre-line, #dce3ec);
}

.verificar-datos dt {
    color: var(--pre-muted, #718096);
    font-size: .61rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.verificar-datos dd {
    min-width: 0;
    margin: 0;
    color: var(--pre-ink, #122039);
    font-size: .79rem;
    font-weight: 700;
    overflow-wrap: anywhere;
}

.verificar-hash-row { grid-column: 1 / -1; }
.verificar-hash-row dd { display: grid; gap: 4px; }
.verificar-hash-row small { color: var(--pre-muted, #718096); font-size: .58rem; font-weight: 450; }
.verificar-code,
.verificar-hash-short { color: var(--pre-cobalt-strong, #0d4fc7); font-family: var(--pre-mono, monospace); letter-spacing: .045em; }

.verificar-note-strong { margin-top: 22px; }

.verificar-actions,
.maintenance-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 23px;
}

.verificar-actions .btn { min-width: 160px; }

.verificar-secondary-action,
.maintenance-actions .btn-outline-light {
    color: var(--pre-ink, #122039);
    border: 1px solid #c6d0dc;
    background: #fff;
}

.verificar-secondary-action:hover,
.maintenance-actions .btn-outline-light:hover {
    color: var(--pre-ink, #122039);
    border-color: #9ba9b7;
    background: var(--pre-surface, #f4f6f9);
}

/* Mantenimiento */
.maintenance-card {
    width: min(100%, 720px);
    padding: 48px 50px;
}

.maintenance-card::before { background: var(--pre-gold, #c6a25b); }

.maintenance-icon {
    margin-bottom: 26px;
    color: var(--pre-warning, #b7791f);
    border: 1px solid #e2d0a6;
    background: #fff9eb;
}

.maintenance-kicker { color: var(--pre-warning, #b7791f); }
.maintenance-kicker::before { background: var(--pre-gold, #c6a25b); }

.maintenance-card h1 {
    color: var(--pre-ink, #122039);
    font-size: clamp(2.6rem, 5.3vw, 4.5rem);
}

.maintenance-card > p:not(.maintenance-admin-note) {
    margin: 17px 0 0;
    color: var(--pre-copy, #4a5a70);
    line-height: 1.65;
}

.maintenance-admin-note { color: #6f551d; border-color: #e4d2ab; background: #fff9ec; }
.maintenance-support { display: block; }
.maintenance-support a { color: var(--pre-cobalt-strong, #0d4fc7); font-weight: 700; }
.maintenance-logout-form { display: inline-flex; }

@media (max-width: 940px) {
    .verificar-hero { grid-template-columns: 1fr; gap: 45px; }
    .verificar-hero-copy { max-width: 760px; }
    .verificar-form-card { max-width: 620px; }
}

@media (max-width: 640px) {
    .verificar-hero,
    .verificar-resultado-shell,
    .maintenance-page {
        width: min(100% - 28px, 1180px);
        min-height: calc(100vh - 138px);
        padding: 22px 0;
    }

    .verificar-hero { gap: 32px; }
    .verificar-hero h1 { font-size: clamp(3.15rem, 15vw, 4.5rem); }
    .verificar-info-grid { grid-template-columns: 1fr; }
    .verificar-info-grid article,
    .verificar-info-grid article + article { padding: 14px 0; border-left: 0; border-bottom: 1px solid rgba(255, 255, 255, .09); }
    .verificar-form-card,
    .verificar-resultado-card,
    .maintenance-card { padding: 30px 23px; }
    .verificar-input-row { grid-template-columns: 1fr; }
    .verificar-button { width: 100%; }
    .verificar-resultado-status { grid-template-columns: 1fr; align-items: start; }
    .verificar-datos { grid-template-columns: 1fr; }
    .verificar-hash-row { grid-column: auto; }
    .verificar-actions,
    .maintenance-actions { align-items: stretch; flex-direction: column; }
    .verificar-actions .btn,
    .maintenance-actions .btn,
    .maintenance-logout-form { width: 100%; }
}
