.notification-container{position:relative;z-index:1000}.notification-button{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);cursor:pointer;transition:all .2s var(--ease-smooth);background:var(--bg-secondary)}.notification-button:hover{background:var(--bg-hover);box-shadow:var(--shadow-sm)}.notification-button:active{transform:scale(.95)}.notification-badge-custom .ant-badge-count{background:#ff453a;border:2px solid var(--bg-primary);box-shadow:0 0 0 1px #ff453a33,var(--shadow-sm);font-weight:600;min-width:18px;height:18px;line-height:14px;font-size:11px;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 0 0 1px #ff453a33,var(--shadow-sm)}50%{box-shadow:0 0 0 3px #ff453a4d,var(--shadow-sm)}}.notification-badge-custom{display:flex;align-items:center;justify-content:center}.notification-badge-custom .ant-badge-dot{background:#ff453a;box-shadow:0 0 0 2px var(--bg-primary),0 0 0 3px #ff453a4d;width:8px;height:8px}.notification-overlay{position:fixed;inset:0;background:#0006;z-index:999;animation:fadeIn .2s var(--ease-smooth)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.notification-panel{position:fixed;top:100px;right:20px;width:400px;max-height:calc(100vh - 140px);background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);overflow:hidden;z-index:1000;animation:slideIn .2s var(--ease-smooth)}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.notification-header{padding:16px 20px;border-bottom:1px solid var(--bg-hover);display:flex;justify-content:space-between;align-items:center;background:var(--bg-secondary)}.notification-title{font-size:15px;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px}.unread-count{margin-left:6px;padding:2px 8px;background:var(--bg-hover);border-radius:10px;font-size:11px;font-weight:600;color:var(--text-secondary)}.notification-actions{display:flex;gap:4px}.notification-list{max-height:calc(100vh - 240px);overflow-y:auto;overflow-x:hidden}.notification-list::-webkit-scrollbar{width:6px}.notification-list::-webkit-scrollbar-track{background:transparent}.notification-list::-webkit-scrollbar-thumb{background:var(--bg-hover);border-radius:3px}.notification-list::-webkit-scrollbar-thumb:hover{background:var(--bg-active)}.notification-item{padding:14px 16px;border-bottom:1px solid var(--bg-hover);display:flex;gap:12px;cursor:pointer;transition:all .2s var(--ease-smooth);background:transparent}.notification-item:hover{background:var(--bg-secondary)}.notification-item:active{background:var(--bg-hover)}.notification-item.unread{background:var(--bg-secondary);border-left:3px solid var(--accent-primary)}.notification-icon{width:36px;height:36px;min-width:36px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:16px;color:var(--text-primary);transition:all .2s var(--ease-smooth)}.notification-content{flex:1;min-width:0}.notification-item-title{font-size:13px;font-weight:500;color:var(--text-primary);margin-bottom:4px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.notification-item-content{font-size:12px;color:var(--text-secondary);margin-bottom:4px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.notification-item-time{font-size:11px;color:var(--text-tertiary)}.notification-item-actions{display:flex;gap:4px;opacity:0;transition:opacity .2s var(--ease-smooth)}.notification-item:hover .notification-item-actions{opacity:1}.action-btn{width:28px;height:28px;min-width:28px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all .2s var(--ease-smooth);background:transparent}.action-btn:hover{background:var(--bg-hover)}@media (max-width: 768px){.notification-panel{right:8px;left:8px;width:auto;top:88px}.notification-item{padding:12px 14px}.notification-icon{width:32px;height:32px;min-width:32px;font-size:14px}}.notification-list .ant-empty{color:var(--text-secondary)}.notification-list .ant-empty-image svg{opacity:.3}.notification-list .ant-spin{color:var(--text-secondary)}.macos-layout{min-height:100vh;background:var(--bg-canvas)}.macos-layout .ant-layout{background:transparent}.sidebar-container{position:absolute;left:20px;top:20px;z-index:100}.sidebar-card{background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:12px;display:flex;flex-direction:column;gap:8px;min-width:120px}.sidebar-item{min-width:100px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);font-size:14px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s var(--ease-smooth);background:transparent;padding:0 16px;white-space:nowrap}.sidebar-text{display:block}.sidebar-item:hover{background:var(--bg-hover);color:var(--text-primary);box-shadow:var(--shadow-sm)}.sidebar-item.active{background:var(--accent-primary);color:var(--text-primary);box-shadow:var(--shadow-md)}.topbar-container{position:absolute;top:20px;left:180px;right:20px;height:60px;display:flex;justify-content:space-between;align-items:center;padding:0 24px;background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:99}.topbar-left{display:flex;align-items:center;gap:16px}.app-title{font-size:18px;font-weight:600;color:var(--text-primary);letter-spacing:.3px}.topbar-right{display:flex;align-items:center;gap:12px}.user-button{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);cursor:pointer;transition:all .2s var(--ease-smooth);background:var(--bg-secondary)}.user-button:hover{background:var(--bg-hover);box-shadow:var(--shadow-sm)}.canvas-content{margin-left:0;margin-top:0;padding:100px 20px 20px 180px;min-height:100vh}.content-wrapper{max-width:1600px;margin:0 auto}@media (max-width: 1024px){.sidebar-container{left:12px;top:12px}.topbar-container{left:160px;right:12px;top:12px;padding:0 16px}.canvas-content{padding:88px 12px 12px 160px}.app-title{font-size:16px}}@media (max-width: 768px){.sidebar-container{left:8px;top:auto;bottom:20px}.sidebar-card{flex-direction:row;padding:8px}.sidebar-item{width:44px;height:44px;font-size:18px}.topbar-container{left:8px;right:8px;top:12px;height:56px;padding:0 12px}.app-title{font-size:14px}.canvas-content{padding:88px 8px 80px}}.macos-layout .ant-dropdown-menu{background:var(--bg-primary);border:none;border-radius:var(--radius-md);box-shadow:var(--shadow-xl);padding:8px}.macos-layout .ant-dropdown-menu-item{border-radius:var(--radius-sm);transition:all .2s var(--ease-smooth);color:var(--text-primary);padding:8px 12px}.macos-layout .ant-dropdown-menu-item:hover{background:var(--bg-hover)}.macos-layout .ant-dropdown-menu-item-icon{color:var(--text-secondary)}.ant-tooltip-inner{background:var(--bg-primary);color:var(--text-primary);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);font-size:12px;padding:6px 10px}.ant-tooltip-arrow-content{background:var(--bg-primary)}*{margin:0;padding:0;box-sizing:border-box}:root{--bg-canvas: #1c1c1e;--bg-primary: #2c2c2e;--bg-secondary: #3a3a3c;--bg-hover: #48484a;--bg-active: #5a5a5c;--text-primary: #ffffff;--text-secondary: #aeaeb2;--text-tertiary: #8e8e93;--text-disabled: #636366;--accent-primary: #5a5a5c;--accent-secondary: #6a6a6c;--accent-hover: #7a7a7c;--color-success: #30d158;--color-warning: #ff9f0a;--color-error: #ff453a;--color-info: #8e8e93;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .5);--shadow-md: 0 2px 8px rgba(0, 0, 0, .6);--shadow-lg: 0 4px 16px rgba(0, 0, 0, .7);--shadow-xl: 0 8px 32px rgba(0, 0, 0, .8);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--ease-smooth: cubic-bezier(.25, .1, .25, 1)}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-canvas);color:var(--text-primary);overflow-x:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#ffffff05}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px;transition:background .3s}::-webkit-scrollbar-thumb:hover{background:#fff3}.card-flat{background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:all .2s var(--ease-smooth)}.card-flat:hover{box-shadow:var(--shadow-lg)}.fade-in{animation:fadeIn .5s var(--ease-smooth)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.scale-in{animation:scaleIn .3s var(--ease-bounce)}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.slide-in{animation:slideIn .4s var(--ease-smooth)}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.hover-lift{transition:all .2s var(--ease-smooth)}.hover-lift:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.ant-layout{background:transparent!important}.ant-card{background:var(--bg-secondary)!important;border:none!important;border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-md)!important;transition:all .2s var(--ease-smooth)!important}.ant-card:hover{box-shadow:var(--shadow-lg)!important}.ant-btn{border-radius:var(--radius-sm)!important;transition:all .2s var(--ease-smooth)!important;border:none!important;font-weight:500!important}.ant-btn-primary{background:var(--accent-primary)!important;box-shadow:var(--shadow-sm)!important}.ant-btn-primary:hover{background:var(--accent-hover)!important;box-shadow:var(--shadow-md)!important}.ant-btn-default{background:var(--bg-secondary)!important;color:var(--text-primary)!important}.ant-btn-default:hover{background:var(--bg-hover)!important}.ant-btn-dangerous,.ant-btn-danger{background:transparent!important;color:var(--color-error)!important;border:1px solid var(--color-error)!important}.ant-btn-dangerous:hover,.ant-btn-danger:hover{background:var(--color-error)!important;color:#fff!important;border-color:var(--color-error)!important}.ant-input,.ant-input-number,.ant-select-selector,.ant-picker{background:var(--bg-secondary)!important;border:1px solid var(--bg-hover)!important;color:var(--text-primary)!important;border-radius:var(--radius-sm)!important;transition:all .2s var(--ease-smooth)!important}.ant-input:focus,.ant-input-number:focus,.ant-select-focused .ant-select-selector,.ant-picker-focused{background:var(--bg-hover)!important;border-color:var(--accent-primary)!important;box-shadow:0 0 0 2px #5a5a5a33!important}.ant-modal-content{background:var(--bg-primary)!important;border:none!important;border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-xl)!important}.ant-modal-header{background:transparent!important;border-bottom:1px solid var(--bg-hover)!important}.ant-modal-title{color:var(--text-primary)!important}.ant-table{background:transparent!important}.ant-table-thead>tr>th{background:var(--bg-secondary)!important;border-bottom:1px solid var(--bg-hover)!important;color:var(--text-secondary)!important}.ant-table-tbody>tr>td{border-bottom:1px solid var(--bg-hover)!important;color:var(--text-primary)!important}.ant-table-tbody>tr:hover>td{background:var(--bg-secondary)!important}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}
