
/* CRAF Montserrado Flood Dashboard */
.craf-flooddash{--fd-ink:#10251f;--fd-muted:#61726c;--fd-line:#dce7e2;--fd-soft:#f4f8f6;--fd-green:#0b6b4c;--fd-blue:#1769aa;max-width:1260px;margin:0 auto;padding:0 0 24px}
.craf-flooddash *{box-sizing:border-box}.craf-flooddash-alert{display:flex;gap:12px;align-items:flex-start;padding:13px 16px;border:1px solid #f0c36a;background:#fff8e8;border-radius:12px;margin-bottom:22px;color:#65470e;font-size:.92rem}.craf-flooddash-alert strong{white-space:nowrap;font-size:.78rem;letter-spacing:.08em}
.craf-flooddash-head{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:28px;align-items:start;margin-bottom:18px}.craf-flooddash-head h2{font-size:clamp(1.75rem,3vw,2.8rem);line-height:1.08;margin:5px 0 12px;color:var(--fd-ink)}.craf-flooddash-head p{max-width:850px;color:var(--fd-muted);font-size:1.04rem}.craf-flooddash-status{background:#0b2e24;color:#fff;border-radius:16px;padding:18px}.craf-flooddash-status span,.craf-flooddash-status small{display:block;opacity:.76}.craf-flooddash-status strong{display:block;font-size:1.25rem;margin:4px 0 9px}
.craf-flooddash-tabs{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--fd-line);padding-bottom:14px;margin-bottom:24px}.craf-flooddash-tabs a{text-decoration:none;padding:9px 13px;border-radius:999px;background:var(--fd-soft);color:var(--fd-ink);font-weight:700;font-size:.9rem}.craf-flooddash-tabs a:hover{background:#e2efe9}
.craf-flooddash-section{margin:28px 0 46px;scroll-margin-top:100px}.craf-flooddash-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.craf-flooddash-kpis article{background:#fff;border:1px solid var(--fd-line);border-radius:15px;padding:17px;min-height:135px;box-shadow:0 8px 28px rgba(18,56,43,.05)}.craf-flooddash-kpis span,.craf-flooddash-kpis small{display:block;color:var(--fd-muted)}.craf-flooddash-kpis span{font-size:.79rem;text-transform:uppercase;letter-spacing:.05em;font-weight:800}.craf-flooddash-kpis strong{display:block;font-size:1.8rem;line-height:1.05;margin:14px 0 8px;color:var(--fd-ink)}.craf-flooddash-kpis small{font-size:.78rem;line-height:1.35}.craf-flooddash-footnote{font-size:.82rem;color:var(--fd-muted);margin-top:10px}
.craf-flooddash-section-title{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:14px}.craf-flooddash-section-title h2{margin:4px 0 7px;color:var(--fd-ink);font-size:1.65rem}.craf-flooddash-section-title p{margin:0;color:var(--fd-muted);max-width:820px}.craf-flooddash-select{display:flex;flex-direction:column;gap:6px;font-size:.78rem;font-weight:800;color:var(--fd-muted)}.craf-flooddash-select select{min-width:210px;border:1px solid #cadbd4;border-radius:10px;padding:10px 12px;background:#fff;color:var(--fd-ink)}
.craf-flooddash-layerbar{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.craf-flooddash-layerbar button{border:1px solid #cdded7;background:#fff;color:#24433a;padding:8px 11px;border-radius:9px;font-weight:700;cursor:pointer}.craf-flooddash-layerbar button:hover,.craf-flooddash-layerbar button.is-active{background:#0b6b4c;color:#fff;border-color:#0b6b4c}
.craf-flooddash-mapgrid{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(270px,.9fr);gap:16px}.craf-flooddash-mapcard,.craf-flooddash-detail,.craf-flooddash-chartcard,.craf-flooddash-tablecard{border:1px solid var(--fd-line);background:#fff;border-radius:17px;box-shadow:0 10px 32px rgba(18,56,43,.06)}.craf-flooddash-mapcard{overflow:hidden}.craf-flooddash-map{position:relative;min-height:560px;background:linear-gradient(180deg,#eef7fb,#e8f3ef);overflow:hidden}.craf-flooddash-map svg{width:100%;height:560px;display:block}.fd-district{stroke:#fff;stroke-width:1.6;vector-effect:non-scaling-stroke;cursor:pointer;transition:opacity .15s,stroke-width .15s}.fd-district:hover,.fd-district.is-selected{stroke:#10251f;stroke-width:3;opacity:.96}.fd-community{fill:#fff;stroke:#132e26;stroke-width:2;cursor:pointer;filter:drop-shadow(0 1px 2px rgba(0,0,0,.28))}.fd-community:hover{r:6.5}.craf-flooddash-tooltip{position:absolute;z-index:10;pointer-events:none;max-width:260px;background:rgba(9,31,25,.95);color:#fff;border-radius:10px;padding:10px 12px;font-size:.8rem;line-height:1.45;box-shadow:0 6px 22px rgba(0,0,0,.22)}.craf-flooddash-tooltip strong{font-size:.92rem}.craf-flooddash-legend{position:absolute;left:12px;bottom:12px;background:rgba(255,255,255,.94);padding:10px 12px;border-radius:10px;border:1px solid rgba(16,37,31,.12);font-size:.75rem;box-shadow:0 4px 15px rgba(0,0,0,.08)}.craf-flooddash-legend strong{display:block;margin-bottom:7px}.craf-flooddash-legend span{display:flex;align-items:center;gap:7px;margin:3px 0}.craf-flooddash-legend i{width:12px;height:12px;border-radius:3px;display:inline-block}.craf-flooddash-map-caption{padding:11px 14px;font-size:.79rem;color:var(--fd-muted);background:#fbfdfc;border-top:1px solid var(--fd-line)}
.craf-flooddash-detail{padding:20px}.craf-flooddash-detail h3{font-size:1.5rem;margin:4px 0 14px;color:var(--fd-ink)}.craf-flooddash-score{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:13px;background:var(--fd-soft);border-radius:12px;margin-bottom:14px}.craf-flooddash-score span{font-size:.78rem;color:var(--fd-muted);font-weight:700}.craf-flooddash-score strong{font-size:1.6rem;color:var(--fd-ink)}.craf-flooddash-score em{grid-column:1/-1;font-style:normal;font-weight:800;color:#0b6b4c;font-size:.85rem}.craf-flooddash-detail dl{margin:0}.craf-flooddash-detail dl div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px dashed #dce7e2;padding:9px 0}.craf-flooddash-detail dt{color:var(--fd-muted)}.craf-flooddash-detail dd{margin:0;font-weight:800;color:var(--fd-ink);text-align:right}.craf-flooddash-detail-note{font-size:.78rem;color:#7b6122;background:#fff8e8;border-radius:9px;padding:10px;margin-top:13px}
.craf-flooddash-chartgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.craf-flooddash-chartcard{padding:18px;min-height:340px}.chart-head{display:flex;justify-content:space-between;gap:16px;align-items:baseline;margin-bottom:15px}.chart-head h3{font-size:1.05rem;margin:0;color:var(--fd-ink)}.chart-head span{font-size:.75rem;color:var(--fd-muted)}.craf-flooddash-bars{display:flex;flex-direction:column;gap:11px}.fd-bar-row{display:grid;grid-template-columns:140px 1fr 48px;gap:10px;align-items:center;font-size:.78rem}.fd-bar-row b{font-weight:700;color:#29473f}.fd-bar-track{height:13px;background:#edf3f0;border-radius:999px;overflow:hidden}.fd-bar-fill{height:100%;border-radius:999px}.fd-bar-row strong{text-align:right;color:var(--fd-ink)}
.craf-flooddash-linechart{width:100%;height:275px}.fd-gridline{stroke:#e2ebe7;stroke-width:1}.fd-axis-label{fill:#65756f;font-size:12px}.fd-line{fill:none;stroke:#1769aa;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.fd-point{fill:#fff;stroke:#1769aa;stroke-width:3}.fd-value{fill:#1c3d34;font-weight:700;font-size:12px}.craf-flooddash-gender{display:grid;grid-template-columns:170px 1fr;gap:22px;align-items:center;min-height:240px}.craf-flooddash-donut{width:165px;height:165px;border-radius:50%;display:grid;place-content:center;text-align:center;background:conic-gradient(#7b4fa3 0 var(--female),#2d72b8 var(--female) 100%);position:relative}.craf-flooddash-donut:after{content:"";position:absolute;inset:22px;border-radius:50%;background:#fff}.craf-flooddash-donut span,.craf-flooddash-donut small{position:relative;z-index:2}.craf-flooddash-donut span{font-size:1.55rem;font-weight:800}.craf-flooddash-donut small{color:var(--fd-muted)}.craf-flooddash-gender p{margin:9px 0}.craf-flooddash-gender .muted{font-size:.78rem;color:var(--fd-muted)}.craf-flooddash-community-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.craf-flooddash-community-list button{text-align:left;border:1px solid #d9e5e0;background:#f8fbfa;padding:9px 10px;border-radius:9px;color:#23443a;cursor:pointer}.craf-flooddash-community-list button:hover{background:#eaf4f0}
.craf-flooddash-tablecard{margin-top:16px;padding:18px}.craf-flooddash-tablewrap{overflow:auto}.craf-flooddash-tablecard table{width:100%;border-collapse:collapse;min-width:1050px;font-size:.8rem}.craf-flooddash-tablecard th{text-align:left;padding:10px 8px;background:#f2f7f5;color:#315249;position:sticky;top:0}.craf-flooddash-tablecard td{padding:10px 8px;border-bottom:1px solid #e5ece9}.craf-flooddash-tablecard tbody tr{cursor:pointer}.craf-flooddash-tablecard tbody tr:hover,.craf-flooddash-tablecard tbody tr.is-selected{background:#f0f8f4}.fd-class{font-weight:800}.fd-class--very-high{color:#8a1c1c}.fd-class--high{color:#b64c14}.fd-class--moderate{color:#94710a}.fd-class--low{color:#2f7a45}.fd-class--very-low{color:#236a3a}
.craf-flooddash-method-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.craf-flooddash-method-grid article{padding:18px;border:1px solid var(--fd-line);border-radius:14px;background:#fff}.craf-flooddash-method-grid h3{margin:0 0 8px;color:var(--fd-ink)}.craf-flooddash-method-grid p{margin:0;color:var(--fd-muted)}.craf-flooddash-sources{margin-top:14px;border:1px solid var(--fd-line);border-radius:12px;padding:12px 15px;background:#f8fbfa}.craf-flooddash-sources summary{font-weight:800;cursor:pointer}.craf-flooddash-sources ul{columns:2;margin-bottom:0;color:var(--fd-muted)}
@media(max-width:1100px){.craf-flooddash-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.craf-flooddash-mapgrid{grid-template-columns:1fr}.craf-flooddash-detail{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px}.craf-flooddash-detail dl{grid-column:1/-1}.craf-flooddash-detail-note{grid-column:1/-1}}
@media(max-width:760px){.craf-flooddash-head{grid-template-columns:1fr}.craf-flooddash-status{max-width:none}.craf-flooddash-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.craf-flooddash-section-title{align-items:stretch;flex-direction:column}.craf-flooddash-select select{width:100%}.craf-flooddash-map{min-height:420px}.craf-flooddash-map svg{height:420px}.craf-flooddash-chartgrid,.craf-flooddash-method-grid{grid-template-columns:1fr}.craf-flooddash-detail{display:block}.craf-flooddash-gender{grid-template-columns:1fr;justify-items:center;text-align:center}.craf-flooddash-sources ul{columns:1}.fd-bar-row{grid-template-columns:110px 1fr 40px}.craf-flooddash-community-list{grid-template-columns:1fr}}
@media(max-width:480px){.craf-flooddash-kpis{grid-template-columns:1fr}.craf-flooddash-alert{flex-direction:column}.craf-flooddash-tabs{overflow-x:auto;flex-wrap:nowrap}.craf-flooddash-tabs a{white-space:nowrap}}

/* ===== Full Build 16 analytical dashboard additions ===== */
.craf-flooddash--b16 .craf-flooddash-pending,.craf-flooddash-next{margin-top:12px;padding:12px 14px;border:1px solid #e8c46d;border-radius:11px;background:#fff8e7;color:#654d19;font-size:.84rem}
.craf-flooddash--b16 .fd-surface{stroke:none;pointer-events:auto}
.craf-flooddash--b16 .fd-district{stroke:#ffffff;stroke-width:2.1;fill:transparent;vector-effect:non-scaling-stroke}
.craf-flooddash--b16 .fd-district:hover,.craf-flooddash--b16 .fd-district.is-selected{stroke:#071f18;stroke-width:3.3;fill:rgba(255,255,255,.05)}
.craf-flooddash--b16 .fd-community{stroke:#10251f;stroke-width:2.2;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}
.craf-flooddash--b16 .craf-flooddash-legend small{display:block;margin-top:6px;color:#66756f;font-size:.68rem}
.craf-flooddash-diagnostic{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}.craf-flooddash-diagnostic>div{padding:16px;border-radius:12px;background:#f2f7f5}.craf-flooddash-diagnostic span{display:block;color:#60716b;font-size:.78rem}.craf-flooddash-diagnostic strong{display:block;color:#0d3328;font-size:2rem;margin-top:6px}.craf-flooddash-diagnostic p{grid-column:1/-1;color:#60716b;font-size:.82rem;margin:4px 0 0}
.craf-flooddash--b16 #fd-population-table{min-width:760px}
.craf-flooddash--b16 .craf-flooddash-community-list button{cursor:default}
@media(max-width:760px){.craf-flooddash-diagnostic{grid-template-columns:1fr}.craf-flooddash-diagnostic p{grid-column:auto}}

/* ===== Full Build 17 LISGIS community integration ===== */
.craf-flooddash--b17 .craf-flooddash-pending,.craf-flooddash--b17 .craf-flooddash-next{margin-top:12px;padding:12px 14px;border:1px solid #e8c46d;border-radius:11px;background:#fff8e7;color:#654d19;font-size:.84rem}
.craf-flooddash--b17 .fd-surface{stroke:none;pointer-events:auto}
.craf-flooddash--b17 .fd-unit{stroke:#fff;stroke-width:2;fill:transparent;vector-effect:non-scaling-stroke;cursor:pointer}
.craf-flooddash--b17 .fd-unit:hover,.craf-flooddash--b17 .fd-unit.is-selected{stroke:#061f18;stroke-width:3.3}
.craf-flooddash--b17 .fd-community-poly{stroke:rgba(10,39,30,.58);stroke-width:.65;fill-opacity:.34;vector-effect:non-scaling-stroke;cursor:pointer}
.craf-flooddash--b17 .fd-community-poly:hover{stroke:#061f18;stroke-width:1.7;fill-opacity:.52}
.craf-flooddash--b17 .fd-community-poly.is-selected{stroke:#061f18;stroke-width:3;fill-opacity:.64}
.craf-flooddash--b17 .craf-flooddash-legend small{display:block;margin-top:6px;color:#66756f;font-size:.68rem;max-width:180px;line-height:1.35}
.craf-flooddash--b17 .craf-flooddash-kpis--b17{grid-template-columns:repeat(3,minmax(0,1fr))}
.craf-flooddash--b17 #fd-unit-table{min-width:900px}
.craf-flooddash--b17 #fd-top-community-table{min-width:880px}
.craf-flooddash--b17 #fd-community-table{min-width:1180px}
.craf-flooddash-tablecard--flush{padding-top:10px}
.craf-flooddash-filters{display:flex;gap:12px;flex-wrap:wrap;margin:10px 0 14px}.craf-flooddash-filters label{display:flex;flex-direction:column;gap:6px;font-size:.76rem;font-weight:800;color:var(--fd-muted)}.craf-flooddash-filters input,.craf-flooddash-filters select{min-width:230px;padding:10px 12px;border:1px solid #cadbd4;border-radius:9px;background:#fff;color:var(--fd-ink)}
.craf-flooddash-downloads{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.craf-flooddash-downloads a{display:inline-flex;align-items:center;text-decoration:none;padding:9px 12px;border-radius:9px;background:#0b6b4c;color:#fff;font-size:.78rem;font-weight:800}.craf-flooddash-downloads a:hover{background:#084f39}
.fd-coverage-caution{color:#9a5b00;font-weight:800;background:#fff8e7}
.craf-flooddash--b17 .craf-flooddash-detail-note{line-height:1.5}
@media(max-width:1100px){.craf-flooddash--b17 .craf-flooddash-kpis--b17{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.craf-flooddash--b17 .craf-flooddash-kpis--b17{grid-template-columns:1fr}.craf-flooddash-downloads{justify-content:flex-start}.craf-flooddash-filters{flex-direction:column}.craf-flooddash-filters input,.craf-flooddash-filters select{width:100%;min-width:0}}

/* ===== Full Build 18 estimated exposure staging ===== */
.craf-flooddash--b18 .craf-flooddash-pending,.craf-flooddash--b18 .craf-flooddash-next{margin-top:12px;padding:12px 14px;border:1px solid #e8c46d;border-radius:11px;background:#fff8e7;color:#654d19;font-size:.84rem;line-height:1.5}
.craf-flooddash--b18 .fd-surface{stroke:none;pointer-events:auto}
.craf-flooddash--b18 .fd-unit{stroke:#fff;stroke-width:2.1;fill:transparent;vector-effect:non-scaling-stroke;cursor:pointer}
.craf-flooddash--b18 .fd-unit:hover,.craf-flooddash--b18 .fd-unit.is-selected{stroke:#061f18;stroke-width:3.5}
.craf-flooddash--b18 .fd-exposure-poly{stroke:rgba(8,43,33,.42);stroke-width:.55;vector-effect:non-scaling-stroke;cursor:pointer;transition:fill-opacity .12s,stroke-width .12s}
.craf-flooddash--b18 .fd-exposure-poly:hover{stroke:#061f18;stroke-width:1.7;fill-opacity:.65}
.craf-flooddash--b18 .fd-exposure-poly.is-selected{stroke:#061f18;stroke-width:3;fill-opacity:.72}
.craf-flooddash--b18 .fd-community-outline{stroke:rgba(6,31,24,.72);stroke-width:.7;fill:transparent;vector-effect:non-scaling-stroke;cursor:pointer}
.craf-flooddash--b18 .fd-community-outline:hover,.craf-flooddash--b18 .fd-community-outline.is-selected{stroke:#061f18;stroke-width:2.2}
.craf-flooddash--b18 .craf-flooddash-legend small{display:block;margin-top:7px;color:#66756f;font-size:.68rem;max-width:200px;line-height:1.35}
.craf-flooddash--b18 .fd-kpi-est{border-top:4px solid #0b6b4c}
.craf-flooddash-exposure-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}
.craf-flooddash-exposure-strip>div{padding:15px 16px;border-radius:13px;background:#0b2e24;color:#fff}
.craf-flooddash-exposure-strip span,.craf-flooddash-exposure-strip small{display:block}.craf-flooddash-exposure-strip span{font-size:.76rem;text-transform:uppercase;letter-spacing:.05em;font-weight:800;opacity:.78}.craf-flooddash-exposure-strip strong{display:block;font-size:1.4rem;margin:7px 0 5px}.craf-flooddash-exposure-strip small{font-size:.72rem;line-height:1.35;opacity:.72}
.craf-flooddash--b18 #fd-unit-table{min-width:1000px}.craf-flooddash--b18 #fd-top-community-table{min-width:920px}.craf-flooddash--b18 #fd-community-table{min-width:1500px}
.craf-flooddash--b18 .fd-bar-neutral-0{background:#7b4fa3}.craf-flooddash--b18 .fd-bar-neutral-1{background:#2d72b8}.craf-flooddash--b18 .fd-bar-neutral-2{background:#0b6b4c}
.craf-flooddash--b18 .craf-flooddash-detail-note{line-height:1.5}
@media(max-width:900px){.craf-flooddash-exposure-strip{grid-template-columns:1fr}.craf-flooddash--b18 .craf-flooddash-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.craf-flooddash--b18 .craf-flooddash-kpis{grid-template-columns:1fr}}


/* The user requested that browser text-selection highlighting not appear
   on the public dashboard. Selection still works for copying text. */
body.craf-dashboard-clean-selection ::selection{
  background:transparent;
  color:inherit;
}
body.craf-dashboard-clean-selection ::-moz-selection{
  background:transparent;
  color:inherit;
}


/* Build 20 production-candidate presentation */
.craf-flooddash-head h2{
  color:#b86500 !important;
}
.craf-flooddash-head .craf2-eyebrow{
  color:#c97700 !important;
}

/* Every section tab carries the CRAF gold/orange identity. */
.craf-flooddash-tabs a{
  background:#f2a900 !important;
  color:#10251f !important;
  border:1px solid #d38e00 !important;
  box-shadow:0 1px 0 rgba(16,37,31,.08);
}
.craf-flooddash-tabs a:hover,
.craf-flooddash-tabs a:focus{
  background:#d97706 !important;
  border-color:#b85f00 !important;
  color:#ffffff !important;
}
.craf-flooddash-tabs a:active{
  background:#b86500 !important;
  color:#ffffff !important;
}

/* No internal next-step/analytical-gate callout is displayed in production. */
.craf-flooddash-next{
  display:none !important;
}


/* Build 21: coordinated Module 01 map views */
.craf-flooddash-viewbar{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin:18px 0 12px;
}
.craf-flooddash-viewbar button{
  min-height:48px;
  border:1px solid #d38e00;
  border-radius:10px;
  padding:10px 14px;
  background:#f2a900;
  color:#10251f;
  font-weight:800;
  cursor:pointer;
}
.craf-flooddash-viewbar button:hover,
.craf-flooddash-viewbar button:focus{
  background:#d97706;
  color:#fff;
  border-color:#b85f00;
}
.craf-flooddash-viewbar button.is-active{
  background:#0b4b36;
  color:#fff;
  border-color:#0b4b36;
  box-shadow:0 0 0 2px rgba(242,169,0,.28);
}
.craf-flooddash-layerbar--secondary{
  margin-top:0;
}
.fd-waterway{
  vector-effect:non-scaling-stroke;
}
.fd-rainfall-context{
  stroke:#ffffff;
  stroke-width:.5;
  vector-effect:non-scaling-stroke;
}
.craf-flooddash-legend .fd-line-key{
  display:inline-block;
  width:22px;
  height:0;
  border-top:3px solid #176b87;
  border-radius:0;
  margin-right:7px;
  vertical-align:middle;
}
@media(max-width:900px){
  .craf-flooddash-viewbar{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:520px){
  .craf-flooddash-viewbar{grid-template-columns:1fr;}
}

/* Build 22: Impact Dashboard module navigation and Module 02 */
.craf-dashboard-module-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:4px 0 26px;padding:0}
.craf-dashboard-module-nav button{display:flex;flex-direction:column;align-items:flex-start;gap:4px;border:2px solid #e0a128;border-radius:14px;padding:15px 18px;background:#fff8e8;color:#17372e;cursor:pointer;text-align:left}
.craf-dashboard-module-nav button span{color:#a76000;font-size:.78rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.craf-dashboard-module-nav button strong{font-size:1.02rem}
.craf-dashboard-module-nav button.is-active{background:#0b4b36;border-color:#0b4b36;color:#fff}
.craf-dashboard-module-nav button.is-active span{color:#f2b323}
.craf-dashboard-module[hidden]{display:none!important}
.craf-environment-head h2{color:#b86500!important}
.craf-environment-kpis article:nth-child(2),.craf-environment-kpis article:nth-child(4){border-top:4px solid #f2a900}
.ed-context-poly,.ed-water-context,.ed-flow-context{vector-effect:non-scaling-stroke;stroke:#fff;stroke-width:.5}
.ed-secondary-value{display:block;margin-left:8px;font-size:.72rem;color:#61706a;white-space:nowrap}
@media(max-width:700px){.craf-dashboard-module-nav{grid-template-columns:1fr}}


/* Build 24: Module 03 framework */
.craf-module3-head h2{
  color:#b86500!important;
}
.craf-module3-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.craf-module3-grid article{
  position:relative;
  background:#ffffff;
  border:1px solid #dce7e2;
  border-top:4px solid #f2a900;
  border-radius:14px;
  padding:22px;
  box-shadow:0 8px 24px rgba(13,55,43,.06);
}
.craf-module3-grid h3{
  margin:4px 0 10px;
  color:#17372e;
  font-size:1.18rem;
}
.craf-module3-grid p{
  margin:0;
  color:#566c64;
  line-height:1.65;
}
.craf-module3-number{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:42px;
  height:30px;
  padding:0 10px;
  border-radius:999px;
  background:#0b4b36;
  color:#fff;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.06em;
}
.craf-module3-note{
  margin-top:18px;
}
@media(max-width:950px){
  .craf-dashboard-module-nav{
    grid-template-columns:1fr;
  }
}
@media(max-width:760px){
  .craf-module3-grid{
    grid-template-columns:1fr;
  }
}


/* Build 25: defensive module visibility */
.craf-dashboard-module[hidden]{
  display:none !important;
}
.craf-dashboard-module.is-active{
  display:block;
}


/* Build 26: Past Projects block inside Impact Dashboard */
.craf-dashboard-past-projects{
  margin:0 0 34px;
  padding:28px;
  border:1px solid #e4d29b;
  border-radius:16px;
  background:linear-gradient(135deg,#fffdf7,#f7fbf9);
}
.craf-dashboard-past-projects .craf-flooddash-section-title{
  margin-bottom:18px;
}
.craf-dashboard-past-projects .craf2-past-project-grid--compact{
  gap:16px;
}
.craf-dashboard-past-projects .craf2-past-project-card__body{
  padding:18px;
}
.craf-dashboard-past-projects .craf2-past-project-card h3{
  font-size:1.08rem;
}


/* Build 29: dependent geographic explorers */
.craf-flooddash-geo-explorer{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0;padding:18px;border:1px solid #d8e5df;border-radius:14px;background:#f8fbf9}.craf-flooddash-geo-explorer label,.craf-flooddash-map-selects label{display:grid;gap:7px;font-weight:800;color:#29483e;font-size:.9rem}.craf-flooddash-geo-explorer select,.craf-flooddash-geo-explorer input,.craf-flooddash-map-selects select{width:100%;min-height:44px;border:1px solid #cbded6;border-radius:10px;background:#fff;padding:9px 12px;color:#17372e}.craf-flooddash-map-selects{display:grid;grid-template-columns:minmax(190px,1fr) minmax(230px,1.25fr);gap:12px;min-width:min(470px,100%)}.craf-flooddash-community-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 18px}.craf-flooddash-community-summary>div{padding:16px 18px;border-radius:12px;background:#0b4b36;color:#fff}.craf-flooddash-community-summary span,.craf-flooddash-community-summary small{display:block;color:#d5e5df}.craf-flooddash-community-summary strong{display:block;margin:5px 0;font-size:1.2rem;line-height:1.2}.craf-module3-geo{grid-template-columns:repeat(2,minmax(0,1fr))}.craf-module3-demographic-summary{margin-bottom:28px}.craf-module3-framework-heading{margin-top:8px}@media(max-width:960px){.craf-flooddash-geo-explorer{grid-template-columns:repeat(2,minmax(0,1fr))}.craf-flooddash-community-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.craf-flooddash-map-selects{grid-template-columns:1fr;min-width:0}}@media(max-width:620px){.craf-flooddash-geo-explorer,.craf-module3-geo,.craf-flooddash-community-summary{grid-template-columns:1fr}}


/* Build 30: clean dependent geographic explorer */
.craf-flooddash-community-statistics-label{
  margin:16px 0 8px;
  font-size:.78rem;
  line-height:1.2;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#b96c00;
}
.craf-flooddash-community-statistics-label--detail{
  margin:0 0 8px;
}
.craf-flooddash-geo-explorer label,
.craf-flooddash-map-selects label{
  font-weight:800;
}


/* Full Build 46: streamlined dashboard flow and compact per-module data access */
.craf-flooddash-data-access--compact{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;max-width:920px;margin:28px auto 6px;padding:16px 18px;border:1px solid #d7e5df;border-left:4px solid #f2a900;border-radius:14px;background:#f8fbf9;box-shadow:0 8px 22px rgba(16,65,49,.05)}
.craf-flooddash-data-access--compact .craf2-eyebrow{margin:0 0 3px;font-size:.72rem}
.craf-flooddash-data-access--compact h3{margin:0 0 4px;color:#0a3f31;font-size:1.05rem;line-height:1.28}
.craf-flooddash-data-access--compact p{margin:0;color:#566c64;font-size:.86rem;line-height:1.5}
.craf-flooddash-data-access--compact .craf-flooddash-data-access__buttons{display:flex;align-items:center;justify-content:flex-end;margin:0}
.craf-flooddash-data-access--compact .craf2-button{padding:10px 14px;font-size:.84rem;white-space:nowrap}
@media(max-width:980px){.craf-dashboard-module-nav{grid-template-columns:1fr}.craf-flooddash-data-access--compact{grid-template-columns:1fr;max-width:none}.craf-flooddash-data-access--compact .craf-flooddash-data-access__buttons{justify-content:flex-start}}
