.bs-analytics { margin-top:20px; border-top:1px solid #d7e3da; padding-top:18px; }
.bs-analytics-head,.bs-analytics-actions,.bs-analytics-filters { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.bs-analytics-head { justify-content:space-between; }
.bs-analytics-head h2 { margin:0; }
.bs-analytics-filters label { margin:0; font-size:13px; }
.bs-analytics-filters select { width:auto; min-width:120px; padding:9px 10px; }
.bs-analytics-status,.bs-analytics-coverage,.bs-analytics-note { font-size:13px; }
.bs-analytics-status { min-height:1.4em; margin:8px 0; }
.bs-analytics-status[data-state="withheld"] { color:#745216; }
.bs-analytics-status[data-state="error"] { color:#922; }
.bs-analytics-kpis { display:grid; grid-template-columns:repeat(auto-fit,minmax(125px,1fr)); gap:8px; margin:14px 0; }
.bs-analytics-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin:14px 0; }
.bs-analytics-summary .bs-analytics-kpi { background:#f8fbf7; }
.bs-analytics-summary .bs-analytics-kpi strong { font-size:clamp(17px,4vw,22px); }
.bs-analytics-details { margin-top:14px; border-top:1px solid #d7e3da; padding-top:10px; }
.bs-analytics-details>summary { min-height:44px; display:flex; align-items:center; cursor:pointer; color:#145c43; font-weight:700; }
.bs-analytics-detail-content { padding-top:8px; }
.bs-analytics-kpi { min-width:0; padding:12px; border:1px solid #d7e3da; border-radius:12px; background:#f8fbf7; }
.bs-analytics-kpi strong { display:block; color:#145c43; font-size:22px; line-height:1.2; overflow-wrap:anywhere; }
.bs-analytics-kpi span { color:#607168; font-size:12px; }
.bs-analytics-tables { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr)); gap:10px; }
.bs-analytics-chart { min-width:0; padding:13px; border:1px solid #d7e3da; border-radius:12px; }
.bs-analytics-chart h3 { margin:0 0 8px; font-size:15px; }
.bs-analytics-bars { display:flex; align-items:stretch; gap:3px; height:112px; overflow-x:auto; padding:8px 2px 0; border-bottom:1px solid #d7e3da; }
.bs-analytics-bar-column { display:flex; flex:1 0 11px; min-width:11px; flex-direction:column; align-items:center; justify-content:flex-end; gap:4px; color:#607168; font-size:9px; }
.bs-analytics-bar { display:block; width:min(100%,14px); min-height:0; border-radius:3px 3px 0 0; background:#145c43; }
.bs-analytics-table { min-width:0; padding:13px; border:1px solid #d7e3da; border-radius:12px; }
.bs-analytics-table h3 { margin:0 0 8px; font-size:15px; }
.bs-analytics-scroll { overflow-x:auto; }
.bs-analytics table { width:100%; border-collapse:collapse; font-size:12px; text-align:left; }
.bs-analytics th,.bs-analytics td { padding:7px 8px; border-top:1px solid #e4ebe5; white-space:nowrap; }
.bs-analytics th { color:#607168; font-weight:650; }
.bs-analytics-empty { color:#607168; font-size:13px; }
.bs-analytics-actions button { min-height:40px; }
.bs-analytics-admin .bs-analytics-kpi { background:#121216; border-color:#343139; }
.bs-analytics-admin .bs-analytics-kpi strong { color:#d9aa6e; }
.bs-analytics-admin .bs-analytics-kpi span,.bs-analytics-admin .bs-analytics-empty,.bs-analytics-admin .bs-analytics-coverage,.bs-analytics-admin .bs-analytics-note { color:#b8b1a8; }
.bs-analytics-admin .bs-analytics-table { border-color:#343139; }
.bs-analytics-admin .bs-analytics-status[data-state="withheld"] { color:#e3bd79; }
.bs-analytics-admin .bs-analytics-chart { border-color:#343139; }
.bs-analytics-admin .bs-analytics-bars { border-color:#343139; }
.bs-analytics-admin .bs-analytics-bar-column { color:#b8b1a8; }
.bs-analytics-admin .bs-analytics-bar { background:#d9aa6e; }
.bs-analytics-admin .bs-analytics th,.bs-analytics-admin .bs-analytics td { border-color:#343139; }
@media(max-width:550px) { .bs-analytics-head { align-items:flex-start; flex-direction:column; } .bs-analytics-filters { width:100%; } .bs-analytics-filters label { flex:1; } .bs-analytics-filters select { width:100%; min-width:0; } .bs-analytics .bs-analytics-actions button { flex:1; } .bs-analytics-summary { grid-template-columns:repeat(2,minmax(0,1fr)); } }
