/* Shared "2050" dashboard styling — KPI tiles + responsive chart grid.
   Used by the Analytics, Investigate and Search dashboards. Brand-tokened. */
.dash-wrap { padding-bottom: 24px; }
.dash-head { display:flex; justify-content:space-between; align-items:flex-end; gap:14px; flex-wrap:wrap; margin-bottom:16px; }
.dash-head h1 { margin:0 0 3px; font-size:24px; }
.dash-live { display:inline-flex; align-items:center; gap:7px; font-size:12px; color:var(--brand-600); background:var(--brand-tint); padding:6px 12px; border-radius:9999px; font-family:var(--mono); }
.dash-live .dot { width:7px; height:7px; border-radius:50%; background:var(--brand); box-shadow:0 0 0 3px var(--brand-tint-2); }
.kpi-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:12px; margin-bottom:18px; }
@media(max-width:1100px){ .kpi-grid{ grid-template-columns:repeat(4,1fr); } }
@media(max-width:680px){ .kpi-grid{ grid-template-columns:repeat(2,1fr); } }
.kpi { position:relative; background:var(--surface); border:1px solid var(--border); border-radius:14px; padding:14px 15px; overflow:hidden; }
.kpi:before { content:''; position:absolute; left:0; top:0; bottom:0; width:3px; background:linear-gradient(#A3238E,#EC008C); }
.kpi-ico { position:absolute; right:10px; top:9px; font-size:15px; opacity:.35; }
.kpi-n { font-family:var(--display); font-size:26px; font-weight:700; letter-spacing:-.02em; line-height:1.1; color:var(--text); }
.kpi-l { font-size:11px; color:var(--text-faint); text-transform:uppercase; letter-spacing:.04em; margin-top:2px; }
.dash-grid { display:grid; grid-template-columns:repeat(12,1fr); gap:14px; }
.card.dcard { background:var(--surface); border:1px solid var(--border); border-radius:14px; padding:14px 16px 6px; box-shadow:var(--shadow-sm); }
.dcard .card-h { display:flex; justify-content:space-between; align-items:baseline; gap:10px; margin-bottom:4px; }
.dcard .card-h b { font-size:13.5px; font-family:var(--display); }
.dcard .card-h span { font-size:10.5px; color:var(--text-faint); text-align:right; }
.chart { width:100%; height:250px; }
.chart-tall { height:360px; }
.g4{ grid-column:span 4 } .g6{ grid-column:span 6 } .g8{ grid-column:span 8 } .g12{ grid-column:span 12 }
@media(max-width:1200px){ .g4{grid-column:span 6} .g8{grid-column:span 12} }
@media(max-width:820px){ .g4,.g6,.g8,.g12{ grid-column:span 12 } }
.chart.is-loading { opacity:.4; background:linear-gradient(100deg,transparent 30%,var(--surface-2) 50%,transparent 70%); background-size:200% 100%; animation:dsh 1.2s infinite; border-radius:8px; }
@keyframes dsh { 0%{background-position:200% 0} 100%{background-position:-200% 0} }

/* Compact "smart" search hero */
.search-hero { background:var(--surface); border:1px solid var(--border); border-radius:16px; padding:16px 18px; margin-bottom:16px; box-shadow:var(--shadow-sm); }
.search-hero .sh-title { display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; margin-bottom:11px; }
.search-hero h1 { margin:0; font-size:18px; font-family:var(--display); }
.search-hero .sh-sub { color:var(--text-dim); font-size:12.5px; }
.sh-row { display:flex; align-items:center; gap:0; border:1.5px solid var(--border-strong); border-radius:12px; overflow:hidden; background:var(--bg); transition:border-color .12s, box-shadow .12s; }
.sh-row:focus-within { border-color:var(--brand); box-shadow:0 0 0 4px var(--brand-tint); }
.sh-ico { padding:0 4px 0 14px; font-size:15px; opacity:.7; }
.sh-row input { flex:1; border:none; background:transparent; padding:13px 12px; font-size:15px; color:var(--text); outline:none; font-family:inherit; }
.sh-go { border-radius:9px; margin:5px; padding:9px 22px; }
.sh-controls { display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-top:10px; }
.sh-adv { background:var(--surface-2); border:1px solid var(--border); color:var(--text-dim); font-weight:600; font-size:12.5px; padding:6px 12px; border-radius:9999px; cursor:pointer; font-family:inherit; }
.sh-adv:hover { color:var(--text); border-color:var(--border-strong); }
.sh-adv .sh-count { background:var(--brand-tint); color:var(--brand-600); border-radius:9999px; padding:1px 7px; font-size:11px; margin-left:4px; }
.sh-hint { color:var(--text-faint); font-size:11.5px; }
.sh-sources { margin-top:12px; padding-top:12px; border-top:1px dashed var(--border-strong); }
.sh-sources-lbl { font-size:11px; text-transform:uppercase; letter-spacing:.05em; color:var(--text-faint); font-weight:700; margin-bottom:8px; }
.sh-optrow { display:flex; gap:10px; flex-wrap:wrap; margin-top:10px; }
