/* Native page scrolling. The actual safe area is included once, inside the header. */
html{height:auto;min-height:100%;overflow-x:clip;overflow-y:auto;scroll-padding-top:calc(env(safe-area-inset-top,0px) + 100px)}
body{height:auto;min-height:100%;overflow:visible;background:#f5f4ee}
#app{min-height:100dvh}
html:has(body.modal-open),body.modal-open{overflow:hidden}
.shell{min-height:100dvh}
.main{padding-top:0!important}
.main>.topbar{position:sticky;top:0;padding-top:env(safe-area-inset-top,0px);min-height:calc(87px + env(safe-area-inset-top,0px));background:#f5f4ee;z-index:45;isolation:isolate;backdrop-filter:none;-webkit-backdrop-filter:none}
.sidebar{height:100dvh}
.assigned-team{font-size:16px;font-weight:650;color:#244c36;max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:9px 0 9px 8px}
.device-onboarding{width:min(100%,580px);margin:0 auto;padding:calc(35px + env(safe-area-inset-top,0px)) 22px calc(30px + env(safe-area-inset-bottom))}
.onboarding-brand{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:30px;font-size:26px;color:#174b34;font-weight:650;letter-spacing:-.6px}
.onboarding-brand img{object-fit:contain;filter:drop-shadow(0 3px 5px #163c2710)}
.onboarding-brand small{display:block;font-size:10px;letter-spacing:1.2px;color:#71806b;margin-top:4px}
.onboarding-card{padding:30px}
.onboarding-card h1{font-size:40px;line-height:1.1;font-family:Georgia,serif;font-weight:400;margin:17px 0}
.onboarding-card>.subtext{font-size:17px;margin-bottom:26px}
.onboarding-card .eyebrow{font-size:11px!important;line-height:1.6}
.profile-new-team{padding:19px 16px 0;margin-top:20px;border:1px solid #dce5d3;border-radius:10px;background:#f4f7ee}
.profile-new-team[hidden]{display:none}
.profile-help,.onboarding-admin{font-size:14px;line-height:1.6;color:#6d7e62;margin:20px 0 0}
.onboarding-admin{text-align:center;padding:0 18px}
.profile-error{margin-top:17px}
.coach-profile-card .coach-name{display:block;font-size:24px;letter-spacing:-.5px;margin-bottom:7px}
.profile-initial{display:grid;place-items:center;background:#e9efdf;color:#35673e;border-radius:50%;height:40px;width:40px;font-size:20px;font-weight:600}
.admin-role{font-size:14px;color:#658055;margin:17px 0 0;line-height:1.5}
.profile-settings-note{font-size:15px;line-height:1.6;color:#6d7e62}
@media(max-width:700px){
 html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 82px)}
 .main>.topbar{min-height:calc(64px + env(safe-area-inset-top,0px));margin-bottom:20px}
 .live-session .main>.topbar{min-height:calc(48px + env(safe-area-inset-top,0px))}
 .assigned-team{font-size:15px;max-width:140px;padding-left:4px}
 .device-onboarding{padding:calc(24px + env(safe-area-inset-top,0px)) 17px calc(30px + env(safe-area-inset-bottom))}
 .onboarding-card{padding:25px 21px}
 .onboarding-card h1{font-size:36px}
 .onboarding-brand{margin-bottom:24px}
 .onboarding-card .field input,.onboarding-card .field select{font-size:18px;min-height:52px}
 .onboarding-card .modal-footer{margin-top:22px}
 .onboarding-card .btn{min-height:52px}
}
@media(max-width:700px) and (max-height:600px){
 .live-session .main{padding-top:env(safe-area-inset-top,0px)!important}
 html:has(.live-session){scroll-padding-top:calc(env(safe-area-inset-top,0px) + 12px)}
}
