/* Compact trainer/parent login on physical phones.
   Only guest login screens, at mobile widths. Desktop and signed-in layouts stay as-is. */
.guest-login-privacy-link,
.login-description-mobile,
.login-heading-mobile{display:none}
@media(max-width:760px){
  body:is(.login-theme-trainer,.login-theme-parent) .site-shell.role-guest .topbar-inner{
    width:calc(100% - 24px)!important;
    display:flex!important;flex-wrap:wrap;align-items:center;
    gap:8px!important;min-height:0!important;padding:8px 0 10px!important;
  }
  body:is(.login-theme-trainer,.login-theme-parent) .site-shell.role-guest .topbar-brand-row{
    display:flex!important;width:100%;align-items:center;justify-content:space-between;
    gap:9px;min-width:0;
  }
  body:is(.login-theme-trainer,.login-theme-parent) .site-shell.role-guest .topbar-brand-row>.brand{
    display:flex!important;width:auto!important;min-width:0;flex:1 1 auto;gap:7px;
  }
  body:is(.login-theme-trainer,.login-theme-parent) .site-shell.role-guest .brand-mark{
    width:36px;height:36px;flex:0 0 36px;font-size:12px;
  }
  body:is(.login-theme-trainer,.login-theme-parent) .site-shell.role-guest .brand-copy strong{
    font-size:14px;line-height:1.2;
  }
  body:is(.login-theme-trainer,.login-theme-parent) .site-shell.role-guest .guest-login-privacy-link{
    display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;
    min-height:42px;padding:7px 10px;border-radius:10px;
    border:1px solid rgba(255,255,255,.24);
    color:#fff;text-decoration:none;font-size:12px;font-weight:700;white-space:nowrap;
  }
  body:is(.login-theme-trainer,.login-theme-parent) .site-shell.role-guest .topnav{
    display:grid!important;width:100%;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;
  }
  body:is(.login-theme-trainer,.login-theme-parent) .site-shell.role-guest .topnav .home-nav-link,
  body:is(.login-theme-trainer,.login-theme-parent) .site-shell.role-guest .topnav .privacy-nav-link{
    display:none!important;
  }
  body:is(.login-theme-trainer,.login-theme-parent) .site-shell.role-guest .topnav .guest-parent-link,
  body:is(.login-theme-trainer,.login-theme-parent) .site-shell.role-guest .topnav .guest-trainer-link{
    display:inline-flex!important;align-items:center;justify-content:center;
    width:100%;min-height:44px;padding:8px 5px;border-radius:12px;
    box-sizing:border-box;font-size:13px;font-weight:800;
  }
  body:is(.login-theme-trainer,.login-theme-parent) .site-shell.role-guest #main-content{
    width:calc(100% - 20px)!important;max-width:500px!important;
    padding-top:10px!important;padding-bottom:16px!important;
  }
  body:is(.login-theme-trainer,.login-theme-parent) .login-wrap{
    margin:0 auto!important;max-width:460px!important;
    padding:0 0 calc(16px + env(safe-area-inset-bottom))!important;
  }
  body:is(.login-theme-trainer,.login-theme-parent) .login-card{
    padding:16px!important;border-radius:17px;
    box-shadow:0 4px 17px rgba(99,34,53,.07);
  }
  body:is(.login-theme-trainer,.login-theme-parent) .login-card>.brand-mark{
    display:none!important;
  }
  body:is(.login-theme-trainer,.login-theme-parent) .login-audience{
    width:fit-content;max-width:100%;padding:0;margin:0 0 9px;
    border:0;border-radius:0;background:transparent;gap:9px;
  }
  body:is(.login-theme-trainer,.login-theme-parent) .login-audience-icon{
    width:36px;height:36px;flex-basis:36px;font-size:18px;border:1px solid var(--line);
  }
  body:is(.login-theme-trainer,.login-theme-parent) .login-audience-copy small{
    font-size:9px;line-height:1.1;
  }
  body:is(.login-theme-trainer,.login-theme-parent) .login-audience-copy strong{
    font-size:12px;line-height:1.2;
  }
  body:is(.login-theme-trainer,.login-theme-parent) .login-card h1{
    margin:0 0 7px!important;font-size:25px!important;line-height:1.15;
  }
  body:is(.login-theme-trainer,.login-theme-parent) .login-heading-desktop,
  body:is(.login-theme-trainer,.login-theme-parent) .login-description-desktop{
    display:none!important;
  }
  body:is(.login-theme-trainer,.login-theme-parent) .login-heading-mobile{display:inline}
  body:is(.login-theme-trainer,.login-theme-parent) .login-description-mobile{
    display:block;margin:0 0 15px;color:var(--muted);font-size:13px;line-height:1.45;
  }
  body:is(.login-theme-trainer,.login-theme-parent) .login-card .form-grid{gap:12px}
  body:is(.login-theme-trainer,.login-theme-parent) .login-card .field{margin:0}
  body:is(.login-theme-trainer,.login-theme-parent) .login-card .field label{
    font-size:13px;font-weight:800;margin-bottom:5px;
  }
  body:is(.login-theme-trainer,.login-theme-parent) .login-card .input{
    min-height:48px;font-size:16px;
  }
  body:is(.login-theme-trainer,.login-theme-parent) .login-card button[type="submit"]{
    min-height:48px;margin:2px 0 0;font-weight:800;
  }
  /* Role tabs replace the duplicate role switch; the FCE logo links home. */
  body:is(.login-theme-trainer,.login-theme-parent) .login-card .login-switch,
  body:is(.login-theme-trainer,.login-theme-parent) .login-card #loginForm>a[href="/"],
  body:is(.login-theme-trainer,.login-theme-parent) .login-card #parentLoginForm>a[href="/"]{
    display:none!important;
  }
  body:is(.login-theme-trainer,.login-theme-parent) .login-card .login-role-note{margin-bottom:13px}
  body:is(.login-theme-trainer,.login-theme-parent) .guest-login-privacy-link:focus-visible,
  body:is(.login-theme-trainer,.login-theme-parent) .topnav .nav-link:focus-visible{
    outline:3px solid #fff;outline-offset:2px;
  }
}
@media(max-width:350px){
  body:is(.login-theme-trainer,.login-theme-parent) .site-shell.role-guest .brand-copy strong{font-size:12px}
  body:is(.login-theme-trainer,.login-theme-parent) .site-shell.role-guest .guest-login-privacy-link{
    font-size:11px;padding-inline:7px;
  }
  body:is(.login-theme-trainer,.login-theme-parent) .login-card{padding:13px!important}
}
