/* ============================================================
   School Theek Karo — shared theme
   Palette is the Indian national flag:
     saffron  #FF9933   white  #FFFFFF   green  #138808
     chakra navy  #000080
   The pure flag hues are used for fills, bars, seams and accents.
   Text uses darkened siblings (--saffron-ink, --green-ink) because
   #FF9933 on white is ~2.1:1 and fails WCAG for body text.
   ============================================================ */

:root{
  /* --- flag, exact --- */
  --saffron:#FF9933;
  --white:#FFFFFF;
  --green:#138808;
  --chakra:#000080;

  /* --- text-safe siblings --- */
  --saffron-ink:#A85708;
  --green-ink:#0C6206;
  --chakra-soft:#33339B;

  /* --- washes --- */
  --saffron-wash:#FFF1DF;
  --saffron-edge:#F6D9B4;
  --green-wash:#E3F3E1;
  --green-edge:#BFDDBB;
  --green-soft:#5CA653;
  --chakra-wash:#EDEDF7;

  /* --- surface --- */
  --paper:#FFFFFF;
  --paper-alt:#F5F6F5;
  --card:#FFFFFF;
  --rule:#DEE1DD;
  --rule-soft:#EBEDEA;

  /* --- ink --- */
  --ink:#131A15;
  --ink-soft:#575F59;
  --ink-faint:#878E89;

  --sans:'IBM Plex Sans','Segoe UI',system-ui,sans-serif;
  --deva:'IBM Plex Sans Devanagari','Nirmala UI',var(--sans);
  --mono:'IBM Plex Mono',ui-monospace,'SF Mono',monospace;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:var(--sans);
  font-size:16px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--chakra)}

.wrap{max-width:920px;margin:0 auto;padding:0 24px}
.wrap-wide{max-width:1100px}

/* ---------- tricolour hairline ----------
   The white band needs hairlines or it vanishes on a white page. */
.tricolour{display:flex;height:4px}
.tricolour i{flex:1}
.tricolour i:nth-child(1){background:var(--saffron)}
.tricolour i:nth-child(2){background:var(--white);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.tricolour i:nth-child(3){background:var(--green)}

/* ---------- chakra mark (drawn by site.js) ---------- */
.chakra-mark{display:inline-block;width:22px;height:22px;flex:none}
.chakra-mark svg{display:block;width:100%;height:100%}
.chakra-mark circle,.chakra-mark line{stroke:var(--chakra)}

/* ---------- masthead ---------- */
.masthead{border-bottom:1px solid var(--rule);background:var(--paper)}
.masthead .wrap{display:flex;align-items:center;justify-content:space-between;padding-top:14px;padding-bottom:14px;gap:16px}
.brandlock{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit}
.brand{font-family:var(--deva);font-weight:700;font-size:20px;letter-spacing:.01em;line-height:1.15}
.brand small{display:block;font-family:var(--sans);font-weight:500;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);margin-top:1px}
.masthead nav{display:flex;gap:20px;font-size:13.5px;color:var(--ink-soft)}
.masthead nav a{color:inherit;text-decoration:none;border-bottom:1px solid transparent;padding-bottom:2px}
.masthead nav a:hover,.masthead nav a:focus-visible{color:var(--ink);border-bottom-color:var(--saffron)}
.masthead nav a.on{color:var(--ink);border-bottom-color:var(--saffron)}

/* ---------- generic type ---------- */
.eyebrow{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 12px}
.eyebrow.saff{color:var(--saffron-ink)}
h1{font-family:var(--deva);font-weight:600;font-size:clamp(25px,4.2vw,36px);line-height:1.2;margin:0}
.name-en{font-size:15.5px;color:var(--ink-soft);margin:6px 0 0}
.sechead{margin:40px 0 14px}
.sechead h2{font-size:19px;font-weight:600;margin:0 0 4px}
.sechead p{font-size:14px;color:var(--ink-soft);margin:0;max-width:62em}

.meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;align-items:center}
.chip{font-family:var(--mono);font-size:12px;padding:4px 9px;border:1px solid var(--rule);background:var(--card);color:var(--chakra);border-radius:2px}
.chip.plain{color:var(--ink-soft);font-family:var(--sans)}

.premise{margin-top:22px;padding:16px 18px;background:var(--saffron-wash);border:1px solid var(--saffron-edge);border-left:3px solid var(--saffron);font-size:14.5px;color:var(--ink-soft);max-width:62em}
.premise b{color:var(--ink);font-weight:600}

/* ---------- form atoms ---------- */
input[type=date],input[type=text],input[type=tel],input[type=search],textarea,select{
  font-family:var(--sans);font-size:15px;color:var(--ink);background:var(--card);
  border:1px solid var(--rule);border-radius:2px;padding:10px 12px;width:100%;max-width:340px;
}
textarea{max-width:100%;resize:vertical;line-height:1.55}
input:focus-visible,textarea:focus-visible,select:focus-visible,button:focus-visible{outline:2px solid var(--chakra);outline-offset:1px}

.qblock{padding:26px 0 6px}
.qnum{font-family:var(--mono);font-size:12px;color:var(--saffron-ink);letter-spacing:.08em;margin:0}
.qlabel{font-size:17px;font-weight:600;margin:4px 0 3px}
.qhint{font-size:13.5px;color:var(--ink-soft);margin:0 0 14px}

.err{color:#A8340C;font-size:13px;font-weight:500;margin:6px 0 0;display:none}
.err.show{display:block}

.btn{font-family:var(--sans);font-size:14.5px;font-weight:600;padding:11px 22px;border-radius:2px;
  border:1px solid var(--green);background:var(--green);color:#fff;cursor:pointer;white-space:nowrap;text-decoration:none;display:inline-block}
.btn:hover{background:var(--green-ink);border-color:var(--green-ink)}
.btn:disabled{opacity:.45;cursor:not-allowed}
.btn.saff{background:var(--saffron);border-color:var(--saffron);color:#3A2005}
.btn.saff:hover{background:#F08A22;border-color:#F08A22}
.btn.ghost{background:none;color:var(--ink);border-color:var(--rule);font-weight:500}
.btn.ghost:hover{background:var(--paper-alt);border-color:var(--ink-faint)}

.block{border:1px solid var(--rule);background:var(--card);padding:20px}
.block.wa{background:var(--green-wash);border-color:var(--green-edge)}
.block.care{background:var(--saffron-wash);border-color:var(--saffron-edge)}
.block.navy{background:var(--chakra-wash);border-color:#CFCFEA}
.blocktitle{font-size:14.5px;font-weight:600;margin:0 0 5px}
.blocktext{font-size:13.5px;color:var(--ink-soft);margin:0 0 12px;max-width:62em}

.check{display:flex;gap:10px;align-items:flex-start;margin-top:16px;font-size:13.5px;color:var(--ink-soft);cursor:pointer;max-width:62em}
.check input{width:17px;height:17px;margin:2px 0 0;flex:none;accent-color:var(--green)}

.phone-in{display:flex;align-items:stretch;max-width:340px}
.pfx{font-family:var(--mono);font-size:15px;display:flex;align-items:center;padding:0 11px;background:var(--paper-alt);border:1px solid var(--rule);border-right:0;color:var(--ink-soft)}
.phone-in input{border-radius:0}

/* chips (multi-select) */
.chips{display:flex;flex-wrap:wrap;gap:7px}
.chipbtn{font-family:var(--sans);font-size:13px;font-weight:500;padding:8px 13px;border-radius:2px;
  border:1px solid var(--rule);background:var(--card);color:var(--ink-soft);cursor:pointer;transition:background .12s,border-color .12s,color .12s}
.chipbtn:hover{border-color:var(--ink-faint);color:var(--ink)}
.chipbtn[aria-pressed=true]{background:var(--green-wash);border-color:var(--green);color:var(--green-ink);font-weight:600}
.chips.saffron .chipbtn[aria-pressed=true]{background:#FFE3C2;border-color:var(--saffron);color:var(--saffron-ink)}

/* ---------- the seam / ledger ---------- */
.group{margin-bottom:26px}
.group-head{display:flex;align-items:baseline;gap:12px;margin-bottom:10px}
.group-head h2{font-size:13px;letter-spacing:.13em;text-transform:uppercase;font-weight:600;margin:0;white-space:nowrap}
.group-head .line{flex:1;height:1px;background:var(--rule)}
.group-head .count{font-family:var(--mono);font-size:12px;color:var(--ink-faint)}

.ledger{border:1px solid var(--rule);background:var(--card)}
.row{display:grid;grid-template-columns:1fr 6px 1fr;border-bottom:1px solid var(--rule-soft)}
.row:last-child{border-bottom:0}
.side{padding:14px 18px;min-width:0}
.side .label{font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 5px}
.side .field{font-size:14.5px;font-weight:500;margin:0 0 9px}
.official .value{font-family:var(--mono);font-size:14px;color:var(--chakra);margin:0}
.ground .value{font-size:14px;color:var(--ink);margin:0}

.seam{position:relative;background:var(--rule)}
.seam::after{content:'';position:absolute;left:50%;top:26px;width:9px;height:9px;
  transform:translate(-50%,-50%) rotate(45deg);background:var(--rule);border:1px solid var(--card)}
.row.confirmed .seam,.row.confirmed .seam::after{background:var(--green)}
.row.better    .seam,.row.better::after,.row.better .seam::after{background:var(--green-soft)}
.row.attention .seam,.row.attention .seam::after{background:var(--saffron)}
.row.attention{background:linear-gradient(90deg,transparent 50%,var(--saffron-wash) 50%)}
.row.better{background:linear-gradient(90deg,transparent 50%,var(--green-wash) 50%)}
.row.confirmed{background:linear-gradient(90deg,transparent 50%,rgba(227,243,225,.55) 50%)}

.tag{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;
  padding:3px 8px;border-radius:2px;border:1px solid var(--rule);color:var(--ink-faint);background:var(--paper-alt)}
.tag.confirmed{background:var(--green-wash);border-color:var(--green);color:var(--green-ink)}
.tag.better{background:var(--green-wash);border-color:var(--green-soft);color:var(--green-ink)}
.tag.attention{background:#FFE3C2;border-color:var(--saffron);color:var(--saffron-ink)}

/* finding buttons (visit form) */
.opts{display:flex;flex-wrap:wrap;gap:6px}
.opt{font-family:var(--sans);font-size:12.5px;font-weight:500;line-height:1.2;padding:7px 10px;
  border:1px solid var(--rule);background:var(--paper);color:var(--ink-soft);border-radius:2px;cursor:pointer;
  transition:background .12s,border-color .12s,color .12s}
.opt:hover{border-color:var(--ink-faint);color:var(--ink)}
.opt[aria-pressed=true]{font-weight:600}
.opt.yes[aria-pressed=true]{background:var(--green-wash);border-color:var(--green);color:var(--green-ink)}
.opt.worse[aria-pressed=true]{background:#FFE3C2;border-color:var(--saffron);color:var(--saffron-ink)}
.opt.betteropt[aria-pressed=true]{background:var(--green-wash);border-color:var(--green-soft);color:var(--green-ink)}

.detail{margin-top:11px;display:none}
.detail.show{display:block}
.detail textarea{font-size:14px;padding:8px 10px;min-height:58px}
.attach{display:flex;align-items:center;gap:6px;margin-top:8px;flex-wrap:wrap}
.attachbtn{font-size:12px;font-family:var(--sans);color:var(--chakra);background:none;
  border:1px dashed var(--rule);border-radius:2px;padding:6px 10px;cursor:pointer}
.attachbtn:hover{border-color:var(--chakra)}
.thumb{display:inline-block;width:34px;height:26px;border:1px solid var(--rule);border-radius:2px;object-fit:cover;
  background:repeating-linear-gradient(135deg,var(--paper-alt) 0 5px,var(--paper) 5px 10px)}
.reqnote{font-size:11.5px;color:var(--saffron-ink);margin:6px 0 0;font-weight:500;display:none}
.reqnote.show{display:block}

/* ---------- mini seam bar (directory rows / stats) ---------- */
.mini{display:flex;height:5px;border:1px solid var(--rule);background:var(--paper-alt)}
.mini i{display:block;height:100%}
.mini .m-conf{background:var(--green)}
.mini .m-bet{background:var(--green-soft)}
.mini .m-att{background:var(--saffron)}

/* ---------- sticky submit bar ---------- */
.bar{position:fixed;left:0;right:0;bottom:0;background:var(--card);border-top:1px solid var(--rule);z-index:20;
  box-shadow:0 -2px 14px rgba(19,26,21,.08)}
.bar .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:12px;padding-bottom:12px}
.bar .mini{width:190px;margin-top:6px}
.tally{font-size:13px;color:var(--ink-soft);min-width:0}
.tally b{font-family:var(--mono);color:var(--ink);font-weight:500}
body.has-bar{padding-bottom:96px}

/* ---------- footer ---------- */
footer{margin-top:48px;border-top:1px solid var(--rule);padding:24px 0 40px;font-size:13px;color:var(--ink-soft)}
footer p{margin:0 0 4px}
footer a{color:var(--ink-soft)}

/* ---------- states ---------- */
.loading,.empty{padding:34px 4px;color:var(--ink-faint);font-size:14px}
.demo-note{background:var(--chakra-wash);border:1px solid #CFCFEA;color:var(--chakra);
  font-size:12.5px;padding:9px 14px;text-align:center;font-family:var(--mono)}

.done{display:none;padding:60px 0}
.done.show{display:block}
.done h2{font-family:var(--deva);font-size:clamp(24px,4vw,34px);margin:0 0 12px;font-weight:600}
.done p{font-size:15.5px;color:var(--ink-soft);max-width:48em}
.payload{margin-top:22px;background:var(--paper-alt);border:1px solid var(--rule);padding:16px;
  font-family:var(--mono);font-size:12px;white-space:pre-wrap;word-break:break-word;color:var(--chakra);max-height:340px;overflow:auto}

@media(max-width:720px){
  .row{grid-template-columns:1fr}
  .seam{height:5px;width:100%}
  .seam::after{top:50%}
  .row.attention,.row.better,.row.confirmed{background:none}
  .row.attention .ground{background:var(--saffron-wash)}
  .row.better .ground{background:var(--green-wash)}
  .row.confirmed .ground{background:rgba(227,243,225,.55)}
  .official{padding-bottom:8px}
  .bar .mini{width:130px}
  .btn{padding:11px 16px}
  .masthead nav{gap:14px;font-size:13px}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
