/* Civic Infrastructure Review Tools v3.0.0 */
.cir-tool{
  --cir-ink:#13243a;
  --cir-muted:#617187;
  --cir-line:#d9e2ec;
  --cir-surface:#ffffff;
  --cir-surface-soft:#f5f8fb;
  --cir-navy:#0d2137;
  --cir-navy-2:#173a58;
  --cir-blue:#0877b9;
  --cir-blue-dark:#07547f;
  --cir-cyan:#0f879e;
  --cir-green:#167447;
  --cir-green-soft:#e9f7ef;
  --cir-amber:#b85d0b;
  --cir-amber-soft:#fff4e4;
  --cir-red:#ad2c24;
  --cir-red-soft:#fdeeed;
  --cir-purple:#6546a4;
  --cir-shadow:0 14px 34px rgba(19,36,58,.08);
  --cir-radius:18px;
  width:100%;
  max-width:1480px;
  margin:24px auto;
  padding:0;
  color:var(--cir-ink);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  font-size:16px;
  line-height:1.5;
  isolation:isolate;
}
.cir-tool,.cir-tool *{box-sizing:border-box}
.cir-tool button,.cir-tool input,.cir-tool select,.cir-tool output{font:inherit}
.cir-tool button{line-height:1.2}
.cir-tool h2,.cir-tool h3,.cir-tool p{margin-top:0}
.cir-tool h2,.cir-tool h3{color:inherit}
.cir-tool a{color:var(--cir-blue)}
.cir-tool [hidden]{display:none!important}

.cir-hero{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);
  gap:28px;
  align-items:center;
  padding:30px 32px;
  color:#fff;
  background:
    radial-gradient(circle at 92% 10%,rgba(21,144,196,.34),transparent 32%),
    linear-gradient(135deg,var(--cir-navy) 0%,var(--cir-navy-2) 100%);
  border:1px solid rgba(255,255,255,.08);
  border-radius:24px;
  box-shadow:0 22px 48px rgba(13,33,55,.22);
}
.cir-hero:after{
  content:"";
  position:absolute;
  right:-115px;
  bottom:-165px;
  width:360px;
  height:360px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:50%;
}
.cir-hero-copy,.cir-hero-side{position:relative;z-index:1}
.cir-eyebrow,.cir-section-kicker{
  display:block;
  margin-bottom:7px;
  color:#a8dcff;
  font-size:.72rem;
  font-weight:850;
  letter-spacing:.11em;
  line-height:1.3;
  text-transform:uppercase;
}
.cir-hero h2{
  margin:0 0 11px;
  color:#fff;
  font-size:clamp(1.8rem,3.3vw,3.15rem);
  font-weight:900;
  letter-spacing:-.052em;
  line-height:1.02;
}
.cir-hero p{
  max-width:900px;
  margin:0;
  color:#d1dfeb;
  font-size:1rem;
  line-height:1.58;
}
.cir-hero-side{display:grid;gap:14px;justify-items:stretch}
.cir-evidence-badge{
  padding:15px 17px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16);
  border-radius:15px;
  backdrop-filter:blur(8px);
}
.cir-evidence-badge span{display:block;color:#9fd6ff;font-size:.68rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.cir-evidence-badge strong{display:block;margin-top:5px;color:#fff;font-size:.96rem;line-height:1.35}
.cir-actions,.cir-secondary-actions,.cir-preset-row,.cir-tabs{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.cir-secondary-actions{justify-content:flex-end;margin-top:12px}

.cir-button,.cir-chip,.cir-tab,.cir-link-button{
  appearance:none;
  border:0;
  cursor:pointer;
  text-decoration:none;
  transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease,color .16s ease;
}
.cir-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 15px;
  border:1px solid transparent;
  border-radius:11px;
  font-size:.84rem;
  font-weight:800;
}
.cir-button:hover,.cir-chip:hover,.cir-tab:hover{transform:translateY(-1px)}
.cir-button:focus-visible,.cir-chip:focus-visible,.cir-tab:focus-visible,.cir-link-button:focus-visible,.cir-tool input:focus-visible,.cir-tool select:focus-visible,.cir-tool summary:focus-visible{
  outline:3px solid rgba(8,119,185,.24);
  outline-offset:2px;
}
.cir-button-primary{color:#fff;background:var(--cir-blue);box-shadow:0 8px 18px rgba(8,119,185,.2)}
.cir-button-primary:hover{background:var(--cir-blue-dark)}
.cir-button-secondary{color:var(--cir-navy);background:#fff;border-color:rgba(255,255,255,.4)}
.cir-button-ghost{color:#fff;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18)}
.cir-button-ghost:hover{background:rgba(255,255,255,.14)}
.cir-button-full{width:100%}
.cir-chip,.cir-tab{
  padding:8px 11px;
  color:#33465d;
  background:#f8fafc;
  border:1px solid #ced9e5;
  border-radius:999px;
  font-size:.75rem;
  font-weight:800;
}
.cir-chip:hover,.cir-tab:hover{background:#eef5fb;border-color:#a8c8dd;color:var(--cir-blue-dark)}
.cir-tab.is-active{color:#fff;background:var(--cir-navy);border-color:var(--cir-navy)}
.cir-link-button{padding:5px 0;color:var(--cir-blue-dark);background:transparent;font-size:.78rem;font-weight:800}
.cir-link-button:hover{text-decoration:underline}

.cir-intro-note{
  margin:16px 0;
  padding:14px 16px;
  color:#214665;
  background:#edf7fd;
  border:1px solid #c6e3f5;
  border-radius:14px;
  font-size:.88rem;
  line-height:1.55;
}
.cir-layout{
  display:grid;
  grid-template-columns:minmax(310px,360px) minmax(0,1fr);
  gap:18px;
  align-items:start;
}
.cir-layout-wide-controls{grid-template-columns:minmax(330px,390px) minmax(0,1fr)}
.cir-controls,.cir-results{display:grid;gap:16px;min-width:0}
.cir-card{
  min-width:0;
  color:var(--cir-ink);
  background:var(--cir-surface);
  border:1px solid var(--cir-line);
  border-radius:var(--cir-radius);
  box-shadow:var(--cir-shadow);
}
.cir-control-card{padding:18px}
.cir-card-heading{
  display:flex;
  justify-content:space-between;
  gap:15px;
  align-items:flex-start;
  margin-bottom:15px;
}
.cir-card-heading h3{margin:0;font-size:1.12rem;font-weight:900;letter-spacing:-.025em;line-height:1.2}
.cir-card-heading .cir-section-kicker{margin-bottom:4px;color:var(--cir-blue)}
.cir-step-chip{
  flex:0 0 auto;
  padding:5px 8px;
  color:#3e5871;
  background:#eef3f7;
  border-radius:999px;
  font-size:.66rem;
  font-weight:850;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.cir-card-intro{margin:-5px 18px 14px;color:var(--cir-muted);font-size:.84rem;line-height:1.55}

.cir-field{margin-bottom:18px}
.cir-field:last-child{margin-bottom:0}
.cir-label-row{display:flex;justify-content:space-between;gap:14px;align-items:baseline}
.cir-field label,.cir-label-row label{display:block;color:#273c54;font-size:.86rem;font-weight:850;line-height:1.35}
.cir-label-row output{color:var(--cir-blue-dark);font-size:.84rem;font-weight:900;text-align:right}
.cir-help{margin:4px 0 8px;color:var(--cir-muted);font-size:.74rem;line-height:1.45}
.cir-help-block{padding:10px 11px;background:#f2f7fb;border:1px solid #d9e8f2;border-radius:11px}
.cir-tool input[type="text"],.cir-tool input[type="number"],.cir-tool select{
  display:block;
  width:100%;
  min-height:43px;
  margin-top:7px;
  padding:9px 11px;
  color:var(--cir-ink);
  background:#fff;
  border:1px solid #c8d5e2;
  border-radius:10px;
  box-shadow:0 1px 2px rgba(19,36,58,.03);
  font-size:.88rem;
}
.cir-tool input[type="text"]:disabled,.cir-tool input[type="number"]:disabled,.cir-tool select:disabled{color:#8795a5;background:#eef2f6;cursor:not-allowed}
.cir-tool input[type="range"]{
  width:100%;
  height:22px;
  margin:4px 0 0;
  accent-color:var(--cir-blue);
  cursor:pointer;
}
.cir-range-scale{display:flex;justify-content:space-between;gap:8px;margin-top:1px;color:#7a8898;font-size:.66rem;font-weight:750}
.cir-preset-row{margin-top:10px}

.cir-switch-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:15px;
  align-items:center;
  margin-bottom:18px;
  padding:11px 12px;
  color:var(--cir-ink);
  background:var(--cir-surface-soft);
  border:1px solid var(--cir-line);
  border-radius:13px;
  cursor:pointer;
}
.cir-switch-row strong{display:block;font-size:.82rem;line-height:1.3}
.cir-switch-row small{display:block;margin-top:2px;color:var(--cir-muted);font-size:.7rem;line-height:1.4}
.cir-switch{position:relative;display:inline-block;width:45px;height:25px;flex:0 0 auto}
.cir-switch input{position:absolute;width:1px;height:1px;opacity:0}
.cir-switch>span{position:absolute;inset:0;background:#bcc9d6;border-radius:999px;transition:.2s}
.cir-switch>span:before{content:"";position:absolute;left:3px;top:3px;width:19px;height:19px;background:#fff;border-radius:50%;box-shadow:0 2px 5px rgba(0,0,0,.18);transition:.2s}
.cir-switch input:checked+span{background:var(--cir-blue)}
.cir-switch input:checked+span:before{transform:translateX(20px)}
.cir-switch input:focus-visible+span{outline:3px solid rgba(8,119,185,.24);outline-offset:2px}

.cir-check-list{display:grid;gap:8px;margin-top:10px}
.cir-check-card{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:10px;
  align-items:start;
  padding:10px 11px;
  background:#f8fafc;
  border:1px solid #dce4ec;
  border-radius:12px;
  cursor:pointer;
  transition:.16s;
}
.cir-check-card:hover{border-color:#aec8da;background:#f3f8fc}
.cir-check-card.is-selected,.cir-check-card:has(input:checked){background:#edf7fd;border-color:#a9d4ef;box-shadow:inset 3px 0 0 var(--cir-blue)}
.cir-check-card-strategic.is-selected,.cir-check-card-strategic:has(input:checked){background:#f5f2fb;border-color:#d5c8ef;box-shadow:inset 3px 0 0 var(--cir-purple)}
.cir-check-card-network.is-selected,.cir-check-card-network:has(input:checked){background:#fff7ec;border-color:#f0cfaa;box-shadow:inset 3px 0 0 var(--cir-amber)}
.cir-check-card input{width:17px;height:17px;margin:2px 0 0;accent-color:var(--cir-blue)}
.cir-check-card strong{display:block;color:#263c53;font-size:.79rem;line-height:1.3}
.cir-check-card small{display:block;margin-top:2px;color:var(--cir-muted);font-size:.68rem;line-height:1.42}
.cir-check-card-note{grid-template-columns:auto minmax(0,1fr) auto}
.cir-info-dot{display:inline-flex;align-items:center;justify-content:center;width:19px;height:19px;color:var(--cir-blue-dark);background:#e8f5fc;border:1px solid #a9d4ef;border-radius:50%;font-size:.68rem;font-weight:900}
.cir-custom-list{display:grid;gap:8px;margin-top:12px}
.cir-custom-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 11px;background:#edf7fd;border:1px solid #b9dcf1;border-radius:11px}
.cir-custom-item strong{display:block;font-size:.79rem}.cir-custom-item small{display:block;color:var(--cir-muted);font-size:.69rem}
.cir-custom-item button{padding:6px 8px;color:var(--cir-red);background:#fff;border:1px solid #e6c1bd;border-radius:8px;font-size:.7rem;font-weight:850;cursor:pointer}
.cir-inline-error{min-height:18px;margin:-7px 0 6px;color:var(--cir-red);font-size:.74rem;font-weight:750}

.cir-control-details{padding:0;overflow:hidden}
.cir-control-details>summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:15px 18px;
  cursor:pointer;
  list-style:none;
  font-size:.92rem;
  font-weight:900;
}
.cir-control-details>summary::-webkit-details-marker{display:none}
.cir-control-details>summary:after{content:"+";display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;background:#eef3f7;border-radius:50%;font-size:1.1rem}
.cir-control-details[open]>summary:after{content:"−"}
.cir-control-details>summary small{display:block;margin-bottom:2px;color:var(--cir-blue);font-size:.65rem;letter-spacing:.09em;text-transform:uppercase}
.cir-details-body{padding:0 18px 18px;border-top:1px solid var(--cir-line)}
.cir-details-body>.cir-field:first-child{margin-top:16px}

.cir-status-panel{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:15px;
  align-items:center;
  min-width:0;
  padding:18px 19px;
  color:#20503a;
  background:var(--cir-green-soft);
  border:1px solid #b8dfc9;
  border-left:7px solid var(--cir-green);
  border-radius:var(--cir-radius);
  box-shadow:var(--cir-shadow);
  transition:.2s;
}
.cir-status-panel.is-green{color:#20503a;background:var(--cir-green-soft);border-color:#b8dfc9;border-left-color:var(--cir-green)}
.cir-status-panel.is-amber{color:#72410e;background:var(--cir-amber-soft);border-color:#efd0a7;border-left-color:var(--cir-amber)}
.cir-status-panel.is-red{color:#76231e;background:var(--cir-red-soft);border-color:#e8bbb7;border-left-color:var(--cir-red)}
.cir-status-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;color:#fff;background:var(--cir-green);border-radius:50%;font-size:1.15rem}
.cir-status-panel.is-amber .cir-status-icon{background:var(--cir-amber)}
.cir-status-panel.is-red .cir-status-icon{background:var(--cir-red)}
.cir-status-panel .cir-section-kicker{margin-bottom:4px;color:currentColor;opacity:.76}
.cir-status-panel h3{margin:0 0 3px;font-size:1.25rem;font-weight:900;letter-spacing:-.025em;line-height:1.2}
.cir-status-panel p{margin:0;color:currentColor;opacity:.88;font-size:.84rem;line-height:1.5}
.cir-status-panel small{display:block;margin-top:6px;color:currentColor;opacity:.76;font-size:.7rem;font-weight:750;line-height:1.45}
.cir-score-box{min-width:94px;padding:11px 12px;color:#fff;background:var(--cir-navy);border-radius:14px;text-align:center}
.cir-score-box span{display:block;color:#a8dcff;font-size:.62rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase}
.cir-score-box strong{display:block;margin-top:3px;font-size:1.65rem;font-weight:900;letter-spacing:-.045em;line-height:1}

.cir-kpi-grid{display:grid;gap:11px;min-width:0}
.cir-kpi-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.cir-kpi-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.cir-kpi-grid-auto{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}
.cir-kpi-grid-compact{gap:8px;margin:16px 18px 18px}
.cir-kpi{
  min-width:0;
  padding:14px 15px;
  background:#fff;
  border:1px solid var(--cir-line);
  border-radius:15px;
  box-shadow:0 8px 22px rgba(19,36,58,.055);
}
.cir-kpi span{display:block;color:var(--cir-muted);font-size:.65rem;font-weight:850;letter-spacing:.08em;line-height:1.3;text-transform:uppercase}
.cir-kpi strong{display:block;margin-top:6px;color:var(--cir-ink);font-size:clamp(1.2rem,2.1vw,1.85rem);font-weight:900;letter-spacing:-.045em;line-height:1.05;overflow-wrap:anywhere}
.cir-kpi small{display:block;margin-top:5px;color:#8491a0;font-size:.66rem;line-height:1.3}
.cir-kpi-feature{background:linear-gradient(135deg,#fff 0%,#f0f8fd 100%);border-color:#c7e2f2}
.cir-progress{height:11px;margin-top:10px;background:#e3eaf1;border-radius:999px;overflow:hidden}
.cir-progress-large{height:15px;margin:0 18px 16px}
.cir-progress i{display:block;width:0;height:100%;background:var(--cir-green);border-radius:inherit;transition:width .3s ease,background .3s ease}
.cir-progress i.is-green{background:var(--cir-green)}
.cir-progress i.is-amber{background:var(--cir-amber)}
.cir-progress i.is-red{background:var(--cir-red)}

.cir-interpretation{padding:15px 17px;background:#edf7fd;border-color:#c3e1f3;box-shadow:none}
.cir-interpretation .cir-section-kicker{margin-bottom:4px;color:var(--cir-blue-dark)}
.cir-interpretation p{margin:0;color:#234a68;font-size:.9rem;font-weight:700;line-height:1.55}
.cir-reading-card{padding:18px}
.cir-signal-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.cir-signal-guide>div{display:grid;grid-template-columns:auto 1fr;column-gap:8px;padding:10px;background:#f8fafc;border:1px solid var(--cir-line);border-radius:11px}
.cir-signal-guide i{grid-row:1/3;display:block;width:12px;height:12px;margin-top:4px;border-radius:50%}
.cir-signal-guide i.is-green{background:var(--cir-green)}.cir-signal-guide i.is-amber{background:var(--cir-amber)}.cir-signal-guide i.is-red{background:var(--cir-red)}
.cir-signal-guide strong{font-size:.76rem}.cir-signal-guide span{color:var(--cir-muted);font-size:.68rem;line-height:1.35}
.cir-limitations{margin:14px 18px 18px;padding:11px 12px;color:#5f4a30;background:#fff8ed;border:1px solid #eed9bb;border-radius:11px;font-size:.75rem;line-height:1.5}
.cir-reading-card .cir-limitations{margin:14px 0 0}

.cir-results-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(285px,.75fr);gap:14px;align-items:start}
.cir-results-grid-nodes{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr)}
.cir-results-grid>.cir-card{overflow:hidden}
.cir-results-grid .cir-card-heading,.cir-results>.cir-card>.cir-card-heading{padding:18px 18px 0;margin-bottom:14px}
.cir-risk-list{display:grid;gap:13px;padding:0 18px 2px}
.cir-risk-row>div:first-child,.cir-node-row>div:first-child{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.cir-risk-row strong,.cir-node-row strong{font-size:.77rem;line-height:1.35}
.cir-risk-row span,.cir-node-row span{font-size:.73rem;font-weight:850}
.cir-node-list{display:grid;gap:14px;padding:0 18px 18px}
.cir-summary-list{display:grid;padding:0 18px 18px}
.cir-summary-list>div{display:flex;justify-content:space-between;gap:18px;padding:9px 0;border-bottom:1px solid #e4eaf0;font-size:.78rem;line-height:1.4}
.cir-summary-list>div:last-child{border-bottom:0}
.cir-summary-list span{color:var(--cir-muted)}
.cir-summary-list strong{text-align:right;overflow-wrap:anywhere}
.cir-summary-list-two{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:26px}
.cir-summary-list-two>div:nth-last-child(-n+2){border-bottom:0}

.cir-table-wrap{overflow:auto;padding:0 18px 18px}
.cir-table{width:100%;min-width:720px;border-collapse:separate;border-spacing:0 7px;font-size:.76rem}
.cir-table th{padding:7px 9px;color:var(--cir-muted);font-size:.62rem;font-weight:850;letter-spacing:.08em;text-align:left;text-transform:uppercase}
.cir-table td{padding:9px;background:#f7f9fb;border-top:1px solid var(--cir-line);border-bottom:1px solid var(--cir-line);vertical-align:top}
.cir-table td:first-child{border-left:1px solid var(--cir-line);border-radius:10px 0 0 10px}.cir-table td:last-child{border-right:1px solid var(--cir-line);border-radius:0 10px 10px 0}
.cir-table td strong{display:block;font-size:.76rem}.cir-table td small{display:block;color:var(--cir-muted);font-size:.66rem}
.cir-table-empty{text-align:center;color:var(--cir-muted)}
.cir-details{padding:0;overflow:hidden}
.cir-details>summary{padding:14px 18px;background:#f7f9fb;cursor:pointer;font-size:.82rem;font-weight:900;list-style:none}
.cir-details>summary::-webkit-details-marker{display:none}.cir-details>summary:after{content:"+";float:right}.cir-details[open]>summary:after{content:"−"}
.cir-details>p,.cir-details>ul{margin:0;padding:15px 22px 18px;color:var(--cir-muted);font-size:.77rem;line-height:1.6}
.cir-details>p+p{padding-top:0}.cir-details>ul{padding-left:38px}
.cir-note-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.cir-note-columns p{margin:0;color:var(--cir-muted);font-size:.78rem;line-height:1.55}

.cir-baseline-callout{margin-bottom:17px;padding:12px 13px;color:#164d69;background:#edf8fc;border:1px solid #c3e4ef;border-radius:12px}
.cir-baseline-callout span,.cir-baseline-callout small{display:block;font-size:.68rem}.cir-baseline-callout strong{display:block;margin:3px 0;font-size:1.15rem}
.cir-tabs{margin-bottom:13px;padding-bottom:12px;border-bottom:1px solid var(--cir-line)}
.cir-tab-panel{display:none}.cir-tab-panel.is-active{display:block}

@media (min-width:1081px){
  .cir-tool .cir-controls>.cir-card:first-child{position:relative}
}
@media (max-width:1080px){
  .cir-tool{margin:18px auto}
  .cir-hero{grid-template-columns:1fr;gap:18px;padding:25px}
  .cir-hero-side{grid-template-columns:minmax(0,1fr) auto;align-items:center}
  .cir-layout,.cir-layout-wide-controls{grid-template-columns:1fr}
  .cir-results-grid,.cir-results-grid-nodes{grid-template-columns:1fr}
}
@media (max-width:760px){
  .cir-tool{font-size:15px;margin:12px auto}
  .cir-hero{padding:21px 18px;border-radius:18px}
  .cir-hero h2{font-size:clamp(1.65rem,8vw,2.4rem)}
  .cir-hero-side{grid-template-columns:1fr}
  .cir-actions,.cir-secondary-actions{justify-content:flex-start}
  .cir-button{flex:1 1 auto}
  .cir-intro-note{margin:12px 0;padding:12px 13px}
  .cir-layout{gap:13px}
  .cir-controls,.cir-results{gap:13px}
  .cir-control-card,.cir-reading-card{padding:15px}
  .cir-status-panel{grid-template-columns:auto minmax(0,1fr);padding:15px;border-left-width:5px}
  .cir-score-box{grid-column:1/-1;width:100%;display:flex;justify-content:space-between;align-items:center;text-align:left}
  .cir-score-box strong{margin-top:0}
  .cir-kpi-grid-2,.cir-kpi-grid-3{grid-template-columns:1fr 1fr}
  .cir-kpi-grid-3>.cir-kpi:last-child:nth-child(odd){grid-column:1/-1}
  .cir-kpi{padding:12px}
  .cir-kpi strong{font-size:1.35rem}
  .cir-signal-guide{grid-template-columns:1fr}
  .cir-summary-list-two{grid-template-columns:1fr}
  .cir-summary-list-two>div:nth-last-child(-n+2){border-bottom:1px solid #e4eaf0}
  .cir-summary-list-two>div:last-child{border-bottom:0}
  .cir-note-columns{grid-template-columns:1fr}
  .cir-label-row{align-items:flex-start}
}
@media (max-width:480px){
  .cir-kpi-grid-2,.cir-kpi-grid-3,.cir-kpi-grid-auto{grid-template-columns:1fr}
  .cir-kpi-grid-3>.cir-kpi:last-child:nth-child(odd){grid-column:auto}
  .cir-status-icon{width:34px;height:34px}
  .cir-status-panel h3{font-size:1.08rem}
  .cir-card-heading{display:block}
  .cir-card-heading>.cir-step-chip{display:inline-block;margin-top:7px}
  .cir-switch-row{gap:9px}
  .cir-tabs{display:grid;grid-template-columns:1fr}
  .cir-tab{text-align:left;border-radius:10px}
}

@media print{
  body.cir-printing *{visibility:hidden!important}
  body.cir-printing .cir-tool.cir-is-printing,
  body.cir-printing .cir-tool.cir-is-printing *{visibility:visible!important}
  body.cir-printing .cir-tool.cir-is-printing{position:absolute;left:0;top:0;width:100%;max-width:none;margin:0;padding:0}
  .cir-tool.cir-is-printing .cir-no-print,
  .cir-tool.cir-is-printing .cir-controls,
  .cir-tool.cir-is-printing .cir-intro-note,
  .cir-tool.cir-is-printing .cir-secondary-actions{display:none!important}
  .cir-tool.cir-is-printing .cir-layout,
  .cir-tool.cir-is-printing .cir-layout-wide-controls{display:block}
  .cir-tool.cir-is-printing .cir-results{display:block}
  .cir-tool.cir-is-printing .cir-results>*{margin-bottom:12px;break-inside:avoid}
  .cir-tool.cir-is-printing .cir-hero{box-shadow:none;border-radius:0;padding:18px;color:#111;background:#fff;border-bottom:2px solid #243b53}
  .cir-tool.cir-is-printing .cir-hero:after,.cir-tool.cir-is-printing .cir-hero-side{display:none}
  .cir-tool.cir-is-printing .cir-hero h2,.cir-tool.cir-is-printing .cir-hero p{color:#111}
  .cir-tool.cir-is-printing .cir-eyebrow{color:#315b78}
  .cir-tool.cir-is-printing .cir-card,.cir-tool.cir-is-printing .cir-status-panel,.cir-tool.cir-is-printing .cir-kpi{box-shadow:none}
  .cir-tool.cir-is-printing .cir-results-grid,.cir-tool.cir-is-printing .cir-results-grid-nodes{grid-template-columns:1fr 1fr}
}

/* Readability refinements for status-style KPI values. */
.cir-tool-flood .cir-kpi-grid-auto,
.cir-tool-infrastructure .cir-kpi-grid-auto{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
.cir-tool-flood .cir-kpi-grid-auto .cir-kpi strong,
.cir-tool-infrastructure .cir-kpi-grid-auto .cir-kpi strong{font-size:clamp(1.08rem,1.55vw,1.5rem);overflow-wrap:break-word;word-break:normal}
.cir-kpi-grid-compact .cir-kpi strong{font-size:1.18rem;overflow-wrap:normal;word-break:normal}
.cir-evidence-note-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:15px 18px 18px}
.cir-evidence-note{padding:11px 12px;background:#f7f9fb;border:1px solid var(--cir-line);border-radius:11px}
.cir-evidence-note strong{display:block;font-size:.77rem}.cir-evidence-note p{margin:4px 0 0;color:var(--cir-muted);font-size:.71rem;line-height:1.5}
@media(max-width:620px){.cir-evidence-note-grid{grid-template-columns:1fr}}
