.notification-bell{position:relative;cursor:pointer;padding:8px;border-radius:50%;background:hsla(0,0%,100%,.1);transition:background .2s ease;display:flex;align-items:center;justify-content:center}.notification-bell:hover{background:hsla(0,0%,100%,.2)}.notification-badge{position:absolute;top:2px;right:2px;background:#ff4757;color:#fff;border-radius:50%;width:18px;height:18px;font-size:12px;display:flex;align-items:center;justify-content:center;font-weight:700;min-width:18px;animation:pulse 2s infinite}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.notification-center-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:999;display:flex;justify-content:flex-end;align-items:flex-start;padding-top:60px;padding-right:20px;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.notification-center{width:400px;max-height:500px;background:#1a1a1a;border:1px solid #333;border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,.3);z-index:1000;overflow:hidden;animation:slideIn .3s ease}@keyframes slideIn{0%{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}.notification-header{padding:16px 20px;border-bottom:1px solid #333;display:flex;justify-content:space-between;align-items:center;background:#222}.notification-header h3{margin:0;color:#fff;font-size:18px;font-weight:600}.notification-header button{background:none;border:none;color:#999;cursor:pointer;font-size:20px;padding:4px;border-radius:4px;transition:all .2s ease}.notification-header button:hover{background:#333;color:#fff}.notification-list{max-height:400px;overflow-y:auto;background:#1a1a1a}.notification-list::-webkit-scrollbar{width:6px}.notification-list::-webkit-scrollbar-track{background:#2a2a2a}.notification-list::-webkit-scrollbar-thumb{background:#555;border-radius:3px}.notification-list::-webkit-scrollbar-thumb:hover{background:#777}.notification-item{padding:16px 20px;border-bottom:1px solid #333;cursor:pointer;transition:background .2s ease;position:relative}.notification-item:hover{background:#2a2a2a}.notification-item.unread{background:rgba(102,126,234,.05);border-left:3px solid #667eea}.notification-item.unread:hover{background:rgba(102,126,234,.1)}.notification-item-content{display:flex;align-items:flex-start;gap:12px}.notification-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:20px}.notification-icon.birthday{background:hsla(0,100%,71%,.2);color:#ff6b6b}.notification-icon.anniversary{background:rgba(255,159,243,.2);color:#ff9ff3}.notification-icon.holiday{background:rgba(84,160,255,.2);color:#54a0ff}.notification-icon.custom{background:rgba(95,39,205,.2);color:#5f27cd}.notification-content{flex:1 1;min-width:0}.notification-title{margin:0 0 4px;font-size:14px;font-weight:600;color:#fff;line-height:1.3}.notification-message{margin:0 0 8px;font-size:13px;color:#ccc;line-height:1.4}.notification-time{font-size:12px;color:#999;flex-shrink:0;margin-left:8px}.notification-action{margin-top:8px}.notification-action button{background:transparent;border:1px solid;border-radius:6px;padding:4px 12px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease}.notification-action button.birthday{border-color:#ff6b6b;color:#ff6b6b}.notification-action button.birthday:hover{background:#ff6b6b;color:#fff}.notification-action button.anniversary{border-color:#ff9ff3;color:#ff9ff3}.notification-action button.anniversary:hover{background:#ff9ff3;color:#fff}.notification-action button.holiday{border-color:#54a0ff;color:#54a0ff}.notification-action button.holiday:hover{background:#54a0ff;color:#fff}.notification-action button.custom{border-color:#5f27cd;color:#5f27cd}.notification-action button.custom:hover{background:#5f27cd;color:#fff}.notification-unread-indicator{position:absolute;left:8px;top:50%;transform:translateY(-50%);width:8px;height:8px;border-radius:50%;background:#667eea}.notification-empty{padding:40px 20px;text-align:center;color:#999}.notification-empty .icon{font-size:48px;margin-bottom:16px;opacity:.5}.notification-empty h3{margin:0 0 8px;color:#ccc;font-size:16px}.notification-empty p{margin:0;font-size:14px;color:#999}.notification-loading{padding:20px;text-align:center;color:#999}.notification-loading .spinner{width:20px;height:20px;border:2px solid #333;border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 8px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:768px){.notification-center-overlay{align-items:flex-start;padding:80px 20px 20px}.notification-center{width:100%;max-width:400px;max-height:70vh}.notification-item{padding:12px 16px}.notification-icon{width:32px;height:32px;font-size:16px}.notification-title{font-size:13px}.notification-message{font-size:12px}}@media (prefers-color-scheme:dark){.notification-center{background:#0a0a0a;border-color:#444}.notification-header{background:#111;border-color:#444}.notification-item{border-color:#444}.notification-item:hover{background:#1a1a1a}.notification-item.unread{background:rgba(102,126,234,.08)}.notification-item.unread:hover{background:rgba(102,126,234,.12)}}[data-amplify-authenticator] [data-amplify-button][data-amplify-social-provider]{background-color:#a7947f!important;border-color:#a7947f!important;color:#0f0c08!important}[data-amplify-authenticator] [data-amplify-button][data-amplify-social-provider]:hover{background-color:#e5cbaf!important;border-color:#e5cbaf!important}[data-amplify-authenticator] [data-amplify-button][data-amplify-social-provider]:focus{box-shadow:0 0 0 2px #a7947f!important}