/* V19 - true mobile app layout; loaded after V18 */
@media (max-width:720px) {
  html,body{max-width:100%;overflow-x:clip}
  body.member-app{background:#f4f7fc;color:#102a58}
  body.member-app .main.shell{box-sizing:border-box;width:100%;max-width:none;margin:0;padding:0 0 calc(104px + env(safe-area-inset-bottom))!important;overflow:visible}
  body.member-app .main>.heading{display:none!important}
  body.member-app .main>.alert{margin:12px 16px!important;border-radius:6px!important}
  /* Full-bleed app pages: predictable edge spacing inside, not around each card */
  body.member-app .main>.schedule,
  body.member-app .main>.dashboard,
  body.member-app .main>.cards,
  body.member-app .main>.section,
  body.member-app .main>.people,
  body.member-app .main>.my-bookings{box-sizing:border-box;width:100%!important;max-width:100%!important;margin:0!important}
  body.member-app .main>.schedule{padding:0!important;border:0!important;background:transparent!important;border-radius:0!important;box-shadow:none!important}
  /* Training calendar header becomes compact tool bar */
  body.member-app .weekhead{margin:0!important;padding:16px 18px!important;display:flex;align-items:center;background:#133b94!important;color:#fff!important;border:0!important;border-radius:0!important;min-height:67px;box-sizing:border-box}
  body.member-app .weekhead strong{font-size:14px;color:#fff;letter-spacing:-.15px}
  body.member-app .weekhead .arrows{background:#ffffff20;color:white;border:1px solid #ffffff55;border-radius:50%;width:34px;height:34px;min-width:34px;display:grid;place-items:center;text-decoration:none}
  body.member-app .filters{padding:12px 16px 10px!important;margin:0!important;display:flex;gap:7px;background:#fff;border-bottom:1px solid #e1e9f4;scroll-padding:16px}
  body.member-app .filters a{font-size:11px;padding:8px 12px;border-radius:30px;background:#f4f7fd;border-color:transparent}
  body.member-app .filters a.on{background:#193d92;color:#fff}
  body.member-app .weekgrid{padding:0!important;gap:0;background:#f4f7fc}
  body.member-app .daycol{margin:0;padding:0!important}
  body.member-app .daytitle{padding:15px 18px 10px!important;margin:0!important;border-bottom:1px solid #dce6f3;gap:7px;color:#173e88}
  body.member-app .daytitle b{font-size:13px;letter-spacing:1.1px}
  body.member-app .daytitle small{font-size:12px;color:#6480aa}
  body.member-app .daycol .slot{box-sizing:border-box;width:100%;max-width:none;margin:0!important;padding:17px 19px 16px!important;border:0;border-bottom:1px solid #e0e8f3;border-radius:0!important;box-shadow:none!important;background:#fff;gap:7px!important}
  body.member-app .slot h3{font-size:17px}
  body.member-app .slot .tag{background:#edf3ff;color:#2f5499;border-radius:3px}
  body.member-app .slot .slot-actions{margin-top:8px}
  body.member-app .slot .slot-actions .mini{min-height:38px;border-radius:6px!important}
  body.member-app .slot .pill{border-radius:5px!important}
  /* Home: blue full-bleed hero and full-width appointments */
  body.member-app .app-home-intro{box-sizing:border-box;width:100%;max-width:none;margin:0!important;border:0;border-radius:0!important;background:linear-gradient(135deg,#27348b 0%,#0c45a3 100%)!important;min-height:205px;padding:calc(23px + env(safe-area-inset-top)) 22px 30px!important}
  body.member-app .app-home-intro::before,body.member-app .app-home-intro::after{pointer-events:none}
  body.member-app .app-home-intro h1{font-size:clamp(30px,10vw,42px)!important}
  body.member-app .upcoming-training{box-sizing:border-box;width:100%;max-width:none;margin:0!important;padding:22px 0 0!important;border:0!important;background:#fff!important;box-shadow:none!important}
  body.member-app .upcoming-training .training-title{padding:0 19px 13px;margin:0!important;align-items:center}
  body.member-app .training-title h2{font-size:22px!important;max-width:none}
  body.member-app .training-item{border-radius:0!important;box-shadow:none!important;min-height:79px;padding:13px 19px!important;border-bottom:1px solid #ebf0f7;background:#fff}
  body.member-app .training-item:first-of-type{border-top:1px solid #e0e8f4}
  body.member-app .training-date{background:#eaf1ff;border-radius:4px;align-self:center;min-height:55px}
  body.member-app .training-empty{padding:18px 20px 24px;border-top:1px solid #e0e8f4!important;background:#fff}
  body.member-app .reserve-hero-button{box-sizing:border-box;display:flex;width:calc(100% - 32px);max-width:none;margin:18px 16px 22px!important;min-height:80px;border:0;border-radius:6px!important;background:#143f9c!important;box-shadow:none!important;gap:15px;padding:15px 18px!important;position:relative;overflow:hidden}
  body.member-app .reserve-hero-button::after{content:'';position:absolute;right:-40px;top:-70px;width:190px;height:190px;border:1px solid #ffffff25;border-radius:50%;pointer-events:none}
  body.member-app .reserve-hero-button .reserve-symbol{width:48px;height:48px;background:#ffffff;border-radius:50%;flex:0 0 48px;display:grid;place-items:center}
  body.member-app .reserve-hero-button .reserve-symbol img{width:38px;height:38px;object-fit:contain}
  body.member-app .reserve-hero-button>span:nth-child(2){font-size:17px;line-height:1.2}
  body.member-app .reserve-hero-button .reserve-arrow{width:22px;height:22px}
  /* Generic member pages should not look like narrow desktop cards */
  body.member-app .main>.dashboard{display:flex!important;flex-direction:column;gap:0!important}
  body.member-app .main>.dashboard>.card,body.member-app .main>.cards>.card,body.member-app .main>.people{box-sizing:border-box;width:100%!important;max-width:none!important;min-width:0;margin:0!important;padding:20px 19px!important;border:0!important;border-bottom:1px solid #e3eaf4!important;border-radius:0!important;box-shadow:none!important;background:#fff}
  body.member-app .main>.cards{display:flex!important;flex-direction:column!important;gap:10px!important}
  body.member-app .main>.cards>.card{min-height:0}
  body.member-app .main>.dashboard .feedline{padding:14px 0}
  body.member-app .main>.dashboard h2{font-size:20px}
  body.member-app .form{width:100%;max-width:none}
  body.member-app .form input,body.member-app .form select,body.member-app .form textarea{box-sizing:border-box;width:100%;max-width:100%;border-radius:7px;min-height:48px}
  body.member-app .form textarea{min-height:115px;resize:vertical}
  body.member-app .main>.dashboard .thread{max-height:calc(100dvh - 275px);min-height:180px;overflow-y:auto}
  body.member-app .community-layout.conversation-open .community-contacts{display:none!important}
  body.member-app .community-layout.conversation-open .community-thread{min-height:calc(100dvh - 80px - env(safe-area-inset-bottom));display:flex;flex-direction:column;padding-top:16px!important}
  body.member-app .community-layout.conversation-open .community-thread>.thread{flex:1;max-height:none;min-height:250px;overflow-y:auto}
  body.member-app .community-layout.conversation-open .community-thread .form{margin-top:12px}
  body.member-app .community-layout.conversation-open .community-thread .btn{width:100%;min-height:46px}
  body.member-app .community-layout.conversation-open .section-head{display:none}
  body.member-app .people .person{padding:12px 0}
  /* Clean, dedicated list of ALL future registrations */
  body.member-app .my-bookings{background:#fff;padding:0!important;min-height:70dvh}
  body.member-app .my-bookings-header{background:#213b91;color:#fff;padding:20px 20px 24px}
  body.member-app .my-bookings-header a{color:#d8e6ff;text-decoration:none;font-weight:700;font-size:12px}
  body.member-app .my-bookings-header h1{color:white;margin:15px 0 5px;font-size:28px;line-height:1.12}
  body.member-app .my-bookings-header p{margin:0;color:#e1ebff;font-size:13px}
  body.member-app .my-booking-row{display:flex;gap:12px;align-items:center;padding:19px 16px;border-bottom:1px solid #e4ebf5;background:#fff}
  body.member-app .my-booking-date{min-width:49px;min-height:55px;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#eef3ff;color:#1b429c}
  body.member-app .my-booking-date b{font-size:22px;line-height:1}
  body.member-app .my-booking-date small{font-size:10px;margin-top:3px;font-weight:800}
  body.member-app .my-booking-content{display:flex;flex:1;flex-direction:column;gap:5px;min-width:0}
  body.member-app .my-booking-content strong{font-size:14px;color:#0a2657;line-height:1.25}
  body.member-app .my-booking-content span{font-size:11px;color:#6d7e98}
  body.member-app .my-booking-content small{font-size:10px;color:#2764b9}
  body.member-app .my-booking-row .mini{border-radius:6px!important;min-height:36px}
  body.member-app .my-bookings-empty{padding:28px 20px;color:#244575}
  body.member-app .my-bookings-add{display:flex;align-items:center;justify-content:space-between;background:#113d96;color:#fff;text-decoration:none;font-weight:800;padding:20px;margin:22px 16px;border-radius:5px}
  /* Eliminate floating badge/pill card overload */
  body.member-app .app-notifs{margin:8px 0!important;border-radius:0!important}
}
/* V19: single logo-held intro, seamless simple fade — no artificial shuttle animation */
@media(max-width:720px){
  html.showing-launch,html.showing-launch body{overflow:hidden!important}
  .launch-splash.launch-v19{position:fixed;inset:0;z-index:500;background:#28338a!important;display:none;align-items:center;justify-content:center;pointer-events:all;opacity:1;transition:opacity .55s cubic-bezier(.25,.7,.25,1)}
  .showing-launch .launch-splash.launch-v19{display:flex}
  .launch-splash.launch-v19::before{display:none!important}
  .launch-v19-inner{display:flex;flex-direction:column;align-items:center;gap:22px;transform:translateY(0) scale(1);transition:transform .55s ease,opacity .55s ease}
  .launch-v19-inner img{display:block;width:170px;height:170px;object-fit:contain;filter:drop-shadow(0 10px 23px #08175125)}
  .launch-v19-inner span{font-size:13px;font-weight:900;color:white;letter-spacing:2.2px}
  .launch-splash.launch-v19.launch-v19-exit{opacity:0}
  .launch-splash.launch-v19.launch-v19-exit .launch-v19-inner{transform:scale(.94) translateY(-5px);opacity:0}
}
@media(prefers-reduced-motion:reduce){.launch-splash.launch-v19,.launch-v19-inner{transition:none!important}}
