.admin-panel { display:grid; gap:16px; }
.admin-panel[hidden] { display:none; }
.admin-quality>.admin-muted{margin:14px 0 0;line-height:1.6}.admin-quality .admin-kpi strong{font-size:clamp(21px,3vw,32px);white-space:nowrap}.admin-quality .admin-kpi{min-width:0}
.admin-heading { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.admin-heading p { margin:0; color:var(--muted); }
.admin-refresh,.admin-periods button,.admin-report-review { border:1px solid var(--line); background:white; color:var(--green); border-radius:10px; min-height:44px; padding:8px 12px; font:inherit; font-size:13px; cursor:pointer; }
.admin-kpis { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.admin-kpi { display:grid; gap:7px; padding:20px; background:#e8f3eb; border:1px solid #d5e6da; border-radius:18px; }
.admin-kpi>span { font-size:13px; color:#385b47; }
.admin-kpi strong { font-size:36px; line-height:1.1; color:#124d34; font-variant-numeric:tabular-nums; }
.admin-kpi small { font-size:12px; color:#4d6b58; }
.admin-card { min-width:0; border:1px solid var(--line); border-radius:18px; background:white; padding:20px; }
.admin-card h2 { margin:0 0 12px; font-size:18px; }
.admin-periods { display:flex; gap:6px; }
.admin-periods button[aria-pressed=true] { color:white; background:#196d4c; border-color:#196d4c; }
.admin-trend svg { display:block; width:100%; height:auto; min-height:140px; }
.admin-trend svg polyline { vector-effect:non-scaling-stroke; }
.admin-legend { display:flex; justify-content:center; gap:20px; margin:18px 0 4px; font-weight:750; font-variant-numeric:tabular-nums; }
.admin-legend span::before { content:''; display:inline-block; width:9px; height:9px; margin-right:5px; border-radius:50%; background:currentColor; }
.admin-series-new { color:#087e58; }.admin-series-active { color:#5c65d7; }
.admin-chart-date { display:block; text-align:center; font-size:13px; color:#425e4e; }
.admin-day-slider { width:100%; min-height:44px; accent-color:#196d4c; cursor:pointer; }
.admin-chart-edges { display:flex; justify-content:space-between; color:#66776d; font-size:12px; }
.admin-muted { color:#63786b; font-size:12px; margin:0 0 14px; }
.admin-budget-alert { color:#b42318; font-size:13px; font-weight:700; margin:0 0 14px; }
.admin-activity-row { display:grid; grid-template-columns:1fr auto; gap:6px; margin-bottom:14px; font-size:13px; }
.admin-bar { grid-column:1/-1; height:5px; border-radius:5px; overflow:hidden; background:#edf2ee; }
.admin-bar span { display:block; height:100%; background:#2e8c60; border-radius:5px; }
.admin-users { list-style:none; padding:0; margin:0; }
.admin-users li { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:12px 0; border-bottom:1px solid #edf1ed; }
.admin-users li:last-child { border:0; }
.admin-users li>div { display:grid; gap:4px; min-width:0; }
.admin-user-name { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:14px; font-weight:650; }
.admin-users small { font-size:12px; color:#687c6d; }
.admin-user-state { flex:none; max-width:50%; text-align:right; font-size:13px; }
.admin-muted-name { color:#687c6d; font-weight:500; }
.admin-definitions { color:#596e5f; font-size:12px; line-height:1.6; }
.admin-definitions summary { min-height:44px; display:flex; align-items:center; cursor:pointer; }
.admin-definitions summary::before { content:'ⓘ'; margin-right:7px; }
.admin-state { padding:32px 20px; border:1px solid var(--line); border-radius:16px; background:white; text-align:center; }
.admin-panel :is(button,input,summary):focus-visible { outline:3px solid #298969; outline-offset:2px; }
.has-admin .fitness-nav-link { padding-inline:7px; gap:4px; }
@media(min-width:1001px) { .app-chrome.has-admin { grid-template-columns:minmax(0,1fr) minmax(360px,430px) minmax(0,1fr); } }
@media(max-width:700px) { .admin-kpis { gap:6px; }.admin-kpi { padding:12px 9px; border-radius:14px; }.admin-kpi strong { font-size:30px; }.admin-kpi>span { font-size:11px; }.admin-kpi small { font-size:11px; line-height:1.4; }.admin-card { padding:16px; }.admin-panel { gap:12px; } }
@media(max-width:380px) { .has-admin .fitness-nav-link { padding-inline:4px; font-size:12px; gap:3px; }.has-admin .fitness-nav-link[data-route=entrenar] { flex:1.5; }.has-admin .fitness-nav-link svg { width:16px; }.has-admin .fitness-nav #settingsButton { min-width:64px; padding-inline:5px; font-size:12px; gap:3px; } }
@media(max-width:700px) { .admin-trend svg text { font-size:38px; }.admin-trend svg circle { r:8px; } }
.growth-report{grid-column:1/-1;min-width:0}.growth-report table{width:100%;border-collapse:collapse;font-size:14px}.growth-report th,.growth-report td{padding:10px 6px;border-bottom:1px solid #dce5d8;text-align:left}.growth-report caption{text-align:left;font-size:13px;padding:10px 0;color:#52664b}.growth-report p{font-size:14px;line-height:1.6;overflow-wrap:anywhere}.growth-report h3{margin-top:24px;font-size:17px}.growth-report details{border-top:1px solid #d5dfcf;padding-top:14px}.growth-report summary{cursor:pointer;min-height:44px}.growth-report td{font-variant-numeric:tabular-nums}
.admin-report-note { color:#3f5246; overflow-wrap:anywhere; line-height:1.4; }
.admin-report-review { flex:none; }.admin-report-review:disabled { opacity:.5; cursor:wait; }.admin-report-status:empty { display:none; }.admin-reports h2 { outline:0; }
.admin-funnel-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.admin-funnel-table{width:100%;min-width:300px;border-collapse:collapse;table-layout:fixed;font-variant-numeric:tabular-nums}
.admin-funnel-table th,.admin-funnel-table td{padding:8px 1px;border-bottom:1px solid #edf1ed;text-align:center;vertical-align:top;font-size:13px;line-height:1.25}
.admin-funnel-table thead th{font-size:11px;font-weight:650;color:#4d6b58;vertical-align:bottom}
.admin-funnel-table thead th:first-child,.admin-funnel-table tbody th{width:15%;text-align:left}
.admin-funnel-table tbody th{font-size:12px;font-weight:650;white-space:nowrap;color:#204e36}
.admin-funnel-table abbr{text-decoration:none;cursor:help}
.admin-funnel-table strong{display:block;font-weight:700;color:#124d34}
.admin-funnel-table small{display:block;font-size:11px;font-weight:400;color:#63786b}
.admin-funnel-table .admin-funnel-hours{color:#5c65d7}
.admin-funnel-table tbody tr:last-child>*{border:0}
.admin-funnel-na{color:#93a399}
.admin-funnel-legend{margin:10px 0 4px}
.admin-eval-run{min-height:44px;padding:10px 16px;border:0;border-radius:10px;background:#196d4c;color:white;font:inherit;font-size:14px;font-weight:700;cursor:pointer}
.admin-eval-run:disabled{background:#c9d6cd;color:#4d6b58;cursor:default}
.admin-eval-status{margin:10px 0 0}.admin-eval-status:empty{display:none}
.admin-eval-table{width:100%;margin-top:12px;border-collapse:collapse;table-layout:fixed;font-variant-numeric:tabular-nums}
.admin-eval-table th,.admin-eval-table td{padding:8px 2px;border-bottom:1px solid #edf1ed;text-align:center;vertical-align:top;font-size:13px;line-height:1.25}
.admin-eval-table thead th{font-size:11px;font-weight:650;color:#4d6b58;vertical-align:bottom}
.admin-eval-table thead th:first-child,.admin-eval-table tbody th{width:18%;text-align:left}
.admin-eval-table .admin-eval-mark{width:14%}
.admin-eval-table tbody th{font-weight:650;color:#204e36}
.admin-eval-table strong{display:block;font-weight:700;color:#124d34}
.admin-eval-table small{display:block;font-size:11px;color:#63786b}
.admin-eval-table tbody tr:last-child>*{border:0}
.admin-eval-ok{color:#1d7649;font-weight:700}.admin-eval-bad{color:#b42318;font-weight:700}.admin-eval-running{color:#5c65d7}
.admin-eval-closed .admin-eval-table{opacity:.8}
/* KPI cards (2026-10-28): title, up to three numbers, one short detail each. */
.admin-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:12px}
@media(min-width:960px){.admin-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);align-items:start}}
.admin-grid{display:grid;gap:12px}
.admin-kpi-card h2{font-size:14px;color:#385b47;margin:0 0 10px}
.admin-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}
.admin-stats>div{display:grid;align-content:start;gap:3px;min-width:0}
.admin-stats dt{font-size:12px;color:#4d6b58}
.admin-stats dd{margin:0;font-size:11px;line-height:1.35;color:#63786b;overflow-wrap:anywhere}
.admin-stats dt+dd{font-size:clamp(20px,6.4vw,26px);line-height:1.1;font-weight:750;color:#124d34;font-variant-numeric:tabular-nums;white-space:nowrap}
.admin-up{color:#1d7649}.admin-down{color:#b42318}.admin-warn{color:#a15c07}
.admin-stats dd.admin-up{color:#1d7649;font-weight:650}.admin-stats dd.admin-down{color:#b42318;font-weight:650}
.admin-kpi-foot{margin:12px 0 0;font-size:13px;font-weight:650;color:#204e36}
.admin-kpi-bar{margin-top:12px;height:8px}.admin-kpi-bar.is-alert span{background:#b42318}
.admin-user-state>*{display:block;margin:0}.admin-user-state small{margin-top:3px}
.admin-more{display:grid;gap:16px}.admin-more>summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-weight:700;color:#196d4c}
.admin-more>summary::before{content:'▸';margin-right:8px}.admin-more[open]>summary::before{content:'▾'}
.admin-more[open]{gap:12px}
