:root{
  --bg:#f5f7fb;
  --card:#ffffff;
  --text:#0f172a;
  --muted:#64748b;
  --border:#e5e7eb;
  --primary:#4f46e5;
  --primary2:#6366f1;
  --sidebar:#0b1220;
  --sidebar2:#0f172a;
  --radius:18px;
}

*{box-sizing:border-box}
html,body{height:100%}

/* ✅ IMPORTANT: extra top gap / weird space prevent */
body{ margin:0; }
body.app-body{
  margin:0;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--text);
  background:
    radial-gradient(900px 350px at 20% 10%, rgba(79,70,229,.12), transparent 60%),
    radial-gradient(800px 320px at 85% 20%, rgba(99,102,241,.10), transparent 55%),
    var(--bg);
}

/* Topbar */
.topbar{
  position: sticky;
  top: 0;
  z-index: 1030;
  height:56px;
  min-height:56px;
  /* One solid color (same vibe as sidebar) */
  background: linear-gradient(180deg, rgba(15,23,42,.98), rgba(11,18,32,.98));
  border-bottom: 1px solid rgba(255,255,255,.10);
  display:flex;
  align-items:center;
  overflow:hidden;
}

/* Left strip under brand (aligns with sidebar width) */
.topbar::before{ display:none; }
.topbar .container-fluid{ position:relative; z-index:1; }
.topbar .container-fluid{
  height:56px;
  min-height:56px;
  padding: 0 16px;
  display:flex;
  align-items:center;
}
.topbar .badge-soft{ border-radius: 999px; padding:.35rem .6rem; }

/* Brand logo */
.brand-logo{ height:34px; width:auto; display:block; background:transparent !important; }
.brand-text-hide{ display:inline; }

/* Brand on the left dark strip */
.topbar .brand-link{ color:#fff !important; }
.topbar .brand-link .fw-bold{ color:#fff !important; }

/* Topbar buttons on dark background */
.topbar .btn-outline-secondary{
  color: rgba(255,255,255,.92) !important;
  border-color: rgba(255,255,255,.22) !important;
}
.topbar .btn-outline-secondary:hover{
  background: rgba(255,255,255,.12) !important;
  border-color: rgba(255,255,255,.28) !important;
}

/* ✅ FIX: topbar ke baad section me extra blank space na aye */
.topbar + *{
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Layout */
.sidebar{
  width:280px;
  background: linear-gradient(180deg, rgba(15,23,42,.98), rgba(11,18,32,.98));
  color: rgba(255,255,255,.9);
  border-right: 1px solid rgba(255,255,255,.08);
  position: sticky;
  top:56px;
  height: calc(100vh - 56px);
  overflow:auto;
}
.sidebar .fw-bold{ color:#fff; }
.sidebar a{
  display:flex; align-items:center; gap:10px;
  padding:.6rem .75rem; border-radius: .9rem;
  color: rgba(255,255,255,.82);
  text-decoration:none !important;
  transition: transform .15s ease, background .15s ease, color .15s ease;
}
.sidebar a i{ font-size:18px; opacity:.95; }
.sidebar a:hover{ background: rgba(99,102,241,.14); color:#fff; transform: translateX(2px); }
.sidebar a.active{
  background: linear-gradient(135deg, rgba(79,70,229,.95), rgba(99,102,241,.85));
  color:#fff;
  box-shadow: 0 10px 25px rgba(79,70,229,.25);
}
.sidebar .section{
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color: rgba(255,255,255,.55);
  margin-top: 16px;
  margin-bottom: 8px;
}

/* Main */
main.flex-grow-1{
  padding: 22px 22px 40px;
  min-height: calc(100vh - 56px);
}

/* Cards */
.card{
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: 0 10px 30px rgba(15,23,42,.05);
}
.card:hover{ transform: translateY(-2px); transition: transform .2s ease; }

/* Buttons */
.btn-3d{
  border-radius: 12px;
  box-shadow: 0 8px 0 rgba(15,23,42,.14);
  transform: translateY(0);
  transition: transform .12s ease, box-shadow .12s ease, filter .12s ease;
}
.btn-3d:hover{ filter: brightness(1.02); }
.btn-3d:active{ transform: translateY(6px); box-shadow: 0 2px 0 rgba(15,23,42,.14); }
.btn-primary{ background: linear-gradient(135deg, var(--primary), var(--primary2)); border:none; }

/* Soft badge */
.badge-soft{
  background: rgba(79,70,229,.10);
  color: var(--primary);
  border: 1px solid rgba(79,70,229,.18);
  font-weight: 600;
}

/* ✅ HERO FIX (main issue) */
.hero{
  background: transparent;
  height: auto !important;
  min-height: 0 !important;
  padding-top: 24px;
  padding-bottom: 24px;
  margin-top: 0 !important;
}

/* ✅ If first section is taking full screen, force all common wrappers to behave */
.hero, .banner, .landing, .page-hero, header.hero{
  height: auto !important;
  min-height: 0 !important;
}

/* Mobile */
#sidebarOverlay{
  display:none;
  position:fixed;
  inset:0;
  background: rgba(2,6,23,.55);
  z-index: 1025;
}
body.sidebar-open #sidebarOverlay{ display:block; }

@media(max-width:992px){
  .sidebar{
    position: fixed;
    left:-300px;
    top:56px;
    height: calc(100vh - 56px);
    z-index:1035;
    transition:left .22s ease;
  }
  body.sidebar-open .sidebar{ left:0; }
  main.flex-grow-1{ padding: 16px; }
}
/* =========================
   CUSTOM THEME UPDATE (Sidebar + 3D Links)
========================= */
:root{
  --sidebarA:#061a2d;
  --sidebarB:#120a3a;
  --sidebarGlow: rgba(34,211,238,.14);
}

.sidebar{
  background:
    radial-gradient(800px 420px at 20% 10%, rgba(34,211,238,.14), transparent 60%),
    radial-gradient(700px 380px at 90% 20%, rgba(167,139,250,.14), transparent 62%),
    linear-gradient(180deg, var(--sidebarA), var(--sidebarB));
  border-right: 1px solid rgba(255,255,255,.10);
  box-shadow: 18px 0 40px rgba(0,0,0,.25);
}

/* Make sure sidebar never shrinks on any page */
.d-flex > .sidebar{ flex: 0 0 280px; min-width:280px; max-width:280px; }

.sidebar a{
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.08);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    0 10px 22px rgba(0,0,0,.18);
  transform: translateY(0);
}
.sidebar a:hover{
  background: rgba(34,211,238,.12);
  border-color: rgba(34,211,238,.30);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.14),
    0 16px 30px rgba(0,0,0,.22);
  transform: translateY(-1px);
}
.sidebar a:active{
  transform: translateY(1px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.12),
    0 8px 16px rgba(0,0,0,.18);
}
.sidebar a.active{
  background: linear-gradient(135deg, rgba(255,138,0,.95), rgba(59,130,246,.92));
  border-color: rgba(255,255,255,.10);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.18),
    0 18px 40px rgba(59,130,246,.22),
    0 18px 40px rgba(255,138,0,.14);
}

/* Ionicons sizing in sidebar */
.sidebar ion-icon{ font-size:18px; opacity:.98; }


/* =========================
   SIDEBAR FIX (buttons/links)
   Paste at the END of style.css
========================= */
.sidebar{ background: linear-gradient(180deg, var(--sidebarA, #061a2d), var(--sidebarB, #120a3a)) !important; }
.sidebar a{
  width:100%;
  margin: 0 0 10px 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.sidebar a i,
.sidebar ion-icon{
  width:22px;
  min-width:22px;
  text-align:center;
}
.sidebar .section{
  margin-top:14px;
  margin-bottom:8px;
  letter-spacing:.08em;
}

