@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap');
:root{
  --primary:#2563EB;--primary-dark:#1D4ED8;--primary-light:#DBEAFE;--primary-ultra:#EFF6FF;
  --accent:#F97316;--green:#16A34A;--green-light:#DCFCE7;
  --red:#DC2626;--red-light:#FEE2E2;--yellow:#D97706;--yellow-light:#FEF3C7;
  --purple:#7C3AED;--teal:#0D9488;
  --white:#FFFFFF;--bg:#F8FAFC;--card:#FFFFFF;
  --text:#0F172A;--text-2:#334155;--muted:#64748B;
  --border:#E2E8F0;--border-2:#CBD5E1;
  --radius:14px;--radius-lg:20px;
  --shadow:0 2px 12px rgba(37,99,235,.08);
  --shadow-lg:0 8px 32px rgba(37,99,235,.14);
  --shadow-blue:0 4px 18px rgba(37,99,235,.28);
  --orange:var(--accent);--orange-light:#FFF7ED;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--text);font-family:'Inter',sans-serif;min-height:100vh;-webkit-font-smoothing:antialiased;}
a{text-decoration:none;color:inherit;}
img{max-width:100%;}
button{font-family:'Inter',sans-serif;cursor:pointer;}

/* ===== NAVBAR ===== */
.navbar{position:fixed;top:0;width:100%;z-index:300;background:rgba(255,255,255,.97);border-bottom:1px solid var(--border);backdrop-filter:blur(12px);box-shadow:0 1px 6px rgba(0,0,0,.05);}
.navbar-inner{display:flex;align-items:center;justify-content:space-between;padding:0 5%;height:56px;max-width:1400px;margin:0 auto;}
.navbar-brand{font-size:1rem;font-weight:800;color:var(--primary);display:flex;align-items:center;gap:6px;text-decoration:none;flex-shrink:0;}
.navbar-brand img{height:24px;width:24px;object-fit:contain;border-radius:5px;}
.nav-links{display:flex;align-items:center;gap:2px;}
.nav-link-item{color:var(--muted);font-size:.83rem;font-weight:500;padding:.38rem .7rem;border-radius:8px;transition:all .2s;text-decoration:none;}
.nav-link-item:hover{color:var(--primary);background:var(--primary-ultra);}
.nav-divider{width:1px;height:18px;background:var(--border);margin:0 4px;}
.nav-right{display:flex;align-items:center;gap:6px;}
.btn-nav{background:var(--primary);color:#fff;padding:.38rem 1rem;border-radius:20px;font-weight:700;font-size:.8rem;border:none;transition:all .2s;text-decoration:none;cursor:pointer;white-space:nowrap;}
.btn-nav:hover{background:var(--primary-dark);}
.btn-nav-outline{background:transparent;color:var(--primary);padding:.36rem .9rem;border-radius:20px;font-weight:700;font-size:.8rem;border:2px solid var(--primary);text-decoration:none;white-space:nowrap;}
.notif-bell{position:relative;font-size:1.1rem;padding:5px 6px;border-radius:8px;transition:background .2s;cursor:pointer;text-decoration:none;}
.notif-bell:hover{background:var(--primary-ultra);}
.notif-count{position:absolute;top:-3px;right:-3px;background:var(--red);color:#fff;font-size:.55rem;font-weight:800;width:14px;height:14px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid #fff;}
/* Hamburger */
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:5px;margin-left:4px;}
.hamburger span{display:block;width:20px;height:2px;background:var(--text);border-radius:2px;transition:all .3s;}
/* Mobile menu */
.mobile-menu{display:none;position:fixed;top:56px;left:0;right:0;background:#fff;border-bottom:1px solid var(--border);padding:10px 0;z-index:299;box-shadow:0 8px 20px rgba(0,0,0,.1);}
.mobile-menu.open{display:block;}
.mobile-menu a{display:flex;align-items:center;gap:8px;color:var(--text-2);font-size:.88rem;font-weight:500;padding:11px 20px;border-bottom:1px solid #F8FAFC;text-decoration:none;}
.mobile-menu a:last-child{border-bottom:none;}
.mobile-menu a:hover{background:var(--primary-ultra);color:var(--primary);}
.page-content{padding-top:56px;}

/* ===== BUTTONS ===== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:.65rem 1.4rem;border-radius:50px;font-weight:700;font-size:.88rem;border:none;cursor:pointer;transition:all .2s;text-decoration:none;}
.btn-primary{background:var(--primary);color:#fff;box-shadow:var(--shadow-blue);}
.btn-primary:hover{background:var(--primary-dark);transform:translateY(-1px);}
.btn-accent{background:var(--accent);color:#fff;}
.btn-green{background:var(--green);color:#fff;}
.btn-red{background:var(--red);color:#fff;}
.btn-outline{background:#fff;border:2px solid var(--primary);color:var(--primary);}
.btn-outline:hover{background:var(--primary-ultra);}
.btn-sm{padding:.32rem .8rem;font-size:.76rem;border-radius:20px;}
.btn-full{width:100%;border-radius:var(--radius);}
.btn-white{background:#fff;color:var(--primary);font-weight:800;}

/* ===== CARDS ===== */
.card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);}
.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;}
.card-title{font-size:.9rem;font-weight:700;color:var(--text);}

/* ===== FORMS ===== */
.form-group{margin-bottom:12px;}
label{display:block;font-size:.8rem;font-weight:600;color:var(--text-2);margin-bottom:4px;}
input[type="text"],input[type="email"],input[type="password"],input[type="tel"],input[type="number"],input[type="url"],input[type="date"],select,textarea{width:100%;background:#F8FAFC;border:2px solid var(--border);border-radius:10px;padding:.62rem .9rem;color:var(--text);font-size:.86rem;font-family:'Inter',sans-serif;transition:all .2s;}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px rgba(37,99,235,.08);}
input[type="color"]{height:40px;padding:.3rem;}
input[type="file"]{background:#fff;padding:.5rem;}
textarea{resize:vertical;min-height:80px;}
.form-hint{font-size:.72rem;color:var(--muted);margin-top:3px;}

/* ===== AUTH PAGES ===== */
.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:linear-gradient(135deg,#EFF6FF 0%,#E0EFFE 50%,#EDE9FE 100%);}
.auth-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.8rem;width:100%;max-width:420px;box-shadow:var(--shadow-lg);}
.auth-logo{text-align:center;margin-bottom:1.2rem;}
.auth-logo-icon{font-size:2.2rem;display:block;margin-bottom:5px;}
.auth-card h2{font-size:1.25rem;font-weight:800;margin-bottom:3px;text-align:center;}
.auth-card p{color:var(--muted);font-size:.83rem;margin-bottom:1.2rem;text-align:center;}
.form-link{color:var(--primary);font-weight:600;}

/* ===== ALERTS ===== */
.alert{padding:.75rem 1rem;border-radius:10px;font-size:.84rem;margin-bottom:12px;display:flex;align-items:flex-start;gap:7px;}
.alert-success{background:var(--green-light);border:1px solid rgba(22,163,74,.2);color:#14532D;}
.alert-danger{background:var(--red-light);border:1px solid rgba(220,38,38,.2);color:#7F1D1D;}
.alert-info{background:var(--primary-light);border:1px solid rgba(37,99,235,.2);color:#1E3A8A;}
.alert-warning{background:var(--yellow-light);border:1px solid rgba(217,119,6,.2);color:#78350F;}

/* ===== BADGES ===== */
.badge{display:inline-block;padding:.18rem .55rem;border-radius:20px;font-size:.67rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;}
.badge-pending{background:var(--yellow-light);color:var(--yellow);}
.badge-approved{background:var(--green-light);color:var(--green);}
.badge-rejected{background:var(--red-light);color:var(--red);}
.badge-active{background:var(--primary-light);color:var(--primary);}
.badge-new{background:#EDE9FE;color:var(--purple);}

/* ===== TABLE ===== */
.table-wrap{overflow-x:auto;border-radius:var(--radius);border:1px solid var(--border);}
table{width:100%;border-collapse:collapse;background:#fff;min-width:500px;}
th{padding:.75rem 1rem;font-size:.68rem;text-align:left;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.07em;border-bottom:1px solid var(--border);background:#F8FAFC;white-space:nowrap;}
td{padding:.75rem 1rem;font-size:.83rem;border-bottom:1px solid var(--border);vertical-align:middle;}
tr:last-child td{border-bottom:none;}
tr:hover td{background:#FAFBFC;}

/* ===== PAGE HEADER ===== */
.page-header{background:#fff;border-bottom:1px solid var(--border);padding:12px 16px;}
.page-header h1{font-size:1.2rem;font-weight:800;}
.page-header p{color:var(--muted);font-size:.82rem;margin-top:2px;}

/* ===== DASHBOARD METRICS ===== */
.dash-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin-bottom:14px;}
.metric-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:13px;box-shadow:var(--shadow);}
.metric-label{font-size:.65rem;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.07em;margin-bottom:4px;}
.metric-value{font-size:1.2rem;font-weight:800;}
.metric-value.blue{color:var(--primary);}
.metric-value.green{color:var(--green);}
.metric-value.orange{color:var(--accent);}
.metric-value.red{color:var(--red);}
.metric-sub{font-size:.68rem;color:var(--muted);margin-top:2px;}

/* ===== PROGRESS ===== */
.progress-bar-wrap{background:var(--border);border-radius:50px;height:6px;overflow:hidden;}
.progress-bar-fill{height:6px;border-radius:50px;background:linear-gradient(90deg,var(--primary),var(--purple));transition:width .5s;}

/* ===== MEMBERSHIP CARDS ===== */
.membership-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;max-width:1100px;margin:0 auto;}
.mem-card{background:#fff;border:2px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);transition:all .25s;position:relative;}
.mem-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}
.mem-card.featured{border-color:var(--primary);}
.mem-top{padding:16px 14px 10px;}
.mem-badge{position:absolute;top:12px;right:12px;font-size:.6rem;font-weight:800;padding:.18rem .55rem;border-radius:20px;text-transform:uppercase;background:var(--accent);color:#fff;}
.mem-icon{font-size:1.8rem;margin-bottom:6px;}
.mem-name{font-size:.95rem;font-weight:800;color:var(--text);}
.mem-price{font-size:1.6rem;font-weight:900;margin:5px 0 3px;}
.mem-price span{font-size:.75rem;font-weight:400;color:var(--muted);}
.mem-features{list-style:none;padding:0 14px 12px;}
.mem-features li{font-size:.76rem;color:var(--muted);padding:3px 0;display:flex;align-items:center;gap:5px;}
.mem-features li::before{content:'✓';color:var(--green);font-weight:800;flex-shrink:0;}
.mem-btn-wrap{padding:4px 12px 12px;}

/* ===== TASK CARDS ===== */
.task-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:13px;box-shadow:var(--shadow);margin-bottom:9px;transition:all .2s;}
.task-card:hover{border-color:var(--primary);}
.task-header{display:flex;align-items:flex-start;gap:9px;margin-bottom:7px;}
.task-cat-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0;}
.task-reward{font-size:1.05rem;font-weight:900;color:var(--green);white-space:nowrap;}
.task-meta{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px;}
.task-tag{background:var(--bg);border:1px solid var(--border);border-radius:20px;padding:.18rem .6rem;font-size:.68rem;font-weight:600;color:var(--text-2);}

/* ===== TIMER ===== */
.task-timer{background:var(--primary);color:#fff;border-radius:12px;padding:10px;text-align:center;margin-bottom:10px;}
.timer-count{font-size:1.8rem;font-weight:900;letter-spacing:-.5px;}
.timer-label{font-size:.72rem;opacity:.8;margin-top:1px;}

/* ===== SECTIONS ===== */
.section{padding:56px 20px;}
.section-white{background:#fff;}
.section-gray{background:#F8FAFC;}
.section-blue{background:linear-gradient(135deg,#EFF6FF,#E0EFFE);}
.section-header{text-align:center;margin-bottom:2rem;}
.eyebrow{color:var(--primary);font-size:.68rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;margin-bottom:.4rem;display:block;}
.section-header h2{font-size:clamp(1.4rem,3vw,2rem);font-weight:800;letter-spacing:-.3px;}
.section-header p{color:var(--muted);margin-top:.4rem;font-size:.88rem;}

/* ===== ADMIN SIDEBAR ===== */
.admin-sidebar{position:fixed;left:0;top:0;bottom:0;width:210px;background:#0F172A;z-index:100;overflow-y:auto;}
.admin-logo{padding:16px;font-size:.88rem;font-weight:800;color:var(--primary);display:flex;align-items:center;gap:6px;border-bottom:1px solid rgba(255,255,255,.06);}
.admin-nav a{display:flex;align-items:center;gap:8px;padding:9px 16px;color:#94A3B8;font-size:.81rem;font-weight:500;transition:all .2s;border-left:3px solid transparent;text-decoration:none;}
.admin-nav a:hover,.admin-nav a.active{color:#fff;background:rgba(37,99,235,.15);border-left-color:var(--primary);}
.admin-main{margin-left:210px;padding:20px;min-height:100vh;background:var(--bg);}
.admin-topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;flex-wrap:wrap;gap:10px;}
.admin-topbar h1{font-size:1.2rem;font-weight:800;}

/* ===== FOOTER ===== */
.site-footer{background:#0F172A;padding:32px 20px 20px;}
.footer-brand{font-size:.95rem;font-weight:800;color:var(--primary);margin-bottom:6px;}
.footer-links{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-bottom:12px;}
.footer-links a{color:#64748B;font-size:.78rem;transition:color .2s;}
.footer-links a:hover{color:#fff;}
.footer-copy{color:#475569;font-size:.72rem;text-align:center;}

/* ===== BOTTOM NAV (Mobile only) ===== */
.bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;z-index:200;background:#0F172A;border-radius:16px 16px 0 0;padding:8px 8px 4px;grid-template-columns:repeat(5,1fr);align-items:center;box-shadow:0 -4px 20px rgba(0,0,0,.2);}
.bn-item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 2px;color:#64748B;text-decoration:none;}
.bn-item.active{color:#fff;}
.bn-icon{font-size:1rem;}
.bn-label{font-size:.58rem;font-weight:600;}
.bn-plus{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--accent),#DC2626);display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:#fff;margin-top:-12px;box-shadow:0 4px 12px rgba(249,115,22,.4);text-decoration:none;}

/* ===== SECTIONS / PLANS ===== */
.plans-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;max-width:1100px;margin:0 auto;}
.plan-card{background:#fff;border:2px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:all .25s;position:relative;}
.plan-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);}
.plan-card.featured{border-color:var(--primary);}
.plan-strip{height:4px;width:100%;}
.plan-pill-badge{position:absolute;top:12px;right:12px;font-size:.6rem;font-weight:800;padding:.18rem .55rem;border-radius:20px;text-transform:uppercase;background:var(--accent);color:#fff;}

/* ===== CATEGORY GRID ===== */
.category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;max-width:900px;margin:0 auto;}
.cat-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:14px 10px;text-align:center;box-shadow:var(--shadow);transition:all .2s;cursor:pointer;text-decoration:none;display:block;}
.cat-card:hover{border-color:var(--primary);transform:translateY(-2px);}

/* ===== ADV SECTION ===== */
.adv-section{background:linear-gradient(135deg,#1E3A8A,#1D4ED8);color:#fff;border-radius:var(--radius-lg);padding:1.8rem;text-align:center;}

/* ===== RESPONSIVE ===== */
@media(max-width:900px){
  .admin-sidebar{display:none;}
  .admin-main{margin-left:0;}
}
@media(max-width:768px){
  .nav-links{display:none;}
  .nav-divider{display:none;}
  .hamburger{display:flex;}
  .bottom-nav{display:grid;}
  .site-footer{padding-bottom:70px;}
  .membership-grid{grid-template-columns:1fr 1fr;}
  .plans-grid{grid-template-columns:1fr 1fr;}
  .section{padding:40px 16px;}
  .dash-grid{grid-template-columns:1fr 1fr;}
  .metric-value{font-size:1.05rem;}
  .page-header{padding:10px 14px;}
  .page-header h1{font-size:1.05rem;}
  .card{padding:13px;}
  table{min-width:400px;}
}
@media(max-width:480px){
  .navbar-inner{padding:0 4%;}
  .plans-grid{grid-template-columns:1fr;}
  .membership-grid{grid-template-columns:1fr;}
  .category-grid{grid-template-columns:repeat(3,1fr);}
  .dash-grid{grid-template-columns:1fr 1fr;}
  .section{padding:32px 14px;}
  .auth-card{padding:1.4rem;}
  table{min-width:320px;}
  th,td{padding:.6rem .7rem;}
}

/* Pulse animation */
@keyframes pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.3);opacity:.7}}
