:root{--paper:#f3f5f4;--card:#fff;--ink:#11161a;--mut:#55606a;--rule:#cbd2d8;--stamp:#1f3db0;--stampbg:#e7ebfa;--warn:#b3261e;--okbg:#e4f3e8;--ok:#14532d;
--head:Rockwell,"Rockwell Nova","Roboto Slab","Bitter",Georgia,serif;--body:system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans",sans-serif}
@media (prefers-color-scheme:dark){:root{--paper:#0e1316;--card:#161c20;--ink:#e8ecef;--mut:#9aa6b0;--rule:#2b353c;--stamp:#9bb0ff;--stampbg:#18214a;--warn:#ff8a80;--okbg:#12301c;--ok:#8fd9a6}}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.6 var(--body)}
a{color:var(--stamp)}a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--stamp);outline-offset:2px;border-radius:3px}
.wrap{max-width:1040px;margin:0 auto;padding:0 20px}
h1,h2,h3{font-family:var(--head);line-height:1.15;margin:0 0 .5em;letter-spacing:-.01em}
h1{font-size:clamp(2rem,5.2vw,3.4rem);font-weight:700}h2{font-size:clamp(1.4rem,3vw,1.9rem)}h3{font-size:1.15rem}
p{margin:0 0 1em;max-width:68ch}.mut{color:var(--mut)}.small{font-size:.9rem}
/* header */
.top{border-bottom:2px solid var(--ink)}
.top .wrap{display:flex;align-items:center;gap:20px;min-height:64px;flex-wrap:wrap}
.brand{font-family:var(--head);font-weight:700;font-size:1.2rem;color:var(--ink);text-decoration:none;margin-right:auto}
.brand b{color:var(--stamp)}
.nav{display:flex;gap:18px;flex-wrap:wrap;align-items:center}.nav a{color:var(--ink);text-decoration:none;font-size:.95rem}.nav a:hover,.nav a[aria-current]{text-decoration:underline;text-decoration-thickness:2px}
.btn{display:inline-block;background:var(--stamp);color:#fff!important;border:0;border-radius:6px;padding:11px 20px;font:600 1rem var(--body);text-decoration:none!important;cursor:pointer}
@media (prefers-color-scheme:dark){.btn{color:#0e1316!important}}
.btn.ghost{background:none;color:var(--stamp)!important;border:2px solid var(--stamp)}
.btn:disabled{opacity:.6;cursor:wait}
/* hero */
.hero{padding:56px 0 40px;border-bottom:1px solid var(--rule)}
.hero .wrap{display:grid;grid-template-columns:1fr 220px;gap:32px;align-items:center}
@media(max-width:760px){.hero .wrap{grid-template-columns:1fr}.hero .seal{display:none}}
.hero p.lead{font-size:1.2rem;color:var(--mut)}
.search{display:grid;grid-template-columns:1fr 200px auto;gap:10px;margin-top:22px;max-width:760px}
@media(max-width:700px){.search{grid-template-columns:1fr}}
input,select,textarea{width:100%;font:inherit;color:var(--ink);background:var(--card);border:1.5px solid var(--rule);border-radius:6px;padding:11px 12px}
input:hover,select:hover,textarea:hover{border-color:var(--mut)}textarea{min-height:120px;resize:vertical}
.seal{color:var(--stamp);transform:rotate(-9deg);justify-self:center}
section.block{padding:44px 0;border-bottom:1px solid var(--rule)}
/* ledger rows */
.ledger{border-top:2px solid var(--ink);margin:0;padding:0;list-style:none}
.ledger>li{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1.3fr) minmax(0,2fr) 100px;gap:6px 18px;padding:14px 4px;border-bottom:1px solid var(--rule);align-items:start}
.ledger>li:hover{background:color-mix(in srgb,var(--card) 70%,transparent)}
@media(max-width:760px){.ledger>li{grid-template-columns:1fr 100px}.ledger .c2,.ledger .c3{grid-column:1/-1}}
.ledger a.firm{text-decoration:none;font-family:var(--head);font-weight:700;font-size:1.1rem;color:var(--ink)}
.tag{display:inline-block;border:1px solid var(--rule);background:var(--card);border-radius:4px;padding:1px 8px;font-size:.85rem;margin:0 4px 4px 0}
.stamps{display:flex;gap:6px;align-items:center}
.stamp{color:var(--stamp);transform:rotate(-7deg);flex:none}
/* filters */
.filters{display:grid;grid-template-columns:2fr 1.3fr 1.3fr 1.3fr auto;gap:10px;margin:20px 0}
@media(max-width:860px){.filters{grid-template-columns:1fr 1fr}.filters .btn{grid-column:1/-1}}
@media(max-width:520px){.filters{grid-template-columns:1fr}}
.pager{display:flex;gap:10px;margin:20px 0}
.empty{border:2px dashed var(--rule);border-radius:8px;padding:28px;margin:20px 0}
/* steps */
.two{display:grid;grid-template-columns:1fr 1fr;gap:36px}@media(max-width:760px){.two{grid-template-columns:1fr}}
ol.steps{padding-left:1.3em;margin:0}ol.steps li{margin-bottom:.6em;padding-left:.2em}
.cats{display:flex;flex-wrap:wrap;gap:10px;padding:0;list-style:none;margin:0}
.cats a{display:inline-block;border:1.5px solid var(--ink);border-radius:6px;padding:8px 14px;color:var(--ink);text-decoration:none;background:var(--card)}
.cats a:hover{background:var(--ink);color:var(--paper)}
/* profile */
dl.kv{display:grid;grid-template-columns:150px 1fr;gap:6px 16px;margin:0 0 20px}dl.kv dt{color:var(--mut)}dl.kv dd{margin:0}
table.t{width:100%;border-collapse:collapse}table.t th,table.t td{text-align:left;padding:9px 6px;border-bottom:1px solid var(--rule);vertical-align:top}table.t th{border-bottom:2px solid var(--ink);font-weight:600}
@media(max-width:640px){table.t,table.t tbody,table.t tr,table.t td{display:block}table.t thead{display:none}table.t tr{border-bottom:1px solid var(--rule);padding:8px 0}table.t td{border:0;padding:2px 0}}
/* forms */
.card{background:var(--card);border:1px solid var(--rule);border-radius:8px;padding:22px;margin-bottom:18px}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:600px){.grid{grid-template-columns:1fr}}.full{grid-column:1/-1}
label{display:block;font-weight:600;font-size:.92rem;margin-bottom:4px}.req{color:var(--warn)}.opt{color:var(--mut);font-weight:400}.hint{font-size:.82rem;color:var(--mut);margin-top:3px}
.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{position:relative;display:inline-block;margin:0}.chip input{position:absolute;opacity:0;width:0;height:0}
.chip span{display:inline-block;padding:6px 13px;border:1.5px solid var(--rule);border-radius:999px;font-size:.88rem;font-weight:500;cursor:pointer;background:var(--card)}
.chip input:checked+span{background:var(--stampbg);border-color:var(--stamp);color:var(--stamp);font-weight:700}
.chip input:focus-visible+span{outline:3px solid var(--stamp);outline-offset:2px}
.bl{border:1.5px solid var(--rule);border-radius:8px;padding:16px;margin-bottom:12px;position:relative;background:var(--paper)}
.bl .rm{position:absolute;top:6px;right:8px;border:0;background:none;color:var(--mut);font-size:1.5rem;cursor:pointer;line-height:1}
.bl .tt{font-family:var(--head);font-weight:700;margin-bottom:10px}
.addb{width:100%;padding:12px;border:2px dashed var(--stamp);background:none;color:var(--stamp);border-radius:8px;font:600 1rem var(--body);cursor:pointer}
.msg{padding:12px 14px;border-radius:6px;margin:14px 0;display:none}.msg.err{display:block;background:#fdecea;color:#7a1c1c;border:1px solid #f3b9b4}.msg.ok{display:block;background:var(--okbg);color:var(--ok);border:1px solid var(--ok)}
.inv{border-color:var(--warn)!important}.hp{position:absolute;left:-9999px}
footer{padding:36px 0 50px;color:var(--mut);font-size:.92rem}footer .wrap{display:flex;gap:24px;flex-wrap:wrap}footer a{color:var(--mut)}
@media (prefers-reduced-motion:no-preference){.seal{animation:settle .7s cubic-bezier(.2,.9,.3,1.2) 1}@keyframes settle{from{transform:rotate(-24deg) scale(1.25);opacity:0}to{transform:rotate(-9deg) scale(1);opacity:1}}}

.ledger a.firm:hover{text-decoration:underline}.stamps{justify-content:flex-end}
.skip{position:absolute;left:-9999px;top:8px;background:var(--card);padding:8px 12px;border-radius:6px;z-index:9}.skip:focus{left:8px}
body{display:flex;flex-direction:column;min-height:100vh}main{flex:1}

/* state chips: All India switches the individual states off */
.chips.sts{max-height:none}.chip.all span{border-color:var(--stamp);font-weight:700}
.chip.off span{opacity:.4;cursor:not-allowed}.chip input:disabled+span{cursor:not-allowed}
