: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;
    }
