/* Inscripción y registro — sistema visual tomado de reportes.php */
.cvm-registration-page{
  --report-ink:#20243a;
  --report-muted:#697386;
  --report-border:#e7eaf0;
  --report-bg:#f5f7fb;
  --report-primary:#0036E1;
  margin:0;
  min-height:100vh;
  background:var(--report-bg)!important;
  color:var(--report-ink);
  -webkit-font-smoothing:antialiased;
}
.cvm-registration-page .div_registro{
  max-width:1484px;
  min-height:100vh;
  margin:0 auto;
  padding:28px 22px 56px;
  background:transparent;
}
.cvm-registration-page .registration-header{display:block;position:static;margin:0;padding:0}
.cvm-registration-page .registration-header > .navbar,
.cvm-registration-page .registration-header > .page-header{display:none!important}
.cvm-registration-page .report-topbar{
  min-height:76px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:16px;
  padding:16px 20px;
  border:1px solid var(--report-border);
  border-radius:16px;
  background:#fff;
  box-shadow:0 4px 18px rgba(25,32,56,.04);
}
.cvm-registration-page .report-brand{display:flex;align-items:center;gap:12px}
.cvm-registration-page .report-brand-mark{
  width:42px;height:42px;flex:0 0 42px;
  display:grid;place-items:center;
  border-radius:12px;background:#E6EDFF;color:var(--report-primary);font-size:19px;
}
.cvm-registration-page .report-brand h1{
  margin:0;color:var(--report-ink);font-size:19px;line-height:1.25;font-weight:750;letter-spacing:-.025em;
}
.cvm-registration-page .report-brand p{margin:3px 0 0;color:var(--report-muted);font-size:13px}
.cvm-registration-page .report-context{
  display:inline-flex;align-items:center;min-height:34px;padding:7px 12px;
  border:1px solid var(--report-border);border-radius:9px;background:#f8f9fc;
  color:var(--report-muted);font-size:12px;font-weight:650;
}
.cvm-registration-page .report-intro{margin:28px 0 20px}
.cvm-registration-page .report-intro h2{
  margin:0 0 6px;color:var(--report-ink);font-size:26px;line-height:1.25;font-weight:750;letter-spacing:-.025em;
}
.cvm-registration-page .report-intro p{max-width:780px;margin:0;color:var(--report-muted);font-size:14px;line-height:1.6}
.cvm-registration-page .registration-card{
  width:100%;max-width:none;margin:0!important;padding:22px!important;
  border:1px solid var(--report-border)!important;border-radius:16px!important;
  background:#fff!important;box-shadow:0 4px 18px rgba(25,32,56,.035)!important;
  backdrop-filter:none!important;overflow:visible!important;
}
.cvm-registration-page .registration-card > center{display:block;text-align:left}
.cvm-registration-page .registration-card h2{
  margin:0 0 18px;color:var(--report-ink);font-size:20px;line-height:1.3;font-weight:750;letter-spacing:-.02em;text-align:left;
}
.cvm-registration-page #formRegistrarUsuarios{row-gap:16px}
.cvm-registration-page #formRegistrarUsuarios h3{
  grid-column:1/-1;margin:8px 0 2px;padding:0 0 12px;
  border-bottom:1px solid var(--report-border);color:var(--report-ink);font-size:18px;font-weight:750;
}
.cvm-registration-page #formRegistrarUsuarios h5{
  grid-column:1/-1;margin:0;color:var(--report-muted);font-size:13px;font-weight:400;letter-spacing:0;
}
.cvm-registration-page .form-label{display:block;margin:0 0 7px;color:#41485b;font-size:13px;font-weight:650}
.cvm-registration-page .form-control,
.cvm-registration-page .form-select,
.cvm-registration-page input:not([type=checkbox]):not([type=radio]),
.cvm-registration-page select{
  width:100%;min-height:43px;padding:9px 12px;
  border:1px solid #dfe3ec;border-radius:9px;background:#fff;color:var(--report-ink);
  font-size:14px;box-shadow:none;transition:border-color .18s,box-shadow .18s;
}
.cvm-registration-page .form-control:focus,
.cvm-registration-page .form-select:focus,
.cvm-registration-page input:focus,
.cvm-registration-page select:focus{
  border-color:#7DA0FF;outline:0;box-shadow:0 0 0 .2rem rgba(0,54,225,.12);
}
.cvm-registration-page #formsAcompaniantes{
  grid-column:1/-1;display:flex;flex-wrap:wrap;gap:12px;margin:8px 0 0;padding:0;
}
.cvm-registration-page #formsAcompaniantes > *{
  flex:1 1 100%;min-width:0;padding:16px;border:1px solid var(--report-border);border-radius:12px;background:#fff;
}
.cvm-registration-page .btn{
  min-height:40px;padding:9px 16px;border-radius:9px;font-size:13px;font-weight:650;
  letter-spacing:0;text-transform:none;box-shadow:none;
}
.cvm-registration-page .btn-primary,
.cvm-registration-page .btn.bg-gradient-primary{
  border:1px solid var(--report-primary)!important;background:var(--report-primary)!important;
  background-image:none!important;color:#fff!important;
}
.cvm-registration-page .btn-primary:hover{background:#002BB5!important;border-color:#002BB5!important}
.cvm-registration-page #btnBack,
.cvm-registration-page .btn-secondary{border:1px solid var(--report-border);background:#fff;color:var(--report-ink)}
.cvm-registration-page #formRegistrarUsuarios .col-12:last-child{
  display:flex;justify-content:flex-end;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px;
}
.cvm-registration-page .modal-content{
  border:1px solid var(--report-border);border-radius:16px;background:#fff;color:var(--report-ink);
  box-shadow:0 12px 36px rgba(25,32,56,.12);overflow:hidden;
}
.cvm-registration-page .modal-header,
.cvm-registration-page .modal-footer{padding:18px 24px;border-color:var(--report-border)}
.cvm-registration-page .modal-title{color:var(--report-ink);font-size:20px;font-weight:750}
.cvm-registration-page .modal-body{padding:22px 24px}
.cvm-registration-page .modal-body h2{color:var(--report-ink);font-size:20px;font-weight:750}
.cvm-registration-page .table{margin-bottom:0;border-color:var(--report-border);color:var(--report-ink);background:#fff}
.cvm-registration-page .table thead th{background:#f7f8fc;color:#4c5567;font-size:13px;font-weight:700}
.cvm-registration-page .table td,.cvm-registration-page .table th{padding:10px 12px;vertical-align:middle}
.cvm-registration-page #loader{background:rgba(245,247,251,.82)!important;backdrop-filter:blur(3px)}
@media(max-width:767px){
  .cvm-registration-page .div_registro{padding:14px 12px 36px}
  .cvm-registration-page .report-topbar{min-height:0;padding:14px;border-radius:13px}
  .cvm-registration-page .report-brand-mark{width:38px;height:38px;flex-basis:38px}
  .cvm-registration-page .report-brand h1{font-size:16px}
  .cvm-registration-page .report-intro{margin:22px 0 16px}
  .cvm-registration-page .report-intro h2{font-size:22px}
  .cvm-registration-page .registration-card{padding:16px!important;border-radius:13px!important}
  .cvm-registration-page #formRegistrarUsuarios{row-gap:13px}
  .cvm-registration-page #formRegistrarUsuarios .col-12:last-child{justify-content:stretch}
  .cvm-registration-page #formRegistrarUsuarios .col-12:last-child .btn{flex:1}
  .cvm-registration-page .modal-dialog{margin:10px}
  .cvm-registration-page .modal-header,.cvm-registration-page .modal-footer,.cvm-registration-page .modal-body{padding:16px}
}


/* Acompañantes dinámicos: cada registro es una tarjeta completa con su propia retícula */
.cvm-registration-page #formsAcompaniantes{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:14px;
  width:100%;
  margin:10px 0 0;
  padding:0;
}
.cvm-registration-page #formsAcompaniantes > .verbo-companion-card{
  display:block;
  flex:0 0 auto;
  width:100%;
  min-width:0;
  margin:0;
  padding:20px;
  border:1px solid var(--report-border);
  border-radius:14px;
  background:linear-gradient(180deg,#fff 0%,#fcfcff 100%);
  box-shadow:0 3px 12px rgba(25,32,56,.035);
}
.cvm-registration-page .verbo-companion-heading{
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 18px;
  padding:0 0 14px;
  border-bottom:1px solid var(--report-border);
}
.cvm-registration-page .verbo-companion-number{
  width:38px;height:38px;flex:0 0 38px;
  display:grid;place-items:center;
  border-radius:11px;
  background:#E6EDFF;color:var(--report-primary);
  font-size:15px;font-weight:800;
}
.cvm-registration-page .verbo-companion-heading h4{
  margin:0 0 3px;color:var(--report-ink);
  font-size:16px;font-weight:750;letter-spacing:-.015em;
}
.cvm-registration-page .verbo-companion-heading p{
  margin:0;color:var(--report-muted);font-size:12px;
}
.cvm-registration-page .verbo-companion-fields{margin:0}
.cvm-registration-page .verbo-companion-fields>[class*="col-"]{min-width:0}
.cvm-registration-page .verbo-companion-fields .form-label{display:block}
.cvm-registration-page .verbo-companion-fields .form-control,
.cvm-registration-page .verbo-companion-fields .form-select,
.cvm-registration-page .verbo-companion-fields .select2-container{width:100%!important}
.cvm-registration-page .verbo-companion-fields .select2-container .select2-selection--single{
  display:flex;align-items:center;min-height:43px;height:43px;
  border:1px solid #dfe3ec;border-radius:9px;background:#fff;
}
.cvm-registration-page .verbo-companion-fields .select2-container .select2-selection__rendered{
  padding-left:12px;color:var(--report-ink);font-size:14px;line-height:41px;
}
.cvm-registration-page .verbo-companion-fields .select2-container .select2-selection__arrow{height:41px;right:7px}
@media(max-width:767px){
  .cvm-registration-page #formsAcompaniantes > .verbo-companion-card{padding:15px}
  .cvm-registration-page .verbo-companion-heading{margin-bottom:14px}
}


/* Aviso de privacidad del registro */
.cvm-registration-page .verbo-privacy-modal .modal-content{border:1px solid var(--report-border);border-radius:18px;overflow:hidden;box-shadow:0 24px 70px rgba(25,32,56,.18)}
.cvm-registration-page .privacy-header{padding:22px 26px;background:#fff;border-bottom:1px solid var(--report-border)}
.cvm-registration-page .privacy-kicker{display:block;margin-bottom:5px;color:var(--report-primary);font-size:11px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}
.cvm-registration-page .privacy-header h2{margin:0;color:var(--report-ink);font-size:22px;font-weight:750}
.cvm-registration-page .privacy-header p{margin:4px 0 0;color:var(--report-muted);font-size:13px}
.cvm-registration-page .privacy-body{padding:22px 26px;color:#41485b;font-size:14px;line-height:1.65}
.cvm-registration-page .privacy-body h3{margin:18px 0 8px;color:var(--report-ink);font-size:16px;font-weight:750}
.cvm-registration-page .privacy-body p{margin:0 0 12px}
.cvm-registration-page .privacy-provisional{display:flex;gap:10px;padding:12px 14px;border:1px solid #e9d9ad;border-radius:10px;background:#fff9e9;color:#70571b;font-size:13px;line-height:1.5}
.cvm-registration-page .privacy-provisional i{margin-top:2px}
.cvm-registration-page .privacy-acceptance,.cvm-registration-page .privacy-companion-option{display:flex;align-items:flex-start;gap:11px;margin:18px 0 0;padding:14px;border:1px solid #dcd8ef;border-radius:11px;background:#f8f7fc;cursor:pointer}
.cvm-registration-page .privacy-acceptance input,.cvm-registration-page .privacy-companion-option input{width:18px;height:18px;min-height:18px;flex:0 0 18px;margin:2px 0 0;accent-color:var(--report-primary)}
.cvm-registration-page .privacy-acceptance span,.cvm-registration-page .privacy-companion-option span{display:flex;flex-direction:column;gap:3px}
.cvm-registration-page .privacy-acceptance strong,.cvm-registration-page .privacy-companion-option strong{color:var(--report-ink);font-size:13px}
.cvm-registration-page .privacy-acceptance small,.cvm-registration-page .privacy-companion-option small{color:var(--report-muted);font-size:12px}
.cvm-registration-page .privacy-companions{margin-top:20px;padding-top:17px;border-top:1px solid var(--report-border)}
.cvm-registration-page .privacy-companions-heading h3{margin:0 0 4px;color:var(--report-ink);font-size:15px;font-weight:750}
.cvm-registration-page .privacy-companions-heading p{margin:0;color:var(--report-muted);font-size:12px}
.cvm-registration-page .privacy-companion-option{margin:10px 0 0;background:#fff}
.cvm-registration-page .privacy-footer{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;padding:16px 26px;border-top:1px solid var(--report-border);background:#fff}
@media(max-width:575.98px){.cvm-registration-page .privacy-header,.cvm-registration-page .privacy-body{padding:18px}.cvm-registration-page .privacy-footer{padding:14px 18px}.cvm-registration-page .privacy-footer .btn{flex:1}}


/* Resumen final del registro: contador y tarjetas sin desbordamientos */
.cvm-registration-page .verbo-registration-summary .modal-dialog{max-width:900px;width:calc(100% - 24px);margin:12px auto}
.cvm-registration-page .verbo-registration-summary .modal-content{border:1px solid var(--report-border);border-radius:18px;overflow:hidden}
.cvm-registration-page .summary-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;border-bottom:1px solid var(--report-border);background:#fff}
.cvm-registration-page .summary-heading{display:flex;align-items:center;gap:13px;min-width:0}
.cvm-registration-page .summary-icon{width:44px;height:44px;flex:0 0 44px;display:grid;place-items:center;border-radius:12px;background:#E6EDFF;color:var(--report-primary);font-size:19px}
.cvm-registration-page .summary-heading h2{margin:0;color:var(--report-ink);font-size:20px;line-height:1.3;font-weight:750}
.cvm-registration-page .summary-heading p{margin:4px 0 0;color:var(--report-muted);font-size:13px;line-height:1.45}
.cvm-registration-page .summary-close{width:36px;height:36px;flex:0 0 36px;border:1px solid var(--report-border);border-radius:9px;background:#fff;color:var(--report-muted);font-size:24px;line-height:1}
.cvm-registration-page .summary-body{padding:22px 24px}
.cvm-registration-page .summary-overview{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 18px;padding:15px 17px;border:1px solid #e5e1f4;border-radius:13px;background:#f8f7fc}
.cvm-registration-page .summary-overview-copy{display:flex;flex-direction:column;gap:4px;min-width:0}
.cvm-registration-page .summary-overview-copy strong{color:var(--report-ink);font-size:14px;font-weight:750}
.cvm-registration-page .summary-overview-copy span{color:var(--report-muted);font-size:12px;line-height:1.4}
.cvm-registration-page .summary-count-wrap{display:flex;align-items:baseline;gap:6px;flex:0 0 auto;white-space:nowrap}
.cvm-registration-page .summary-count{color:var(--report-primary);font-size:30px;line-height:1;font-weight:800;font-variant-numeric:tabular-nums}
.cvm-registration-page .summary-count-label{color:var(--report-muted);font-size:12px;font-weight:650}
.cvm-registration-page .summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.cvm-registration-page .summary-person{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:15px;border:1px solid var(--report-border);border-radius:12px;background:#fff}
.cvm-registration-page .summary-person>div:first-child{min-width:0}
.cvm-registration-page .summary-person-label{display:inline-flex;margin-bottom:6px;color:var(--report-primary);font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.cvm-registration-page .summary-person h3{margin:0 0 7px;color:var(--report-ink);font-size:14px;line-height:1.35;font-weight:750;overflow-wrap:anywhere}
.cvm-registration-page .summary-person-id{margin:0;color:var(--report-muted);font-size:11px;line-height:1.5;overflow-wrap:anywhere}
.cvm-registration-page .summary-person-id strong{color:var(--report-ink);font-variant-numeric:tabular-nums}
.cvm-registration-page .summary-qr{width:72px;height:72px;flex:0 0 72px;padding:5px;border:1px solid var(--report-border);border-radius:8px;background:#fff}
.cvm-registration-page .summary-qr img{display:block;width:100%;height:100%;object-fit:contain}
.cvm-registration-page .summary-note{display:flex;align-items:flex-start;gap:10px;margin-top:16px;padding:12px 14px;border-radius:10px;background:#f7f8fb;color:var(--report-muted);font-size:12px;line-height:1.55}
.cvm-registration-page .summary-note i{margin-top:2px;color:var(--report-primary)}
.cvm-registration-page .summary-footer{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;padding:16px 24px;border-top:1px solid var(--report-border);background:#fff}
.cvm-registration-page .summary-footer .btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
@media(max-width:575.98px){
 .cvm-registration-page .verbo-registration-summary .modal-dialog{width:calc(100% - 16px);margin:8px auto}
 .cvm-registration-page .summary-header,.cvm-registration-page .summary-body{padding:16px}
 .cvm-registration-page .summary-heading h2{font-size:18px}
 .cvm-registration-page .summary-grid{grid-template-columns:minmax(0,1fr)}
 .cvm-registration-page .summary-person{padding:12px}
 .cvm-registration-page .summary-footer{padding:14px 16px}
 .cvm-registration-page .summary-footer .btn{flex:1}
}

.cvm-registration-page .report-brand-logo{display:block;width:92px;height:48px;flex:0 0 auto;object-fit:contain;object-position:left center}
@media(max-width:575px){.cvm-registration-page .report-brand-logo{width:78px;height:42px}}


/* Estado público de inscripciones cerradas */
.verbo-inscripciones-cerradas{min-height:100vh;display:grid;place-items:center;padding:28px 18px;background:#f5f7fb}
.verbo-inscripciones-cerradas-card{width:min(100%,560px);padding:42px 36px;text-align:center;border:1px solid #e7eaf0;border-radius:20px;background:#fff;box-shadow:0 12px 36px rgba(25,32,56,.07)}
.verbo-inscripciones-cerradas-card>img{display:block;width:170px;height:78px;object-fit:contain;margin:0 auto 22px}
.verbo-inscripciones-kicker{color:#0036E1;font-size:11px;font-weight:800;letter-spacing:.12em}
.verbo-inscripciones-icon{width:58px;height:58px;display:grid;place-items:center;margin:22px auto 14px;border-radius:16px;background:#eef2ff;color:#0036E1;font-size:25px}
.verbo-inscripciones-cerradas-card h1{margin:0 0 10px;color:#20243a;font-size:26px;font-weight:800}
.verbo-inscripciones-cerradas-card p{margin:0 auto 22px;max-width:420px;color:#697386;font-size:15px;line-height:1.65}
.verbo-registration-control{margin:0 auto 22px;padding:22px;border:1px solid var(--report-border);border-radius:16px;background:#fff;box-shadow:0 4px 18px rgba(25,32,56,.035)}
.verbo-registration-status{display:inline-flex;padding:7px 11px;border-radius:999px;font-size:12px;font-weight:750;background:#f1f3f7;color:#596174}
.verbo-registration-status.is-open{background:#eaf7f0;color:#218253}
.verbo-registration-status.is-closed{background:#fff0f0;color:#b43d45}
.verbo-registration-control-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,1fr) auto;align-items:center;gap:18px}
.verbo-registration-switch{display:flex;align-items:center;gap:12px;cursor:pointer}
.verbo-registration-switch input{position:absolute;opacity:0;pointer-events:none}
.verbo-registration-switch-track{position:relative;width:44px;height:25px;flex:0 0 44px;border-radius:99px;background:#cbd1dc;transition:background .18s}
.verbo-registration-switch-track:after{content:"";position:absolute;top:3px;left:3px;width:19px;height:19px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0002;transition:transform .18s}
.verbo-registration-switch input:checked+.verbo-registration-switch-track{background:#0036E1}
.verbo-registration-switch input:checked+.verbo-registration-switch-track:after{transform:translateX(19px)}
.verbo-registration-switch input:focus-visible+.verbo-registration-switch-track{outline:3px solid #0036E133;outline-offset:3px}
.verbo-registration-switch>span:last-child{display:flex;flex-direction:column;gap:3px}
.verbo-registration-switch strong{font-size:14px;color:#20243a}
.verbo-registration-switch small{max-width:320px;color:#697386;font-size:11px;line-height:1.45}
.verbo-registration-message-field{display:flex;flex-direction:column;gap:6px}
.verbo-registration-message-field label{font-size:12px;font-weight:700;color:#41485b}
.verbo-registration-message-field textarea{width:100%;min-height:68px;padding:9px 11px;border:1px solid #dfe3ec;border-radius:9px;font:13px/1.45 inherit;resize:vertical}
.verbo-registration-feedback{grid-column:1/-1;color:#697386;font-size:12px}
@media(max-width:900px){.verbo-registration-control-body{grid-template-columns:1fr 1fr}.verbo-registration-control-body>#guardarEstadoInscripciones{justify-self:start}}
@media(max-width:575px){.verbo-inscripciones-cerradas-card{padding:30px 22px}.verbo-inscripciones-cerradas-card h1{font-size:22px}.verbo-registration-control{padding:16px}.verbo-registration-control-body{grid-template-columns:1fr}.verbo-registration-status{margin-top:12px}}


/* Lectura del aviso integral dentro del modal de registro. */
.cvm-registration-page .privacy-body h3{margin:19px 0 7px;color:var(--report-ink);font-size:14px;font-weight:800}
.cvm-registration-page .privacy-body p{line-height:1.7}
.cvm-registration-page .privacy-body a{color:var(--report-primary);font-weight:700;text-decoration:underline;text-underline-offset:2px}
.cvm-registration-page .privacy-body .privacy-updated{margin:18px 0 0;color:var(--report-muted);font-size:11px}

/* Acceso directo al aviso integral desde el modal de registro. */
.cvm-registration-page .privacy-full-link{margin:12px 0 0;padding:11px 13px;border:1px solid #dce4fb;border-radius:9px;background:#f5f7ff;font-size:13px;line-height:1.5}
.cvm-registration-page .privacy-full-link a{color:var(--report-primary);font-weight:750;text-decoration:underline;text-underline-offset:2px}

/* Crédito de desarrollo en páginas de registro y talleres */
.verbo-credit-footer{width:100%;padding:18px 16px;margin:0;text-align:center;border-top:1px solid rgba(35,48,75,.10);background:#fff;color:#788196;font-size:12px;line-height:1.5}
.verbo-credit-footer a{color:#0036E1;font-weight:700;text-decoration:none}
.verbo-credit-footer a:hover{text-decoration:underline}


/* Estructura vertical: el footer cierra el viewport cuando el formulario es corto,
   pero baja naturalmente cuando el contenido necesita más espacio. */
html,body.cvm-registration-page{min-height:100%;height:auto}
body.cvm-registration-page{
  min-height:100vh;
  display:flex;
  flex-direction:column;
}
.cvm-registration-page .div_registro{
  flex:1 0 auto;
  min-height:0;
}
.cvm-registration-page .verbo-credit-footer{
  flex:0 0 auto;
  margin-top:auto;
}
