.theme-switch-container{display:flex;align-items:center;gap:8px;padding:4px 8px;border-radius:6px;background:#0000000a;transition:all .3s ease;height:auto;max-height:64px}.theme-switch-container:hover{background:#00000014}.theme-switch-container .theme-icon{font-size:14px;color:#00000073;transition:all .3s ease}.theme-switch-container .theme-icon.active{color:#1890ff}.theme-switch-container .theme-switch.ant-switch{background-color:#00000040}.theme-switch-container .theme-switch.ant-switch.ant-switch-checked{background-color:#1890ff}.theme-dark .theme-switch-container{background:#ffffff14}.theme-dark .theme-switch-container:hover{background:#ffffff1f}.theme-dark .theme-switch-container .theme-icon{color:#ffffffa6}.theme-dark .theme-switch-container .theme-icon.active{color:#177ddc}.theme-dark .theme-switch-container .theme-switch.ant-switch{background-color:#ffffff40}.theme-dark .theme-switch-container .theme-switch.ant-switch.ant-switch-checked{background-color:#177ddc}.app-layout{min-height:100vh}.app-layout .app-header{background:#fff;padding:0 24px;box-shadow:0 2px 8px #0000000f;display:flex;justify-content:space-between;align-items:center;height:64px;position:fixed;top:0;left:0;right:0;z-index:1000}.app-layout .app-header .header-left{display:flex;align-items:center}.app-layout .app-header .header-left .logo{display:flex;align-items:center;gap:12px}.app-layout .app-header .header-left .logo .logo-image{height:56px;max-width:200px;object-fit:contain;transition:all .3s ease}.app-layout .app-header .header-left .logo .logo-icon{width:40px;height:40px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:18px;box-shadow:0 4px 12px #667eea4d}.app-layout .app-header .header-left .logo .logo-text{color:#262626;font-size:16px;font-weight:600}.app-layout .app-header .header-right{display:flex;align-items:center;height:100%;max-height:64px}.app-layout .app-header .header-right .ant-space{height:100%;align-items:center;max-height:64px}.app-layout .app-header .header-right .ant-space .ant-space-item{display:flex;align-items:center;height:100%}.app-layout .app-header .header-right .user-info{cursor:pointer;padding:4px 8px;border-radius:6px;transition:background-color .3s;height:auto;max-height:64px;display:flex;align-items:center}.app-layout .app-header .header-right .user-info:hover{background-color:#f0f2f5}.app-layout .app-header .header-right .user-info .user-details{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;height:auto;max-height:64px}.app-layout .app-header .header-right .user-info .user-details .user-name{font-size:14px;font-weight:500;color:#262626;line-height:1.2;margin:0}.app-layout .app-header .header-right .user-info .user-details .user-username{font-size:12px;color:#8c8c8c;line-height:1.2;margin:0}.app-layout .app-sider{background:#fff;box-shadow:2px 0 8px #0000000f;position:fixed;top:64px;left:0;bottom:0;z-index:999}.app-layout .app-sider .menu-nav{display:flex;flex-direction:column;padding:10px 0;gap:8px;height:calc(100vh - 124px);overflow-y:auto;overflow-x:hidden}.app-layout .app-sider .menu-nav::-webkit-scrollbar{width:6px}.app-layout .app-sider .menu-nav::-webkit-scrollbar-track{background:transparent}.app-layout .app-sider .menu-nav::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.app-layout .app-sider .menu-nav::-webkit-scrollbar-thumb:hover{background:#9ca3af}.app-layout .app-sider .menu-nav .menu-item-wrapper .menu-item{display:flex;align-items:center;margin:0 10px;height:48px;border-radius:12px;transition:all .2s ease;cursor:pointer;padding:0 16px}.app-layout .app-sider .menu-nav .menu-item-wrapper .menu-item .menu-icon{width:20px;height:20px;flex-shrink:0;color:#64748b;font-size:16px;display:flex;align-items:center;justify-content:center}.app-layout .app-sider .menu-nav .menu-item-wrapper .menu-item .menu-label{font-weight:500;margin-left:12px;color:#64748b;font-size:16px;flex:1}.app-layout .app-sider .menu-nav .menu-item-wrapper .menu-item .expand-icon{color:#64748b;font-size:12px;transition:transform .2s ease;margin-left:auto}.app-layout .app-sider .menu-nav .menu-item-wrapper .menu-item:hover{background-color:#f0f9ff;color:#2563eb}.app-layout .app-sider .menu-nav .menu-item-wrapper .menu-item:hover .menu-icon,.app-layout .app-sider .menu-nav .menu-item-wrapper .menu-item:hover .menu-label,.app-layout .app-sider .menu-nav .menu-item-wrapper .menu-item:hover .expand-icon{color:#2563eb}.app-layout .app-sider .menu-nav .menu-item-wrapper .menu-item.active{background:linear-gradient(to right,#3b82f6,#6366f1);color:#fff;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.app-layout .app-sider .menu-nav .menu-item-wrapper .menu-item.active .menu-icon,.app-layout .app-sider .menu-nav .menu-item-wrapper .menu-item.active .menu-label,.app-layout .app-sider .menu-nav .menu-item-wrapper .menu-item.active .expand-icon{color:#fff}.app-layout .app-sider .menu-nav .menu-item-wrapper .menu-children{margin-left:20px;padding-left:8px;margin-top:4px}.app-layout .app-sider .menu-nav .menu-item-wrapper .menu-children .menu-item{margin:2px 8px;height:40px;border-radius:8px}.app-layout .app-sider .menu-nav .menu-item-wrapper .menu-children .menu-item .menu-icon{font-size:14px;margin-right:8px;width:16px;height:16px}.app-layout .app-sider .menu-nav .menu-item-wrapper .menu-children .menu-item .menu-label{font-size:15px}.app-layout .app-sider .menu-nav .menu-item-wrapper .menu-children .menu-item:hover,.app-layout .app-sider .menu-nav .menu-item-wrapper .menu-children .menu-item.active{transform:translate(2px)}.app-layout .app-sider .sider-collapse-btn{position:absolute;bottom:16px;left:50%;transform:translate(-50%);z-index:1001}.app-layout .app-sider .sider-collapse-btn .collapse-trigger{width:32px;height:32px;border-radius:50%;background:#f0f2f5;border:1px solid #d9d9d9;display:flex;align-items:center;justify-content:center}.app-layout .app-sider .sider-collapse-btn .collapse-trigger:hover{background:#1890ff;color:#fff;border-color:#1890ff}.app-layout .app-content{background:#f0f2f5;min-height:calc(100vh - 64px);margin-left:240px;margin-top:64px;overflow-y:auto;padding:10px}@media (max-width: 992px){.app-layout .app-sider{transform:translate(-100%);transition:transform .3s}.app-layout .app-sider.ant-layout-sider-collapsed{transform:translate(0)}.app-layout .app-content{margin-left:0}}.app-layout .app-sider.ant-layout-sider-collapsed{width:80px!important;min-width:80px!important;max-width:80px!important}.app-layout .app-content{transition:margin-left .3s ease}.app-layout .app-content.collapsed{margin-left:80px}.theme-dark .app-layout .app-header{background:#001529;border-bottom:1px solid #303030}.theme-dark .app-layout .app-header .header-left .trigger{color:#ffffffd9}.theme-dark .app-layout .app-header .header-left .trigger:hover{color:#1890ff}.theme-dark .app-layout .app-header .header-left .breadcrumb .ant-breadcrumb-link{color:#ffffffa6}.theme-dark .app-layout .app-header .header-left .breadcrumb .ant-breadcrumb-link:hover{color:#1890ff}.theme-dark .app-layout .app-header .header-right .user-info:hover{background-color:#ffffff1a}.theme-dark .app-layout .app-content{background:#141414}.theme-modern .app-layout .app-sider{background:linear-gradient(180deg,#667eea,#764ba2)}.theme-modern .app-layout .app-sider .logo{background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.theme-modern .app-layout .app-header{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(0,0,0,.06)}.theme-classic .app-layout .app-sider{background:#001529}.theme-classic .app-layout .app-header{background:#fff;border-bottom:1px solid #e8e8e8}.starfield-canvas{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0}.starfield-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(ellipse at 30% 20%,transparent 0%,rgba(15,28,63,.4) 70%,rgba(10,14,39,.7) 100%),radial-gradient(ellipse at 70% 80%,rgba(26,42,108,.1) 0%,transparent 50%);z-index:1;pointer-events:none;animation:overlayPulse 8s ease-in-out infinite}@keyframes overlayPulse{0%,to{opacity:.9}50%{opacity:1}}.login-container{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#0c1445}.login-card{position:relative;width:100%;max-width:440px;background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:20px;padding:48px 40px;box-shadow:0 8px 32px #0000004d,0 0 0 1px #ffffff1a inset,0 0 80px #87cefa26;border:1px solid rgba(255,255,255,.2);z-index:10;animation:cardFadeIn .8s ease}@keyframes cardFadeIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;margin-bottom:36px}.login-header .login-logo{margin-bottom:32px}.login-header .login-logo .logo-icon{display:flex;align-items:center;justify-content:center;margin:0 auto}.login-header .login-logo .logo-icon .logo-image{width:160px;height:160px;object-fit:contain;filter:drop-shadow(0 0 20px rgba(255,255,255,.3))}.login-header .login-title{font-size:24px;font-weight:600;color:#262626;margin:0 0 8px;display:flex;align-items:center;justify-content:center;gap:8px}.login-header .login-title .sparkle{font-size:20px}.login-header .login-subtitle{font-size:16px;color:#475569;margin:0;font-weight:600;letter-spacing:.5px}.login-form .ant-form-item{margin-bottom:24px}.login-form .input-group{position:relative}.login-form .input-group .input-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);font-size:16px;color:#94a3b8;z-index:2;transition:color .3s ease}.login-form .input-group .login-input{height:40px!important;padding-left:48px!important;background:#fff!important;border:1px solid #d9d9d9!important;border-radius:6px!important;font-size:14px!important;transition:all .3s ease!important}.login-form .input-group .login-input:hover{border-color:#40a9ff!important}.login-form .input-group .login-input:focus{border-color:#1890ff!important;box-shadow:0 0 0 2px #1890ff33!important}.login-form .input-group .login-input:focus+.input-icon{color:#1890ff!important}.login-form .input-group .password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:#8c8c8c;transition:color .3s ease}.login-form .input-group .password-toggle:hover{color:#1890ff;background:#1890ff1a}.login-form .login-button{width:100%!important;height:48px!important;background:linear-gradient(135deg,#667eea,#764ba2)!important;border:none!important;border-radius:12px!important;font-size:16px!important;font-weight:600!important;color:#fff!important;box-shadow:0 4px 15px #667eea66!important;transition:all .3s ease!important;position:relative;overflow:hidden}.login-form .login-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.login-form .login-button:hover{background:linear-gradient(135deg,#764ba2,#667eea)!important;box-shadow:0 6px 20px #667eea99!important;transform:translateY(-2px)}.login-form .login-button:hover:before{left:100%}.login-form .login-button:active{transform:translateY(0)}.login-form .login-button .loading-spinner{width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-top:3px solid white;border-radius:50%;animation:spin 1s linear infinite}.login-footer{margin-top:32px;text-align:center}.login-footer .footer-text{font-size:12px;color:#64748b;margin:0 0 4px;font-weight:500}.login-footer .footer-subtext{font-size:11px;color:#94a3b8;margin:0}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 480px){.login-card{margin:20px;padding:32px 24px;border-radius:8px}.login-header .login-logo .logo-icon{width:64px;height:64px;border-radius:8px}.login-header .login-logo .logo-icon .anticon{font-size:24px}.login-header .login-title{font-size:20px}}*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.5715;color:#262626;background-color:#f0f2f5}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#f0f2f5}::-webkit-scrollbar-thumb{background:#d9d9d9;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#8c8c8c}a{color:#1890ff;text-decoration:none}a:hover{color:#4ba9ff}.ant-btn{border-radius:6px;font-weight:500}.ant-btn.ant-btn-primary{box-shadow:0 2px 4px #1890ff4d}.ant-btn.ant-btn-primary:hover{box-shadow:0 4px 8px #1890ff66}.ant-card{border-radius:6px;box-shadow:0 2px 8px #0000000f}.ant-card .ant-card-head{border-bottom:1px solid #d9d9d9}.ant-card .ant-card-head .ant-card-head-title{font-weight:600;color:#262626}.ant-table .ant-table-thead>tr>th{background-color:#f0f2f5;font-weight:600;color:#262626}.ant-table .ant-table-tbody>tr:hover>td{background-color:#1890ff0d}.ant-form-item-label>label{font-weight:500;color:#262626}.ant-input,.ant-select-selector{border-radius:6px}.ant-input:focus,.ant-select-selector:focus,.ant-input.ant-select-focused .ant-select-selector,.ant-select-selector.ant-select-focused .ant-select-selector{border-color:#1890ff;box-shadow:0 0 0 2px #1890ff33}.ant-menu .ant-menu-item{border-radius:6px;margin:2px 8px}.ant-menu .ant-menu-item:hover{background-color:#1890ff14}.ant-menu .ant-menu-item.ant-menu-item-selected{background-color:#1890ff1f;color:#1890ff;font-weight:500}.ant-pagination .ant-pagination-item{border-radius:6px}.ant-pagination .ant-pagination-item.ant-pagination-item-active{background-color:#1890ff;border-color:#1890ff}.ant-pagination .ant-pagination-prev,.ant-pagination .ant-pagination-next{border-radius:6px}.ant-tag{border-radius:6px;font-size:12px;padding:2px 8px}.ant-avatar{box-shadow:0 2px 4px #0000001a}.ant-dropdown-menu{border-radius:6px;box-shadow:0 4px 12px #00000026}.ant-dropdown-menu .ant-dropdown-menu-item{border-radius:6px;margin:2px 8px}.ant-dropdown-menu .ant-dropdown-menu-item:hover{background-color:#1890ff14}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mb-16{margin-bottom:16px}.mb-24{margin-bottom:24px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.p-16{padding:16px}.p-24{padding:24px}.page-container{padding:24px;background:#f0f2f5;min-height:calc(100vh - 64px)}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.page-header h1,.page-header h2,.page-header h3,.page-header h4,.page-header h5,.page-header h6{margin:0;color:#262626}.search-form{background:#fff;padding:16px;border-radius:6px;margin-bottom:16px;box-shadow:0 2px 8px #0000000f}.action-buttons{display:flex;gap:8px;margin-bottom:16px}.status-tag.active{color:#52c41a;background:#f6ffed;border-color:#b7eb8f}.status-tag.inactive{color:#ff4d4f;background:#fff2f0;border-color:#ffccc7}.loading-container{display:flex;justify-content:center;align-items:center;height:200px}.auth-loading{display:flex;justify-content:center;align-items:center;height:100vh;background:#f0f2f5}.empty-container{display:flex;flex-direction:column;justify-content:center;align-items:center;height:200px;color:#8c8c8c}@media (max-width: 576px){.page-container{padding:16px}.page-header{flex-direction:column;align-items:flex-start;gap:16px}.search-form .ant-form-item{margin-bottom:12px}}.theme-light{--primary-color: #1890ff;--success-color: #52c41a;--warning-color: #faad14;--error-color: #f5222d;--text-color: #262626;--text-color-secondary: #8c8c8c;--background-color: #f0f2f5;--component-background: #ffffff;--border-color-base: #d9d9d9}.theme-light .ant-layout-sider{background:#fff}.theme-light .ant-layout-header{background:#fff;border-bottom:1px solid #d9d9d9}.theme-light .ant-layout-content{background:#f0f2f5}.theme-dark{--primary-color: #177ddc;--success-color: #49aa19;--warning-color: #d89614;--error-color: #dc4446;--text-color: rgba(255, 255, 255, .85);--text-color-secondary: rgba(255, 255, 255, .65);--background-color: #141414;--component-background: #1f1f1f;--border-color-base: #303030}.theme-dark .ant-layout{background:#141414}.theme-dark .ant-layout-sider{background:#001529}.theme-dark .ant-layout-header{background:#001529;border-bottom:1px solid #303030}.theme-dark .ant-layout-content{background:#141414}.theme-dark .ant-card{background:#1f1f1f;border-color:#303030}.theme-dark .ant-card .ant-card-head{border-bottom-color:#303030}.theme-dark .ant-card .ant-card-head .ant-card-head-title{color:#ffffffd9}.theme-dark .ant-table{background:#1f1f1f}.theme-dark .ant-table .ant-table-thead>tr>th{background:#262626;color:#ffffffd9;border-bottom-color:#303030}.theme-dark .ant-table .ant-table-tbody>tr>td{background:#1f1f1f;color:#ffffffd9;border-bottom-color:#303030}.theme-dark .ant-table .ant-table-tbody>tr:hover>td{background:#262626}.theme-dark .ant-form-item-label>label{color:#ffffffd9}.theme-dark .ant-input,.theme-dark .ant-select-selector{background:#262626;border-color:#303030;color:#ffffffd9}.theme-dark .ant-input:focus,.theme-dark .ant-select-selector:focus,.theme-dark .ant-input.ant-select-focused .ant-select-selector,.theme-dark .ant-select-selector.ant-select-focused .ant-select-selector{border-color:#177ddc;box-shadow:0 0 0 2px #177ddc33}.theme-dark .ant-btn.ant-btn-default{background:#262626;border-color:#303030;color:#ffffffd9}.theme-dark .ant-btn.ant-btn-default:hover{background:#303030;border-color:#434343}.theme-transition{transition:all .3s ease}*{transition:background-color .3s ease,border-color .3s ease,color .3s ease}
