/* One account control: private hydration is shared across modern and legacy headers. */
/* Session identity is unknown until the single private AJAX response resolves.
 * Reserve final dimensions for ALL four states; never flash a fake avatar/name. */
.bes-account-slot{position:relative;min-width:0;min-height:44px;font-family:"Plus Jakarta Sans",Arial,sans-serif;color:#fdfcfa}
.bes-account-slot[data-bes-account="desktop"]{min-height:44px}
.bes-account-slot[data-bes-account="mobile"]{width:100%;min-height:68px}
.bes-account-skeleton{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:4px 12px 4px 5px;border:1px solid rgba(194,210,74,.32);border-radius:30px;background:rgba(21,30,16,.32)}
.bes-account-skeleton-avatar{width:34px;height:34px;flex:0 0 34px;border-radius:50%}
.bes-account-skeleton-copy{display:grid;gap:6px;flex:1;min-width:0}
.bes-account-skeleton-copy>span{display:block;height:7px;border-radius:8px}
.bes-account-skeleton-copy>span:first-child{width:72%;max-width:104px}
.bes-account-skeleton-copy>span:last-child{width:48%;max-width:64px}
.bes-account-skeleton-end{width:10px;height:10px;flex:0 0 10px;border-right:1px solid rgba(194,210,74,.4);border-bottom:1px solid rgba(194,210,74,.4);transform:rotate(45deg)}
.bes-account-skeleton-avatar,.bes-account-skeleton-copy>span{background:linear-gradient(110deg,#2b3922 14%,#455c34 45%,#2b3922 78%);background-size:220% 100%;animation:bes-account-skeleton-shimmer 1.75s ease-in-out infinite}
@keyframes bes-account-skeleton-shimmer{0%{background-position:100% 0}100%{background-position:-100% 0}}
.bes-account-skeleton--mobile{min-height:68px;padding:12px;gap:12px;border-color:rgba(201,168,76,.24);border-radius:13px;background:rgba(255,255,255,.035)}
.bes-account-skeleton--mobile .bes-account-skeleton-avatar{width:40px;height:40px;flex-basis:40px}
.bes-account-recovery{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:44px;padding:4px 8px 4px 12px;border:1px solid rgba(201,168,76,.3);border-radius:30px;background:#1e2a16}
.bes-account-recovery-label{font:600 11px/1.3 "Plus Jakarta Sans",Arial,sans-serif;color:#fdfcfa}
.bes-account-retry{min-height:32px;padding:5px 10px;border:1px solid rgba(194,210,74,.5);border-radius:18px;background:transparent;color:#c2d24a;font:600 11px/1.3 "Plus Jakarta Sans",Arial,sans-serif;cursor:pointer}
.bes-account-retry:disabled{opacity:.55;cursor:not-allowed}
.bes-account-slot[data-bes-account="mobile"] .bes-account-recovery{min-height:68px;border-radius:13px}
@media(prefers-reduced-motion:reduce){.bes-account-skeleton-avatar,.bes-account-skeleton-copy>span{animation:none;background:#35492b}}
@media(min-width:961px){
  .bes-account-slot[data-bes-account="desktop"]{width:clamp(166px,14vw,220px);flex:none}
  .bes-account-slot[data-bes-account="desktop"] :is(.bes-site-auth-link,.bes-account-skeleton,.bes-account-recovery,.bes-account-profile,.bes-account-trigger){width:100%;max-width:100%}
  .bes-account-slot[data-bes-account="desktop"] .bes-site-auth-link{justify-content:center}
}
.bes-site-auth-link{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:10px 16px;border:1px solid rgba(194,210,74,.56);border-radius:50px;text-decoration:none;white-space:nowrap;color:#c2d24a;background:rgba(21,30,16,.16);font:700 11px/1.3 "Plus Jakarta Sans",Arial,sans-serif;letter-spacing:.07em;text-transform:uppercase;transition:background-color .22s ease,border-color .22s ease,color .22s ease}
.bes-site-auth-link:is(:hover,:focus-visible){background:#c2d24a;border-color:#c2d24a;color:#151e10}
.bes-account-profile{position:relative;min-width:0}
.bes-account-trigger{display:flex;align-items:center;gap:10px;width:100%;min-width:0;max-width:220px;min-height:44px;padding:4px 12px 4px 5px;border:1px solid rgba(194,210,74,.48);border-radius:30px;background:rgba(21,30,16,.38);color:#fdfcfa;cursor:pointer;font:600 12px/1.3 "Plus Jakarta Sans",Arial,sans-serif;transition:background-color .22s ease,border-color .22s ease,color .22s ease}
.bes-account-trigger:is(:hover,:focus-visible),.bes-account-trigger[aria-expanded="true"]{border-color:#c2d24a;background:#24331c;color:#fdfcfa}
.bes-account-trigger:disabled{opacity:.5;cursor:not-allowed}
.bes-account-avatar{display:grid;place-items:center;width:34px;height:34px;min-width:34px;min-height:34px;border-radius:50%;object-fit:cover;flex-shrink:0}
.bes-account-avatar-initials{border:1px solid rgba(194,210,74,.4);background:linear-gradient(145deg,#324428,#1a2415);color:#fdfcfa;font:700 11px/1 "Plus Jakarta Sans",Arial,sans-serif;letter-spacing:.055em}
.bes-account-name{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;line-height:1.35}
.bes-account-chevron{display:grid;place-items:center;width:18px;height:18px;flex:0 0 18px;color:#c2d24a;transition:transform .2s ease}
.bes-account-chevron .bes-ui-icon{width:15px;height:15px}
.bes-account-trigger[aria-expanded="true"] .bes-account-chevron{transform:rotate(180deg)}
.bes-account-panel[hidden]{display:none}
.bes-account-panel{position:absolute;right:0;top:calc(100% + 9px);width:min(270px,calc(100vw - 32px));max-height:min(65vh,540px);overflow-y:auto;padding:10px;border:1px solid rgba(194,210,74,.3);border-radius:13px;background:#1a2415;box-shadow:0 18px 45px rgba(0,0,0,.32);z-index:9999}
.bes-account-panel a{display:block;padding:10px 13px;border-radius:7px;color:#fdfcfa;text-decoration:none;font:600 12px/1.6 "Plus Jakarta Sans",Arial,sans-serif}
.bes-account-panel a:is(:hover,:focus-visible){background:rgba(194,210,74,.14);color:#c2d24a}
.bes-account-panel .bes-account-logout,.bes-account-mobile-links .bes-account-logout{color:#f3b5b5}
.bes-account-mobile-content{min-width:0;width:100%}
.bes-account-mobile-disclosure{min-width:0;border:1px solid rgba(201,168,76,.24);border-radius:13px;background:rgba(255,255,255,.035);overflow:hidden}
.bes-account-identity{display:flex;align-items:center;gap:12px;min-width:0;min-height:68px;padding:12px;cursor:pointer;list-style:none;color:#fdfcfa}
.bes-account-identity::-webkit-details-marker{display:none}
.bes-account-identity::marker{content:""}
.bes-account-identity .bes-account-avatar{width:40px;height:40px;min-width:40px;min-height:40px}
.bes-account-mobile-person{display:grid;gap:4px;min-width:0;flex:1}
.bes-account-mobile-person strong{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:700 13px/1.4 "Plus Jakarta Sans",Arial,sans-serif}
.bes-account-mobile-person small{display:block;color:rgba(253,252,250,.55);font:500 11px/1.3 "Plus Jakarta Sans",Arial,sans-serif}
.bes-account-identity::after{content:"";width:8px;height:8px;flex:0 0 8px;border-right:1px solid #f5deb3;border-bottom:1px solid #f5deb3;transform:rotate(45deg);transition:transform .18s ease}
.bes-account-mobile-disclosure[open] .bes-account-identity::after{transform:rotate(225deg)}
.bes-account-identity:is(:hover,:focus-visible){background:rgba(194,210,74,.075)}
.bes-account-mobile-links{display:grid;gap:2px;padding:8px;border-top:1px solid rgba(201,168,76,.15)}
.bes-account-mobile-links>a{display:flex;align-items:center;min-height:42px;padding:10px 12px;border-radius:8px;color:#fdfcfa;text-decoration:none;font:600 12px/1.5 "Plus Jakarta Sans",Arial,sans-serif}
.bes-account-mobile-links>a:is(:hover,:focus-visible){background:rgba(194,210,74,.12);color:#c2d24a}
.bes-account-mobile-links>.bes-account-logout{margin-top:5px;border-top:1px solid rgba(255,255,255,.1);border-radius:0;padding-top:14px}
@media(prefers-reduced-motion:reduce){.bes-account-identity::after{transition:none}}
.bes-account-slot :is(button,a):focus-visible{outline:2px solid #c2d24a;outline-offset:3px}
.bes-home-mobile-menu a.bes-site-auth-link{display:flex;color:#c2d24a;padding:10px 16px;font:700 11px/1.3 "Plus Jakarta Sans",Arial,sans-serif;letter-spacing:.07em}
.bes-home-mobile-menu a.bes-site-auth-link:is(:hover,:focus-visible){color:#151e10}
.bes-account-global-desktop{display:none}
@media(min-width:1024px){.bes-account-global-desktop{display:block}}
@media(max-width:960px){.bes-home-header-actions>.bes-account-slot[data-bes-account="desktop"]{display:none}}
.bes-account-slot[data-bes-account="mobile"] .bes-site-auth-link{width:100%;min-height:68px;justify-content:center}
@media(prefers-reduced-motion:reduce){.bes-account-slot :is(.bes-account-trigger,.bes-account-chevron,.bes-site-auth-link){transition:none}}

/* Broken-image protection for modern BES account and older global chrome. */
.bes-account-avatar{background:#1e2a16;overflow:hidden;object-fit:cover;object-position:center;vertical-align:middle}
.bes-user-avatar-wrap img,.stm_lms_user_avatar img{display:block;max-width:100%;border-radius:50%;object-fit:cover}
.bes-avatar-local-fallback{display:inline-grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border:1px solid rgba(194,210,74,.4);border-radius:50%;background:linear-gradient(135deg,#324428,#1a2415);color:#fdfcfa;font:700 11px/1 "Plus Jakarta Sans",Arial,sans-serif;vertical-align:middle}
