.notification-dropdown { left: auto !important; right: 0 !important; top: 42px !important; transform: none !important; width: min(330px, calc(100vw - 24px)); max-height: calc(100vh - 90px); overflow-y: auto; overflow-x: hidden; word-break: break-word; background: #ffffff; border: 1px solid #cfd4da; border-radius: 4px; box-shadow: 0 8px 18px rgba(15, 23, 42, 0.18); z-index: 3000 !important; } .app-header .navbar-nav .nav-item.dropdown { position: relative; z-index: 3000; } .app-header .navbar-nav { overflow: visible; } .app-header .container-fluid { overflow: visible; } .notification-dropdown.show { height: auto !important; z-index: 3000 !important; } .notification-dropdown .dropdown-item { white-space: normal; } .notification-bell-link { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 34px; padding: 0 !important; border: 1px solid rgba(148, 163, 184, 0.36); border-radius: 12px; background: rgba(255, 255, 255, 0.94); box-shadow: 0 8px 22px rgba(15, 23, 42, 0.14); font-size: 1.05rem; } .notification-sync-link { border-color: rgba(16, 185, 129, 0.34); background: rgba(236, 253, 245, 0.96); } .notification-bell-icon { color: #0f172a !important; } .notification-sync-link .notification-bell-icon { color: #047857 !important; } .notification-bell-link:hover .notification-bell-icon { transform: rotate(-8deg); transition: transform 0.15s ease; } .notification-sync-link:hover .notification-bell-icon { transform: scale(1.06); } .notification-badge { top: -7px !important; right: -9px !important; z-index: 2; min-width: 24px; height: 18px; line-height: 16px; padding: 0 5px; border-radius: 999px; font-size: 0.66rem; font-weight: 800; letter-spacing: -0.01em; border: 2px solid var(--user-theme-header); box-shadow: 0 4px 10px rgba(15, 23, 42, 0.26); } .notification-section-header { position: sticky; top: 0; z-index: 1; background: #f8f9fa; border-bottom: 1px solid #e5e7eb; font-size: 0.78rem; letter-spacing: 0; } .notification-section-announcement { background: #fff7ed; color: #9a3412; border-bottom-color: #fed7aa; } .notification-section-invoice { background: #eff6ff; color: #1d4ed8; border-bottom-color: #bfdbfe; } .notification-section-contract { background: #fff1f2; color: #be123c; border-bottom-color: #fecdd3; } .notification-section-approval { background: #eef2ff; color: #4338ca; border-bottom-color: #c7d2fe; } .notification-section-sync { background: #ecfdf5; color: #047857; border-bottom-color: #a7f3d0; } .announcement-item { border-left: 3px solid #f59e0b; background: #fffaf0; } .announcement-item .fw-semibold { color: #92400e; } .notification-sync-item { padding: 0.65rem 0.75rem; } .notification-sync-title { min-width: 0; overflow-wrap: anywhere; } .notification-sync-actions { flex: 0 0 auto; min-width: 68px; } .notification-sync-actions .btn { line-height: 1.15; } .background-sync-panel { position: fixed; right: 18px; bottom: 18px; z-index: 1080; width: min(420px, calc(100vw - 36px)); background: #ffffff; border: 1px solid #d8dee6; border-radius: 8px; box-shadow: 0 14px 34px rgba(15, 23, 42, 0.18); padding: 12px; } .background-sync-panel-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin-bottom: 10px; } .background-sync-panel-title { font-weight: 700; color: #0f172a; } .background-sync-panel-subtitle { font-size: 0.78rem; color: #64748b; } .background-sync-list { display: flex; flex-direction: column; gap: 8px; max-height: 360px; overflow-y: auto; overscroll-behavior: contain; } .background-sync-item { border: 1px solid #e5e7eb; border-radius: 6px; padding: 8px; background: #f8fafc; } .background-sync-item.is-pending, .background-sync-item.is-launching, .background-sync-item.is-processing { border-color: #93c5fd; background: #eff6ff; } .background-sync-item.is-done { border-color: #86efac; background: #f0fdf4; } .background-sync-item.is-failed { border-color: #fecaca; background: #fff1f2; } .background-sync-item-title { font-weight: 700; color: #0f172a; font-size: 0.78rem; overflow-wrap: anywhere; } .background-sync-item-message { color: #475569; font-size: 0.76rem; overflow-wrap: anywhere; } .background-sync-item-meta { font-size: 0.72rem; color: #64748b; } .background-sync-panel .progress { height: 7px; } .app-sidebar {