.billing-body{
  display:flex;
  min-height:100vh;
  background:var(--bg)
}
.mobile-toggle{
  display:none;
  position:fixed;
  top:.85rem;
  left:1rem;
  z-index:102;
  width:40px;height:40px;
  align-items:center;
  justify-content:center;
  border-radius:8px;
  background:var(--surface);
  border:1px solid var(--border);
  color:var(--text-dim);
  font-size:1.15rem
}
.mobile-overlay{
  display:none;
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.6);
  z-index:98
}
.mobile-overlay.show{display:block}
.billing-sidebar{
  position:fixed;
  left:0;top:0;
  width:280px;
  height:100vh;
  background:rgba(10,10,14,.95);
  backdrop-filter:blur(20px);
  border-right:1px solid var(--border);
  display:flex;
  flex-direction:column;
  z-index:99
}
.sidebar-header{
  padding:1.5rem 1.25rem;
  border-bottom:1px solid var(--border)
}
.sidebar-header .logo{
  display:flex;
  align-items:center;
  gap:.65rem;
  font-size:1.15rem;
  font-weight:700;
  font-family:var(--font-display)
}
.sidebar-header .logo i{color:var(--accent)}
.sidebar-header .back-link{
  display:flex;
  align-items:center;
  gap:.5rem;
  font-size:.88rem;
  color:var(--text-dim);
  margin-top:.6rem;
  transition:color .2s
}
.sidebar-header .back-link:hover{color:var(--accent)}
.sidebar-nav{
  flex:1;
  padding:1.25rem;
  overflow-y:auto
}
.nav-section{
  margin-bottom:1.5rem
}
.nav-section-title{
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:1px;
  color:var(--text-muted);
  font-weight:600;
  margin-bottom:.5rem;
  padding:0 .5rem
}
.nav-item{
  display:flex;
  align-items:center;
  gap:.75rem;
  padding:.65rem .75rem;
  border-radius:8px;
  font-size:.88rem;
  color:var(--text-dim);
  transition:all .3s var(--ease-smooth);
  cursor:pointer
}
.nav-item:hover{
  background:rgba(20,20,25,.6);
  border:2px solid var(--border);
  color:var(--text)
}
.nav-item.active{
  background:var(--accent-dim);
  color:var(--accent);
  font-weight:500;
  border:2px solid transparent
}
.nav-item i{width:20px;text-align:center;opacity:.7}
.main-content{
  margin-left:280px;
  flex:1;
  overflow-y:auto;
  height:100vh
}
.content-wrapper{
  max-width:1200px;
  padding:3rem 2rem
}
.page-header{
  margin-bottom:2.5rem
}
.page-header h1{
  font-family:var(--font-display);
  font-size:1.8rem;
  font-weight:700
}
.page-header p{
  font-size:.95rem;
  color:var(--text-dim);
  margin-top:.35rem
}
.current-plan{
  padding:1.5rem;
  border-radius:16px;
  background:var(--surface);
  border:1px solid var(--border);
  margin-bottom:2.5rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:1rem
}
.current-plan h2{
  font-family:var(--font-display);
  font-size:1.1rem;
  font-weight:600
}
.current-tier{
  font-family:var(--font-mono);
  font-size:.85rem;
  color:var(--accent);
  font-weight:500
}
.current-status{
  padding:.3rem .75rem;
  border-radius:20px;
  font-size:.72rem;
  font-weight:600;
  background:rgba(0,255,136,.08);
  border:1px solid rgba(0,255,136,.15);
  color:#00ff88
}
.plans-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:1.5rem
}
.plan-card{
  position:relative;
  background:rgba(18,18,28,.85);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  border:1px solid var(--border);
  border-radius:16px;
  padding:2rem;
  transition:all .4s var(--ease-out-quart);
  display:flex;
  flex-direction:column;
  will-change:transform
}
.plan-card:hover{
  border-color:rgba(184,200,216,.3);
  transform:translate3d(0,-6px,0);
  box-shadow:0 20px 60px rgba(184,200,216,.15)
}
.plan-card.featured{
  border-color:rgba(184,200,216,.35);
  box-shadow:0 0 30px rgba(184,200,216,.1)
}
.plan-badge{
  position:absolute;
  top:1rem;right:1rem;
  padding:.25rem .75rem;
  border-radius:20px;
  font-size:.68rem;
  font-weight:700;
  text-transform:uppercase;
  background:var(--accent);
  color:#fff
}
.plan-name{
  font-family:var(--font-display);
  font-size:1.4rem;
  font-weight:700;
  margin-bottom:.35rem
}
.plan-price{
  font-size:2.2rem;
  font-weight:700;
  font-family:var(--font-mono);
  color:var(--accent);
  margin-bottom:.15rem
}
.plan-duration{
  color:var(--text-muted);
  font-size:.88rem;
  margin-bottom:1.5rem
}
.plan-features{
  flex:1;
  margin-bottom:1.5rem
}
.plan-features li{
  padding:.65rem 0;
  border-bottom:1px solid var(--border);
  display:flex;
  align-items:center;
  gap:.75rem;
  font-size:.88rem;
  color:var(--text-dim)
}
.plan-features li:last-child{border-bottom:none}
.plan-features li i{color:var(--accent);width:18px;font-size:.85rem}
.plan-features li.muted{color:var(--text-muted)}
.plan-features li.muted i{opacity:.3}
.btn-upgrade{
  width:100%;
  background:linear-gradient(135deg,var(--accent),#788898);
  color:#fff;
  border:none;
  padding:.85rem 1rem;
  border-radius:8px;
  font-weight:700;
  font-size:.88rem;
  cursor:pointer;
  transition:all .25s;
  font-family:inherit
}
.btn-upgrade:hover{
  transform:translateY(-2px);
  box-shadow:0 6px 20px rgba(184,200,216,.3)
}
.section.tab-content{display:none}
.section.tab-content.active{display:block}
@keyframes slideIn{from{opacity:0;transform:translateX(40px)}to{opacity:1;transform:translateX(0)}}
@media(max-width:768px){
  .mobile-toggle{display:flex}
  .billing-sidebar{
    transform:translate3d(-100%,0,0);
    transition:transform .45s var(--ease-smooth);
    will-change:transform
  }
  .billing-sidebar.open{transform:translate3d(0,0,0)}
  .main-content{margin-left:0;padding-top:4rem}
  .content-wrapper{padding:2rem 1rem}
}
@media(max-width:480px){
  .plans-grid{grid-template-columns:1fr}
  .plan-card{padding:1.5rem}
  .plan-price{font-size:1.8rem}
  .plan-name{font-size:1.2rem}
  .current-plan{flex-direction:column;align-items:flex-start;gap:.5rem;padding:1rem}
  .page-header h1{font-size:1.4rem}
  .content-wrapper{padding:1.5rem .85rem}
}
