/* ==========================================================
   ગુણોત્સવ 2026 - Professional Theme (Bootstrap 5 base)
   Palette: Slate Blue / Teal / Cool Steel Gray — no harsh dark/bright colors
   ========================================================== */
:root{
  --primary:#34567d;        /* slate/steel blue */
  --primary-dark:#233c56;   /* deep slate blue, used sparingly */
  --primary-light:#5c7c9e;
  --teal:#0f7a72;           /* cool teal accent */
  --teal-dark:#0a5b55;
  --slate:#48586b;          /* darkslategray-ish neutral */
  --slate-light:#7c8a9c;
  --danger:#b3564f;         /* muted coral-red, not harsh */
  --success:#3f8f6f;        /* muted teal-green */
  --brass:#b8863f;          /* muted brass/gold - seal + price accents only */
  --brass-dark:#8f6a2f;
  --paper:#f4f6f8;
  --card:#ffffff;
  --text:#2b3947;
  --radius:12px;
}

body{
  font-family:'Noto Sans Gujarati','Segoe UI',sans-serif;
  background:var(--paper);
  color:var(--text);
}

.gs-slab{ font-family:'Zilla Slab','Noto Sans Gujarati',serif; }


/* ---------- Form inputs - visible border ---------- */
.form-control, .form-select{
  border:1.5px solid #333333 !important;
  border-radius:8px;
}
.form-control:focus, .form-select:focus{
  border-color:var(--primary) !important;
  box-shadow:0 0 0 .2rem rgba(52,86,125,.15);
}
.gs-repeater-row{ background:#f4f6f8; border-left:4px solid var(--primary-light); }

/* ---------- Top brand bar ---------- */
.gs-topbar{
  background:#ffffff;
  border-bottom:1px solid #e7ebee;
  position:relative;
}
.gs-topbar-logo{
  width:44px; height:44px; border-radius:12px;
  background:linear-gradient(135deg, var(--primary-dark), var(--teal));
  color:#fff; display:flex; align-items:center; justify-content:center; font-size:1.3rem; flex-shrink:0;
}
.gs-topbar .brand-title{color:var(--primary-dark);font-weight:700;letter-spacing:.2px;font-size:1.05rem}
.gs-topbar .brand-sub{color:var(--teal-dark);font-size:.92rem;font-weight:600}
.gs-topbar-user{color:var(--text)}

/* ---------- Buttons ---------- */
.btn-gs-primary{
  background:var(--primary); border:none; color:#fff; font-weight:600;
  border-radius:10px; padding:.55rem 1.4rem;
  box-shadow:0 4px 14px rgba(52,86,125,.25);
}
.btn-gs-primary:hover{background:var(--primary-dark);color:#fff}
.btn-gs-navy{background:var(--primary);border:none;color:#fff;border-radius:10px;font-weight:600}
.btn-gs-navy:hover{background:var(--primary-dark);color:#fff}
.btn-gs-green{background:var(--success);border:none;color:#fff;border-radius:10px;font-weight:600}
.btn-gs-green:hover{background:#2f6e56;color:#fff}
.btn-gs-red{background:var(--danger);border:none;color:#fff;border-radius:10px;font-weight:600}
.btn-gs-red:hover{background:#95443e;color:#fff}
.btn-gs-teal{background:var(--teal);border:none;color:#fff;border-radius:10px;font-weight:600}
.btn-gs-teal:hover{background:var(--teal-dark);color:#fff}
.btn-outline-gs{border:2px solid var(--primary);color:var(--primary);border-radius:10px;font-weight:600;background:#fff}
.btn-outline-gs:hover{background:var(--primary);color:#fff}

/* ---------- Icon-forward action buttons (Edit / PDF) ---------- */
.gs-action-btn{
  display:inline-flex; align-items:center; gap:.4rem;
  border:none; border-radius:999px; font-weight:600; font-size:.85rem;
  padding:.45rem 1rem .45rem .55rem; color:#fff; text-decoration:none;
  transition:transform .12s ease, box-shadow .12s ease;
}
.gs-action-btn:hover{transform:translateY(-1px); color:#fff}
.gs-action-btn .icon-circle{
  width:26px; height:26px; border-radius:50%; background:rgba(255,255,255,.22);
  display:flex; align-items:center; justify-content:center; font-size:.85rem;
}
.gs-action-edit{background:var(--primary); box-shadow:0 3px 10px rgba(52,86,125,.3);}
.gs-action-edit:hover{background:var(--primary-dark)}
.gs-action-pdf{background:var(--teal); box-shadow:0 3px 10px rgba(15,122,114,.3);}
.gs-action-pdf:hover{background:var(--teal-dark)}

/* ---------- Feature / info cards ---------- */
.gs-feature{
  border-radius:var(--radius); background:#fff; padding:1.6rem;
  border-top:4px solid var(--teal);
  box-shadow:0 6px 18px rgba(43,57,71,.06);
  height:100%;
}
.gs-feature.n2{border-top-color:var(--success)}
.gs-feature.n3{border-top-color:var(--danger)}
.gs-feature.n4{border-top-color:var(--primary)}
.gs-feature .icon-box{
  width:52px;height:52px;border-radius:12px;display:flex;align-items:center;justify-content:center;
  background:var(--primary); color:#fff; font-size:1.4rem; margin-bottom:.8rem;
}

/* ---------- Section pill selectors (વહીવટી / શૈક્ષણિક) ---------- */
.gs-section-tile{
  display:block; border-radius:18px; padding:2.4rem 1.4rem; text-align:center;
  color:#fff; text-decoration:none; font-size:1.4rem; font-weight:700;
  position:relative; overflow:hidden; transition:.2s transform;
  box-shadow:0 10px 30px rgba(30,50,70,.15);
}
.gs-section-tile:hover{transform:translateY(-4px); color:#fff}
.gs-section-tile.vahivati{background:linear-gradient(135deg, var(--primary-dark), var(--primary))}
.gs-section-tile.shaikshanik{background:linear-gradient(135deg, var(--teal-dark), var(--teal))}
.gs-section-tile small{display:block;font-size:.85rem;font-weight:400;opacity:.85;margin-top:.4rem}
.gs-progress-pill{font-size:.85rem; font-weight:600}
.gs-progress-bar{background:rgba(255,255,255,.25); border-radius:999px; height:6px; margin-top:.35rem; overflow:hidden}
.gs-progress-bar > div{background:#fff; height:100%; border-radius:999px}

/* ---------- Topic accordion ---------- */
.gs-topic-header{
  background:var(--primary); color:#fff; border-radius:10px; padding:.9rem 1.2rem;
  font-weight:600; cursor:pointer;
}
.gs-sub-row{
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:.5rem;
  background:#fff; border:1px solid #e4e8ec; border-left:5px solid var(--slate-light);
  border-radius:10px; padding:.7rem 1rem; margin-top:.5rem;
  transition:border-color .15s ease;
}
.gs-sub-row:hover{border-left-color:var(--teal)}
.gs-sub-row .num{
  background:var(--slate); color:#fff; border-radius:8px; padding:.15rem .55rem; font-size:.8rem; margin-right:.6rem;
}
.gs-sub-row.filled{border-left-color:var(--success)}

/* ---------- Login card ---------- */
.gs-login-card{
  border-radius:20px; overflow:hidden; box-shadow:0 20px 60px rgba(20,40,60,.18);
}
.gs-login-side{
  background:linear-gradient(160deg, var(--primary-dark), var(--slate));
  color:#fff; padding:2.5rem;
}

/* ---------- Misc ---------- */
.badge-active{background:var(--success)}
.badge-inactive{background:var(--danger)}
footer.gs-footer{background:var(--primary-dark); color:#cdd8e2; padding:2rem 0; margin-top:3rem}

/* ==========================================================
   Landing page v2 — hero, seal motif, pricing, index, gallery
   ========================================================== */

/* ---------- Seal / stamp badge (signature motif) ----------
   Direct callback to the "સહી અને સિક્કો" (signature & seal) that
   closes every generated document — used sparingly at key trust points. */
.gs-seal{
  width:84px; height:84px; border-radius:50%;
  border:2px solid var(--brass); outline:1px solid var(--brass);
  outline-offset:4px;
  display:flex; align-items:center; justify-content:center; flex-direction:column;
  color:var(--brass-dark); text-align:center; flex-shrink:0;
  transform:rotate(-8deg);
  background:#fff;
}
.gs-seal .n{ font-family:'Zilla Slab',serif; font-weight:700; font-size:1.5rem; line-height:1; }
.gs-seal .t{ font-size:.55rem; font-weight:700; letter-spacing:.04em; margin-top:2px; }
.gs-seal.sm{ width:56px; height:56px; }
.gs-seal.sm .n{ font-size:1rem; }
.gs-seal.sm .t{ font-size:.42rem; }

/* ---------- Hero v2 (light, matching reference) ---------- */
.gs-hero{
  background:linear-gradient(180deg, #eef3f7 0%, var(--paper) 100%);
  position:relative; overflow:hidden;
  padding:52px 0 64px;
}
.gs-eyebrow{
  display:inline-flex; align-items:center; gap:.4rem;
  font-size:.78rem; font-weight:700; letter-spacing:.06em;
  color:var(--teal-dark); text-transform:uppercase; margin-bottom:.9rem;
}
.gs-eyebrow::before{ content:""; width:22px; height:2px; background:var(--teal); display:inline-block; }
.gs-hero h1{
  font-family:'Zilla Slab','Noto Sans Gujarati',serif;
  font-weight:700; line-height:1.25; font-size:2.3rem; color:var(--primary-dark);
}
.gs-hero .accent{color:var(--teal-dark)}
.gs-guided-by{
  font-family:'Zilla Slab','Noto Sans Gujarati',serif;
  font-size:1.4rem; font-weight:700; color:var(--teal-dark);
  margin-top:.5rem; padding-top:.6rem; border-top:3px solid var(--brass);
  display:inline-block;
}
.gs-guided-by i{ color:var(--brass-dark); margin-right:.3rem; }
.gs-hero-card{
  background:#fff; border-radius:var(--radius); padding:2rem;
  box-shadow:0 20px 50px rgba(20,40,60,.12); color:var(--text); border:1px solid #eef1f3;
}
.gs-stat-row{ display:flex; gap:.9rem; flex-wrap:wrap; margin-top:1.6rem; }
.gs-stat-chip{ display:flex; align-items:center; gap:.6rem; min-width:130px; }
.gs-stat-icon{
  width:42px; height:42px; border-radius:50%; flex-shrink:0;
  display:flex; align-items:center; justify-content:center; color:#fff; font-size:1.05rem;
}
.gs-stat-chip .n{ font-family:'Zilla Slab',serif; font-weight:700; font-size:1.25rem; color:var(--primary-dark); line-height:1; }
.gs-stat-chip .t{ font-size:.72rem; color:var(--slate); margin-top:.1rem; }
.gs-scroll-link{
  color:var(--teal-dark); font-size:.85rem; text-decoration:none; display:inline-flex; align-items:center; gap:.3rem;
  margin-top:1.4rem; border-bottom:1px dashed var(--teal); padding-bottom:2px;
}
.gs-scroll-link:hover{ color:var(--teal-dark); }
.gs-register-btn{
  display:inline-flex; align-items:center; gap:.3rem; font-size:.9rem; font-weight:700;
  color:var(--primary); text-decoration:none; border:1.5px solid var(--primary-light);
  border-radius:999px; padding:.5rem 1.2rem;
}
.gs-register-btn:hover{ background:var(--primary); color:#fff; border-color:var(--primary); }

/* ---------- Hero credit badges (developer + guidance) ---------- */
.gs-credit-row{ display:flex; gap:.6rem; flex-wrap:wrap; margin-top:1.2rem; }
.gs-credit-chip{
  display:inline-flex; align-items:center; gap:.4rem;
  background:#fff; border:1.5px solid var(--brass); border-radius:999px;
  padding:.4rem .9rem; font-size:.78rem; color:var(--text);
  box-shadow:0 3px 10px rgba(184,134,63,.12);
}
.gs-credit-chip i{ color:var(--brass-dark); font-size:.9rem; }
.gs-credit-chip strong{ color:var(--primary-dark); }

/* ---------- Pricing band ---------- */
/* ---------- Dark section bands (light-dark-light rhythm) ---------- */
.gs-band-dark{
  background:linear-gradient(120deg, var(--primary-dark) 0%, var(--slate) 55%, var(--teal-dark) 100%);
  padding:3.5rem 0;
}
.gs-band-dark h3{ color:#fff; }
.gs-band-dark p.text-muted{ color:#c3d3e0 !important; }
.gs-band-dark .gs-feature p.text-muted{ color:var(--slate) !important; } /* feature cards stay white, keep own text color */

.gs-price-card{
  background:linear-gradient(135deg, #eef8f2, #f4faf6); border-radius:20px; padding:2rem;
  box-shadow:0 16px 40px rgba(20,40,60,.08); border:1px solid #dcefe2;
  position:relative;
}
.gs-price-row{ display:flex; align-items:center; gap:1.4rem; flex-wrap:wrap; }
.gs-price-amount{ font-family:'Zilla Slab',serif; font-weight:700; font-size:3rem; color:var(--primary-dark); line-height:1; }
.gs-price-amount .old{ font-size:1.4rem; color:var(--danger); text-decoration:line-through; font-weight:400; margin-right:.5rem; }
.gs-price-amount .cur{ transition:color .2s; }
.gs-price-amount.discounted .cur{ color:var(--success); }
.gs-price-tag{
  display:inline-block; background:var(--paper); border:1px solid #e0e5ea; border-radius:999px;
  padding:.25rem .8rem; font-size:.78rem; font-weight:600; color:var(--slate); margin-top:.4rem;
}
.gs-promo-box{ display:flex; gap:.5rem; flex-wrap:wrap; max-width:340px; }
.gs-promo-msg{ font-size:.82rem; margin-top:.4rem; min-height:1.2em; }
.gs-promo-msg.ok{ color:var(--success); font-weight:600; }
.gs-promo-msg.bad{ color:var(--danger); font-weight:600; }

/* ---------- What's inside — document index panels ---------- */
.gs-index-panel{
  background:#fff; border-radius:16px; border:1px solid #e7ebee; overflow:hidden;
  box-shadow:0 6px 18px rgba(43,57,71,.05); height:100%;
}
.gs-index-head{
  padding:1.3rem 1.5rem; color:#fff; display:flex; align-items:center; justify-content:space-between;
}
.gs-index-panel.vahivati .gs-index-head{ background:linear-gradient(135deg, var(--primary-dark), var(--primary)); }
.gs-index-panel.shaikshanik .gs-index-head{ background:linear-gradient(135deg, var(--teal-dark), var(--teal)); }
.gs-index-head .count{ font-family:'Zilla Slab',serif; font-weight:700; font-size:1.6rem; }
.gs-index-list{ max-height:320px; overflow-y:auto; padding:.5rem 0; }
.gs-index-item{
  display:flex; justify-content:space-between; gap:.6rem; padding:.55rem 1.5rem;
  font-size:.86rem; border-bottom:1px solid #f0f2f4;
}
.gs-index-item:last-child{ border-bottom:none; }
.gs-index-item .badge-count{ background:var(--paper); color:var(--slate); border-radius:6px; padding:.1rem .5rem; font-size:.75rem; flex-shrink:0; }
.gs-index-hint{ text-align:center; font-size:.72rem; color:var(--slate-light); padding:.6rem 0; border-top:1px solid #f0f2f4; }

/* ---------- Demo gallery ---------- */
.gs-demo-frame{
  background:#fff; border-radius:14px; border:2px dashed #d5dce2; padding:1.2rem;
  display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center;
  aspect-ratio:4/3; color:var(--slate-light); height:100%;
}
.gs-demo-frame i{ font-size:2.2rem; margin-bottom:.6rem; opacity:.6; }
.gs-demo-frame .lbl{ font-weight:600; font-size:.9rem; color:var(--slate); }
.gs-demo-frame .sub{ font-size:.76rem; margin-top:.2rem; }
.gs-demo-pdf-tile{
  background:linear-gradient(135deg, var(--primary-dark), var(--primary)); border-radius:14px;
  padding:1.2rem; aspect-ratio:4/3; display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; color:#fff; text-decoration:none;
}
.gs-demo-pdf-tile:hover{ color:#fff; transform:translateY(-3px); transition:.15s; }
.gs-demo-pdf-tile i{ font-size:2.4rem; margin-bottom:.6rem; }

/* ---------- Help desk strip ---------- */
.gs-helpdesk{
  background:#fff; border:1px solid #e7ebee; border-radius:16px;
  padding:1.4rem 1.6rem; display:flex; align-items:center; gap:1rem; flex-wrap:wrap;
  box-shadow:0 6px 18px rgba(43,57,71,.05);
}
.gs-helpdesk .icon{
  width:48px; height:48px; border-radius:50%; background:var(--paper); color:var(--teal);
  display:flex; align-items:center; justify-content:center; font-size:1.3rem; flex-shrink:0;
}
.gs-helpdesk-mini{
  display:inline-flex; align-items:center; gap:.4rem; font-size:.78rem; color:#cfe0ea;
  text-decoration:none; border-top:1px solid rgba(255,255,255,.15); padding-top:.8rem; margin-top:.8rem; width:100%;
}
.gs-helpdesk-mini:hover{ color:#fff; }

/* ---------- Dashboard v2 ---------- */
.gs-welcome-banner{
  background:linear-gradient(120deg, var(--primary-dark), var(--primary));
  border-radius:20px; padding:1.8rem 2rem; color:#fff;
  display:flex; align-items:center; justify-content:space-between; gap:1.5rem; flex-wrap:wrap;
}
.gs-ring{
  --pct:0; width:88px; height:88px; border-radius:50%; flex-shrink:0;
  background:conic-gradient(#fff calc(var(--pct)*1%), rgba(255,255,255,.2) 0);
  display:flex; align-items:center; justify-content:center;
}
.gs-ring::before{
  content:attr(data-pct)"%"; width:68px; height:68px; border-radius:50%; background:var(--primary-dark);
  display:flex; align-items:center; justify-content:center; font-family:'Zilla Slab',serif; font-weight:700; font-size:1.05rem;
}
.gs-quicklinks{ display:flex; gap:.7rem; flex-wrap:wrap; justify-content:center; }
.gs-quicklink{
  display:flex; align-items:center; gap:.5rem; background:#fff; border:1px solid #e7ebee;
  border-radius:12px; padding:.65rem 1.1rem; text-decoration:none; color:var(--text);
  font-size:.86rem; font-weight:600; box-shadow:0 4px 12px rgba(43,57,71,.05);
}
.gs-quicklink:hover{ border-color:var(--primary); color:var(--primary); }
.gs-quicklink i{ color:var(--teal); font-size:1.1rem; }
.gs-section-tile{ position:relative; }
.gs-tile-seal{ position:absolute; top:-10px; right:-10px; }

/* ---------- Mobile ---------- */
@media (max-width:767.98px){
  .gs-hero{ padding:32px 0 44px; }
  .gs-hero h1{ font-size:1.7rem; }
  .gs-guided-by{ font-size:1.1rem; }
  .gs-stat-row{ gap:.7rem; }
  .gs-stat-chip{ min-width:auto; }
  .gs-stat-icon{ width:36px; height:36px; font-size:.9rem; }
  .gs-stat-chip .n{ font-size:1.05rem; }
  .gs-price-amount{ font-size:2.2rem; }
  .gs-price-row{ flex-direction:column; align-items:flex-start; }
  .gs-index-list{ max-height:220px; }
  .gs-welcome-banner{ flex-direction:column; text-align:center; padding:1.4rem; }
  .gs-quicklinks{ justify-content:stretch; }
  .gs-quicklink{ flex:1 1 45%; justify-content:center; }
  .gs-seal{ width:64px; height:64px; }
  .gs-seal .n{ font-size:1.1rem; }
}

/* ---------- Aadharo preparation guide ---------- */
.gs-guide-stat{
  background:#fff; border:1px solid #e7ebee; border-radius:12px;
  padding:1rem 1.2rem; text-align:center; box-shadow:0 4px 12px rgba(43,57,71,.05);
}
.gs-guide-stat .n{ font-family:'Zilla Slab',serif; font-weight:700; font-size:1.6rem; color:var(--primary-dark); }
.gs-guide-stat .t{ font-size:.78rem; color:var(--slate); margin-top:.2rem; }

.gs-photo-panel{
  background:#fff; border:1px solid #e7ebee; border-radius:14px; overflow:hidden;
  box-shadow:0 4px 12px rgba(43,57,71,.05); height:100%;
}
.gs-photo-head{
  background:linear-gradient(135deg, var(--teal-dark), var(--teal)); color:#fff;
  padding:.8rem 1.1rem; font-weight:700; font-size:.9rem;
}
.gs-photo-list{ list-style:none; margin:0; padding:.5rem 0; }
.gs-photo-list li{ border-bottom:1px solid #f0f2f4; }
.gs-photo-list li:last-child{ border-bottom:none; }
.gs-photo-item{
  display:flex; align-items:flex-start; gap:.6rem; padding:.6rem 1.1rem;
  cursor:pointer; font-size:.85rem; margin:0;
}
.gs-photo-item input{ margin-top:.2rem; flex-shrink:0; }
.gs-photo-item.done span{ text-decoration:line-through; color:var(--slate-light); }
