@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-spinner{color:#aeaeb2;justify-content:center;align-items:center;display:flex}.loading-spinner--page{padding:5rem 0}.loading-spinner--section{padding:3rem 0}.loading-spinner__icon{animation:.8s linear infinite spin}
.empty-state{color:#aeaeb2;text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-state--page{padding:5rem 1.25rem}.empty-state--dialog{padding:3rem 1.25rem}.empty-state--inline{padding:2rem 1.25rem}.empty-state__icon{opacity:.6;margin-bottom:1rem}.empty-state__message{word-break:keep-all;margin:0;font-size:.9375rem;line-height:1.5}
.notification-list{background-color:var(--white);min-height:100%;padding:0 16px 32px}.notification-list .list-header{background:var(--white);z-index:10;justify-content:flex-end;align-items:center;margin:0 -16px;padding:0 16px;display:flex;position:sticky;top:0}.notification-list .list-header .mark-all-read{color:var(--slate-500);cursor:pointer;background:0 0;border:none;padding:12px 0;font-size:13px;font-weight:500;transition:color .15s}.notification-list .date-group{margin-bottom:20px}.notification-list .date-group .group-date{color:var(--slate-500);margin-top:6px;margin-bottom:10px;font-size:13px;font-weight:700}.notification-list .date-group .notification-items{flex-direction:column;gap:8px;display:flex}.notification-list .notification-item{background-color:var(--slate-50);border:1px solid var(--slate-100);cursor:pointer;border-radius:12px;align-items:flex-start;gap:10px;padding:12px 14px;transition:all .2s;display:flex;position:relative}.notification-list .notification-item .icon-area{background-color:var(--slate-100);width:26px;height:26px;color:var(--slate-400);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;transition:all .2s;display:flex}.notification-list .notification-item .icon-area.is-logo,.notification-list .notification-item .icon-area.is-user{background-color:var(--slate-100);color:var(--slate-400)}.notification-list .notification-item .content-area{flex:1;min-width:0;padding:0}.notification-list .notification-item .content-area .header-row{margin-bottom:3px}.notification-list .notification-item .content-area .header-row .title-group{justify-content:space-between;align-items:center;gap:6px;display:flex}.notification-list .notification-item .content-area .header-row .title-group .item-title{color:var(--slate-700);font-size:14px;font-weight:600;line-height:1.35}.notification-list .notification-item .content-area .header-row .title-group .item-time{color:var(--slate-400);white-space:nowrap;flex-shrink:0;font-size:11px;font-weight:400}.notification-list .notification-item .content-area .item-message{color:var(--slate-500);word-break:break-all;margin-top:4px;font-size:13px;line-height:1.45}.notification-list .notification-item .content-area .item-footer{color:var(--slate-400);font-size:11px;display:inline-block}.notification-list .notification-item.unread{cursor:pointer;background-color:var(--white);border-color:var(--slate-200);box-shadow:0 2px 6px #0000000a}.notification-list .notification-item.unread .icon-area.is-logo,.notification-list .notification-item.unread .icon-area.is-user{background-color:var(--slate-200);color:var(--slate-600)}.notification-list .notification-item.unread .content-area .header-row .title-group .item-title{color:var(--slate-900);font-weight:700}.notification-list .notification-item.unread .content-area .item-message{color:var(--slate-700)}@media (hover:hover){.notification-list .list-header .mark-all-read:hover{color:var(--slate-800)}.notification-list .notification-item:hover{background-color:var(--slate-100);border-color:var(--slate-300);transform:translateY(-1px)}.notification-list .notification-item.unread:hover{background-color:var(--slate-50);border-color:var(--slate-400)}}
.sse-status{color:#888;background-color:#f5f5f5;border-radius:12px;align-items:center;gap:4px;padding:4px 8px;font-size:11px;font-weight:500;transition:all .3s;display:flex}@media (max-width:360px){.sse-status .status-text{display:none}}.sse-status.status--connected{color:#4caf50;background-color:#e8f5e9}.sse-status.status--connecting{color:#ff9800;background-color:#fff3e0}.sse-status.status--error,.sse-status.status--disconnected{color:#f44336;background-color:#ffebee}
