/* Shared portal polish. Approved visual authority:
 * my-float/myfloat-design-system/specs/primary-button.md (17889d8).
 * Keep text stationary; animate only decorative opacity/transform layers. */
:root{--mf-ink:#102239;--mf-edge:#8ed2ff;--mf-press:#102239;--mf-radius:12px}
.mf-portal-ui{scrollbar-gutter:stable}
.mf-portal-ui :where(.btn-primary,.ck-nav-next,.rc-btn-primary){
 position:relative;isolation:isolate;overflow:hidden;border-radius:var(--mf-radius);
 transform:none!important;filter:none!important;transition:box-shadow 220ms ease,background-color 220ms ease;
}
.mf-portal-ui :where(.btn-primary,.ck-nav-next,.rc-btn-primary)::before{
 content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;
 background:linear-gradient(110deg,transparent 25%,#ffffff38 49%,transparent 73%);
 transform:translateX(-120%);opacity:0;
}
@media(hover:hover) and (pointer:fine){
 .mf-portal-ui :where(.btn-primary,.ck-nav-next,.rc-btn-primary):hover{box-shadow:0 0 0 1px var(--mf-edge),0 5px 16px #10223916;transform:none!important}
 .mf-portal-ui :where(.btn-primary,.ck-nav-next,.rc-btn-primary):hover::before{opacity:1;transform:translateX(120%);transition:transform 650ms ease,opacity 160ms ease}
}
.mf-portal-ui :where(.btn-primary,.ck-nav-next,.rc-btn-primary):active{box-shadow:0 0 0 1px var(--mf-press),inset 0 1px 3px #10223925;transition-duration:80ms;transform:none!important}
.mf-portal-ui :where(button,a,input,select,textarea,[tabindex]):focus-visible{outline:2px solid #1668bd;outline-offset:3px}
.mf-portal-ui :where(button,.btn){min-height:44px}
.mf-portal-ui :where(button,.btn):disabled{cursor:wait;opacity:.65}
.mf-portal-ui .ck-progress-bar{position:relative;overflow:hidden}
.mf-portal-ui .ck-progress-bar::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(100deg,transparent,#ffffff75,transparent);animation:mf-progress 4.8s ease-in-out infinite}
.mf-portal-ui .ck-progress-bar.mf-paused::after{animation-play-state:paused}
@keyframes mf-progress{0%,100%{opacity:.15;transform:translateX(-100%)}50%{opacity:.7;transform:translateX(100%)}}
.mf-portal-ui .ck-item[role=checkbox]:focus-visible,.mf-portal-ui .ck-flag-toggle:focus-visible{outline:2px solid #1668bd;outline-offset:3px}
@media(max-width:600px){.mf-portal-ui :where(input,select,textarea){font-size:16px}.mf-portal-ui .hist-body{min-width:0;overflow-wrap:anywhere}.mf-portal-ui .hist-card{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.mf-portal-ui *, .mf-portal-ui *::before,.mf-portal-ui *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Legacy slide-in alerts caused transient horizontal overflow on phones. */
.mf-portal-ui :where(.alert,.form-group,.card,.pod-card,.dashboard-card){animation:none!important;transform:none!important}
