/* Consulta de gafetes — identidad visual VERBO */
.verbo-comprobante-page{
 --vc-primary:#0036E1;--vc-primary-dark:#002BB5;--vc-ink:#20243a;--vc-muted:#697386;
 --vc-border:#e7eaf0;--vc-bg:#f5f7fb;min-height:100vh;margin:0;background:var(--vc-bg)!important;
 color:var(--vc-ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
 -webkit-font-smoothing:antialiased
}
.verbo-comprobante-page *{box-sizing:border-box}
.verbo-comprobante-shell{width:min(1180px,calc(100% - 48px));margin:0 auto}
.comprobante-topbar{height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--vc-border)}
.comprobante-brand{display:inline-flex;align-items:center;gap:13px;text-decoration:none!important;color:var(--vc-ink)!important}
.comprobante-brand img{display:block;width:96px;height:52px;object-fit:contain}
.comprobante-brand span{display:flex;flex-direction:column;gap:3px}
.comprobante-brand strong{font-size:13px;font-weight:850;letter-spacing:.11em}
.comprobante-brand small{font-size:10px;font-weight:700;letter-spacing:.16em;color:var(--vc-muted)}
.comprobante-topbar-tag{display:inline-flex;align-items:center;gap:9px;padding:9px 13px;border:1px solid var(--vc-border);border-radius:30px;background:#fff;color:var(--vc-muted);font-size:12px;font-weight:700}
.comprobante-topbar-tag i{color:var(--vc-primary)}
.comprobante-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);align-items:center;gap:clamp(40px,7vw,100px);padding:82px 0 76px}
.comprobante-hero:before{content:"";position:absolute;z-index:0;width:460px;height:460px;left:-240px;top:30px;border-radius:50%;background:radial-gradient(circle,rgba(0,54,225,.08),rgba(0,54,225,0) 70%);pointer-events:none}
.comprobante-hero-copy{position:relative;z-index:1;max-width:590px}
.comprobante-eyebrow,.comprobante-card-kicker{display:block;color:var(--vc-primary);font-size:10px;font-weight:850;letter-spacing:.17em}
.comprobante-hero-copy h1{margin:20px 0 18px;color:var(--vc-ink);font-family:Georgia,"Times New Roman",serif;font-size:clamp(42px,5.3vw,66px);font-weight:500;line-height:1.06;letter-spacing:-.045em}
.comprobante-hero-copy h1 em{color:var(--vc-primary);font-weight:500}
.comprobante-hero-copy>p{max-width:490px;margin:0;color:var(--vc-muted);font-size:15px;line-height:1.8}
.comprobante-trust{display:flex;align-items:center;gap:9px;margin-top:28px;color:#586174;font-size:12px;font-weight:650}
.comprobante-trust i{color:var(--vc-primary)}
.comprobante-search-card{position:relative;z-index:1;padding:34px;border:1px solid var(--vc-border);border-radius:20px;background:#fff;box-shadow:0 18px 55px rgba(32,36,58,.075)}
.comprobante-card-icon{width:48px;height:48px;display:grid;place-items:center;margin-bottom:22px;border-radius:14px;background:#f0eef9;color:var(--vc-primary);font-size:20px}
.comprobante-search-card h2{margin:8px 0 8px;color:var(--vc-ink);font-size:23px;font-weight:800;letter-spacing:-.035em}
.comprobante-search-card>p{margin:0 0 25px;color:var(--vc-muted);font-size:13px;line-height:1.65}
.comprobante-search-card form label{display:block;margin:0 0 8px;color:#41485b;font-size:12px;font-weight:750}
.comprobante-input-wrap{position:relative}
.comprobante-input-wrap>i{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:#9299a8;font-size:14px;pointer-events:none}
.comprobante-input-wrap input{width:100%;height:50px;padding:0 14px 0 43px;border:1px solid #dfe3ec;border-radius:10px;background:#fff;color:var(--vc-ink);font:inherit;font-size:13px;outline:none;box-shadow:none;transition:border-color .18s,box-shadow .18s}
.comprobante-input-wrap input:focus{border-color:#7DA0FF;box-shadow:0 0 0 4px rgba(0,54,225,.10)}
.comprobante-input-wrap input::placeholder{color:#a0a6b3}
.comprobante-submit{width:100%;min-height:49px;display:flex;align-items:center;justify-content:center;gap:12px;margin-top:13px;padding:12px 18px;border:1px solid var(--vc-primary);border-radius:10px;background:var(--vc-primary);color:#fff;font-size:13px;font-weight:750;cursor:pointer;transition:background .18s,transform .18s}
.comprobante-submit:hover{background:var(--vc-primary-dark);transform:translateY(-1px)}
.comprobante-submit:disabled{opacity:.7;cursor:wait;transform:none}
.comprobante-submit #searchIcon{margin-left:auto}
.comprobante-submit #loader{margin-left:0}
.comprobante-result-message{min-height:0;margin-top:0;color:#a33d48;font-size:12px;line-height:1.5}
.comprobante-result-message:empty{display:none}
.comprobante-help{display:flex;align-items:flex-start;gap:9px;margin-top:18px;padding-top:16px;border-top:1px solid #eff0f4;color:var(--vc-muted);font-size:11px;line-height:1.6}
.comprobante-help i{margin-top:2px;color:var(--vc-primary)}
.comprobante-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:25px 0 48px;border-top:1px solid var(--vc-border)}
.comprobante-steps article{display:flex;align-items:flex-start;gap:14px;min-width:0}
.comprobante-steps article>span{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:10px;background:#E6EDFF;color:var(--vc-primary);font-size:11px;font-weight:850}
.comprobante-steps strong{display:block;margin:1px 0 4px;color:var(--vc-ink);font-size:12px;font-weight:800}
.comprobante-steps p{margin:0;color:var(--vc-muted);font-size:11px;line-height:1.55}
.comprobante-footer{display:flex;justify-content:space-between;gap:16px;padding:20px 0 28px;border-top:1px solid var(--vc-border);color:#8991a1;font-size:10px}
.comprobante-gafetes-modal{border:0;border-radius:0;background:#f5f6fa}
.comprobante-gafetes-header{min-height:86px;display:flex;align-items:center;justify-content:space-between;padding:15px clamp(18px,4vw,56px);border:0;border-bottom:1px solid #e5e7ef;background:#fff}
.comprobante-modal-brand{display:flex;align-items:center;gap:17px}
.comprobante-modal-brand img{width:130px;max-height:52px;object-fit:contain}
.comprobante-modal-brand div{display:flex;flex-direction:column;gap:4px;padding-left:17px;border-left:1px solid var(--vc-border)}
.comprobante-modal-brand strong{color:var(--vc-ink);font-size:15px;font-weight:800}
.comprobante-modal-brand span{color:var(--vc-muted);font-size:11px}
.comprobante-modal-close{width:40px;height:40px;border:1px solid var(--vc-border);border-radius:11px;background:#fff;color:var(--vc-muted)}
.comprobante-gafetes-body{padding:clamp(16px,3vw,36px);overflow:auto}
.comprobante-gafetes-footer{display:flex;justify-content:flex-end;gap:10px;padding:15px clamp(18px,4vw,56px);border-top:1px solid #e5e7ef;background:#fff}
.comprobante-download,.comprobante-close{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:10px 17px;border-radius:9px;font-size:12px;font-weight:750}
.comprobante-download{border:1px solid var(--vc-primary);background:var(--vc-primary);color:#fff}
.comprobante-download:hover{background:var(--vc-primary-dark)}
.comprobante-close{border:1px solid var(--vc-border);background:#fff;color:var(--vc-ink)}
@media(max-width:850px){
 .comprobante-hero{grid-template-columns:minmax(0,1fr);gap:36px;padding:55px 0}
 .comprobante-hero-copy{max-width:680px}
 .comprobante-search-card{width:min(100%,620px);justify-self:center}
}
@media(max-width:600px){
 .verbo-comprobante-shell{width:calc(100% - 32px)}
 .comprobante-topbar{height:72px}
 .comprobante-brand img{width:78px;height:44px}
 .comprobante-brand strong{font-size:11px}
 .comprobante-brand small{font-size:9px}
 .comprobante-topbar-tag{padding:8px 10px;font-size:0}
 .comprobante-topbar-tag i{font-size:14px}
 .comprobante-hero{gap:28px;padding:43px 0 42px}
 .comprobante-hero-copy h1{margin:15px 0;font-size:clamp(39px,11vw,52px)}
 .comprobante-hero-copy>p{font-size:13px}
 .comprobante-search-card{padding:23px 20px;border-radius:16px}
 .comprobante-search-card h2{font-size:21px}
 .comprobante-steps{grid-template-columns:minmax(0,1fr);gap:17px;padding:23px 0 30px}
 .comprobante-footer{flex-direction:column;gap:6px}
 .comprobante-gafetes-header{min-height:72px;padding:12px 14px}
 .comprobante-modal-brand{gap:10px}
 .comprobante-modal-brand img{width:78px;max-height:40px}
 .comprobante-modal-brand div{padding-left:10px}
 .comprobante-modal-brand strong{font-size:12px}
 .comprobante-modal-brand span{font-size:10px}
 .comprobante-gafetes-footer{padding:12px 14px}
 .comprobante-gafetes-footer button{flex:1}
}
@media(prefers-reduced-motion:reduce){.comprobante-submit{transition:none}}


/* Gafete vertical: tamaño físico de impresión 80 × 135 mm. */
.verbo-badge-print-root{
    width:80mm;
    margin:0 auto;
    padding:0;
    background:#fff;
}
.verbo-badge-page{
    display:block;
    width:80mm;
    height:135mm;
    margin:0 auto 22px;
    padding:0;
    overflow:hidden;
    break-after:page;
    page-break-after:always;
    background:#fff;
}
.verbo-badge-page:last-child{
    margin-bottom:0;
    break-after:auto;
    page-break-after:auto;
}
.verbo-badge{
    width:80mm;
    height:135mm;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    overflow:hidden;
    padding:6mm 6mm 5mm;
    box-sizing:border-box;
    background:#fff;
    color:#25233a;
    border:0.35mm solid #dedbe9;
    border-radius:2.5mm;
    font-family:Arial,Helvetica,sans-serif;
    text-align:center;
}
.verbo-badge-header{
    min-height:18mm;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:1.5mm;
}
.verbo-badge-logo{
    display:block;
    width:auto;
    max-width:48mm;
    height:12mm;
    object-fit:contain;
}
.verbo-badge-edition{
    color:#0036E1;
    font-size:7pt;
    font-weight:800;
    letter-spacing:1.5px;
}
.verbo-badge-rule{
    height:.5mm;
    flex:0 0 .5mm;
    margin:2mm 0 3mm;
    background:#0036E1;
}
.verbo-badge-content{
    min-height:0;
    flex:1 1 auto;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
}
.verbo-badge-event{
    margin:0 0 3mm;
    color:#0036E1;
    font-size:8pt;
    line-height:1.25;
    font-weight:800;
    letter-spacing:.6px;
}
.verbo-badge-name{
    width:100%;
    max-height:25mm;
    margin:0;
    overflow:hidden;
    color:#24213b;
    font-size:19pt;
    line-height:1.12;
    font-weight:800;
    overflow-wrap:anywhere;
    word-break:normal;
}
.verbo-badge-display-name{
    width:100%;
    max-height:12mm;
    margin:2mm 0 0;
    overflow:hidden;
    color:#0036E1;
    font-size:11pt;
    line-height:1.2;
    font-weight:700;
    overflow-wrap:anywhere;
}
.verbo-badge-qr-wrap{
    width:39mm;
    height:39mm;
    flex:0 0 39mm;
    display:grid;
    place-items:center;
    margin:4mm auto 2mm;
    padding:1mm;
    border:.35mm solid #e7e3ef;
    border-radius:2mm;
    background:#fff;
}
.verbo-badge-qr{
    display:block;
    width:36mm;
    height:36mm;
    object-fit:contain;
}
.verbo-badge-scan{
    margin:0 0 3mm;
    color:#777386;
    font-size:6.5pt;
    line-height:1.2;
    font-weight:700;
    letter-spacing:.35px;
}
.verbo-badge-id{
    display:flex;
    flex-direction:column;
    gap:1mm;
    margin:0;
    color:#24213b;
}
.verbo-badge-id span{
    color:#8b8798;
    font-size:6pt;
    font-weight:700;
    letter-spacing:1px;
}
.verbo-badge-id strong{
    font-size:10pt;
    line-height:1.1;
    overflow-wrap:anywhere;
}
.verbo-badge-email{
    width:100%;
    max-height:10mm;
    margin:2mm 0 0;
    overflow:hidden;
    color:#6c6878;
    font-size:7pt;
    line-height:1.2;
    overflow-wrap:anywhere;
}
.verbo-badge-footer{
    min-height:13mm;
    flex:0 0 13mm;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:1.5mm;
    margin-top:2mm;
    border-top:.3mm solid #e7e3ef;
    color:#0036E1;
}
.verbo-badge-footer strong{
    font-size:8pt;
    letter-spacing:.4px;
}
.verbo-badge-footer span{
    color:#8b8798;
    font-size:6.5pt;
    font-weight:700;
    letter-spacing:1px;
}
@media print{
    @page{size:80mm 135mm;margin:0}
    html,body{margin:0!important;padding:0!important;background:#fff!important}
    .verbo-badge-print-root,.verbo-badge-page,.verbo-badge{
        width:80mm!important;height:135mm!important;margin:0!important;
    }
    .verbo-badge-page{break-after:page;page-break-after:always}
    .verbo-badge-page:last-child{break-after:auto;page-break-after:auto}
}

/* Durante la exportación no se agrega separación física entre páginas. */
.verbo-badge-print-root.is-exporting .verbo-badge-page{margin:0!important}
.verbo-badge-name{max-height:none;overflow-wrap:anywhere}
.verbo-badge-display-name,.verbo-badge-email{max-height:none;overflow-wrap:anywhere}
.verbo-badge-name.is-long{font-size:15pt;line-height:1.08}
.verbo-badge-name.is-very-long{font-size:12.5pt;line-height:1.06}

/* Nombre completo: se adapta al espacio sin truncar ni ocultar apellidos. */
.verbo-badge-name{
    display:block;
    flex:0 0 auto;
    width:100%;
    max-height:none!important;
    height:auto;
    margin:0;
    padding:0 .5mm;
    overflow:visible!important;
    white-space:normal;
    text-overflow:clip;
    overflow-wrap:anywhere;
    word-break:normal;
    hyphens:auto;
    font-size:17pt;
    line-height:1.08;
}
.verbo-badge-name.is-medium{font-size:15pt;line-height:1.07}
.verbo-badge-name.is-long{font-size:13pt;line-height:1.06}
.verbo-badge-name.is-very-long{font-size:11pt;line-height:1.05}
.verbo-badge-name.is-extra-long{font-size:9.5pt;line-height:1.04}
.verbo-badge-display-name,.verbo-badge-email{
    flex:0 0 auto;
    max-height:none!important;
    height:auto;
    overflow:visible!important;
    white-space:normal;
    overflow-wrap:anywhere;
}


/* Modal de verificación del PIN de recuperación. */
.comprobante-pin-modal{border:0;border-radius:18px;box-shadow:0 24px 70px rgba(32,36,58,.18)}
.comprobante-pin-modal .modal-header{padding:24px 26px 16px;border-bottom:1px solid var(--vc-border)}
.comprobante-pin-modal .modal-body{padding:20px 26px 26px}
.comprobante-pin-input{height:58px;border:1px solid #dfe3ec;border-radius:10px;font-size:25px;font-weight:800;letter-spacing:.5em;color:var(--vc-primary)}
.comprobante-pin-input:focus{border-color:#7DA0FF;box-shadow:0 0 0 4px rgba(0,54,225,.10)}
.comprobante-pin-resend{display:block;margin:16px auto 0;padding:5px;border:0;background:transparent;color:var(--vc-primary);font-size:12px;font-weight:700;text-decoration:underline;cursor:pointer}
.comprobante-pin-resend:hover{color:var(--vc-primary-dark)}
@media(max-width:600px){
 .comprobante-pin-modal .modal-header{padding:20px 20px 14px}
 .comprobante-pin-modal .modal-body{padding:18px 20px 22px}
}


/* Selección segura del titular para recuperación de gafetes. */
.coincidencias-gafetes{margin-top:18px}
.coincidencias-gafetes:empty{display:none}
.coincidencias-gafetes-heading{display:flex;flex-direction:column;gap:4px;margin-bottom:10px;color:#20243a;font-size:12px}
.coincidencias-gafetes-heading span{color:#697386;font-size:11px;font-weight:400}
.coincidencias-gafetes-list{display:grid;gap:8px;max-height:320px;overflow:auto}
.coincidencia-gafete-option{display:flex!important;align-items:flex-start;gap:11px;margin:0!important;padding:13px;border:1px solid #e7eaf0;border-radius:10px;background:#fff;cursor:pointer}
.coincidencia-gafete-option:has(input:checked){border-color:#0036E1;background:#f4f7ff;box-shadow:0 0 0 2px rgba(0,54,225,.07)}
.coincidencia-gafete-option input{width:17px;height:17px;flex:0 0 17px;margin:2px 0 0;accent-color:#0036E1}
.coincidencia-gafete-option>span{display:flex;min-width:0;flex-direction:column;gap:3px}
.coincidencia-gafete-option strong{color:#20243a;font-size:12px;font-weight:750;overflow-wrap:anywhere}
.coincidencia-gafete-option small{color:#697386;font-size:10px;font-weight:500}
#btnEnviarPinSeleccionado{margin-top:12px}
