/* Fresh & Vibrant Style for Notifications */ :root { --mint-green: #A8E6CF; --pale-yellow: #FFD3B6; --coral-pink: #FFAAA5; --sky-blue: #BDE4F4; --clean-white: #FFFFFF; --bright-orange: #FF8C69; /* Emphasis for buttons/key info */ --lemon-yellow: #FFFACD; /* Can be used for subtle highlights */ --text-dark: #424242; /* Slightly softer than pure black */ --text-medium: #757575; --text-light: #9E9E9E; --font-title: 'Poppins', sans-serif; --font-body: 'Nunito Sans', sans-serif; --card-shadow: 0 4px 15px rgba(0, 0, 0, 0.06); --card-hover-shadow: 0 6px 20px rgba(0, 0, 0, 0.1); --border-radius-main: 12px; --border-radius-small: 8px; } /* Apply base font and background to body (likely in base.css, but good for context) */ body { font-family: var(--font-body); background-color: var(--clean-white); /* Or a very light tint like #FDFCFA */ color: var(--text-dark); line-height: 1.6; font-weight: 400; } .notifications-container { padding: 25px 30px; max-width: 900px; margin: 20px auto; background-color: var(--clean-white); /* Optional: add a subtle pattern or a large soft circular gradient */ /* background-image: linear-gradient(135deg, var(--mint-green) -20%, var(--clean-white) 30%); */ border-radius: var(--border-radius-main); /* box-shadow: 0 10px 30px rgba(168, 230, 207, 0.2); */ /* Subtle shadow for container */ } .page-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 30px; padding-bottom: 20px; border-bottom: 1px solid #f0f0f0; /* Softer border */ } .page-header h1 { font-family: var(--font-title); font-size: 2rem; /* Slightly larger */ font-weight: 600; color: var(--text-dark); margin: 0; } /* Fresh Action Button Style */ .btn-fresh-action { background-color: var(--bright-orange); color: var(--clean-white); border: none; padding: 10px 20px; border-radius: 25px; /* Pill shape */ font-family: var(--font-body); font-weight: 600; text-decoration: none; transition: all 0.3s ease; font-size: 0.9rem; box-shadow: 0 2px 8px rgba(255, 140, 105, 0.3); } .btn-fresh-action:hover { background-color: #ff7b5a; /* Slightly darker orange */ color: var(--clean-white); transform: translateY(-2px); box-shadow: 0 4px 12px rgba(255, 140, 105, 0.4); } .btn-fresh-action i { margin-right: 8px; } .filter-tabs { display: flex; margin-bottom: 25px; gap: 10px; /* border-bottom: 2px solid var(--pale-yellow); */ /* Optional subtle line */ } .filter-tab { padding: 10px 20px; color: var(--text-medium); text-decoration: none; border-radius: var(--border-radius-small); /* Rounded tabs */ font-weight: 600; font-size: 0.95rem; transition: all 0.3s ease; border-bottom: 3px solid transparent; /* Underline effect for active */ } .filter-tab:hover { color: var(--coral-pink); background-color: rgba(255, 170, 165, 0.1); /* Light coral tint on hover */ } .filter-tab.active { color: var(--coral-pink); border-bottom-color: var(--coral-pink); /* background-color: var(--coral-pink); */ /* color: var(--clean-white); */ } .notifications-list { margin-top: 20px; display: grid; gap: 20px; } .notification-card { background-color: var(--clean-white); border-radius: var(--border-radius-main); box-shadow: var(--card-shadow); padding: 20px 25px; transition: transform 0.25s ease, box-shadow 0.25s ease; display: flex; /* For icon alignment */ align-items: flex-start; /* Align icon to top of content */ gap: 15px; border-left: 5px solid transparent; /* Placeholder for unread state */ } .notification-icon-area { font-size: 1.5rem; color: var(--sky-blue); padding-top: 5px; /* Align with title */ } .notification-card.unread .notification-icon-area { color: var(--mint-green); } .notification-card:hover { transform: translateY(-4px); box-shadow: var(--card-hover-shadow); } .notification-card.unread { border-left-color: var(--mint-green); background-color: #f6fffb; /* Very light mint */ } .notification-content { flex-grow: 1; } .notification-title { display: flex; align-items: center; justify-content: space-between; margin-top: 0; margin-bottom: 8px; font-size: 1.15rem; /* Adjusted size */ font-family: var(--font-title); font-weight: 600; } .notification-title a { color: var(--text-dark); text-decoration: none; transition: color 0.2s ease; } .notification-title a:hover { color: var(--coral-pink); } .unread-badge { background-color: var(--bright-orange); color: white; font-size: 0.7rem; padding: 4px 10px; border-radius: 15px; /* Pill shape */ margin-left: 10px; font-weight: 600; letter-spacing: 0.5px; } .notification-text { color: var(--text-medium); margin-bottom: 15px; line-height: 1.6; font-size: 0.9rem; letter-spacing: 0.2px; } .notification-meta { display: flex; justify-content: space-between; align-items: center; color: var(--text-light); font-size: 0.8rem; } .notification-type { background-color: var(--sky-blue); /* Sky Blue for type */ color: #3E84A8; /* Darker text for contrast on sky blue */ padding: 3px 10px; border-radius: var(--border-radius-small); font-weight: 600; } .notification-time { font-style: italic; } /* Pagination */ .pagination-container { margin-top: 30px; display: flex; justify-content: center; } .pagination { display: flex; list-style: none; padding-left: 0; } .pagination .page-item .page-link { color: var(--coral-pink); background-color: var(--clean-white); border: 1px solid var(--pale-yellow); margin: 0 4px; border-radius: 50%; /* Circular pagination items */ width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; font-weight: 600; font-size: 0.9rem; transition: all 0.2s ease-in-out; } .pagination .page-item .page-link:hover { background-color: var(--pale-yellow); color: var(--coral-pink); border-color: var(--coral-pink); text-decoration: none; } .pagination .page-item.active .page-link { background-color: var(--coral-pink); border-color: var(--coral-pink); color: var(--clean-white); box-shadow: 0 2px 5px rgba(255, 170, 165, 0.5); } .pagination .page-item.disabled .page-link { color: #ccc; background-color: #f8f8f8; border-color: #eee; pointer-events: none; } .no-records { text-align: center; padding: 50px 20px; background-color: #fafffd; /* Very light mint/yellow mix */ border-radius: var(--border-radius-main); color: var(--text-medium); margin-top: 20px; } .no-records-icon { /* Style for the inline SVG */ width: 60px; height: 60px; margin-bottom: 20px; opacity: 0.8; } /* If using Font Awesome for no-records icon: */ .no-records .fas.fa-bell-slash { font-size: 3.5rem; margin-bottom: 20px; color: var(--mint-green); opacity: 0.7; } .no-records p { font-size: 1.1rem; font-family: var(--font-body); font-weight: 600; color: var(--text-dark); } /* Notification Dropdown Styles (assuming this is for a navbar dropdown or similar) */ /* These are kept minimal as the main focus was the page content */ .notification-dropdown { width: 350px; /* Wider for more content */ padding: 0; max-height: 450px; overflow-y: auto; border-radius: var(--border-radius-small); box-shadow: 0 5px 25px rgba(0,0,0,0.1); background-color: var(--clean-white); } .notification-header { display: flex; justify-content: space-between; align-items: center; padding: 12px 15px; background-color: var(--pale-yellow); /* Light yellow header */ border-bottom: 1px solid #f0e0d0; } .notification-header h5 { margin:0; font-family: var(--font-title); font-weight: 600; color: var(--text-dark); } .mark-all-read { /* Link in dropdown header */ font-size: 0.8rem; color: var(--coral-pink); font-weight: 600; text-decoration: none; } .mark-all-read:hover { text-decoration: underline; } .notification-items { max-height: 300px; overflow-y: auto; } .notification-item { padding: 12px 15px; border-bottom: 1px solid #f5f5f5; transition: background-color 0.2s ease; } .notification-item:last-child { border-bottom: none; } .notification-item:hover { background-color: var(--mint-green-light, #e6f7f0); /* Very light mint on hover */ } .notification-item.unread { background-color: #fff8f0; /* Very light orange/yellow for unread in dropdown */ border-left: 3px solid var(--bright-orange); padding-left: 12px; } .notification-item .notification-content h6 { /* Assuming title in dropdown is h6 */ margin-bottom: 5px; font-size: 0.9rem; font-family: var(--font-title); font-weight: 600; color: var(--text-dark); } .notification-item .notification-text { /* Text snippet in dropdown */ font-size: 0.8rem; color: var(--text-medium); margin-bottom: 5px; line-height: 1.4; } .notification-item .notification-time { font-size: 0.75rem; color: var(--text-light); } .view-all { /* Footer link in dropdown */ text-align: center; font-weight: 600; padding: 12px 15px; display: block; text-decoration: none; color: var(--bright-orange); background-color: #fffaf5; transition: background-color 0.2s ease; } .view-all:hover { background-color: var(--pale-yellow); } .no-notifications { /* Message in empty dropdown */ padding: 25px; text-align: center; color: var(--text-medium); font-size: 0.9rem; }