/* Shared accessibility rules; preserve Flowgen's existing dark palette. */
:focus-visible{outline:3px solid var(--cyan,#00f0ff)!important;outline-offset:3px}
button,[role=button],summary{min-height:44px!important;min-width:44px!important;touch-action:manipulation}a.btn{min-height:44px;touch-action:manipulation}
input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{min-height:44px}
.fg-sr-only{position:absolute!important;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.fg-dialog-close{position:sticky;top:0;z-index:2;float:right;min-height:44px}
.fg-loading{padding:12px 0;margin:8px 0}.fg-loading span{display:block;height:10px;margin:8px 0;border-radius:6px;background:var(--navy-4);width:85%;animation:fgSkeleton 1.4s ease-in-out infinite}.fg-loading span:nth-child(2){width:65%}.fg-loading span:nth-child(3){width:75%}@keyframes fgSkeleton{50%{opacity:.45}}
.messages{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scroll-behavior:smooth}
.fg-noscript{max-width:560px;margin:32px auto;padding:16px;background:var(--navy-2);color:var(--ink);font:16px/1.6 var(--ff-body)}
@media(max-width:600px){
 body .main{padding-left:max(16px,env(safe-area-inset-left))!important;padding-right:max(16px,env(safe-area-inset-right))!important;min-width:0}
 body.coach-open,body.coach-open .app,body.coach-open .main{height:var(--fg-viewport-height,100dvh)!important;max-height:var(--fg-viewport-height,100dvh)!important;min-height:0!important}
 body.coach-open .main{padding-top:max(0px,env(safe-area-inset-top))!important;padding-bottom:max(10px,env(safe-area-inset-bottom))!important}
 body .chat-input{padding:10px 12px max(10px,env(safe-area-inset-bottom));min-width:0}
 .chat-input input,.chat-input textarea{font-size:16px!important;min-width:0}
 .share-card-inner,.feedback-modal,.manage-team-card{max-width:calc(100vw - 32px)!important;box-sizing:border-box}
 .position-grid{min-width:0}.page,.card{overflow-wrap:anywhere}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

span[role=button]{display:inline-flex;align-items:center;justify-content:center}a[href]{min-height:44px;min-width:44px;display:inline-flex;align-items:center;max-width:100%;overflow-wrap:anywhere;touch-action:manipulation}input[type=range]{min-height:44px}label:has(input[type=checkbox]),label:has(input[type=radio]){min-height:44px;display:flex;align-items:center}
