.imv-notify-button{position:relative;display:flex;align-items:center;gap:10px;min-height:40px;margin:0 0 6px;padding:8px 12px;border:0;border-radius:12px;background:transparent;color:var(--text,#334155);font:inherit;font-size:12px;cursor:pointer;flex-shrink:0}.imv-notify-button[hidden],.imv-notify-button b[hidden]{display:none!important}.imv-notify-button:hover{background:rgba(2,132,199,.08)}.imv-notify-button b{position:absolute;top:2px;left:26px;display:grid;place-items:center;min-width:17px;height:17px;padding:0 3px;border:2px solid var(--card-bg,#fff);border-radius:12px;background:#dc2626;color:#fff;font:600 10px/1 sans-serif}.imv-notify-button.has-unread{color:#0284c7}.imv-notify-button.has-unread>svg{animation:imvNoticeRing .7s ease-in-out 2}.apple-desktop-rail.collapsed .imv-notify-button{width:40px;padding:8px;justify-content:center}.apple-desktop-rail.collapsed .imv-notify-button>span{display:none}.imv-notify-button.mobile{height:36px;width:36px;min-height:36px;padding:6px;margin:0;background:#f3f6f8;justify-content:center}.imv-notify-button.mobile>span{display:none}.imv-notify-button.mobile b{left:23px;top:-2px}
.imv-notification-panel{position:fixed;inset:24px 24px auto auto;margin:0;width:420px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 48px);padding:0;border:1px solid var(--border,#e2e8f0);border-radius:20px;background:var(--card-bg,#fff);color:var(--text,#334155);font-family:var(--font-firago,sans-serif);box-shadow:0 18px 60px rgba(15,23,42,.2);overflow:hidden}.imv-notification-panel[open]{display:flex;flex-direction:column}.imv-notification-panel::backdrop{background:rgba(15,23,42,.24)}.imv-notice-header{display:flex;justify-content:space-between;align-items:center;padding:18px 18px 12px}.imv-notice-header>div{display:flex;align-items:center;gap:9px;color:var(--heading,#0f172a)}.imv-notice-header h3{font-size:17px;font-weight:600;margin:0}.imv-notice-header>button{width:32px;height:32px;border:0;border-radius:10px;background:var(--background,#f5f5f8);color:inherit;font-size:25px;cursor:pointer}.imv-notice-tools{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:0 16px 12px;border-bottom:1px solid var(--border,#e2e8f0)}.imv-notice-tools>div{display:flex;gap:5px}.imv-notice-tools button{padding:7px 9px;border:0;border-radius:9px;background:transparent;font:inherit;font-size:11px;color:var(--text-light,#64748b);cursor:pointer}.imv-notice-tools button.active{background:rgba(2,132,199,.1);color:#0284c7}.imv-notice-tools button:disabled{opacity:.4;cursor:default}.imv-notice-list{overflow:auto;padding:8px;min-height:150px;max-height:65dvh;overscroll-behavior:contain}.imv-notice-item{display:flex;align-items:flex-start;gap:11px;width:100%;text-align:left;padding:13px 10px;margin:0 0 4px;border:0;border-radius:13px;background:transparent;color:inherit;font:inherit;cursor:pointer}.imv-notice-item.unread{background:rgba(2,132,199,.06)}.imv-notice-item:hover{background:var(--background,#f5f5f8)}.imv-notice-icon{flex-shrink:0;display:grid;place-items:center;width:37px;height:37px;border-radius:12px;background:rgba(2,132,199,.09);color:#0284c7;font-size:20px}.imv-notice-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:4px}.imv-notice-copy strong{font-size:12px;font-weight:600;line-height:1.6;color:var(--heading,#0f172a)}.imv-notice-copy>span{font-size:11px;line-height:1.6;color:var(--text-light,#64748b);overflow-wrap:anywhere}.imv-notice-copy small{font-size:10px;color:#0284c7}.imv-notice-item i{flex-shrink:0;width:7px;height:7px;margin-top:8px;border-radius:50%;background:#0284c7}.imv-notice-empty{text-align:center;padding:35px 15px;color:var(--text-light,#64748b);font-size:12px;line-height:1.6}.imv-notice-empty svg{width:32px;height:32px}.imv-notification-panel>[data-notice-more]{margin:5px 16px 16px;padding:10px;border:0;border-radius:10px;background:var(--background,#f5f5f8);color:var(--text,#334155);font:inherit;font-size:12px;cursor:pointer}
@keyframes imvNoticeRing{0%,100%{transform:rotate(0)}25%{transform:rotate(-12deg)}75%{transform:rotate(12deg)}}@media(max-width:768px){#active-mobile-map-header:has(.imv-notify-button:not([hidden])){grid-template-columns:42px minmax(0,1fr) 36px 40px;gap:7px}.imv-notification-panel{inset:auto 0 0;width:100%;max-width:none;max-height:85dvh;border-radius:22px 22px 0 0;border-bottom:0;box-sizing:border-box;padding-bottom:env(safe-area-inset-bottom)}.imv-notice-list{max-height:65dvh}}@media(prefers-reduced-motion:reduce){.imv-notify-button.has-unread>svg{animation:none}}

/* Open beside the bell; keep the mobile header and bottom dock accessible. */
.imv-notification-panel{z-index:2147483000}.imv-notice-list{flex:1;min-height:0}@media(max-width:768px){.imv-notification-panel{border-radius:18px;border:1px solid var(--border,#e2e8f0);padding-bottom:0}.imv-notice-list{max-height:none}}

/* Align the bell with the rail's existing account action icons. */
@media(min-width:769px){.apple-rail-bottom .imv-notify-button{width:100%;height:40px;min-height:40px;padding:0 10px;margin:0;box-sizing:border-box}.apple-rail-bottom .imv-notify-button>svg{width:22px;height:22px;flex-shrink:0}.apple-desktop-rail.collapsed .apple-rail-bottom .imv-notify-button{width:44px;padding:0;margin:0 auto;justify-content:center}}

/* Keep unread chat and notification actions visibly lit until they are read. */
#rail-auth-menu-messages.has-unread-chat,#rail-btn-messages.has-unread-chat,#mobile-chat-btn.has-unread-chat{color:#0284c7!important;background:rgba(2,132,199,.12)!important}
#rail-auth-menu-messages.has-unread-chat .auth-menu-icon,#rail-btn-messages.has-unread-chat .apple-rail-item-icon,#mobile-chat-btn.has-unread-chat .mobile-nav-label{color:#0284c7}
.imv-notify-button.has-unread{background:rgba(2,132,199,.12)}

@media(min-width:769px){#rail-auth-quick-menu>.imv-notify-button{font-size:13px;font-weight:600;font-family:var(--font-firago),sans-serif}#rail-auth-quick-menu{border-top:0;padding-top:0}#rail-auth-menu-messages{margin-bottom:9px}#rail-auth-menu-messages::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:rgba(0,0,0,.05);pointer-events:none}body.dark-theme #rail-auth-menu-messages::after{background:rgba(255,255,255,.08)}}
