.page {
  width: 100%;
  animation: fadeIn 0.25s ease;
}

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


 
  /* bottom nav */
    .bottom-nav{
      position:fixed;
      left:50%;
      transform:translateX(-50%);
      bottom:0;
      width:min(980px, 100%);
      background: linear-gradient(to top, rgba(10,10,11,.98), rgba(10,10,11,.88));
      border-top:1px solid rgba(255,255,255,.06);
      backdrop-filter: blur(18px);
      -webkit-backdrop-filter: blur(18px);
      display:flex;
      justify-content:space-around;
      align-items:center;
      padding: 10px 10px 14px;
      z-index:40 !important;
    }

    .nav-item{
      width:46px;height:46px;
      display:grid;
      place-items:center;
      border-radius: 16px;
      color: var(--muted);
      position:relative;
      cursor:pointer;
      border:none;
      background:transparent;
    }

    .nav-item svg{
      width:24px;height:24px;
      stroke:currentColor;
      fill:none;
      stroke-width:2;
      stroke-linecap:round;
      stroke-linejoin:round;
    }

 /* ✅ Correct selector */
.nav-item.active {
  color: #00bebe;
}


.label {
font-size: 10px !important;
  opacity: 1;
  transition: 0.3s ease;
}




/* ✨ Hover */
.nav-item:hover {
  color: #fff;
}

/* 🔥 Create Button (center standout) */
.create-btn {
  transform: translateY(-0px);
}

.create-btn svg {
  background: #ff2e63;
  padding: 8px;
  border-radius: 50%;
  stroke: #fff;
}

/* 👤 Profile ring */
.profile-ring {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  padding: 2px;
  background: linear-gradient(45deg, #ff2e63, #08f7fe);
}

.profile-ring img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  display: block;
}




/* ===============================
   👤 PROFILE AVATAR (NAV)
=============================== */
.profile-avatar {
  width: 28px;
  height: 28px;
  min-width: 28px;

  border-radius: 50%;
  overflow: hidden;

  display: flex;
  align-items: center;
  justify-content: center;

  font-size: 13px;
  font-weight: 700;

  background: linear-gradient(135deg, #111, #333);
  color: #fff;

  letter-spacing: 0.5px;
  text-transform: uppercase;

  transition: all 0.25s ease;
}

/* ===============================
   🖼️ USER IMAGE
=============================== */
.profile-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;

  border-radius: 50%;
  display: block;
}

/* svg icon */
.profile-avatar svg {
  width: 18px;
  height: 18px;
  opacity: 0.9;
}

/* ===============================
   ✅ LOGGED IN STATE
=============================== */
.profile-avatar.is-user {
  background: #ddd;
  color: #111;

  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

/* ===============================
   ✨ ACTIVE NAV (CURRENT PAGE)
=============================== */
.nav-item.active .profile-avatar {
  transform: scale(1.08);

  box-shadow:
    0 0 0 2px #000,
    0 6px 18px rgba(0,0,0,0.25);
}

/* ===============================
   🖱️ HOVER EFFECT (DESKTOP)
=============================== */
.nav-item:hover .profile-avatar {
  transform: scale(1.06);
}

/* ===============================
   🔘 EMPTY STATE (NOT LOGGED IN)
=============================== */
.profile-avatar:not(.is-user) {
  background: linear-gradient(135deg, #000, #222);
  color: #fff;
}

/* ===============================
   💎 PREMIUM RING (OPTIONAL)
=============================== */
.profile-avatar.is-user::after {
  content: "";
  position: absolute;
  inset: -2px;
  border-radius: 50%;

  background: linear-gradient(135deg, #00c6ff, #0072ff);
  z-index: -1;

  opacity: 0;
  transition: opacity 0.25s ease;
}

/* show ring when active */
.nav-item.active .profile-avatar.is-user::after {
  opacity: 1;
}


/* ===============================
   AUTH MODAL
=============================== */
.auth-modal {
  position: fixed;
  inset: 0;
  z-index: 99999 !important;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease;
}

.auth-modal.active {
  opacity: 1;
  pointer-events: auto;
}

.auth-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.85);
  backdrop-filter: blur(12px);
}

.auth-container {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.auth-card {
  width: 100%;
  max-width: 400px;
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(25px);
  border-radius: 24px;
  padding: 28px 24px;
  box-shadow: 0 25px 70px rgba(0, 0, 0, 0.25);
  transform: translateY(40px) scale(0.96);
  opacity: 0;
  transition: all 0.3s cubic-bezier(.2, .8, .2, 1);
}

.auth-modal.active .auth-card {
  transform: translateY(0) scale(1);
  opacity: 1;
}

.auth-header {
  text-align: center;
  margin-bottom: 20px;
}

.auth-header h2 {
  font-size: 22px;
  font-weight: 700;
}

.auth-header p {
  font-size: 13px;
  color: #666;
  margin-top: 4px;
}

.auth-fields input {
  width: 100%;
  padding: 14px;
  margin-bottom: 10px;
  border-radius: 12px;
  border: 1px solid #e5e5e5;
  outline: none;
  background: #fff;
  font-size: 14px;
  transition: 0.2s;
}

.auth-fields input:focus {
  border-color: #000;
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.05);
}


.btn-primary {
  width: 100%;
  padding: 14px;
  border-radius: 12px;
  background: #000;
  color: #fff;
  font-weight: 600;
  margin-top: 6px;
  transition: 0.2s;
}

.btn-primary:hover {
  opacity: 0.9;
  transform: translateY(-1px);
}

.btn-outline {
  width: 100%;
  padding: 14px;
  border-radius: 12px;
  border: 1px solid #ddd;
  background: #fff;
  margin-top: 8px;
  font-weight: 500;
  transition: 0.2s;
}

.btn-outline:hover {
  background: #f8f8f8;
}

.auth-divider {
  display: flex;
  align-items: center;
  margin: 22px 0;
  gap: 10px;
}

.auth-divider::before,
.auth-divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background: #e5e5e5;
}

.auth-divider span {
  font-size: 12px;
  color: #888;
  white-space: nowrap;
}

.auth-socials {
  display: flex;
  justify-content: center;
  gap: 12px;
}

.social-btn {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 1px solid #e5e5e5;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  cursor: pointer;
  transition: all 0.2s ease;
}

.social-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
}

.social-btn img {
  width: 20px;
  height: 20px;
}

.auth-close {
  position: absolute;
  top: 12px;
  right: 12px;
  background: rgba(0, 0, 0, 0.05);
  border: none;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  font-size: 16px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.2s;
}

.auth-close:hover {
  background: rgba(0, 0, 0, 0.1);
}


/* ===============================
   LOGIN MODAL
=============================== */
.login-modal {
  position: fixed;
  inset: 0;
  display: none;
  z-index: 9998;
}

.login-modal.active {
  display: block;
}

.login-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(6px);
  opacity: 0;
  transition: opacity 0.25s ease;
}

.login-modal.active .login-backdrop {
  opacity: 1;
}

.login-sheet {
  position: absolute;
  bottom: 0;
  width: 100%;
  background: #fff;
  border-radius: 20px 20px 0 0;
  padding: 24px;
  text-align: center;
  transform: translateY(100%);
  transition: transform 0.28s cubic-bezier(.2, .8, .2, 1);
  will-change: transform;
}

.login-modal.active .login-sheet {
  transform: translateY(0);
}

.login-sheet h3 {
  color: #000;
}

.login-sheet p {
  color: #3b3b3b;
}

.login-icon-wrap {
  display: flex;
  justify-content: center;
  margin-bottom: 14px;
}

.login-icon {
  width: 64px;
  height: 64px;
  object-fit: contain;
  opacity: 1;
  transform: translateY(0) scale(1);
  animation: iconPop 0.4s ease;
}

.login-modal.active .login-icon {
  animation: iconPop 0.4s ease forwards;
}

.login-primary {
  margin-top: 16px;
  width: 100%;
  padding: 14px;
  border-radius: 12px;
  background: #006356;
  color: #fff;
  font-weight: 600;
}

@keyframes iconPop {
  from {
    opacity: 0;
    transform: translateY(10px) scale(0.9);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}


.modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.6);
  backdrop-filter: blur(10px);
  display: none;
  z-index: 99999 !important;
}

.modal-overlay.active {
  display: flex !important;
}

.modal {
  width: 100%;
  height: 100%;
  background: #fff;
  overflow: hidden;
  display: flex;
}

.modal-close {
  position: absolute;
  top: 20px;
  right: 20px;
  z-index: 10;
  font-size: 20px;
  background: none;
  border: none;
  cursor: pointer;
}

/* LAYOUT */

.wrapper{
display:flex;
min-height:100vh;
}

/* LEFT PANEL */

.left{
width:48%;
position:relative;
background-image:url("https://images.unsplash.com/photo-1501281668745-f7f57925c3b4?q=80&w=2000");
background-size:cover;
background-position:center;
display:flex;
flex-direction:column;
justify-content:space-between;
color:white;
}

/* overlay */

.left::before{
content:"";
position:absolute;
inset:0;
background:
linear-gradient(to bottom, rgba(0,0,0,.6), rgba(0,0,0,.2) 40%, rgba(0,0,0,.7));
}

/* HEADER */

.hero-header{
position:relative;
display:flex;
align-items:center;
gap:10px;
padding:28px 40px;
font-weight:600;
}

.hero-logo{
width:34px;
height:34px;
border-radius:8px;
background:white;
display:flex;
align-items:center;
justify-content:center;
color:#5b5fff;
font-weight:700;
}

/* HERO CONTENT */

.hero-content{
position:relative;
padding:40px;
max-width:520px;
margin-bottom:60px;
}

.hero-content h1{
font-size:30px;
margin-bottom:16px;
}
.gradient-eticks{
font-weight:700;

background:linear-gradient(120deg,#4f46e5,#7c3aed,#9333ea);
-webkit-background-clip:text;
-webkit-text-fill-color:transparent;
background-clip:text;
}
.hero-content p{
font-size:12px;
line-height:1.6;
opacity:.9;
}

/* RIGHT FORM */

.right{
flex:1;
display:flex;
justify-content:center;
align-items:center;
padding:50px;
}

.form-container{
background:rgb(223, 223, 223);
padding:20px;
margin-top: -10px;
border-radius:20px;
width:100%;
max-width:720px;
}
@media(max-width:900px){

.right{
padding:0 !important;
}

.form-container{
max-width:100%;
width:100%;
min-height:100vh;

border-radius:0;
margin:0;
padding:24px 18px;

background:white;
}

}
h2{
font-size:20px;
margin-bottom:10px;
}

/* PROGRESS */

.progress{
height:5px;
background:#eee;
border-radius:20px;
margin-bottom:30px;
overflow:hidden;
}

.progress-bar{
height:100%;
width:25%;
background:#048300;
transition:.4s;
}

/* STEPS */

.step{
display:none;
animation:fade .45s ease;
}

.step.active{
display:block;
}

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

/* INPUTS */

label{
font-size:14px;
font-weight:600;
display:block;
margin-bottom:6px;
}

input{
width:100%;
padding:12px;
border-radius:8px;
border:1px solid #ddd;
margin-bottom:16px;
}

input:focus{
outline:none;
border-color:#5b5fff;
box-shadow:0 0 0 3px rgba(91,95,255,0.1);
}

/* LOGO AREA */

.logo-area{
display:flex;
align-items:center;
gap:15px;
margin-bottom:10px;
}

.logo-preview{
width:70px;
height:70px;
border-radius:14px;
background:#f5f6ff;
display:flex;
align-items:center;
justify-content:center;
border:1px solid #e3e6ff;
}

.logo-preview svg{
width:28px;
height:28px;
fill:#9aa3ff;
}

.logo-upload{
border:1px dashed #cfd4ff;
padding:10px 16px;
border-radius:8px;
cursor:pointer;
font-size:14px;
background:#fafbff;
transition:.25s;
}

.logo-upload:hover{
border-color:#5b5fff;
background:#f4f5ff;
}

.logo-note{
font-size:13px;
color:#777;
margin-bottom:18px;
}

.field-msg{
font-size:13px;
color:#ff4d4f;
margin-top:-10px;
margin-bottom:10px;
opacity:0;
transition:.3s;
}

/* OPTIONS */

.options{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:10px;
margin-bottom:20px;
}

.category-options{
grid-template-columns:repeat(3,1fr);
}

.option{
padding:12px;
border-radius:10px;
border:1px solid #ddd;
text-align:center;
cursor:pointer;
font-size:14px;
transition:.2s;
}

.option:hover{
border-color:#5b5fff;
transform:translateY(-2px);
box-shadow:0 6px 14px rgba(0,0,0,0.06);
}

.option.selected{
background:#5b5fff;
color:white;
border-color:#5b5fff;
}

.hidden{
display:none;
}

/* BUTTONS */

.buttons{
display:flex;
justify-content:space-between;
margin-top:20px;
}

button{
padding:12px 22px;
border-radius:8px;
border:none;
cursor:pointer;
font-weight:600;
}

.next{
background:linear-gradient(135deg,#5b5fff,#7a4bff);
color:white;
}

.next:hover{
transform:translateY(-2px);
box-shadow:0 10px 18px rgba(91,95,255,.25);
}

.back{
background:#eee;
}

/* SUCCESS */

.success{
display:none;
text-align:center;
padding:40px;
}

.success h3{
font-size:30px;
margin-bottom:10px;
}

/* MOBILE */

@media(max-width:900px){

.left{
display:none;
}

.wrapper{
flex-direction:column;
}

.right{
padding:20px;
}

}
/* ONBOARDING HEADER */

.onboarding-header{
margin-bottom:28px;
}

.onboarding-badge{
display:inline-block;
background:#f3f4ff;
color:#5b5fff;
font-size:12px;
font-weight:600;
padding:5px 10px;
border-radius:20px;
margin-bottom:10px;
}

.onboarding-header h2{
font-size:26px;
margin-bottom:8px;
}

.onboarding-desc{
font-size:14px;
color:#666;
line-height:1.5;
margin-bottom:16px;
}

.onboarding-info{
display:flex;
flex-direction:column;
gap:6px;
}

.info-item{
display:flex;
align-items:center;
gap:8px;
font-size:14px;
color:#444;
}

.info-icon{
background:#5b5fff;
color:white;
width:18px;
height:18px;
display:flex;
align-items:center;
justify-content:center;
border-radius:50%;
font-size:11px;
}

/* ==========================
PAGE LOADER
========================== */

#pageLoader{
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background:#ffffff;
display:flex;
align-items:center;
justify-content:center;
z-index:1 !important;
transition:opacity .35s ease;
}

/* hidden state */

#pageLoader.hide{
opacity:0;
pointer-events:none;
}

/* spinner */

.loader-spinner{
width:38px;
height:38px;
border-radius:50%;
border:3px solid #e5e5e5;
border-top:3px solid #000;
animation:spin .8s linear infinite;
}

@keyframes spin{
to{ transform:rotate(360deg); }
}

