/* nodash — Briefing tab: text cards for what the Traffic map cannot hold (warnings, roads, travel, news). */
.br-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); align-items: start; }
@media (max-width: 1100px) { .br-grid { grid-template-columns: minmax(0, 1fr); } }
.br-col, .br-strip { background: var(--bg-card); border: 1px solid var(--border-default); border-radius: var(--radius-md); padding: var(--space-3) var(--space-4); }
.br-strip { margin-top: var(--space-4); }
.br-h { font-size: var(--font-size-xs); text-transform: uppercase; letter-spacing: var(--letter-spacing-wide); color: var(--text-muted); font-weight: 700; margin: var(--space-3) 0 var(--space-2); }
.br-blk:first-child > .br-h, .br-strip > .br-h:first-child { margin-top: 0; }
.br-h small { text-transform: none; letter-spacing: 0; font-weight: 500; opacity: .75; margin-left: .4em; }
.br-empty { color: var(--text-muted); font-size: var(--font-size-sm); margin: 0 0 var(--space-2); }

/* warnings */
.br-warn { border-left: 4px solid var(--border-default); padding: var(--space-2) var(--space-3); margin-bottom: var(--space-3); background: rgba(127,127,127,.06); border-radius: 0 var(--radius-sm) var(--radius-sm) 0; }
.br-warn.l2 { border-color: #e8b923; } .br-warn.l3 { border-color: #f08a24; } .br-warn.l4 { border-color: #e5484d; }
.br-warn.sev-severe { border-color: #e5484d; } .br-warn.sev-warn { border-color: #f08a24; } .br-warn.sev-info { border-color: #4c8dd6; }
.br-warn h3 { font-size: var(--font-size-sm); margin: 0; font-weight: 700; }
.br-chip { display: inline-block; font-size: var(--font-size-2xs); font-weight: 800; text-transform: uppercase; letter-spacing: .04em; padding: .1em .5em; border-radius: 3px; margin-right: .5em; color: #1a1a1a; background: #ccc; }
.br-chip.l2 { background: #e8b923; } .br-chip.l3 { background: #f08a24; } .br-chip.l4 { background: #e5484d; color: #fff; }
.br-meta { color: var(--text-muted); font-size: var(--font-size-xs); margin: .15em 0 .35em; }
.br-warn p { font-size: var(--font-size-sm); margin: .25em 0 0; line-height: 1.35; }
.br-warn p b { font-weight: 700; }
.br-checks { color: var(--text-muted); font-size: var(--font-size-xs); }
.br-checks .bad { color: var(--color-danger, #e5484d); font-weight: 700; }

/* roads, departures, flights, cruise: one ledger style */
.br-row { display: flex; gap: .7em; align-items: baseline; font-size: var(--font-size-sm); padding: .25em 0; border-bottom: 1px solid var(--border-default); }
.br-row:last-child { border-bottom: 0; }
.br-row b { flex: none; min-width: 3.4em; }
.br-row .grow { flex: 1; min-width: 0; }
.br-row .grow small { display: block; color: var(--text-muted); font-size: var(--font-size-xs); }
.br-row .st { flex: none; color: var(--text-muted); text-align: right; }
.br-row .st.closed, .br-row .st.bad { color: #e5484d; font-weight: 700; }
.br-row .st.soon, .br-row .st.late { color: #f08a24; font-weight: 700; }
.br-row .rt { color: var(--color-success, #30a46c); font-size: var(--font-size-2xs); margin-left: .3em; }

/* news */
.br-news { padding: var(--space-2) 0; border-bottom: 1px solid var(--border-default); cursor: pointer; }
.br-news:last-child { border-bottom: 0; }
.br-news.dim { opacity: .62; }
.br-news h3 { font-size: var(--font-size-sm); margin: 0; font-weight: 700; line-height: 1.3; }
.br-news h3 a { color: inherit; text-decoration: none; }
.br-news h3 a:hover { text-decoration: underline; }
.br-news .br-meta { margin: .1em 0 .2em; }
.br-news .tag { font-size: var(--font-size-2xs); font-weight: 700; text-transform: uppercase; padding: 0 .4em; border-radius: 3px; margin-left: .4em; background: rgba(127,127,127,.2); }
.br-news p { font-size: var(--font-size-sm); margin: 0; line-height: 1.35; white-space: pre-line; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.br-news.open p { -webkit-line-clamp: unset; display: block; }


/* summary line, glance tiles */
:root { --br-temp: #f08a24; --br-rain: #4c8dd6; --br-wind: #8fa3bd; --br-night: rgba(76,141,214,.08); }
:root[data-theme="light"] { --br-temp: #c2610c; --br-rain: #2a6ab5; --br-wind: #5b7390; --br-night: rgba(11,22,38,.06); }
.br-summary { font-size: var(--font-size-md, 1rem); margin: 0 0 var(--space-3); line-height: 1.5; }
.br-summary .pl { font-size: 1.1em; } .br-summary .when { color: var(--text-muted); font-size: var(--font-size-sm); margin-left: .4em; } .br-summary .warn { color: var(--color-warning); }
.br-newbtn { border: 0; background: transparent; padding: 0; color: #4c8dd6; font-weight: 700; cursor: pointer; text-decoration: underline dotted; font-size: inherit; }
.br-new { display: inline-block; font-size: var(--font-size-2xs); font-weight: 800; text-transform: uppercase; letter-spacing: .05em; padding: 0 .45em; border-radius: 3px; background: #4c8dd6; color: #fff; margin-left: .45em; vertical-align: .08em; }
.br-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(10.5em, 1fr)); gap: var(--space-3); margin-bottom: var(--space-4); }
.br-tile { background: var(--bg-card); border: 1px solid var(--border-default); border-top: 3px solid var(--border-default); border-radius: var(--radius-md); padding: var(--space-2) var(--space-3); min-width: 0; }
.br-tile .lab { font-size: var(--font-size-2xs); text-transform: uppercase; letter-spacing: var(--letter-spacing-wide); color: var(--text-muted); font-weight: 700; }
.br-tile .lab i { margin-right: .5em; opacity: .8; }
.br-tile .val { font-size: 1.45rem; font-weight: 800; line-height: 1.15; margin: .15em 0 .1em; }
.br-tile .val small { font-size: .55em; font-weight: 600; color: var(--text-muted); }
.br-tile .sub { font-size: var(--font-size-xs); color: var(--text-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-height: 1.2em; }
.br-tile .moon { color: var(--text-muted); }
.br-tile.ok { border-top-color: #30a46c; } .br-tile.ok .val { color: #30a46c; }
.br-tile.info { border-top-color: #e8b923; } .br-tile.warn { border-top-color: #f08a24; } .br-tile.bad { border-top-color: #e5484d; }
.br-tile.warn .val { color: #f08a24; } .br-tile.bad .val { color: #e5484d; } .br-tile.info .val { color: #e8b923; } .br-tile.good .val { color: #30a46c; } .br-tile.good { border-top-color: #30a46c; }

/* section header icons */
.br-h i { margin-right: .55em; opacity: .75; width: 1.1em; text-align: center; }
.br-inc .top i { width: 1.1em; text-align: center; opacity: .8; }

/* news with a thumbnail */
.br-news { display: flex; gap: .75em; align-items: flex-start; }
.br-news .body { flex: 1; min-width: 0; }
.br-news .thumb { flex: none; width: 76px; height: 76px; object-fit: cover; border-radius: var(--radius-sm); background: rgba(127,127,127,.15); }

/* the 12-hour chart */
.br-chart { position: relative; }
.br-chart svg { width: 100%; height: auto; display: block; }
.br-chart .night { fill: var(--br-night); }
.br-chart .grid { stroke: var(--border-default); stroke-width: 1; opacity: .8; }
.br-chart text { fill: var(--text-muted); font-size: 11px; }
.br-chart .ptitle { font-weight: 700; letter-spacing: .03em; }
.br-chart .val { fill: var(--text-primary); font-weight: 700; font-size: 11px; }
.br-chart .none { font-size: 12px; }
.br-chart .ln { fill: none; stroke-width: 2; stroke-linejoin: round; stroke-linecap: round; }
.br-chart .ln.temp { stroke: var(--br-temp); } .br-chart .ln.wind { stroke: var(--br-wind); }
.br-chart .dot { stroke: var(--bg-card); stroke-width: 2; } .br-chart .dot.temp { fill: var(--br-temp); } .br-chart .dot.wind { fill: var(--br-wind); }
.br-chart .area.wind { fill: var(--br-wind); opacity: .14; }
.br-chart .bar.rain { fill: var(--br-rain); }

/* police log */
.br-day { font-size: var(--font-size-xs); font-weight: 700; color: var(--text-muted); text-transform: uppercase; letter-spacing: var(--letter-spacing-wide); margin: var(--space-3) 0 var(--space-1); }
.br-day:first-child { margin-top: 0; }
.br-inc { border-left: 3px solid var(--border-default); padding: .35em .7em; margin-bottom: .45em; cursor: pointer; background: rgba(127,127,127,.05); border-radius: 0 var(--radius-sm) var(--radius-sm) 0; }
.br-inc.traffic { border-color: #f08a24; } .br-inc.fire { border-color: #e5484d; } .br-inc.active { background: rgba(229,72,77,.09); }
.br-inc .top { display: flex; gap: .5em; align-items: baseline; flex-wrap: wrap; font-size: var(--font-size-xs); color: var(--text-muted); }
.br-inc .top b { color: var(--text-primary); font-size: var(--font-size-sm); }
.br-inc .top em { color: #e5484d; font-style: normal; font-weight: 800; text-transform: uppercase; font-size: var(--font-size-2xs); }
.br-inc .top .area { flex: 1; min-width: 0; }
.br-inc p { font-size: var(--font-size-sm); margin: .2em 0 0; line-height: 1.35; white-space: pre-line; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.br-inc.open p { -webkit-line-clamp: unset; display: block; }
.br-inc .ups { display: none; margin-top: .3em; border-top: 1px dashed var(--border-default); padding-top: .3em; }
.br-inc.open .ups { display: block; }
.br-inc .ups p { margin-top: .25em; }
.br-inc .more { color: var(--text-muted); font-size: var(--font-size-xs); margin-top: .2em; }
.br-tile .sub { white-space: normal; }

/* rivers */
.br-row.river { align-items: center; }
.br-row.river .st { min-width: 6.5em; }
.br-row.river .st b { color: var(--text-primary); font-size: 1.05rem; }
.br-row.river .st small { display: block; font-weight: 400; font-size: var(--font-size-xs); }
.br-row.river .grow b { min-width: 0; }
.spark { flex: none; opacity: .95; width: 90px; height: auto; } .spark polyline { fill: none; stroke: var(--br-rain); stroke-width: 1.6; stroke-linejoin: round; stroke-linecap: round; }

/* the tab shows the first few of the long lists; a button reveals the rest */
.br-showmore { display: block; width: 100%; margin-top: var(--space-2); padding: .4em; border: 1px dashed var(--border-default); background: transparent; color: var(--text-muted); border-radius: var(--radius-sm); font-size: var(--font-size-sm); cursor: pointer; }
.br-showmore:hover { color: var(--text-primary); border-color: var(--text-muted); }
.wall .br-showmore { display: none; }

/* sea & tide, sky tonight */
:root { --br-tide: #37d3c4; --br-aurora: #6fd3a0; --br-cloud: #8fa3bd; }
:root[data-theme="light"] { --br-tide: #0f8f84; --br-aurora: #1f9a63; --br-cloud: #6b7f99; }
.br-card svg { width: 100%; height: auto; display: block; }
.br-card text { fill: var(--text-muted); font-size: 11px; }
.br-card .night { fill: var(--br-night); }
.br-card .grid { stroke: var(--border-default); stroke-width: 1; }
.br-card .thr { stroke: var(--text-muted); stroke-width: 1; stroke-dasharray: 3 4; opacity: .7; }
.br-card .cross { stroke: var(--text-muted); stroke-width: 1; stroke-dasharray: 3 3; }
.br-card .val { fill: var(--text-primary); font-weight: 700; }
.br-card .ptitle { font-weight: 700; }
.br-card .ln.tide { fill: none; stroke: var(--br-tide); stroke-width: 2; stroke-linejoin: round; }
.br-card .area.tide { fill: var(--br-tide); opacity: .14; }
.br-card .dot.tide { fill: var(--br-tide); stroke: var(--bg-card); stroke-width: 2; }
.br-card .bar.kp { fill: var(--br-cloud); opacity: .55; } .br-card .bar.kp.hi { fill: var(--br-aurora); opacity: 1; } .br-card .bar.kp.pred:not(.hi) { opacity: .35; }
.br-card .bar.cloud { fill: var(--br-cloud); opacity: .6; }
.br-card .none { font-size: 11px; }
.br-stats { margin-top: .3em; color: var(--text-muted); font-size: var(--font-size-sm); }
.br-stats b { color: var(--text-primary); } .br-stats .fa-arrow-up { font-size: .85em; }
.br-note { margin-top: .3em; color: var(--text-muted); font-size: var(--font-size-2xs); opacity: .85; line-height: 1.35; }
.br-verdict { font-size: var(--font-size-sm); margin-bottom: .2em; color: var(--text-muted); }
.br-verdict b { color: var(--text-primary); } .br-verdict.likely b { color: var(--br-aurora); } .br-verdict.possible b { color: #e8b923; }
