/* Shared authenticated analytics presentation. Permission, hidden and calculation states stay with the service. */
.screen--dash .screenhead{margin-bottom:20px}
.screen--dash .screenhead .lede{font-size:14px;line-height:1.55;max-width:78ch;color:var(--wv-muted)}
.dash .dcard{background:var(--wv-card);border:1px solid var(--wv-border);border-radius:16px;padding:22px;min-width:0}
.dash .dcard__head{gap:12px;align-items:flex-start;margin-bottom:18px}
.dash .dcard__head h2,.dash .service-map>h2{font-size:18px;line-height:1.35;letter-spacing:-.015em;margin:0 0 12px}
.dash .dash-grid{gap:20px}
.dash .kpis{gap:14px}
.dash .kpi{padding:20px;background:var(--wv-card);border:1px solid var(--wv-border);border-radius:14px;min-width:0}
.dash .kpi__value{font-size:clamp(25px,3.2vw,36px);font-variant-numeric:tabular-nums;line-height:1.25;overflow-wrap:anywhere}
.dash .hero{border-radius:16px;padding:22px;gap:22px;background:var(--wv-card);border:1px solid var(--wv-border)}
.dash .hero__value{font-size:clamp(28px,4vw,44px)}
.dash .statebar{gap:12px;line-height:1.55;margin-bottom:14px}
.dash .toolbar{gap:12px;padding:16px;border:1px solid var(--wv-border);border-radius:12px;background:var(--wv-card);margin:18px 0}
.dash .toolbar label{gap:6px;min-width:0}
.dash .toolbar select{min-height:44px}
.dash .seg{display:flex;flex-wrap:wrap;gap:8px}
.dash .seg button{min-height:40px;border:1px solid var(--wv-border);border-radius:8px;padding:8px 12px;color:var(--wv-text);background:var(--wv-surface)}
.dash .seg button[aria-pressed=true]{border-width:2px;border-color:var(--wv-control-border);font-weight:700}
.navlist .navbtn{border:1px solid var(--wv-border);border-left:3px solid var(--wv-border);background:var(--wv-card);margin:5px 0;min-height:42px;padding:10px 12px;text-decoration:none;line-height:1.35}
.navlist .navbtn:hover{background:var(--wv-surface);border-color:var(--wv-control-border)}
.navlist .navbtn[aria-current=page]{border-left:5px solid var(--wv-blue);border-color:var(--wv-control-border);font-weight:700;box-shadow:inset 0 0 0 1px var(--wv-control-border)}
.navlist .navbtn[aria-current=page]::after{content:" •";font-weight:900}
.navgroup__title{display:block;padding:16px 2px 5px;color:var(--wv-muted);font-weight:650;font-size:11px;letter-spacing:.08em}
.dash button:focus-visible,.navbtn:focus-visible,.service-map summary:focus-visible{outline:3px solid var(--wv-focus);outline-offset:3px}
.dash .cc-legend{gap:12px;padding:12px 0;font-size:13px;line-height:1.4}
.dash .cc-legend button{border:1px solid var(--wv-border);border-radius:8px;padding:8px 12px;min-height:40px}
.dash figure{max-width:100%;min-width:0}
.dash svg{max-width:100%}
.tabs .tab{border:1px solid var(--wv-border);min-height:44px;line-height:1.35;margin:2px;padding:10px 14px}
.tabs .tab.active{border-color:var(--wv-control-border);border-bottom:3px solid var(--wv-gold);font-weight:700}
.tabs .tab.active::after{content:" •";font-weight:900}
.tabs .tab:focus-visible,.rd-symbol:focus-visible{outline:3px solid var(--wv-focus);outline-offset:3px}
.rd-symbol{font:inherit;font-weight:650;text-align:left;color:var(--wv-text);background:var(--wv-surface);border:1px solid var(--wv-control-border);padding:8px 12px;min-height:40px;border-radius:8px}
.rd-symbol:hover{border-color:var(--wv-text);text-decoration:underline}
#rdMeta,#rdPosture{line-height:1.65;overflow-wrap:anywhere}
#rdPosture{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
#rdTable td{padding:12px 10px;font-variant-numeric:tabular-nums}
.service-map__basis,.service-map__coverage,.service-map__legend{font-size:13px;line-height:1.6;color:var(--wv-muted);margin:8px 0 14px;overflow-wrap:anywhere}
.service-map__coverage{color:var(--wv-text);padding:12px 14px;border:1px solid var(--wv-border);border-radius:10px;background:var(--wv-surface)}
.service-map__synthetic{font-size:12px;font-weight:650;color:var(--wv-text);border-left:3px solid var(--wv-gold);padding:8px 12px}
.service-map__layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:22px;align-items:start}
.service-map__geography{min-width:0}
.service-map .nepal-boundary-figure{padding:8px;border:0;background:transparent;margin:0 0 14px}
.service-map .nepal-boundary-info,.service-map .nepal-boundary-sub{display:none}
.service-map .nepal-boundary-list{grid-template-columns:repeat(2,minmax(0,1fr))}
.service-map .nepal-boundary-choice{font-size:12px;line-height:1.45}
.service-map__details{min-width:0;border:1px solid var(--wv-border);border-radius:12px;padding:16px;background:var(--wv-surface)}
.service-map__details h3{font-size:18px;line-height:1.4;margin:0 0 10px}
.service-map__counts{font-size:13px;line-height:1.55;color:var(--wv-muted)}
.service-map__branches{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:12px}
.service-map__branches>li{padding:12px;background:var(--wv-card);border:1px solid var(--wv-border);border-radius:10px;overflow-wrap:anywhere}
.service-map__branch{min-height:42px;width:100%;font-weight:650}
.service-map__metric,.service-map__reason{font-size:12px;line-height:1.55;margin:8px 0 0;color:var(--wv-text)}
.service-map__reason{color:var(--wv-muted)}
.service-map__unknown,.service-map__source{font-size:12px;line-height:1.6;margin-top:16px;overflow-wrap:anywhere}
.service-map summary{cursor:pointer;padding:10px 0;min-height:44px;color:var(--wv-text)}

/* the province risk reading of the service map (site/laghubitta-service-map.js): the fill of a province is the
   highest COMPLETE branch risk among the permitted branch rows in view, low green, watch amber, elevated orange
   and high red. These are the levels the branch rows already carry; no province score and no threshold is computed
   here. A province with no complete reading stays neutral and is never low risk. The outline carries the coverage
   (dashed: partial, dotted: no complete reading) and the selection. The pinned boundary layer keeps its own
   neutral fill; every rule here is scoped to the service map card, so the standalone page is unchanged. */
.service-map .nepal-boundary-province[data-risk="low"] .nepal-boundary-shape{fill:var(--st-good)}
.service-map .nepal-boundary-province[data-risk="watch"] .nepal-boundary-shape{fill:var(--st-watch)}
.service-map .nepal-boundary-province[data-risk="elevated"] .nepal-boundary-shape{fill:var(--st-elevated)}
.service-map .nepal-boundary-province[data-risk="high"] .nepal-boundary-shape{fill:var(--service-map-high)}
.service-map .nepal-boundary-province[data-risk="unknown"] .nepal-boundary-shape{fill:var(--st-none)}
.service-map .nepal-boundary-province[data-risk-coverage="partial"] .nepal-boundary-shape{stroke-dasharray:7 4}
.service-map .nepal-boundary-province[data-risk-coverage="unknown"] .nepal-boundary-shape,.service-map .nepal-boundary-province[data-risk-coverage="none"] .nepal-boundary-shape{stroke-dasharray:2 4}
.service-map__key{list-style:none;display:flex;flex-wrap:wrap;gap:8px 18px;margin:10px 0 0;padding:0;font-size:12px;line-height:1.5;color:var(--wv-text)}
.service-map__key>li{display:flex;align-items:center;gap:7px}
.service-map__swatch{display:inline-block;width:16px;height:12px;border-radius:2px;border:1px solid var(--wv-border);flex:0 0 auto}
.service-map__swatch--low{background:var(--st-good)}
.service-map__swatch--watch{background:var(--st-watch)}
.service-map__swatch--elevated{background:var(--st-elevated)}
.service-map__swatch--high{background:var(--service-map-high)}
.service-map__swatch--unknown{background:var(--st-none)}
.service-map__reading{font-size:13px;line-height:1.55;color:var(--wv-text);margin:0 0 8px}
.service-map__reading[data-province-reading="unknown"]{border-left:3px solid var(--st-none);padding-left:10px}
.service-map__risk{width:100%;border-collapse:collapse;font-size:12.5px}
.service-map__risk th,.service-map__risk td{text-align:left;padding:6px 10px;border-bottom:1px solid var(--wv-border);vertical-align:top}
.service-map__risk thead th{color:var(--wv-muted);font-weight:650;white-space:nowrap}
.service-map__risk tbody th{font-weight:650;white-space:nowrap}
.service-map__risk td[data-risk-reading]{font-weight:650;white-space:nowrap}
.service-map__risk td[data-risk-reading] .service-map__swatch{margin-right:7px}
.service-map__risk td[data-risk-coverage-text]{color:var(--wv-muted)}
@media(max-width:1100px){.service-map__layout{grid-template-columns:minmax(0,1fr)}}
@media(max-width:820px){.dash .dcard,.dash .kpi,.dash .hero{padding:16px}.dash .dash-grid{gap:14px}.dash .toolbar{padding:12px}.dash .kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.navlist .navbtn{min-height:44px}.service-map .nepal-boundary-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:430px){.dash .kpis{grid-template-columns:minmax(0,1fr)}}
@media print{.dash .dcard,.dash .kpi,.dash .hero,.service-map__details,.service-map__branches>li{background:#fff!important;color:#112337!important;border-color:#536574!important;box-shadow:none}.service-map__basis,.service-map__coverage,.service-map__legend,.service-map__counts,.service-map__metric,.service-map__reason{color:#112337!important}.service-map__layout{display:block}.service-map__source>*{display:block}.service-map__geography{break-inside:avoid}.service-map__details{margin-top:16px}.service-map .nepal-boundary-list{display:none}.service-map__branches>li{break-inside:avoid}}

@media (forced-colors:active){
  /* the fill of a province is replaced by the system colour here, so the reading is carried by the outline
     pattern, the words on the province, the panel and the table */
  .service-map .nepal-boundary-shape{fill:Canvas;stroke:CanvasText}
  .service-map .nepal-boundary-province[data-risk-coverage="partial"] .nepal-boundary-shape{stroke-dasharray:7 4}
  .service-map .nepal-boundary-province[data-risk-coverage="unknown"] .nepal-boundary-shape,.service-map .nepal-boundary-province[data-risk-coverage="none"] .nepal-boundary-shape{stroke-dasharray:2 4}
  .service-map__swatch{border:1px solid CanvasText}
}
@media print{
  .service-map .nepal-boundary-province[data-risk="low"] .nepal-boundary-shape{fill:var(--st-good)!important}
  .service-map .nepal-boundary-province[data-risk="watch"] .nepal-boundary-shape{fill:var(--st-watch)!important}
  .service-map .nepal-boundary-province[data-risk="elevated"] .nepal-boundary-shape{fill:var(--st-elevated)!important}
  .service-map .nepal-boundary-province[data-risk="high"] .nepal-boundary-shape{fill:var(--service-map-high)!important}
  .service-map .nepal-boundary-province[data-risk="unknown"] .nepal-boundary-shape{fill:var(--st-none)!important}
  .service-map__swatch{border-color:#536574!important}
}
/* HIGH is painted explicitly red in both themes on the service map only. The design system token --st-high is unchanged (it is rose in the
   dark theme); this scoped token is read by the province fill, the key swatch and the forced-colours rule of the map. */
.service-map{--service-map-high:#b91c1c}
html[data-theme="dark"] .service-map{--service-map-high:#ef4444}
@media (prefers-color-scheme:dark){html:not([data-theme="light"]) .service-map{--service-map-high:#ef4444}}
