/* Page background */
.auth-wrap{
  min-height:100vh; display:grid; grid-template-rows:auto 1fr auto; gap:20px;
  align-items:center; justify-items:center; padding:32px 16px;
  background:
    radial-gradient(1200px 600px at 100% -10%, color-mix(in srgb, var(--app-secondary) 12%, white), transparent 60%),
    radial-gradient(1000px 600px at -10% 100%, color-mix(in srgb, var(--app-primary) 14%, white), transparent 60%),
    linear-gradient(180deg, #ffffff, #f7f9fb);
}

/* Brand header */
.auth-brand{
  display:flex; align-items:center; gap:14px;
  backdrop-filter:saturate(1.2) blur(6px);
  background: color-mix(in srgb, white 80%, var(--app-sec-05));
  border:1px solid rgba(0,0,0,.04);
  border-radius: 14px;
  padding:10px 14px;
  box-shadow: 0 10px 20px rgba(0,0,0,.04);
}
.auth-brand img{
  height:40px; width:auto; display:block;
}
.auth-brand .brand-text h1{
  font-size:1.05rem; font-weight:700; margin:0; color:#1f2937;
}
.auth-brand .brand-text p{
  font-size:.85rem; margin:0; color:#6b7280;
}

/* Card */
.auth-card{
  width:min(460px, 94vw);
  border-radius:16px; background:#fff; overflow:hidden;
  border:1px solid rgba(0,0,0,.05);
  box-shadow: 0 22px 38px rgba(16,24,40,.06), 0 2px 10px rgba(16,24,40,.04);
  position:relative; isolation:isolate;
  animation:authFloat .45s ease-out both;
}

/* Accent bar (subtle) */
.auth-card:before{
  content:""; position:absolute; inset:0 0 auto 0; height:3px;
  background: linear-gradient(90deg, var(--app-primary), color-mix(in srgb, var(--app-secondary) 60%, white));
  opacity:.8;
}

/* Card head (icon + titles + badge) */
.auth-card-head{
  display:flex; align-items:center; justify-content:space-between;
  gap:12px; padding:14px 16px;
  background: linear-gradient(90deg, color-mix(in srgb, var(--app-primary) 10%, white), transparent);
  border-bottom:1px solid rgba(0,0,0,.06);
}
.auth-card-head .head-left{ display:flex; align-items:center; gap:12px; }
.auth-card-head .head-left i{ font-size:1.25rem; color:var(--app-primary); }
.auth-card-head .title{ font-weight:700; color:#111827; line-height:1; }
.auth-card-head .subtitle{ font-size:.85rem; color:#6b7280; margin-top:2px; }

/* Form (your generator fills this) */
.auth-card .form-group, .auth-card .auth-body{ padding:16px; }
.form-control:focus, .form-select:focus{
  box-shadow:0 0 0 .25rem color-mix(in srgb, var(--app-primary) 15%, transparent);
  border-color: color-mix(in srgb, var(--app-primary) 48%, #cbd5e1);
}
.form-buttons-wrapper{ padding:0 16px 16px; }
.form-buttons-wrapper .btn{
  height:44px; border-radius:999px;
}

/* Footer links */
.auth-footer{
  font-size:.85rem; color:#6b7280; display:flex; gap:10px; align-items:center;
}
.auth-footer a{ color: color-mix(in srgb, var(--app-primary) 70%, #111); text-decoration:none; }
.auth-footer a:hover{ text-decoration:underline; }

/* Subtle entrance */
@keyframes authFloat{ from{ transform:translateY(10px); opacity:0 } to{ transform:translateY(0); opacity:1 } }

/* kill the bottom gap inside the auth card */
.auth-card form > .p-4.mb-4:last-child { margin-bottom: 0 !important; }

/* tighten the inline buttons area */
.auth-card .form-buttons-wrapper { margin-top: .5rem; padding: 0 16px 10px !important; }

/* optional: keep the floating-label blocks tight at the bottom */
.auth-card .form-floating:last-of-type { margin-bottom: .5rem; }