:root{--bg:#0b0b0e;--bg-black:#000;--charcoal:#121216;--gray:#2a2a31;--text:#e9e9ef;--muted:#a3a3af;--neon:#19ff72;--red:#ff2b2b;--blue:#3ae1ff}
html,body{background-color:var(--bg);color:var(--text)}
body{font-family:"Poppins","Montserrat",system-ui,Segoe UI,Roboto,Arial,sans-serif}
.brand{letter-spacing:.08em}
.heading{font-family:"Bebas Neue","Montserrat",sans-serif;line-height:1.05}
.section-title{font-family:"Bebas Neue","Montserrat",sans-serif;font-size:2.25rem}
.bg-black{background-color:var(--bg-black)!important}
.text-secondary{color:var(--muted)!important}
.border-secondary{border-color:#2f2f38!important}
.py-6{padding-top:4.5rem;padding-bottom:4.5rem}
.hero{background-image:linear-gradient(180deg,rgba(0,0,0,.6),rgba(0,0,0,.6)),url("https://images.unsplash.com/photo-1518310951190-00a3045ad09a?q=80&w=1600&auto=format&fit=crop");background-size:cover;background-position:center}
.btn-neon{background:linear-gradient(90deg,var(--neon),#8cffc1);color:#000;font-weight:700;border:none;box-shadow:0 0 24px rgba(25,255,114,.35)}
.btn-neon:hover{filter:brightness(.95)}
.feature-card,.program-card,.trainer-card,.price-card,.product-card,.blog-card,.testimonial,.contact-form{background:linear-gradient(180deg,rgba(18,18,22,.9),rgba(18,18,22,.8));border:1px solid rgba(58,58,70,.4)}
.price-card .display-6{color:#fff}
.border-neon{border:2px solid var(--neon)}
.object-fit-cover{object-fit:cover;width:100%;height:100%}
.ratio img{transition:transform .6s ease,filter .6s ease}
.ratio:hover img{transform:scale(1.06);filter:contrast(110%)}
.product-card .add-to-cart{min-width:84px}
.cart-items .list-group-item{background-color:transparent;color:var(--text)}
.blog-card{transition:transform .25s ease,box-shadow .25s ease}
.blog-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(0,0,0,.35)}
.navbar .nav-link{opacity:.85}
.navbar .nav-link:hover{opacity:1}
.badge{border-radius:.375rem;padding:.65rem .8rem}
.small,small{color:var(--muted)}
.testimonial{box-shadow:0 10px 30px rgba(0,0,0,.4)}
.text-neon{color:var(--neon)!important}
.program-card,.feature-card,.price-card,.trainer-card,.product-card,.blog-card,.contact-form{transition:transform .25s ease,box-shadow .25s ease, border-color .25s ease}
.program-card:hover,.feature-card:hover,.price-card:hover,.trainer-card:hover,.product-card:hover,.blog-card:hover,.contact-form:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(0,0,0,.35);border-color:rgba(58,58,70,.7)}
.btn-outline-light{border-color:#444;color:#eaeaf0}
.btn-outline-light:hover{background-color:#1a1a1f;color:#fff}
.scroll-reveal{opacity:0;transform:translateY(12px);transition:opacity .6s ease,transform .6s ease}
.scroll-reveal.revealed{opacity:1;transform:none}
.cart-count{min-width:20px;display:inline-block;text-align:center}
/* Admin Layout */
.admin-topbar{z-index:1040;height:64px;backdrop-filter:blur(10px);background:rgba(0,0,0,.85)!important}
.admin-search{position:relative;max-width:400px;width:100%}
.admin-search input{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding-left:40px;color:#fff}
.admin-search input:focus{background:rgba(255,255,255,.1);border-color:var(--neon);box-shadow:none}
.admin-search i{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:var(--muted)}
/* html,body{height:100%;overflow:hidden} Removed to fix frontend scrolling */
.admin-layout{display:flex;padding-top:64px;height:100vh;overflow:hidden}
.sidebar{width:300px;background:linear-gradient(180deg,#0b0b0e,#060608);border-right:1px solid rgba(255,255,255,.08);height:100%;padding:1.5rem 1rem;overflow-y:hidden;overflow-x:hidden}
.content{flex:1;background:#0b0b0e;padding:2rem;height:100%;overflow-y:auto}.sidebar-brand{font-family:"Bebas Neue",sans-serif;font-size:1.6rem;color:#fff;margin-bottom:2rem;padding-left:.5rem;letter-spacing:1px}
.sidebar-brand span{color:var(--neon)}
.sidebar-nav{display:flex;flex-direction:column;gap:0}
.sidebar-link{display:flex;align-items:center;gap:.75rem;padding:.2rem 1rem;border-radius:.6rem;color:var(--muted);text-decoration:none;border:1px solid transparent;font-size:.95rem;font-weight:500;transition:all .2s ease}
.sidebar-link i{font-size:1.2rem;opacity:.7}
.sidebar-link:hover{color:#fff;background:rgba(255,255,255,.03)}
.sidebar-link.active{color:#000;background:var(--neon);box-shadow:0 0 20px rgba(25,255,114,.3);font-weight:600}
.sidebar-link.active i{opacity:1}
.stat-card{background:linear-gradient(145deg,#121216,#0e0e11);border:1px solid rgba(255,255,255,.05);border-radius:1rem;padding:1.5rem;height:100%;transition:transform .2s;position:relative;overflow:hidden}
.stat-card:hover{transform:translateY(-2px);border-color:rgba(25,255,114,.3)}
.stat-card .icon-box{width:48px;height:48px;border-radius:12px;background:rgba(25,255,114,.1);color:var(--neon);display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:1rem}
.stat-card h3{font-family:"Bebas Neue",sans-serif;font-size:2.5rem;margin:0;line-height:1}
.stat-card p{color:var(--muted);margin:0;font-size:.9rem}
.stat-card .trend{font-size:.85rem;margin-top:.5rem;display:flex;align-items:center;gap:.3rem}
.stat-card .trend.up{color:var(--neon)}
.stat-card .trend.down{color:var(--red)}
.widget-card{background:#121216;border:1px solid rgba(255,255,255,.05);border-radius:1rem;height:100%;overflow:hidden}
.widget-header{padding:1.25rem;border-bottom:1px solid rgba(255,255,255,.05);display:flex;justify-content:space-between;align-items:center}
.widget-title{font-family:"Bebas Neue",sans-serif;font-size:1.25rem;margin:0;letter-spacing:.5px}
.widget-body{padding:1.25rem}
.avatar{width:40px;height:40px;border-radius:50%;background:#2a2a31;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:.9rem}
.table-widget th{font-weight:500;color:var(--muted);font-size:.85rem;text-transform:uppercase;letter-spacing:.5px;border-bottom-color:rgba(255,255,255,.1)}
.table-widget td{padding:1rem .5rem;border-bottom-color:rgba(255,255,255,.05);color:#e9e9ef}
.table-widget tr:last-child td{border-bottom:0}
@media (max-width: 992px){
  .sidebar{position:fixed;left:0;top:64px;transform:translateX(-100%);z-index:1039}
  body.sidebar-open .sidebar{transform:none}
  .content{padding:1rem}
}
.form-control,.form-select{color:var(--text)!important;background-color:var(--bg-black)!important;border-color:#3a3a46!important}
.form-control:focus,.form-select:focus{border-color:var(--neon)!important;box-shadow:0 0 0 .25rem rgba(25,255,114,.25)!important}
.form-control::placeholder{color:var(--muted)!important;opacity:1!important}
.form-select option{color:var(--text);background-color:var(--bg-black)}

/* Login Page Styles */
.login-page {
    background: linear-gradient(rgba(0,0,0,0.7), rgba(0,0,0,0.8)), url('https://images.unsplash.com/photo-1534438327276-14e5300c3a48?q=80&w=1600&auto=format&fit=crop');
    background-size: cover;
    background-position: center;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: auto;
}
.login-card {
    background: rgba(18, 18, 22, 0.85);
    backdrop-filter: blur(15px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 1.5rem;
    padding: 3rem;
    width: 100%;
    max-width: 450px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
}
.login-header {
    text-align: center;
    margin-bottom: 2.5rem;
}
.login-logo {
    font-family: "Bebas Neue", sans-serif;
    font-size: 2.5rem;
    color: #fff;
    letter-spacing: 2px;
    margin-bottom: 0.5rem;
}
.login-logo span {
    color: var(--neon);
}
.login-subtitle {
    color: var(--muted);
    font-size: 0.95rem;
}
.login-input-group {
    position: relative;
    margin-bottom: 1.5rem;
}
.login-input-group i {
    position: absolute;
    left: 1rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--muted);
    z-index: 10;
}
.login-input-group .form-control {
    padding-left: 3rem;
    height: 3.5rem;
    border-radius: 0.75rem;
    background: rgba(0, 0, 0, 0.4) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    transition: all 0.3s ease;
}
.login-input-group .form-control:focus {
    background: rgba(0, 0, 0, 0.6) !important;
    border-color: var(--neon) !important;
    box-shadow: 0 0 0 4px rgba(25, 255, 114, 0.1) !important;
}
