/* MIS — desktop programme console. Paper ground, a night rail, the map as the hero device. */
body.mis{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}
.rail{position:sticky;top:0;height:100vh;background:var(--plum);color:var(--plum-ink);display:flex;flex-direction:column;padding:22px 16px 18px;z-index:5}
.rail .logo{color:var(--plum-ink);padding:0 8px 22px}
.nav{display:flex;flex-direction:column;gap:2px}
.nav a{display:flex;align-items:center;gap:12px;height:40px;padding:0 12px;border-radius:14px;text-decoration:none;color:var(--plum-ink-2);font:600 14.5px/1 var(--display);transition:background .2s,color .2s}
.nav a svg{width:18px;height:18px;flex:0 0 auto;opacity:.8}
.nav a:hover{background:rgba(255,255,255,.06);color:var(--plum-ink)}
.nav a.on{background:var(--coral);color:var(--plum)}
.nav a.on svg{opacity:1}
.nav .badge{margin-left:auto;min-width:22px;height:20px;padding:0 6px;border-radius:99px;background:var(--sindoor);color:#fff;font:700 11.5px/20px var(--display);text-align:center}
.nav .sep{height:1px;background:rgba(255,255,255,.08);margin:12px 8px}
.rail .who{margin-top:auto;padding:14px 12px 4px;border-top:1px solid rgba(255,255,255,.08)}
.rail .who .mono{color:var(--plum-ink-2);display:block;margin-bottom:8px}
.rail select{width:100%;height:38px;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:var(--plum-2);color:var(--plum-ink);font:600 13.5px var(--sans);padding:0 10px}
.rail .mfa{display:flex;align-items:center;gap:8px;margin-top:10px;font:500 11.5px/1.3 var(--sans);color:var(--plum-ink-2)}
.rail .mfa svg{width:14px;height:14px;color:var(--neem)}

main{position:relative;z-index:1;min-width:0;padding:0 36px 60px}
.top{position:sticky;top:0;z-index:4;display:flex;align-items:center;gap:12px;height:72px;margin:0 -36px;padding:0 36px;background:rgba(234,242,235,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.crumb{display:flex;flex-direction:column;min-width:0;margin-right:auto}
.crumb .mono{color:var(--ink-3)}
.crumb b{font:800 17px/1.25 var(--display);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.f{position:relative}
.f select{appearance:none;height:38px;min-width:132px;max-width:220px;padding:0 32px 0 12px;border-radius:12px;border:0;background:var(--card);font:600 13.5px var(--sans);color:var(--ink);box-shadow:0 1px 0 var(--line)}
.f::after{content:"";position:absolute;right:13px;top:16px;width:6px;height:6px;border-right:1.5px solid var(--ink-2);border-bottom:1.5px solid var(--ink-2);transform:rotate(45deg);pointer-events:none}
.f select:disabled{opacity:.55}
.livebar{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 12px;border-radius:12px;font:500 12.5px var(--sans);color:var(--ink-2);white-space:nowrap}
.livebar .dot{background:var(--neem);box-shadow:0 0 0 4px #DCEFE3}
.lang{display:inline-flex;height:38px;background:var(--card);border-radius:12px;overflow:hidden;box-shadow:0 1px 0 var(--line)}
.lang button{padding:0 12px;font:700 13px var(--display);color:var(--ink-3)}
.lang button.on{background:var(--plum);color:var(--plum-ink)}
.btn{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 16px;border-radius:12px;background:var(--plum);color:var(--plum-ink);font:700 13.5px var(--display);text-decoration:none;white-space:nowrap}
.btn svg{width:16px;height:16px}
.btn.ghost{background:var(--card);color:var(--ink);box-shadow:0 1px 0 var(--line)}
.btn.peacock{background:var(--coral);color:var(--plum)}

/* ---------- hero ---------- */
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:28px;align-items:center;padding:34px 0 8px}
.hero .eyebrow{display:flex;align-items:center;gap:10px;color:var(--ink-3)}
.hero h1{font:800 clamp(36px,3.6vw,60px)/1.06 var(--display);margin:16px 0 0;text-wrap:balance}
.hero h1 .n{font-variant-numeric:lining-nums}
.hero h1 em{font-style:normal;color:var(--sindoor);white-space:nowrap}
.hero h1 em .dot{width:12px;height:12px;vertical-align:middle;margin:0 2px 8px 8px}
.hero .hi{font:600 20px/1.4 var(--display);color:var(--ink-2);margin-top:12px}
.hero .sub{margin-top:16px;color:var(--ink-2);font-size:15.5px;max-width:52ch}
.hero .sub b{color:var(--ink)}
.hero .late{display:inline-flex;align-items:center;gap:8px;margin-top:18px;padding:8px 14px 8px 10px;border-radius:99px;background:var(--sindoor);color:#FFF4EF;font:700 13.5px var(--display);text-decoration:none}
.hero .late svg{width:16px;height:16px}
.mapwrap{position:relative;height:440px}
#map{position:absolute;inset:0}
.maplegend{position:absolute;left:4px;bottom:6px;display:flex;flex-direction:column;gap:8px;font:500 12px/1.2 var(--sans);color:var(--ink-2)}
.maplegend .ramp{display:flex;align-items:center;gap:8px}
.maplegend .ramp i{display:block;width:120px;height:8px;border-radius:4px;background:linear-gradient(90deg,#FCE3DA,#F2A98F,#E8785A,#B84A32)}
.maplegend .fl{display:flex;align-items:center;gap:8px}
.maphint{position:absolute;right:6px;top:4px;color:var(--ink-3)}

/* ---------- kpis ---------- */
.kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));margin:26px 0 30px;border-top:1px solid var(--line-2);border-bottom:1px solid var(--line)}
.kpi{padding:18px 18px 16px;border-left:1px solid var(--line);min-width:0}
.kpi:first-child{border-left:0;padding-left:0}
.kpi .mono{color:var(--ink-3);display:block;min-height:2.5em}
.kpi .v{display:block;font:800 38px/1.05 var(--display);margin-top:10px}
.kpi .v small{font-size:20px;color:var(--ink-3);margin-left:2px}
.kpi .s{display:block;font-size:13px;color:var(--ink-2);margin-top:6px;line-height:1.35}
.kpi .bar{display:block;height:4px;border-radius:2px;background:var(--bg-2);margin-top:12px;overflow:hidden}
.kpi .bar i{display:block;height:100%;border-radius:2px;background:var(--coral-2);transition:width .9s var(--ease)}
.kpi.alert .v{color:var(--sindoor)}
.kpi.alert .bar i{background:var(--sindoor)}

/* ---------- panels ---------- */
.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:20px}
.panel{background:var(--card);box-shadow:0 1px 0 var(--line);border-radius:var(--r);padding:22px 22px 18px;min-width:0}
.panel>header{display:flex;align-items:flex-start;gap:12px;margin-bottom:14px}
.panel h2{font:800 17px/1.25 var(--display)}
.panel h2 small{display:block;font:400 13px/1.4 var(--sans);color:var(--ink-3);margin-top:3px}
.panel>header .act{margin-left:auto;display:flex;gap:8px}
.panel .link{font:700 13px var(--display);color:var(--coral-2);text-decoration:none;white-space:nowrap}
.span-12{grid-column:span 12}.span-8{grid-column:span 8}.span-7{grid-column:span 7}.span-6{grid-column:span 6}.span-5{grid-column:span 5}.span-4{grid-column:span 4}
.chart{width:100%;height:260px}

/* red-flag queue */
.q{width:100%;border-collapse:collapse}
.q th{font:500 10.5px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);text-align:left;padding:0 10px 10px;white-space:nowrap}
.q td{padding:11px 10px;border-top:1px solid var(--line);font-size:13.5px;vertical-align:middle;white-space:nowrap}
.q td:first-child,.q th:first-child{padding-left:0}
.q td:last-child,.q th:last-child{padding-right:0;text-align:right}
.q .code{font:600 13px var(--mono);letter-spacing:0}
.q .where{display:block;color:var(--ink-3);font-size:12.5px;max-width:190px;overflow:hidden;text-overflow:ellipsis}
.q .why{display:inline-flex;align-items:center;gap:6px}
.q .why i{width:7px;height:7px;border-radius:2px;background:var(--haldi)}
.q .why.sh i{background:var(--sindoor)}
.clock{display:flex;flex-direction:column;gap:5px;min-width:112px}
.clock .t{font:600 12.5px var(--sans);font-variant-numeric:tabular-nums}
.clock .t.over{color:var(--sindoor)}
.clock .track{height:4px;border-radius:2px;background:var(--bg-2);overflow:hidden}
.clock .track i{display:block;height:100%;background:var(--neem)}
.clock .track i.warn{background:var(--haldi)}
.clock .track i.over{background:var(--sindoor)}
tr.fresh td{animation:fresh 2.4s var(--ease)}
@keyframes fresh{0%{background:var(--sindoor-soft)}100%{background:transparent}}
.privacy{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:12.5px;color:var(--ink-3)}
.privacy svg{width:14px;height:14px}

/* risk bars */
.risk{display:flex;flex-direction:column;gap:12px}
.risk .row{display:grid;grid-template-columns:96px minmax(0,1fr) 50px;align-items:center;gap:12px;font-size:13.5px;cursor:pointer}
.risk .row .nm{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.risk .row .nm small{display:block;color:var(--ink-3);font-size:11.5px}
.risk .bars{display:flex;flex-direction:column;gap:4px}
.risk .stack{display:flex;height:12px;border-radius:6px;overflow:hidden;background:var(--bg-2)}
.risk .stack.first{height:5px;opacity:.55}
.risk .stack i{display:block;height:100%;transition:width .9s var(--ease)}
.risk .lo{background:var(--neem)}.risk .md{background:var(--haldi)}.risk .hi{background:var(--sindoor)}
.risk .pct{font:600 13px var(--sans);text-align:right;color:var(--sindoor);font-variant-numeric:tabular-nums}
.risk .pct small{display:block;font:500 11px var(--sans);color:var(--neem)}
.legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:14px;font-size:12.5px;color:var(--ink-2)}
.legend span{display:inline-flex;align-items:center;gap:6px}
.legend i{width:10px;height:10px;border-radius:3px;display:inline-block}

/* funnel */
.funnel{display:flex;flex-direction:column;gap:10px}
.funnel .st{display:grid;grid-template-columns:minmax(0,1fr) 60px;gap:10px;align-items:center}
.funnel .st .lb{font-size:13.5px}
.funnel .st .lb small{color:var(--ink-3)}
.funnel .st .tr{height:26px;border-radius:8px;background:var(--bg-2);overflow:hidden;margin-top:5px}
.funnel .st .tr i{display:flex;align-items:center;height:100%;padding-left:10px;background:var(--plum);color:var(--plum-ink);font:700 12.5px var(--display);border-radius:8px;transition:width .9s var(--ease);white-space:nowrap}
.funnel .st .tr i.s{background:var(--sindoor)}
.funnel .st .n{font:600 15px var(--sans);text-align:right;font-variant-numeric:tabular-nums}
.funnel .gap{height:1px;background:var(--line);margin:6px 0}

/* counsellors */
.cl{width:100%;border-collapse:collapse}
.cl td,.cl th{padding:9px 8px;border-top:1px solid var(--line);font-size:13.5px;text-align:left;white-space:nowrap}
.cl th{border-top:0;font:500 10.5px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
.cl td:first-child,.cl th:first-child{padding-left:0}
.cl .ld{display:inline-flex;gap:3px}
.cl .ld i{width:8px;height:16px;border-radius:2px;background:var(--sindoor)}
.cl .ld i.z{background:var(--bg-2)}
.cl .ot{font-variant-numeric:tabular-nums}
.cl .ot.lo{color:var(--sindoor)}

/* modules */
.mods{display:flex;flex-direction:column;gap:10px}
.mods .m{display:grid;grid-template-columns:minmax(0,1fr) 120px 46px;gap:12px;align-items:center;font-size:13.5px}
.mods .m .t small{display:block;color:var(--ink-3);font-size:12px}
.mods .m .tr{height:8px;border-radius:4px;background:var(--bg-2);overflow:hidden}
.mods .m .tr i{display:block;height:100%;background:var(--coral);border-radius:4px}
.mods .m .p{text-align:right;font-weight:600;font-variant-numeric:tabular-nums}

/* sources band */
.sources{display:grid;grid-template-columns:1.2fr repeat(3,minmax(0,1fr));gap:0;align-items:stretch}
.sources>div{padding:4px 22px;border-left:1px solid var(--line)}
.sources>div:first-child{border-left:0;padding-left:0}
.sources h3{font:800 22px/1.2 var(--display)}
.sources p{color:var(--ink-2);font-size:13.5px;margin-top:6px}
.sources .v{font:800 30px/1 var(--display);display:block;margin-top:8px}
.sources .mono{color:var(--ink-3)}

/* tables (other pages) */
.tbl{width:100%;border-collapse:collapse}
.tbl th{position:sticky;top:72px;background:var(--card);font:500 10.5px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);text-align:left;padding:12px 10px;border-bottom:1px solid var(--line-2);white-space:nowrap}
.tbl td{padding:11px 10px;border-bottom:1px solid var(--line);font-size:13.5px;white-space:nowrap}
.tbl td.wrap{white-space:normal}
.tbl tr:hover td{background:var(--card-2)}
.tbl .r{text-align:right;font-variant-numeric:tabular-nums}
.pagehead{display:flex;align-items:flex-end;gap:16px;padding:34px 0 22px}
.pagehead h1{font:800 40px/1.05 var(--display)}
.pagehead p{color:var(--ink-2);margin-top:8px;max-width:70ch}
.pagehead .act{margin-left:auto;display:flex;gap:10px}

/* forms */
.form{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.form label{display:flex;flex-direction:column;gap:6px;font:500 12.5px var(--sans);color:var(--ink-2)}
.form label.w2{grid-column:span 2}.form label.w3{grid-column:span 3}.form label.w6{grid-column:span 6}
.form input,.form select,.form textarea{height:42px;border-radius:12px;border:0;background:var(--bg);padding:0 12px;font:500 14px var(--sans);color:var(--ink)}
.form textarea{height:74px;padding:10px 12px;resize:vertical}
.saved{color:#2E6B48;font:700 13px var(--display)}

/* reports */
.reports{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.rep{display:flex;flex-direction:column;gap:10px;padding:22px;border-radius:var(--r);background:var(--card);box-shadow:0 1px 0 var(--line);text-decoration:none;transition:transform .25s var(--ease),border-color .25s}
.rep:hover{transform:translateY(-2px);border-color:var(--line-2)}
.rep h3{font:800 22px/1.15 var(--display)}
.rep p{font-size:13.5px;color:var(--ink-2)}
.rep .mono{color:var(--coral-2);margin-top:auto}

/* config */
.cfg{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}
.slider{display:flex;flex-direction:column;gap:8px;margin-top:14px}
.slider .lb{display:flex;justify-content:space-between;font-size:13.5px}
.slider input{width:100%;accent-color:var(--coral-2)}
.scale{display:flex;height:34px;border-radius:10px;overflow:hidden;margin-top:16px;font:600 12px/34px var(--sans);color:#fff;text-align:center}
.scale span{transition:flex .3s var(--ease)}
.items{list-style:none;counter-reset:i;display:flex;flex-direction:column;gap:2px}
.items li{counter-increment:i;display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;align-items:baseline;padding:9px 0;border-top:1px solid var(--line);font-size:13.5px}
.items li::before{content:counter(i);font:600 12px var(--mono);color:var(--ink-3)}
.items li small{display:block;color:var(--ink-3)}
.items li .crit{color:var(--sindoor);font:600 11.5px var(--sans)}

/* toasts */
.toasts{position:fixed;right:24px;top:84px;z-index:30;display:flex;flex-direction:column;gap:10px;width:360px}
.toast{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;padding:14px 16px;border-radius:18px;background:var(--plum);color:var(--plum-ink);box-shadow:0 24px 50px -20px rgba(18,17,36,.6);animation:tin .5s var(--ease)}
.toast .dot{margin-top:6px}
.toast b{display:block;font:700 14px/1.3 var(--display)}
.toast span{display:block;font-size:12.5px;color:var(--plum-ink-2);margin-top:3px}
.toast.ok .dot{background:var(--neem);animation:none}
.toast.go{cursor:pointer;outline:2px solid var(--coral);outline-offset:-2px}
.toast.go:hover{background:var(--plum-2)}
@keyframes tin{from{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:none}}
.foot{display:flex;gap:16px;margin-top:34px;padding-top:18px;border-top:1px solid var(--line);color:var(--ink-3);font-size:12.5px}
.foot b{color:var(--ink-2)}
@media (max-width:1180px){.hero{grid-template-columns:1fr}.kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.kpi:nth-child(4){border-left:0;padding-left:0}.span-7,.span-5,.span-8,.span-4,.span-6{grid-column:span 12}}

.panel{overflow:hidden}
.panel:has(>table.tbl){overflow:visible}   /* overflow:hidden would make the panel the sticky container and push the thead into the rows */

html[lang=hi] .mono{font:700 12px/1.3 var(--display);letter-spacing:.01em;text-transform:none}

html[lang=hi] .hero h1{font-size:clamp(34px,3.4vw,58px);line-height:1.16}
html[lang=hi] .hero h1 em{white-space:normal}

/* Mitra in the MIS: a small presence beside the headline, never in the way of the data. */
.hero>div:first-child{position:relative;padding-right:150px}
.hero .fox{position:absolute;right:0;bottom:-12px;width:138px;pointer-events:none;filter:drop-shadow(0 14px 18px rgba(43,35,64,.18))}
@media (max-width:1180px){.hero>div:first-child{padding-right:0}.hero .fox{display:none}}

/* ---------- 2026-10-04 upgrade: this week, rescreen, supervision, indicators, school and counsellor pages ---------- */
.week{display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}
.week>div{padding:6px 16px 4px;border-left:1px solid var(--line);min-width:0}
.week>div:first-child{border-left:0;padding-left:0}
.week .mono{color:var(--ink-3);display:block;min-height:2.4em}
.week .v{display:block;font:800 30px/1.05 var(--display);margin-top:6px;font-variant-numeric:tabular-nums}
.week .v small{font-size:16px;color:var(--ink-3);margin-left:2px}
.week .d{display:block;margin-top:6px;font:600 12.5px var(--sans);color:var(--ink-3)}
.week .d.up{color:#2E6B48}.week .d.dn{color:var(--sindoor)}.week .d.up.bad{color:var(--sindoor)}.week .d.dn.good{color:#2E6B48}
.resc .big{display:flex;align-items:baseline;gap:10px}
.resc .big b{font:800 40px/1 var(--display);color:#2E6B48}
.resc .big span{font-size:13.5px;color:var(--ink-2)}
.resc .stack{display:flex;height:14px;border-radius:7px;overflow:hidden;background:var(--bg-2);margin-top:14px}
.resc .stack i{display:block;height:100%;transition:width .9s var(--ease)}
.resc .stack .im{background:var(--neem)}.resc .stack .sm{background:var(--ink-4)}.resc .stack .wo{background:var(--sindoor)}
.resc .rf{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}
.resc .rf div{font-size:12px;color:var(--ink-3);line-height:1.3}
.resc .rf b{display:block;font:700 18px/1.2 var(--display);color:var(--ink);margin-bottom:2px}
.facts{display:flex;flex-direction:column;gap:10px}
.facts>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:10px 0;border-top:1px solid var(--line);font-size:13.5px}
.facts>div:first-child{border-top:0;padding-top:0}
.facts b{font:700 18px/1 var(--display);font-variant-numeric:tabular-nums}

/* supervision */
.q.sup td{white-space:nowrap}
.q.sup td:first-child .where{white-space:normal;max-width:220px;line-height:1.35}
.q .age{font-variant-numeric:tabular-nums;font-weight:600}
.q .age.old{color:var(--sindoor)}
.q .stage{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ink-2);white-space:nowrap}
.q .stage i{width:8px;height:8px;border-radius:50%;background:var(--haldi)}
.q .stage.esc i{background:var(--sindoor)}
.q .stage.c24 i{background:var(--coral-2)}
.q a.person{color:var(--ink);font-weight:600;text-decoration:none;border-bottom:1px solid var(--line-2)}
.q a.person:hover{border-color:var(--coral-2)}
.supb{height:32px;padding:0 12px;border-radius:10px;background:var(--plum);color:var(--plum-ink);font:700 12.5px var(--display);white-space:nowrap}
.supb:hover{background:var(--plum-2)}
.supdone{display:inline-flex;flex-direction:column;font:600 12.5px/1.3 var(--sans);color:#2E6B48;white-space:nowrap}
.supdone small{color:var(--ink-3);font-weight:500}
.people{display:flex;flex-direction:column;gap:0}
.people>div{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--line);font-size:13.5px}
.people>div:first-child{border-top:0;padding-top:0}
.people .av{width:40px;height:40px;border-radius:50%;background:var(--coral-soft);color:var(--coral-ink);display:grid;place-items:center;font:800 15px var(--display)}
.people b{display:block;font:700 14px var(--display)}
.people small{display:block;color:var(--ink-3);font-size:12.5px}
.people .n{font:800 20px/1 var(--display);color:var(--sindoor)}
.people .n.z{color:var(--ink-4)}

/* indicators */
.area{margin-bottom:22px}
.area>h2{font:800 22px/1.2 var(--display);margin:0 0 4px;display:flex;align-items:baseline;gap:10px}
.area>h2 small{font:500 13px var(--sans);color:var(--ink-3)}
.area .panel{padding:8px 22px 6px}
.ind{display:grid;grid-template-columns:44px minmax(0,1.4fr) minmax(0,1fr) 140px 170px;gap:16px;align-items:center;padding:14px 0;border-top:1px solid var(--line)}
.ind:first-child{border-top:0}
.ind .id{font:600 12px var(--mono);color:var(--ink-3);letter-spacing:.04em}
.ind .nm b{display:block;font:700 15px/1.25 var(--display)}
.ind .nm small{display:block;color:var(--ink-3);font-size:12.5px;margin-top:3px;line-height:1.4}
.ind .nd{font-size:12.5px;color:var(--ink-2);line-height:1.45}
.ind .nd span{display:block}
.ind .nd span::before{content:"÷ ";color:var(--ink-4)}
.ind .nd span:first-child::before{content:""}
.ind .src{font:500 11.5px var(--mono);letter-spacing:0;color:var(--ink-3);word-break:break-word}
.ind .val{text-align:right}
.ind .val b{font:800 26px/1 var(--display);font-variant-numeric:tabular-nums}
.ind .val b small{font-size:14px;color:var(--ink-3);margin-left:2px}
.ind .val .bar{display:block;height:4px;border-radius:2px;background:var(--bg-2);margin-top:8px;overflow:hidden;position:relative}
.ind .val .bar i{display:block;height:100%;background:var(--coral-2);border-radius:2px}
.ind .val .bar em{position:absolute;top:-3px;width:2px;height:10px;background:var(--ink);opacity:.5}
.ind .val small.t{display:block;margin-top:5px;font:500 11.5px var(--sans);color:var(--ink-3)}
.ind .val.met b{color:#2E6B48}
.ind .val.short b{color:var(--sindoor)}
.ind .val .nd2{display:block;font:500 11.5px var(--sans);color:var(--ink-3);margin-top:3px;font-variant-numeric:tabular-nums}

/* school and counsellor pages */
.bk{display:inline-block;font:700 13px var(--display);color:var(--coral-2);text-decoration:none;margin-bottom:10px}
.pagehead h1 small{display:block;font:600 20px/1.3 var(--display);color:var(--ink-2);margin-top:2px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.chips span,.chips a{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-radius:99px;background:var(--card);box-shadow:0 1px 0 var(--line);font:600 12.5px var(--sans);color:var(--ink-2);text-decoration:none;white-space:nowrap}
.chips a{color:var(--ink);cursor:pointer}
.chips a:hover{background:var(--coral-soft)}
.chips .mono{letter-spacing:0}
.sesslist{display:flex;flex-direction:column}
.sesslist>div{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;padding:9px 0;border-top:1px solid var(--line);font-size:13.5px}
.sesslist>div:first-child{border-top:0;padding-top:0}
.sesslist .d{text-align:center;font:600 11px/1.1 var(--sans);color:var(--ink-3)}
.sesslist .d b{display:block;font:800 18px/1.1 var(--display);color:var(--ink)}
.sesslist h4{font:700 14px/1.25 var(--display)}
.sesslist small{display:block;color:var(--ink-3);font-size:12.5px}
.sesslist .n{font:800 18px var(--display);font-variant-numeric:tabular-nums}
.kinds{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}
.kinds span{font:600 12px var(--sans);color:var(--ink-2);background:var(--bg);border-radius:8px;padding:5px 9px}
.kinds b{color:var(--ink)}
.tbl tr.go,.cl tr.go{cursor:pointer}
.tbl tr.go:hover td{background:var(--coral-soft)}
.cl tr.go:hover td{background:var(--card-2)}
.rep.dark{background:var(--plum);color:var(--plum-ink)}
.rep.dark p{color:var(--plum-ink-2)}
.rep.dark .mono{color:var(--coral)}
@media (max-width:1180px){.week{grid-template-columns:repeat(3,minmax(0,1fr))}.week>div:nth-child(4){border-left:0;padding-left:0}.ind{grid-template-columns:36px minmax(0,1fr) 120px}.ind .nd,.ind .src{display:none}}

/* students roster + student sheet (2026-10-04) */
.stufilters{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px}
.stufilters .search{display:flex;align-items:center;gap:8px;height:38px;padding:0 12px;border-radius:12px;background:var(--card);box-shadow:0 1px 0 var(--line);min-width:180px}
.stufilters .search svg{width:16px;height:16px;color:var(--ink-3)}
.stufilters .search input{border:0;background:transparent;font:600 13.5px var(--mono);letter-spacing:0;color:var(--ink);width:120px;outline:0}
.stufilters select{appearance:none;height:38px;padding:0 30px 0 12px;border-radius:12px;border:0;background:var(--card) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235B5470' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center/14px;font:600 13.5px var(--sans);color:var(--ink);box-shadow:0 1px 0 var(--line)}
.stufilters .mono{margin-left:auto;color:var(--ink-3)}
.pager{display:flex;align-items:center;gap:10px;padding:14px 0 4px;font-size:13px;color:var(--ink-3)}
.pager button{height:32px;padding:0 12px;border-radius:10px;background:var(--bg);font:700 12.5px var(--display);color:var(--ink)}
.pager button:disabled{opacity:.35}
.band{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600}
.band i{width:9px;height:9px;border-radius:50%}
.band.high i{background:var(--sindoor)}.band.moderate i{background:var(--haldi)}.band.low i{background:var(--neem)}.band.none{color:var(--ink-3)}
.tl2{list-style:none;display:flex;flex-direction:column;gap:14px}
.tl2 li{display:grid;grid-template-columns:120px minmax(0,1fr);gap:14px;padding-top:14px;border-top:1px solid var(--line)}
.tl2 li:first-child{border-top:0;padding-top:0}
.tl2 .when{font:600 12.5px var(--sans);color:var(--ink-3)}
.tl2 .when b{display:block;font:700 14px var(--display);color:var(--ink)}
.tl2 .steps{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.tl2 .steps span{font:600 11.5px var(--sans);padding:4px 9px;border-radius:8px;background:var(--bg);color:var(--ink-2)}
.tl2 .steps span.ok{background:#DCEFE3;color:#2E6B48}
.tl2 .steps span.late{background:var(--sindoor-soft);color:#9E2A18}
.reveal{display:flex;flex-direction:column;gap:8px;align-items:flex-end}
.reveal input{height:38px;width:280px;border-radius:12px;border:0;background:var(--card);box-shadow:0 1px 0 var(--line);padding:0 12px;font:500 13.5px var(--sans)}
.reveal .name{font:800 20px var(--display);color:var(--sindoor)}
.reveal .name small{display:block;font:500 12px var(--sans);color:var(--ink-3)}
