.city-brief { color: var(--ink, #202a32); background: var(--enamel, #f4f5ef); border: 1px solid var(--form-rule, #aeb9bc); border-radius: 9px; overflow: hidden; box-shadow: 0 3px 14px #12263524; font-family: var(--font, "Public Sans", sans-serif); }
.city-brief button { color: inherit; font: inherit; cursor: pointer; }
.city-brief button:focus-visible { outline: 3px solid var(--cobalt, #205d93); outline-offset: -3px; }
.city-brief .i { width: 19px; height: 19px; flex: 0 0 19px; }
.cb-toggle { width: 100%; min-height: 44px; display: flex; align-items: center; gap: 8px; padding: 9px 12px; border: 0; background: transparent; text-align: left; font-weight: 750 !important; }
.cb-toggle:hover, .cb-issue:hover, .cb-all:hover { background: #21557c0b; }
.cb-status { margin-left: auto; font-size: 10px; font-weight: 500; color: var(--ink-soft, #52616b); }
.cb-chevron { font-size: 17px; width: 10px; text-align: center; }
#city-brief-body[hidden] { display: none; }
.cb-balance { padding: 8px 12px; border-top: 1px solid var(--form-rule, #ccd3d5); display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; font-size: 11px; }
.cb-balance > span { color: var(--ink-soft, #52616b); }
.cb-balance > b { margin-left: auto; font-variant-numeric: tabular-nums; }
.cb-balance .negative { color: var(--stamp, #a32f26); }
.cb-issues { list-style: none; padding: 0; margin: 0; }
.cb-issues li { border-top: 1px solid #12263513; }
.cb-issue { display: flex; gap: 10px; width: 100%; min-height: 60px; padding: 10px 12px; text-align: left; border: 0; background: transparent; align-items: flex-start; }
.cb-issue > .i { margin-top: 2px; color: var(--cobalt, #205d93); }
.cb-issue > span { min-width: 0; }
.cb-issue strong { display: block; font-size: 12px; font-weight: 650; line-height: 1.35; overflow-wrap: anywhere; }
.cb-issue small { display: block; margin-top: 4px; font-size: 11px; color: var(--cobalt, #205d93); }
.cb-quiet { margin: 0; padding: 8px 12px 12px; font-size: 12px; line-height: 1.45; color: var(--ink-soft, #52616b); }
.cb-all { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 38px; border: 0; border-top: 1px solid var(--form-rule, #ccd3d5); background: transparent; padding: 8px 12px; font-size: 11px !important; font-weight: 650 !important; }
.cb-all .i { width: 16px; height: 16px; }
@media (max-height: 740px) { .cb-issue { padding: 8px 10px; min-height: 52px; } .cb-issue strong { font-size: 11px; } }

/* The shared context rail scrolls as one unit. A compact brief remains a real,
   keyboard-operable summary beside scenario goals and alert summaries. */
#city-context-rail .city-brief { box-shadow:none; }
#city-context-rail .cb-toggle { min-height:40px; padding:8px 10px; flex-wrap:wrap; }
#city-context-rail .cb-status { max-width:100%; }
#city-context-rail .cb-issue { min-height:48px; padding:8px 10px; }
#city-context-rail .cb-quiet { padding:7px 10px 10px; }
.cb-next { border-top:1px solid var(--form-rule,#ccd3d5); padding:10px; display:flex; flex-direction:column; align-items:flex-start; gap:6px; font-size:11px; }
.cb-next>small { color:var(--ink-soft,#52616b); line-height:1.4; }
.cb-next>strong { font-size:12px; }
.cb-next p { margin:0; line-height:1.45; }
.cb-next progress { width:100%; height:7px; accent-color:var(--cobalt,#205d93); }
.cb-neighborhood { display:flex; gap:4px; border-top:1px solid var(--form-rule,#ccd3d5); padding:6px; }
.cb-neighborhood button { border:0; background:transparent; min-height:38px; }
.cb-neighborhood button:first-child { display:flex; align-items:center; gap:7px; flex:1; text-align:left; font-size:12px; }
.cb-neighborhood button:last-child { min-width:32px; font-size:20px; }

.report-settlement { padding: 0 12px 12px; font-size: 12px; line-height: 1.45; }
.report-settlement p { margin: 0 0 8px; }
.report-settlement button { min-height: 38px; }
.report-settlement button:disabled { cursor: default; opacity: .65; }
