*{box-sizing:border-box;margin:0;padding:0}
:root{--top-nav-h:58px;--bottom-nav-h:102px;--sondhan-nav-logo-h:clamp(26px,calc(var(--top-nav-h) - 22px),34px)}
body{font-family:'Inter','Hind Siliguri',sans-serif;background:#f5f5f5;color:#222;-webkit-tap-highlight-color:transparent}

/* ══ APP SHELL ══ */
.app{max-width:480px;margin:0 auto;background:#f5f5f5;min-height:100vh;display:flex;flex-direction:column;position:relative;padding-bottom:var(--bottom-nav-h)}

/* ══ HEADER ══ */
.header{background:linear-gradient(135deg,#c0392b,#e74c3c);padding:12px 14px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;box-shadow:0 2px 8px rgba(192,57,43,.3);position:sticky;top:0;z-index:260}
.header-left{display:flex;align-items:center;gap:8px}
.header-right{display:flex;align-items:center;gap:8px}
.logo-drop{font-size:20px}
.header h1{color:#fff;font-size:17px;font-weight:800;font-family:'Inter',sans-serif;letter-spacing:.3px;min-width:0;flex:1}
.login-chip{background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.35);color:#fff;padding:6px 12px;border-radius:20px;font-size:11px;font-weight:600;cursor:pointer;font-family:'Hind Siliguri',sans-serif;text-decoration:none;display:inline-block}
.logout-btn{background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.3);color:#fff;padding:5px 10px;border-radius:20px;font-size:11px;font-weight:600;cursor:pointer;font-family:'Hind Siliguri',sans-serif}

/* ══ SCROLL AREA ══ */
.scr{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;padding-bottom:calc(12px + var(--bottom-nav-h))}

/* ══ BOTTOM NAV (pill icons + floating center) ══ */
.bnav{
  background:#fff;
  border-top:1px solid #eee;
  display:flex;
  flex-shrink:0;
  align-items:flex-end;
  justify-content:space-between;
  gap:3px;
  padding:12px 5px calc(12px + env(safe-area-inset-bottom,0px));
  min-height:calc(74px + env(safe-area-inset-bottom,0px));
  box-shadow:0 -4px 20px rgba(0,0,0,.07);
  position:fixed;
  bottom:0;
  left:50%;
  transform:translateX(-50%);
  width:min(100%,480px);
  z-index:300;
}
.bnav-item{
  flex:1;
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-end;
  padding:0 2px 3px;
  gap:6px;
  border:none;
  background:transparent;
  text-decoration:none;
  color:inherit;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  transform:translateY(0);
  transition:transform .22s ease;
}
.bnav-item.active{transform:translateY(-4px)}
.bnav-item .bnav-pill{transition:transform .25s cubic-bezier(0.34,1.56,0.64,1)}
.bnav-item.active .bnav-pill{transform:scale(1.08)}
.bnav-center.active{transform:translateY(-4px)}
.bnav-center .bc-btn{transition:transform .25s cubic-bezier(0.34,1.56,0.64,1)}
.bnav-center.active .bc-btn{transform:scale(1.12)}
.bnav-pill{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  max-width:58px;
  height:38px;
  border-radius:999px;
  transition:transform .12s ease,box-shadow .12s ease;
}
.bnav-item:active .bnav-pill{transform:scale(.96)}
.bnav-svg{width:23px;height:23px;display:block;flex-shrink:0;stroke:currentColor;fill:none}
.bnav-item--home .bnav-pill{background:#FFE4EA;color:#9B1B2E}
.bnav-item--search .bnav-pill{background:#E3F1FF;color:#2270C9}
.bnav-item--bloodbank .bnav-pill{background:#fdecea;color:#c0392b}
.bnav-item--profile .bnav-pill{background:#EDE7F6;color:#5C3D9E}
.bnav-item.active .bnav-pill{box-shadow:none}
.bnav-item--home.active .bnav-pill{border:2.5px solid #9B1B2E;box-shadow:0 0 0 3px rgba(155,27,46,0.12)}
.bnav-item--search.active .bnav-pill{border:2.5px solid #2270C9;box-shadow:0 0 0 3px rgba(34,112,201,0.12)}
.bnav-item--bloodbank.active .bnav-pill{border:2.5px solid #c0392b;box-shadow:0 0 0 3px rgba(192,57,43,0.12)}
.bnav-item--profile.active .bnav-pill{border:2.5px solid #5C3D9E;box-shadow:0 0 0 3px rgba(92,61,158,0.12)}
.bnav-item.active .bl{font-weight:700}
.bl{
  font-size:11px;
  color:#141414;
  font-family:'Hind Siliguri','Inter',sans-serif;
  line-height:1.2;
  text-align:center;
}
.bnav-center{
  flex:1;
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-end;
  padding:0 2px 3px;
  gap:6px;
  border:none;
  background:transparent;
  text-decoration:none;
  color:inherit;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  transform:translateY(0);
  transition:transform .22s ease;
}
.bc-btn{
  width:38px;
  height:38px;
  border-radius:50%;
  background:#B71C1C;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  margin-top:0;
  flex-shrink:0;
  box-shadow:0 3px 10px rgba(183,28,28,.35);
  transition:transform .25s cubic-bezier(0.34,1.56,0.64,1),background .12s ease;
}
.bnav-center:active .bc-btn{transform:scale(.95)}
.bnav-center .bnav-svg{width:20px;height:20px}
.bnav-svg--drop{fill:currentColor;stroke:none}
.bnav-center .bl{font-size:11px;color:#141414;font-weight:600;font-family:'Hind Siliguri','Inter',sans-serif}
.bnav-center.active .bc-btn{background:#991515;box-shadow:0 9px 26px rgba(183,28,28,.55)}
.bnav-center.active .bl{font-weight:700}
.bnav-item--profile .bl{font-family:'Inter',sans-serif}

/* ══ HOME BANNER / SLIDER ══ */
.banner{background:linear-gradient(135deg,#c0392b,#e74c3c);padding:0 14px 14px;flex-shrink:0}
.slider-wrap{position:relative;overflow:hidden;border-radius:16px}
.slide{display:none;background:rgba(255,255,255,.15);border-radius:16px;padding:15px;animation:fadeSlide .4s ease}
.slide.active{display:block}
@keyframes fadeSlide{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.slide-tag{font-size:10px;background:rgba(255,255,255,.25);padding:3px 10px;border-radius:20px;display:inline-block;margin-bottom:8px;color:#fff;font-family:'Hind Siliguri',sans-serif}
.slide h2{font-size:14px;font-weight:700;line-height:1.6;color:#fff;font-family:'Hind Siliguri',sans-serif;margin-bottom:4px}
.slide .ref{font-size:10px;color:rgba(255,255,255,.8);font-style:italic;font-family:'Hind Siliguri',sans-serif}
.slider-dots{display:flex;justify-content:center;gap:5px;margin-top:10px}
.sdot{width:20px;height:4px;border-radius:4px;background:rgba(255,255,255,.35);transition:.3s;cursor:pointer}
.sdot.active{background:#fff;width:28px}

/* ══ HOME SECTIONS ══ */
.section{padding:12px 0 0}
.sec-title{font-size:13px;font-weight:700;color:#444;margin-bottom:11px;font-family:'Hind Siliguri',sans-serif}

/* ACTION GRID */
.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:12px}
.ac{border-radius:16px;padding:15px 13px;color:#fff;cursor:pointer;border:none;text-align:left;min-height:88px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;transition:.15s}
.ac:active{transform:scale(.97)}
.ac.full{grid-column:1/-1;min-height:56px;flex-direction:row;align-items:center;gap:12px;justify-content:flex-start}
.ac-icon{font-size:24px;margin-bottom:6px;position:relative;z-index:1}
.ac.full .ac-icon{margin-bottom:0}
.ac-label{font-size:12px;font-weight:700;font-family:'Hind Siliguri',sans-serif;line-height:1.3;position:relative;z-index:1}
.ac-bg{position:absolute;right:-8px;top:-8px;font-size:46px;opacity:.15}
.ac.red{background:linear-gradient(135deg,#c0392b,#e74c3c)}
.ac.orange{background:linear-gradient(135deg,#e67e22,#f39c12)}
.ac.teal{background:linear-gradient(135deg,#16a085,#1abc9c)}
.ac.green{background:linear-gradient(135deg,#27ae60,#2ecc71)}
.ac.blue{background:linear-gradient(135deg,#2980b9,#3498db)}

/* STATS */
.stats-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:12px}
.stat{background:#fff;border-radius:12px;padding:11px 6px;text-align:center;box-shadow:0 1px 5px rgba(0,0,0,.06)}
.stat-n{font-size:20px;font-weight:800;color:#c0392b;font-family:'Inter',sans-serif}
.stat-l{font-size:9px;color:#aaa;margin-top:3px;font-family:'Hind Siliguri',sans-serif;line-height:1.3}

/* WHY CARDS */
.why-card{display:flex;align-items:center;gap:11px;background:#fff;border-radius:13px;padding:12px;margin-bottom:9px;box-shadow:0 1px 5px rgba(0,0,0,.05)}
.why-ico{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0}
.why-card h4{font-size:13px;font-weight:700;font-family:'Hind Siliguri',sans-serif;margin-bottom:2px}
.why-card p{font-size:11px;color:#aaa;font-family:'Hind Siliguri',sans-serif}

/* PREP LIST */
.prep-list{background:#fff;border-radius:14px;padding:14px;box-shadow:0 1px 5px rgba(0,0,0,.05);margin-bottom:8px}
.prep-item{display:flex;gap:10px;align-items:flex-start;margin-bottom:10px}
.prep-item:last-child{margin-bottom:0}
.prep-dot{width:8px;height:8px;border-radius:50%;background:#e74c3c;flex-shrink:0;margin-top:5px}
.prep-item p{font-size:12px;color:#444;font-family:'Hind Siliguri',sans-serif;line-height:1.7}

/* ══ SEARCH PAGE ══ */
.search-top{background:#fff;padding:11px 12px;border-bottom:1px solid #f0f0f0;flex-shrink:0;display:flex;flex-direction:column;gap:7px;box-shadow:0 1px 4px rgba(0,0,0,.05)}
.search-row{display:flex;gap:6px}
.sel-wrap{flex:1;display:flex;align-items:center;background:#f8f8f8;border:1.5px solid #eee;border-radius:10px;padding:0 10px}
.sel-wrap:focus-within{border-color:#c0392b}
.sel-wrap select{flex:1;border:none;background:transparent;padding:10px 0;font-size:12px;color:#222;outline:none;font-family:'Hind Siliguri',sans-serif}
.search-btn{padding:11px 16px;background:linear-gradient(135deg,#c0392b,#e74c3c);color:#fff;border:none;border-radius:10px;font-size:13px;cursor:pointer;font-weight:700;font-family:'Hind Siliguri',sans-serif;box-shadow:0 3px 10px rgba(192,57,43,.3)}
.results-list{flex:1;overflow-y:auto;padding:11px}
.hint-box{text-align:center;padding:40px 20px;color:#bbb}
.hint-box p{margin-top:8px;font-size:13px;font-family:'Hind Siliguri',sans-serif}
.result-header{font-size:11px;color:#aaa;font-family:'Hind Siliguri',sans-serif;margin-bottom:9px}

/* DONOR CARDS */
.dcard{background:#fff;border-radius:14px;padding:13px;margin-bottom:10px;box-shadow:0 2px 8px rgba(0,0,0,.05);border:1px solid #f0f0f0}
.dcard.featured{border-color:#c0392b;border-width:1.5px}
.dcard-top{display:flex;gap:10px;align-items:flex-start;margin-bottom:10px}
.avatar{width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,#fdecea,#fde);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;color:#c0392b;flex-shrink:0;border:2px solid #fde}
.dinfo{flex:1;min-width:0}
.dname{font-size:14px;font-weight:700;color:#222;margin-bottom:3px;font-family:'Hind Siliguri',sans-serif}
.dbadges{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:4px}
.badge{font-size:10px;font-weight:700;padding:2px 8px;border-radius:20px;font-family:'Inter',sans-serif}
.badge.blood{background:#c0392b;color:#fff}
.badge.dist{background:#f0f0f0;color:#666}
.badge.urgent{background:#e67e22;color:#fff}
.badge.inactive{background:#eee;color:#aaa}
.dloc{font-size:10px;color:#aaa;font-family:'Hind Siliguri',sans-serif;margin-bottom:3px}
.phone-row{display:flex;align-items:center;gap:7px;background:#f0fff4;border:1px solid #c3e6cb;border-radius:10px;padding:8px 11px;margin-bottom:9px}
.phone-row span{font-size:12px;font-weight:600;color:#27ae60;font-family:'Inter',sans-serif;flex:1}
.phone-copy{background:none;border:none;font-size:15px;cursor:pointer}
.phone-hidden{display:flex;align-items:center;gap:7px;background:#f8f8f8;border:1px solid #eee;border-radius:10px;padding:8px 11px;margin-bottom:9px}
.dactions{display:flex;gap:6px}
.abtn{flex:1;padding:8px 4px;border-radius:9px;border:none;font-size:11px;font-weight:700;cursor:pointer;font-family:'Hind Siliguri',sans-serif;text-align:center;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:3px}
.abtn.call{background:#27ae60;color:#fff}
.abtn.wa{background:#25d366;color:#fff}
.abtn.req{background:#c0392b;color:#fff}
.abtn.disabled{background:#eee;color:#ccc;cursor:not-allowed}

/* ══ FORM ELEMENTS ══ */
.iw{display:flex;align-items:center;background:#f8f8f8;border:1.5px solid #eee;border-radius:12px;padding:0 13px;margin-bottom:11px;transition:.2s}
.iw:focus-within{border-color:#c0392b;background:#fff}
.iw:last-child{margin-bottom:0}
.ico{font-size:15px;margin-right:10px;opacity:.6;flex-shrink:0}
.iw input,.iw select,.iw textarea{flex:1;border:none;background:transparent;padding:13px 0;font-size:14px;color:#222;outline:none;font-family:'Hind Siliguri',sans-serif}
.iw-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:11px}
.iw-grid .iw{margin-bottom:0}
.submit-btn{width:100%;padding:14px;background:linear-gradient(135deg,#c0392b,#e74c3c);color:#fff;border:none;border-radius:13px;font-size:15px;font-weight:700;cursor:pointer;box-shadow:0 5px 16px rgba(192,57,43,.3);font-family:'Hind Siliguri',sans-serif;transition:.2s}
.submit-btn:active{transform:scale(.98)}
.submit-btn:disabled{background:#e0a0a0;box-shadow:none;cursor:not-allowed}
.form-group{margin-bottom:12px}
.form-group label{font-size:12px;font-weight:600;color:#666;display:block;margin-bottom:5px;font-family:'Hind Siliguri',sans-serif}
.form-row{display:flex;gap:8px}
.form-row .form-group{flex:1}
.iico{font-size:15px;margin-right:10px;opacity:.6;flex-shrink:0}

/* ══ PAGE TABS ══ */
.page-tabs{display:flex;background:#fff;border-bottom:2px solid #f0f0f0;flex-shrink:0}
.page-tab{flex:1;padding:12px 4px;border:none;background:transparent;font-size:12px;font-weight:600;color:#bbb;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;font-family:'Hind Siliguri',sans-serif;transition:.2s}
.page-tab.active{color:#c0392b;border-bottom-color:#c0392b}

/* ══ REQUEST PAGE ══ */
.alert-banner{background:linear-gradient(135deg,#c0392b,#e74c3c);border-radius:14px;padding:14px;margin-bottom:12px;display:flex;align-items:center;gap:12px}
.alert-icon{font-size:30px;flex-shrink:0}
.alert-text h3{color:#fff;font-size:14px;font-weight:700;font-family:'Hind Siliguri',sans-serif;margin-bottom:3px}
.alert-text p{color:rgba(255,255,255,.85);font-size:11px;font-family:'Hind Siliguri',sans-serif;line-height:1.5}
.fcard{background:#fff;border-radius:14px;padding:14px;margin-bottom:11px;box-shadow:0 1px 6px rgba(0,0,0,.06)}
.fcard-title{font-size:12px;font-weight:700;color:#c0392b;margin-bottom:12px;padding-bottom:9px;border-bottom:1px solid #fde;font-family:'Hind Siliguri',sans-serif}
.req-post{background:#fff;border-radius:14px;padding:13px;margin-bottom:10px;box-shadow:0 1px 6px rgba(0,0,0,.06);border-left:4px solid #c0392b}
.req-post-top{display:flex;align-items:center;gap:10px;margin-bottom:9px}
.rp-blood{color:#fff;font-size:12px;font-weight:800;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-family:'Inter',sans-serif}
.rp-info{flex:1;min-width:0}
.rp-info h4{font-size:13px;font-weight:700;font-family:'Hind Siliguri',sans-serif;margin-bottom:2px}
.rp-info p{font-size:10px;color:#aaa;font-family:'Hind Siliguri',sans-serif}
.rp-tag{font-size:10px;font-weight:700;padding:2px 8px;border-radius:20px;background:#fdecea;color:#c0392b;font-family:'Inter',sans-serif;white-space:nowrap}
.rp-details{font-size:12px;color:#555;font-family:'Hind Siliguri',sans-serif;line-height:1.7;background:#fafafa;border-radius:10px;padding:9px;margin-bottom:9px}
.rp-actions{display:flex;gap:7px}
.rp-btn{flex:1;padding:8px;border-radius:9px;border:none;font-size:12px;font-weight:700;cursor:pointer;font-family:'Hind Siliguri',sans-serif;display:flex;align-items:center;justify-content:center;gap:4px;text-decoration:none}
.rp-btn.call{background:#27ae60;color:#fff}
.rp-btn.share{background:#f0f0f0;color:#555}
.time-ago{font-size:10px;color:#bbb;font-family:'Inter',sans-serif}

/* ══ ABOUT PAGE ══ */
.acard{background:#fff;border-radius:14px;padding:14px;margin-bottom:10px;box-shadow:0 1px 6px rgba(0,0,0,.06)}
.acard-title{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.acard-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.acard-title h3{font-size:14px;font-weight:700;font-family:'Hind Siliguri',sans-serif}
.acard p{font-size:12px;color:#555;font-family:'Hind Siliguri',sans-serif;line-height:1.8}
.check-list{list-style:none;padding:0}
.check-list li{font-size:12px;color:#555;font-family:'Hind Siliguri',sans-serif;line-height:1.8;padding:4px 0;display:flex;align-items:flex-start;gap:8px}
.check-list li::before{content:'✓';color:#27ae60;font-weight:700;flex-shrink:0;margin-top:1px}
.founder-img{width:78px;height:78px;border-radius:50%;background:linear-gradient(135deg,#fdecea,#fde);border:3px solid #c0392b;margin:0 auto 12px;overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:32px}
.founder-name{font-size:16px;font-weight:800;font-family:'Inter',sans-serif;color:#222;margin-bottom:3px}
.founder-role{font-size:11px;color:#c0392b;font-weight:600;font-family:'Inter',sans-serif;margin-bottom:10px}
.founder-bio{font-size:12px;color:#666;font-family:'Hind Siliguri',sans-serif;line-height:1.7;text-align:left}

/* ══ PROFILE PAGE ══ */
.profile-hero{background:#fff;border-radius:16px;padding:18px;text-align:center;box-shadow:0 1px 6px rgba(0,0,0,.06);margin-bottom:10px}
.p-avatar-wrap{position:relative;width:84px;height:84px;margin:0 auto 13px;cursor:pointer}
.p-avatar{width:84px;height:84px;border-radius:50%;background:linear-gradient(135deg,#fdecea,#fde);border:3px solid #c0392b;display:flex;align-items:center;justify-content:center;font-size:30px;overflow:hidden}
.p-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.p-camera{position:absolute;bottom:0;right:0;background:#c0392b;width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;border:2px solid #fff}
.p-name{font-size:18px;font-weight:800;font-family:'Inter',sans-serif;color:#222;margin-bottom:5px}
.p-blood{display:inline-block;background:#c0392b;color:#fff;font-size:12px;font-weight:700;padding:3px 14px;border-radius:20px;margin-bottom:6px;font-family:'Inter',sans-serif}
.p-location{font-size:11px;color:#aaa;font-family:'Hind Siliguri',sans-serif}
.avail-card{border-radius:14px;padding:14px;box-shadow:0 1px 6px rgba(0,0,0,.06);display:flex;align-items:center;gap:12px;margin-bottom:10px;transition:.3s}
.avail-card.on{background:linear-gradient(135deg,#d5f5e3,#eafaf1);border:1.5px solid #27ae60}
.avail-card.off{background:linear-gradient(135deg,#fdecea,#fff5f5);border:1.5px solid #e74c3c}
.avail-text{flex:1}
.avail-t1{font-size:14px;font-weight:700;font-family:'Hind Siliguri',sans-serif;margin-bottom:2px}
.avail-card.on .avail-t1{color:#1e8449}
.avail-card.off .avail-t1{color:#c0392b}
.avail-t2{font-size:11px;font-family:'Hind Siliguri',sans-serif}
.avail-card.on .avail-t2{color:#27ae60}
.avail-card.off .avail-t2{color:#e74c3c}
.tog{width:50px;height:28px;border-radius:28px;position:relative;cursor:pointer;transition:.3s;flex-shrink:0;border:none}
.tog.on{background:#27ae60}
.tog.off{background:#ddd}
.tog-circle{position:absolute;width:22px;height:22px;background:#fff;border-radius:50%;top:3px;transition:.3s;box-shadow:0 1px 4px rgba(0,0,0,.25)}
.tog.on .tog-circle{right:3px;left:auto}
.tog.off .tog-circle{left:3px}
.info-card{background:#fff;border-radius:14px;padding:14px;box-shadow:0 1px 6px rgba(0,0,0,.06);margin-bottom:10px}
.info-title{font-size:12px;font-weight:700;color:#c0392b;margin-bottom:11px;padding-bottom:8px;border-bottom:1px solid #fde;font-family:'Hind Siliguri',sans-serif}
.info-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid #f5f5f5}
.info-row:last-child{border-bottom:none}
.info-ico{font-size:16px;flex-shrink:0;width:24px;text-align:center}
.info-label{font-size:11px;color:#aaa;font-family:'Hind Siliguri',sans-serif;flex-shrink:0;width:85px}
.info-val{font-size:12px;font-weight:600;color:#333;font-family:'Hind Siliguri',sans-serif;flex:1}
.info-val.na{color:#bbb;font-style:italic;font-weight:400;font-size:11px}
.history-card{background:#fff;border-radius:14px;padding:14px;box-shadow:0 1px 6px rgba(0,0,0,.06);margin-bottom:10px}
.hist-row{display:flex;align-items:center;gap:11px;background:#fafafa;border-radius:11px;padding:11px;margin-bottom:9px}
.hist-row:last-child{margin-bottom:0}
.hist-num{width:38px;height:38px;background:#c0392b;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:800;font-family:'Inter',sans-serif;flex-shrink:0}
.hist-info h4{font-size:12px;font-weight:700;font-family:'Hind Siliguri',sans-serif;margin-bottom:2px}
.hist-info p{font-size:10px;color:#aaa;font-family:'Hind Siliguri',sans-serif}
.edit-btn{width:100%;padding:12px;background:#fff;color:#c0392b;border:1.5px solid #c0392b;border-radius:12px;font-size:14px;font-weight:700;cursor:pointer;font-family:'Hind Siliguri',sans-serif;margin-bottom:16px}

/* ══ AUTH PAGES ══ */
.auth-page{background:#c0392b;min-height:100vh;display:flex;flex-direction:column;align-items:center}
.auth-hero{text-align:center;padding:52px 20px 28px;color:#fff;width:100%}
.hero-icon{font-size:56px;margin-bottom:10px;filter:drop-shadow(0 4px 12px rgba(0,0,0,.2))}
.auth-hero h1{font-size:30px;font-weight:800;font-family:'Inter',sans-serif;letter-spacing:1px}
.auth-hero p{font-size:13px;margin-top:6px;opacity:.88;font-family:'Inter',sans-serif}
.auth-card{background:#fff;border-radius:28px 28px 0 0;width:100%;max-width:480px;flex:1;padding:28px 22px 40px}
.google-btn{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:15px;background:#fff;border:1.5px solid #eee;border-radius:14px;font-size:15px;font-weight:700;color:#333;cursor:pointer;font-family:'Inter',sans-serif;box-shadow:0 2px 12px rgba(0,0,0,.08);transition:.2s;margin-bottom:16px}
.google-btn:hover{border-color:#c0392b;box-shadow:0 4px 16px rgba(192,57,43,.15)}
.login-note{font-size:12px;color:#bbb;font-family:'Hind Siliguri',sans-serif;text-align:center;line-height:1.7}

/* ══ REGISTER PAGE ══ */
.reg-section{background:#fff;border-radius:16px;padding:15px;margin-bottom:13px;box-shadow:0 1px 5px rgba(0,0,0,.05)}
.reg-section-title{font-size:12px;font-weight:700;color:#c0392b;margin-bottom:12px;padding-bottom:9px;border-bottom:1px solid #fde;font-family:'Hind Siliguri',sans-serif}
.input-group{display:flex;align-items:center;background:#f8f8f8;border:1.5px solid #eee;border-radius:12px;padding:0 13px;margin-bottom:10px;transition:.2s}
.input-group:focus-within{border-color:#c0392b;background:#fff}
.input-group:last-child{margin-bottom:0}
.input-icon{font-size:15px;margin-right:10px;opacity:.6;flex-shrink:0}
.input-group input,.input-group select{flex:1;border:none;background:transparent;padding:13px 0;font-size:14px;color:#222;outline:none;font-family:'Hind Siliguri',sans-serif}
.eye-btn{background:none;border:none;cursor:pointer;font-size:15px;opacity:.4;padding:4px}
.avail-toggle{display:flex;align-items:center;gap:12px;padding:4px 0}

/* ══ MODAL ══ */
.modal-bg{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:999;align-items:flex-end;justify-content:center;padding:0}
.modal-bg.open{display:flex}
.modal{background:#fff;border-radius:24px 24px 0 0;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;padding-bottom:20px}
.modal-header{background:linear-gradient(135deg,#c0392b,#e74c3c);color:#fff;padding:14px 16px;border-radius:24px 24px 0 0;display:flex;justify-content:space-between;align-items:center}
.modal-header h3{font-size:15px;font-weight:700;font-family:'Hind Siliguri',sans-serif}
.modal-close{background:none;border:none;color:#fff;font-size:24px;cursor:pointer;line-height:1}
.modal-body{padding:16px}

/* ══ LOADING & TOAST ══ */
.loading-overlay{display:none;position:fixed;inset:0;background:rgba(255,255,255,.85);z-index:9999;align-items:center;justify-content:center;flex-direction:column;gap:10px}
.loading-overlay.show{display:flex}
.spinner{width:38px;height:38px;border:4px solid #fde;border-top-color:#c0392b;border-radius:50%;animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.toast{position:fixed;bottom:80px;left:50%;transform:translateX(-50%);background:#222;color:#fff;padding:10px 22px;border-radius:24px;font-size:13px;z-index:9999;opacity:0;transition:.3s;pointer-events:none;white-space:nowrap;max-width:88vw;text-align:center;font-family:'Hind Siliguri',sans-serif}
.toast.show{opacity:1}

/* ══ OFFLINE BANNER ══ */
.offline-banner{position:fixed;top:0;left:50%;transform:translateX(-50%) translateY(-100%);width:min(100%,480px);background:#f39c12;color:#fff;font-size:12px;font-weight:600;text-align:center;padding:8px 14px;z-index:9998;font-family:'Hind Siliguri',sans-serif;transition:transform .3s ease;box-shadow:0 2px 8px rgba(0,0,0,.15)}
.offline-banner.show{transform:translateX(-50%) translateY(0)}

/* ══ INSTALL PROMPT (centered modal, page-center attention grab) ══ */
.install-banner{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:500;align-items:center;justify-content:center;padding:20px}
.install-banner.show{display:flex}
.install-modal{background:#fff;border-radius:20px;width:100%;max-width:300px;padding:26px 22px 22px;text-align:center}
.install-modal-icon{width:68px;height:68px;border-radius:18px;overflow:hidden;margin:0 auto 16px;box-shadow:0 4px 14px rgba(0,0,0,.15)}
.install-modal-icon img{width:100%;height:100%;object-fit:cover;display:block}
.install-modal-title{font-size:17px;font-weight:800;color:#222;font-family:'Hind Siliguri',sans-serif;margin-bottom:6px}
.install-modal-sub{font-size:12.5px;color:#999;font-family:'Hind Siliguri',sans-serif;line-height:1.6;margin-bottom:20px}
.install-modal-btn{width:100%;padding:15px;border-radius:13px;border:none;background:linear-gradient(135deg,#c0392b,#e74c3c);color:#fff;font-size:15px;font-weight:700;font-family:'Hind Siliguri',sans-serif;cursor:pointer;margin-bottom:11px}
.install-modal-later{font-size:12.5px;color:#bbb;font-family:'Hind Siliguri',sans-serif;cursor:pointer}
.error-msg{background:#fdecea;color:#c0392b;padding:11px 14px;border-radius:11px;font-size:13px;margin-bottom:14px;border-left:3px solid #c0392b;font-family:'Hind Siliguri',sans-serif}

/* ══ SONDHAN — transparent wordmark PNG; scales with header; no crop/clipping/stretch ══ */
.sondhan-logo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  line-height: 0;
  vertical-align: middle;
  background: none;
  border: none;
  box-shadow: none;
}
/* Navbar: height tracks --top-nav-h; full wordmark + magnifier handle stay inside bounds */
.sondhan-logo--navbar-crop {
  box-sizing: border-box;
  height: var(--sondhan-nav-logo-h);
  width: auto;
  max-width: min(168px, 44vw);
  overflow: visible;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
}
.sondhan-logo--navbar-crop img {
  height: var(--sondhan-nav-logo-h);
  width: auto;
  max-width: min(168px, 44vw);
  max-height: var(--sondhan-nav-logo-h);
  object-fit: contain;
  object-position: left center;
  display: block;
  flex: 0 0 auto;
  image-rendering: auto;
  -ms-interpolation-mode: bicubic;
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
}
/* Loading / splash: larger wordmark, same contain rules */
.sondhan-logo--splash {
  box-sizing: border-box;
  width: auto;
  max-width: min(300px, 88vw);
  height: clamp(52px, 15vw, 76px);
  overflow: visible;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.sondhan-logo--splash img {
  width: auto;
  max-width: 100%;
  height: 100%;
  max-height: 100%;
  object-fit: contain;
  object-position: center center;
  display: block;
  image-rendering: auto;
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
}