/* The shells, rows and badges are shared with Rendimiento Individual.
   Only functional content and compact spacing live here. */
.functional-zoom { color:#1e3d59; font-family:var(--font-body); font-variation-settings:var(--font-body-variation); }
.functional-zoom.p-4 { padding:12px !important; }
.fz-player-heading { display:flex; align-items:center; gap:14px; margin-bottom:12px; padding:12px 16px; background:#f8f9fa; border-radius:8px; }
.fz-player-photo { width:60px; height:60px; border-radius:50%; object-fit:cover; border:3px solid #1e3d59; background:#f8f9fa; }
.fz-player-name { font-size:20px; font-weight:700; color:#1e3d59; }
.fz-highlights { display:flex; gap:8px; margin-bottom:12px; align-items:stretch; }
.fz-highlight { flex:1; min-width:0; padding:10px; border-radius:6px; }
.fz-strong { background:#f0fdf4; color:#166534; }
.fz-weak { background:#fef2f2; color:#991b1b; }
.fz-highlight-title { margin-bottom:8px; padding-bottom:4px; border-bottom:2px solid #22c55e; font-size:11px; font-weight:600; }
.fz-weak .fz-highlight-title { border-color:#ef4444; }
.fz-highlight-items { display:flex; flex-direction:column; gap:4px; }
.fz-highlight-item { border:0; background:none; padding:0; text-align:left; color:inherit; font-family:inherit; font-size:11px; line-height:1.3; cursor:pointer; }
.fz-highlight-item span { color:#22c55e; font-size:10px; font-weight:600; }
.fz-weak .fz-highlight-item span { color:#ef4444; }
.fz-highlight-item:hover { text-decoration:underline; }
.fz-overview { margin-bottom:12px; background:#f8f9fa; border:1px solid #e5e7eb; border-radius:8px; overflow:hidden; }
.fz-overview>div { border-bottom:0 !important; }
.fz-name { border:0; background:none; padding:0; margin:0; color:#374151; font-family:inherit; font-size:11px; line-height:1.3; text-align:left; cursor:pointer; word-break:normal; }
.fz-name:hover { text-decoration:underline; }
.fz-context { color:#495057; font-size:10px; font-weight:600; line-height:1.1; text-align:center; margin-bottom:4px; }
.fz-reading { display:flex; align-items:baseline; flex-wrap:wrap; column-gap:5px; margin-top:2px; line-height:1.2; }
.fz-value,.fz-side { font-size:12px; font-weight:600; color:#1e3d59; font-variant-numeric:tabular-nums; }
.fz-values { display:inline-flex; align-items:baseline; }
.fz-side+.fz-side::before { content:' · '; color:#6c757d; font-weight:400; padding:0 3px; }
.fz-unit,.fz-asym { font-size:10px; color:#6c757d; }
.fz-trend { display:flex; justify-content:center; align-items:center; align-self:center; border:0; background:none; padding:0; color:#6b7280; font-size:16px; font-weight:700; cursor:pointer; }
.fz-methods { margin-top:14px; color:#6c757d; font-size:11px; line-height:1.5; }
.fz-methods summary { cursor:pointer; }
.fz-methods p { margin:8px 0; }
.fz-muted { color:#6c757d; font-size:11px; }
.fz-empty { padding:40px 20px; text-align:center; font-size:13px; color:#6c757d; }
.functional-zoom .fz-selected { background:#e9ecef !important; box-shadow:0 0 0 2px #1e3d59; }
.functional-zoom button:focus-visible { outline:2px solid #1e3d59; outline-offset:2px; }
#fz-modal .modal-header { border-bottom:none; padding:15px 20px; }
#fz-modal .modal-title { font-family:var(--font-body); font-variation-settings:var(--font-body-variation); font-weight:600; font-size:18px; color:#1e3d59; }
#fz-modal .modal-body { padding:10px 20px 20px; }
#fz-modal .modal-footer { padding:8px 20px; }
#fz-modal .modal-footer button { font-size:12px; }
.fz-detail-modal { width:calc(100% - 40px); max-width:1320px; }
#fz-modal .modal-body { overflow-y:auto; }
.fz-detail-selector { max-width:350px; margin-bottom:14px; font-size:12px; }
.fz-detail-charts { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:18px; }
.fz-chart-panel { min-width:0; padding:12px 8px 0; border:1px solid #e5e7eb; border-radius:8px; background:white; }
.fz-chart-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:24px; }
.fz-chart-context { display:flex; gap:12px; font-size:11px; color:#1e3d59; }
.fz-chart-context label { display:flex; align-items:center; gap:4px; cursor:pointer; margin:0; }
.fz-chart-context input { accent-color:#1e3d59; }
.fz-detail-stats { display:flex; gap:22px; align-items:center; flex-wrap:wrap; margin-bottom:14px; padding:10px 12px; background:#f8f9fa; border-radius:6px; }
.fz-detail-stat { min-width:74px; }
.fz-detail-stat>span { display:block; color:#6c757d; font-size:10px; margin-bottom:4px; }
.fz-detail-stat>strong { font-size:16px; font-weight:600; color:#1e3d59; }
.fz-detail-date { margin-left:auto; font-size:11px; color:#6c757d; }
.fz-detail-label { font-size:12px; font-weight:600; color:#1e3d59; margin:0 0 6px; }
.fz-detail-methods { margin-top:10px; font-size:11px; color:#6c757d; line-height:1.5; }
.fz-detail-methods summary { cursor:pointer; }
.fz-detail-methods p { margin:8px 0; }
@media(max-width:700px) { .fz-highlights { flex-direction:column; } .functional-zoom.p-4 { padding:6px !important; } .fz-player-heading { padding:10px; } }
@media(max-width:950px) {
    .fz-detail-charts { grid-template-columns:minmax(0,1fr); gap:12px; }
    .fz-evolution-first .fz-detail-evolution { order:-1; }
    .fz-detail-modal { width:calc(100% - 16px); margin:8px auto; }
}
