/* =========================================================
   ECAPLUS AUTH STYLES
   Scoped version for:
   - body.auth-login
   - body.auth-register
   Prevents login/register style collisions
   ========================================================= */

/* =========================================================
   SHARED TOKENS
   ========================================================= */
:root{
  --eca-primary: #19d38a;
  --eca-primary-dark: #0f9f73;
  --eca-teal: #00b7c2;
  --eca-cyan: #25d0c2;
  --eca-blue: #123c66;
  --eca-ink: #0f172a;
  --eca-muted: #64748b;
  --eca-bg: #f4fbfa;
  --eca-card: rgba(255,255,255,.82);
  --eca-card-login: rgba(255,255,255,.78);
  --eca-border: rgba(255,255,255,.55);
  --eca-shadow: 0 20px 60px rgba(15,23,42,.10);
  --eca-soft-border: #deecea;
  --eca-input-border: #dce9e8;
}

body.auth-login,
body.auth-register{
  margin:0;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background:
    radial-gradient(circle at top left, rgba(37,208,194,.18), transparent 28%),
    radial-gradient(circle at bottom right, rgba(25,211,138,.10), transparent 26%),
    var(--eca-bg);
  color: var(--eca-ink);
}

body.auth-login *,
body.auth-register *{
  box-sizing:border-box;
}

body.auth-login img,
body.auth-register img{
  max-width:100%;
  display:block;
}

body.auth-login a,
body.auth-register a{
  text-decoration:none;
}

/* =========================================================
   SHARED LAYOUT
   ========================================================= */
body.auth-login .auth-shell,
body.auth-register .auth-shell{
  min-height:100vh;
  display:grid;
  gap:24px;
  padding:24px;
}

body.auth-login .auth-shell{
  grid-template-columns: 1.15fr .85fr;
}

body.auth-register .auth-shell{
  grid-template-columns: 1.12fr .88fr;
}

@media (max-width: 991.98px){
  body.auth-login .auth-shell,
  body.auth-register .auth-shell{
    grid-template-columns:1fr;
    padding:14px;
  }
}

body.auth-login .hero-panel,
body.auth-register .hero-panel{
  position:relative;
  overflow:hidden;
  border-radius:34px;
  min-height:calc(100vh - 48px);
  padding:34px;
  color:#fff;
  background: linear-gradient(135deg, #0b3d3f 0%, #0aa3a8 45%, #18c57d 100%);
  box-shadow: var(--eca-shadow);
}

body.auth-login .hero-panel{
  display:flex;
  align-items:stretch;
}

body.auth-register .hero-panel{
  display:flex;
  align-items:center;
}

body.auth-login .hero-panel::before{
  content:"";
  position:absolute;
  inset:auto -10% -20% auto;
  width:420px;
  height:420px;
  border-radius:50%;
  background: rgba(255,255,255,.10);
  filter: blur(8px);
}

body.auth-login .hero-panel::after{
  content:"";
  position:absolute;
  top:-80px;
  left:-80px;
  width:260px;
  height:260px;
  border-radius:50%;
  background: rgba(255,255,255,.10);
  filter: blur(16px);
}

body.auth-register .hero-panel::before{
  content:"";
  position:absolute;
  width:320px;
  height:320px;
  border-radius:50%;
  top:-80px;
  left:-70px;
  background: rgba(255,255,255,.10);
  filter: blur(18px);
}

body.auth-register .hero-panel::after{
  content:"";
  position:absolute;
  width:420px;
  height:420px;
  border-radius:50%;
  right:-120px;
  bottom:-120px;
  background: rgba(255,255,255,.10);
  filter: blur(18px);
}

body.auth-register .d-none,
body.auth-login .d-none{
  display:none !important;
}

body.auth-register .d-flex,
body.auth-login .d-flex{
  display:flex !important;
}

body.auth-register .justify-content-between,
body.auth-login .justify-content-between{
  justify-content:space-between !important;
}

body.auth-register .align-items-center,
body.auth-login .align-items-center{
  align-items:center !important;
}

body.auth-register .gap-2,
body.auth-login .gap-2{
  gap:.5rem !important;
}

body.auth-register .mt-3,
body.auth-login .mt-3{
  margin-top:1rem !important;
}

body.auth-register .my-3,
body.auth-login .my-3{
  margin-top:1rem !important;
  margin-bottom:1rem !important;
}

@media (max-width: 991.98px){
  body.auth-login .hero-panel,
  body.auth-register .hero-panel{
    min-height:auto;
    padding:22px;
  }
}

body.auth-login .hero-content,
body.auth-register .hero-content{
  position:relative;
  z-index:2;
  width:100%;
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:24px;
  align-items:center;
}

@media (max-width: 1200px){
  body.auth-register .hero-content{
    grid-template-columns:1fr;
  }
}
@media (max-width: 1199.98px){
  body.auth-login .hero-content{
    grid-template-columns:1fr;
  }
}

body.auth-login .hero-copy,
body.auth-register .hero-copy{
  max-width:560px;
}

body.auth-login .hero-brand,
body.auth-register .hero-brand{
  display:inline-flex;
  align-items:center;
  gap:12px;
  padding:10px 14px;
  border-radius:999px;
  background: rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18);
  backdrop-filter: blur(12px);
  margin-bottom:22px;
}

body.auth-login .hero-brand img,
body.auth-register .hero-brand img{
  height:30px;
  width:auto;
  display:block;
}

body.auth-login .hero-kicker{
  font-size:.92rem;
  opacity:.92;
  letter-spacing:.04em;
  text-transform:uppercase;
  margin-bottom:10px;
}

body.auth-register .hero-kicker{
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  opacity:.95;
  margin-bottom:10px;
}

body.auth-login .hero-title{
  font-size: clamp(2rem, 1.5rem + 2vw, 4rem);
  line-height:1.02;
  font-weight:800;
  margin:0 0 16px;
  letter-spacing:-.03em;
}

body.auth-register .hero-title{
  font-size: clamp(2rem, 1.4rem + 2.1vw, 3.8rem);
  line-height:1.02;
  font-weight:800;
  letter-spacing:-.03em;
  margin:0 0 16px;
}

/* ECAPLUS error notification */
.alert-danger{
  background:#fef3f2 !important;
  border:1px solid #fecdca !important;
  color:#b42318 !important;
  border-radius:12px;
  padding:12px 14px;
  font-weight:500;
}

.alert-danger::before{
  content:"⚠ ";
  font-weight:700;
}


body.auth-login .hero-text,
body.auth-register .hero-text{
  max-width:520px;
  font-size:1.02rem;
  line-height:1.7;
  color: rgba(255,255,255,.88);
  margin-bottom:24px;
}

body.auth-login .hero-points{
  display:grid;
  gap:12px;
  margin-top:22px;
}

body.auth-register .hero-points{
  display:grid;
  gap:12px;
}

body.auth-login .hero-point,
body.auth-register .hero-point{
  display:flex;
  align-items:center;
  gap:12px;
  width:fit-content;
  min-width:250px;
  padding:12px 14px;
  border-radius:16px;
  background: rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.14);
}

body.auth-login .hero-point{
  min-width:260px;
  backdrop-filter: blur(8px);
}

body.auth-register .hero-point{
  backdrop-filter: blur(10px);
}

body.auth-login .hero-point i,
body.auth-register .hero-point i{
  font-size:1.1rem;
}

body.auth-login .hero-visual,
body.auth-register .hero-visual{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:520px;
}

body.auth-login .phone-glow,
body.auth-register .phone-glow{
  position:absolute;
  width:360px;
  height:360px;
  border-radius:50%;
  background: radial-gradient(circle, rgba(255,255,255,.28), transparent 62%);
  filter: blur(12px);
}

body.auth-login .phone-frame,
body.auth-register .phone-frame{
  position:relative;
  z-index:2;
  width:min(100%, 460px);
  border-radius:30px;
  padding:18px;
  background: rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.16);
  backdrop-filter: blur(12px);
  box-shadow: 0 24px 60px rgba(0,0,0,.18);
}

body.auth-login .phone-frame img,
body.auth-register .phone-frame img{
  width:100%;
  border-radius:22px;
  object-fit:cover;
}

body.auth-login .floating-card{
  position:absolute;
  z-index:3;
  min-width:190px;
  max-width:240px;
  background: rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.18);
  border-radius:20px;
  padding:14px 16px;
  color:#fff;
  backdrop-filter: blur(12px);
  box-shadow: 0 18px 40px rgba(0,0,0,.16);
}

body.auth-register .floating-card{
  position:absolute;
  z-index:3;
  min-width:200px;
  max-width:240px;
  padding:14px 16px;
  border-radius:20px;
  color:#fff;
  background: rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.18);
  backdrop-filter: blur(12px);
  box-shadow: 0 18px 40px rgba(0,0,0,.16);
}

body.auth-login .floating-card strong,
body.auth-register .floating-card strong{
  display:block;
  font-size:.92rem;
  margin-bottom:4px;
}

body.auth-login .floating-card small{
  color: rgba(255,255,255,.82);
  line-height:1.5;
}

body.auth-register .floating-card small{
  color: rgba(255,255,255,.84);
  line-height:1.5;
}

body.auth-login .card-a,
body.auth-register .card-a{ top:8%; right:-2%; }

body.auth-login .card-b,
body.auth-register .card-b{ bottom:8%; left:-4%; }

@media (max-width: 575.98px){
  body.auth-login .card-a,
  body.auth-login .card-b,
  body.auth-register .card-a,
  body.auth-register .card-b{
    position:static;
    margin-top:14px;
  }

  body.auth-login .hero-visual,
  body.auth-register .hero-visual{
    min-height:auto;
    flex-direction:column;
    gap:14px;
  }

  body.auth-login .hero-title,
  body.auth-register .hero-title{
    font-size:2.2rem;
  }
}

/* =========================================================
   LOGIN ONLY
   ========================================================= */
body.auth-login .auth-panel,
body.auth-register .auth-panel{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:calc(100vh - 48px);
}

@media (max-width: 991.98px){
  body.auth-login .auth-panel,
  body.auth-register .auth-panel{
    min-height:auto;
  }
}

body.auth-login .auth-card{
  width:min(520px, 100%);
  background: var(--eca-card-login);
  border: 1px solid var(--eca-border);
  border-radius: 30px;
  padding: 32px;
  box-shadow: var(--eca-shadow);
  backdrop-filter: blur(14px);
}

body.auth-login .eyebrow{
  display:inline-block;
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color: var(--eca-primary-dark);
  margin-bottom:12px;
}

body.auth-login .auth-title{
  font-size:2rem;
  line-height:1.1;
  font-weight:800;
  margin:0 0 8px;
  letter-spacing:-.02em;
}

body.auth-login .auth-subtitle{
  color: var(--eca-muted);
  margin:0 0 26px;
  line-height:1.6;
}

body.auth-login .field{
  margin-bottom:16px;
}

body.auth-login .field label{
  display:block;
  font-size:.92rem;
  font-weight:600;
  margin-bottom:8px;
  color:#1e293b;
}

body.auth-login .input-wrap{
  position:relative;
}

body.auth-login .input-wrap i{
  position:absolute;
  left:14px;
  top:50%;
  transform:translateY(-50%);
  color:#7c8b95;
  font-size:1rem;
}

body.auth-login .form-control-modern{
  width:100%;
  height:56px;
  border-radius:16px;
  border:1px solid #dbe9e8;
  background:#fff;
  padding:0 16px 0 42px;
  outline:none;
  transition:.2s ease;
  color:#0f172a;
}

body.auth-login .form-control-modern:focus{
  border-color: var(--eca-cyan);
  box-shadow: 0 0 0 4px rgba(37,208,194,.16);
}

body.auth-login .form-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:16px;
}

body.auth-login .link-soft{
  color: var(--eca-blue);
  text-decoration:none;
  font-weight:600;
  font-size:.92rem;
}

body.auth-login .link-soft:hover{
  text-decoration:underline;
}

body.auth-login .remember-wrap{
  display:flex;
  align-items:center;
  gap:.55rem;
  color:#475569;
  font-size:.94rem;
}

body.auth-login .btn-primary-modern{
  width:100%;
  height:56px;
  border:none;
  border-radius:16px;
  font-weight:800;
  font-size:1rem;
  letter-spacing:.01em;
  color:#083329;
  background: linear-gradient(135deg, #25d0c2 0%, #19d38a 100%);
  box-shadow: 0 14px 32px rgba(25,211,138,.22);
  transition:.2s ease;
}

body.auth-login .btn-primary-modern:hover{
  transform: translateY(-1px);
  filter: brightness(1.01);
}

body.auth-login .divider{
  display:flex;
  align-items:center;
  gap:12px;
  color:#94a3b8;
  font-size:.88rem;
  margin:22px 0;
}

body.auth-login .divider::before,
body.auth-login .divider::after{
  content:"";
  flex:1;
  height:1px;
  background: linear-gradient(90deg, transparent, #d9e7e6, transparent);
}

body.auth-login .signup-box{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  border-radius:20px;
  padding:18px;
  background: linear-gradient(180deg, rgba(255,255,255,.85), rgba(241,250,249,.95));
  border:1px solid #e3f1ef;
}

body.auth-login .signup-box strong{
  display:block;
  font-size:1rem;
  margin-bottom:4px;
}

body.auth-login .signup-box span{
  color: var(--eca-muted);
  font-size:.93rem;
  line-height:1.5;
}

body.auth-login .btn-outline-modern{
  white-space:nowrap;
  height:48px;
  padding:0 18px;
  border-radius:14px;
  border:1px solid #cfe8e4;
  background:#fff;
  color:#0f766e;
  font-weight:700;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

body.auth-login .status-pill{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:14px 16px;
  border-radius:16px;
  margin-bottom:18px;
  border:1px solid transparent;
  font-size:.95rem;
  line-height:1.5;
}

body.auth-login .status-pill.success{ background:#ecfdf5; border-color:#ccefdc; color:#166534; }
body.auth-login .status-pill.info{ background:#eff6ff; border-color:#d4e5ff; color:#1d4ed8; }
body.auth-login .status-pill.warning{ background:#fffbeb; border-color:#fde7a8; color:#a16207; }
body.auth-login .status-pill.danger{ background:#fef2f2; border-color:#fecaca; color:#b91c1c; }

body.auth-login .error-box{
  margin-top:12px;
  padding:12px 14px;
  border-radius:14px;
  background:#fef2f2;
  border:1px solid #fecaca;
  color:#b91c1c;
  font-size:.92rem;
}

@media (max-width: 575.98px){
  body.auth-login .auth-card{
    padding:22px;
    border-radius:24px;
  }

  body.auth-login .signup-box{
    flex-direction:column;
    align-items:flex-start;
  }
}

/* =========================================================
   REGISTER ONLY
   ========================================================= */
body.auth-register .auth-card{
  width:min(720px, 100%);
  background: var(--eca-card);
  border:1px solid var(--eca-border);
  border-radius:30px;
  padding:32px;
  backdrop-filter: blur(14px);
  box-shadow: var(--eca-shadow);
}

@media (max-width: 575.98px){
  body.auth-register .auth-card{
    padding:22px;
    border-radius:24px;
  }
}

body.auth-register .auth-eyebrow{
  display:inline-block;
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color: var(--eca-primary-dark);
  margin-bottom:12px;
}

body.auth-register .auth-title{
  font-size: clamp(1.7rem, 1.3rem + 1vw, 2.2rem);
  line-height:1.08;
  letter-spacing:-.02em;
  font-weight:800;
  margin:0 0 8px;
}

body.auth-register .auth-subtitle{
  color: var(--eca-muted);
  line-height:1.6;
  margin:0 0 24px;
}

body.auth-register .stepper-modern{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:12px;
  margin-bottom:24px;
}

body.auth-register .step-item{
  position:relative;
  padding:14px 14px 12px;
  border-radius:18px;
  background: rgba(255,255,255,.7);
  border:1px solid #e4efee;
  transition:.2s ease;
}

body.auth-register .step-item.is-active{
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(239,251,248,.95));
  border-color:#ccebe6;
  box-shadow: 0 8px 24px rgba(16,59,58,.05);
}

body.auth-register .step-top{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:4px;
}

body.auth-register .step-bubble{
  width:32px;
  height:32px;
  border-radius:999px;
  display:grid;
  place-items:center;
  font-size:.9rem;
  font-weight:800;
  background:#e8f7f5;
  color:#0f5f5c;
  border:1px solid #d1ece8;
  flex-shrink:0;
}

body.auth-register .step-item.is-active .step-bubble{
  background: linear-gradient(135deg, #25d0c2, #19d38a);
  color:#083329;
  border-color:transparent;
}

body.auth-register .step-name{
  font-weight:700;
  color:#1e293b;
  font-size:.95rem;
}

body.auth-register .step-desc{
  color:#7b8794;
  font-size:.83rem;
  line-height:1.4;
}

@media (max-width: 575.98px){
  body.auth-register .stepper-modern{
    grid-template-columns:1fr;
  }
}



body.auth-register .auth-card .wizard-step .row.register-form-grid{
  --bs-gutter-x: 1.5rem !important;
  --bs-gutter-y: 1.5rem !important;
}

body.auth-register .auth-card .wizard-step .row.register-form-grid > [class*="col-"]{
  padding-top: calc(var(--bs-gutter-y) * .5) !important;
  padding-bottom: calc(var(--bs-gutter-y) * .5) !important;
}

body.auth-register .auth-card .wizard-step .form-label{
  display:block !important;
  margin-bottom: 12px !important;
}

body.auth-register .auth-card .wizard-step .form-control,
body.auth-register .auth-card .wizard-step .form-select,
body.auth-register .auth-card .wizard-step .select2-container .select2-selection--single{
  margin-top: 0 !important;
}

/* Laravel validation errors */
body.auth-register .invalid-feedback,
body.auth-reset .invalid-feedback{
  display:block !important;
  color:#dc3545 !important;   /* rojo bootstrap */
  font-size:.9rem;
  margin-top:6px;
  font-weight:500;
}

/* cuando el campo es inválido */
body.auth-register .form-control.is-invalid,
body.auth-reset .form-control.is-invalid,
body.auth-register .form-select.is-invalid,
body.auth-reset .form-select.is-invalid{
  border-color:#dc3545 !important;
  box-shadow:0 0 0 3px rgba(220,53,69,.15) !important;
}

/* label opcional si quieres */
body.auth-register .form-control.is-invalid + .invalid-feedback,
body.auth-reset .form-control.is-invalid + .invalid-feedback{
  color:#dc3545 !important;
}



body.auth-register .register-form-grid{
  --bs-gutter-x: 1.25rem;
  --bs-gutter-y: 1.5rem;
}

body.auth-register .register-form-grid .form-label{
  margin-bottom: 10px;
}

@keyframes fadeIn{
  from{ opacity:0; transform:translateY(4px); }
  to{ opacity:1; transform:translateY(0); }
}

body.auth-register .step-heading{
  margin-bottom:18px;
}

body.auth-register .step-heading h3{
  margin:0 0 6px;
  font-size:1.18rem;
  font-weight:800;
  letter-spacing:-.01em;
}

body.auth-register .step-heading p{
  margin:0;
  color:var(--eca-muted);
  line-height:1.55;
  font-size:.95rem;
}

body.auth-register .field{
  margin-bottom:22px;
}

body.auth-register .field label,
body.auth-register .form-label{
  font-size:.92rem;
  font-weight:700;
  margin-bottom:10px;
  display:block;
}

body.auth-register .form-control-modern,
body.auth-register .form-select-modern,
body.auth-register .form-control{
  width:100%;
  min-height:56px;
  border-radius:16px !important;
  border:1px solid var(--eca-input-border) !important;
  background:#fff !important;
  padding:.85rem 1rem !important;
  color:#0f172a;
  transition:.2s ease;
  box-shadow:none !important;
}

body.auth-register .form-control-modern:focus,
body.auth-register .form-select-modern:focus,
body.auth-register .form-control:focus{
  border-color: var(--eca-cyan) !important;
  box-shadow: 0 0 0 4px rgba(37,208,194,.15) !important;
}

body.auth-register .select2-container{
  width:100% !important;
}

body.auth-register .select2-container .select2-selection--single{
  min-height:56px;
  border-radius:16px !important;
  border:1px solid var(--eca-input-border) !important;
  display:flex !important;
  align-items:center !important;
  padding:0 .6rem !important;
}

body.auth-register .invalid-feedback{
  font-size:.83rem;
  margin-top:6px;
}

body.auth-register .plan-shell{
  border:1px solid #e4efee;
  background: linear-gradient(180deg, #ffffff, #fbfefe);
  border-radius:22px;
  padding:18px;
}

body.auth-register .plan-name{
  font-weight:800;
  font-size:1.05rem;
  margin-bottom:4px;
  color:#0f172a;
}

body.auth-register .plan-description{
  color:var(--eca-muted);
  font-size:.92rem;
  line-height:1.55;
  margin-bottom:18px;
}

body.auth-register .billing-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}

@media (max-width: 767.98px){
  body.auth-register .billing-grid{
    grid-template-columns:1fr;
  }
}

body.auth-register .btn-check{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

body.auth-register .billing-card{
  position:relative;
  border:1px solid #e4e7ec;
  border-radius:20px;
  padding:16px;
  background:#fff;
  cursor:pointer;
  transition:all .18s ease;
  min-height:128px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  box-shadow: 0 6px 18px rgba(15,23,42,.03);
}

body.auth-register .billing-card:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(15,23,42,.07);
}

body.auth-register .billing-card.is-active{
  border-color:#25d0c2;
  box-shadow:0 0 0 4px rgba(37,208,194,.12);
  background: linear-gradient(180deg, #ffffff, #f4fffd);
}

body.auth-register .billing-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

body.auth-register .billing-title{
  font-weight:800;
  color:#1f2937;
}

body.auth-register .billing-price{
  font-size:1.4rem;
  font-weight:900;
  line-height:1.1;
  margin-top:10px;
  color:#0f172a;
}

body.auth-register .billing-unit{
  font-size:.92rem;
  font-weight:700;
  color:#6b7280;
  margin-left:3px;
}

body.auth-register .billing-subtext{
  margin-top:10px;
  font-size:.86rem;
  color:#667085;
  line-height:1.45;
}

body.auth-register .billing-save{
  margin-top:6px;
  font-size:.83rem;
  font-weight:800;
  color:#027A48;
}

body.auth-register .pill-best{
  font-size:.72rem;
  font-weight:800;
  padding:.24rem .55rem;
  border-radius:999px;
  border:1px solid #D1E7DD;
  background:#D1E7DD;
  color:#0F5132;
  white-space:nowrap;
}

body.auth-register .plan-note{
  margin-top:12px;
  font-size:.87rem;
  color:#667085;
}

body.auth-register .payment-card{
  margin-top:18px;
  padding:18px;
  border-radius:22px;
  border:1px solid #e5efee;
  background: linear-gradient(180deg, #ffffff, #f9fcfc);
}

body.auth-register .payment-title{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:800;
  margin-bottom:14px;
  color:#111827;
}

body.auth-register .policy-card{
  border:1px solid #e1eded;
  border-radius:22px;
  background: linear-gradient(180deg, #ffffff, #fbfdfd);
  overflow:hidden;
}

body.auth-register .policy-head{
  padding:18px 18px 12px;
  border-bottom:1px solid #edf4f4;
}

body.auth-register .policy-head h6{
  margin:0 0 4px;
  font-size:1rem;
  font-weight:800;
}

body.auth-register .policy-head p{
  margin:0;
  color:#6b7280;
  font-size:.84rem;
}

body.auth-register .policy-box{
  max-height:220px;
  overflow:auto;
  padding:18px;
  color:#475569;
  line-height:1.65;
  font-size:.92rem;
}

body.auth-register .policy-box h6{
  color:#0f172a;
  font-size:.95rem;
  font-weight:800;
  margin-top:16px;
  margin-bottom:8px;
}

body.auth-register .consent-box{
  margin-top:14px;
  padding:16px 16px;
  border-radius:18px;
  background:#f8fcfc;
  border:1px solid #e1eded;
}

body.auth-register .form-check-input{
  margin-top:.25rem;
}

body.auth-register .form-check-label{
  color:#334155;
  line-height:1.55;
  font-size:.94rem;
}

body.auth-register .divider-soft{
  height:1px;
  background: linear-gradient(90deg, transparent, #dfeceb, transparent);
  margin:22px 0 18px;
  border:0;
}

body.auth-register .wizard-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
}

body.auth-register .btn-secondary-modern{
  min-width:110px;
  height:52px;
  padding:0 18px;
  border-radius:16px;
  border:1px solid #d7e9e6;
  background:#fff;
  color:#0f5f5c;
  font-weight:800;
}

body.auth-register .btn-primary-modern{
  min-width:130px;
  height:52px;
  padding:0 20px;
  border:none;
  border-radius:16px;
  background: linear-gradient(135deg, #25d0c2 0%, #19d38a 100%);
  color:#083329;
  font-weight:900;
  box-shadow: 0 12px 28px rgba(25,211,138,.20);
  transition:.18s ease;
}

body.auth-register .btn-primary-modern:hover{
  transform:translateY(-1px);
  filter:brightness(1.01);
}

body.auth-register .bottom-note{
  margin-top:18px;
  color:var(--eca-muted);
  font-size:.94rem;
}

body.auth-register .bottom-note a{
  color: var(--eca-blue);
  font-weight:700;
  text-decoration:none;
}

body.auth-register .bottom-note a:hover{
  text-decoration:underline;
}

body.auth-register .secure-note{
  margin-top:16px;
  display:flex;
  align-items:center;
  gap:10px;
  color:#64748b;
  font-size:.9rem;
  padding:14px 16px;
  border-radius:16px;
  background: rgba(255,255,255,.72);
  border:1px solid #e5efee;
}

body.auth-register .alert-danger{
  border-radius:16px;
}