/* CBSRM signed in service workspace (slices UI1, UI2). Same visual language as the local workspace and the sign in page.
   No external resource. Served with a Content Security Policy that allows no inline style: everything is here.
   Layout: a section list, the task, and the guide. From 1100 CSS pixels the guide is a right hand drawer that keeps
   its own scroll (it never makes the page taller than the task); below that it is a bottom sheet that is closed until
   the reader opens it. Text contrast is at least 4.5:1 and control boundaries at least 3:1 against their background
   (computed by tools/laghubitta_service_a11y_checks.js; a proposed WCAG 2.2 AA baseline, not a conformance claim). */
*{box-sizing:border-box}
html,body{margin:0;padding:0}
html{scroll-padding-top:12px;}
body{background:var(--bg);color:var(--text);font-family:var(--sans);font-size:14.5px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
html[lang="ne"] body,html[lang="hi"] body{font-family:var(--devanagari),var(--sans);line-height:1.75;}
html[lang="ne"] .rt-overline,html[lang="hi"] .rt-overline,html[lang="ne"] h2,html[lang="hi"] h2,html[lang="ne"] .btn,html[lang="hi"] .btn,html[lang="ne"] .navbtn,html[lang="hi"] .navbtn{font-family:var(--devanagari),var(--sans);text-transform:none;letter-spacing:0;}
a{color:var(--link);text-decoration:underline;text-underline-offset:2px;}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--focus);outline-offset:2px;}
[hidden]{display:none !important;}
.skip{position:absolute;left:-9999px;top:0;background:var(--primary);color:var(--on-primary);padding:10px 14px;z-index:40;}
.skip:focus{left:8px;top:8px;}
.wrap{max-width:1680px;margin:0 auto;padding:0 20px 40px;}
.tn{font-family:var(--mono);font-variant-numeric:tabular-nums;}
.mono{font-family:var(--mono);font-size:12.5px;overflow-wrap:anywhere;}
.muted{color:var(--text-muted);}
h1{font-size:24px;font-weight:650;letter-spacing:-.01em;color:var(--text-strong);margin:2px 0 6px;line-height:1.25;}
h2{font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-strong);font-weight:650;margin:20px 0 8px;}
h3{font-size:14.5px;font-weight:600;color:var(--text-strong);margin:12px 0 6px;}
/* a card title is a second level heading that reads like a third level one (heading order without a skipped level) */
h2.cardtitle{font-size:15px;font-weight:600;letter-spacing:0;text-transform:none;margin:0 0 4px;}
p{margin:0 0 10px;max-width:95ch;overflow-wrap:anywhere;}
ul,ol{margin:0 0 10px 18px;padding:0;} li{margin:2px 0;overflow-wrap:anywhere;}

/* the top bar: a deep navy band with the brand mark, the language, the amounts, the theme and the guide (its own focus colour) */
.topbar{background:var(--topbar-bg);color:var(--topbar-text);margin:0 -20px;padding:0 20px;border-bottom:3px solid var(--gold);box-shadow:inset 0 -1px 0 var(--cyan);--focus:#9CC8FF;}
.rt-mast{display:flex;align-items:center;justify-content:space-between;gap:10px 18px;padding:10px 0;flex-wrap:wrap;}
.rt-brand{display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-width:0;}
.brandmark{display:inline-flex;gap:3px;flex:0 0 auto;}
.brandmark__a,.brandmark__b{display:block;width:9px;height:24px;border-radius:2px;}
.brandmark__a{background:var(--gold);} .brandmark__b{background:var(--cyan);transform:translateY(5px);}
.rt-wordmark{font-family:var(--sans);font-size:18px;font-weight:700;letter-spacing:.06em;color:#FFFFFF;} .rt-wordmark .dot{color:var(--cyan);}
.rt-overline{font-size:12px;letter-spacing:.04em;color:var(--topbar-muted);}
.rt-mast__right{display:flex;align-items:center;gap:8px 14px;flex-wrap:wrap;font-size:12.5px;color:var(--topbar-muted);min-width:0;}
.topbar .sel span{color:var(--topbar-muted);}
.topbar select{background:var(--topbar-bg-2);color:var(--topbar-text);border-color:var(--topbar-control);}
.topbar .btn{background:var(--topbar-bg-2);color:var(--topbar-text);border-color:var(--topbar-control);margin:0;}
.topbar .btn:hover{border-color:#FFFFFF;}
.topbar .btn[aria-pressed="true"],.topbar .btn[aria-expanded="true"]{box-shadow:inset 0 -3px 0 var(--cyan);}
.topbar .hw-status{color:var(--topbar-muted);}
/* secondary settings and provenance disclosures: accessible native disclosure at EVERY width */
.rt-settings-disclosure{position:relative;display:inline-block;}
.rt-settings-disclosure>summary{display:inline-flex;align-items:center;gap:4px;cursor:pointer;font-size:12px;font-weight:500;color:var(--topbar-text);background:var(--topbar-bg-2);border:1px solid var(--topbar-control);border-radius:4px;padding:4px 8px;list-style:none;user-select:none;}
.rt-settings-disclosure>summary::-webkit-details-marker{display:none;}
.rt-settings-disclosure>summary::before{content:"\25B8  ";}
.rt-settings-disclosure[open]>summary::before{content:"\25BE  ";}
.rt-settings-disclosure>summary:hover{border-color:#FFFFFF;}
.rt-settings-disclosure>summary:focus-visible{outline:2px solid var(--cyan);outline-offset:1px;}
.rt-settings-body{position:absolute;top:calc(100% + 4px);right:0;z-index:100;min-width:280px;max-width:540px;display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--surface, #121D30);border:1px solid var(--border-strong, #2B3A4F);box-shadow:0 8px 24px rgba(0,0,0,0.45);border-radius:8px;}
.snapdetails{display:inline-flex;align-items:center;margin-left:6px;}
.snapdetails>summary{display:inline-flex;align-items:center;cursor:pointer;font-family:var(--mono);font-size:11.5px;color:var(--text-muted);list-style:none;padding:2px 4px;border-radius:3px;}
.snapdetails>summary::-webkit-details-marker{display:none;}
.snapdetails>summary::before{content:"\25B8  ";}
.snapdetails[open]>summary::before{content:"\25BE  ";}
.snapdetails>summary:hover{color:var(--text-strong);}
.snapdetails>summary:focus-visible{outline:1px dotted var(--primary);}
.snapdetails:not([open]) #snapshotMeta{display:none;}
.snapdetails[open] #snapshotMeta{display:inline-block;margin-left:6px;}
.sel{display:inline-flex;align-items:center;gap:6px;min-width:0;max-width:100%;}
.sel select{min-width:0;}
.ctxbar .sel{flex:0 1 auto;} #snapshotSelect{width:100%;max-width:520px;}
.formrow.inline select{min-width:0;max-width:100%;}
select,input[type="text"],input[type="number"],textarea{font:inherit;font-size:13.5px;color:var(--text);background:var(--surface);border:1px solid var(--control);border-radius:6px;padding:6px 8px;min-height:32px;max-width:100%;}
input[type="file"]{font:inherit;font-size:13px;color:var(--text);max-width:100%;min-height:32px;}
input[type="checkbox"]{width:24px;height:24px;margin:1px 6px 1px 0;vertical-align:middle;accent-color:var(--primary-bd);}
textarea{width:100%;min-height:64px;resize:vertical;}
[aria-invalid="true"]{border-color:var(--severe);box-shadow:0 0 0 1px var(--severe);}
.hw-status{font-family:var(--mono);font-size:11.5px;color:var(--text-dim);overflow-wrap:anywhere;}

/* the institution bar: the institution, the month end on screen, the snapshot, the session and sign out */
.sessionbar{display:flex;align-items:center;gap:8px 14px;flex-wrap:wrap;padding:10px 0;border-bottom:1px solid var(--border-strong);}
.sessionbar .grow{flex:1 1 auto;}
.instblock{display:flex;flex-direction:column;min-width:0;max-width:100%;}
.instname{font-size:16px;font-weight:650;color:var(--text-strong);overflow-wrap:anywhere;}
.instname:empty,.instasof:empty{display:none;}
.instasof{font-size:12.5px;color:var(--text-muted);}
.sessdetails{min-width:0;flex:1 1 300px;}
.sessdetails summary{cursor:pointer;min-height:28px;padding:4px 0;font-family:var(--mono);font-size:11.5px;color:var(--text-muted);overflow-wrap:anywhere;}
.sessdetails .chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;}
.sessdetails summary::before{content:"\25B8  ";}
.sessdetails[open] summary::before{content:"\25BE  ";}
.sessdetails summary{list-style:none;}
.sessdetails summary::-webkit-details-marker{display:none;}
.chip{display:inline-flex;align-items:center;font-family:var(--mono);font-size:11.5px;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:999px;padding:3px 10px;overflow-wrap:anywhere;min-width:0;}
.chip:empty{display:none;}
.btn{display:inline-block;cursor:pointer;font:inherit;font-size:13px;font-weight:500;color:var(--text-strong);background:var(--surface);border:1px solid var(--control);border-radius:6px;padding:7px 12px;min-height:32px;text-decoration:none;margin:2px 4px 2px 0;max-width:100%;overflow-wrap:anywhere;text-align:left;}
.btn:hover{border-color:var(--focus);}
.btn--primary{background:var(--primary);border-color:var(--primary-bd);color:var(--on-primary);}
.btn--danger{border-color:var(--danger);color:var(--bad-fg);}
.btn--small{padding:4px 10px;min-height:28px;font-size:12.5px;}
.btn[disabled]{opacity:.55;cursor:not-allowed;}
.banner{margin:10px 0 0;padding:8px 12px;background:var(--warn-bg);border:1px solid var(--warn-bd);border-left:4px solid var(--st-watch);border-radius:6px;color:var(--warn-fg);font-size:12.5px;max-width:none;} .banner b{color:var(--warn-fg);font-weight:600;}
.note-line{margin:0;padding:8px 0;color:var(--text-dim);font-size:12.5px;max-width:none;}
.statusrow{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;min-height:30px;padding:0 0 4px;}
.status{font-family:var(--mono);font-size:12px;color:var(--benign);overflow-wrap:anywhere;}
.alert{margin:0 0 10px;padding:10px 12px;border:1px solid var(--danger);border-left-width:4px;background:var(--bad-bg);border-radius:6px;color:var(--bad-text);}
.alert .code{font-family:var(--mono);font-size:12.5px;color:var(--bad-fg);display:block;margin-bottom:4px;overflow-wrap:anywhere;}
.alert p{margin:0 0 6px;}
.refusal{margin:8px 0;padding:10px 12px;border:1px solid var(--danger);border-left-width:4px;background:var(--bad-bg);border-radius:6px;color:var(--bad-text);}
.refusal .code{font-family:var(--mono);font-size:12.5px;color:var(--bad-fg);display:block;margin-bottom:4px;overflow-wrap:anywhere;}
.refusal .muted,.alert .muted{color:var(--bad-muted);}
.okbox{margin:8px 0;padding:10px 12px;border:1px solid var(--hash-bd);border-left-width:4px;border-left-color:var(--ok-edge);background:var(--hash-bg);border-radius:6px;}
.ctxbar{display:flex;align-items:center;gap:6px 12px;flex-wrap:wrap;padding:0;min-width:0;}

/* the grouped section list (Contract C): one landmark, groups named by a label, the section on screen marked */
.layout{display:grid;grid-template-columns:224px minmax(0,1fr) 320px;gap:20px;align-items:start;margin-top:16px;}
.nav{position:sticky;top:8px;max-height:calc(100vh - 16px);overflow-y:auto;padding:3px;}
.navlist{display:flex;flex-direction:column;gap:10px;}
.navgroup{display:flex;flex-direction:column;gap:2px;}
.navgroup__title{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);padding:4px 10px 2px;}
html[lang="ne"] .navgroup__title,html[lang="hi"] .navgroup__title{letter-spacing:0;text-transform:none;font-size:12px;}
.navtoggle{display:none;}
.navcurrent{color:var(--text-muted);}
.navcurrent:not(:empty)::before{content:" · ";}
.navbtn{display:block;width:100%;text-align:left;cursor:pointer;font:inherit;font-size:13.5px;color:var(--text);background:transparent;border:1px solid transparent;border-left:3px solid transparent;border-radius:6px;padding:6px 10px;min-height:32px;}
.navbtn:hover{color:var(--text-strong);background:var(--surface);border-color:var(--border-strong);border-left-color:var(--border-strong);}
.navbtn[aria-current="page"]{color:var(--text-strong);font-weight:650;border-color:var(--primary-bd);border-left-color:var(--accent);background:var(--current-bg);}
main{min-width:0;}
main:focus{outline:none;}
.guide{border:1px solid var(--border);border-radius:10px;background:var(--surface);padding:12px 14px;min-width:0;box-shadow:var(--shadow);}
.guide:focus{outline:none;}
.guide-bar{display:none;}
.screen{border:1px solid var(--border);border-radius:10px;background:var(--surface);padding:16px 20px;min-width:0;box-shadow:var(--shadow);}
.screen--dash{border:0;background:transparent;padding:0;box-shadow:none;}
.screenhead{margin:0 0 12px;}
.screenhead .lede{margin:0;}
.panel{border:1px solid var(--border);border-radius:6px;background:var(--surface-2);padding:10px 12px;margin:10px 0;}
.panel summary,details.more summary{cursor:pointer;font-weight:600;color:var(--text-strong);min-height:28px;padding:3px 0;}
details.more{margin:4px 0 8px;}
details.more summary{font-weight:400;color:var(--text-muted);font-size:12.5px;}
.formrow{display:flex;flex-direction:column;gap:4px;margin:0 0 10px;max-width:640px;}
.formrow.inline{flex-direction:row;align-items:center;flex-wrap:wrap;gap:8px;max-width:none;}
.formrow label{color:var(--text-muted);font-size:12.5px;}
.checks{display:flex;flex-wrap:wrap;gap:4px 14px;margin:0 0 10px;}
.checks label{display:inline-flex;align-items:center;min-height:28px;color:var(--text);font-size:13px;}
.result{min-width:0;}
.kv{display:grid;grid-template-columns:minmax(120px,max-content) minmax(0,1fr);gap:3px 14px;margin:0 0 10px;}
.kv dt{color:var(--text-muted);font-size:12.5px;} .kv dd{margin:0;overflow-wrap:anywhere;min-width:0;}
/* tables: the region scrolls (sideways for a wide table, down for a long one) and the header row stays in view */
.tablewrap{overflow:auto;scrollbar-gutter:stable;max-width:100%;max-height:min(72vh,680px);border:1px solid var(--border);border-radius:5px;margin:0 0 12px;scroll-padding-top:40px;}
table{border-collapse:separate;border-spacing:0;width:100%;font-size:13px;}
caption{caption-side:top;text-align:left;color:var(--text-muted);font-size:12.5px;padding:6px 8px;}
th,td{text-align:left;vertical-align:top;padding:6px 8px;border-bottom:1px solid var(--border);overflow-wrap:break-word;}
th{color:var(--text-muted);font-weight:500;font-size:12px;white-space:nowrap;background:var(--surface-2);position:sticky;top:0;z-index:1;}
td.num,th.num{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap;}
td.wide{min-width:220px;}
tr:last-child td{border-bottom:0;}
tr.detailrow td{background:var(--surface-2);padding:8px 10px 10px;}
.tag{display:inline-block;font-family:var(--mono);font-size:11.5px;border:1px solid var(--border-strong);border-radius:4px;padding:1px 6px;color:var(--text);white-space:nowrap;}
.tag.sev-red,.tag.sev-breached,.tag.sev-variance,.tag.st-variance,.tag.sev-high,.tag.st-denied,.tag.st-revoked,.tag.st-error{border-color:var(--bad-bd);color:var(--bad-fg);}
.tag.sev-amber,.tag.sev-trigger,.tag.sev-data_gap,.tag.st-unverified,.tag.st-DRAFT,.tag.st-not_generated,.tag.st-requested,.tag.st-pending,.tag.st-draft,.tag.st-warning,.tag.st-synthetic_only,.tag.st-external_dependency{border-color:var(--warn-bd);color:var(--warn-fg);}
.tag.st-matched,.tag.st-REVIEWED,.tag.st-active,.tag.st-closed,.tag.st-implemented,.tag.st-approved,.tag.st-accepted{border-color:var(--hash-bd);color:var(--ok-fg);}
.tag.st-disabled_by_policy{border-color:var(--border-strong);color:var(--text-muted);}
.tag.lv-high{border-color:var(--bad-bd);color:var(--bad-fg);}
.tag.lv-watch,.tag.st-stale{border-color:var(--warn-bd);color:var(--warn-fg);}
.tag.lv-within,.tag.st-current{border-color:var(--hash-bd);color:var(--ok-fg);}
.tag.lv-no_data{border-color:var(--border-strong);color:var(--text-muted);}
.op-envelope{margin:0 0 12px;} .op-absent{margin:8px 0;}
.card{border:1px solid var(--border);border-radius:6px;background:var(--surface-2);padding:10px 12px;margin:0 0 10px;min-width:0;}
.card h3{margin:0 0 4px;}
.card .meta{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 6px;align-items:center;}
.card .pick{display:inline-flex;align-items:center;min-height:28px;}
.card:focus{outline:3px solid var(--focus);outline-offset:2px;}
.blocker{border-left:4px solid var(--bad-edge);padding-left:10px;}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:10px;margin:0 0 12px;}
.cards .card{margin:0;}
.cardlist{list-style:none;margin:0 0 8px;padding:0;}
.cardlist li{margin:0 0 4px;padding-left:0;}
.state{font-family:var(--mono);font-size:11.5px;color:var(--text-muted);}
.state[data-state="blocked"],.state[data-state="not_permitted"]{color:var(--warn-fg);}
.state[data-state="done"]{color:var(--ok-fg);}
/* role views of the home screen (UI-02): a tab list that wraps on a phone, and the panels of the chosen view */
.roleviews{border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin:12px 0 14px;padding:0 0 6px;}
.rvtabs{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px;}
.rvtab{cursor:pointer;font:inherit;font-family:var(--mono);font-size:12.5px;color:var(--text);background:var(--surface);border:1px solid var(--control);border-radius:5px;padding:7px 12px;min-height:34px;max-width:100%;overflow-wrap:anywhere;text-align:left;}
html[lang="ne"] .rvtab,html[lang="hi"] .rvtab{font-family:var(--devanagari),var(--mono);}
.rvtab:hover{border-color:var(--focus);}
.rvtab[aria-selected="true"]{color:var(--text-strong);border-color:var(--primary-bd);background:var(--current-bg);box-shadow:inset 0 -3px 0 var(--primary-bd);}
.rvcards{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));}
/* data inputs (UI-01): server text blocks, the stated control totals and the generic answer renderer */
.inputs h2{margin-top:18px;} .inputs h3,.inputs h4{margin:12px 0 4px;}
.inputs .inp-key{font-family:var(--mono);font-size:12.5px;color:var(--text-muted);overflow-wrap:anywhere;}
.inputs .inp-any{min-width:0;}
.inputs .inp-controls{border:1px solid var(--border);border-radius:5px;padding:8px 12px 2px;margin:0 0 10px;min-width:0;max-width:640px;}
.inputs .inp-controls legend{padding:0 4px;color:var(--text-strong);font-size:13px;}
.inputs .inp-period{margin:0 0 8px;}
.inputs td .btn{white-space:normal;text-align:left;}
.inputs .inp-pagers{border:1px solid var(--border);border-radius:5px;padding:6px 10px 2px;margin:0 0 10px;min-width:0;}
.inputs .inp-pager{margin:0 0 6px;}
.inputs .inp-pager:focus{outline:3px solid var(--focus);outline-offset:2px;}
.inputs .inp-controls textarea{min-height:56px;font-family:var(--mono);font-size:12.5px;}
.tag.st-published,.tag.st-publishable,.tag.st-complete,.tag.st-checked{border-color:var(--hash-bd);color:var(--ok-fg);}
.tag.st-not_published,.tag.st-awaiting_checker,.tag.st-submitted,.tag.st-incomplete,.tag.st-unreconciled,.tag.st-not_routed,.tag.st-no_period,.tag.st-superseded,.tag.st-withdrawn,
.tag.st-computed_total_rounded,.tag.st-computed_total_unavailable,.tag.st-exact_arithmetic_unavailable{border-color:var(--warn-bd);color:var(--warn-fg);}
.tag.st-blocked,.tag.st-rejected,.tag.st-amount_above_limit,.tag.st-amount_not_exact{border-color:var(--bad-bd);color:var(--bad-fg);}
/* loan grade (UI-08): what the service states with every answer stays in one bordered strip above the figures */
.loan .lg-envelope{border:1px solid var(--border-strong);border-left:4px solid var(--watch);border-radius:5px;background:var(--surface-2);padding:10px 12px 4px;margin:0 0 12px;min-width:0;}
.tag.lg-status{border-color:var(--warn-bd);color:var(--warn-fg);font-weight:600;}
.loan .lg-notice{color:var(--text-strong);}
.loan .lg-counts{display:grid;grid-template-columns:minmax(120px,max-content) minmax(0,1fr);gap:3px 14px;margin:0 0 8px;}
.loan .lg-counts dt{color:var(--text-muted);font-size:12.5px;} .loan .lg-counts dd{margin:0;min-width:0;}
.loan .lg-state{margin:8px 0 12px;}
.loan .lg-grade{font-family:var(--mono);}
.loan .lg-filters{margin:0 0 4px;}
.loan .lg-pager{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin:0 0 8px;}
.loan .lg-pager p{margin:0;}
.loan .lg-inputs{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:1px 10px;margin:0;font-size:12.5px;}
.loan .lg-inputs dt{color:var(--text-muted);font-family:var(--mono);} .loan .lg-inputs dd{margin:0;}
.loan td .btn{white-space:nowrap;}
.tag.st-provisional,.tag.st-partial,.tag.st-withheld,.tag.st-written_off,.tag.st-not_reviewed,.tag.st-branch_scope,.tag.st-accounts_not_stored,.tag.st-nothing_in_scope,
.tag.st-snapshot_not_validated,.tag.st-rollup_withheld,.tag.st-stale,.tag.st-absent{border-color:var(--warn-bd);color:var(--warn-fg);}
.tag.st-scored,.tag.st-computed,.tag.st-current{border-color:var(--hash-bd);color:var(--ok-fg);}
.tag.st-block_unreadable{border-color:var(--bad-bd);color:var(--bad-fg);}
/* UI-14: the board pack offer on the report screen, the pre publish findings above the analytics panel, a person shown
   by name, a headline figure shown as returned, the display name control and the legend of the loan grade */
.packbar,.prepublish{border:1px solid var(--border-strong);border-radius:5px;background:var(--surface-2);padding:6px 12px 2px;margin:0 0 12px;min-width:0;}
.prepublish{border-left:4px solid var(--watch);}
.packbar h2,.prepublish h2{margin-top:6px;}
.packlinks{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center;}
.prefinding{margin:0 0 8px;}
.pname{color:var(--text-strong);overflow-wrap:anywhere;}
.rvraw{display:inline-block;white-space:normal;}
.rvraw-label{display:block;font-family:var(--sans);font-size:11.5px;color:var(--text-muted);}
.dnbox{margin-top:8px;border-top:1px solid var(--border);padding-top:8px;}
.loan .lg-legend{border:1px solid var(--border);border-radius:5px;padding:4px 12px;margin:0 0 12px;}
.loan .lg-legend dl{display:grid;grid-template-columns:minmax(110px,max-content) minmax(0,1fr);gap:6px 14px;margin:6px 0 8px;}
.loan .lg-legend dt{color:var(--text-strong);} .loan .lg-legend dd{margin:0;min-width:0;}
.loan .lg-legend dd p{margin:0 0 4px;}
.tag.sev-warning,.tag.st-preview,.tag.st-none,.tag.st-NOT_GENERATED{border-color:var(--warn-bd);color:var(--warn-fg);}
.tag.st-generated{border-color:var(--hash-bd);color:var(--ok-fg);}
@media (max-width:640px){.loan .lg-legend dl{grid-template-columns:minmax(0,1fr);gap:2px 0;} .loan .lg-legend dd{margin:0 0 6px;}}
/* role views: the status the service states for a role (provisional) beside the name of its view */
.rvstatus{color:var(--warn-fg);font-size:11.5px;}
/* the report: figures read live beside it stand in a block of their own, below everything the report's status covers */
.livebar{border-top:2px dashed var(--border-strong);margin-top:22px;padding-top:4px;}
.rvpanel .tablewrap{margin-bottom:8px;}
.rvpanel .kv{grid-template-columns:minmax(0,3fr) minmax(0,2fr);}
.rvpanel .tag{white-space:normal;overflow-wrap:anywhere;}
.rvtotal{font-size:20px;font-weight:600;color:var(--text-strong);}
.tag.sev-yellow,.tag.sev-medium,.tag.sev-near,.tag.sev-no_data{border-color:var(--warn-bd);color:var(--warn-fg);}
.tag.sev-within,.tag.sev-low,.tag.sev-green{border-color:var(--hash-bd);color:var(--ok-fg);}
.actions{display:flex;flex-wrap:wrap;gap:2px 4px;align-items:center;margin:0 0 8px;}
.needs{font-size:12.5px;color:var(--text-muted);margin:0 0 8px 18px;}
.foot{color:var(--text-dim);font-size:12px;margin-top:18px;}
.foot p{max-width:none;}

/* the guide as a right hand drawer: its own scroll, never taller than the window */
@media (min-width:1100px){
  .guide{position:sticky;top:8px;max-height:calc(100vh - 16px);overflow-y:auto;scroll-padding-top:8px;}
  html[data-guide-wide="closed"] .guide{display:none;}
  html[data-guide-wide="closed"] .layout{grid-template-columns:224px minmax(0,1fr);}
}
/* the guide as a bottom sheet: closed until asked for, laid over the page, never pushing the task down */
@media (max-width:1099.98px){
  .layout{grid-template-columns:200px minmax(0,1fr);}
  .guide{display:none;}
  html[data-guide-narrow="open"] .guide{display:block;position:fixed;left:0;right:0;bottom:0;z-index:30;max-height:60vh;overflow-y:auto;border-radius:10px 10px 0 0;border-color:var(--control);box-shadow:0 -8px 24px var(--shadow-strong);scroll-padding-top:48px;}
  html[data-guide-narrow="open"] .guide-bar{display:flex;justify-content:flex-end;position:sticky;top:-12px;background:var(--surface);padding:4px 0;margin:-8px 0 4px;z-index:2;}
  /* room below the task so that nothing that has focus stays under the open sheet */
  html[data-guide-narrow="open"] .wrap{padding-bottom:64vh;}
  html[data-guide-narrow="open"]{scroll-padding-bottom:64vh;}
}
@media (max-width:820px){
  body{font-size:13.5px;}
  .layout{grid-template-columns:minmax(0,1fr);gap:4px;margin-top:4px;}
  .nav{position:static;max-height:none;overflow:visible;padding:0;}
  .navtoggle{display:block;width:100%;margin:0 0 2px;padding:4px 8px;min-height:26px;font-size:11.5px;}
  .navlist{display:none;margin-top:4px;}
  .nav[data-open="1"] .navlist{display:flex;}
  .navbtn{border-color:var(--border-strong);padding:6px 10px;min-height:30px;font-size:12px;}
  .kv{grid-template-columns:minmax(0,1fr);} .kv dt{margin-top:2px;}
  h1{font-size:16px;margin:2px 0 2px;line-height:1.2;}
  body .screen{padding:6px 8px !important;}
  body .screenhead{margin-bottom:4px !important;}
  body .screenhead h1{font-size:16px !important;margin:2px 0 2px !important;line-height:1.2 !important;}
  body .screenhead .lede{font-size:11.5px !important;line-height:1.35 !important;margin:2px 0 2px !important;}
  body .screenhead .overview-about{margin:2px 0 4px !important;}
  body .screenhead .overview-about summary{font-size:11px !important;color:var(--text-muted) !important;cursor:pointer !important;}
  body .screenhead .overview-about p{font-size:11px !important;line-height:1.35 !important;padding:4px 0 !important;}
  .pagehead{margin-bottom:2px !important;}
  .topbar{margin:0 -8px !important;padding:0 8px !important;}
  .topbar .rt-mast{padding:2px 0 !important;min-height:34px !important;max-height:40px !important;gap:4px 8px !important;display:flex !important;flex-wrap:nowrap !important;align-items:center !important;justify-content:space-between !important;}
  .rt-brand{display:flex !important;align-items:center !important;gap:6px !important;flex:0 0 auto !important;}
  .wv-brand-logo{max-height:22px !important;width:auto !important;}
  .rt-wordmark{font-size:15px !important;}
  .rt-mast__right{display:flex !important;align-items:center !important;justify-content:flex-end !important;gap:6px !important;flex:0 1 auto !important;width:auto !important;min-width:0 !important;}
  .rt-mast__right #guideToggle{font-size:11px !important;min-height:24px !important;padding:2px 6px !important;margin:0 !important;}
  .pagehead .sessionbar{padding:2px 0 !important;gap:2px 6px !important;display:flex !important;flex-wrap:wrap !important;align-items:center !important;}
  .sessionbar .grow{display:none !important;}
  .navgroup__title{padding-top:4px;}
  .instblock{order:1 !important;display:flex !important;flex-direction:row !important;align-items:baseline !important;gap:6px !important;width:auto !important;flex:1 1 auto !important;margin:0 !important;}
  .instname{font-size:12.5px !important;font-weight:650 !important;line-height:1.2 !important;}
  .instasof{font-size:11px !important;}
  #btnSwitch, #btnLogout{order:2 !important;font-size:10.5px !important;padding:1px 6px !important;min-height:20px !important;max-height:22px !important;line-height:1.2 !important;}
  #btnSwitch{margin:0 4px 0 auto !important;}
  #btnLogout{margin:0 !important;}
  body .ctxbar, .pagehead .ctxbar{order:3 !important;width:100% !important;background:transparent !important;padding:0 !important;margin:0 !important;border-radius:0 !important;border:0 !important;gap:4px 6px !important;display:inline-flex !important;align-items:center !important;}
  #snapshotSelect{font-size:11px !important;min-height:22px !important;padding:1px 4px !important;max-width:160px !important;}
  .sessdetails{order:4 !important;width:100% !important;flex:1 1 100% !important;margin:0 !important;}
  .sessdetails summary{padding:1px 0 !important;min-height:18px !important;font-size:10.5px !important;}
  .sessdetails .chips{padding:2px 0 2px;}
  /* the count of draft keys is in the translation status disclosure of the footer */
  #langStatus{display:none;}
  .pagehead .banner{font-size:10px !important;line-height:1.25 !important;padding:2px 6px !important;margin:2px 0 !important;border-radius:4px !important;}
  .pagehead .note-line{font-size:10px !important;line-height:1.25 !important;padding:1px 0 !important;margin:0 !important;}
  .statusrow{min-height:0 !important;padding:1px 0 !important;margin:0 0 2px !important;gap:4px 8px !important;font-size:10px !important;}
  body .dash{margin-top:2px !important;}
  body .dash-summary{margin:1px 0 3px !important;font-size:11px !important;line-height:1.25 !important;}
  /* the tagline gives way to the task on a phone; the page title and the first heading still name the workspace */
  .rt-overline{display:none;}

  /* Collapsible secondary settings and provenance details on mobile viewports */
  .rt-settings-disclosure{position:relative !important;display:inline-block !important;width:auto !important;}
  .rt-settings-disclosure>summary{display:inline-flex !important;align-items:center !important;cursor:pointer !important;font-size:11px !important;color:var(--topbar-text) !important;background:var(--topbar-bg-2) !important;border:1px solid var(--topbar-control) !important;border-radius:4px !important;padding:2px 6px !important;min-height:24px !important;}
  .rt-settings-disclosure>summary::before{content:"\25B8  ";}
  .rt-settings-disclosure[open]>summary::before{content:"\25BE  ";}
  .rt-settings-disclosure>summary::-webkit-details-marker{display:none;}
  .rt-settings-disclosure>summary{list-style:none;}
  .rt-settings-body{position:fixed !important;top:44px !important;left:16px !important;right:16px !important;width:auto !important;z-index:100 !important;min-width:0 !important;max-width:none !important;max-height:calc(100dvh - 60px) !important;overflow-y:auto !important;display:flex !important;flex-direction:column !important;gap:6px !important;padding:8px !important;background:var(--surface, #121D30) !important;border:1px solid var(--border-strong, #2B3A4F) !important;border-radius:6px !important;box-shadow:0 6px 18px rgba(0,0,0,0.45) !important;}

  .snapdetails{display:inline-flex !important;align-items:center !important;margin-left:4px !important;}
  .snapdetails>summary{display:inline !important;cursor:pointer !important;font-family:var(--mono) !important;font-size:10.5px !important;color:var(--text-muted) !important;}
  .snapdetails>summary::before{content:"\25B8  ";}
  .snapdetails[open]>summary::before{content:"\25BE  ";}
  .snapdetails>summary::-webkit-details-marker{display:none;}
  .snapdetails>summary{list-style:none;}
  .snapdetails:not([open]) #snapshotMeta{display:none;}

  /* Statebar and hero compression on mobile so first risk level/score is within 844px */
  body .navtoggle, body .btn.navtoggle{padding:3px 6px !important;min-height:24px !important;font-size:11px !important;margin:0 0 2px !important;}
  body .screenhead h1{font-size:16px !important;line-height:1.2 !important;margin:0 0 2px !important;}
  body .screenhead .lede{font-size:11px !important;line-height:1.2 !important;margin:0 0 2px !important;}
  body .screenhead .overview-about, body .screen>.wv-description.overview-about{margin:1px 0 2px !important;}
  body .statebar{padding:2px 6px !important;margin:2px 0 3px !important;font-size:10px !important;}
  body .statebar p{font-size:10px !important;margin:0 !important;}
  body .statebar .needs-list{margin:1px 0 !important;padding-left:16px !important;}
  body .statebar .btn{padding:2px 6px !important;min-height:20px !important;font-size:10px !important;margin:1px 0 0 !important;}
  body .dash .hero{padding:4px 8px !important;margin:2px 0 4px !important;gap:4px !important;border-radius:6px !important;}
  body .dash .hero__level{padding-left:6px !important;gap:2px !important;border-left-width:4px !important;}
  body .dash .hero__kicker{font-size:9.5px !important;margin:0 !important;}
  body .dash .hero__value{font-size:15px !important;line-height:1.15 !important;margin:0 !important;}
  body .dash .hero__score{font-size:11px !important;margin:0 !important;}
  body .dash .hero__scoreline{font-size:9.5px !important;margin:1px 0 0 !important;}
  body .dash .hero__actions{margin-top:2px !important;font-size:10px !important;padding:2px 4px !important;}
  body .dash .hero .kpi__note{margin:1px 0 !important;font-size:9.5px !important;line-height:1.2 !important;}
  body .dash .hero .cc-title{font-size:11px !important;margin:0 0 2px !important;}
  body .dash .hero .why{margin:0 0 2px 14px !important;padding:0 !important;font-size:10px !important;line-height:1.2 !important;}
  body .dash .hero .why li{margin:0 0 1px !important;}
  /* target size: no visible control below 24 by 24 CSS px on the compact layout (the type sizes above stay) */
  #btnSwitch, #btnLogout, #snapshotSelect, body .statebar .btn, body .dash .hero__actions .btn, .btn--small{min-height:24px !important;max-height:none !important;}
  .snapdetails>summary, #sessSummary, .sessdetails>summary{display:inline-flex !important;align-items:center !important;min-height:24px !important;box-sizing:border-box !important;}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important;}
}
@media (prefers-reduced-motion:no-preference){
  .btn,.navbtn,.rvtab{transition:border-color .12s ease;}
}
@media (forced-colors:active){
  .btn,.navbtn,.tag,.chip,.card,.screen,.guide,.rvtab{border-color:CanvasText;}
  .navbtn[aria-current="page"],.rvtab[aria-selected="true"]{outline:2px solid Highlight;}
}
/* print for board use: the institution, the month end, the disclaimers and the screen on white paper; controls hidden */
/* GAP17: the advanced systemic section (site/laghubitta-service-advanced.js). Tokens only; no inline style anywhere. */
.tag.st-unavailable,.tag.st-unknown{border-color:var(--warn-bd);color:var(--warn-fg);}
.advanced{display:grid;gap:var(--sp-3,12px);}
.advlabel{font-weight:600;color:var(--text-strong);margin:0;}
.advnote{border-left:3px solid var(--warn-bd);background:var(--warn-bg);color:var(--text);padding:8px 12px;border-radius:4px;margin:0;}
.advcard{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg,8px);padding:12px 14px;min-width:0;}
.advcard__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px;margin:0 0 8px;}
.advcard__head h2{margin:0;font-size:15px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--text-strong);flex:1 1 16rem;}
.advcard[data-adv-currency="superseded"]{border-color:var(--warn-bd);}
.advactions{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 0;}
.advabsent{margin:0 0 8px 18px;}
.advdetail{margin-top:10px;display:grid;gap:12px;min-width:0;}
.advtable{overflow-x:auto;min-width:0;}
.advtable table{border-collapse:collapse;width:100%;}
.advtable caption{text-align:left;font-weight:600;padding:4px 0;}
.advtable th,.advtable td{padding:4px 8px;border-bottom:1px solid var(--border);text-align:left;overflow-wrap:anywhere;}
.advtable th.num,.advtable td.num{text-align:right;font-variant-numeric:tabular-nums;}
@media (max-width:640px){.advcard{padding:10px;}.advcard__head h2{flex-basis:100%;}}

@media print{
  .nav,.guide,.skip,.btn,.rvtabs,.rt-mast__right,.statusrow,#translationStatus,.sessdetails,.ctxbar,.dashfallback{display:none !important;}
  body{background:#fff;color:#000;font-size:11pt;}
  .wrap{max-width:none;padding:0;}
  .topbar{background:#fff;color:#000;margin:0;padding:0;border-bottom:2px solid #000;box-shadow:none;}
  .rt-wordmark{color:#000;} .rt-overline{color:#000;display:inline;}
  .sessionbar{border:0;padding:6px 0;}
  .banner{border-color:#000;}
  .tablewrap{max-height:none;overflow:visible;} th{position:static;}
  .layout{display:block;}
  .screen{border:0;box-shadow:none;padding:0;}
  @page{margin:14mm;}
}
/* identifiers and figures inside a table stay on one line (the table region scrolls sideways instead); prose wraps */
td .mono,td .tn,td.num{white-space:nowrap;overflow-wrap:normal;}
tr.detailrow td .mono{white-space:normal;overflow-wrap:anywhere;}
/* the guide panel (site/laghubitta-guide.js): its lg- classes are the styling surface it offers the host page */
.guide .lg-title{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-strong);font-weight:400;margin:0 0 6px;}
.guide .lg-h{font-size:13.5px;font-weight:600;color:var(--text-strong);margin:8px 0 4px;}
.guide .lg-live{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.guide .lg-p,.guide .lg-notice,.guide .lg-reason,.guide .lg-explanation,.guide .lg-where-text,.guide .lg-blocker-text,.guide .lg-where-title,.guide .lg-fact-line{margin:0 0 6px;font-size:13.5px;overflow-wrap:anywhere;}
.guide .lg-where-title{font-weight:600;color:var(--text-strong);}
.guide .lg-notice,.guide .lg-model,.guide .lg-version,.guide .lg-engine-note,.guide .lg-draft,.guide .lg-limits,.guide .lg-contract{color:var(--text-muted);font-size:12.5px;margin:0 0 6px;}
.guide .lg-list,.guide .lg-steps,.guide .lg-missing,.guide .lg-errors,.guide .lg-inputs{margin:0 0 8px 18px;padding:0;}
.guide .lg-facts{list-style:none;margin-left:0;}
.guide .lg-facts .lg-fact{border-top:1px solid var(--border);padding:4px 0 0;margin:0;}
.guide .lg-fact-line{margin:0;}
.guide .lg-dl{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;margin:0 0 6px;}
.guide .lg-pair{margin:0 0 4px;} .guide .lg-fact-label,.guide dt{color:var(--text-muted);font-size:12.5px;} .guide dd{margin:0;overflow-wrap:anywhere;}
.guide .lg-fact-value,.guide .lg-code,.guide .lg-ref,.guide .lg-operand,.guide .lg-period{font-family:var(--mono);font-size:12.5px;overflow-wrap:anywhere;}
.guide .lg-period{color:var(--text-muted);}
.guide .lg-state{display:inline;font-family:var(--mono);font-size:12px;}
.guide .lg-check{list-style:none;margin-left:-18px;}
.guide .lg-icon{display:inline-block;width:18px;}
.guide .lg-check[data-state="blocked"] .lg-state,.guide .lg-check[data-state="not_permitted"] .lg-state{color:var(--warn-fg);}
.guide .lg-check[data-state="done"] .lg-state{color:var(--ok-fg);}
.guide .lg-blocker{border-left:4px solid var(--bad-edge);padding-left:8px;list-style:none;margin-left:-18px;}
.guide .lg-nav,.guide .lg-retry,.guide .lg-explain{cursor:pointer;font:inherit;font-size:13px;color:var(--text-strong);background:var(--surface-2);border:1px solid var(--control);border-radius:5px;padding:6px 10px;min-height:32px;margin:2px 4px 2px 0;max-width:100%;overflow-wrap:anywhere;text-align:left;}
.guide .lg-toggle{display:flex;align-items:center;gap:6px;width:100%;cursor:pointer;font:inherit;font-weight:600;font-size:13.5px;color:var(--text-strong);background:transparent;border:0;border-top:1px solid var(--border);border-radius:0;padding:6px 2px;min-height:32px;margin:0;text-align:left;}
.guide .lg-toggle::before{content:"";flex:0 0 auto;width:7px;height:7px;border-right:2px solid var(--text-muted);border-bottom:2px solid var(--text-muted);transform:rotate(-45deg);margin:0 4px 0 2px;}
.guide .lg-toggle[aria-expanded="true"]::before{transform:rotate(45deg);}
.guide .lg-section .lg-h{margin:0;}
.guide .lg-section-body{padding:4px 0 2px;}
.guide .lg-action[data-permitted="true"],.guide .lg-link{list-style:none;margin-left:-18px;}
.guide .lg-unavailable{color:var(--watch);}
.guide details{margin:2px 0 6px;} .guide summary{cursor:pointer;min-height:28px;padding:3px 0;color:var(--text-muted);font-size:12.5px;}
.guide .lg-details:not(.lg-more) > summary{color:var(--text-strong);font-size:13.5px;font-weight:600;}
.guide select,.guide input{max-width:100%;}
/* the question box of the guide panel (mount option ask): a labelled field and buttons of the same size as the others */
.guide .lg-ask{border-top:1px solid var(--border);margin:8px 0 4px;padding-top:6px;}
.guide .lg-ask-label{display:block;color:var(--text-muted);font-size:12.5px;margin:0 0 4px;}
.guide .lg-ask-input{width:100%;margin:0 0 4px;}
.guide .lg-ask-send,.guide .lg-ask-suggestion{cursor:pointer;font:inherit;font-size:13px;color:var(--text-strong);background:var(--surface-2);border:1px solid var(--control);border-radius:5px;padding:6px 10px;min-height:32px;min-width:44px;margin:2px 4px 2px 0;max-width:100%;overflow-wrap:anywhere;text-align:left;}
.guide .lg-ask-send:hover,.guide .lg-ask-suggestion:hover{border-color:var(--focus);}
.guide .lg-ask-hint,.guide .lg-ask-matched,.guide .lg-ask-context,.guide .lg-ask-suggest{color:var(--text-muted);font-size:12.5px;margin:0 0 6px;overflow-wrap:anywhere;}
.guide .lg-ask-text,.guide .lg-ask-invalid{margin:0 0 6px;font-size:13.5px;overflow-wrap:anywhere;}

/* data connections (UI-17): the steps of the contract in their order; every state is a word in a tag */
.cx-step{margin:14px 0 0;padding:12px 0 0;border-top:1px solid var(--border);}
.cx-step h3{margin:0 0 4px;}
.cx-step h4{margin:10px 0 4px;font-size:13.5px;}
.cx-list{margin:0;padding-left:18px;}
.cx-list li{margin:0 0 2px;overflow-wrap:anywhere;}
.cx-error{color:var(--text-strong);overflow-wrap:anywhere;}
.cx-error b{font-family:var(--mono);font-size:12px;}
.cx-refused{margin:6px 0;}
.cx-inputs{list-style:none;margin:0;padding:0;}
.cx-inputs li{margin:0 0 6px;}
.cx-inputs .formrow{margin:4px 0 0 32px;}
.tag.cx-approved,.tag.cx-matched,.tag.cx-published,.tag.cx-ok{border-color:var(--ok-edge);background:var(--ok-bg);color:var(--ok-fg);}
.tag.cx-candidate,.tag.cx-unverified,.tag.cx-stated,.tag.cx-draft{border-color:var(--watch);}
.tag.cx-failed,.tag.cx-rejected,.tag.cx-cancelled,.tag.cx-disabled{border-color:var(--bad-edge);background:var(--bad-bg);color:var(--bad-fg);}
.tag.cx-required{font-size:10.5px;}
#cxContext label.sel{margin-right:12px;}
#cxContext input{width:12ch;}
#cxMapTable select,#cxMapTable input{max-width:100%;min-width:9ch;}
#cxHosts{width:100%;max-width:520px;font-family:var(--mono);font-size:12.5px;}
/* member groups for review (R26): the action buttons of a row keep their words on one line */
#memberGroupsResult td .btn{white-space:nowrap;}
#memberGroupsResult .mg-actions{display:inline-flex;flex-wrap:wrap;gap:6px;}
#memberGroupsResult .mg-evidence{margin:4px 0 8px;}

/* financial legs of the stress chain (GAP-12): wide tables scroll inside their own box; every withheld leg is words */
.sf-panel{margin:14px 0 0;min-width:0;}
.sf-panel h3{margin:14px 0 4px;}
.sf-panel h4{margin:10px 0 4px;font-size:13.5px;}
.sf-scroll{overflow-x:auto;max-width:100%;}
.sf-panel table{border-collapse:collapse;min-width:100%;}
.sf-panel th,.sf-panel td{border-bottom:1px solid var(--border);padding:4px 8px;text-align:left;vertical-align:top;overflow-wrap:anywhere;}
.sf-panel td.sf-leg{min-width:12ch;}
.sf-panel .sf-detail td{padding:0 8px 8px;}
.sf-panel .sf-sources dt{font-weight:600;margin-top:6px;}
.sf-panel .sf-sources dd{margin:0;overflow-wrap:anywhere;}
.sf-panel .sf-levels{padding-left:18px;margin:0;}
.sf-panel .sf-levels li{margin:0 0 4px;overflow-wrap:anywhere;}
.lf-chart{max-width:100%;height:auto;display:block;}
.lf-bar{fill:var(--text-strong);fill-opacity:.55;}
.lf-bar-neg{fill-opacity:.9;stroke:var(--text-strong);stroke-width:1;stroke-dasharray:4 2;}
.lf-axis{stroke:var(--border);stroke-width:1;}
.lf-bar-label{font-size:12px;fill:currentColor;}
.lf-figure{margin:10px 0;}
.lf-figure figcaption{font-weight:600;margin:0 0 4px;}

/* by area (GAP15): the geography answer of a declared input; the province map is the pinned layer of laghubitta-map.js */
.geo-panel{margin:18px 0 0;padding:12px 0 0;border-top:1px solid var(--border);}
.geo-controls{flex-wrap:wrap;gap:6px 10px;align-items:center;}
.geo-controls input{width:9ch;}
.geo-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;margin:10px 0;}
@media (min-width:900px){.geo-layout{grid-template-columns:minmax(260px,5fr) minmax(0,7fr);}}
.geo-map .nepal-boundary-svg{width:100%;height:auto;max-height:420px;}
.geo-map [data-area-state="has_areas"] .nepal-boundary-shape,.geo-map g[data-area-state="has_areas"] path{stroke-width:2px;}
.geo-map [data-area-state="no_area"]{opacity:.6;}
.geo-table .tablewrap{overflow-x:auto;}
.geo-panel [data-withheld="true"]{color:var(--text-muted);}
#geoUnavailable{margin:8px 0;}
/* the portfolio investigation panel (site/laghubitta-service-investigation.js): the cohorts of a snapshot, the accounts
   of one cohort and the register cases they became. The colours of the page carry no meaning here: every state is a
   word, a tag and a count, so the panel reads the same in a dark theme, a light theme and forced colours. */
#portfolioCohortResult,#portfolioCasesResult{margin-top:1.4rem;}
[data-portfolio-cohorts] h2,[data-portfolio-cases] h2{margin-top:1.4rem;}
[data-portfolio-cohorts] .tablewrap,[data-portfolio-cases] .tablewrap{margin-bottom:.9rem;}
[data-portfolio-cohorts] [data-count="absent"],[data-portfolio-cases] [data-count="absent"],[data-portfolio-cohorts] [data-amount="absent"],[data-portfolio-cases] [data-amount="absent"]{font-style:italic;}
[data-portfolio-cohorts] .formrow,[data-portfolio-cases] .formrow{margin:.5rem 0;}
/* the action cell of a portfolio table keeps its button on one line: a narrow column no longer squeezes "Open the case" to a letter or two
   per line. The table keeps every evidence column and scrolls inside its own wrapper (.tablewrap already scrolls) on a narrow screen. */
[data-portfolio-cohorts] table,[data-portfolio-cases] table{min-width:36rem;}
[data-portfolio-cohorts] td .btn,[data-portfolio-cases] td .btn{white-space:nowrap;}
[data-portfolio-cohorts] th.num,[data-portfolio-cases] th.num{white-space:normal;}
/* Source counts remain readable without scrolling the wide evidence table, in either theme and forced colours. */
.inp-mod-summary{margin-block:1rem;padding:1rem;border:1px solid var(--border);border-radius:var(--radius,8px);}
.inp-mod-summary__counts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr));gap:.75rem;}
.inp-mod-summary__counts>div{min-width:0;padding:.75rem;border:1px solid var(--border);border-radius:var(--radius,8px);}
.inp-mod-summary__counts dt,.inp-mod-summary__counts dd{margin:0;overflow-wrap:anywhere;}
.inp-mod-summary__counts strong{display:block;font-size:1.4rem;font-variant-numeric:tabular-nums;}
