/* Centro Personal V0.6.1 · carcasa móvil real */
:root{
  --mobile-nav-height:72px;
  --safe-top:env(safe-area-inset-top,0px);
  --safe-left:env(safe-area-inset-left,0px);
  --safe-right:env(safe-area-inset-right,0px);
}
.mobile-training-area{height:100dvh;min-height:100dvh;overflow:hidden;background:var(--bg)}
.mobile-training-frame{display:block;width:100%;height:100%;border:0;background:var(--bg)}

@media(max-width:700px), (pointer:coarse) and (max-height:700px){
  html,body,#app,.app-shell{min-height:100%;min-height:100dvh}
  html{background:var(--bg)}
  body{overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior-y:none}
  .home-page,.today-page,.welding-shell{height:auto!important;min-height:100dvh;overflow:visible!important;padding-bottom:calc(92px + var(--safe-bottom))}
  .topbar,.area-topbar{
    min-height:calc(58px + var(--safe-top));
    padding:calc(7px + var(--safe-top)) max(10px,var(--safe-right)) 7px max(10px,var(--safe-left));
    position:sticky;top:0;z-index:1000;
  }
  .brand-mark{width:38px;height:38px;border-radius:12px;font-size:20px}
  .brand-copy strong{font-size:15px}.brand-copy small{display:none}
  .top-actions{gap:5px}.icon-btn{width:40px;height:40px;min-height:40px;border-radius:12px}
  .home-main,.today-main{width:100%!important;margin:0;padding:12px 12px 18px!important}
  .hero,.today-hero{padding:17px!important;border-radius:20px;box-shadow:none}
  .hero h1,.today-hero h1{font-size:28px!important;line-height:1.05}
  .hero p{font-size:13px;line-height:1.4;margin-top:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .area-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin-top:12px}
  .area-card{min-height:116px!important;padding:13px!important;border-radius:18px;box-shadow:none}
  .area-card.today-feature,.area-card[data-open-area="training"]{grid-column:1/-1!important;min-height:132px!important}
  .area-card.disabled{display:none}
  .area-icon{font-size:28px!important;margin-bottom:9px!important}
  .area-card.today-feature .area-icon{font-size:31px!important}
  .area-card h2,.area-card.today-feature h2{font-size:17px!important;line-height:1.15;margin-bottom:4px}
  .area-card p{font-size:12px!important;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .suggestion-card{margin-top:10px;border-radius:15px;padding:12px}
  .main-quick-nav{
    position:fixed!important;left:10px;right:10px;bottom:max(8px,var(--safe-bottom));z-index:1200;
    margin:0!important;padding:6px!important;border-radius:18px!important;
    background:color-mix(in srgb,var(--bg-2) 94%,transparent)!important;
    box-shadow:0 12px 36px rgba(0,0,0,.34);
  }
  .main-quick-nav button{min-height:54px!important;border:0!important;background:transparent!important;font-size:11px!important;border-radius:13px!important}
  .main-quick-nav button span{font-size:19px!important;margin-bottom:1px!important}
  .main-quick-nav button.active{background:var(--panel-3)!important}
  .today-grid{gap:10px;margin-top:10px}.today-card{padding:15px;border-radius:18px;box-shadow:none}
  .today-training-name{font-size:24px}.today-status{gap:6px;margin-top:11px}.today-pill{font-size:11px;padding:6px 9px}
  .week-timeline{margin-right:-12px;padding-right:12px;scroll-snap-type:x proximity}.week-day-visual{scroll-snap-align:start}

  /* Cocina y demás áreas espaciales: una pantalla, una cabecera y navegación inferior. */
  .spatial-area-page{height:100dvh!important;grid-template-rows:auto minmax(0,1fr) auto!important;overflow:hidden}
  .spatial-area-page>.area-topbar{grid-row:1}
  .spatial-module-strip{
    grid-row:3;order:3;min-height:calc(60px + var(--safe-bottom));
    padding:6px max(8px,var(--safe-right)) calc(6px + var(--safe-bottom)) max(8px,var(--safe-left))!important;
    border-top:1px solid var(--line);border-bottom:0!important;background:color-mix(in srgb,var(--bg-2) 96%,transparent)!important;
    scroll-snap-type:x proximity;box-shadow:0 -8px 24px rgba(0,0,0,.16)
  }
  .spatial-module-strip .module-btn{scroll-snap-align:start;min-height:48px!important;padding:7px 11px!important;border-radius:13px;white-space:nowrap;font-size:12px}
  .spatial-window-tabs,.spatial-window-dock{display:none!important}
  .spatial-workspace-viewport{grid-row:2;overflow:hidden!important;background:var(--bg)!important;background-image:none!important}
  .spatial-workspace-canvas{width:100%!important;height:100%!important;min-width:0!important;min-height:0!important}
  .spatial-window{grid-template-rows:minmax(0,1fr)!important;border:0!important;border-radius:0!important;box-shadow:none!important}
  .spatial-window-header{display:none!important}
  .spatial-window-body{padding:12px!important;overscroll-behavior-y:contain}
  .spatial-window-body.frame-body{padding:0!important}
  .spatial-dashboard-hero{padding:16px;border-radius:17px;margin-bottom:12px}
  .spatial-dashboard-hero h2{font-size:27px}.spatial-kpi-grid{gap:8px;margin:10px 0}.spatial-kpi{padding:11px}.spatial-kpi strong{font-size:20px}
  .training-planner-grid{grid-template-columns:repeat(7,minmax(82vw,1fr));scroll-snap-type:x mandatory}.training-day-card{scroll-snap-align:center}
  .mobile-training-area{height:100dvh;min-height:100dvh}
}

@media(max-width:360px){
  .home-main,.today-main{padding-left:9px!important;padding-right:9px!important}
  .area-grid{gap:8px!important}.area-card{padding:11px!important}.area-card h2{font-size:15px!important}.area-card p{font-size:11px!important}
  .main-quick-nav{left:7px;right:7px}
}

/* Auditoría V0.6.1: la cabecera móvil no debe conservar controles ni textos del escritorio. */
@media(max-width:700px), (pointer:coarse) and (max-height:700px){
  .spatial-area-page .area-title small{display:none!important}
  .spatial-area-page .spatial-tools{max-width:none!important;overflow:visible!important;gap:4px!important;padding:0!important}
  .spatial-area-page .spatial-tools .spatial-zoom-label,
  .spatial-area-page .spatial-tools .hide-mobile{display:none!important}
  .spatial-area-page .area-title strong{font-size:16px;line-height:1.15}
}

/* Centro Personal V0.6.1 · las opciones móviles dejan de pasar por detrás
   de la navegación inferior. Cabecera, contenido y menú son filas separadas. */
@media(max-width:700px), (pointer:coarse) and (max-height:700px){
  body{overflow:hidden!important}
  .home-page,.today-page{
    height:100dvh!important;
    min-height:0!important;
    display:grid!important;
    grid-template-rows:auto minmax(0,1fr) auto;
    overflow:hidden!important;
    padding-bottom:0!important;
  }
  .home-page>.topbar,.today-page>.topbar{
    grid-row:1;
    position:relative;
    top:auto;
  }
  .home-main,.today-main{
    grid-row:2;
    min-height:0;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior-y:contain;
    -webkit-overflow-scrolling:touch;
    padding-bottom:18px!important;
    scroll-padding-bottom:18px;
  }
  .main-quick-nav{
    grid-row:3;
    position:relative!important;
    inset:auto!important;
    width:auto!important;
    margin:7px 10px max(7px,var(--safe-bottom))!important;
    flex:0 0 auto;
  }
}
