.shine-button:hover:before{animation:1.5s ease-out infinite shine}.shine-button:before{content:"";opacity:.6;background-image:linear-gradient(120deg,#fff0 30%,#fffc,#fff0 70%);width:100px;height:100%;position:absolute;top:0;left:-100px}.shine-button{font-weight:700}.shine-button svg{zoom:1.2}@keyframes shine{0%{left:-100px}60%{left:100%}to{left:100%}}.menu-desktop-nav{align-items:center;gap:4px;display:flex}.menu-hamburger{color:#262626;cursor:pointer;background:0 0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.1rem;transition:background .15s;display:none}.menu-hamburger:hover{color:#262626;background:#f5f5f5}.menu-hamburger svg{transform:none!important}.menu-user-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.menu-mobile-drawer .ant-drawer-body{flex-direction:column;height:100%;display:flex;padding:0!important}.mobile-drawer{flex-direction:column;height:100%;display:flex;overflow-y:auto}.mobile-drawer-header{border-bottom:1px solid #f0f0f0;flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.mobile-drawer-header svg{transform:none!important}.mobile-drawer-close{color:#8c8c8c;cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:.85rem;transition:all .15s;display:flex}.mobile-drawer-close:hover{color:#262626;background:#f5f5f5}.mobile-drawer-nav{flex-direction:column;gap:2px;padding:12px 12px 0;display:flex}.mobile-drawer-cta{background:var(--ant-color-primary,#1677ff);color:#fff;letter-spacing:.03em;cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;height:44px;margin-bottom:8px;font-size:.88rem;font-weight:600;transition:all .2s;display:flex;position:relative;overflow:hidden}.mobile-drawer-cta:hover{color:#fff;background:#4096ff;transform:translateY(-1px);box-shadow:0 4px 12px #1677ff4d}.mobile-drawer-cta svg{font-size:1.1rem;transform:none!important}.mobile-drawer-cta svg path{stroke:#fff;fill:#fff!important}.mobile-drawer-item{color:#595959;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:10px;align-items:center;gap:12px;width:100%;height:46px;padding:0 14px;font-size:.9rem;font-weight:500;transition:all .15s;display:flex;position:relative}.mobile-drawer-item:hover{color:#262626;background:#fafafa}.mobile-drawer-item.active{color:#1677ff;background:#f0f5ff}.mobile-drawer-item.active:before{content:"";background:#1677ff;border-radius:0 3px 3px 0;width:3px;position:absolute;top:8px;bottom:8px;left:0}.mobile-drawer-item-icon{flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:1.05rem;display:flex}.mobile-drawer-item-icon svg{width:20px;height:20px;transform:none!important}.mobile-drawer-item-icon svg path,.mobile-drawer-item-icon svg line,.mobile-drawer-item-icon svg polyline,.mobile-drawer-item-icon svg rect,.mobile-drawer-item-icon svg circle{stroke-linecap:round;stroke-linejoin:round;fill:none!important;stroke:currentColor!important;stroke-width:2.2px!important}.mobile-drawer-item-label{flex:1}.mobile-drawer-spacer{flex:1;min-height:16px}.mobile-drawer-user{flex-shrink:0;padding:0 12px 16px}.mobile-drawer-divider{background:#f0f0f0;height:1px;margin:8px 4px}.mobile-drawer-user-info{align-items:center;gap:12px;padding:10px 8px;display:flex}.mobile-drawer-user-details{flex-direction:column;min-width:0;display:flex}.mobile-drawer-user-name{color:#262626;white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;font-weight:600;overflow:hidden}.mobile-drawer-user-plan{color:#8c8c8c;align-items:center;margin-top:1px;font-size:.78rem;display:flex}.mobile-drawer-links{flex-direction:column;gap:1px;display:flex}.mobile-drawer-link{color:#595959;border-radius:8px;align-items:center;gap:10px;padding:10px 14px;font-size:.85rem;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.mobile-drawer-link:hover{color:#262626;background:#fafafa}.mobile-drawer-link svg{font-size:.9rem;transform:none!important}.mobile-drawer-logout{color:#ff4d4f;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;width:100%;padding:10px 14px;font-size:.85rem;font-weight:500;transition:all .15s;display:flex}.mobile-drawer-logout:hover{color:#ff4d4f;background:#fff2f0}.mobile-drawer-logout svg{transform:none!important}@media (max-width:1024px){.menu-hamburger{display:flex}.menu-desktop-nav,.menu-user-name{display:none}}@media (max-width:480px){.mobile-drawer-cta{height:42px;font-size:.85rem}.mobile-drawer-item{height:44px;font-size:.85rem}}
.notif-panel{--notif-bg:#fff;--notif-bg-unread:#f0f5ff;--notif-border:#f0f0f0;--notif-text-primary:#262626;--notif-text-secondary:#595959;--notif-text-muted:#8c8c8c;--notif-text-faint:#bfbfbf;--notif-blue:#1677ff;--notif-blue-bg:#f0f5ff;--notif-green:#52c41a;--notif-green-bg:#f6ffed;--notif-red:#ff4d4f;--notif-red-bg:#fff2f0;--notif-orange:#faad14;--notif-orange-bg:#fffbe6;--notif-gray:#8c8c8c;--notif-gray-bg:#f5f6f8;--notif-radius:10px;width:420px;font-family:inherit}.notif-header{justify-content:space-between;align-items:center;padding:4px 0 12px;display:flex}.notif-header-left{align-items:center;gap:8px;display:flex}.notif-header-title{color:var(--notif-text-primary);font-size:.95rem;font-weight:600}.notif-header-count{color:var(--notif-blue);background:var(--notif-blue-bg);border:1px solid #d6e4ff;border-radius:100px;padding:1px 7px;font-size:.68rem;font-weight:600;line-height:1.4}.notif-clear-btn{border:1px solid var(--notif-border);background:var(--notif-bg);color:var(--notif-text-muted);cursor:pointer;border-radius:100px;align-items:center;gap:5px;padding:4px 10px;font-size:.75rem;transition:all .15s;display:flex}.notif-clear-btn:hover{background:var(--notif-red-bg);color:var(--notif-red);border-color:#ffccc7}.notif-clear-icon{font-size:.7rem}.notif-divider{border:none;border-top:1px dashed var(--notif-border);margin:0}.notif-body{max-height:520px;margin:0 -4px;padding:0 4px;overflow:hidden auto}.notif-body::-webkit-scrollbar{width:3px}.notif-body::-webkit-scrollbar-track{background:0 0}.notif-body::-webkit-scrollbar-thumb{background:0 0;border-radius:100px;transition:background .2s}.notif-body:hover::-webkit-scrollbar-thumb{background:#00000014}.notif-body:hover::-webkit-scrollbar-thumb:hover{background:#00000026}.notif-card{border-bottom:1px dashed var(--notif-border);border-radius:8px;gap:10px;padding:12px 8px;transition:background .15s;animation:.25s both notifSlideIn;display:flex;position:relative}.notif-card:last-child{border-bottom:none}.notif-card:hover{background:#fafafa}.notif-card.is-unread{background:var(--notif-bg-unread)}.notif-card.is-unread:hover{background:#e8f0fe}.notif-icon-wrap{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;margin-top:1px;font-size:.85rem;display:flex}.notif-icon-wrap.icon-blue{background:var(--notif-blue-bg);color:var(--notif-blue)}.notif-icon-wrap.icon-green{background:var(--notif-green-bg);color:var(--notif-green)}.notif-icon-wrap.icon-red{background:var(--notif-red-bg);color:var(--notif-red)}.notif-icon-wrap.icon-orange{background:var(--notif-orange-bg);color:var(--notif-orange)}.notif-icon-wrap.icon-gray{background:var(--notif-gray-bg);color:var(--notif-gray)}.notif-content{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.notif-text{color:var(--notif-text-primary);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:.82rem;line-height:1.45;display:-webkit-box;overflow:hidden}.notif-card.is-unread .notif-text{font-weight:500}.notif-footer{justify-content:space-between;align-items:center;gap:8px;margin-top:2px;display:flex}.notif-time{color:var(--notif-text-faint);white-space:nowrap;font-size:.72rem}.notif-action-link{color:var(--notif-blue);text-transform:capitalize;white-space:nowrap;align-items:center;gap:4px;padding:2px 0;font-size:.72rem;font-weight:500;text-decoration:none;transition:color .15s;display:inline-flex}.notif-action-link:hover{color:#4096ff}.notif-action-arrow{font-size:.6rem;transition:transform .15s}.notif-action-link:hover .notif-action-arrow{transform:translate(2px)}.notif-delete-btn{color:#0000;cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;margin-top:1px;font-size:.6rem;transition:all .15s;display:flex}.notif-card:hover .notif-delete-btn{color:var(--notif-text-faint)}.notif-delete-btn:hover{background:var(--notif-red-bg);color:var(--notif-red)!important}.notif-unread-dot{background:var(--notif-blue);border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite notifPulse;position:absolute;top:14px;left:2px}.notif-empty{flex-direction:column;align-items:center;gap:6px;padding:32px 0 24px;animation:.3s notifFadeIn;display:flex}.notif-empty-icon{background:var(--notif-blue-bg);width:40px;height:40px;color:var(--notif-blue);border-radius:50%;justify-content:center;align-items:center;margin-bottom:4px;font-size:1.1rem;display:flex}.notif-empty-title{color:var(--notif-text-secondary);font-size:.85rem;font-weight:500}.notif-empty-sub{color:var(--notif-text-faint);font-size:.75rem}@keyframes notifSlideIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes notifFadeIn{0%{opacity:0}to{opacity:1}}@keyframes notifPulse{0%,to{opacity:1}50%{opacity:.4}}
