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

/* ── RESET & BASE ── */
.sr-wrap,
.sr-wrap * {
  font-family: 'Hind Siliguri', sans-serif !important;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
}
.sr-wrap {
  --c-green:    #1a3a2a;
  --c-green-m:  #2d5c42;
  --c-gold:     #c9a84c;
  --c-gold-l:   #e8c97a;
  --c-birth:    #166534;
  --c-birth-bg: #f0fdf4;
  --c-birth-br: #bbf7d0;
  --c-death:    #7f1d1d;
  --c-death-bg: #fff1f2;
  --c-death-br: #fecdd3;
  --c-special:  #1e3a5f;
  --c-special-bg:#eff6ff;
  --c-special-br:#bfdbfe;
  --c-bg:       #fafaf8;
  --c-surface:  #ffffff;
  --c-border:   #e8e4dc;
  --c-text:     #1c1917;
  --c-muted:    #78716c;
  --c-light:    #f5f4f0;
  --r:          10px;
  --shadow:     0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.04);
  --shadow-md:  0 4px 16px rgba(0,0,0,.1);
  background: var(--c-bg);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 2px 20px rgba(0,0,0,.1);
  max-width: 1120px;
  margin: 0 auto;
}

/* ── HERO ── */
.sr-hero {
  background: linear-gradient(135deg, var(--c-green) 0%, var(--c-green-m) 100%);
  padding: 24px 28px;
  border-bottom: 2px solid var(--c-gold);
}
.sr-hero-inner { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.sr-hero-brand { display:flex; align-items:center; gap:14px; }
.sr-hero-logo  { width:46px; height:46px; border-radius:10px; flex-shrink:0; }
.sr-hero-title { margin:0; color:var(--c-gold); font-size:clamp(20px,3vw,26px); font-weight:700; line-height:1.2; }
.sr-hero-sub   { margin:0; color:rgba(255,255,255,.65); font-size:13px; margin-top:2px; }
.sr-hero-stats { display:flex; align-items:center; gap:16px; }
.sr-hstat      { text-align:center; }
.sr-hstat span { display:block; color:var(--c-gold); font-size:22px; font-weight:700; line-height:1; }
.sr-hstat small{ color:rgba(255,255,255,.6); font-size:11px; }
.sr-hstat-div  { width:1px; height:32px; background:rgba(255,255,255,.2); }

/* ── NAV ── */
.sr-nav {
  display:flex; background:var(--c-surface);
  border-bottom:1px solid var(--c-border);
  overflow-x:auto; padding:0 4px;
  scrollbar-width:none;
}
.sr-nav::-webkit-scrollbar { display:none; }
.sr-navbtn {
  display:flex; align-items:center; gap:7px; white-space:nowrap;
  padding:14px 18px; background:none; border:none; border-bottom:3px solid transparent;
  margin-bottom:-1px; color:var(--c-muted); font-size:14px; font-weight:500;
  cursor:pointer; transition:all .18s; font-family:'Hind Siliguri',sans-serif !important;
}
.sr-navbtn:hover { color:var(--c-green); }
.sr-navbtn.active { color:var(--c-green); border-bottom-color:var(--c-gold); font-weight:700; }

/* ── SECTION HEAD ── */
.sr-section-head {
  display:flex; align-items:center; gap:10px;
  padding:18px 20px 14px; color:var(--c-green); font-weight:700; font-size:15px;
}

/* ── MONTH STRIP ── */
.sr-month-strip {
  display:flex; flex-wrap:wrap; gap:6px;
  padding:14px 18px; background:var(--c-surface); border-bottom:1px solid var(--c-border);
}
.sr-mchip {
  background:var(--c-light); border:1.5px solid var(--c-border); color:var(--c-muted);
  padding:6px 13px; border-radius:20px; font-size:12.5px; cursor:pointer;
  transition:all .15s; font-family:'Hind Siliguri',sans-serif !important; position:relative;
}
.sr-mchip sup { font-size:10px; color:var(--c-muted); margin-left:2px; }
.sr-mchip:hover { background:var(--c-green); color:white; border-color:var(--c-green); }
.sr-mchip.active { background:var(--c-green); color:var(--c-gold); border-color:var(--c-green); font-weight:700; }
.sr-mchip.active sup { color:rgba(255,255,255,.6); }

/* ── MONTH BLOCK ── */
.sr-mblock { padding:16px 18px; }
.sr-mblock-head {
  display:flex; align-items:center; justify-content:space-between;
  padding:12px 18px; border-radius:var(--r) var(--r) 0 0;
  background:var(--c-green); margin-bottom:0;
}
.sr-mblock-death  { background:linear-gradient(135deg,#4a1010 0%,#7f1d1d 100%); }
.sr-mblock-special{ background:linear-gradient(135deg,#0f2040 0%,#1e3a5f 100%); }
.sr-mblock-title  { display:flex; align-items:center; gap:8px; color:white; font-weight:700; font-size:15px; }
.sr-mblock-title svg { color:var(--c-gold); }
.sr-mcount { background:var(--c-gold); color:var(--c-green); padding:3px 11px; border-radius:20px; font-size:12px; font-weight:700; }

/* ── CARDS GRID ── */
.sr-grid {
  display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:12px; padding:14px; background:var(--c-bg);
  border:1px solid var(--c-border); border-top:none;
  border-radius:0 0 var(--r) var(--r);
}
.sr-card {
  background:var(--c-surface); border-radius:var(--r); padding:15px;
  border:1px solid var(--c-border); border-top:3px solid var(--c-birth-br);
  box-shadow:var(--shadow); transition:transform .15s, box-shadow .15s;
}
.sr-card:hover { transform:translateY(-2px); box-shadow:var(--shadow-md); }
.sr-card-death { border-top-color:var(--c-death-br); }
.sr-card-head  { display:flex; gap:11px; align-items:flex-start; margin-bottom:10px; }
.sr-cav {
  width:40px; height:40px; border-radius:50%; flex-shrink:0;
  background:var(--c-birth-bg); border:2px solid var(--c-birth-br);
  display:flex; align-items:center; justify-content:center;
  color:var(--c-birth); font-size:17px; font-weight:700;
}
.sr-cav-death { background:var(--c-death-bg); border-color:var(--c-death-br); color:var(--c-death); }
.sr-cinfo     { flex:1; min-width:0; }
.sr-cinfo h4  { margin:0 0 5px; font-size:14.5px; font-weight:700; color:var(--c-text); line-height:1.3; }
.sr-cdates    { display:flex; flex-direction:column; gap:3px; }
.sr-cbirth, .sr-cdeath { font-size:11.5px; display:flex; align-items:center; gap:3px; }
.sr-cbirth { color:var(--c-birth); }
.sr-cdeath { color:var(--c-death); }
.sr-ctype-icon { font-size:18px; flex-shrink:0; margin-top:2px; }
.sr-cwork {
  display:flex; align-items:center; gap:6px; font-size:12px; font-style:italic;
  color:#5c4a00; background:#fef9e7; padding:6px 10px; border-radius:6px;
  margin-bottom:8px; border-left:3px solid var(--c-gold);
}
.sr-cwork svg { color:var(--c-gold); flex-shrink:0; }
.sr-ctags  { display:flex; flex-wrap:wrap; gap:5px; margin-bottom:8px; }
.sr-tag    { background:var(--c-light); border:1px solid var(--c-border); padding:2px 9px; border-radius:20px; font-size:11px; color:var(--c-muted); }
.sr-tag-era{ background:#f0fdf4; border-color:#bbf7d0; color:var(--c-birth); }
.sr-cdesc  { margin:0; font-size:12px; color:var(--c-muted); line-height:1.6; padding-top:8px; border-top:1px dashed var(--c-border); }

/* ── SPECIAL LIST ── */
.sr-slist {
  display:flex; flex-direction:column; gap:10px; padding:14px;
  background:var(--c-bg); border:1px solid var(--c-border); border-top:none;
  border-radius:0 0 var(--r) var(--r);
}
.sr-scard {
  display:flex; gap:14px; align-items:flex-start; padding:14px 16px;
  background:var(--c-surface); border-radius:var(--r); border:1px solid var(--c-special-br);
  border-left:4px solid var(--c-special); box-shadow:var(--shadow);
  transition:box-shadow .15s;
}
.sr-scard:hover { box-shadow:var(--shadow-md); }
.sr-sdate { background:var(--c-special); color:white; min-width:52px; padding:10px 6px; border-radius:8px; text-align:center; flex-shrink:0; }
.sr-sday  { display:block; font-size:22px; font-weight:700; line-height:1; }
.sr-smo   { display:block; font-size:11px; opacity:.8; margin-top:2px; }
.sr-sbody h4 { margin:0 0 6px; font-size:14.5px; font-weight:700; color:var(--c-text); }
.sr-sbody p  { margin:6px 0 0; font-size:12.5px; color:var(--c-muted); line-height:1.6; }
.sr-stag { display:inline-block; padding:2px 10px; border-radius:20px; font-size:11px; font-weight:600; }
.sr-stag-literary    { background:#f0fdf4; color:var(--c-birth); }
.sr-stag-national    { background:#fefce8; color:#854d0e; }
.sr-stag-international{ background:var(--c-special-bg); color:var(--c-special); }

/* ── TIMELINE (Home) ── */
.sr-timeline { padding:8px 18px 18px; }
.sr-tl-row {
  display:flex; gap:16px; margin-bottom:14px; align-items:flex-start;
  padding:14px 16px; background:var(--c-surface); border-radius:var(--r);
  border:1px solid var(--c-border); box-shadow:var(--shadow);
  transition:box-shadow .15s;
}
.sr-tl-row:hover { box-shadow:var(--shadow-md); }
.sr-today    { border-color:#bef264; background:#f7fee7; }
.sr-tomorrow { border-color:var(--c-gold-l); background:#fffdf0; }
.sr-tl-date  { min-width:70px; flex-shrink:0; text-align:center; }
.sr-tl-d     { display:block; font-size:15px; font-weight:700; color:var(--c-text); line-height:1.2; }
.sr-tl-pill  {
  display:inline-block; margin-top:4px; padding:2px 10px;
  background:var(--c-green); color:var(--c-gold); border-radius:20px; font-size:11px; font-weight:700;
}
.sr-tl-events { flex:1; display:flex; flex-direction:column; gap:8px; }
.sr-tl-card   {
  display:flex; align-items:flex-start; gap:10px; padding:10px 12px;
  border-radius:8px; background:var(--c-bg); border:1px solid var(--c-border);
}
.sr-tl-birth  { border-color:var(--c-birth-br); background:var(--c-birth-bg); }
.sr-tl-death  { border-color:var(--c-death-br); background:var(--c-death-bg); }
.sr-tl-special{ border-color:var(--c-special-br); background:var(--c-special-bg); }
.sr-tl-kind-dot { width:8px; height:8px; border-radius:50%; flex-shrink:0; margin-top:6px; }
.sr-dot-birth   { background:var(--c-birth); }
.sr-dot-death   { background:var(--c-death); }
.sr-dot-special { background:var(--c-special); }
.sr-tl-avatar {
  width:34px; height:34px; border-radius:50%; flex-shrink:0;
  background:var(--c-green); color:var(--c-gold);
  display:flex; align-items:center; justify-content:center; font-size:14px; font-weight:700;
}
.sr-tl-body { flex:1; min-width:0; }
.sr-tl-body strong { display:block; font-size:13.5px; font-weight:700; color:var(--c-text); }
.sr-tl-meta { display:block; font-size:11.5px; color:var(--c-muted); margin-top:2px; }
.sr-tl-body small { display:block; font-size:11px; color:var(--c-muted); margin-top:3px; font-style:italic; }
.sr-tl-badge { flex-shrink:0; padding:3px 9px; border-radius:20px; font-size:11px; font-weight:600; }
.sr-badge-birth   { background:var(--c-birth-bg); color:var(--c-birth); border:1px solid var(--c-birth-br); }
.sr-badge-death   { background:var(--c-death-bg); color:var(--c-death); border:1px solid var(--c-death-br); }
.sr-badge-special { background:var(--c-special-bg); color:var(--c-special); border:1px solid var(--c-special-br); }

/* ── SUGGEST FORM ── */
.sr-suggest-wrap { max-width:700px; margin:0 auto; padding:20px; }
.sr-suggest-head {
  display:flex; gap:14px; align-items:flex-start; padding:18px 20px;
  background:var(--c-surface); border:1px solid var(--c-border); border-radius:var(--r);
  margin-bottom:16px; box-shadow:var(--shadow);
}
.sr-suggest-head svg { color:var(--c-green); flex-shrink:0; margin-top:3px; }
.sr-suggest-head h3 { margin:0 0 4px; font-size:16px; font-weight:700; color:var(--c-green); }
.sr-suggest-head p  { margin:0; font-size:13px; color:var(--c-muted); }
.sr-suggest-ok {
  display:flex; align-items:center; gap:10px; padding:14px 18px;
  background:#f0fdf4; border:1.5px solid #bbf7d0; border-radius:var(--r);
  color:var(--c-birth); font-weight:600; font-size:14px; margin-bottom:14px;
}
.sr-suggest-ok svg { flex-shrink:0; }
.sr-sform { background:var(--c-surface); border:1px solid var(--c-border); border-radius:var(--r); padding:20px; box-shadow:var(--shadow); }
.sr-sform-row { display:flex; gap:12px; margin-bottom:12px; }
.sr-sform-row-3 { }
.sr-sform-group { flex:1; display:flex; flex-direction:column; gap:5px; }
.sr-sform-full  { flex:1 1 100%; }
.sr-sform-group label { font-size:12.5px; font-weight:600; color:var(--c-green); }
.sr-sform-group label span { color:#dc2626; }
.sr-sform-group input,
.sr-sform-group select,
.sr-sform-group textarea {
  padding:9px 12px; border:1.5px solid var(--c-border); border-radius:8px;
  font-family:'Hind Siliguri',sans-serif !important; font-size:13.5px;
  color:var(--c-text); background:var(--c-bg); outline:none; transition:border-color .18s;
  width:100%;
}
.sr-sform-group input:focus,
.sr-sform-group select:focus,
.sr-sform-group textarea:focus { border-color:var(--c-gold); background:white; }
.sr-sform-group textarea { resize:vertical; }
.sr-sbtn {
  display:inline-flex; align-items:center; gap:8px; padding:11px 24px;
  background:var(--c-green); color:var(--c-gold); border:none; border-radius:8px;
  font-family:'Hind Siliguri',sans-serif !important; font-size:14.5px; font-weight:600;
  cursor:pointer; transition:all .18s; margin-top:4px;
}
.sr-sbtn:hover { background:var(--c-green-m); transform:translateY(-1px); }

/* ── EMPTY ── */
.sr-empty {
  text-align:center; padding:32px; color:var(--c-muted); font-size:14px;
  background:var(--c-bg); border:1px solid var(--c-border); border-top:none;
  border-radius:0 0 var(--r) var(--r);
}

/* ── RESPONSIVE ── */
@media (max-width: 700px) {
  .sr-hero { padding:16px 14px; }
  .sr-hero-title { font-size:20px; }
  .sr-hero-stats { gap:10px; }
  .sr-hstat span { font-size:18px; }
  .sr-navbtn { padding:12px 12px; font-size:12.5px; gap:5px; }
  .sr-navbtn svg { display:none; }
  .sr-month-strip { padding:10px 12px; }
  .sr-mblock { padding:12px 10px; }
  .sr-grid { grid-template-columns:1fr; gap:10px; padding:10px; }
  .sr-timeline { padding:8px 10px 14px; }
  .sr-tl-row { flex-direction:column; gap:10px; }
  .sr-tl-date { display:flex; align-items:center; gap:8px; text-align:left; min-width:auto; }
  .sr-tl-d { font-size:13px; }
  .sr-sform-row { flex-direction:column; }
  .sr-sform-row-3 { flex-direction:column; }
  .sr-suggest-wrap { padding:12px; }
  .sr-tl-badge { display:none; }
}
@media (max-width:400px) {
  .sr-hero-brand { gap:10px; }
  .sr-hero-logo  { width:36px; height:36px; }
  .sr-hero-sub   { display:none; }
}
