/*
 * HJRS.com.pk design system (hand-written CSS, no build step, no Node needed in production).
 * Derived from the approved Phase 1 wireframes: slate search band, one restrained action colour,
 * white academic content sections, navy table headers, status chips that never rely on colour alone.
 * The header logo is the one supplied by the site owner (public/img/hjrs-logo.webp); no other HEC assets are copied.
 */
:root{
  --band:#4A5168; --navy:#363C57; --action:#D93A2B; --action-d:#B92E21;
  --text:#333A4A; --muted:#5B6272; --line:#D9DCE3; --zebra:#F7F8FA; --field:#F1F2F5; --tab-off:#DADDE3;
  --ok:#1E7B4B; --ok-bg:#E6F3EC; --warn:#8A5300; --warn-bg:#FFF3DC; --bad:#B3261E; --bad-bg:#FCE9E7;
  --info:#2F5FA8; --info-bg:#E8F0FB; --neutral:#4B5263; --neutral-bg:#EDEEF2;
  --tile-blue:#8797CB; --tile-amber:#FEC009; --note-bg:#FFF9C4; --note-line:#C9B800;
  --bg:#FFFFFF; --ink-on-dark:#FFFFFF;
}
*{box-sizing:border-box}
html{scroll-behavior:auto}
body{margin:0;background:#fff;color:var(--text);font:16px/1.55 "Open Sans","Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif}
a{color:var(--info)} button{font:inherit;cursor:pointer}
h1,h2,h3,h4{margin:0;font-weight:400;line-height:1.25}
svg.i{width:1.15em;height:1.15em;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.2em;flex:none}
.sr{position:absolute;left:-9999px}
:focus-visible{outline:3px solid #1B57D8;outline-offset:2px}

/* ---------- public site ---------- */
.wrap{max-width:1140px;margin:0 auto;padding:0 24px}
.strip{background:#F1F2F6;border-bottom:1px solid var(--line);font-size:13px;color:var(--muted);padding:6px 0;text-align:center}
.strip svg{color:var(--info)}
.hdr{background:#fff;border-bottom:1px solid var(--line)}
.hdr .wrap{display:flex;align-items:center;gap:22px;min-height:64px;flex-wrap:wrap}
.logo{display:flex;flex-direction:column;text-decoration:none;color:var(--navy);line-height:1.15}
.logo b{font-size:22px;font-weight:700;letter-spacing:-.01em}.logo b i{font-style:normal;color:var(--action)}
.logo span{font-size:11.5px;color:var(--muted)}
/* the logo image: a fixed height so the header keeps its size, the width follows the picture */
.logo img{display:block;height:44px;width:auto;max-width:100%}
.logo img+span{margin-top:3px}
@media (max-width:560px){.logo img{height:34px}}
.nav{display:flex;gap:2px;flex-wrap:wrap;margin-left:auto;align-items:center}
.nav a{color:var(--text);text-decoration:none;padding:9px 11px;font-size:14.5px;border-bottom:3px solid transparent}
.nav a:hover{border-color:var(--tab-off)}
.nav a.cta{background:var(--navy);color:#fff;border-radius:3px;margin-left:6px}
.nav .dd{position:relative}.nav .dd>.dl{padding:9px 11px;font-size:14.5px;display:inline-block;cursor:default}
.nav .dd:hover>.menu,.nav .dd:focus-within>.menu{display:block}
.menu{display:none;position:absolute;top:100%;left:0;background:#fff;border:1px solid var(--line);min-width:200px;z-index:5;box-shadow:0 6px 16px rgba(0,0,0,.1)}
.menu a{display:block;border:0;padding:8px 14px}
.mnav{display:none;margin-left:auto}.mnav summary{cursor:pointer;padding:8px 12px;border:1px solid var(--line);border-radius:3px;list-style:none}
.mnav div{display:flex;flex-direction:column;position:absolute;right:16px;background:#fff;border:1px solid var(--line);z-index:6;min-width:220px;box-shadow:0 6px 16px rgba(0,0,0,.12)}
.mnav a{padding:10px 14px;color:var(--text);text-decoration:none;border-bottom:1px solid var(--line)}
.band{background:var(--band);color:#fff;padding:34px 0 40px}
.band h1{text-align:center;font-size:26px;font-weight:300;margin-bottom:16px}
.band.slim{padding:18px 0}
/* the sentence under the search band: centred, with evenly balanced lines, a short accent rule and the key phrase highlighted */
.sec.introsec{padding:26px 0 4px}
.intro{max-width:960px;margin:0 auto;text-align:center;font-size:18px;line-height:1.7;font-weight:300;color:var(--text);text-wrap:balance}
.intro:before{content:"";display:block;width:56px;height:3px;margin:0 auto 14px;border-radius:2px;background:var(--action)}
.intro b{font-weight:600;color:var(--navy);background:linear-gradient(transparent 60%,rgba(217,58,43,.16) 60%);padding:0 3px;-webkit-box-decoration-break:clone;box-decoration-break:clone}
@media (max-width:560px){.intro{font-size:16px}}
/* contact card: a navy side panel with the envelope, the editor and the address beside it */
.contactcard{display:flex;margin:34px 0 20px;border:1px solid var(--line);border-radius:4px;overflow:hidden;background:#fff;box-shadow:0 2px 12px rgba(54,60,87,.09)}
.contactcard .cc-side{background:var(--navy);color:#fff;display:grid;place-items:center;align-content:center;gap:10px;padding:26px 34px;min-width:170px;text-align:center}
.contactcard .cc-ico{width:64px;height:64px;border-radius:50%;background:rgba(255,255,255,.13);display:grid;place-items:center}
.contactcard .cc-ico svg{width:30px;height:30px}
.contactcard .cc-side b{font-size:13px;letter-spacing:.16em;text-transform:uppercase;font-weight:700}
.contactcard .cc-body{padding:24px 32px;display:flex;flex-direction:column;justify-content:center;gap:2px;border-left:5px solid var(--action)}
.contactcard .cc-name{font-size:26px;font-weight:700;color:var(--navy);line-height:1.2;margin-bottom:10px}
.contactcard .cc-label{font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600}
.contactcard .cc-mail{font-size:20px;font-weight:600;color:var(--action-d);text-decoration:none;word-break:break-all}
.contactcard .cc-mail:hover{text-decoration:underline}
@media (max-width:560px){.contactcard{flex-direction:column}.contactcard .cc-side{grid-auto-flow:column;justify-content:start;padding:16px 20px;min-width:0}.contactcard .cc-ico{width:44px;height:44px}.contactcard .cc-ico svg{width:22px;height:22px}.contactcard .cc-body{padding:18px 20px;border-left:0;border-top:5px solid var(--action)}.contactcard .cc-name{font-size:22px}}
.band h1.band-title{max-width:780px;margin:0 auto 10px;text-align:left;font-size:24px;font-weight:400}
.search{max-width:780px;margin:0 auto}
.tabs{display:flex}
.tab{border:0;background:var(--tab-off);color:var(--text);padding:9px 16px;font-size:13px;letter-spacing:.03em;text-transform:uppercase}
.tab[aria-selected=true]{background:#fff;color:var(--navy);font-weight:600}
.panel{background:#fff;color:var(--text);padding:16px;display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}
.panel .f{flex:1 1 300px}
.panel label,.formgrid label{display:block;font-size:12.5px;color:var(--muted);margin-bottom:3px;text-transform:uppercase;letter-spacing:.03em}
input[type=text],input[type=date],input[type=search],select,textarea{width:100%;height:44px;border:1px solid #B5BAC6;background:var(--field);padding:0 12px;font:inherit;color:var(--text);border-radius:2px}
textarea{height:auto;padding:8px 12px}
.btn{background:var(--action);color:#fff;border:0;height:44px;padding:0 24px;font-weight:700;border-radius:2px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.btn:hover{background:var(--action-d)}
.btn.outline{background:#fff;color:var(--navy);border:1px solid var(--navy)}
.btn.sm{height:34px;padding:0 14px;font-size:14px}
.btn.dark{background:var(--navy)}
.searchfoot{max-width:780px;margin:8px auto 0;font-size:13.5px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:#E8EAF2}
.searchfoot a{color:#fff}
.sec{padding:52px 0}.sec.tight{padding:32px 0}
.sec h2{text-align:center;font-size:30px;font-weight:300;color:#555;margin-bottom:18px}
.wrap.sec{padding-left:24px;padding-right:24px}
.sec.left h2{text-align:left;font-size:22px;font-weight:600;color:var(--navy)}
.lead{max-width:860px;margin:0 auto;text-align:center;line-height:1.75;color:var(--muted)}
.lead.l{text-align:left;margin:0}
.verify{border:1px solid var(--line);border-radius:3px;padding:22px;background:#fff;max-width:900px;margin:0 auto}
.verify h2{font-size:24px;margin-bottom:4px}
.verify p{margin:0 0 14px;text-align:center;color:var(--muted)}
.formgrid{display:grid;grid-template-columns:1.1fr 1fr 1fr auto;gap:12px;align-items:end}
.formgrid.two{grid-template-columns:1fr 1fr}.formgrid.three{grid-template-columns:1fr 1fr 1fr}
/* the four feature cards: equal height, everything on the same lines, the link always at the bottom */
.cols4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin-top:8px;align-items:stretch}
.card4{display:flex;flex-direction:column;align-items:center;text-align:center;background:#fff;border:1px solid var(--line);border-top:4px solid var(--action);border-radius:6px;padding:30px 22px 24px;box-shadow:0 2px 10px rgba(54,60,87,.06);transition:transform .18s ease,box-shadow .18s ease}
.card4:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(54,60,87,.15)}
.card4 .circ{width:68px;height:68px;border-radius:50%;background:linear-gradient(145deg,#4A5168,#2B3252);color:#fff;display:grid;place-items:center;margin:0 auto 18px;box-shadow:0 0 0 6px #EDEFF6}
.card4 .circ svg{width:30px;height:30px}
.card4 h2{margin:0 0 10px;font-size:18px;font-weight:700;line-height:1.3;color:var(--navy);text-align:center}
.card4 p{margin:0 0 20px;color:var(--muted);font-size:14.5px;line-height:1.65}
.card4 a{margin-top:auto;display:inline-flex;align-items:center;padding:7px 18px;border:1px solid var(--line);border-radius:20px;background:#fff;color:var(--navy);font-size:14px;font-weight:600;text-decoration:none;transition:background .15s,color .15s,border-color .15s}
.card4 a:hover,.card4 a:focus-visible{background:var(--navy);border-color:var(--navy);color:#fff}
.currency{background:var(--zebra);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0;font-size:14px;color:var(--muted)}
.currency .wrap{display:flex;gap:10px 28px;flex-wrap:wrap;justify-content:center}
.currency b{color:var(--text)}
/* footer: deep navy with a red edge, the logo on a white plate, four columns, an e-mail button and a small legal line */
.foot{background:linear-gradient(180deg,#2B3252 0%,#1D2340 100%);color:#D5DAEA;font-size:14px;border-top:4px solid var(--action)}
.foot .wrap{padding-top:44px}
.foot a{color:#fff}
.foot-grid{display:grid;grid-template-columns:1.9fr 1fr 1fr 1.3fr;gap:38px;padding-bottom:36px}
.foot-logo{display:inline-block;background:#fff;border-radius:6px;padding:8px 12px;margin-bottom:16px;line-height:0}
.foot-logo img{display:block;height:40px;width:auto;max-width:100%}
.foot-tagline{margin:0;color:#C9CFE3;font-size:13px;font-style:italic;line-height:1.6}
.foot h4{position:relative;margin:0 0 14px;padding-bottom:10px;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:#fff;font-weight:700}
.foot h4:after{content:"";position:absolute;left:0;bottom:0;width:28px;height:2px;background:var(--action)}
.foot-col ul{list-style:none;margin:0;padding:0}
.foot-col li a{display:block;padding:7px 0;color:#DDE2F0;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.08);transition:padding-left .15s,color .15s}
.foot-col li a:before{content:"›";color:#FF8A7A;margin-right:8px;font-weight:700}
.foot-col li a:hover,.foot-col li a:focus-visible{color:#fff;padding-left:5px}
.foot-contact p{margin:0 0 12px;color:#C9CFE3;line-height:1.55}
.fbtn{display:flex;align-items:center;justify-content:center;gap:9px;margin:0 0 10px;padding:10px 14px;border-radius:4px;background:var(--action);color:#fff;font-size:14px;font-weight:700;text-decoration:none;word-break:break-all;text-align:center}
.fbtn:hover{background:var(--action-d)}
.fbtn svg{width:18px;height:18px;flex:none}
.fbtn.ghost{background:transparent;border:1px solid rgba(255,255,255,.38);font-weight:600}
.fbtn.ghost:hover{background:rgba(255,255,255,.09)}
.foot-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;padding:16px 0 22px;border-top:1px solid rgba(255,255,255,.13);font-size:12.5px;color:#AEB6D0}
@media (max-width:900px){.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.foot-grid{grid-template-columns:1fr;gap:26px}.foot-bottom{flex-direction:column}}

/* status chips */
.chip{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:600;padding:2px 9px;border-radius:12px;border:1px solid;white-space:nowrap}
.chip.rec{color:var(--ok);background:var(--ok-bg);border-color:#A9D3BC}
.chip.nl{color:var(--neutral);background:var(--neutral-bg);border-color:#C3C7D2}
.chip.der{color:var(--bad);background:var(--bad-bg);border-color:#EDB3AE}
.chip.sus{color:var(--warn);background:var(--warn-bg);border-color:#EBCB8E}
.chip.unk{color:var(--neutral);background:#fff;border-color:#8C93A5;border-style:dashed}
.chip.pv{color:var(--info);background:var(--info-bg);border-color:#A9C1E6}
.chip.ind{color:var(--ok);background:transparent;border-color:transparent;padding:0}
.chip.nv{color:var(--muted);background:transparent;border-color:transparent;padding:0;font-weight:400}
.cat{display:inline-grid;place-items:center;width:26px;height:26px;background:var(--navy);color:#fff;font-weight:700;border-radius:3px;font-size:14px}
.cat.none{background:#fff;color:var(--muted);border:1px solid var(--line)}

/* breadcrumbs, titles */
.crumb{font-size:13.5px;color:var(--muted);padding:14px 0 4px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
.crumb a{color:var(--muted)}
.jtitle{font-size:28px;color:var(--navy);margin:8px 0 4px;font-weight:400}
.jsub{color:var(--muted);font-size:14px;margin-bottom:16px}

/* HJRS-style identity boxes */
.idgrid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start;margin-bottom:18px}
.idbox{border:1px solid var(--line);padding:14px 16px;display:grid;gap:12px}
.idrow{display:flex;gap:14px;align-items:flex-start}
.idrow>svg{width:28px;height:28px;color:var(--navy);flex:none;margin-top:2px}
.lab{font-size:12.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:600}
.val{font-size:15px}
.split{display:flex;gap:26px;flex-wrap:wrap}
.expand summary{cursor:pointer;list-style:none}.expand summary:before{content:"+";display:inline-grid;place-items:center;width:18px;height:18px;border:1px solid var(--muted);margin-right:8px;font-size:14px;line-height:1}
.expand[open] summary:before{content:"–"}
.historytab{margin:6px 0 8px}
.historytab>summary{font-size:14.5px;font-weight:600;color:var(--info);padding:6px 0}
.historytab[open]>summary{margin-bottom:8px}

/* HEC current status banner */
.hecnow{border:1px solid var(--line);border-left:6px solid var(--navy);padding:14px 18px;margin:8px 0 22px;background:#fff}
.hecnow .top{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.hecnow .big{font-size:20px;font-weight:600;color:var(--navy)}
.hecnow small{display:block;color:var(--muted);margin-top:6px;font-size:13.5px}
.jump{display:flex;gap:16px;flex-wrap:wrap;font-size:14px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:9px 0;margin-bottom:26px}
.jump a{text-decoration:none}
.h3{font-size:22px;font-weight:600;color:var(--navy);margin:34px 0 10px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:baseline}
.h3 small{font-size:13px;font-weight:400;color:var(--muted)}

/* tables */
table{border-collapse:collapse;width:100%;font-size:14.5px}
thead th{background:#3A3F5C;color:#fff;text-align:left;font-weight:600;padding:10px 12px;font-size:13.5px}
tbody td{padding:9px 12px;border-bottom:1px solid #ECEEF3;vertical-align:top}
tbody tr:nth-child(even) td{background:var(--zebra)}
tr.gap td{background:repeating-linear-gradient(45deg,#fff,#fff 8px,#F2F3F7 8px,#F2F3F7 16px)!important;color:var(--muted);font-style:italic}
tr.sub td{background:#FBFBFD!important;font-size:13.5px;color:var(--muted)}
.tbd{color:#8A5300;font-style:italic;font-size:13.5px}
.legend{font-size:13px;color:var(--muted);display:flex;gap:6px 16px;flex-wrap:wrap;margin:8px 0}
.timeline{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 12px}
.timeline .seg{border:1px solid var(--line);border-radius:3px;padding:6px 9px;font-size:12.5px;min-width:108px;background:#fff}
.timeline .seg b{display:block;font-size:12px;color:var(--muted);font-weight:600}
.timeline .seg.rec{border-top:4px solid var(--ok)}.timeline .seg.nl{border-top:4px solid #8C93A5}
.timeline .seg.pv{border-top:4px solid var(--info)}.timeline .seg.gap{border-style:dashed;color:var(--muted)}
.timeline .seg.ov{outline:2px dotted var(--warn);outline-offset:1px}

/* metrics + tiles */
.twocol{display:grid;grid-template-columns:1.5fr 1fr;gap:24px;align-items:start}
.pills{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.pill{border:1px solid var(--line);background:#fff;padding:5px 12px;font-size:12.5px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}
.pill[aria-selected=true]{color:var(--navy);border-color:var(--navy);font-weight:700}
.tiles{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tile{padding:12px 14px;min-height:96px;display:flex;flex-direction:column;justify-content:space-between;text-align:center;border-radius:2px}
.tile .tl{font-size:12px;text-transform:uppercase;letter-spacing:.05em;font-weight:600}
.tile .tv{font-size:30px;font-weight:700;line-height:1.1}
.tile .ts{font-size:12px}
.tile.hec{background:var(--navy);color:#fff}
.tile.hec .tv{font-size:44px}
.tile.rank{background:#E8EBF3;color:var(--navy)}
.tile.src{background:#fff;border:1px solid var(--line);color:var(--text)}
.tile.jpi{background:var(--tile-blue);color:#141A33}
.tile.off{background:#fff;border:1px dashed #9AA1B3;color:var(--muted)}

/* verification result panel */
.result{border:2px solid var(--navy);background:#fff;margin-top:18px}
.result .rh{background:var(--navy);color:#fff;padding:9px 16px;font-size:13px;letter-spacing:.06em;text-transform:uppercase;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.result .rb{padding:16px 18px}
.kv{display:grid;grid-template-columns:200px 1fr;gap:6px 16px;font-size:15px}
.kv dt{color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.03em;padding-top:2px}
.kv dd{margin:0}
.result .msg{margin:12px 0 0;padding:10px 12px;background:var(--zebra);border-left:4px solid var(--info);font-size:14.5px}
.result .caveat{margin:8px 0 0;font-size:13.5px;color:var(--warn)}
.result .foot2{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;font-size:13.5px;color:var(--muted);align-items:center}
.examples{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 0;justify-content:center}
.examples button{border:1px solid var(--line);background:#fff;border-radius:14px;padding:3px 11px;font-size:13px;color:var(--navy)}
.examples button:hover{border-color:var(--navy)}

/* result cards */
.rcard{border:1px solid var(--line);padding:16px 18px;margin-bottom:14px;display:grid;gap:8px}
.rcard h3{font-size:20px;color:var(--navy);font-weight:600}
.rmeta{display:flex;gap:6px 26px;flex-wrap:wrap;font-size:14.5px}
.rmeta span b{color:var(--muted);font-weight:600;font-size:12.5px;text-transform:uppercase;letter-spacing:.03em;margin-right:5px}
.rline{display:flex;gap:8px 22px;flex-wrap:wrap;align-items:center;border-top:1px solid var(--line);padding-top:10px;font-size:14.5px}
.rline .asof{font-size:12.5px;color:var(--muted)}
.rfoot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center;font-size:13px;color:var(--muted)}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}
.filters select{width:auto;height:36px;font-size:14px}

/* ---------- ADMIN ---------- */
.adm{font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-size:14.5px;background:#F5F6FA;display:grid;grid-template-columns:230px 1fr;min-height:720px}
.adm aside{background:#1E2233;color:#C9CEDF;padding:16px 10px}
.adm aside .brand{color:#fff;font-weight:700;font-size:16px;padding:6px 10px 14px;display:block}
.adm aside a{display:flex;gap:9px;align-items:center;color:#C9CEDF;text-decoration:none;padding:8px 10px;border-radius:5px;font-size:14px}
.adm aside a.on{background:#2E344D;color:#fff}.adm aside a:hover{background:#292F45}
.adm aside .g{font-size:11px;text-transform:uppercase;letter-spacing:.08em;margin:14px 10px 4px;color:#8790AD}
.adm main{padding:20px 24px 40px;min-width:0}
.adm h1{font-size:22px;font-weight:600;color:#1E2233;margin-bottom:4px}
.adm .sub{color:var(--muted);margin-bottom:18px}
.acard{background:#fff;border:1px solid #DFE2EA;border-radius:8px;padding:16px 18px;margin-bottom:16px}
.acard h2{font-size:15px;font-weight:700;color:#1E2233;margin-bottom:10px;display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;align-items:center}
.agrid{display:grid;gap:16px;grid-template-columns:repeat(4,1fr)}
.agrid.two{grid-template-columns:1.3fr 1fr}.agrid.three{grid-template-columns:repeat(3,1fr)}
.stat{background:#fff;border:1px solid #DFE2EA;border-radius:8px;padding:14px 16px}
.stat b{display:block;font-size:26px;color:#1E2233}.stat span{font-size:13px;color:var(--muted)}
.stat.warn{border-left:4px solid #E0A100}.stat.bad{border-left:4px solid var(--bad)}.stat.ok{border-left:4px solid var(--ok)}
.adm table thead th{background:#EEF0F6;color:#3A3F5C;font-size:12.5px;text-transform:uppercase;letter-spacing:.04em}
.adm tbody tr:nth-child(even) td{background:#fff}.adm tbody td{border-bottom:1px solid #ECEEF3}
.todo{list-style:none;margin:0;padding:0}.todo li{display:flex;gap:10px;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid #ECEEF3;flex-wrap:wrap}
.todo li b{font-weight:600}
.abtn{background:#2F5FA8;color:#fff;border:0;border-radius:6px;padding:7px 14px;font-size:13.5px;text-decoration:none;display:inline-block}
.abtn.ghost{background:#fff;color:#2F5FA8;border:1px solid #2F5FA8}.abtn.danger{background:var(--bad)}.abtn.ok{background:var(--ok)}
.abtn[disabled]{opacity:.45;cursor:not-allowed}
.steps{display:flex;gap:0;flex-wrap:wrap;margin-bottom:16px}
.steps span{flex:1 1 130px;padding:9px 10px;background:#E4E7F0;color:#5B6272;font-size:13px;text-align:center;border-right:2px solid #fff}
.steps span.done{background:#CFE8DA;color:#14603A}.steps span.cur{background:#2F5FA8;color:#fff;font-weight:600}
.ready{list-style:none;margin:0;padding:0}.ready li{display:flex;gap:10px;padding:6px 0;align-items:flex-start}
.ready .t{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:13px;flex:none;color:#fff}
.t.ok{background:var(--ok)}.t.no{background:#B3B8C6}.t.wait{background:#E0A100}
.side2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.docbox{border:1px solid #DFE2EA;border-radius:6px;padding:10px 12px;background:#FBFBFD;font-size:13.5px}
.docbox h4{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:6px;font-weight:700}
.docbox .pdf{background:#fff;border:1px solid #CBD0DC;padding:8px;font:12.5px/1.5 ui-monospace,Consolas,monospace}
.hl{background:#FFF1A8}
.tag{font-size:12px;border-radius:4px;padding:1px 7px;background:#E4E7F0;color:#3A3F5C}
.tag.w{background:#FFF3DC;color:#8A5300}.tag.r{background:#FCE9E7;color:#B3261E}.tag.g{background:#E6F3EC;color:#1E7B4B}.tag.b{background:#E8F0FB;color:#2F5FA8}
.tabsA{display:flex;gap:4px;border-bottom:2px solid #DFE2EA;margin-bottom:14px;flex-wrap:wrap}
.tabsA button{border:0;background:transparent;padding:8px 14px;color:#5B6272;border-bottom:3px solid transparent;margin-bottom:-2px}
.tabsA button[aria-selected=true]{color:#1E2233;font-weight:700;border-color:#2F5FA8}
[data-tab-panel]{display:none}[data-tab-panel].show{display:block}

/* ---------- responsive by CONTAINER width (so the Tablet/Mobile toggle really works) ---------- */
@media (max-width:900px){
  .nav{display:none}.mnav{display:block}
  .idgrid,.twocol,.agrid.two{grid-template-columns:1fr}
  .cols4{grid-template-columns:repeat(2,1fr)}
  .formgrid{grid-template-columns:1fr 1fr}.formgrid .btn{grid-column:1/-1}
  .agrid{grid-template-columns:repeat(2,1fr)}.agrid.three{grid-template-columns:1fr}
  .adm{grid-template-columns:1fr}.adm aside{display:flex;flex-wrap:wrap;gap:2px}.adm aside .g,.adm aside .brand{width:100%;margin:6px 0 0}
}
@media (max-width:640px){
  .wrap{padding:0 16px}.sec{padding:34px 0}.wrap.sec{padding-left:16px;padding-right:16px}.sec h2{font-size:24px}
  .cols4,.formgrid,.formgrid.two,.formgrid.three{grid-template-columns:1fr}
  .jtitle{font-size:24px}.kv{grid-template-columns:1fr;gap:2px}.kv dt{margin-top:8px}
  .tiles{grid-template-columns:1fr 1fr}
  .agrid,.side2{grid-template-columns:1fr}
  .adm main{padding:14px}
  .panel{padding:12px}.btn{width:100%}
  table.rt thead{display:none}
  table.rt,table.rt tbody,table.rt tr,table.rt td{display:block;width:100%}
  table.rt tr{border:1px solid var(--line);margin-bottom:10px;background:#fff}
  table.rt tbody tr:nth-child(even) td{background:#fff}
  table.rt td{border:0;padding:5px 12px;display:flex;gap:10px}
  table.rt td:before{content:attr(data-l);flex:0 0 108px;font-size:12px;text-transform:uppercase;color:var(--muted);letter-spacing:.03em;padding-top:2px}
}

/* ---------- Phase 2 additions ---------- */
.demo-ribbon{background:#FFF3DC;border-bottom:1px solid #EBCB8E;color:#6B4200;font-size:13px;text-align:center;padding:5px 12px}
.demo-tag{display:inline-block;background:#FFF3DC;color:#6B4200;border:1px solid #EBCB8E;border-radius:3px;font-size:11.5px;font-weight:700;letter-spacing:.05em;padding:1px 7px;vertical-align:middle}
.flash{border-left:4px solid var(--info);background:var(--info-bg);padding:10px 14px;margin:0 0 16px;font-size:14.5px}
.flash.ok{border-color:var(--ok);background:var(--ok-bg)}.flash.err{border-color:var(--bad);background:var(--bad-bg)}
.errors{color:var(--bad);font-size:14px;margin:4px 0 0;padding:0;list-style:none}
.authbox{max-width:440px;margin:56px auto;border:1px solid var(--line);padding:26px;background:#fff}
.authbox h1{font-size:24px;color:var(--navy);margin-bottom:14px;font-weight:600}
.authbox .row{margin-bottom:14px}
.authbox label{display:block;font-size:12.5px;color:var(--muted);margin-bottom:3px;text-transform:uppercase;letter-spacing:.03em}
.errpage{max-width:640px;margin:70px auto;text-align:center;padding:0 16px}
.errpage .code{font-size:64px;font-weight:300;color:var(--tab-off)}
.errpage h1{font-size:26px;color:var(--navy);margin:6px 0 10px;font-weight:600}
.errpage p{color:var(--muted)}
.btn.link{background:none;color:var(--info);height:auto;padding:0;font-weight:400;text-decoration:underline}
.inline{display:inline}
.pagination{display:flex;gap:6px;justify-content:center;margin:20px 0;flex-wrap:wrap}
.pagination a,.pagination span{border:1px solid var(--line);padding:5px 11px;text-decoration:none;color:var(--navy);font-size:14px}
.pagination .active{background:var(--navy);color:#fff}
.adm .flash{margin-bottom:16px}
.adm .placeholder{background:#fff;border:1px dashed #B5BAC6;border-radius:8px;padding:34px;text-align:center;color:#5B6272}
.adm .placeholder h2{color:#1E2233;font-size:18px;margin-bottom:6px}
.adm form.inline-form{display:inline}
.qr svg{max-width:200px;height:auto}
code.codes{display:block;background:#F5F6FA;border:1px solid #DFE2EA;padding:10px 14px;font-size:14px;line-height:1.8}
@media print{.strip,.hdr,.foot,.band,.nav,.demo-ribbon{display:none}}
a.tab{text-decoration:none;display:inline-block}

/* ---------- Phase 3: HEC datasets and imports (admin) ---------- */
.adm input[type=file],.adm input[type=number],.adm input[type=url]{width:100%;height:40px;border:1px solid #B5BAC6;background:var(--field);padding:6px 10px;font:inherit;border-radius:2px}
.adm input[type=text],.adm input[type=date],.adm select{height:38px}
.adm textarea{min-height:64px}
.fld{margin-bottom:12px}.fld label{display:block;font-size:12.5px;color:var(--muted);margin-bottom:3px;text-transform:uppercase;letter-spacing:.03em}
.fld .hint{font-size:13px;color:var(--muted);margin-top:3px}
.fgrid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:end}
.prog{height:14px;background:#E4E7F0;border-radius:7px;overflow:hidden;margin:10px 0}.prog i{display:block;height:100%;width:0;background:#2F5FA8;transition:width .3s}
.notice{border-left:4px solid #E0A100;background:#FFF8E6;padding:10px 14px;margin:0 0 14px;font-size:14.5px}
.notice.bad{border-color:var(--bad);background:var(--bad-bg)}.notice.good{border-color:var(--ok);background:var(--ok-bg)}.notice.info{border-color:var(--info);background:var(--info-bg)}
.mono{font:12.5px/1.45 ui-monospace,Consolas,monospace;word-break:break-all}
.adm details.box{border:1px solid #DFE2EA;border-radius:6px;padding:8px 12px;margin:8px 0;background:#FBFBFD}.adm details.box summary{cursor:pointer;font-weight:600}
.adm .inline-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.adm td.num,.adm th.num{text-align:right}
.tag.gr{background:#EEF0F6;color:#5B6272}

/* ---------- Phase 4: journal search results and profile ---------- */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.rstat{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 18px;border-top:1px solid var(--line);padding-top:10px;font-size:14px}
.rstat .rs{display:grid;gap:4px;align-content:start}
.rstat .lab,.hecnow .lab{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:700}
.rstat .chips{display:flex;flex-wrap:wrap;gap:4px 10px}
.rcard .via{font-size:13px;color:var(--muted)}
.vlabel{display:inline-block;font-size:12.5px;font-weight:600;padding:1px 8px;border-radius:10px;border:1px solid var(--line);color:var(--muted);background:#fff}
.vlabel.verified{color:var(--ok);border-color:#A9D3BC;background:var(--ok-bg)}
.vlabel.unverified{color:var(--info);border-color:#A9C1E6;background:var(--info-bg)}
.vlabel.conflict{color:var(--warn);border-color:#EBCB8E;background:var(--warn-bg)}
.hecnow .latest{border-top:1px dashed var(--line);padding-top:6px}
.notice{border-left:4px solid #E0A100;background:#FFF8E6;padding:10px 14px;margin:8px 0 14px;font-size:14.5px}
.fine{font-size:13px;color:var(--muted);margin:6px 0 0}
.evrow td{padding:0 12px 8px;background:#fff!important;border-top:0}
.evid summary{cursor:pointer;font-size:13px;color:var(--info)}
.evid .kv{margin-top:8px;font-size:14px}
@media (max-width:900px){.rstat{grid-template-columns:1fr}}

/* ---------- Phase 9: accessibility, transparency pages, homepage sections ---------- */
.skip{position:absolute;left:-9999px;top:0;background:#fff;color:var(--navy);padding:10px 16px;z-index:100;border:2px solid var(--navy);font-weight:700}
.skip:focus{left:8px;top:8px}
:focus-visible{outline:3px solid #2F5FA8;outline-offset:2px}
main:focus{outline:none}
.nav a[aria-current=page]{font-weight:700;border-bottom:3px solid var(--action)}
.nav a.cta[aria-current=page]{border-bottom:0;box-shadow:inset 0 -3px 0 var(--action)}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.prose{max-width:820px}.prose h2{font-size:22px;color:var(--navy);margin:26px 0 8px;font-weight:600}.prose p,.prose li{line-height:1.7;color:var(--text)}
.prose ul,.prose ol{padding-left:22px}
.srcgrid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin:12px 0 24px}
.srccard{border:1px solid var(--line);padding:14px 16px;background:#fff}
.srccard h3{font-size:18px;color:var(--navy);margin-bottom:4px}.srccard dl{margin:0;font-size:14.5px}
.srccard dt{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-top:8px;font-weight:700}.srccard dd{margin:2px 0 0}
.stepsline{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));counter-reset:s;margin:14px 0}
.stepsline li{list-style:none;border:1px solid var(--line);padding:12px 14px;background:#fff;counter-increment:s}
.stepsline li:before{content:counter(s);display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--navy);color:#fff;font-weight:700;margin-right:8px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ===== Journal page: coloured tiles (Phase 11) — the HJRS-style boxes: amber category, blue period, status and verification ===== */
.tiles-title{margin:0 0 10px}
.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 10px}
.tile{display:flex;flex-direction:column;justify-content:space-between;gap:8px;min-height:120px;padding:14px 16px;border:1px solid transparent}
.tile .tl{font-size:12.5px;text-transform:uppercase;letter-spacing:.07em;font-weight:700}
.tile .tv{font-size:22px;font-weight:700;line-height:1.2}
.tile .ts{font-size:13.5px}
.tile-cat{background:var(--tile-amber);color:#1B2038;align-items:center;text-align:center}
.tile-cat .cat{width:auto;height:auto;min-width:0;background:transparent;color:#1B2038;font-size:60px;line-height:1;font-weight:800;border-radius:0}
.tile-cat.none{background:var(--neutral-bg);color:var(--neutral);border-color:var(--line)}
.tile-cat.none .tv{font-size:40px;font-weight:700;color:var(--muted)}
.tile-period{background:var(--tile-blue);color:#1B2038}
.tile-status{background:var(--neutral-bg);color:var(--neutral);border-color:#C3C7D2}
.tile-status .chip{font-size:19px;padding:5px 12px;background:#fff}
.tile-status.rec{background:var(--ok-bg);border-color:#A9D3BC}
.tile-status.pv{background:var(--info-bg);border-color:#A9C1E6}
.tile-status.sus{background:var(--warn-bg);border-color:#EBCB8E}
.tile-status.der{background:var(--bad-bg);border-color:#EDB3AE}
.tile-ver{background:var(--zebra);border-color:var(--line);color:var(--text)}
.tile-ver.verified{background:var(--ok-bg);border-color:#A9D3BC}
.tile-ver.unverified,.tile-ver.conflict{background:var(--warn-bg);border-color:#EBCB8E}
.tile-note{margin:6px 0 0;font-size:13.5px;color:var(--muted)}
.hecnow.tiles-wrap{border:0;border-left:0;padding:0;margin:8px 0 22px;background:transparent}
/* things that are not needed at first glance sit behind a small "+" (opened by a click; open by default when there is content) */
.fold{margin:26px 0 8px}
.fold>summary.h3{margin:0;cursor:pointer;justify-content:flex-start;align-items:center}
/* the + box, then the title on the left; the small note (if any) goes to the far right */
.fold>summary.h3 small{margin-left:auto}
.fold[open]>summary.h3{margin-bottom:10px}
.fold>summary.fine{cursor:pointer;font-size:13.5px;color:var(--muted)}
/* category tile(s) on a search-result card: the real HEC category (.rtile) and, when HJRS has calculated one, a second,
   visually distinct tile (.rtile-calc) of equal size right beside it — both first-class, never one hiding the other. */
.rcard{position:relative}
.rcard.has-tile h3{padding-right:112px}
.rcard.has-2tiles h3{padding-right:196px}
.rtile-group{position:absolute;top:14px;right:16px;display:flex;gap:8px}
.rtile{position:static;width:92px;padding:8px 6px 6px;text-align:center;background:var(--tile-amber);color:#1B2038;display:grid;gap:0}
.rtile span{font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;font-weight:700}
.rtile b{font-size:38px;line-height:1.05;font-weight:800}
.rtile.off{background:var(--neutral-bg);color:var(--muted);border:1px solid var(--line)}
.rtile.off b{font-size:28px}
.rtile-calc{width:92px;padding:8px 6px 6px;text-align:center;background:#fff;border:2px solid var(--info);color:#1B2038;display:grid;gap:0}
.rtile-calc span{font-size:9px;text-transform:uppercase;letter-spacing:.04em;font-weight:700;color:var(--info);line-height:1.2}
.rtile-calc b{font-size:34px;line-height:1.05;font-weight:800;color:var(--info)}
@media (max-width:900px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.tiles{grid-template-columns:1fr 1fr}.tile{min-height:104px;padding:12px}.tile-cat .cat{font-size:48px}
  .rcard.has-tile h3,.rcard.has-2tiles h3{padding-right:0}.rtile-group{position:static;flex-wrap:wrap;margin-bottom:2px}.rtile,.rtile-calc{width:auto;flex:1 1 45%;display:flex;justify-content:space-between;align-items:center;padding:6px 12px}.rtile b,.rtile-calc b{font-size:26px}}
.rcard.has-tile .rmeta,.rcard.has-tile .via,.rcard.has-2tiles .rmeta,.rcard.has-2tiles .via{padding-right:196px}
@media (max-width:560px){.rcard.has-tile .rmeta,.rcard.has-tile .via,.rcard.has-2tiles .rmeta,.rcard.has-2tiles .via{padding-right:0}}

/* HJRS's own CALCULATED HEC policy category (Phase 11/12): a first-class box, the SAME visual weight as the real "Current
   HEC Status" tiles above it — large value, its own colour (never the tile-amber used for the real category, so the two
   are never mistaken for each other at a glance), and always labelled "(Calculated)" / "not an HEC-published record". */
.policytile{display:flex;flex-wrap:wrap;align-items:center;gap:18px;max-width:none;padding:16px 20px;margin:0 0 22px;border:1px solid var(--info);border-left:6px solid var(--info);background:var(--info-bg)}
.policytile .pt-value{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:84px}
.policytile .tl{font-size:12.5px;text-transform:uppercase;letter-spacing:.07em;font-weight:700;color:var(--info);flex-basis:100%}
.policytile .tl i{font-style:normal;font-weight:400;text-transform:none;letter-spacing:0;color:var(--muted)}
.policytile .big{font-size:44px;font-weight:800;line-height:1;color:#1B2038}
.policytile .ts{font-size:13.5px;color:var(--text)}
.policytile .pt-body{flex:1 1 260px;display:flex;flex-direction:column;gap:4px}
.policytile a{color:var(--info)}
.policytile details{margin-top:4px}
.policytile summary{cursor:pointer;color:var(--info);font-size:13.5px;font-weight:600}
.policytile .why{margin:8px 0 0;padding:10px 12px;background:#fff;border:1px solid var(--line);font-size:13.5px}
.policytile .why ul{margin:6px 0 0;padding-left:20px}
@media (max-width:560px){.policytile{display:block}.policytile .pt-value{margin:0 0 10px}}

/* Disclaimer box under "Check Article Status": yellow notice, orange edge, warning icon */
.discbox{display:flex;gap:14px;align-items:flex-start;max-width:900px;margin:18px auto 0;padding:16px 20px;background:#FFFBEB;border:1px solid #FDE9A8;border-left:5px solid #D97706;border-radius:3px;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.discbox svg.i{width:26px;height:26px;margin-top:2px}
.discbox h2{text-align:left;margin:0 0 4px;font-size:16px;font-weight:700;color:#1F2937}
.discbox p{text-align:left;margin:0;font-size:14.5px;line-height:1.55;color:#4B5563}
.discbox .discbtn{margin-top:12px;color:#fff}
