/* MeetingPart 2.0 — mobile UX + premium micro-interactions */
.mp-scroll-progress{position:fixed;top:0;left:0;width:0;height:3px;z-index:10050;background:linear-gradient(90deg,#08aeea,#7c5cff,#e6248a);border-radius:0 99px 99px 0;pointer-events:none;transition:width .08s linear}
.mp-back-top{position:fixed;right:18px;bottom:88px;width:44px;height:44px;border:0;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.94);color:#087fca;box-shadow:0 10px 28px rgba(16,24,40,.16);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);opacity:0;visibility:hidden;transform:translateY(10px) scale(.92);transition:opacity .2s,transform .2s,visibility .2s;z-index:9985;cursor:pointer;font-size:20px}
.mp-back-top.is-visible{opacity:1;visibility:visible;transform:none}
.mobile-bottom-nav.mp-nav-hidden{transform:translateY(calc(100% + 14px))!important;opacity:.72!important}
.mobile-bottom-nav{transition:transform .24s ease,opacity .24s ease,box-shadow .24s ease!important}
.mobile-bottom-nav a.active{position:relative}
.mobile-bottom-nav a.active:after{content:"";position:absolute;bottom:3px;left:50%;width:18px;height:3px;border-radius:99px;background:currentColor;transform:translateX(-50%)}
.mp-ripple{position:absolute;border-radius:50%;pointer-events:none;transform:scale(0);animation:mpRipple .55s ease-out forwards;background:currentColor;opacity:.16}
@keyframes mpRipple{to{transform:scale(2.8);opacity:0}}
@media(max-width:800px){
 .mp-back-top{right:12px;bottom:calc(76px + env(safe-area-inset-bottom,0px));width:42px;height:42px}
 .mp-scroll-progress{height:3px}
 body.mp-nav-scroll-lock .mobile-bottom-nav{pointer-events:none}
}
@media(prefers-reduced-motion:reduce){.mp-back-top,.mobile-bottom-nav{transition:none!important}.mp-ripple{animation:none!important}}
