@import url('https://fonts.googleapis.com/css2?family=Hind+Siliguri:wght@300;400;500;600;700&family=Playfair+Display:wght@700;900&display=swap');

:root {
  --navy:#0a1628; --navy-mid:#122040; --navy-light:#1a3060;
  --gold:#c9a227; --gold-light:#e8c84a; --gold-pale:#f5e6a3; --gold-dark:#9a7a10;
  --white:#ffffff; --gray-light:#f4f6fb; --gray:#e2e8f0; --gray-mid:#94a3b8;
  --red:#dc2626; --red-light:#fef2f2;
  --green:#16a34a; --green-light:#f0fdf4;
  --blue:#2563eb; --blue-light:#eff6ff;
  --orange:#ea580c;
  --text-dark:#0f172a; --text-mid:#334155;
  --shadow:0 4px 24px rgba(10,22,40,0.12);
  --shadow-lg:0 8px 40px rgba(10,22,40,0.2);
  --radius:14px; --radius-sm:9px; --radius-lg:20px;
  --sidebar-width:230px;
}

*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:'Hind Siliguri',sans-serif;background:var(--gray-light);color:var(--text-dark);min-height:100vh;}
::-webkit-scrollbar{width:5px;}
::-webkit-scrollbar-thumb{background:rgba(201,162,39,0.35);border-radius:3px;}
a{text-decoration:none;color:inherit;}

/* ---- LOGIN ---- */
.login-page{
  min-height:100vh;
  background:linear-gradient(160deg,var(--navy) 0%,var(--navy-mid) 55%,var(--navy-light) 100%);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:20px;position:relative;overflow:hidden;
}
.login-page::before{
  content:'';position:absolute;top:-100px;right:-100px;
  width:380px;height:380px;border-radius:50%;
  background:radial-gradient(circle,rgba(201,162,39,0.14) 0%,transparent 70%);
}
.login-page::after{
  content:'';position:absolute;bottom:-120px;left:-80px;
  width:300px;height:300px;border-radius:50%;
  background:radial-gradient(circle,rgba(201,162,39,0.09) 0%,transparent 70%);
}
.login-logo-wrap{text-align:center;margin-bottom:28px;z-index:1;position:relative;}
.login-logo-circle{
  width:92px;height:92px;border-radius:50%;
  background:linear-gradient(135deg,var(--gold) 0%,var(--gold-light) 100%);
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 14px;font-size:2.5rem;
  box-shadow:0 4px 28px rgba(201,162,39,0.45);
  animation:logoFloat 3s ease-in-out infinite;
}
@keyframes logoFloat{0%,100%{transform:translateY(0);}50%{transform:translateY(-6px);}}
.login-org-name{font-family:'Playfair Display',serif;font-size:1.45rem;font-weight:900;color:var(--gold-light);letter-spacing:1px;}
.login-org-sub{font-size:0.78rem;color:rgba(255,255,255,0.5);margin-top:4px;letter-spacing:3px;text-transform:uppercase;}
.login-card{
  background:var(--white);border-radius:22px;padding:36px 32px 30px;
  width:100%;max-width:390px;box-shadow:var(--shadow-lg);z-index:1;position:relative;
  animation:slideUp 0.4s ease;
}
@keyframes slideUp{from{transform:translateY(30px);opacity:0;}to{transform:translateY(0);opacity:1;}}
.tab-switch{display:flex;background:var(--gray-light);border-radius:12px;padding:4px;margin-bottom:26px;}
.tab-btn{
  flex:1;padding:10px 0;border:none;background:transparent;
  border-radius:9px;font-family:'Hind Siliguri',sans-serif;
  font-size:0.9rem;font-weight:600;color:var(--gray-mid);cursor:pointer;transition:all 0.22s;
}
.tab-btn.active{background:var(--navy);color:var(--gold-light);box-shadow:0 2px 10px rgba(10,22,40,0.2);}
.form-group{margin-bottom:16px;}
.form-group label{display:block;font-size:0.8rem;font-weight:700;color:var(--navy);margin-bottom:7px;letter-spacing:0.5px;}
.input-wrap{position:relative;}
.input-wrap .icon{position:absolute;left:13px;top:50%;transform:translateY(-50%);font-size:1rem;color:var(--gray-mid);}
.form-group input,.form-group select,.form-group textarea{
  width:100%;padding:12px 16px 12px 40px;
  border:2px solid var(--gray);border-radius:11px;
  font-family:'Hind Siliguri',sans-serif;font-size:0.95rem;
  color:var(--text-dark);background:var(--gray-light);
  transition:border-color 0.2s;outline:none;
}
.form-group textarea{padding-left:16px;min-height:90px;resize:vertical;}
.form-group select{padding-left:16px;}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--gold);background:#fff;}
.error-box{background:var(--red-light);border:1px solid var(--red-mid,#fca5a5);color:var(--red);border-radius:9px;padding:10px 14px;font-size:0.85rem;margin-bottom:14px;}
.success-box{background:var(--green-light);border:1px solid var(--green-mid,#86efac);color:var(--green);border-radius:9px;padding:10px 14px;font-size:0.85rem;margin-bottom:14px;}
.btn-primary{
  width:100%;padding:14px;
  background:linear-gradient(135deg,var(--navy) 0%,var(--navy-light) 100%);
  color:var(--gold-light);border:none;border-radius:11px;
  font-family:'Hind Siliguri',sans-serif;font-size:1rem;font-weight:700;
  cursor:pointer;letter-spacing:1px;
  transition:all 0.2s;box-shadow:0 4px 18px rgba(10,22,40,0.28);
}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 7px 24px rgba(10,22,40,0.35);}
.login-footer-note{text-align:center;margin-top:16px;font-size:0.76rem;color:rgba(255,255,255,0.35);z-index:1;position:relative;}

/* ---- TOPNAV ---- */
.topnav{
  background:linear-gradient(90deg,var(--navy) 0%,var(--navy-light) 100%);
  padding:0 24px;display:flex;align-items:center;justify-content:space-between;
  height:64px;box-shadow:0 2px 18px rgba(10,22,40,0.25);
  position:sticky;top:0;z-index:100;
}
.topnav-brand{display:flex;align-items:center;gap:12px;}
.topnav-icon{
  width:40px;height:40px;border-radius:50%;
  background:linear-gradient(135deg,var(--gold) 0%,var(--gold-light) 100%);
  display:flex;align-items:center;justify-content:center;
  font-size:1.15rem;box-shadow:0 2px 10px rgba(201,162,39,0.35);
}
.topnav-title{font-family:'Playfair Display',serif;font-size:1.08rem;font-weight:700;color:var(--gold-light);}
.topnav-right{display:flex;align-items:center;gap:12px;}
.nav-user{font-size:0.82rem;color:rgba(255,255,255,0.75);}
.notif-badge{
  position:relative;cursor:pointer;
  background:transparent;border:none;font-size:1.2rem;color:rgba(255,255,255,0.8);
}
.badge-count{
  position:absolute;top:-4px;right:-4px;
  background:var(--red);color:#fff;border-radius:50%;
  width:18px;height:18px;font-size:0.65rem;font-weight:700;
  display:flex;align-items:center;justify-content:center;
}
.logout-btn{
  padding:7px 16px;background:rgba(201,162,39,0.15);
  border:1px solid rgba(201,162,39,0.35);border-radius:9px;
  color:var(--gold-light);font-family:'Hind Siliguri',sans-serif;
  font-size:0.82rem;cursor:pointer;transition:all 0.2s;
}
.logout-btn:hover{background:rgba(201,162,39,0.28);}
.dark-toggle{
  background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.2);
  border-radius:20px;padding:5px 12px;color:rgba(255,255,255,0.8);
  font-family:'Hind Siliguri',sans-serif;font-size:0.78rem;cursor:pointer;transition:all 0.2s;
}

/* ---- LAYOUT ---- */
.app-layout{display:flex;min-height:calc(100vh - 64px);}
.sidebar{width:var(--sidebar-width);background:var(--navy);padding:16px 0;flex-shrink:0;overflow-y:auto;}
.sidebar-section-title{font-size:0.65rem;font-weight:700;color:rgba(255,255,255,0.28);letter-spacing:2.5px;text-transform:uppercase;padding:10px 22px 4px;}
.sidebar-menu{list-style:none;}
.sidebar-menu li a{
  display:flex;align-items:center;gap:10px;padding:11px 22px;
  color:rgba(255,255,255,0.62);font-size:0.88rem;font-family:'Hind Siliguri',sans-serif;
  font-weight:500;border-left:3px solid transparent;transition:all 0.18s;
}
.sidebar-menu li a:hover{color:var(--gold-light);background:rgba(201,162,39,0.07);}
.sidebar-menu li a.active{color:var(--gold-light);background:rgba(201,162,39,0.12);border-left-color:var(--gold);}
.sidebar-divider{height:1px;background:rgba(255,255,255,0.07);margin:8px 18px;}
.pending-badge{background:var(--red);color:#fff;border-radius:10px;padding:1px 7px;font-size:0.7rem;margin-left:auto;}

/* ---- MAIN ---- */
.main-content{flex:1;padding:24px;overflow-y:auto;max-width:calc(100% - var(--sidebar-width));}
.page-title{
  font-family:'Playfair Display',serif;font-size:1.45rem;font-weight:700;
  color:var(--navy);margin-bottom:22px;padding-bottom:12px;
  border-bottom:3px solid var(--gold);display:flex;align-items:center;gap:10px;
}

/* ---- CARDS ---- */
.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:16px;margin-bottom:22px;}
.stat-card{
  background:var(--white);border-radius:var(--radius);padding:20px;
  box-shadow:var(--shadow);border-top:4px solid var(--gold);transition:transform 0.18s;
}
.stat-card:hover{transform:translateY(-3px);}
.stat-card.green-top{border-top-color:var(--green);}
.stat-card.red-top{border-top-color:var(--red);}
.stat-card.blue-top{border-top-color:var(--blue);}
.stat-card.purple-top{border-top-color:#7c3aed;}
.stat-label{font-size:0.73rem;font-weight:700;color:var(--gray-mid);text-transform:uppercase;letter-spacing:1px;}
.stat-value{font-size:1.9rem;font-weight:700;color:var(--navy);margin:5px 0 2px;font-family:'Playfair Display',serif;}
.stat-sub{font-size:0.77rem;color:var(--gray-mid);}

.card{background:var(--white);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow);margin-bottom:20px;}
.card-title{font-size:1rem;font-weight:700;color:var(--navy);margin-bottom:16px;display:flex;align-items:center;gap:8px;}
.card-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px;}

/* ---- ALERTS ---- */
.alert-banner{
  background:linear-gradient(90deg,var(--red) 0%,#b91c1c 100%);
  color:white;border-radius:var(--radius);padding:16px 20px;
  margin-bottom:20px;display:flex;align-items:flex-start;gap:14px;
  animation:pulseBorder 2s infinite;
}
@keyframes pulseBorder{0%,100%{box-shadow:0 0 0 0 rgba(220,38,38,0.4);}50%{box-shadow:0 0 0 8px rgba(220,38,38,0);}}
.alert-icon{font-size:1.6rem;flex-shrink:0;}
.alert-title{font-weight:700;font-size:1rem;margin-bottom:4px;}
.alert-body{font-size:0.85rem;opacity:0.92;}

/* ---- NOTICE ---- */
.notice-item{
  border-left:3px solid var(--gold);
  background:linear-gradient(90deg,rgba(201,162,39,0.06) 0%,transparent 100%);
  border-radius:0 10px 10px 0;padding:12px 14px;margin-bottom:10px;
}
.notice-title{font-weight:600;font-size:0.92rem;color:var(--navy);}
.notice-date{font-size:0.73rem;color:var(--gray-mid);margin-top:3px;}
.notice-body{font-size:0.87rem;color:var(--text-mid);margin-top:6px;line-height:1.6;}

/* ---- TABLE ---- */
.table-wrap{overflow-x:auto;}
table{width:100%;border-collapse:collapse;font-size:0.88rem;}
thead tr{background:var(--navy);}
thead th{padding:12px 14px;text-align:left;color:var(--gold-light);font-weight:600;font-size:0.79rem;letter-spacing:0.5px;white-space:nowrap;}
tbody tr{border-bottom:1px solid var(--gray);transition:background 0.15s;}
tbody tr:hover{background:rgba(201,162,39,0.04);}
tbody td{padding:11px 14px;color:var(--text-mid);vertical-align:middle;}

/* ---- BADGES ---- */
.badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:0.74rem;font-weight:600;white-space:nowrap;}
.badge-green{background:rgba(22,163,74,0.12);color:var(--green);}
.badge-gold{background:rgba(201,162,39,0.15);color:var(--gold-dark);}
.badge-blue{background:rgba(37,99,235,0.12);color:var(--blue);}
.badge-red{background:rgba(220,38,38,0.1);color:var(--red);}
.badge-gray{background:var(--gray);color:var(--gray-mid);}
.badge-orange{background:rgba(234,88,12,0.12);color:var(--orange);}

/* ---- BUTTONS ---- */
.btn{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;border:none;border-radius:var(--radius-sm);font-family:'Hind Siliguri',sans-serif;font-size:0.88rem;font-weight:600;cursor:pointer;transition:all 0.2s;}
.btn-navy{background:var(--navy);color:var(--gold-light);}
.btn-navy:hover{background:var(--navy-light);}
.btn-green{background:var(--green);color:#fff;}
.btn-green:hover{background:#15803d;}
.btn-red{background:var(--red);color:#fff;}
.btn-red:hover{background:#b91c1c;}
.btn-gold{background:var(--gold);color:var(--navy);font-weight:700;}
.btn-gold:hover{background:var(--gold-light);}
.btn-outline{background:transparent;border:2px solid var(--gray);color:var(--text-mid);}
.btn-outline:hover{border-color:var(--navy);color:var(--navy);}
.btn-whatsapp{background:#25d366;color:#fff;}
.btn-whatsapp:hover{background:#1da851;}
.btn-sm{padding:5px 12px;font-size:0.78rem;}
.btn-full{width:100%;justify-content:center;padding:13px;}

/* ---- FUND TOGGLE ---- */
.fund-hidden-wrap{display:flex;flex-direction:column;gap:8px;}
.fund-show-btn{
  padding:8px 16px;background:var(--navy);color:var(--gold-light);
  border:none;border-radius:var(--radius-sm);font-family:'Hind Siliguri',sans-serif;
  font-size:0.83rem;font-weight:600;cursor:pointer;transition:all 0.2s;width:fit-content;
}
.fund-amount{font-family:'Playfair Display',serif;font-size:2rem;font-weight:900;color:var(--green);}

/* ---- PROFILE ---- */
.profile-card{
  background:var(--white);border-radius:18px;padding:28px;
  box-shadow:var(--shadow);display:flex;align-items:center;gap:22px;margin-bottom:20px;
}
.profile-avatar{
  width:82px;height:82px;border-radius:50%;
  background:linear-gradient(135deg,var(--navy) 0%,var(--navy-light) 100%);
  display:flex;align-items:center;justify-content:center;
  font-size:2rem;color:var(--gold-light);font-weight:700;
  flex-shrink:0;border:3px solid var(--gold);overflow:hidden;
}
.profile-avatar img{width:100%;height:100%;object-fit:cover;}
.profile-name{font-size:1.2rem;font-weight:700;color:var(--navy);}
.profile-sub{font-size:0.85rem;color:var(--gray-mid);margin-top:3px;}
.profile-id-badge{display:inline-block;background:rgba(201,162,39,0.12);color:var(--gold-dark);padding:3px 12px;border-radius:20px;font-size:0.78rem;font-weight:700;margin-top:6px;}

/* ---- ID CARD ---- */
.id-card{
  background:linear-gradient(135deg,var(--navy) 0%,var(--navy-light) 100%);
  border-radius:18px;padding:26px;color:#fff;
  box-shadow:var(--shadow-lg);position:relative;overflow:hidden;max-width:350px;
}
.id-card::before{content:'';position:absolute;top:-50px;right:-50px;width:160px;height:160px;border-radius:50%;background:rgba(201,162,39,0.1);}
.id-card::after{content:'';position:absolute;bottom:-40px;left:-40px;width:120px;height:120px;border-radius:50%;background:rgba(201,162,39,0.07);}
.id-card-header{display:flex;align-items:center;gap:10px;margin-bottom:20px;position:relative;z-index:1;}
.id-card-logo{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--gold-light));display:flex;align-items:center;justify-content:center;font-size:1.1rem;}
.id-card-org{font-family:'Playfair Display',serif;font-size:0.95rem;color:var(--gold-light);font-weight:700;}
.id-card-body{position:relative;z-index:1;}
.id-card-avatar{width:72px;height:72px;border-radius:50%;background:rgba(255,255,255,0.15);border:3px solid var(--gold);display:flex;align-items:center;justify-content:center;font-size:1.8rem;margin-bottom:12px;overflow:hidden;}
.id-card-avatar img{width:100%;height:100%;object-fit:cover;}
.id-card-name{font-size:1.1rem;font-weight:700;}
.id-card-no{color:var(--gold-light);font-size:0.82rem;margin-top:3px;}
.id-card-details{margin-top:14px;border-top:1px solid rgba(255,255,255,0.15);padding-top:14px;}
.id-card-row{display:flex;justify-content:space-between;font-size:0.8rem;margin-bottom:6px;}
.id-card-row span:first-child{color:rgba(255,255,255,0.6);}
.id-card-row span:last-child{font-weight:600;}

/* ---- MODAL ---- */
.modal-overlay{
  position:fixed;inset:0;background:rgba(10,22,40,0.65);
  display:flex;align-items:center;justify-content:center;
  z-index:999;opacity:0;visibility:hidden;transition:all 0.25s;
}
.modal-overlay.show{opacity:1;visibility:visible;}
.modal-box{
  background:var(--white);border-radius:20px;padding:32px;
  max-width:480px;width:90%;box-shadow:var(--shadow-lg);
  transform:translateY(20px);transition:transform 0.25s;
}
.modal-overlay.show .modal-box{transform:translateY(0);}
.modal-title{font-family:'Playfair Display',serif;font-size:1.3rem;color:var(--navy);margin-bottom:14px;}
.modal-body{font-size:0.88rem;color:var(--text-mid);line-height:1.7;margin-bottom:20px;}
.modal-actions{display:flex;gap:12px;}

/* ---- WITHDRAW ---- */
.withdraw-btn{
  display:inline-flex;align-items:center;gap:7px;
  padding:10px 20px;background:transparent;color:var(--red);
  border:2px solid var(--red);border-radius:10px;
  font-family:'Hind Siliguri',sans-serif;font-size:0.88rem;
  font-weight:600;cursor:pointer;transition:all 0.2s;
}
.withdraw-btn:hover{background:var(--red);color:#fff;}

/* ---- DARK MODE ---- */
body.dark{background:#0d1117;color:#e2e8f0;}
body.dark .stat-card,body.dark .card,body.dark .modal-box{background:#161b22;}
body.dark .page-title{color:#e2e8f0;}
body.dark .stat-value,body.dark .card-title,body.dark .notice-title,body.dark .profile-name,body.dark .modal-title{color:#e2e8f0;}
body.dark tbody td{color:#8b949e;}
body.dark tbody tr{border-bottom-color:#21262d;}
body.dark tbody tr:hover{background:rgba(201,162,39,0.04);}
body.dark .notice-item{background:linear-gradient(90deg,rgba(201,162,39,0.05) 0%,transparent 100%);}
body.dark .tab-switch{background:#0d1117;}
body.dark .tab-btn:not(.active){color:#8b949e;}
body.dark .form-group input,body.dark .form-group select,body.dark .form-group textarea{background:#0d1117!important;border-color:#30363d!important;color:#e2e8f0!important;}
body.dark .btn-outline{border-color:#30363d;color:#8b949e;}
body.dark .id-card{background:linear-gradient(135deg,#060d1a 0%,#0d1628 100%);}

/* ---- RECEIPT ---- */
.receipt{
  background:#fff;border:2px solid var(--gold);border-radius:16px;
  padding:28px;max-width:380px;margin:0 auto;
}
.receipt-header{text-align:center;border-bottom:2px dashed var(--gold);padding-bottom:16px;margin-bottom:16px;}
.receipt-org{font-family:'Playfair Display',serif;font-size:1.2rem;font-weight:900;color:var(--navy);}
.receipt-title{font-size:0.85rem;color:var(--gray-mid);margin-top:3px;}
.receipt-row{display:flex;justify-content:space-between;padding:7px 0;font-size:0.87rem;border-bottom:1px solid var(--gray);}
.receipt-row:last-child{border:none;}
.receipt-row strong{color:var(--navy);}
.receipt-amount{text-align:center;padding:14px 0;font-family:'Playfair Display',serif;font-size:2rem;font-weight:900;color:var(--green);}
.receipt-footer{text-align:center;font-size:0.75rem;color:var(--gray-mid);margin-top:12px;}
@media print{body>*:not(.receipt-wrap){display:none!important;}.receipt-wrap{display:block!important;}}

/* ---- CHART placeholder ---- */
.chart-bar-wrap{display:flex;align-items:flex-end;gap:8px;height:120px;padding:8px 0;}
.chart-bar-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;}
.chart-bar{width:100%;border-radius:4px 4px 0 0;background:linear-gradient(180deg,var(--gold-light),var(--gold));transition:height 0.5s ease;min-height:4px;}
.chart-bar-label{font-size:0.65rem;color:var(--gray-mid);}

/* ---- RESPONSIVE ---- */
@media(max-width:768px){
  :root{--sidebar-width:0px;}
  .sidebar{display:none;}
  .main-content{max-width:100%;padding:16px;}
  .stats-grid{grid-template-columns:repeat(2,1fr);}
  .topnav{padding:0 16px;}
  .topnav-title{font-size:0.9rem;}
}

/* ---- PAGINATION ---- */
.pagination{display:flex;gap:6px;margin-top:16px;justify-content:center;}
.pagination a,.pagination span{
  padding:7px 13px;border-radius:8px;font-size:0.85rem;font-weight:600;
  background:var(--white);border:1px solid var(--gray);color:var(--text-mid);transition:all 0.18s;
}
.pagination a:hover{border-color:var(--gold);color:var(--gold-dark);}
.pagination .current{background:var(--navy);color:var(--gold-light);border-color:var(--navy);}

/* ---- SEARCH ---- */
.search-bar{position:relative;margin-bottom:16px;}
.search-bar input{width:100%;padding:11px 16px 11px 40px;border:2px solid var(--gray);border-radius:10px;font-family:'Hind Siliguri',sans-serif;font-size:0.92rem;outline:none;transition:border-color 0.2s;}
.search-bar input:focus{border-color:var(--gold);}
.search-bar .icon{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--gray-mid);}

/* ---- MONTH CHECKBOXES ---- */
.month-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px;}
.month-check-label{
  display:flex;align-items:center;gap:7px;
  padding:9px 11px;border:2px solid var(--gray);border-radius:9px;
  cursor:pointer;font-size:0.84rem;transition:all 0.18s;user-select:none;
}
.month-check-label:hover{border-color:var(--gold);}
.month-check-label.special{border-color:rgba(201,162,39,0.4);background:rgba(201,162,39,0.05);}
.month-check-label input{accent-color:var(--navy);}
.month-check-label.checked{border-color:var(--navy);background:rgba(10,22,40,0.05);}

/* ==============================
   MOBILE RESPONSIVE - MEMBER
   ============================== */

/* Bottom Navigation for Mobile */
.mobile-nav {
  display: none;
  position: fixed;
  bottom: 0; left: 0; right: 0;
  background: var(--navy);
  border-top: 2px solid rgba(201,162,39,0.3);
  z-index: 200;
  padding: 6px 0 8px;
  box-shadow: 0 -4px 20px rgba(10,22,40,0.3);
}
.mobile-nav-items {
  display: flex;
  justify-content: space-around;
  align-items: flex-end;
}
.mobile-nav-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  padding: 6px 10px;
  color: rgba(255,255,255,0.55);
  font-size: 0.65rem;
  font-weight: 600;
  text-decoration: none;
  border-radius: 10px;
  transition: all 0.18s;
  position: relative;
  min-width: 52px;
}
.mobile-nav-item .nav-icon { font-size: 1.35rem; line-height: 1; }
.mobile-nav-item.active { color: var(--gold-light); }
.mobile-nav-item.active .nav-icon-wrap {
  background: rgba(201,162,39,0.15);
  border-radius: 12px;
  padding: 4px 12px;
  margin-bottom: 1px;
}
.mobile-nav-badge {
  position: absolute;
  top: 2px; right: 6px;
  background: var(--red);
  color: #fff;
  border-radius: 50%;
  width: 16px; height: 16px;
  font-size: 0.6rem;
  font-weight: 700;
  display: flex; align-items: center; justify-content: center;
}

/* Mobile Top Nav */
@media(max-width: 768px) {
  .mobile-nav { display: block; }

  /* Push content up from bottom nav */
  .main-content { padding-bottom: 80px !important; }

  /* Topnav mobile */
  .topnav { height: 56px; padding: 0 14px; }
  .topnav-title { font-size: 0.88rem; }
  .nav-user { display: none; }
  .dark-toggle { display: none; }
  .topnav-icon { width: 34px; height: 34px; font-size: 1rem; }

  /* Hide sidebar on mobile */
  .sidebar { display: none !important; }
  .main-content { max-width: 100% !important; padding: 16px 14px 80px; }

  /* Page title */
  .page-title { font-size: 1.2rem; margin-bottom: 16px; }

  /* Stats grid - 2 columns on mobile */
  .stats-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; margin-bottom: 16px; }
  .stat-card { padding: 14px; }
  .stat-value { font-size: 1.5rem; }
  .stat-label { font-size: 0.68rem; }

  /* Cards */
  .card { padding: 16px; margin-bottom: 14px; }
  .card-title { font-size: 0.92rem; }

  /* Alert banner */
  .alert-banner { padding: 12px 14px; gap: 10px; }
  .alert-icon { font-size: 1.3rem; }
  .alert-title { font-size: 0.88rem; }
  .alert-body { font-size: 0.78rem; }

  /* Tables - horizontal scroll */
  .table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  table { font-size: 0.8rem; min-width: 500px; }
  thead th { padding: 10px 10px; font-size: 0.72rem; }
  tbody td { padding: 9px 10px; }

  /* Forms */
  .form-group input, .form-group select, .form-group textarea {
    font-size: 0.9rem !important;
    padding: 11px 14px 11px 38px !important;
  }
  .form-group label { font-size: 0.78rem; }

  /* Month grid - 2 cols on mobile */
  .month-grid { grid-template-columns: repeat(2, 1fr); gap: 7px; }
  .month-check-label { font-size: 0.78rem; padding: 8px 9px; }

  /* Profile card */
  .profile-card { flex-direction: column; text-align: center; padding: 20px; }
  .profile-avatar { margin: 0 auto; }

  /* ID Card */
  .id-card { max-width: 100%; }

  /* Contact buttons */
  .contact-btns { flex-direction: column; }
  .contact-btn { width: 100%; justify-content: center; font-size: 0.9rem !important; }

  /* Notice items */
  .notice-item { padding: 10px 12px; }
  .notice-title { font-size: 0.85rem; }
  .notice-body { font-size: 0.82rem; }

  /* Buttons */
  .btn { font-size: 0.82rem; padding: 8px 14px; }
  .btn-full { padding: 12px; font-size: 0.92rem; }

  /* App layout */
  .app-layout { flex-direction: column; }

  /* Fund show button */
  .fund-show-btn { font-size: 0.78rem; padding: 7px 12px; }
  .fund-amount { font-size: 1.6rem; }

  /* Grid forms 2-col -> 1-col */
  div[style*="grid-template-columns:1fr 1fr"] {
    display: block !important;
  }

  /* Withdraw button */
  .withdraw-btn { width: 100%; justify-content: center; margin-top: 10px; }
}

/* Extra small phones */
@media(max-width: 380px) {
  .stats-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
  .stat-value { font-size: 1.3rem; }
  .topnav-title { font-size: 0.8rem; }
  .month-grid { grid-template-columns: repeat(2, 1fr); }
  .main-content { padding: 12px 10px 80px; }
}

/* ---- TAKA SYMBOL FIX ---- */
/* Ensure Bengali Taka sign renders correctly */
.taka, [class*="stat-value"], .fund-amount, .receipt-amount,
.m-pay-summary-amount {
  font-family: 'Hind Siliguri', 'SolaimanLipi', 'Kalpurush', sans-serif;
}
