:root{
  --bg:#0b0f1a; --fg:#e7ecf3; --muted:#a6b1c2;
  --accent:#7c9cff; --accent2:#5fe1b5;
  --line:rgba(255,255,255,.08); --glass:rgba(255,255,255,.06);
  --border:rgba(255,255,255,.14); --shadow:0 10px 30px rgba(0,0,0,.35);
  --radius:16px; --header-h:56px
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  min-height:100vh;margin:0;display:flex;flex-direction:column;color:var(--fg);
  background:
    radial-gradient(1000px 600px at 10% -10%,#19213a 0%,transparent 60%),
    radial-gradient(900px 600px at 110% 10%,#1a2a3f 0%,transparent 60%),
    radial-gradient(700px 500px at 50% 120%,#0d1324 0%,transparent 60%),
    var(--bg);
  font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,"Helvetica Neue",Arial;
  line-height:1.5
}
main{flex:1;display:grid;place-items:center;padding:1.25rem}

a{color:var(--fg);text-decoration:none}
a:hover{color:var(--accent)}
.button{
  display:inline-flex;align-items:center;justify-content:center;gap:.5ch;
  padding:.55rem .9rem;border-radius:9999px;border:1px solid var(--border);
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));
  backdrop-filter:saturate(120%) blur(2px);box-shadow:var(--shadow);cursor:pointer
}
.button:hover{border-color:var(--accent);color:var(--accent)}
.button.outline{background:transparent}

.site-header{
  position:sticky;top:0;z-index:10000;min-height:var(--header-h);
  display:flex;align-items:center;justify-content:space-between;
  padding:.75rem 1rem;border-bottom:1px solid var(--line);
  background:rgba(11,15,26,.7);backdrop-filter:blur(8px) saturate(120%)
}
.site-header .left{display:flex;align-items:center;gap:.5rem}
.burger{appearance:none;background:transparent;border:0;padding:.5rem;cursor:pointer;border-radius:9999px}
.burger:hover{background:var(--glass)}
.burger i{display:block;width:20px;height:2px;background:var(--fg);box-shadow:0 6px 0 var(--fg),0 -6px 0 var(--fg)}
.header-logo img{height:22px;width:auto;display:block;position:relative;z-index:1}
.btn-login{padding:.5rem .9rem;border-radius:9999px;border:1px solid var(--border);
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02))}
.btn-login:hover{border-color:var(--accent);color:var(--accent)}

/* overlay + drawer (single, consolidated rules) */
.overlay{
  position:fixed;left:0;right:0;bottom:0;top:var(--header-h);
  background:rgba(0,0,0,.4);backdrop-filter:saturate(140%) blur(2px);
  display:none;z-index:8000;pointer-events:none
}
.overlay.show{display:block;pointer-events:auto}

.drawer{
  position:fixed;left:0;top:var(--header-h);bottom:0;width:280px;max-width:85vw;
  background:rgba(15,20,33,.98);
  border-right:1px solid var(--line);border-top:1px solid var(--line);
  transform:translateX(-102%);transition:transform .2s ease;z-index:9000;
  display:flex;flex-direction:column;height:calc(100vh - var(--header-h));
  overflow-y:auto;-webkit-overflow-scrolling:touch;padding-top:8px
}
.drawer.open{transform:translateX(0)}

.drawer .nav{padding:12px;display:flex;flex-direction:column;gap:10px}

/* drawer items */
.nav-item,
.drawer .nav > a,
.dropdown .dropdown-toggle{
  width:100%;display:flex;align-items:center;justify-content:space-between;
  font-size:1.08rem;font-weight:600;padding:.78rem 1rem;
  border:1px solid var(--border);border-radius:.9rem;
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.03);color:var(--fg)
}
.nav-item:hover,
.drawer .nav > a:hover,
.dropdown .dropdown-toggle:hover{border-color:var(--line);background:var(--glass)}
.nav-item.active,
.drawer .nav > a.active,
.dropdown.open .dropdown-toggle{
  border-color:rgba(124,156,255,.45);
  box-shadow:inset 0 0 0 1px rgba(124,156,255,.22);
  color:var(--accent)
}

.dropdown{margin-top:.25rem}
.dropdown .dropdown-toggle{text-align:left;background:transparent;cursor:pointer}
.dropdown .dropdown-toggle .label{flex:1}
.dropdown .caret{display:inline-block;width:1ch;text-align:center;margin-left:.5rem;font-weight:700;opacity:.95}
.dropdown .dropdown-menu{
  display:none;margin:.5rem 0 0 .2rem;padding:.5rem;
  border:1px solid var(--line);border-radius:.7rem;background:rgba(255,255,255,.03)
}
.dropdown.open .dropdown-menu{display:block}
.dropdown .dropdown-menu .nav-subitem{
  position:relative;display:block;font-size:.96rem;font-weight:500;padding:.55rem .65rem .55rem 1.15rem;
  border:1px solid transparent;border-radius:.55rem;color:var(--fg)
}
.dropdown .dropdown-menu .nav-subitem::before{
  content:"|";position:absolute;left:.45rem;top:50%;transform:translateY(-50%);opacity:.45
}
.dropdown .dropdown-menu .nav-subitem:hover{border-color:var(--line);background:var(--glass)}
.dropdown .dropdown-menu .nav-subitem.active{
  border-color:rgba(95,225,181,.35);background:rgba(95,225,181,.10);color:var(--accent2)
}

/* card */
.card{
  width:min(900px,100%);border:1px solid var(--line);
  background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.02));
  border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden
}
.card .card-header{padding:1rem 1.25rem;border-bottom:1px solid var(--line);font-weight:600}
.card .card-body{padding:1.25rem}

/* footer + helpers */
.site-footer{padding:1rem;border-top:1px solid var(--line);color:var(--muted);text-align:center}
.center{display:grid;place-items:center}
.text-muted{color:var(--muted)}

/* optional: prevent page scroll while drawer is open if you toggle .drawer-open on body */
body.drawer-open{overflow:hidden}

.site-header{ z-index:10000 !important; }

.drawer{
  position:fixed;
  left:0;
  top:var(--header-h) !important;
  bottom:0;
  width:280px;
  max-width:85vw;
  background:rgba(15,20,33,.98);
  border-right:1px solid var(--line);
  border-top:1px solid var(--line);
  padding-top:8px;
  transform:translateX(-102%);
  transition:transform .2s ease;
  z-index:9000 !important;
  height:calc(100vh - var(--header-h)) !important;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
}
.drawer.open{ transform:translateX(0) !important; }

.overlay{
  position:fixed;
  left:0; right:0; bottom:0;
  top:var(--header-h) !important;
  background:rgba(0,0,0,.4);
  display:none;
  z-index:8000 !important;
  pointer-events:none;
}
.overlay.show{
  display:block;
  pointer-events:auto;
}
