/* V0.11: management-only analytical dashboard built from synthetic demo data. */
.analysis-page { display:grid; gap:15px; }
.analysis-title-row { display:flex; gap:12px; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; }
.analysis-title-row h1 { font-size:25px; margin-bottom:5px; }
.analysis-title-row .badge { flex-shrink:0; }
.analysis-info { padding:11px 14px; color:#6e5b37; background:#fffaf0; border:1px solid #f0e2c8; border-radius:9px; font-size:12px; line-height:1.6; }
.analysis-filters { padding:16px; display:grid; gap:13px; }
.analysis-filter-title { display:flex; flex-wrap:wrap; align-items:center; gap:8px; justify-content:space-between; border-bottom:1px solid #e9edf2; padding-bottom:11px; }
.analysis-filter-title strong { font-size:14px; }
.analysis-filter-title span { font-size:11px; color:#6e7b8d; }
.analysis-filter-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.analysis-filter-grid label { display:flex; flex-direction:column; gap:5px; color:#647285; font-size:11px; font-weight:750; min-width:0; }
.analysis-filter-grid .select,.analysis-filter-grid .input { font-size:12px; min-height:37px; padding:8px 10px; width:100%; }
.analysis-filter-foot { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; color:#728295; font-size:11px; }
.analysis-kpi-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px; }
.analysis-kpi { min-width:0; padding:14px; background:#fff; border:1px solid #e2e8ef; border-radius:10px; display:grid; gap:3px; }
.analysis-kpi > span { font-size:11px; font-weight:700; color:#6c7889; min-height:29px; }
.analysis-kpi strong { font-size:25px; letter-spacing:-.6px; color:#273647; font-variant-numeric:tabular-nums; }
.analysis-kpi small { font-size:10px; color:#8a96a4; line-height:1.35; }
.analysis-two-column { display:grid; grid-template-columns:1fr 1fr; gap:14px; min-width:0; }
.analysis-card { padding:17px; min-width:0; }
.analysis-card-heading { display:flex; flex-direction:column; gap:2px; margin-bottom:15px; }
.analysis-card-heading h2 { font-size:15px; margin:0; }
.analysis-card-heading small { color:#8792a1; font-size:11px; }
.analysis-ranking { display:grid; gap:10px; }
.analysis-rank-line { display:grid; grid-template-columns:20px minmax(78px,120px) minmax(45px,1fr) 38px; gap:7px; align-items:center; font-size:11px; }
.analysis-rank-num { color:#9aa5b3; font-weight:750; font-size:10px; }
.analysis-rank-name { overflow:hidden; white-space:nowrap; text-overflow:ellipsis; color:#526174; font-weight:700; }
.analysis-rank-track,.analysis-breakdown-track { width:100%; min-height:10px; height:10px; border-radius:99px; background:#f1f4f8; overflow:hidden; }
.analysis-rank-track > span { display:block; height:100%; border-radius:99px; background:#ba4f58; }
.analysis-rank-value { text-align:right; font-size:11px; color:#354759; font-variant-numeric:tabular-nums; }
.analysis-footnote { font-size:10px; color:#8290a0; line-height:1.5; margin:14px 0 0; }
.analysis-breakdown { display:grid; gap:12px; }
.analysis-breakdown-item { display:grid; grid-template-columns:minmax(90px,130px) 1fr 36px; gap:8px; align-items:center; font-size:11px; }
.analysis-breakdown-item > span { color:#596779; }
.analysis-breakdown-item strong { text-align:right; font-size:11px; color:#344457; }
.analysis-breakdown-track > span { display:block; height:100%; border-radius:99px; background:#7a9db7; }
.analysis-table-scroll { overflow-x:auto; max-width:100%; scrollbar-width:thin; }
.analysis-table { border-collapse:separate; border-spacing:0; width:100%; min-width:800px; font-size:11px; font-variant-numeric:tabular-nums; }
.analysis-table th,.analysis-table td { border-bottom:1px solid #e8edf2; padding:10px 9px; text-align:right; white-space:nowrap; }
.analysis-table th:first-child,.analysis-table td:first-child { text-align:left; }
.analysis-table thead th { position:sticky; top:0; z-index:1; background:#f4f7fa; color:#5c6b7f; font-size:10px; }
.analysis-table tbody th { color:#364657; font-weight:650; }
.analysis-table tbody th small { display:block; font-size:9px; color:#8491a1; font-weight:500; padding-top:3px; }
.analysis-table tbody tr:hover { background:#f7fafd; }
.analysis-table .analysis-selected-metric { color:#a7222b; background:#fff8f8; font-weight:850; }
.analysis-table tfoot { background:#f2f5f9; color:#263c54; font-weight:850; }
.analysis-no-results { color:#8390a1; font-size:12px; }
@media(max-width:1150px) {
  .analysis-kpi-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .analysis-filter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:760px) {
  .analysis-two-column { grid-template-columns:1fr; }
  .analysis-kpi-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:620px) {
  .analysis-page { gap:10px; }
  .analysis-title-row h1 { font-size:21px; }
  .analysis-filters { padding:11px; gap:11px; }
  .analysis-filter-grid { grid-template-columns:1fr 1fr; gap:9px; }
  .analysis-filter-grid label { font-size:10px; }
  .analysis-filter-grid .select,.analysis-filter-grid .input { padding:8px 6px; font-size:11px; }
  .analysis-kpi { padding:10px; }
  .analysis-kpi strong { font-size:23px; }
  .analysis-card { padding:12px; }
  .analysis-rank-line { grid-template-columns:16px minmax(55px,86px) minmax(30px,1fr) 32px; gap:5px; }
  .analysis-breakdown-item { grid-template-columns:minmax(73px,112px) 1fr 30px; }
  .analysis-info { font-size:11px; padding:10px; }
}
