/* Revisions 234 to 242 (October 2026 month-end batch). Loaded last. */

/* 237: the Building stats project map is built once and moved into the page on every redraw. */
.stats-google-map .stats-map-holder{width:100%;height:100%}
.stats-google-map .stats-map-wait{display:flex;align-items:center;justify-content:center;height:100%;color:var(--muted);font-size:12px}

/* 238 and 240: Building stats period note, the 'counted' column and the square-metre hint. */
.bt-period{margin:2px 0 12px;font-size:13px;color:var(--muted)}
.bt-period b{color:var(--text);font-weight:700}
.bt-detail tr.bt-left-out td{color:var(--muted)}
.bt-detail .bt-metres{display:block;margin-top:2px;font-size:11px;color:#8a5a0b;white-space:normal}
html[data-theme="dark"] .bt-detail .bt-metres{color:#f0b85a}

/* 234: the match counts on the Active / Completed / Archived tabs were faint in light mode. */
html:not([data-theme="dark"]) .lifecycle-tabs .ghost-btn .lifecycle-match-count{background:#cdeee3;color:#05543f}
html:not([data-theme="dark"]) .lifecycle-tabs .ghost-btn[aria-pressed=true] .lifecycle-match-count{background:#ffffff;color:#05543f}
/* 234: on very narrow phones (about 320 px) each project filter takes a full row, so its label is not cut off. */
@media(max-width:420px){.project-filters select{flex:1 1 100%;max-width:none}}

/* Month-end fix round (2026-10-30). */
/* Building stats on phones: the cost table and the project lists under a type are stacked, one block per row with its own small labels,
   so "Lowest – highest" and "Counted" are never cut off or hidden off to the side. Wider screens keep the ordinary table. */
@media(max-width:560px){
 .bt-stack thead{display:none}
 .bt-stack,.bt-stack tbody{display:block;width:100%}
 .bt-stack tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:10px;row-gap:6px;padding:10px 4px;border-bottom:1px solid var(--line)}
 .bt-stack tr:last-child{border-bottom:0}
 .bt-stack td{display:block;min-width:0;padding:0;border:0}
 .bt-stack td.r{text-align:left;padding-right:0;white-space:normal;overflow-wrap:anywhere}
 .bt-stack td:first-child,.bt-stack td:last-child{grid-column:1/-1}
 .bt-stack td[data-label]::before{content:attr(data-label);display:block;margin-bottom:1px;font-size:11px;font-weight:600;color:var(--muted)}
 .bt-stack td small{white-space:normal}
 .bt-stack .bt-range{min-width:0}
 .bt-stack tr.open,.bt-stack tr[data-bt-type]:hover{background:color-mix(in srgb,var(--teal,#23b99a) 9%,transparent);border-radius:8px}
 .bt-stack tr.open td,.bt-stack tr[data-bt-type]:hover td{background:transparent}
}
/* Projects, dark mode: the selected Active / Completed / Archived tab is filled, the others stay dark (dark.css forces every tab dark with !important). */
html[data-theme="dark"] #app .lifecycle-tabs .ghost-btn[aria-pressed=true]{background:#4fd1b0!important;color:#062b22!important;border-color:transparent!important;box-shadow:0 4px 12px rgba(79,209,176,.25)}
html[data-theme="dark"] .lifecycle-tabs .ghost-btn[aria-pressed=true] .lifecycle-match-count{background:#062b22;color:#d8f6ee}
/* Projects on phones and tablets: the filter boxes are a full 44 px tap height (ui-kit.css sizes every select from --ui-height, 40 px). */
@media(max-width:768px){#app .project-filters{--ui-height:44px}}
