.icon-button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid #d9d9d9;border-radius:6px;background:transparent;color:#595959;cursor:pointer;transition:all .2s}.icon-button:hover{color:#1890ff;border-color:#1890ff;background-color:#e6f7ff}.icon-button:active{color:#096dd9;border-color:#096dd9;background-color:#bae7ff}.icon-button--disabled{cursor:not-allowed;color:#00000040;background-color:#f5f5f5;border-color:#d9d9d9}.icon-button--disabled:hover{color:#00000040;background-color:#f5f5f5;border-color:#d9d9d9}.icon-button svg{width:18px;height:18px}.page-header{width:100%;display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}.page-header__title{font-size:18px;color:var(--dark)}.notification-dropdown{max-height:350px;height:100%}.notification-dropdown .ant-dropdown-menu{padding:0;min-width:300px;max-height:400px;overflow-y:auto}.notification-dropdown .notification-header{padding:12px 16px;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;align-items:center;font-weight:500}.notification-dropdown .notification-link{display:block;padding:12px 16px;transition:background-color .3s;border-bottom:1px solid #f0f0f0}.notification-dropdown .notification-link:hover{background-color:#f5f5f5}.notification-dropdown .notification-link.not-viewed{background-color:#e6f7ff}.notification-dropdown .notification-link.not-viewed:hover{background-color:#bae7ff}.notification-dropdown .notification-content{display:flex;flex-direction:column;gap:4px}.notification-dropdown .notification-content .notification-title{color:#000000d9;font-size:14px}.notification-dropdown .notification-content .notification-date{color:#00000073;font-size:12px}.notification-trigger{display:flex;align-items:center;margin:8px 16px}.notification-trigger .ant-badge-count{margin-top:0!important;right:0!important}.notification-dropdown__btn{background:none;border:none;padding:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .3s}.notification-dropdown__btn:hover{background-color:#0000000a}.notification-dropdown__btn.has-unread svg{fill:#1890ff}.notification-dropdown__btn svg{width:20px;height:20px;fill:#000000a6}.notification-trigger{position:relative;margin-right:8px}.notification-dropdown__btn{background:transparent;border:none;padding:8px;cursor:pointer;border-radius:50%;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;position:relative}.notification-dropdown__btn:hover:not(:disabled){background:#0000000f;transform:scale(1.05)}.notification-dropdown__btn:disabled{cursor:not-allowed;opacity:.6}.notification-dropdown__btn:active:not(:disabled){transform:scale(.95)}.notification-bell{font-size:22px;color:#595959;transition:all .3s ease}.has-unread .notification-bell{color:#1890ff}.notification-dropdown{min-width:380px;box-shadow:0 6px 16px #00000014;border-radius:8px;overflow:hidden}.notification-header{padding:16px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #f0f0f0;background:#fafafa}.see-all-link{color:#1890ff;font-size:14px;transition:color .2s ease;text-decoration:none;padding:4px 8px;border-radius:4px}.see-all-link:hover{color:#40a9ff;background:#1890ff1a}.notification-content{max-height:460px;overflow-y:auto;background:#fff}.notification-link{padding:16px;cursor:pointer;transition:all .2s ease;border-bottom:1px solid #f0f0f0;position:relative;overflow:hidden}.notification-link:hover{background-color:#f8f8f8}.notification-link.not-viewed,.notification-link.not-viewed:hover{background-color:#e6f7ff}.notification-link.is-marking-read{pointer-events:none;opacity:.7}.notification-title{display:flex;align-items:flex-start;gap:12px;position:relative}.notification-icon{font-size:24px;flex-shrink:0;display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#f5f5f5;border-radius:8px;transition:transform .2s ease}.notification-link:hover .notification-icon{transform:scale(1.05)}.notification-text{flex:1;min-width:0}.notification-heading{display:block;margin-bottom:6px;color:#262626;font-size:15px;line-height:1.4}.notification-message{display:block;color:#595959;font-size:14px;margin-bottom:8px;line-height:1.5}.notification-date{display:block;color:#8c8c8c;font-size:12px}.notification-status{width:8px;height:8px;background-color:#1890ff;border-radius:50%;position:absolute;right:0;top:8px;box-shadow:0 0 0 3px #1890ff1a}.notification-loading{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:32px;background:#fff;gap:8px}.empty-notifications{padding:32px;color:#8c8c8c;background:#fff;text-align:center}.notification-count.pulse .ant-badge-count{animation:pulse 2s infinite}@keyframes pulse{0%{box-shadow:0 0 #1890ff66}70%{box-shadow:0 0 0 6px #1890ff00}to{box-shadow:0 0 #1890ff00}}.notification-content::-webkit-scrollbar{width:6px}.notification-content::-webkit-scrollbar-track{background:#f5f5f5;border-radius:3px}.notification-content::-webkit-scrollbar-thumb{background:#e0e0e0;border-radius:3px;transition:background .2s ease}.notification-content::-webkit-scrollbar-thumb:hover{background:#d0d0d0}.notification-count .ant-badge-count{box-shadow:0 2px 6px #1890ff33;padding:0 6px;min-width:20px;height:20px;line-height:20px;border-radius:10px;font-size:12px;font-weight:600;background:#1890ff}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.notification-dropdown__btn:focus-visible,.notification-link:focus-visible,.see-all-link:focus-visible{outline:2px solid #1890ff;outline-offset:2px}.login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--ant-color-bg-layout);padding:24px}.login__card{width:100%;max-width:360px;background:var(--ant-color-bg-container);border-radius:16px;padding:32px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.login__title{font-size:28px;font-weight:600;text-align:center;margin-bottom:32px;color:var(--ant-color-text)}.login__form{width:100%;display:flex;flex-direction:column;gap:20px}.login__form :global .ant-form-item{margin-bottom:0}.login__form :global .ant-form-item-label{padding:0 0 4px}.login__form :global .ant-form-item-label label{font-size:13px;height:auto;color:var(--ant-color-text-secondary)}.login__form :global .ant-input-affix-wrapper{border-radius:8px;border:1px solid var(--ant-color-border);transition:all .2s ease;padding:8px 11px;background:transparent}.login__form :global .ant-input-affix-wrapper:hover{border-color:var(--ant-color-primary)}.login__form :global .ant-input-affix-wrapper-focused{box-shadow:none!important;border-color:var(--ant-color-primary)!important;background:var(--ant-color-bg-container)}.login__form :global .ant-input-affix-wrapper input.ant-input{background:transparent;font-size:14px}.login__form :global .ant-input-affix-wrapper input.ant-input::placeholder{color:var(--ant-color-text-quaternary)}.login__form :global .ant-btn{height:42px;font-size:15px;font-weight:500;box-shadow:none;border-radius:8px}.login__form :global .ant-btn:hover{transform:translateY(-1px)}.login__form :global .ant-btn:active{transform:translateY(0)}.login__form :global .anticon{color:var(--ant-color-text-quaternary);transition:color .2s}.login__form :global .ant-input-affix-wrapper:hover .anticon,.login__form :global .ant-input-affix-wrapper-focused .anticon{color:var(--ant-color-text)}:root{--primary-color: #50B7FC;--bg-base: #ffffff;--bg-content: #f5f7fa;--bg-sidebar: #ffffff;--bg-header: #ffffff;--text-primary: #000000;--text-secondary: #666666;--border-color: #f0f0f0;--hover-bg: rgba(0, 0, 0, .04);--menu-item-selected: rgba(80, 183, 252, .1);--header-shadow: rgba(0, 0, 0, .1);--control-bg: rgba(0, 0, 0, .04);--control-hover: rgba(0, 0, 0, .08)}.dark{--bg-base: #141414;--bg-content: #000000;--bg-sidebar: #141414;--bg-header: #141414;--text-primary: #ffffff;--text-secondary: rgba(255, 255, 255, .65);--border-color: #303030;--hover-bg: rgba(255, 255, 255, .08);--menu-item-selected: rgba(80, 183, 252, .15);--header-shadow: rgba(0, 0, 0, .3);--control-bg: rgba(255, 255, 255, .08);--control-hover: rgba(255, 255, 255, .12)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--bg-base);color:var(--text-primary)}.wrapper{min-height:100vh}.sider{position:fixed;left:0;height:100vh;z-index:999;background:var(--bg-sidebar);border-right:1px solid var(--border-color);transition:all .3s ease;width:200px!important;max-width:200px!important;min-width:200px!important;flex:0 0 200px!important}.sider.collapsed{width:80px!important;max-width:80px!important;min-width:80px!important;flex:0 0 80px!important}.sider.collapsed .logo-container{padding:0 8px;justify-content:center}.sider .logo-container{height:64px;padding:0 24px;display:flex;align-items:center;border-bottom:1px solid var(--border-color)}.sider .logo-container .logo{font-size:18px;font-weight:500;color:var(--primary-color);text-decoration:none;line-height:1}.sider .logo-container .logo:hover{opacity:.85}.sider__collapsed-btn{position:absolute;right:-12px;top:84px;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--bg-sidebar);border:1px solid var(--border-color);cursor:pointer;z-index:10;transition:all .3s ease;color:var(--text-primary)}.sider__collapsed-btn svg{width:12px;height:12px;transition:transform .3s ease}.sider__collapsed-btn._collapsed svg{transform:rotate(180deg)}.sider__collapsed-btn:hover{background:var(--hover-bg)}.sider__menuOpen-btn{display:none;position:absolute;top:14px;left:calc(100% + 20px)}@media (max-width: 768px){.sider__menuOpen-btn{display:flex}}.sider :global .ant-menu{background:transparent;border-right:none!important;color:var(--text-secondary)}.sider :global .ant-menu .ant-menu-item{height:40px;line-height:40px;margin:4px 8px!important;padding:0 16px!important;border-radius:4px;color:var(--text-secondary)}.sider :global .ant-menu .ant-menu-item:hover{color:var(--text-primary);background:var(--hover-bg)}.sider :global .ant-menu .ant-menu-item-selected{background:var(--menu-item-selected)!important;color:var(--primary-color)!important;font-weight:500}.sider :global .ant-menu .ant-menu-item-selected:after{display:none}.sider :global .ant-menu .ant-menu-item-selected .anticon{color:var(--primary-color)!important}.sider :global .ant-menu .ant-menu-item .anticon{font-size:18px;min-width:18px;margin-right:16px;color:var(--text-secondary)}.sider :global .ant-menu .ant-menu-submenu-title{height:40px;line-height:40px;margin:4px 8px!important;padding:0 16px!important;border-radius:4px;color:var(--text-secondary)}.sider :global .ant-menu .ant-menu-submenu-title:hover{color:var(--text-primary);background:var(--hover-bg)}.sider :global .ant-menu .ant-menu-submenu-title .anticon{font-size:18px;min-width:18px;margin-right:16px;color:var(--text-secondary)}.sider :global .ant-menu .ant-menu-submenu-selected>.ant-menu-submenu-title{color:var(--primary-color)!important}.sider :global .ant-menu .ant-menu-submenu-selected>.ant-menu-submenu-title .anticon{color:var(--primary-color)!important}.page{margin-left:200px;transition:all .3s ease;background:var(--bg-content);min-height:100vh}.page__header{position:fixed;top:0;right:0;left:200px;z-index:100;display:flex;justify-content:end;align-items:center;padding:0 24px;height:64px;background:var(--ant-color-bg-container);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--ant-color-border);box-shadow:0 1px 2px #00000008;transition:all .3s ease}.page__header-left{display:flex;align-items:center;gap:16px}.page__header-left .burger-btn{display:none;background:none;border:none;padding:8px;cursor:pointer;color:var(--ant-color-text-secondary);border-radius:6px;transition:all .2s ease}@media (max-width: 768px){.page__header-left .burger-btn{display:flex}}.page__header-left .burger-btn:hover{color:var(--ant-color-text);background:var(--ant-color-bg-text-hover)}.page__header-left .burger-btn svg{width:18px;height:18px}.page__header-left .logo{font-size:18px;font-weight:600;color:var(--ant-color-primary);text-decoration:none;line-height:1}.page__header-left .logo:hover{opacity:.85}.page__header-right{display:flex;align-items:center}.page__header-right .control-btn{height:32px;min-width:32px;padding:0;border:none;background:var(--ant-color-bg-container);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--ant-color-text-secondary);border-radius:6px;transition:all .2s ease}.page__header-right .control-btn:hover{color:var(--ant-color-text);background:var(--ant-color-bg-text-hover)}.page__header-right .control-btn.theme-btn:hover{transform:rotate(15deg)}.page__header-right .control-btn.notification-btn{position:relative}.page__header-right .control-btn.notification-btn:after{content:"";position:absolute;top:8px;right:8px;width:6px;height:6px;background:var(--ant-color-error);border-radius:50%;border:2px solid var(--ant-color-bg-container);display:none}.page__header-right .control-btn.notification-btn.has-notifications:after{display:block}.page__header-right .control-btn.profile-btn{padding:0 8px;gap:8px;min-width:auto;background:transparent}.page__header-right .control-btn.profile-btn .profile-name{font-size:14px;font-weight:500;color:var(--ant-color-text)}.page__header-right .control-btn.profile-btn .profile-avatar{background:var(--ant-color-bg-text-hover);color:var(--ant-color-text);transition:all .2s ease}.page__header-right .control-btn.profile-btn:hover{background:transparent}.page__header-right .control-btn.profile-btn:hover .profile-avatar{transform:scale(1.05)}.page__header-right .lang-select .ant-select .ant-select-selector{height:32px;padding:0 28px 0 12px;border:none;background:transparent;border-radius:6px}.page__header-right .lang-select .ant-select .ant-select-selector .ant-select-selection-item{line-height:32px;font-weight:500;font-size:14px;color:var(--ant-color-text)}.page__header-right .lang-select .ant-select:hover .ant-select-selector{background:var(--ant-color-bg-text-hover)}.page__header-right .lang-select .ant-select .ant-select-arrow{right:8px;color:var(--ant-color-text-secondary)}.page__header-right .lang-select .ant-select .ant-select-arrow .anticon{font-size:14px;vertical-align:middle}.page__content{margin-top:64px;padding:24px;min-height:calc(100vh - 64px);background:var(--ant-color-bg-layout)}.collapsed+.page{margin-left:80px}.collapsed+.page .page__header{left:80px}@media (max-width: 768px){.sider{transform:translate(-100%)}.sider.open{transform:translate(0)}.page{margin-left:0!important}.page__header{left:0!important}}.theme-toggle-btn{background:none;border:none;padding:8px;cursor:pointer}.theme-toggle-btn:hover{background:var(--ant-color-fill-secondary)}
