/* SPDX-License-Identifier: AGPL-3.0-or-later */ :host { position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: var(--z-sheet); pointer-events: none; } .overlay { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.3); opacity: 0; transition: opacity 0.2s ease; pointer-events: none; } :host([open]) .overlay { opacity: 1; pointer-events: auto; } .sheet { position: absolute; top: 0; left: 0; right: 0; max-height: 70vh; background: var(--bg-menu); border-radius: 0 0 var(--radius-lg) var(--radius-lg); transform: translateY(-100%); transition: transform 0.3s ease; pointer-events: auto; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3); display: flex; flex-direction: column; overflow: hidden; } :host([open]) .sheet { transform: translateY(0); } .sheet-header { display: flex; align-items: center; justify-content: space-between; padding: var(--spacing-md); border-bottom: 1px solid var(--color-border); } .status-info { display: flex; align-items: center; gap: var(--spacing-sm); font-size: 14px; color: var(--color-text-menu); } .tab-count { background: var(--color-focus-ring); color: white; padding: 2px 8px; border-radius: 12px; font-size: 12px; font-weight: 600; } .clear-all-button { background: transparent; border: none; color: var(--color-focus-ring); font-size: 14px; cursor: pointer; padding: var(--spacing-xs) var(--spacing-sm); } .clear-all-button:disabled { opacity: 0.5; cursor: not-allowed; } .notifications-list { flex: 1; overflow-y: auto; padding: var(--spacing-sm); } .notification-item { display: flex; align-items: flex-start; gap: var(--spacing-sm); padding: var(--spacing-sm) var(--spacing-md); background: var(--bg-webview); border-radius: var(--radius-md); margin-bottom: var(--spacing-sm); cursor: pointer; transition: background 0.2s ease, transform 0.2s ease; position: relative; } .notification-item:hover { background: var(--color-menu-item-hover); } .notification-item.swiping { transition: none; } .notification-icon { width: 40px; height: 40px; border-radius: 8px; background: var(--bg-header); display: flex; align-items: center; justify-content: center; flex-shrink: 0; } .notification-icon img { width: 24px; height: 24px; object-fit: contain; } .notification-icon lucide-icon { font-size: 20px; color: var(--color-text-tertiary); } .notification-content { flex: 1; min-width: 0; } .notification-title { font-weight: 600; font-size: 14px; color: var(--color-text-menu); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .notification-body { font-size: 13px; color: var(--color-text-tertiary); margin-top: 2px; overflow: hidden; } .notification-time { font-size: 11px; color: var(--color-text-tertiary); margin-top: 4px; } .dismiss-button { background: transparent; border: none; color: var(--color-text-tertiary); padding: var(--spacing-xs); cursor: pointer; opacity: 0; transition: opacity 0.2s ease; } .notification-item:hover .dismiss-button { opacity: 1; } .empty-state { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--spacing-md); color: var(--color-text-tertiary); } .empty-state lucide-icon { font-size: 48px; margin-bottom: var(--spacing-md); opacity: 0.5; } .empty-state-text { font-size: 14px; }