/* ═══════════════════════════════════════════════════════════════
   ENTRENA PRO — app.css v2
   Tokens · Reset · Shell · Components
   Branding: Naranja #FF5A1F · Negro #07090F · Blanco #F5F7FA
═══════════════════════════════════════════════════════════════ */

/* ── TOKENS ─────────────────────────────────────────────────── */
:root {
  --accent:        #FF5A1F;
  --accent2:       #FF7A3F;
  --accent-soft:   rgba(255,90,31,.12);
  --accent-border: rgba(255,90,31,.35);
  --accent-glow:   0 0 32px rgba(255,90,31,.28);
  --accent-deep:   #E04A10;

  /* Dark theme (default) */
  --bg:    #07090F; --bg1: #07090F; --bg2:  #0D1017; --bg3:  #131822;
  --bg4:   #1A2130; --bg5:  #212940;
  --card:  #0F1420;
  --card2: #141B2B;
  --border:  rgba(255,255,255,.07);
  --border2: rgba(255,255,255,.14);
  --border3: rgba(255,90,31,.25);
  --text:  #EDF1FA; --text1: #EDF1FA; --text2: #8A9BB8; --text3: #3F506A;

  --font-d: 'Barlow Condensed', sans-serif;
  --font-b: 'IBM Plex Sans', sans-serif;
  --font-m: 'IBM Plex Mono', monospace;

  --r: 10px; --r-lg: 16px; --r-xl: 20px;
  --shadow-sm: 0 2px 8px rgba(0,0,0,.3);
  --shadow: 0 4px 20px rgba(0,0,0,.45), 0 1px 3px rgba(0,0,0,.25);
  --shadow-lg: 0 8px 40px rgba(0,0,0,.55), 0 2px 8px rgba(0,0,0,.3);
  --shadow-accent: 0 4px 20px rgba(255,90,31,.25);

  --sidebar-w: 232px;
  --topbar-h:  58px;

  --c-cycling:  #3D9EE8; --c-running: #F5A623;
  --c-swimming: #1BC5BD; --c-strength:#FF5A1F;
  --c-tri:      #9B59B6; --c-green:   #22C55E;
  --c-red:      #EF4444; --c-amber:   #F59E0B;
  --c-cyan:     #00C2E0;
  --cy:         #00C2E0;
  --cam:        #F59E0B;
}

/* Themes */
[data-theme="light"] {
  --bg:#EEF2F9; --bg1:#EEF2F9; --bg2:#FFFFFF; --bg3:#E6ECF5; --bg4:#D8E2F0; --bg5:#C9D5E8;
  --card:#FFFFFF; --card2:#F4F7FD;
  --border:rgba(0,0,0,.08); --border2:rgba(0,0,0,.15); --border3:rgba(255,90,31,.2);
  --text:#0F1928; --text1:#0F1928; --text2:#445575; --text3:#9AAFC8;
  --shadow-sm:0 2px 8px rgba(0,0,0,.06); --shadow:0 4px 20px rgba(0,0,0,.08),0 1px 3px rgba(0,0,0,.04); --shadow-lg:0 8px 40px rgba(0,0,0,.12);
}
[data-theme="slate"] {
  --bg:#181D2C; --bg1:#181D2C; --bg2:#1E2438; --bg3:#252D44; --bg4:#2C3650; --bg5:#34405E;
  --card:#1E2438; --card2:#232A42;
  --border:rgba(80,110,170,.1); --border2:rgba(80,110,170,.2); --border3:rgba(255,90,31,.25);
  --text:#C8D4EC; --text1:#C8D4EC; --text2:#7A90B8; --text3:#44586E;
}

/* Accents */
[data-accent="orange"]{--accent:#FF5A1F;--accent2:#FF7A3F;--accent-soft:rgba(255,90,31,.12);--accent-border:rgba(255,90,31,.35);--accent-glow:0 0 32px rgba(255,90,31,.28);--accent-deep:#E04A10;--shadow-accent:0 4px 20px rgba(255,90,31,.25)}
[data-accent="cyan"]  {--accent:#00C2E0;--accent2:#20D4F0;--accent-soft:rgba(0,194,224,.12);--accent-border:rgba(0,194,224,.35);--accent-glow:0 0 32px rgba(0,194,224,.22);--accent-deep:#00A0BB;--shadow-accent:0 4px 20px rgba(0,194,224,.2)}
[data-accent="green"] {--accent:#22C55E;--accent2:#34D671;--accent-soft:rgba(34,197,94,.12);--accent-border:rgba(34,197,94,.35);--accent-glow:0 0 32px rgba(34,197,94,.22);--accent-deep:#18A84D;--shadow-accent:0 4px 20px rgba(34,197,94,.2)}
[data-accent="violet"]{--accent:#7C3AED;--accent2:#8B4EF5;--accent-soft:rgba(124,58,237,.13);--accent-border:rgba(124,58,237,.35);--accent-glow:0 0 32px rgba(124,58,237,.28);--accent-deep:#6528D4;--shadow-accent:0 4px 20px rgba(124,58,237,.25)}
[data-accent="gold"]  {--accent:#F59E0B;--accent2:#FFAE1F;--accent-soft:rgba(245,158,11,.12);--accent-border:rgba(245,158,11,.35);--accent-glow:0 0 32px rgba(245,158,11,.22);--accent-deep:#D98506;--shadow-accent:0 4px 20px rgba(245,158,11,.2)}
[data-accent="rose"]  {--accent:#F43F5E;--accent2:#FF5577;--accent-soft:rgba(244,63,94,.12);--accent-border:rgba(244,63,94,.35);--accent-glow:0 0 32px rgba(244,63,94,.25);--accent-deep:#D42B4A;--shadow-accent:0 4px 20px rgba(244,63,94,.22)}

/* ── RESET ───────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:14px;overflow-x:hidden}
body{font-family:var(--font-b);background:var(--bg);color:var(--text);min-height:100vh;transition:background .25s,color .25s;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}
input,select,textarea,button{font-family:var(--font-b)}
a{color:inherit;text-decoration:none}
::-webkit-scrollbar{width:5px;height:5px}
::-webkit-scrollbar-thumb{background:var(--bg4);border-radius:5px}
::-webkit-scrollbar-track{background:transparent}
code{font-family:var(--font-m);background:var(--bg3);padding:1px 5px;border-radius:4px;font-size:.9em}

/* ── SHELL ───────────────────────────────────────────────────── */
.shell{display:grid;grid-template-columns:var(--sidebar-w) 1fr;grid-template-rows:var(--topbar-h) 1fr;min-height:100vh;transition:grid-template-columns .3s cubic-bezier(.4,0,.2,1)}
.shell.nav-compact{--sidebar-w:60px}

/* ── TOPBAR ──────────────────────────────────────────────────── */
.topbar{
  grid-column:1/-1;
  background:var(--bg2);
  border-bottom:1px solid var(--border);
  display:flex;align-items:center;
  height:var(--topbar-h);
  position:sticky;top:0;z-index:80;
  box-shadow:0 2px 20px rgba(0,0,0,.25);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}
.topbar-brand{
  width:var(--sidebar-w);flex-shrink:0;
  display:flex;align-items:center;gap:10px;
  padding:0 20px;height:100%;
  border-right:1px solid var(--border);
  overflow:hidden;transition:width .3s;
}
.nav-compact .topbar-brand{padding:0;justify-content:center}
.brand-mark{
  width:36px;height:36px;
  background:linear-gradient(135deg,var(--accent) 0%,var(--accent-deep) 100%);
  border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  font-size:18px;flex-shrink:0;
  box-shadow:var(--accent-glow),0 3px 10px rgba(0,0,0,.3);
  transition:transform .2s;
}
.brand-mark:hover{transform:scale(1.05)}
.brand-name{
  font-family:var(--font-d);font-size:20px;font-weight:900;
  letter-spacing:3px;white-space:nowrap;overflow:hidden;
  transition:opacity .25s,max-width .3s;
  color:var(--text1);
}
.brand-name span{color:var(--accent);text-shadow:0 0 20px rgba(255,90,31,.4)}
.nav-compact .brand-name{opacity:0;max-width:0}
.topbar-center{flex:1;display:flex;align-items:center;padding:0 20px}
.tb-search{
  background:var(--bg3);border:1px solid var(--border);
  color:var(--text);padding:8px 14px 8px 38px;
  border-radius:10px;font-size:13px;width:220px;outline:none;
  transition:border-color .2s,width .3s,box-shadow .2s;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='%233F506A' viewBox='0 0 16 16'%3E%3Cpath d='M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.868-3.834zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:12px center;
}
.tb-search:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);width:280px}
.tb-search::placeholder{color:var(--text3)}
.topbar-right{display:flex;align-items:center;gap:8px;padding-right:18px;margin-left:auto}
.tb-btn{
  display:flex;align-items:center;gap:6px;
  padding:7px 14px;background:var(--bg3);
  border:1px solid var(--border);color:var(--text2);
  border-radius:10px;font-size:12px;font-weight:600;
  cursor:pointer;transition:all .2s;white-space:nowrap;text-decoration:none;
}
.tb-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}
.tb-btn.primary{
  background:linear-gradient(135deg,var(--accent) 0%,var(--accent-deep) 100%);
  border-color:transparent;color:#fff;
  box-shadow:var(--shadow-accent);
}
.tb-btn.primary:hover{filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 6px 24px rgba(255,90,31,.4)}
.tb-avatar{
  width:34px;height:34px;border-radius:50%;
  background:linear-gradient(135deg,var(--accent) 0%,var(--accent-deep) 100%);
  display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:13px;
  border:2px solid var(--border2);cursor:pointer;flex-shrink:0;
  transition:border-color .2s,box-shadow .2s;text-decoration:none;color:#fff;
  box-shadow:0 2px 8px rgba(0,0,0,.3);
}
.tb-avatar:hover{border-color:var(--accent);box-shadow:0 0 16px rgba(255,90,31,.4)}
/* ── TOPBAR MOBILE DROPDOWN ──────────────────────────────────── */
.tb-desktop-only{display:inline}           /* visible en desktop */
.tb-mob-menu{display:none;position:relative} /* oculto en desktop */
.tb-mob-drop{
  display:none;flex-direction:column;gap:2px;
  position:fixed;top:var(--topbar-h);right:10px;
  background:var(--bg2);border:1px solid var(--border);
  border-radius:14px;padding:8px;
  box-shadow:var(--shadow-lg);z-index:200;min-width:210px;
}
.tb-mob-drop.open{display:flex}
.tb-mob-drop form{display:block}
.tb-mob-item{
  display:flex;align-items:center;gap:12px;
  padding:11px 14px;border-radius:9px;
  font-size:13px;font-weight:600;color:var(--text1);
  width:100%;background:none;border:none;cursor:pointer;
  text-align:left;text-decoration:none;transition:background .13s;
}
.tb-mob-item:hover{background:var(--bg3)}
.tb-mob-item span:first-child{font-size:17px;width:22px;text-align:center}

.user-pill{display:flex;align-items:center;gap:8px}
.user-info{display:flex;flex-direction:column;align-items:flex-end;line-height:1.2}
.user-name-text{font-size:12px;font-weight:700;color:var(--text1);white-space:nowrap}
.user-lang-btn{
  font-size:9px;font-weight:800;letter-spacing:.8px;
  color:var(--text3);text-decoration:none;
  padding:1px 5px;border-radius:4px;
  border:1px solid var(--border);
  transition:all .15s;background:var(--bg3);
}
.user-lang-btn:hover{color:var(--accent);border-color:var(--accent-border);background:var(--accent-soft)}

/* ── SIDEBAR ─────────────────────────────────────────────────── */
.sidebar{
  background:var(--bg2);border-right:1px solid var(--border);
  display:flex;flex-direction:column;
  padding:16px 0 18px;overflow:hidden;
  box-shadow:3px 0 24px rgba(0,0,0,.2);
  position:sticky;top:var(--topbar-h);height:calc(100vh - var(--topbar-h));
  overflow-y:auto;
}
.nav-section{margin-bottom:6px}
.nav-section-label{
  font-size:9px;font-weight:800;letter-spacing:2px;
  text-transform:uppercase;color:var(--text3);
  padding:14px 20px 5px;white-space:nowrap;transition:opacity .2s,padding .3s;
}
.nav-compact .nav-section-label{opacity:0;height:0;padding:0;overflow:hidden}
.nav-link{
  display:flex;align-items:center;gap:12px;
  padding:10px 20px 10px 18px;
  color:var(--text2);font-size:13px;font-weight:500;
  cursor:pointer;border-left:3px solid transparent;
  transition:all .15s;white-space:nowrap;text-decoration:none;
  margin:1px 8px 1px 0;border-radius:0 8px 8px 0;
}
.nav-link:hover{color:var(--text1);background:rgba(255,255,255,.04);border-left-color:var(--border2)}
.nav-link.active{
  color:var(--accent);border-left-color:var(--accent);
  background:var(--accent-soft);font-weight:700;
}
.nav-ico{font-size:16px;width:22px;text-align:center;flex-shrink:0;line-height:1}
.nav-txt{overflow:hidden;transition:max-width .3s,opacity .2s;white-space:nowrap}
.nav-compact .nav-txt{max-width:0;opacity:0}
.nav-compact .nav-link{justify-content:center;padding:10px 0;margin-right:0;border-radius:0}
.nav-badge{
  margin-left:auto;font-family:var(--font-m);font-size:9px;font-weight:800;
  background:var(--accent);color:#fff;
  padding:2px 7px;border-radius:20px;min-width:20px;text-align:center;
  box-shadow:0 2px 8px rgba(255,90,31,.3);
}
.nav-compact .nav-badge{display:none}
.sidebar-spacer{flex:1}
.sidebar-bottom{border-top:1px solid var(--border);padding-top:12px;margin-top:8px}
.collapse-trigger{
  display:flex;align-items:center;gap:12px;padding:8px 20px;
  cursor:pointer;color:var(--text3);font-size:12px;font-weight:600;
  transition:color .15s;
}
.collapse-trigger:hover{color:var(--text2)}
.nav-compact .collapse-trigger{justify-content:center;padding:8px 0}

/* ── CONTENT ─────────────────────────────────────────────────── */
.content{padding:28px 32px;overflow-y:auto;overflow-x:hidden;background:var(--bg)}

/* ── FLASH MESSAGES ──────────────────────────────────────────── */
.flash-container{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}
.alert{padding:12px 16px;border-radius:10px;font-size:13px;display:flex;align-items:center;gap:10px;position:relative}
.alert-success{background:rgba(34,197,94,.1); border:1px solid rgba(34,197,94,.25);color:#86EFAC}
.alert-error  {background:rgba(239,68,68,.1); border:1px solid rgba(239,68,68,.25);color:#FCA5A5}
.alert-info   {background:rgba(0,194,224,.1); border:1px solid rgba(0,194,224,.2); color:#7DD3EF}
.alert-warning{background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.25);color:#FDE68A}
.alert-close{margin-left:auto;background:none;border:none;color:currentColor;cursor:pointer;font-size:14px;opacity:.6;padding:2px 4px;line-height:1}
.alert-close:hover{opacity:1}

/* ── PAGE HEADER ─────────────────────────────────────────────── */
.pg-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:24px;gap:12px;flex-wrap:wrap}
.pg-title{font-family:var(--font-d);font-size:30px;font-weight:900;letter-spacing:1px;line-height:1;color:var(--text1)}
.pg-sub{font-size:13px;color:var(--text2);margin-top:5px;font-weight:400}
.pg-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}

/* ── CARDS ───────────────────────────────────────────────────── */
.card{
  background:var(--card);border:1px solid var(--border);
  border-radius:var(--r-lg);box-shadow:var(--shadow);
  transition:border-color .2s,box-shadow .2s,transform .2s;
}
.card:hover{border-color:var(--border2);box-shadow:var(--shadow-lg)}
.card-p{padding:20px 22px}
.card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.card-lbl{
  font-size:10px;font-weight:800;letter-spacing:1.8px;
  text-transform:uppercase;color:var(--text3);
}
.card-chip{
  font-family:var(--font-m);font-size:10.5px;
  background:var(--accent-soft);color:var(--accent);
  padding:3px 10px;border-radius:20px;border:1px solid var(--accent-border);
  font-weight:600;
}

/* ── KPI ─────────────────────────────────────────────────────── */
.kpi-row{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:24px}
.kpi{
  background:var(--card);border:1px solid var(--border);
  border-radius:var(--r-lg);padding:18px 20px;
  position:relative;overflow:hidden;
  transition:transform .2s,border-color .2s,box-shadow .2s;
  text-decoration:none;color:inherit;cursor:pointer;
  box-shadow:var(--shadow-sm);
}
.kpi::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:var(--kc,var(--accent));border-radius:var(--r-lg) var(--r-lg) 0 0;
}
.kpi::after{
  content:'';position:absolute;bottom:0;right:0;
  width:60px;height:60px;
  background:radial-gradient(circle,var(--kc,var(--accent)) 0%,transparent 70%);
  opacity:.06;border-radius:50%;transform:translate(20%,20%);
}
.kpi:hover{transform:translateY(-3px);border-color:var(--border2);box-shadow:var(--shadow)}
.kpi-lbl{font-size:9.5px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--text3);margin-bottom:10px}
.kpi-val{font-family:var(--font-d);font-size:40px;font-weight:900;line-height:1;color:var(--kc,var(--text1))}
.kpi-sub{font-size:11px;color:var(--text3);margin-top:5px}
.kpi-badge{
  display:inline-flex;align-items:center;gap:3px;
  font-size:10px;font-weight:700;padding:2px 8px;
  border-radius:4px;margin-top:6px;
}
.up{background:rgba(34,197,94,.14);color:#22C55E}
.down{background:rgba(239,68,68,.14);color:#EF4444}
.neu{background:rgba(100,116,139,.12);color:#64748B}
.kpi:nth-child(1){animation:kpiIn .35s .05s both}
.kpi:nth-child(2){animation:kpiIn .35s .10s both}
.kpi:nth-child(3){animation:kpiIn .35s .15s both}
.kpi:nth-child(4){animation:kpiIn .35s .20s both}
.kpi:nth-child(5){animation:kpiIn .35s .25s both}
@keyframes kpiIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}

/* ── GRID LAYOUTS ────────────────────────────────────────────── */
.grid-2-1{display:grid;grid-template-columns:2fr 1fr;gap:18px;margin-bottom:18px}
.grid-2  {display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}
.grid-3  {display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px;margin-bottom:18px}
.chart-h {height:210px}
.chart-hm{height:180px}

/* ── FORM STATUS ─────────────────────────────────────────────── */
.fs-list{display:flex;flex-direction:column;gap:12px}
.fs-row{display:flex;align-items:center;gap:10px}
.fs-lbl{font-size:11.5px;color:var(--text2);width:100px;flex-shrink:0;font-weight:500}
.fs-track{flex:1;height:6px;background:var(--bg4);border-radius:4px;overflow:hidden}
.fs-fill{height:100%;border-radius:4px;transition:width .7s ease}
.fs-val{font-family:var(--font-m);font-size:13px;font-weight:700;width:32px;text-align:right}
.form-rec-box{
  margin-top:14px;padding:12px 16px;
  background:var(--bg3);border-radius:var(--r);
  border-left:3px solid var(--accent);
  font-size:13px;color:var(--text2);line-height:1.6;
}
.biometrics{
  display:flex;gap:20px;margin-top:14px;padding-top:12px;
  border-top:1px solid var(--border);font-size:11.5px;color:var(--text3);flex-wrap:wrap;
}
.biometrics strong{color:var(--text1);font-family:var(--font-m);font-weight:700}

/* ── ACTIVITY LIST ───────────────────────────────────────────── */
.act-list{display:flex;flex-direction:column;gap:8px}
.act-item{
  display:flex;align-items:center;gap:12px;
  padding:12px 16px;background:var(--card2);
  border:1px solid var(--border);border-radius:12px;
  cursor:pointer;transition:all .18s;text-decoration:none;color:inherit;
  min-width:0;
}
.act-item:hover{border-color:var(--accent-border);background:var(--bg3);box-shadow:var(--shadow-sm)}
.act-icon{
  width:42px;height:42px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  font-size:20px;flex-shrink:0;
}
.act-info{flex:1;min-width:0}
.act-name{font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text1)}
.act-meta{font-size:11px;color:var(--text3);margin-top:3px}
.act-stats{display:flex;gap:14px;flex-shrink:0}
.act-s{text-align:right}
.act-sv{font-family:var(--font-m);font-size:13px;font-weight:700;color:var(--text1)}
.act-sl{font-size:9px;text-transform:uppercase;letter-spacing:.8px;color:var(--text3);margin-top:1px}

/* ── UPCOMING WORKOUTS ───────────────────────────────────────── */
.up-list{display:flex;flex-direction:column;gap:7px}
.up-item{
  display:flex;align-items:center;gap:12px;padding:10px 14px;
  background:var(--card2);border-left:3px solid var(--border2);
  border-radius:8px;cursor:pointer;transition:all .15s;
  border:1px solid var(--border);border-left-width:3px;
}
.up-item:hover{background:var(--bg3);border-color:var(--border2)}
.up-item.key-w{border-left-color:var(--accent)}
.up-item.coach-planned{border-left-color:#F59E0B}
.up-day{font-family:var(--font-m);font-size:10px;font-weight:700;color:var(--text3);width:28px}
.up-info{flex:1}
.up-title{font-size:13px;font-weight:600;color:var(--text1)}
.up-detail{font-size:11px;color:var(--text3);margin-top:2px}
.up-tss{font-family:var(--font-m);font-size:13px;font-weight:800;color:var(--accent)}
.coach-badge{
  font-size:9px;font-weight:800;letter-spacing:.5px;
  background:rgba(245,158,11,.15);color:#F59E0B;
  padding:1px 7px;border-radius:4px;border:1px solid rgba(245,158,11,.3);
}

/* ── EMPTY STATE ─────────────────────────────────────────────── */
.empty-state{text-align:center;padding:48px 20px;color:var(--text3)}
.es-icon{font-size:52px;margin-bottom:14px;opacity:.8}
.es-text{font-size:14px;color:var(--text2);margin-bottom:6px}

/* ── CALENDAR ── IMPROVED ────────────────────────────────────── */
.cal-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:12px}
.cal-month-nav{display:flex;align-items:center;gap:14px}
.cal-title{font-family:var(--font-d);font-size:32px;font-weight:900;letter-spacing:1.5px;color:var(--text1)}
.cal-nav-btn{
  width:34px;height:34px;background:var(--card);
  border:1px solid var(--border);border-radius:10px;
  color:var(--text2);cursor:pointer;font-size:14px;
  display:flex;align-items:center;justify-content:center;
  transition:all .15s;
}
.cal-nav-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}
.cal-legend{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.cal-leg{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text2)}
.cal-leg-dot{width:8px;height:8px;border-radius:3px}
.cal-wrap{background:var(--card);border:1px solid var(--border);border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--shadow)}
.cal-wdays{display:grid;grid-template-columns:repeat(7,1fr);background:var(--bg3);border-bottom:1px solid var(--border2)}
.cal-wd{text-align:center;font-size:10px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--text3);padding:10px 0}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr)}
.cal-cell{
  min-height:110px;border:1px solid var(--border);
  padding:8px;cursor:pointer;transition:background .15s;
  position:relative;overflow:hidden;
}
.cal-cell:hover{background:var(--bg3)}
.cal-cell.today{background:var(--accent-soft);border-color:var(--accent-border)}
.cal-cell.today .cal-dn{color:var(--accent);font-weight:800}
.cal-cell.today::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--accent)}
.cal-cell.other-month{opacity:.2;pointer-events:none}
.cal-dn{
  font-size:12px;font-weight:700;color:var(--text2);
  margin-bottom:5px;display:flex;align-items:center;justify-content:space-between;
}
.cal-tss{font-family:var(--font-m);font-size:8.5px;color:var(--text3);margin-bottom:4px;font-weight:600}
.cal-ev{
  font-size:10px;padding:3px 6px;
  border-radius:4px;margin-bottom:2px;font-weight:600;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  border-left:3px solid;display:block;
}
.cal-ev-wrap{display:flex;align-items:center;gap:2px;margin-bottom:2px}
.ev-cycling {background:rgba(61,158,232,.15);color:#7DC3F0;border-left-color:var(--c-cycling)}
.ev-running {background:rgba(245,166,35,.15); color:#F5C870;border-left-color:var(--c-running)}
.ev-swimming{background:rgba(27,197,189,.15); color:#5EDDD8;border-left-color:var(--c-swimming)}
.ev-strength{background:rgba(255,90,31,.13);  color:#FF9A6C;border-left-color:var(--c-strength)}
.ev-tri     {background:rgba(155,89,182,.15); color:#C39BD3;border-left-color:var(--c-tri)}
.ev-other   {background:rgba(100,116,139,.12);color:#94A3B8;border-left-color:var(--text3)}
.ev-done    {opacity:.45;text-decoration:line-through}
.ev-coach   {border-left-color:#F59E0B!important;border-left-style:dashed!important}
.cal-day-num{
  width:24px;height:24px;display:flex;align-items:center;justify-content:center;
  border-radius:50%;font-size:12px;font-weight:700;
}
.cal-cell.today .cal-day-num{
  background:var(--accent);color:#fff;
  box-shadow:0 2px 8px rgba(255,90,31,.4);
}

/* ── FORMS ───────────────────────────────────────────────────── */
.form-group,.fg{margin-bottom:16px}
.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-label,.flbl{
  display:block;font-size:9.5px;font-weight:800;
  letter-spacing:1.4px;text-transform:uppercase;
  color:var(--text3);margin-bottom:7px;
}
.input-wrap,.form-input-wrap{position:relative}
.form-input,.fc{
  width:100%;background:var(--bg3);border:1px solid var(--border);
  color:var(--text1);padding:10px 14px;border-radius:10px;
  font-size:13.5px;outline:none;transition:all .2s;
}
.form-input:focus,.fc:focus{
  border-color:var(--accent);
  box-shadow:0 0 0 3px var(--accent-soft);
  background:var(--bg4);
}
.form-input::placeholder,.fc::placeholder{color:var(--text3)}
.input-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:14px;color:var(--text3);pointer-events:none}
.with-icon{padding-left:36px}
.pass-toggle{position:absolute;right:11px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text3);cursor:pointer;font-size:16px;padding:3px;transition:color .15s}
.pass-toggle:hover{color:var(--accent)}
.pass-strength{margin-top:5px;height:3px;background:var(--bg3);border-radius:3px;overflow:hidden}
.pass-strength-bar{height:100%;border-radius:3px;transition:width .3s,background .3s;width:0}
.pass-strength-text{font-size:10px;color:var(--text3);margin-top:3px}
textarea.fc{resize:vertical;min-height:90px}
select.fc{
  appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='%238A9BB8'%3E%3Cpath d='M0 0l5 6 5-6z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;
  padding-right:32px;cursor:pointer;
}
.btn-submit,.btn-pr,.btn-p{
  padding:11px 22px;
  background:linear-gradient(135deg,var(--accent) 0%,var(--accent-deep) 100%);
  color:#fff;border:none;border-radius:10px;
  font-family:var(--font-d);font-size:16px;font-weight:800;
  letter-spacing:.8px;cursor:pointer;transition:all .2s;
  box-shadow:var(--shadow-accent);
  text-decoration:none;display:inline-flex;align-items:center;gap:6px;
}
.btn-submit{width:100%;font-size:17px;margin-top:6px;justify-content:center}
.btn-submit:hover,.btn-pr:hover,.btn-p:hover{
  filter:brightness(1.1);transform:translateY(-2px);
  box-shadow:0 6px 24px rgba(255,90,31,.45);
}
.btn-sec,.btn-s{
  padding:9px 18px;background:var(--bg3);
  border:1px solid var(--border);color:var(--text2);
  border-radius:10px;font-size:13px;font-weight:600;
  cursor:pointer;transition:all .2s;text-decoration:none;
  display:inline-flex;align-items:center;gap:6px;
}
.btn-sec:hover,.btn-s:hover{color:var(--text1);border-color:var(--accent);background:var(--accent-soft)}
.form-footer{display:flex;gap:10px;justify-content:flex-end;margin-top:20px;padding-top:18px;border-top:1px solid var(--border)}

/* ── PROFILE / SETTINGS ──────────────────────────────────────── */
.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.s-section-lbl{font-size:9.5px;font-weight:800;letter-spacing:1.8px;text-transform:uppercase;color:var(--text3);padding-bottom:10px;border-bottom:1px solid var(--border);margin-bottom:14px}
.s-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border);font-size:13px}
.s-row:last-child{border-bottom:none}
.s-key{color:var(--text2)}
.s-val{font-family:var(--font-m);font-size:12px;font-weight:600;color:var(--text1)}

/* ── TOGGLE ──────────────────────────────────────────────────── */
.toggle{position:relative;width:42px;height:23px;cursor:pointer;display:inline-block}
.toggle input{display:none}
.toggle-track{position:absolute;inset:0;background:var(--bg4);border:1px solid var(--border2);border-radius:12px;transition:.2s}
.toggle input:checked+.toggle-track{background:var(--accent);border-color:var(--accent)}
.toggle-thumb{position:absolute;top:3px;left:3px;width:15px;height:15px;background:#fff;border-radius:50%;transition:.2s;box-shadow:0 1px 4px rgba(0,0,0,.3)}
.toggle input:checked~.toggle-thumb{left:22px}

/* ── CONNECTIONS ─────────────────────────────────────────────── */
.conn-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.conn-card{
  background:var(--card);border:1px solid var(--border);
  border-radius:var(--r-xl);padding:26px 22px;
  text-align:center;transition:all .2s;
  box-shadow:var(--shadow-sm);
}
.conn-card:hover{border-color:var(--border2);box-shadow:var(--shadow)}
.conn-card.connected{border-color:rgba(34,197,94,.3);background:rgba(34,197,94,.04)}
.conn-logo{font-size:40px;margin-bottom:12px}
.conn-name{font-size:16px;font-weight:800;font-family:var(--font-d);margin-bottom:6px;letter-spacing:.5px;color:var(--text1)}
.conn-desc{font-size:12px;color:var(--text3);margin-bottom:18px;line-height:1.6}
.conn-on {font-size:12px;font-weight:700;color:#22C55E;margin-bottom:12px;display:flex;align-items:center;justify-content:center;gap:5px}
.conn-off{font-size:12px;color:var(--text3);margin-bottom:12px}
.conn-sync{font-size:11px;color:var(--text3);margin-top:8px}
.conn-coming{
  font-size:10px;font-weight:700;letter-spacing:.5px;
  background:rgba(100,116,139,.15);color:var(--text3);
  padding:3px 10px;border-radius:20px;display:inline-block;margin-bottom:14px;
}

/* ── TABLE ───────────────────────────────────────────────────── */
.data-table{width:100%;border-collapse:collapse;font-size:13px}
.data-table th{
  text-align:left;font-size:9px;font-weight:800;letter-spacing:1.5px;
  text-transform:uppercase;color:var(--text3);
  padding:10px 14px;border-bottom:1px solid var(--border2);
  background:var(--bg3);
}
.data-table td{padding:11px 14px;border-bottom:1px solid var(--border);color:var(--text2)}
.data-table tr:last-child td{border-bottom:none}
.data-table tr:hover td{background:var(--bg3)}
.data-table .mono{font-family:var(--font-m);color:var(--text1);font-weight:600}

/* ── PAGINATION ──────────────────────────────────────────────── */
.pagination{display:flex;gap:6px;justify-content:center;margin-top:22px}
.page-btn{
  padding:7px 13px;background:var(--card);border:1px solid var(--border);
  border-radius:8px;font-size:12px;color:var(--text2);cursor:pointer;
  text-decoration:none;transition:all .15s;
}
.page-btn:hover,.page-btn.active{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}

/* ── SPORT SELECTOR ──────────────────────────────────────────── */
.sport-selector{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:6px}
.sport-opt{
  padding:12px 6px;background:var(--bg3);border:1px solid var(--border);
  border-radius:10px;text-align:center;cursor:pointer;transition:all .15s;
}
.sport-opt:hover{border-color:var(--border2);background:var(--bg4)}
.sport-opt.selected{border-color:var(--accent);background:var(--accent-soft)}
.sport-opt-icon{font-size:22px;margin-bottom:5px}
.sport-opt-lbl{font-size:10px;font-weight:700;color:var(--text3);letter-spacing:.5px}
.sport-opt.selected .sport-opt-lbl{color:var(--accent)}

/* ── DIVIDER ─────────────────────────────────────────────────── */
.divider{height:1px;background:var(--border);margin:18px 0}
.section-title{font-family:var(--font-d);font-size:22px;font-weight:900;letter-spacing:.8px;margin-bottom:16px;color:var(--text1)}

/* ── ANIMATIONS ──────────────────────────────────────────────── */
@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
.fade-up{animation:fadeUp .35s ease both}
@keyframes slideIn{from{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}

/* ── COACH FEATURES ──────────────────────────────────────────── */
.compliance-bar{height:6px;background:var(--bg4);border-radius:3px;overflow:hidden;width:80px}
.compliance-fill{height:100%;border-radius:3px;transition:width .5s}
.status-green{color:#22C55E}.status-yellow{color:#F59E0B}.status-red{color:#EF4444}
.athlete-card{
  background:var(--card);border:1px solid var(--border);
  border-radius:var(--r-lg);padding:18px;transition:all .15s;
}
.athlete-card:hover{border-color:var(--border2);box-shadow:var(--shadow-sm)}
.alert-row{
  display:flex;align-items:center;gap:12px;padding:10px 14px;
  border-radius:10px;margin-bottom:8px;border:1px solid;
}
.alert-row-warn{background:rgba(245,158,11,.1);border-color:rgba(245,158,11,.25);color:#FDE68A}
.alert-row-danger{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.25);color:#FCA5A5}
.alert-row-info{background:rgba(0,194,224,.08);border-color:rgba(0,194,224,.2);color:#7DD3EF}

/* ── CTL/ATL LIMITS ─────────────────────────────────────────── */
.limits-bar{
  position:relative;height:8px;background:var(--bg4);
  border-radius:4px;overflow:visible;margin:4px 0;
}
.limits-fill{height:100%;border-radius:4px;transition:width .5s}
.limits-target{
  position:absolute;top:50%;transform:translateY(-50%);
  width:3px;height:16px;border-radius:2px;
}

/* ── BIODATA ──────────────────────────────────────────────────── */
.sq-btn{text-align:center;padding:9px 6px;background:var(--bg3);border:1px solid var(--border);border-radius:8px;font-size:13px;transition:.15s;cursor:pointer}
.sq-btn:hover{border-color:var(--border2)}
.sq-on{background:var(--accent-soft);border-color:var(--accent)!important;color:var(--accent)}
input[type=range]{-webkit-appearance:none;width:100%;height:5px;border-radius:3px;background:var(--bg4);outline:none;margin-top:10px}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--accent);cursor:pointer;box-shadow:0 2px 6px rgba(255,90,31,.4)}

/* ── MODAL ─────────────────────────────────────────────────────── */
.modal-ov{display:none;position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.65);align-items:center;justify-content:center;backdrop-filter:blur(6px)}
.modal-ov.open{display:flex!important}
.modal{
  background:var(--bg2);border:1px solid var(--border2);
  border-radius:var(--r-xl);padding:28px 30px;
  width:460px;max-width:96vw;
  box-shadow:0 24px 80px rgba(0,0,0,.6),0 4px 12px rgba(0,0,0,.3);
  animation:fadeUp .25s ease both;
}

/* ── DELETE CONFIRMATION MODAL ─────────────────────────────────── */
#deleteModal .modal{max-width:380px}

/* ── EXPORT BUTTONS ───────────────────────────────────────────── */
.export-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.export-btn{
  display:inline-flex;align-items:center;gap:6px;padding:8px 16px;
  border:1px solid var(--border);border-radius:8px;
  background:var(--bg3);color:var(--text2);
  font-size:12px;font-weight:600;text-decoration:none;transition:all .15s;
}
.export-btn:hover{border-color:var(--accent);color:var(--accent)}

/* ── COMMENT THREAD ───────────────────────────────────────────── */
.comment{padding:12px 16px;background:var(--bg3);border-radius:var(--r);margin-bottom:10px;border-left:3px solid var(--border2)}
.comment.coach{border-left-color:var(--accent);background:var(--accent-soft)}
.comment-meta{font-size:10px;color:var(--text3);margin-bottom:6px;font-weight:600;letter-spacing:.3px}
.comment-body{font-size:13px;color:var(--text2);line-height:1.6}
.chat-bubble{
  display:flex;gap:10px;margin-bottom:14px;
}
.chat-bubble.own{flex-direction:row-reverse}
.chat-avatar{
  width:32px;height:32px;border-radius:50%;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  font-size:13px;font-weight:800;font-family:var(--font-d);
}
.chat-content{max-width:70%}
.chat-bubble.own .chat-content{text-align:right}
.chat-msg{
  display:inline-block;padding:10px 14px;border-radius:14px;
  font-size:13px;line-height:1.55;word-break:break-word;
}
.chat-bubble:not(.own) .chat-msg{background:var(--bg3);color:var(--text1);border:1px solid var(--border);border-radius:4px 14px 14px 14px}
.chat-bubble.own .chat-msg{background:var(--accent);color:#fff;border-radius:14px 4px 14px 14px}
.chat-time{font-size:9.5px;color:var(--text3);margin-top:4px;display:block}

/* ── CHAT LAYOUT ─────────────────────────────────────────────── */
.chat-card{
  display:flex;flex-direction:column;
  height:calc(100vh - 230px);min-height:420px;max-height:700px;
}
.chat-messages-wrap{
  flex:1;overflow-y:auto;padding:20px 22px;
  display:flex;flex-direction:column;gap:4px;
}
.chat-input-area{border-top:1px solid var(--border);padding:14px 18px;flex-shrink:0}
.chat-input-row{display:flex;gap:10px;align-items:flex-end}
.chat-textarea{flex:1;resize:none;min-height:46px;max-height:120px;line-height:1.5}
.chat-send-btn{flex-shrink:0;height:46px;width:46px;padding:0;font-size:18px;border-radius:50%;display:flex;align-items:center;justify-content:center}

/* ── WORKOUT FORM GRID ───────────────────────────────────────── */
.wk-form-grid{display:grid;grid-template-columns:1fr 320px;gap:18px;align-items:start}

/* ── WORKOUT PLANNER BADGES ───────────────────────────────────── */
.planned-by-coach{
  display:inline-flex;align-items:center;gap:4px;
  font-size:9px;font-weight:800;letter-spacing:.5px;
  background:rgba(245,158,11,.15);color:#F59E0B;
  padding:2px 8px;border-radius:4px;border:1px solid rgba(245,158,11,.3);
  text-transform:uppercase;
}
.planned-by-athlete{
  display:inline-flex;align-items:center;gap:4px;
  font-size:9px;font-weight:800;letter-spacing:.5px;
  background:rgba(61,158,232,.12);color:#5BB3F0;
  padding:2px 8px;border-radius:4px;border:1px solid rgba(61,158,232,.25);
  text-transform:uppercase;
}

/* ── DRAG AND DROP ────────────────────────────────────────────── */
.workout-draggable{cursor:grab;transition:all .2s;user-select:none}
.workout-draggable:active{cursor:grabbing}
.workout-draggable.dragging{opacity:.5;transform:scale(.98)}
.workout-draggable.drag-over{border-color:var(--accent)!important;background:var(--accent-soft)!important}

/* ── COMPARE / PROGRESS VIEWS ─────────────────────────────────── */
.g2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:768px){.g2{grid-template-columns:1fr}}
.tbb{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:8px;font-size:12px;font-weight:600;text-decoration:none;border:1px solid var(--border);color:var(--text2);background:var(--bg3);transition:all .15s;cursor:pointer}
.tbb:hover,.tbb.primary{color:var(--accent);border-color:var(--accent-border);background:var(--accent-soft)}
.tbb.primary{background:var(--accent);color:#fff;border-color:var(--accent)}
.tbb.primary:hover{opacity:.9}
/* Logo completo / icono según estado sidebar */
.nav-compact .brand-full{display:none!important}
.nav-compact .brand-icon{display:block!important}
/* Logo en tema claro */
[data-theme="light"] .brand-full{filter:brightness(0)}

/* ── PROGRESS BAR ─────────────────────────────────────────────── */
.progress-wrap{background:var(--bg4);border-radius:4px;overflow:hidden;height:6px;margin-top:4px}
.progress-fill{height:100%;border-radius:4px;transition:width .6s ease}

/* ── COACH LIMITS ─────────────────────────────────────────────── */
.limit-indicator{
  display:flex;align-items:center;gap:8px;font-size:11px;
  padding:6px 10px;background:var(--bg3);border-radius:6px;
  border:1px solid var(--border);margin-top:6px;
}
.limit-gap{font-family:var(--font-m);font-weight:700}
.limit-gap.positive{color:#22C55E}
.limit-gap.negative{color:#EF4444}

/* ═══════════════════════════════════════════════════════════════
   RESPONSIVE — Fully mobile-adaptive
═══════════════════════════════════════════════════════════════ */

/* ── ACTIVITY DETAIL — mapa + gráficos ───────────────────────── */
.act-route-grid{display:grid;grid-template-columns:1fr;gap:16px;align-items:start}
.act-route-grid.has-map{grid-template-columns:1fr 400px}
#actMap{
  height:400px;border-radius:10px;
  overflow:hidden;border:1px solid var(--border);
  width:100%;
}
/* Tablet: mapa se estrecha */
@media(max-width:1100px){
  .act-route-grid.has-map{grid-template-columns:1fr 320px}
}
/* Móvil: gráficos y mapa en columna, mapa arriba */
@media(max-width:768px){
  .act-route-grid.has-map{grid-template-columns:1fr;display:flex;flex-direction:column-reverse;gap:12px}
  .act-map-wrap{width:100%}
  #actMap{height:220px;border-radius:8px}
}

/* Tablet */
@media(max-width:1100px){
  .kpi-row{grid-template-columns:repeat(3,1fr)}
  .grid-2-1{grid-template-columns:1fr}
  .grid-3{grid-template-columns:1fr 1fr}
  .settings-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:960px){
  .shell{grid-template-columns:60px 1fr;--sidebar-w:60px}
  .topbar-brand{padding:0;justify-content:center}
  .brand-name{opacity:0;max-width:0}
  .nav-txt{max-width:0;opacity:0}
  .nav-link{justify-content:center;padding:10px 0;margin-right:0;border-radius:0}
  .nav-section-label{opacity:0;height:0;padding:0;overflow:hidden}
  .collapse-trigger{justify-content:center;padding:8px 0}
  .nav-badge{display:none}
  .grid-2{grid-template-columns:1fr}
  .tb-search{display:none}
  .content{padding:20px 18px}
  .user-info{display:none}
}
/* Móvil */
@media(max-width:768px){
  .shell{grid-template-columns:1fr;grid-template-rows:var(--topbar-h) 1fr}
  .sidebar{display:none}
  .topbar{grid-column:1}
  .topbar-brand{width:auto;border-right:none;padding:0 14px}
  .brand-name{opacity:1!important;max-width:200px!important}
  .topbar-center{display:none}
  .topbar-right{padding-right:10px;gap:5px}
  /* ocultar botones desktop en móvil */
  .tb-desktop-only{display:none!important}
  /* mostrar dropdown móvil */
  .tb-mob-menu{display:block}
  /* ocultar botón "+ nuevo" en topbar móvil (ya está en dropdown) */
  .topbar-right > a.tb-btn.primary{display:none}
  .content{padding:16px 12px;padding-bottom:84px}
  .pg-head{flex-direction:column;align-items:flex-start;gap:10px}
  .pg-title{font-size:24px}
  .kpi-row{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:16px}
  .kpi-val{font-size:34px}
  .kpi{padding:14px 14px}
  .grid-2-1,.grid-2,.grid-3{grid-template-columns:1fr;gap:12px}
  .act-stats{display:none}
  .act-name{font-size:13px}
  .act-icon{width:36px;height:36px;font-size:17px}
  .card-p{padding:14px 14px}
  .data-table{font-size:11px}
  .data-table th,.data-table td{padding:8px 8px}
  .settings-grid{grid-template-columns:1fr!important}
  .form-row-2{grid-template-columns:1fr!important}
  .conn-grid{grid-template-columns:1fr!important}
  .cal-cell{min-height:80px;padding:5px}
  .cal-ev{font-size:9px;padding:2px 4px}
  .cal-title{font-size:22px}
  .sport-selector{grid-template-columns:repeat(2,1fr)}
  /* Fix 4: calendario — cabecera mes ocupa todo el ancho */
  .cal-hdr{flex-direction:column;align-items:stretch;gap:10px}
  .cal-month-nav{width:100%;justify-content:space-between}
  .cal-legend{flex-wrap:wrap;gap:8px}
  /* workouts — fila no desborda en móvil */
  .workout-draggable{flex-wrap:wrap}
  .workout-draggable > div:last-child{width:100%;justify-content:flex-end;padding-top:4px}

  /* Planificador — una columna en móvil */
  .wk-form-grid{grid-template-columns:1fr}

  /* Chat — altura adaptada a móvil */
  .chat-card{height:calc(100dvh - var(--topbar-h) - 140px);min-height:300px;max-height:none}
  .chat-input-area{padding:10px 14px}
  .chat-send-btn{height:44px;width:44px;font-size:16px}

  /* Mobile bottom nav */
  .mobile-nav{
    display:flex!important;
    position:fixed;bottom:0;left:0;right:0;
    background:var(--bg2);border-top:1px solid var(--border);
    z-index:90;padding:6px 0 env(safe-area-inset-bottom,6px);
    box-shadow:0 -4px 20px rgba(0,0,0,.2);
  }
  .mobile-nav a{
    flex:1;display:flex;flex-direction:column;align-items:center;
    gap:3px;padding:6px 4px;font-size:9px;color:var(--text3);
    text-decoration:none;font-weight:700;transition:color .15s;
  }
  .mobile-nav a.active{color:var(--accent)}
  .mobile-nav a span:first-child{font-size:20px;line-height:1}
}
/* Móvil pequeño */
@media(max-width:480px){
  .kpi-row{grid-template-columns:1fr 1fr;gap:8px}
  .kpi-lbl{font-size:8px;letter-spacing:.8px}
  .kpi-val{font-size:30px}
  .pg-title{font-size:20px}
  .pg-actions{width:100%}
  .pg-actions .tb-btn{flex:1;justify-content:center;font-size:11px;padding:8px 10px}
}

/* Ocultar nav móvil en desktop */
.mobile-nav{display:none}

/* ── ACCENTS / BRANDING extra ─────────────────────────────────── */
.accent-text{color:var(--accent)}
.accent-bg{background:var(--accent);color:#fff}
.gradient-text{
  background:linear-gradient(135deg,var(--accent),var(--accent2));
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.orange-stripe{
  display:inline-block;padding:2px 8px;
  background:linear-gradient(90deg,var(--accent),var(--accent2));
  color:#fff;border-radius:4px;font-weight:800;
}

/* ── SECTION DIVIDERS ──────────────────────────────────────────── */
.section-sep{
  height:1px;
  background:linear-gradient(90deg,var(--accent-border),transparent);
  margin:20px 0;
}
