/* TrainingLoadManager V140 — unified performance interface */
:root{
 --tlm-ink:#101c2c;--tlm-muted:#64748b;--tlm-faint:#94a3b8;--tlm-bg:#f3f6f8;--tlm-surface:#fff;--tlm-soft:#f7f9fb;
 --tlm-line:#dce4ea;--tlm-line-strong:#cbd5df;--tlm-navy:#071727;--tlm-navy-2:#0c2238;--tlm-orange:#f26522;
 --tlm-blue:#2764dc;--tlm-green:#0e9f6e;--tlm-amber:#d48a0a;--tlm-red:#d64545;
 --tlm-r-xs:6px;--tlm-r-sm:9px;--tlm-r-md:12px;--tlm-r-lg:16px;--tlm-shadow:0 1px 2px rgba(15,23,42,.05),0 8px 24px rgba(15,23,42,.045);
 --tlm-s1:4px;--tlm-s2:8px;--tlm-s3:12px;--tlm-s4:16px;--tlm-s5:20px;--tlm-s6:24px;--tlm-s8:32px;--tlm-sidebar:248px;--tlm-header:64px;
 --p-blue:var(--tlm-blue);--p-navy:var(--tlm-ink);--p-text:var(--tlm-ink);--p-muted:var(--tlm-muted);--p-border:var(--tlm-line);--p-bg:var(--tlm-bg);--p-card:var(--tlm-surface);
}
html,body{background:var(--tlm-bg);color:var(--tlm-ink);font-family:Inter,Manrope,"Segoe UI",sans-serif;overflow-x:hidden}
#app-shell{display:grid;grid-template-columns:var(--tlm-sidebar) minmax(0,1fr);grid-template-rows:var(--tlm-header) minmax(calc(100vh - var(--tlm-header)),auto);min-height:100vh;background:var(--tlm-bg)}
.app-sidebar{position:fixed!important;inset:0 auto 0 0!important;width:var(--tlm-sidebar)!important;height:100vh!important;background:var(--tlm-navy)!important;border:0!important;box-shadow:none!important;z-index:100;display:flex!important;flex-direction:column;overflow:hidden;transition:width .22s ease,transform .22s ease}
.sidebar-brand{height:72px!important;min-height:72px;display:flex!important;align-items:center!important;padding:0 14px 0 18px!important;border-bottom:1px solid rgba(255,255,255,.08)!important;gap:11px!important}
.sidebar-brand .brand-mark{width:34px!important;height:34px!important;min-width:34px;border-radius:9px!important;object-fit:contain;background:transparent!important;box-shadow:none!important;padding:0!important}
.brand-lockup{min-width:0;line-height:1}.brand-name{font-size:14px!important;font-weight:750!important;letter-spacing:-.03em!important;color:#fff!important;white-space:nowrap}.brand-sub{font-size:8px!important;letter-spacing:.2em!important;color:#8195aa!important;margin-top:5px}
.sidebar-collapse,.mobile-nav-toggle,.sidebar-scrim{border:0;background:none}.sidebar-collapse{margin-left:auto;width:30px;height:30px;border-radius:8px;color:#91a5ba;display:grid;place-items:center;cursor:pointer}.sidebar-collapse:hover{color:#fff;background:rgba(255,255,255,.08)}.sidebar-collapse svg,.mobile-nav-toggle svg{width:19px;height:19px}
.app-nav{padding:13px 10px 24px!important;overflow-y:auto!important;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#294058 transparent;flex:1}
.app-nav .nav-section-label{margin:17px 10px 7px!important;padding:0!important;color:#70859a!important;font-size:9px!important;font-weight:800!important;letter-spacing:.14em!important;line-height:1!important;text-transform:uppercase;white-space:nowrap}.app-nav .nav-section-label:first-child{margin-top:6px!important}
.app-nav .nav-main,.app-nav .nav-group-toggle{position:relative!important;width:100%!important;min-height:40px!important;padding:0 10px!important;margin:2px 0!important;border:0!important;border-radius:9px!important;background:transparent!important;color:#a9bac9!important;display:flex!important;align-items:center!important;gap:11px!important;font:600 12.5px/1.2 inherit!important;text-align:left!important;cursor:pointer!important;box-shadow:none!important;overflow:hidden!important}
.app-nav .tab-icon{width:18px!important;height:18px!important;min-width:18px!important;color:#7f96ab!important;background:none!important;fill:none!important}.app-nav .tab-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-nav .nav-main:hover,.app-nav .nav-group-toggle:hover{background:rgba(255,255,255,.055)!important;color:#edf5fb!important}.app-nav button:focus-visible{outline:2px solid #ff945f!important;outline-offset:-2px}
.app-nav .nav-main.active,.app-nav .nav-group.active>.nav-group-toggle{background:#15314b!important;color:#fff!important}.app-nav .nav-main.active:before,.app-nav .nav-group.active>.nav-group-toggle:before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:3px;border-radius:0 3px 3px 0;background:var(--tlm-orange)}.app-nav .nav-main.active .tab-icon,.app-nav .nav-group.active>.nav-group-toggle .tab-icon{color:#ff8953!important}
.nav-chevron{width:15px!important;height:15px!important;margin-left:auto!important;transition:transform .18s ease}.nav-group.open>.nav-group-toggle .nav-chevron{transform:rotate(180deg)}
.nav-group-items{display:grid!important;grid-template-rows:0fr!important;opacity:0;transition:grid-template-rows .2s ease,opacity .18s ease!important;padding:0!important;margin:0!important}.nav-group-items>*{overflow:hidden}.nav-group.open>.nav-group-items{grid-template-rows:1fr!important;opacity:1;padding:2px 0 5px!important}.nav-group-items button{min-height:34px!important;margin:1px 0 1px 29px!important;width:calc(100% - 29px)!important;padding:0 9px!important;border:0!important;border-radius:7px!important;background:transparent!important;color:#8298ab!important;display:flex!important;align-items:center!important;gap:9px!important;font:550 11.5px/1.2 inherit!important;text-align:left;cursor:pointer}.nav-group-items button:hover,.nav-group-items button.active{color:#fff!important;background:rgba(255,255,255,.05)!important}.nav-group-items .dot{width:4px!important;height:4px!important;border-radius:50%;background:#557087!important;flex:0 0 auto}.nav-group-items button.active .dot{background:var(--tlm-orange)!important}
.app-header{position:sticky!important;top:0!important;grid-column:2!important;grid-row:1!important;height:var(--tlm-header)!important;min-height:var(--tlm-header)!important;padding:0 24px!important;background:rgba(255,255,255,.94)!important;border-bottom:1px solid var(--tlm-line)!important;backdrop-filter:blur(12px);box-shadow:none!important;z-index:70;display:flex!important;align-items:center!important;justify-content:space-between!important}.app-header>div{gap:10px!important}.app-header .btn{min-height:34px!important;border-radius:8px!important;padding:6px 11px!important;font-size:12px!important}.app-header #header-equipo-select{min-width:150px!important;max-width:220px;border-radius:8px!important}.app-header .sub{font-size:11px!important;color:var(--tlm-muted)!important;background:var(--tlm-soft);border:1px solid var(--tlm-line);border-radius:7px;padding:7px 10px;text-transform:uppercase;letter-spacing:.05em;font-weight:700}.mobile-nav-toggle{display:none;color:var(--tlm-ink);width:36px;height:36px;border-radius:8px;place-items:center;cursor:pointer}.mobile-nav-toggle:hover{background:var(--tlm-soft)}
#app-shell>main{grid-column:2!important;grid-row:2!important;width:100%!important;min-width:0!important;margin:0!important;padding:0!important;background:var(--tlm-bg)!important;min-height:calc(100vh - var(--tlm-header))!important}
.tab-panel{width:100%!important;max-width:none!important;margin:0!important;padding:28px clamp(18px,2.6vw,40px) 52px!important;min-height:0!important;background:transparent!important;box-sizing:border-box!important}.tab-panel[style*="display: none"],.tab-panel:not(.active){min-height:0!important}
.tab-panel>.panel-header:first-child,.tab-panel>div>.panel-header:first-child{padding-top:0!important;margin-top:0!important}.panel-header{margin-bottom:18px!important;padding-bottom:13px!important;border-bottom:1px solid var(--tlm-line)!important}.panel-header h1,.panel-header h2,.tab-panel h1{font-size:clamp(21px,2vw,28px)!important;line-height:1.15!important;letter-spacing:-.035em!important;color:var(--tlm-ink)!important;margin:0!important}.panel-header p{margin:6px 0 0!important;color:var(--tlm-muted)!important;font-size:13px!important}
.card,.panel,.kpi,.table-wrap,.pricing-card,.salud-kpi,.fr-kpi{background:var(--tlm-surface)!important;border:1px solid var(--tlm-line)!important;border-radius:var(--tlm-r-md)!important;box-shadow:none!important}.card:hover,.pricing-card:hover{box-shadow:var(--tlm-shadow)!important;border-color:var(--tlm-line-strong)!important}.card,.panel{padding:18px!important}.kpi,.salud-kpi,.fr-kpi{padding:16px 17px!important;min-height:104px!important;position:relative;overflow:hidden}.kpi:before,.salud-kpi:before,.fr-kpi:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--tlm-blue)}
.kpi-grid,.salud-kpis,.fr-kpis,.stats-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))!important;gap:12px!important;margin:0 0 18px!important}.kpi .label,.salud-kpi-label,.fr-kpi-label{font-size:10px!important;letter-spacing:.08em!important;color:var(--tlm-muted)!important;text-transform:uppercase;font-weight:800!important}.kpi .value,.salud-kpi-value,.fr-kpi-value{font-size:26px!important;letter-spacing:-.04em!important;line-height:1.05!important;color:var(--tlm-ink)!important;margin-top:10px!important}.kpi .hint{font-size:11px!important;color:var(--tlm-muted)!important;margin-top:6px!important}
.btn{border-radius:8px!important;min-height:36px!important;font-weight:650!important;box-shadow:none!important}.btn-primary{background:var(--tlm-blue)!important;border-color:var(--tlm-blue)!important;color:#fff!important}.btn-primary:hover{background:#1f54bd!important}.btn-outline{background:#fff!important;border-color:var(--tlm-line-strong)!important;color:var(--tlm-ink)!important}.btn-outline:hover{background:var(--tlm-soft)!important;border-color:#aebdca!important}.btn-danger{background:var(--tlm-red)!important}.badge,.chip,.status-pill{border-radius:999px!important;font-size:10px!important;font-weight:750!important;letter-spacing:.02em!important}
input,select,textarea{border:1px solid var(--tlm-line-strong)!important;border-radius:8px!important;background:#fff!important;color:var(--tlm-ink)!important;min-height:38px!important;box-shadow:none!important}input:focus,select:focus,textarea:focus{border-color:var(--tlm-blue)!important;outline:3px solid rgba(39,100,220,.12)!important}.form-grid{gap:14px!important}.form-group label,label.form-label{font-size:11px!important;font-weight:750!important;color:#415269!important;margin-bottom:6px!important}
table{border-collapse:separate!important;border-spacing:0!important;width:100%}thead th{background:#f6f8fa!important;color:#52657a!important;font-size:9.5px!important;letter-spacing:.065em!important;text-transform:uppercase!important;font-weight:800!important;border-bottom:1px solid var(--tlm-line)!important;padding:10px 12px!important}tbody td{border-bottom:1px solid #edf1f4!important;padding:11px 12px!important;font-size:12px!important;color:#26374a!important}tbody tr:hover td{background:#fafbfd!important}.table-wrap{overflow:auto!important;padding:0!important}
.chart-container,.chart-wrap,[class*="chart-card"]{min-height:0!important}.chart-container canvas,.chart-wrap canvas{max-height:320px!important}.dashboard-grid,.charts-grid,.analysis-grid{gap:14px!important}.empty-state{padding:34px 20px!important;min-height:0!important;color:var(--tlm-muted)!important}.info-banner,.tip-banner,.alert-info{border:1px solid #cfe0f7!important;border-left:3px solid var(--tlm-blue)!important;background:#f5f9ff!important;border-radius:9px!important;padding:11px 13px!important;font-size:12px!important}
.modal-content,.modal-card{border-radius:16px!important;border:1px solid var(--tlm-line)!important;box-shadow:0 20px 60px rgba(15,23,42,.18)!important}.modal-header{border-bottom:1px solid var(--tlm-line)!important;padding:17px 20px!important}.modal-body{padding:20px!important}.modal-footer{border-top:1px solid var(--tlm-line)!important;padding:14px 20px!important}
.sidebar-collapsed{--tlm-sidebar:72px}.sidebar-collapsed .brand-lockup,.sidebar-collapsed .nav-section-label,.sidebar-collapsed .app-nav .tab-label,.sidebar-collapsed .nav-chevron{display:none!important}.sidebar-collapsed .sidebar-brand{padding:0 18px!important}.sidebar-collapsed .sidebar-collapse{position:absolute;right:5px;bottom:-32px;background:var(--tlm-navy-2)}.sidebar-collapsed .sidebar-collapse svg{transform:rotate(180deg)}.sidebar-collapsed .app-nav{padding:42px 10px 20px!important}.sidebar-collapsed .app-nav .nav-main,.sidebar-collapsed .app-nav .nav-group-toggle{justify-content:center!important;padding:0!important}.sidebar-collapsed .nav-group-items{display:none!important}
.sidebar-scrim{display:none}
@media(max-width:1100px){:root{--tlm-sidebar:218px}.tab-panel{padding-left:22px!important;padding-right:22px!important}.app-header{padding:0 18px!important}.app-header .ah-user-name{display:none}.app-header>div:last-of-type{gap:6px!important}}
@media(max-width:820px){#app-shell{display:block!important;padding-top:var(--tlm-header)}.app-sidebar{transform:translateX(-100%);width:min(286px,86vw)!important;box-shadow:20px 0 60px rgba(4,15,27,.3)!important}.mobile-nav-open .app-sidebar{transform:translateX(0)}.sidebar-collapse{display:none}.app-header{position:fixed!important;left:0;right:0;top:0;grid-column:auto!important;padding:0 12px!important}.mobile-nav-toggle{display:grid}.app-header .sub,.app-header .btn[title="Guardar copia local"]{display:none!important}.app-header #header-equipo-select{min-width:120px!important;max-width:170px!important}.app-header>div:last-of-type>div:first-child .btn:last-child{font-size:0!important}.app-header>div:last-of-type>div:first-child .btn:last-child svg{margin:0!important}.sidebar-scrim{display:block;position:fixed;inset:0;background:rgba(3,12,23,.5);z-index:90;opacity:0;pointer-events:none;transition:opacity .2s}.mobile-nav-open .sidebar-scrim{opacity:1;pointer-events:auto}.tab-panel{padding:20px 14px 40px!important}.kpi-grid,.salud-kpis,.fr-kpis,.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:520px){.app-header #header-equipo-select{max-width:130px!important;padding-inline:8px!important}.app-header .ah-user-avatar{width:30px!important;height:30px!important}.kpi-grid,.salud-kpis,.fr-kpis,.stats-grid{grid-template-columns:1fr!important}.card,.panel{padding:14px!important}.panel-header h1,.panel-header h2,.tab-panel h1{font-size:21px!important}.modal-body{padding:15px!important}.form-grid{grid-template-columns:1fr!important}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:.01ms!important}}
.card[style*="var(--p-navy-deep)"]{background:var(--tlm-navy-2)!important;color:#fff!important;border-color:#17344f!important}
@media(max-width:820px){#app-shell .app-sidebar{transform:translateX(-100%)!important}#app-shell.mobile-nav-open .app-sidebar{transform:translateX(0)!important}}
#app-shell>.app-sidebar{width:var(--tlm-sidebar)!important}
.sidebar-collapse,.mobile-nav-toggle,.sidebar-scrim{pointer-events:auto!important}
#app-shell.sidebar-collapsed{--tlm-sidebar:72px!important}
