/* HRIA IMS â€” navy / white / gold */
:root{
  --navy:#173f5f; --navy2:#20577f; --navy3:#2b6a99; --gold:#d9952f; --gold2:#f2c46b; --goldbg:#fdf5e6;
  --bg:#f4f6fa; --card:#fff; --line:#e3e8f0; --text:#1b2433; --muted:#667085; --r:10px;
  --g:#157347; --gbg:#e7f6ee; --r1:#b42318; --rbg:#fdecea; --y:#9a6700; --ybg:#fff6db; --b:#1d4ed8; --bbg:#e8efff; --p:#6b3fa0; --pbg:#f2eafb; --n:#475467; --nbg:#eef1f5;
  font-size:15px;
}
*{box-sizing:border-box}
html,body{margin:0}
body{font-family:"Segoe UI",system-ui,-apple-system,Roboto,"Noto Sans Malayalam",Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.45}
a{color:var(--navy3);text-decoration:none} a:hover{text-decoration:underline}
h1,h2,h3{color:var(--navy);margin:0 0 .6rem;line-height:1.25} h1{font-size:1.45rem} h2{font-size:1.15rem} h3{font-size:1rem}
.ic{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:none;vertical-align:-3px}
.muted{color:var(--muted)} .small{font-size:.85rem} .right{text-align:right} .nowrap{white-space:nowrap} .mono{font-family:Consolas,monospace}
.neg{color:var(--r1)} .pos{color:var(--g)}

/* layout */
.side{position:fixed;inset:0 auto 0 0;width:250px;background:var(--navy);color:#dfe6f2;display:flex;flex-direction:column;z-index:20;overflow-y:auto}
.brand{display:flex;gap:.7rem;align-items:center;padding:1rem 1rem .9rem;border-bottom:1px solid rgba(255,255,255,.08);color:#fff}
.brand img{width:42px;height:42px;border-radius:8px;object-fit:cover;background:#fff;border:2px solid var(--gold)}
.brand b{display:block;color:var(--gold2);font-size:1.05rem;letter-spacing:.04em} .brand small{color:#9fb1cc;font-size:.75rem}
.brand:hover{text-decoration:none}
.side nav{padding:.6rem .5rem;flex:1}
.side nav a,.side-foot a,.side-foot .linkbtn{display:flex;gap:.65rem;align-items:center;padding:.52rem .75rem;border-radius:8px;color:#d3dcea;font-size:.92rem;width:100%}
.side nav a:hover,.side-foot a:hover,.side-foot .linkbtn:hover{background:rgba(255,255,255,.07);text-decoration:none;color:#fff}
.side nav a.on{background:linear-gradient(90deg,rgba(217,149,47,.22),rgba(217,149,47,.05));color:#fff;box-shadow:inset 3px 0 0 var(--gold)}
.side nav a.on .ic{color:var(--gold2)}
.side-foot{padding:.6rem .5rem 1rem;border-top:1px solid rgba(255,255,255,.08)}
.who{display:flex;gap:.6rem;align-items:center;padding:.4rem .75rem .6rem}
.who b{display:block;color:#fff;font-size:.9rem} .who small{color:#9fb1cc;font-size:.75rem}
.av{width:34px;height:34px;border-radius:50%;background:var(--gold);color:var(--navy);display:grid;place-items:center;font-weight:700;font-size:.8rem;flex:none}
.main{margin-left:250px;min-height:100vh;display:flex;flex-direction:column}
.top{position:sticky;top:0;z-index:10;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:.8rem;padding:.7rem 1.4rem}
.crumbs{display:flex;gap:.45rem;align-items:center;flex-wrap:wrap;font-size:.92rem;flex:1;min-width:0} .crumbs span{color:var(--muted)} .crumbs b{color:var(--navy)}
.top-inst{color:var(--muted);font-size:.85rem;white-space:nowrap}
.menu-btn{display:none;background:none;border:0;padding:.3rem;color:var(--navy);cursor:pointer}
.content{padding:1.3rem 1.4rem 2rem;flex:1;max-width:1400px;width:100%}
.foot{padding:1rem 1.4rem;color:var(--muted);font-size:.78rem;border-top:1px solid var(--line);background:#fff}

/* cards, grids */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:1.1rem 1.2rem;margin-bottom:1.1rem;box-shadow:0 1px 2px rgba(16,24,40,.04)}
.card>h2:first-child,.card>h3:first-child,.card-h h2,.card-h h3{margin-bottom:.8rem}
.card-h{display:flex;justify-content:space-between;align-items:center;gap:.6rem;flex-wrap:wrap;margin-bottom:.6rem} .card-h h2,.card-h h3{margin:0}
.grid{display:grid;gap:1.1rem} .g2{grid-template-columns:repeat(2,minmax(0,1fr))} .g3{grid-template-columns:repeat(3,minmax(0,1fr))} .g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.split{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:1.1rem;align-items:start}
.page-h{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}
.page-h p{margin:.2rem 0 0;color:var(--muted)}
.actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
.stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.9rem;margin-bottom:1.1rem}
.stat{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:.85rem 1rem;display:flex;flex-direction:column;gap:.15rem;color:inherit;position:relative;overflow:hidden}
.stat::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--gold)}
a.stat:hover{text-decoration:none;border-color:var(--gold)}
.stat-l{font-size:.8rem;color:var(--muted)} .stat-v{font-size:1.45rem;font-weight:700;color:var(--navy)} .stat-s{font-size:.78rem;color:var(--muted)}
.stat.warn::before{background:var(--r1)} .stat.good::before{background:var(--g)} .stat.navy{background:var(--navy);border-color:var(--navy)} .stat.navy .stat-v{color:var(--gold2)} .stat.navy .stat-l,.stat.navy .stat-s{color:#b8c6dc}
.quick{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:1.1rem}
.kv{display:grid;grid-template-columns:minmax(120px,40%) 1fr;gap:.35rem .8rem;font-size:.92rem;margin:0} .kv dt{color:var(--muted)} .kv dd{margin:0;word-break:break-word}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:.4rem;background:var(--navy);color:#fff;border:1px solid var(--navy);border-radius:8px;padding:.5rem .95rem;font:inherit;font-size:.9rem;font-weight:600;cursor:pointer;white-space:nowrap;text-decoration:none}
.btn:hover{background:var(--navy2);text-decoration:none;color:#fff}
.btn.gold{background:var(--gold);border-color:var(--gold);color:var(--navy)} .btn.gold:hover{background:var(--gold2)}
.btn.ghost{background:#fff;color:var(--navy);border-color:var(--line)} .btn.ghost:hover{border-color:var(--navy3);background:#f7f9fc}
.btn.danger{background:#fff;color:var(--r1);border-color:#f3c3be} .btn.danger:hover{background:var(--rbg)}
.btn.sm{padding:.3rem .6rem;font-size:.8rem} .btn.wide{width:100%;justify-content:center;padding:.7rem}
.btn[disabled]{opacity:.5;cursor:not-allowed}
.linkbtn{background:none;border:0;color:inherit;font:inherit;cursor:pointer;padding:0;text-align:left}
form.inline{display:inline}

/* forms */
.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.85rem 1rem}
.fld{display:flex;flex-direction:column;gap:.25rem;min-width:0} .fld.span2{grid-column:span 2} .fld.span3{grid-column:span 3} .fld.span4{grid-column:1/-1}
.fld label,.stack label{font-size:.83rem;font-weight:600;color:#344054} .fld label i{color:var(--r1);font-style:normal}
input,select,textarea{font:inherit;font-size:.93rem;padding:.5rem .65rem;border:1px solid #cfd6e2;border-radius:8px;background:#fff;color:var(--text);width:100%;min-width:0}
input:focus,select:focus,textarea:focus{outline:2px solid rgba(217,149,47,.45);border-color:var(--gold)}
input[type=checkbox],input[type=radio]{width:auto;accent-color:var(--navy)}
.fld small,.stack small{color:var(--muted);font-size:.78rem;font-weight:400} .fld em{color:var(--r1);font-size:.8rem;font-style:normal}
.fld.has-err input,.fld.has-err select,.fld.has-err textarea{border-color:var(--r1)}
.fld.chk{justify-content:flex-end} .fld.chk label{display:flex;gap:.5rem;align-items:center;font-weight:500}
.money{display:flex;align-items:center;border:1px solid #cfd6e2;border-radius:8px;background:#fff} .money span{padding:0 .1rem 0 .6rem;color:var(--muted)} .money input{border:0;outline:0}
.money:focus-within{outline:2px solid rgba(217,149,47,.45);border-color:var(--gold)}
.form-actions{display:flex;gap:.6rem;margin-top:1rem;flex-wrap:wrap;align-items:center}
.stack{display:flex;flex-direction:column;gap:.8rem} .stack label{display:flex;flex-direction:column;gap:.3rem}
fieldset{border:1px solid var(--line);border-radius:var(--r);padding:.9rem 1rem 1rem;margin:0 0 1rem} legend{font-weight:700;color:var(--navy);padding:0 .4rem}
.filters{display:flex;gap:.5rem;flex-wrap:wrap;align-items:flex-end;margin-bottom:.9rem}
.filters .fld{min-width:140px;flex:1 1 140px;max-width:240px} .filters .fld.wide{max-width:none;flex:2 1 220px}

/* tables */
.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:#fff}
table.tbl{width:100%;border-collapse:collapse;font-size:.9rem}
.tbl th{background:#f7f9fc;color:#475467;font-weight:600;text-align:left;padding:.6rem .75rem;border-bottom:1px solid var(--line);white-space:nowrap;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em}
.tbl td{padding:.6rem .75rem;border-bottom:1px solid #eef1f6;vertical-align:top}
.tbl tr:last-child td{border-bottom:0} .tbl tbody tr:hover{background:#fafbfd}
.tbl td.num,.tbl th.num{text-align:right;white-space:nowrap} .tbl tfoot td{font-weight:700;background:#fbf8ee;border-top:2px solid var(--gold2)}
.tbl .empty{text-align:center;color:var(--muted);padding:1.6rem}
.tbl .sub{display:block;color:var(--muted);font-size:.8rem}
.tbl.compact td,.tbl.compact th{padding:.42rem .6rem}
.pager{display:flex;gap:.5rem;align-items:center;justify-content:flex-end;padding:.6rem 0;color:var(--muted);font-size:.85rem} .pager span{margin-right:auto}
.exports{display:inline-flex;gap:.4rem;flex-wrap:wrap}

/* badges, flash */
.badge{display:inline-block;padding:.12rem .55rem;border-radius:999px;font-size:.76rem;font-weight:600;white-space:nowrap}
.badge.g{background:var(--gbg);color:var(--g)} .badge.r{background:var(--rbg);color:var(--r1)} .badge.y{background:var(--ybg);color:var(--y)} .badge.b{background:var(--bbg);color:var(--b)} .badge.p{background:var(--pbg);color:var(--p)} .badge.n{background:var(--nbg);color:var(--n)}
.flash{padding:.7rem .9rem;border-radius:8px;margin-bottom:1rem;border:1px solid;font-size:.92rem} .flash ul{margin:.3rem 0 0 1.1rem;padding:0}
.flash.ok{background:var(--gbg);border-color:#b7e2c8;color:#0f5132} .flash.err{background:var(--rbg);border-color:#f3c3be;color:#8a1c12} .flash.warn{background:var(--ybg);border-color:#f1dc9b;color:#6b4b00} .flash.info{background:var(--bbg);border-color:#c5d5ff;color:#1e3a8a}
.alert-list{list-style:none;margin:0;padding:0} .alert-list li{display:flex;gap:.5rem;align-items:center;padding:.45rem 0;border-bottom:1px dashed var(--line);font-size:.9rem} .alert-list li:last-child{border:0}
.notice{background:var(--goldbg);border:1px solid #ecdca6;border-radius:8px;padding:.6rem .8rem;font-size:.88rem;color:#5c4a12;margin-bottom:1rem}

/* tabs */
.tabs{display:flex;gap:.2rem;border-bottom:1px solid var(--line);margin-bottom:1rem;overflow-x:auto}
.tabs a{padding:.55rem .9rem;color:var(--muted);border-bottom:2px solid transparent;white-space:nowrap;font-weight:600;font-size:.9rem}
.tabs a.on{color:var(--navy);border-color:var(--gold)} .tabs a:hover{text-decoration:none;color:var(--navy)}

/* profile */
.profile-head{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}
.photo{width:84px;height:84px;border-radius:12px;object-fit:cover;background:var(--nbg);display:grid;place-items:center;font-size:1.6rem;font-weight:700;color:var(--navy);border:2px solid var(--gold2)}
.timeline{list-style:none;margin:0;padding:0} .timeline li{border-left:2px solid var(--line);padding:0 0 .9rem .9rem;position:relative;font-size:.9rem}
.timeline li::before{content:"";position:absolute;left:-6px;top:.3rem;width:10px;height:10px;border-radius:50%;background:var(--gold)}
.timeline small{color:var(--muted);display:block}

/* attendance */
.att-opts{display:flex;gap:.3rem;flex-wrap:wrap} .att-opts label{display:inline-flex;align-items:center;gap:.25rem;border:1px solid var(--line);border-radius:6px;padding:.25rem .5rem;cursor:pointer;font-size:.85rem}
.att-opts input{margin:0} .att-opts label:has(input:checked){background:var(--navy);color:#fff;border-color:var(--navy)}
.bar{height:8px;background:var(--nbg);border-radius:6px;overflow:hidden;min-width:70px} .bar span{display:block;height:100%;background:var(--g)} .bar.low span{background:var(--r1)}

/* calendar */
.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:#fff}
.cal .dow{background:#f7f9fc;padding:.4rem;font-size:.75rem;font-weight:700;color:var(--muted);text-align:center;border-bottom:1px solid var(--line)}
.cal .day{min-height:96px;border-right:1px solid #eef1f6;border-bottom:1px solid #eef1f6;padding:.3rem;font-size:.78rem}
.cal .day.off{background:#fafbfc;color:#aab} .cal .day.today{background:var(--goldbg)} .cal .dn{font-weight:700;color:var(--navy);margin-bottom:.2rem}
.tbl-wrap .cal{min-width:640px;border:0;border-radius:0}
details>summary{list-style:none;cursor:pointer;display:inline-flex} details>summary::-webkit-details-marker{display:none}
.cal .ev{display:block;background:var(--bbg);color:var(--b);border-radius:4px;padding:.1rem .3rem;margin-bottom:.15rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cal .ev.x{background:var(--rbg);color:var(--r1);text-decoration:line-through} .cal .ev.done{background:var(--gbg);color:var(--g)} .cal .ev.lead{background:var(--ybg);color:var(--y)}

/* chart */
.chart{width:100%;height:auto;display:block} .chart rect{fill:var(--navy3)} .chart rect:hover{fill:var(--gold)} .chart .grid{stroke:#eef1f6} .chart text{font-size:10px;fill:#667085} .chart .axis{font-size:10px}

/* copy box */
.copybox{background:#f7f9fc;border:1px solid var(--line);border-radius:8px;padding:.8rem;white-space:pre-wrap;font-size:.92rem}

/* auth */
body.auth{display:grid;place-items:center;min-height:100vh;background:radial-gradient(circle at 20% 10%,var(--navy3),var(--navy) 60%);padding:1rem}
.auth-card{background:#fff;border-radius:14px;padding:1.6rem;width:100%;max-width:410px;box-shadow:0 20px 50px rgba(0,0,0,.35);border-top:4px solid var(--gold)}
.auth-brand{display:flex;gap:.8rem;align-items:center;margin-bottom:1.2rem} .auth-brand img{width:54px;height:54px;border-radius:10px;object-fit:cover;border:2px solid var(--gold)}
.auth-brand b{display:block;color:var(--navy);font-size:1.05rem} .auth-brand small{color:var(--muted)}
.errpage{max-width:560px;margin:10vh auto;background:#fff;padding:1.6rem;border-radius:12px;border-top:4px solid var(--gold);box-shadow:0 4px 20px rgba(0,0,0,.08)}
.errpage pre{white-space:pre-wrap;font-size:.8rem;background:#f7f9fc;padding:.6rem;border-radius:6px}

/* print documents */
.print-body{background:#e9edf3}
.print-tools{max-width:820px;margin:1rem auto;display:flex;gap:.5rem}
.doc{background:#fff;max-width:820px;margin:0 auto 2rem;padding:2rem 2.2rem;box-shadow:0 2px 14px rgba(0,0,0,.08);font-size:.93rem}
.ph{display:flex;gap:1rem;align-items:center;border-bottom:3px solid var(--navy);padding-bottom:.8rem;margin-bottom:1.1rem;font-size:.85rem;color:#475467}
.ph img{width:70px;height:70px;object-fit:contain} .ph h1{font-size:1.35rem;margin:0;color:var(--navy)} .ph .tag{color:var(--gold);font-weight:600}
.ph-doc{margin-left:auto;background:var(--navy);color:var(--gold2);padding:.4rem .9rem;border-radius:6px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;font-size:.85rem;white-space:nowrap}
.doc table{width:100%;border-collapse:collapse;margin:.6rem 0} .doc th,.doc td{border:1px solid #d0d5dd;padding:.45rem .6rem;text-align:left} .doc th{background:#f7f9fc}
.doc .amt{font-size:1.25rem;font-weight:700;color:var(--navy)} .doc .sig{display:flex;justify-content:space-between;margin-top:3rem} .doc .sig div{border-top:1px solid #98a2b3;padding-top:.3rem;min-width:180px;text-align:center;font-size:.85rem}
.cert{max-width:1000px;aspect-ratio:1.414;margin:0 auto 2rem;background:#fff;padding:2.2rem;position:relative;box-shadow:0 2px 14px rgba(0,0,0,.08)}
.cert-in{border:3px solid var(--gold);outline:8px solid var(--navy);outline-offset:6px;height:100%;padding:2rem 2.6rem;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:space-between}
.cert-in img{width:90px;height:90px;object-fit:contain} .cert h1{font-family:Georgia,serif;font-size:2.3rem;color:var(--navy);margin:.2rem 0} .cert .inst{font-size:1.2rem;font-weight:700;color:var(--navy);letter-spacing:.06em;text-transform:uppercase}
.cert .nm{font-family:Georgia,serif;font-size:2rem;color:var(--gold);border-bottom:1px solid var(--gold2);padding:0 2rem .2rem;margin:.4rem 0} .cert .body{font-size:1.05rem;max-width:720px;color:#344054}
.cert .meta{display:flex;justify-content:space-between;width:100%;font-size:.85rem;color:#475467;align-items:flex-end} .cert .meta .sg{border-top:1px solid #98a2b3;padding-top:.3rem;min-width:170px}

@media print{
  @page{margin:12mm}
  body{background:#fff!important}
  .side,.top,.foot,.print-tools,.filters,.actions,.no-print,.pager,.exports,.menu-btn,.tabs,form.inline,.quick{display:none!important}
  .main{margin:0}.content{padding:0;max-width:none}.card{border:0;box-shadow:none;padding:0}.tbl-wrap{border:0;overflow:visible}
  .doc,.cert{box-shadow:none;margin:0;max-width:none} .cert{aspect-ratio:auto;height:180mm} .print-body.landscape{} a{color:inherit}
}
@media print{ .print-body.landscape{} }

/* responsive */
@media (max-width:1100px){ .g4{grid-template-columns:repeat(2,minmax(0,1fr))} .split{grid-template-columns:1fr} }
@media (max-width:860px){
  .side{transform:translateX(-100%);transition:transform .2s;box-shadow:0 0 40px rgba(0,0,0,.4)} .side.open{transform:none}
  .main{margin-left:0} .menu-btn{display:block} .top-inst{display:none} .content{padding:1rem}
  .g2,.g3{grid-template-columns:1fr} .fld.span2,.fld.span3{grid-column:auto}
  .doc{padding:1rem} .ph{flex-wrap:wrap} .ph-doc{margin-left:0}
}
@media (max-width:520px){ .g4{grid-template-columns:1fr} .stats{grid-template-columns:repeat(2,minmax(0,1fr))} .stat-v{font-size:1.2rem} .kv{grid-template-columns:1fr} .kv dt{margin-top:.4rem} .content{padding:.8rem} .card{padding:.9rem} }

/* ---------------- counselling additions ---------------- */
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.client-head{display:flex;gap:1rem;align-items:center;margin-bottom:.6rem}
.client-head .photo{width:56px;height:56px;font-size:1.2rem;flex:none}
.client-head h1{margin:0}
.chips{display:flex;flex-wrap:wrap;gap:.35rem}.chips label{display:inline-flex;gap:.3rem;align-items:center;border:1px solid var(--line);border-radius:999px;padding:.2rem .6rem;font-size:.82rem;font-weight:500;cursor:pointer;background:#fff}
.chips label:has(input:checked){background:var(--bbg);border-color:#a9c0f5}
.chk-row{display:flex;gap:.5rem;align-items:center;padding:.25rem 0;font-size:.9rem;flex-wrap:wrap}
.src{display:inline-block;font-size:.7rem;font-weight:700;padding:.1rem .45rem;border-radius:4px;border:1px solid;white-space:nowrap;vertical-align:middle;letter-spacing:.01em}
.src-measured{color:#155e75;background:#e0f2f7;border-color:#9fd3e3}.src-self{color:#6b3fa0;background:var(--pbg);border-color:#d5c2ef}
.src-document{color:#157347;background:var(--gbg);border-color:#b7e2c8}.src-provider{color:#9a3412;background:#fff1e7;border-color:#f6c9a8}.src-observation{color:#334155;background:#eef2f6;border-color:#cbd5e1}
.legend{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin-bottom:1rem}
.riasec{display:grid;grid-template-columns:minmax(220px,300px) 1fr;gap:1rem;align-items:center}
.hcode{font-size:1.1rem;margin-bottom:.4rem}.hcode b{font-size:1.6rem;letter-spacing:.15em;color:var(--navy)}
.chart.hbar .lbl{font-size:11px;fill:#344054}.chart.hbar .val{font-size:10px;fill:#475467}.chart .axis{font-size:9px;fill:#98a2b3}
.chart.hbar rect.b0{fill:#2b6a99}.chart.hbar rect.b1{fill:#3f8fbf}.chart.hbar rect.b2{fill:#d9952f}.chart.hbar rect.b3{fill:#4f9d69}.chart.hbar rect.b4{fill:#8a63c9}.chart.hbar rect.b5{fill:#c2576b}
.chart.radar{max-width:300px}.chart.radar .grid{fill:none;stroke:#e3e8f0}.chart.radar .area{fill:rgba(43,106,153,.25);stroke:#2b6a99;stroke-width:2}.chart.radar .lbl{font-size:11px;fill:#344054;font-weight:600}
.bar{display:inline-block;vertical-align:middle;width:70px;margin-left:.4rem}
details.rec{border:1px solid var(--line);border-radius:8px;margin-bottom:.6rem;background:#fff}
details.rec>summary{display:flex;align-items:center;gap:.8rem;padding:.6rem .8rem;width:100%}
.rank{width:28px;height:28px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:700;flex:none}
.rt-title{flex:1;display:flex;flex-direction:column}.rt-idx{text-align:right;font-weight:700;color:var(--navy);display:flex;flex-direction:column;align-items:flex-end}
.rec-body{padding:.2rem 1rem 1rem;border-top:1px solid var(--line);font-size:.92rem}.rec-body ul{margin:.2rem 0 .6rem 1.1rem;padding:0}
details.add{margin-top:.7rem}details.add form{margin-top:.7rem;background:#f9fafc;border:1px solid var(--line);border-radius:8px;padding:.8rem}
.report-editor .sec{background:#fff}.report-editor .sec.off{opacity:.6}.report-editor textarea{font-size:.9rem}.insert{margin-top:.4rem}.insert select{max-width:420px;font-size:.82rem}
.sticky-actions{position:sticky;bottom:0;background:#fff;border-top:1px solid var(--line);padding:.7rem;display:flex;gap:.6rem;align-items:center;justify-content:flex-end;z-index:5;flex-wrap:wrap}
.sticky-actions .fld{margin-right:auto}
.ai-draft .draft-text{background:#fbfcfe;border:1px solid var(--line);border-radius:8px;padding:.8rem 1rem;margin-bottom:.8rem}.draft-text h4{margin:.8rem 0 .3rem;color:var(--navy)}.draft-text ul{margin:.2rem 0 .5rem 1.1rem;padding:0}
.lang-ml,.lang-ml *{font-family:"Noto Sans Malayalam","Nirmala UI","Kartika","Malayalam Sangam MN","Manjari",system-ui,sans-serif}
.restricted{border-color:#f3c3be;background:#fffafa}
.inline-form{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}.inline-form select{width:auto}
.tbl tr.grp td{background:#f7f9fc}
.approve{border-color:var(--gold);background:var(--goldbg)}
.note{font-size:.85rem;color:#5c4a12;background:var(--goldbg);border-left:3px solid var(--gold);padding:.4rem .6rem;border-radius:4px}
.print-tools-note{max-width:820px;margin:0 auto 1rem}
/* test-taking page */
body.take{background:var(--bg)}
.take-h{display:flex;gap:.7rem;align-items:center;padding:.8rem 1rem;background:var(--navy);color:#fff}.take-h img{width:36px;height:36px;border-radius:6px;background:#fff;object-fit:contain}
.take-main{max-width:760px;margin:1.2rem auto;padding:0 1rem}
.take-main>h1{margin-top:.5rem}
.take-f{text-align:center;color:var(--muted);font-size:.8rem;padding:1.5rem 1rem}
.lang-sw{display:flex;gap:.3rem;justify-content:flex-end}.lang-sw a{padding:.25rem .7rem;border:1px solid var(--line);border-radius:999px;font-size:.85rem;background:#fff}.lang-sw a.on{background:var(--navy);color:#fff;border-color:var(--navy)}
fieldset.q{background:#fff;border:1px solid var(--line);border-radius:10px;padding:.9rem 1rem;margin-bottom:.8rem}
fieldset.q legend{font-weight:600;color:var(--text);padding:0;float:left;width:100%;margin-bottom:.6rem;line-height:1.4}
.qn{display:inline-grid;place-items:center;min-width:26px;height:26px;border-radius:50%;background:var(--navy);color:#fff;font-size:.8rem;margin-right:.4rem}
.opts{clear:both;display:flex;flex-direction:column;gap:.35rem}
.opts label{display:flex;gap:.55rem;align-items:center;border:1px solid var(--line);border-radius:8px;padding:.5rem .7rem;cursor:pointer;background:#fbfcfe}
.opts label:has(input:checked){background:var(--bbg);border-color:#a9c0f5}
.opts.likert{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}.opts.likert label{flex-direction:column;text-align:center;font-size:.78rem;gap:.3rem}
.timer{position:sticky;top:0;z-index:5;background:var(--goldbg);border:1px solid #ecdca6;border-radius:8px;padding:.5rem .8rem;margin-bottom:.8rem;font-size:1rem;text-align:center}.timer.low{background:var(--rbg);border-color:#f3c3be}
.take-actions{display:flex;justify-content:space-between;gap:.6rem;flex-wrap:wrap;margin:1rem 0 2rem}
@media (max-width:640px){.opts.likert{grid-template-columns:1fr}.opts.likert label{flex-direction:row;text-align:left}.riasec{grid-template-columns:1fr}}
.g2 .riasec{grid-template-columns:1fr;justify-items:center;text-align:center}.g2 .riasec .chart.radar{max-width:260px}
