:root{
    --bt-yellow:#fac001;
    --bt-yellow-2:#ef9f00;
    --bt-text:#1b1b1b;
    --bt-muted:#6c757d7a;
    --bt-muted2:#6c757d;
    --bt-input:#f7f8fa;
    --bt-border:#e9ecef;
    --bt-radius:12px;
  }
  html, body{
    height:100%;
    margin:0;
    overflow-x:hidden;
  }
  body{
    background:#fff;
    color:var(--bt-text);
    font-family:'Rubik', sans-serif;
  }

  .meeting-confirmation {
      width: 100%;
      display: block;
      padding: 20px 0px;
      background: #FFF;
  }
  /* ====== LAYOUT ====== */
  .auth-wrap{
    min-height:100vh;
    padding:0;
    margin:0;
    max-width:100%;
    overflow-x:hidden;
  }
  .auth-wrap > .row{
    min-height:100vh;
    align-items:stretch;
    margin:0;
    width:100%;
  }
  .auth-wrap > .row > [class*="col-"]{
    padding-left:0;
    padding-right:0;
  }
  .form-pane{
    min-height:100vh;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    padding:32px 40px;
    background:#fff;
    overflow-y:auto;
  }
  .promo-pane{
    min-height:100vh;
    flex:1 1 auto;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    padding:48px 40px;
    overflow:hidden;
    position:relative;
    background:linear-gradient(145deg, #ffd400 0%, var(--bt-yellow) 40%, var(--bt-yellow-2) 100%);
  }
  .promo-pane::before,
  .promo-pane::after{
    content:'';
    position:absolute;
    border-radius:50%;
    pointer-events:none;
  }
  .promo-pane::before{
    width:320px; height:320px;
    top:-80px; right:-60px;
    background:rgba(255,255,255,.15);
  }
  .promo-pane::after{
    width:240px; height:240px;
    bottom:-40px; left:-40px;
    background:rgba(0,0,0,.06);
  }
  .promo-inner{
    position:relative;
    z-index:1;
    width:100%;
    max-width:560px;
    text-align:center;
  }
  .promo-inner h2{
    font-size:1.75rem;
    font-weight:700;
    line-height:1.3;
    color:#1b1b1b;
    margin-bottom:12px;
  }
  .promo-inner .promo-lead{
    font-size:16px;
    line-height:1.5;
    color:rgba(27,27,27,.82);
    margin-bottom:28px;
  }
  .promo-screenshot{
    width:100%;
    max-width:520px;
    border-radius:12px;
    box-shadow:0 20px 50px rgba(0,0,0,.2);
    border:none;
  }
  .promo-badges{
    display:flex;
    flex-wrap:nowrap;
    gap:8px;
    justify-content:center;
    margin-top:24px;
  }
  .promo-badges span{
    font-size:11px;
    font-weight:500;
    padding:5px 10px;
    border-radius:999px;
    background:rgba(255,255,255,.35);
    color:#1b1b1b;
    border:1px solid rgba(255,255,255,.5);
    white-space:nowrap;
    flex-shrink:0;
  }
  .form-pane .form-legal a{
    color:var(--bt-text);
    font-weight:600;
  }
  .form-pane .btn-registro-submit,
  .form-pane .btn-registro-next{
    background-color:var(--bt-yellow) !important;
    border:1px solid var(--bt-yellow) !important;
    color:#1b1b1b !important;
    font-weight:600;
    padding:12px 16px;
    border-radius:10px;
    box-shadow:0 2px 8px rgba(0,0,0,.1);
    transition:background .15s ease, border-color .15s ease;
  }
  .form-pane .btn-registro-submit:hover:not(:disabled),
  .form-pane .btn-registro-submit:focus:not(:disabled),
  .form-pane .btn-registro-next:hover:not(:disabled),
  .form-pane .btn-registro-next:focus:not(:disabled){
    background-color:var(--bt-yellow-2) !important;
    border-color:var(--bt-yellow-2) !important;
    color:#1b1b1b !important;
    box-shadow:0 2px 10px rgba(0,0,0,.12) !important;
  }
  .form-pane .btn-registro-submit:disabled,
  .form-pane .btn-registro-next:disabled{
    background-color:var(--bt-yellow) !important;
    border-color:var(--bt-yellow) !important;
    color:rgba(27,27,27,.45) !important;
    box-shadow:none !important;
    cursor:not-allowed;
    opacity:.65;
  }
  .form-pane .btn-registro-back{
    background:transparent;
    border:none;
    color:rgba(27,27,27,.75);
    font-weight:500;
    padding:12px 8px;
    text-decoration:none;
  }
  .form-pane .btn-registro-back:hover{
    color:#1b1b1b;
    text-decoration:underline;
  }

  /* ====== CARD / FORM ====== */
  .form-card{
    width:100%;
    max-width:400px;
    border-radius:0;
    box-shadow:none;
    background:transparent;
    padding:0;
    flex-shrink:0;
  }
  .form-pane .brand-top{
    justify-content:flex-start;
    margin-bottom:32px;
    width:100%;
  }
  .wizard-progress{
    display:flex;
    gap:8px;
    margin-bottom:24px;
  }
  .wizard-progress .step-bar{
    flex:1;
    height:4px;
    border-radius:4px;
    background:#e9ecef;
    transition:background .2s ease;
  }
  .wizard-progress .step-bar.is-active,
  .wizard-progress .step-bar.is-done{
    background:var(--bt-yellow);
  }
  .wizard-progress .step-bar.is-done{
    background:var(--bt-yellow-2);
  }
  .step-head h2{
    font-size:1.125rem;
    font-weight:700;
    margin:0 0 6px;
    line-height:1.35;
    color:var(--bt-text);
  }
  .step-head p{
    font-size:14px;
    color:var(--bt-muted2);
    margin:0 0 20px;
  }
  .registro-step{ display:none; }
  .registro-step.is-active{ display:block; }
  .wizard-actions{
    display:flex;
    align-items:center;
    gap:12px;
    margin-top:8px;
  }
  .wizard-actions .btn-main{ flex:1; }
  .brand-top{
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:24px;
  }
  .brand-top img{
    height:42px;
    object-fit:contain;
  }
  .form-head h1{
    font-weight:700;
    font-size:22px;
    margin:6px 0 2px;
  }
  .form-head p{
    color:var(--bt-muted);
    margin:0 0 16px;
    font-size:14px;
  }

  .form-head2{
    margin-bottom:8px;
  }
  .form-head2 h1{
    font-weight:700;
    font-size:1.65rem;
    margin:0 0 8px;
    line-height:1.25;
    color:var(--bt-text);
  }
  .form-head2 p{
    color:var(--bt-muted2);
    margin:0 0 16px;
    font-size:14px;
    line-height:1.45;
  }

  .section-title{
    font-weight:700;
    font-size:12px;
    text-transform:uppercase;
    color:#3c3c3c;
    margin:18px 0 8px;
  }

  .form-pane .form-control{
    background:#f7f8fa;
    border:1px solid var(--bt-border);
    border-radius:10px;
    padding:10px 12px;
    height:42px;
    font-size:14px;
  }
  .form-pane .form-control:focus{
    border-color:var(--bt-yellow);
    box-shadow:0 0 0 3px rgba(250,192,1,.35);
    background:#fff;
  }
  .form-pane .form-control-lg{
    height:48px;
    font-size:16px;
  }
  .form-pane .form-label{
    color:#3c3c3c;
    margin-bottom:4px;
  }
  .form-card .helper-text{ color:var(--bt-muted2); }
  .form-card .form-legal{ color:#666; }
  .helper-text{
    font-size:12px;
    color:var(--bt-muted);
    margin-top:6px;
  }
  .is-valid{ border-color:#2ecc71 !important; }
  .is-invalid{ border-color:#e74c3c !important; }
  #formError{ font-size:13px; margin-top:10px; }

  /* ====== CONFIRMATION CARD (aparece en lugar del formulario) ====== */
  .meeting-confirmation{ width:100%; display:flex; justify-content:center; }
  .meeting-confirmation .container-form{
    width:100%;
    max-width:1200px;
    background:#fff;
    border:1px solid var(--bt-border); /* Mantener la línea */
    border-radius:12px;
    box-shadow:none !important;        /* Quitar contorno gris/sombra */
    padding: 28px 16px 18px;
  }

  .meeting-confirmation h1{
    font-weight:800; font-size:24px; margin-bottom:12px;
  }
  .meeting-confirmation .details{
    display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:16px;
  }
  .meeting-confirmation .details span{
    display:block; font-size:12px; color:var(--bt-muted); text-transform:uppercase;
  }
  .meeting-confirmation .details p{
    margin:4px 0 0; font-weight:700; word-break:break-word;
  }

  /* Footer minimal  */
  .page-footer{
    font-size:13px; color:#6b6b6b; text-align:center; padding:12px 0 18px;
  }
