.NotificationBell-module__tvZxEG__container{align-items:center;display:flex;position:relative}.NotificationBell-module__tvZxEG__bellButton{border:1px solid var(--gray-200);cursor:pointer;background-color:#0000;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:background-color .15s,border-color .15s;display:flex;position:relative}.NotificationBell-module__tvZxEG__bellButton:hover{background:var(--gray-50);border-color:var(--gray-300)}.NotificationBell-module__tvZxEG__bellIcon{color:var(--gray-600)}.NotificationBell-module__tvZxEG__badge{min-width:18px;height:18px;color:var(--neutral-50);background:var(--primary-700);border:2px solid var(--white);border-radius:9999px;justify-content:center;align-items:center;padding:0 4px;font-size:10px;font-weight:700;line-height:1;display:flex;position:absolute;top:-4px;right:-4px}.NotificationBell-module__tvZxEG__dropdown{--top:var(--header-height,50px);top:calc(var(--top) + var(--space-1));width:400px;max-width:calc(100% - (2 * var(--space-1)));box-shadow:var(--shadow-lg);background-color:var(--neutral-50);border:1px solid var(--gray-200);z-index:0;opacity:0;border-radius:12px;flex-direction:column;max-height:calc(80vh - 60px);transition:transform .35s ease-in-out,opacity .35s ease-in-out;display:flex;position:absolute;right:0;overflow:hidden;transform:translateY(-120%)}.NotificationBell-module__tvZxEG__panelOpen{opacity:1;transform:translateY(0)}.NotificationBell-module__tvZxEG__dropdownHeader{border-bottom:1px solid var(--gray-100);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.NotificationBell-module__tvZxEG__dropdownTitle{font-size:var(--text-sm);color:var(--gray-900);margin:0;font-weight:700}.NotificationBell-module__tvZxEG__markAllButton{font-size:var(--text-xs);color:var(--primary-1);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:4px;padding:4px 6px;font-weight:600;display:flex}.NotificationBell-module__tvZxEG__markAllButton:hover{background:var(--primary-4)}.NotificationBell-module__tvZxEG__list{flex-direction:column;flex:1;display:flex;overflow-y:auto}.NotificationBell-module__tvZxEG__loadingRow{font-size:var(--text-sm);color:var(--gray-500);justify-content:center;align-items:center;gap:8px;padding:24px;display:flex}.NotificationBell-module__tvZxEG__spinner{animation:.8s linear infinite NotificationBell-module__tvZxEG__spin}@keyframes NotificationBell-module__tvZxEG__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.NotificationBell-module__tvZxEG__emptyState{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:32px 16px;display:flex}.NotificationBell-module__tvZxEG__emptyState p{font-size:var(--text-sm);color:var(--gray-700);margin:0;font-weight:600}.NotificationBell-module__tvZxEG__emptyState span{font-size:var(--text-xs);color:var(--gray-500)}.NotificationBell-module__tvZxEG__emptyIcon{color:var(--gray-300);margin-bottom:4px}.NotificationBell-module__tvZxEG__item{border-bottom:1px solid var(--gray-50);cursor:pointer;align-items:flex-start;gap:10px;padding:12px 16px;transition:background .12s;display:flex}.NotificationBell-module__tvZxEG__item:hover{background:var(--gray-50)}.NotificationBell-module__tvZxEG__item.NotificationBell-module__tvZxEG__unread{background:var(--primary-4)}.NotificationBell-module__tvZxEG__item.NotificationBell-module__tvZxEG__unread:hover{background:var(--primary-5)}.NotificationBell-module__tvZxEG__itemDot{background:var(--primary-1);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:6px}.NotificationBell-module__tvZxEG__itemDot[data-read=true]{background:0 0}.NotificationBell-module__tvZxEG__itemContent{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.NotificationBell-module__tvZxEG__itemTitle{font-size:var(--text-sm);color:var(--gray-900);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-weight:600;line-height:1.4;display:-webkit-box;overflow:hidden}.NotificationBell-module__tvZxEG__itemBody{font-size:var(--text-xs);color:var(--gray-600);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;line-height:1.4;display:-webkit-box;overflow:hidden}.NotificationBell-module__tvZxEG__itemTime{font-size:var(--text-xs);color:var(--gray-400);margin-top:2px}.NotificationBell-module__tvZxEG__itemLink{font-size:var(--text-xs);color:var(--primary-1);border:1px solid var(--primary-2);background:var(--white);border-radius:6px;flex-shrink:0;align-self:center;padding:4px 8px;font-weight:600;text-decoration:none}.NotificationBell-module__tvZxEG__itemLink:hover{background:var(--primary-1);color:var(--white)}.NotificationBell-module__tvZxEG__dropdownFooter{border-top:1px solid var(--gray-100);justify-content:center;padding:10px 16px;display:flex}.NotificationBell-module__tvZxEG__viewAllLink{font-size:var(--text-sm);color:var(--primary-1);font-weight:600;text-decoration:none}.NotificationBell-module__tvZxEG__viewAllLink:hover{text-decoration:underline}@media not (min-width:640px){.NotificationBell-module__tvZxEG__dropdown{width:calc(100% - (2 * var(--space-1)))}}
.page-body-module__E-oNbq__body{background-color:var(--background-color);flex-direction:column;max-width:100vw;min-height:100%;display:flex}
.alert-toast-module__FGyYkq__container{z-index:9999;pointer-events:none;flex-direction:column-reverse;gap:.5rem;display:flex;position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%)}.alert-toast-module__FGyYkq__toast{pointer-events:auto;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);font-family:var(--font-body);font-size:var(--text-sm);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;align-items:center;gap:.75rem;width:min(30rem,90vw);padding:.75rem 1.25rem;line-height:1.4;animation:.3s ease-out forwards alert-toast-module__FGyYkq__slideIn;display:flex}.alert-toast-module__FGyYkq__toast.alert-toast-module__FGyYkq__exiting{animation:.3s ease-in forwards alert-toast-module__FGyYkq__slideOut}.alert-toast-module__FGyYkq__icon{flex-shrink:0;width:1.25rem;height:1.25rem}.alert-toast-module__FGyYkq__message{flex:1}.alert-toast-module__FGyYkq__close{color:inherit;opacity:.7;cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;flex-shrink:0;padding:.125rem;line-height:0;transition:opacity .15s}.alert-toast-module__FGyYkq__close:hover{opacity:1}.alert-toast-module__FGyYkq__success{background-color:var(--translucent-success)}.alert-toast-module__FGyYkq__error{background-color:var(--translucent-error)}.alert-toast-module__FGyYkq__warning{background-color:var(--translucent-warning)}.alert-toast-module__FGyYkq__info{background-color:var(--translucent-info)}.alert-toast-module__FGyYkq__overlay{z-index:10000;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.alert-toast-module__FGyYkq__confirmBox{border-radius:var(--radius-lg);width:90vw;max-width:400px;box-shadow:var(--shadow-xl);background:#fff;padding:2rem;animation:.2s ease-out forwards alert-toast-module__FGyYkq__slideIn}.alert-toast-module__FGyYkq__confirmMessage{font-family:var(--font-body);font-size:var(--text-base);color:var(--gray-800);margin:0;line-height:1.5}.alert-toast-module__FGyYkq__confirmActions{justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}.alert-toast-module__FGyYkq__confirmCancelBtn{border-radius:var(--radius-md);border:1px solid var(--gray-300);color:var(--gray-700);font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer;background:#fff;padding:.5rem 1.25rem;transition:background .15s}.alert-toast-module__FGyYkq__confirmCancelBtn:hover{background:var(--gray-100)}.alert-toast-module__FGyYkq__confirmDeleteBtn{border-radius:var(--radius-md);background:var(--error);color:#fff;font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer;border:none;padding:.5rem 1.25rem;transition:opacity .15s}.alert-toast-module__FGyYkq__confirmDeleteBtn:hover{opacity:.9}@keyframes alert-toast-module__FGyYkq__slideIn{0%{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:translateY(0)}}@keyframes alert-toast-module__FGyYkq__slideOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(1rem)}}