/* CONTROL DE CARGA — Reference UI layer
   Inspired by the approved blue sports-performance dashboard reference.
   Visual-only: does not change business logic or data semantics. */
:root{
  --cc-blue:#2563eb;
  --cc-blue-2:#1d4ed8;
  --cc-blue-3:#60a5fa;
  --cc-blue-soft:#eff6ff;
  --cc-navy:#09244a;
  --cc-navy-2:#071d3b;
  --cc-bg:#f5f8fc;
  --cc-card:#ffffff;
  --cc-line:#e4eaf2;
  --cc-text:#12213a;
  --cc-muted:#718096;
  --cc-shadow:0 2px 10px rgba(16,35,62,.045),0 10px 28px rgba(16,35,62,.035);
  --cc-shadow-hover:0 5px 18px rgba(16,35,62,.08);
}

/* Re-map legacy product tokens to one coherent blue identity. */
:root{
  --primary:var(--cc-blue); --primary-deep:var(--cc-blue-2); --primary-soft:var(--cc-blue-soft);
  --secondary:var(--cc-navy); --accent:var(--cc-blue); --accent-soft:var(--cc-blue-soft);
  --gold:#4f86e8; --gold-soft:#eef5ff;
  --bg:var(--cc-bg); --bg-tint:#f1f5fa; --bg-deep:#e9eff7;
  --card:var(--cc-card); --card-alt:#f8fafc; --border:var(--cc-line); --border-strong:#cbd7e6;
  --text:var(--cc-text); --text-soft:#40516a; --muted:var(--cc-muted);
  --input:#fff; --calc:#f5f8fc; --row-stripe:#fafcff;
  --radius:12px; --radius-sm:9px;
  --shadow-sm:0 1px 2px rgba(16,35,62,.04); --shadow:var(--cc-shadow);
}

html,body{background:var(--cc-bg)!important;color:var(--cc-text)!important}
body{font-family:Inter,Manrope,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif!important;font-size:13px!important;line-height:1.5!important}
h1,h2,h3,h4,h5,h6{font-family:Inter,Manrope,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif!important;color:var(--cc-text)!important;font-weight:750!important;letter-spacing:-.025em!important}
button,input,select,textarea{font-family:inherit!important}

/* Shell */
#app-shell{grid-template-columns:220px 1fr!important;background:var(--cc-bg)!important}
aside.app-sidebar{width:220px!important;background:linear-gradient(180deg,var(--cc-navy) 0%,var(--cc-navy-2) 100%)!important;border-right:0!important;box-shadow:4px 0 18px rgba(6,28,57,.08)!important}
.app-sidebar .sidebar-brand{height:68px!important;padding:0 18px!important;border-bottom:1px solid rgba(255,255,255,.07)!important}
.app-sidebar .brand-mark{width:36px!important;height:36px!important;border-radius:10px!important;background:linear-gradient(135deg,#3b82f6,#1d4ed8)!important;box-shadow:0 7px 18px rgba(37,99,235,.25)!important}
.app-sidebar .brand-name{font-size:14px!important;font-weight:800!important;color:#fff!important}
.app-sidebar .brand-sub{font-size:8.5px!important;color:rgba(255,255,255,.42)!important;letter-spacing:.08em!important}
.sidebar-context{margin:12px 10px 9px!important;padding:10px 11px!important;border-radius:10px!important;background:rgba(255,255,255,.045)!important;border:1px solid rgba(255,255,255,.075)!important}
.sidebar-context-label{font-size:7.5px!important;letter-spacing:.12em!important;color:rgba(255,255,255,.38)!important}
.sidebar-context-row{font-size:11.5px!important}
.app-nav{gap:2px!important;padding:3px 8px!important}
.nav-section-label{padding:13px 9px 6px!important;font-size:7.5px!important;letter-spacing:.13em!important;color:rgba(255,255,255,.30)!important}
.app-nav .nav-main,.app-nav .nav-group-toggle{height:37px!important;border-radius:8px!important;padding:0 10px!important;color:rgba(255,255,255,.68)!important;font-size:12px!important}
.app-nav .nav-main:hover,.app-nav .nav-group-toggle:hover{background:rgba(255,255,255,.055)!important;color:#fff!important}
.app-nav .nav-main.active,.app-nav .nav-group.active>.nav-group-toggle,.app-nav .nav-group.open>.nav-group-toggle{background:linear-gradient(90deg,rgba(37,99,235,.28),rgba(37,99,235,.10))!important;border:1px solid rgba(96,165,250,.12)!important;box-shadow:inset 3px 0 #3b82f6!important;color:#fff!important}
.app-nav .nav-group-items button{min-height:32px!important;border-radius:7px!important;color:rgba(255,255,255,.52)!important;font-size:11.5px!important}
.app-nav .nav-group-items button.active{background:rgba(37,99,235,.13)!important;color:#fff!important}
.sidebar-footer{padding:10px!important;border-top:1px solid rgba(255,255,255,.06)!important}
.sidebar-plan-card{border-radius:10px!important;background:rgba(37,99,235,.12)!important;border:1px solid rgba(96,165,250,.14)!important}

/* App header: light, compact, SaaS-like */
.app-header{height:64px!important;background:rgba(255,255,255,.96)!important;border-bottom:1px solid var(--cc-line)!important;box-shadow:0 1px 0 rgba(16,35,62,.02)!important;padding:0 22px!important}
.app-header .ah-search{height:38px!important;max-width:390px!important;background:#f7f9fc!important;border:1px solid var(--cc-line)!important;border-radius:9px!important}
.app-header .ah-search input{border:0!important;background:transparent!important;box-shadow:none!important}
.ah-icon-btn,.header-actions button,.header-equipo-gestionar{height:36px!important;border:1px solid var(--cc-line)!important;background:#fff!important;color:#52647d!important;border-radius:9px!important}
.ah-icon-btn:hover,.header-actions button:hover,.header-equipo-gestionar:hover{border-color:#b9cbe3!important;background:#f8fbff!important}
.ah-user{height:38px!important;border:1px solid var(--cc-line)!important;border-radius:9px!important;background:#fff!important}
.ah-user-avatar{background:#eaf2ff!important;color:var(--cc-blue)!important}
.header-equipo-select{height:36px!important;border:1px solid var(--cc-line)!important;border-radius:9px!important;background:#fff!important}

/* Main */
main{background:var(--cc-bg)!important;min-width:0!important}
.tab-panel{max-width:1500px!important;margin:0 auto!important;padding:24px 28px 48px!important}
.panel-header{margin-bottom:18px!important}
.panel-header h2{font-size:23px!important}
.panel-header p,.page-subtitle,.muted{color:var(--cc-muted)!important}

/* Universal components */
.card,.panel,.table-wrap,.section-card,.kpi-card,.chart-card,.inicio-card,.inicio-quick-card,.inicio-hero,.profile-card,.task-card,.settings-card,.wellness-question{background:#fff!important;border:1px solid var(--cc-line)!important;border-radius:12px!important;box-shadow:var(--cc-shadow)!important}
.card,.panel,.section-card,.settings-card{padding:17px!important}
.card:hover,.panel:hover,.task-card:hover{box-shadow:var(--cc-shadow-hover)!important}
.btn,.button,.btn-ghost,.btn-secondary,.btn-outline{min-height:35px!important;padding:0 12px!important;border-radius:8px!important;border:1px solid #d9e2ee!important;background:#fff!important;color:#42536b!important;font-size:12px!important;font-weight:700!important;box-shadow:none!important}
.btn:hover,.button:hover,.btn-ghost:hover,.btn-secondary:hover,.btn-outline:hover{background:#f7faff!important;border-color:#b8cce7!important;transform:none!important;box-shadow:0 3px 10px rgba(16,35,62,.05)!important}
.btn-primary,.button-primary,.btn.btn-primary{background:var(--cc-blue)!important;border-color:var(--cc-blue)!important;color:#fff!important;box-shadow:0 5px 12px rgba(37,99,235,.17)!important}
.btn-primary:hover,.button-primary:hover,.btn.btn-primary:hover{background:var(--cc-blue-2)!important;border-color:var(--cc-blue-2)!important}
input,select,textarea{min-height:36px;border:1px solid var(--cc-line)!important;border-radius:9px!important;background:#fff!important;color:var(--cc-text)!important}
input:focus,select:focus,textarea:focus{border-color:#7ea7e7!important;box-shadow:0 0 0 3px rgba(37,99,235,.08)!important;outline:none!important}
th{background:#f7f9fc!important;color:#6b7b91!important;border-bottom:1px solid var(--cc-line)!important;font-size:9px!important;text-transform:uppercase!important;letter-spacing:.07em!important}
td{border-bottom:1px solid #edf2f7!important}
tbody tr:hover td{background:#f8fbff!important}

/* Dashboard — bring the existing real dashboard closer to the reference */
.v8-dashboard{max-width:1450px!important;margin:0 auto!important;padding:4px 0 28px!important;color:var(--cc-text)!important}
.v8-topbar{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:18px!important;margin-bottom:18px!important;padding:2px 2px 0!important}
.v8-eyebrow{font-size:9px!important;letter-spacing:.11em!important;font-weight:800!important;color:#7b8ba1!important;text-transform:uppercase!important}
.v8-title{font-size:27px!important;line-height:1.1!important;margin:4px 0 5px!important;color:var(--cc-text)!important}
.v8-subtitle{font-size:12px!important;color:var(--cc-muted)!important}
.v8-top-actions{display:flex!important;align-items:center!important;gap:7px!important}
.v8-team-chip{height:35px!important;display:flex!important;align-items:center!important;gap:7px!important;padding:0 10px!important;border:1px solid var(--cc-line)!important;background:#fff!important;border-radius:8px!important;font-size:11px!important;font-weight:700!important}
.v8-team-dot{width:7px!important;height:7px!important;border-radius:50%!important;background:#22c55e!important}
.v8-kpis{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;margin-bottom:12px!important}
.v8-kpi{min-height:128px!important;padding:16px!important;border:1px solid var(--cc-line)!important;border-radius:12px!important;background:#fff!important;box-shadow:var(--cc-shadow)!important}
.v8-kpi:hover{box-shadow:var(--cc-shadow-hover)!important}
.v8-kpi-icon{width:34px!important;height:34px!important;border-radius:9px!important;background:#edf4ff!important;color:var(--cc-blue)!important;display:flex!important;align-items:center!important;justify-content:center!important;margin-bottom:10px!important}
.v8-kpi-icon svg{width:20px!important;height:20px!important}
.v8-kpi-label{font-size:10px!important;font-weight:750!important;color:#66778e!important;text-transform:none!important}
.v8-kpi-value{font-size:26px!important;line-height:1.1!important;color:#1450b8!important;font-weight:800!important;letter-spacing:-.04em!important;margin-top:4px!important}
.v8-kpi-meta{font-size:10px!important;color:#8190a4!important;margin-top:4px!important}
.v8-grid-main{display:grid!important;grid-template-columns:minmax(0,1.7fr) minmax(280px,.85fr)!important;gap:12px!important;margin-bottom:12px!important}
.v8-card{background:#fff!important;border:1px solid var(--cc-line)!important;border-radius:12px!important;box-shadow:var(--cc-shadow)!important;padding:16px!important}
.v8-card:hover{box-shadow:var(--cc-shadow-hover)!important}
.v8-card-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:12px!important;margin-bottom:13px!important}
.v8-card-title{font-size:13px!important;font-weight:800!important;color:var(--cc-text)!important}
.v8-card-sub{font-size:10px!important;color:#8290a3!important;margin-top:2px!important}
.v8-chart{height:270px!important}
.v8-side-stack{display:grid!important;gap:12px!important;align-content:start!important}
.v8-action-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
.v8-action{min-height:48px!important;display:flex!important;align-items:center!important;gap:9px!important;padding:9px 10px!important;border:1px solid var(--cc-line)!important;border-radius:9px!important;background:#fff!important;color:#34465f!important;font-size:11px!important;font-weight:700!important;text-align:left!important}
.v8-action svg{width:17px!important;height:17px!important;color:var(--cc-blue)!important;flex:none!important}
.v8-action:hover{background:#f7faff!important;border-color:#c5d7ee!important}
.v8-bottom-grid{display:grid!important;grid-template-columns:1.35fr 1fr!important;gap:12px!important;margin-top:12px!important}
.v8-days{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:6px!important}
.v8-day{min-height:72px!important;padding:8px 7px!important;border:1px solid var(--cc-line)!important;border-radius:8px!important;background:#fbfcfe!important}
.v8-day.today{background:#edf4ff!important;border-color:#b9d1f6!important}
.v8-day-label{font-size:9px!important;color:#8290a3!important;font-weight:800!important;text-transform:uppercase!important}
.v8-day-num{font-size:17px!important;font-weight:800!important;color:#20334e!important}
.v8-day-type{font-size:9px!important;color:var(--cc-blue)!important;margin-top:5px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.v8-match{padding:11px!important;border:1px solid var(--cc-line)!important;border-radius:9px!important;background:#fbfcfe!important}
.v8-match-badge{background:#edf4ff!important;color:var(--cc-blue)!important;border-radius:8px!important}
.v8-match-name{font-size:13px!important;font-weight:800!important;color:var(--cc-text)!important}
.v8-status{border-radius:999px!important;font-size:9px!important;font-weight:800!important;padding:4px 8px!important}
.v8-avatar{background:#edf4ff!important;color:var(--cc-blue)!important;border-radius:50%!important}
.v8-player-name{font-weight:750!important;color:var(--cc-text)!important}
.v8-player-pos{font-size:10px!important;color:#8794a6!important}
.v8-empty{padding:18px!important;color:#8290a3!important;text-align:center!important;background:#fbfcfe!important;border:1px dashed #dce5ef!important;border-radius:9px!important}

/* Modals and menus */
.modal-back{background:rgba(9,36,74,.42)!important;backdrop-filter:blur(7px)!important}
.modal,.modal-content{border:1px solid var(--cc-line)!important;border-radius:13px!important;box-shadow:0 24px 60px rgba(7,29,59,.18)!important}
.modal{background:#fff!important}
.modal h3{font-size:19px!important}
.modal-actions{border-top:1px solid var(--cc-line)!important}

/* Wellness */
.wellness-question{padding:16px!important}
.wellness-question h4{font-size:13px!important}
.wellness-question .score-btn,.wellness-question button{border-radius:8px!important}

/* Keep semantic workout/session colors intact. Only chrome is unified blue. */

@media(max-width:1100px){
  .v8-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .v8-grid-main{grid-template-columns:1fr!important}
}
@media(max-width:760px){
  #app-shell{grid-template-columns:1fr!important}
  aside.app-sidebar{width:220px!important}
  .app-header{padding:0 12px!important}
  .tab-panel{padding:18px 14px 36px!important}
  .v8-topbar{align-items:flex-start!important;flex-direction:column!important}
  .v8-top-actions{width:100%!important;flex-wrap:wrap!important}
  .v8-kpis{grid-template-columns:1fr 1fr!important}
  .v8-bottom-grid{grid-template-columns:1fr!important}
}
@media(max-width:520px){
  .v8-kpis{grid-template-columns:1fr!important}
  .v8-title{font-size:23px!important}
  .v8-action-grid{grid-template-columns:1fr!important}
  .v8-days{gap:3px!important}
  .v8-day{padding:6px 4px!important}
}
