.user-management{padding:24px;background:#f0f2f5;min-height:100vh}.user-management-card{border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.15);border:1px solid #f0f0f0}.user-management-card .ant-card-head{border-bottom:1px solid #f0f0f0;background:#fff;border-radius:8px 8px 0 0}.user-management-card .ant-card-head-title{color:rgba(0,0,0,.85);font-size:16px;font-weight:500}.user-management-header{margin-bottom:16px;padding:16px 0;border-bottom:1px solid #f0f0f0}.user-management-table{background:#fff;border-radius:6px}.user-management-table .ant-table-thead>tr>th{background:#fafafa;font-weight:600;color:#262626;border-bottom:2px solid #f0f0f0}.user-management-table .ant-table-tbody>tr:hover>td{background:#f5f7fa}.user-management-table .ant-table-tbody>tr>td{padding:12px 16px;border-bottom:1px solid #f5f5f5}.user-management-modal .ant-modal-header{background:#fff;border-radius:8px 8px 0 0;border-bottom:1px solid #f0f0f0}.user-management-modal .ant-modal-title{color:rgba(0,0,0,.85);font-size:16px;font-weight:500}.user-management-modal .ant-modal-body{padding:24px}.user-management-modal .ant-form-item-label>label{font-weight:600;color:#262626}.user-management-modal .ant-input,.user-management-modal .ant-select-selector{border-radius:6px}.ant-pagination{margin-top:16px;text-align:right}@media (max-width:768px){.user-management{padding:16px}.user-management-header{flex-direction:column;grid-gap:16px;gap:16px}.user-management-header .ant-col{width:100%}.user-management-modal{margin:0;max-width:100vw}.user-management-table .ant-table-container{overflow-x:auto}}@media (max-width:576px){.user-management-card .ant-card-body{padding:16px}.user-management-header{padding:12px 0}.user-management-modal .ant-modal-body{padding:16px}}.ant-form-item-has-error .ant-input-focused,.ant-form-item-has-error .ant-input:focus,.ant-form-item-has-error .ant-select-focused .ant-select-selector{border-color:#ff4d4f;box-shadow:0 0 0 2px rgba(255,77,79,.2)}.ant-form-item-explain-error{color:#ff4d4f;font-size:12px;margin-top:4px}.role-management{padding:24px;background:#f0f2f5;min-height:100vh}.role-management-card{border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.15);border:1px solid #f0f0f0}.role-management-card .ant-card-head{border-bottom:1px solid #f0f0f0;background:#fff;border-radius:8px 8px 0 0}.role-management-card .ant-card-head-title{color:rgba(0,0,0,.85);font-size:16px;font-weight:500}.role-management-header{margin-bottom:16px;padding:16px 0;border-bottom:1px solid #f0f0f0}.role-management-table{background:#fff;border-radius:6px}.role-management-table .ant-table-thead>tr>th{background:#fafafa;font-weight:600;color:#262626;border-bottom:2px solid #f0f0f0}.role-management-table .ant-table-tbody>tr:hover>td{background:#f5f7fa}.role-management-table .ant-table-tbody>tr>td{padding:12px 16px;border-bottom:1px solid #f5f5f5}.role-management-modal .ant-modal-header{background:#fff;border-radius:8px 8px 0 0;border-bottom:1px solid #f0f0f0}.role-management-modal .ant-modal-title{color:rgba(0,0,0,.85);font-size:16px;font-weight:500}.role-management-modal .ant-modal-body{padding:24px}.role-management-modal .ant-form-item-label>label{font-weight:600;color:#262626}.role-management-modal .ant-input,.role-management-modal .ant-select-selector{border-radius:6px}.ant-transfer{width:100%}.ant-transfer-list{width:calc(50% - 15px);height:300px}.ant-transfer-list-header{background:#fafafa;border-radius:6px 6px 0 0}.ant-transfer-list-body{border-radius:0 0 6px 6px}.ant-transfer-operation{margin:0 15px;display:flex;flex-direction:column;justify-content:center}.ant-transfer-operation .ant-btn{margin:4px 0}@media (max-width:768px){.role-management{padding:16px}.role-management-header{flex-direction:column;grid-gap:16px;gap:16px}.role-management-header .ant-col{width:100%}.role-management-modal{margin:0;max-width:100vw}.role-management-table .ant-table-container{overflow-x:auto}.ant-transfer-list{width:100%;margin-bottom:16px}.ant-transfer{flex-direction:column}.ant-transfer-operation{margin:16px 0;flex-direction:row;justify-content:center}.ant-transfer-operation .ant-btn{margin:0 4px}}@media (max-width:576px){.role-management-card .ant-card-body{padding:16px}.role-management-header{padding:12px 0}.role-management-modal .ant-modal-body{padding:16px}}.ant-switch{border-radius:100px}.ant-switch-checked{background-color:#52c41a}.ant-transfer-list-search{padding:12px}.ant-transfer-list-search .ant-input{border-radius:6px}.permission-management{padding:24px;background:#f0f2f5;min-height:100vh}.permission-management-card{border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.15);border:1px solid #f0f0f0}.permission-management-card .ant-card-head{border-bottom:1px solid #f0f0f0;background:#fff;border-radius:8px 8px 0 0}.permission-management-card .ant-card-head-title{color:rgba(0,0,0,.85);font-size:16px;font-weight:500}.permission-management-header{margin-bottom:16px;padding:16px 0;border-bottom:1px solid #f0f0f0}.permission-management-table{background:#fff;border-radius:6px}.permission-management-table .ant-table-thead>tr>th{background:#fafafa;font-weight:600;color:#262626;border-bottom:2px solid #f0f0f0}.permission-management-table .ant-table-tbody>tr:hover>td{background:#f5f7fa}.permission-management-table .ant-table-tbody>tr>td{padding:12px 16px;border-bottom:1px solid #f5f5f5}.permission-management-table code{background:#f6f8fa;border:1px solid #e1e4e8;border-radius:3px;padding:2px 4px;font-size:12px;color:#24292e;font-family:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace}.ant-input-search{border-radius:6px}.ant-input-search .ant-input{border-radius:6px 0 0 6px}.ant-input-search .ant-btn{border-radius:0 6px 6px 0}.ant-btn{border-radius:6px}.ant-tag{border-radius:4px;font-size:12px;padding:2px 8px;margin:2px}.ant-tag[data-resource]{background:#e6f7ff;border-color:#91d5ff;color:#0050b3}.ant-tag[data-action]{background:#f6ffed;border-color:#b7eb8f;color:#389e0d}.permission-management-modal .ant-modal-header{background:#fff;border-radius:8px 8px 0 0;border-bottom:1px solid #f0f0f0}.permission-management-modal .ant-modal-title{color:rgba(0,0,0,.85);font-size:16px;font-weight:500}.permission-management-modal .ant-modal-body{padding:24px}.permission-management-modal .ant-form-item-label>label{font-weight:600;color:#262626}.permission-management-modal .ant-input,.permission-management-modal .ant-select-selector{border-radius:6px}.modal-footer{margin-top:24px;padding-top:16px;border-top:1px solid #f0f0f0;text-align:right}.ant-select{width:100%}.ant-select-selector{border-radius:6px}.ant-select-dropdown{border-radius:6px;box-shadow:0 4px 12px rgba(0,0,0,.15)}.ant-select-item{border-radius:4px;margin:2px 4px}.ant-select-item-option-selected{background:#e6f7ff;color:#1890ff}.ant-select-item-option-active{background:#f5f5f5}.ant-tooltip-inner{border-radius:4px}.ant-tooltip-arrow:before,.ant-tooltip-inner{background-color:#262626}.ant-popconfirm .ant-btn-primary{background:#ff4d4f;border-color:#ff4d4f}.ant-popconfirm .ant-btn-primary:hover{background:#ff7875;border-color:#ff7875}@media (max-width:768px){.permission-management{padding:16px}.permission-management-header{flex-direction:column;grid-gap:16px;gap:16px}.permission-management-header .ant-col{width:100%}.permission-management-modal{margin:0;max-width:100vw}.permission-management-table .ant-table-container{overflow-x:auto}}@media (max-width:576px){.permission-management-card .ant-card-body{padding:16px}.permission-management-header{padding:12px 0}.permission-management-modal .ant-modal-body{padding:16px}}.ant-spin-container{position:relative}.ant-spin-blur{opacity:.5;pointer-events:none}.ant-empty{margin:40px 0}.ant-empty-description{color:#8c8c8c}.ant-form-item-has-error .ant-input,.ant-form-item-has-error .ant-select-selector{border-color:#ff4d4f}.ant-form-item-has-error .ant-input:focus,.ant-form-item-has-error .ant-select-selector:focus{border-color:#ff4d4f;box-shadow:0 0 0 2px rgba(255,77,79,.2)}.ant-input{border-radius:6px}.ant-input:focus{border-color:#1890ff;box-shadow:0 0 0 2px rgba(24,144,255,.2)}.permission-management-table .ant-table-tbody>tr.ant-table-row-selected>td{background:#e6f7ff}.permission-management-table .ant-table-tbody>tr>td:nth-child(2){font-family:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace}.permission-management-table .ant-space{grid-gap:4px!important;gap:4px!important}.permission-management-table .ant-btn-sm{height:24px;padding:0 7px}.ant-input-search .ant-input:focus{border-color:#1890ff;box-shadow:0 0 0 2px rgba(24,144,255,.2)}.permission-management-table .ant-table-body::-webkit-scrollbar{width:8px;height:8px}.permission-management-table .ant-table-body::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.permission-management-table .ant-table-body::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.permission-management-table .ant-table-body::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.virtual-package-management{padding:24px}.virtual-package-management .search-bar{margin-bottom:16px}.virtual-package-management .ant-table-thead>tr>th{background-color:#fafafa;font-weight:600}.virtual-package-management .ant-table-tbody>tr:hover>td{background-color:#f5f5f5}.virtual-package-management .ant-modal{top:20px}.virtual-package-management .ant-modal-body{max-height:70vh;overflow-y:auto}.virtual-package-management .ant-form-item{margin-bottom:16px}.virtual-package-management .ant-tag{margin:0}.virtual-package-management .ant-btn-link{padding:0;height:auto}.virtual-package-management .ant-table-fixed-left,.virtual-package-management .ant-table-fixed-right{z-index:1}.virtual-package-management .ant-pagination{margin-top:16px;text-align:right}.virtual-package-management .ant-card{box-shadow:0 2px 8px rgba(0,0,0,.1)}.virtual-package-management .ant-btn,.virtual-package-management .ant-input,.virtual-package-management .ant-picker,.virtual-package-management .ant-select-selector{border-radius:6px}.virtual-package-management .ant-table{border-radius:6px;overflow:hidden}.virtual-package-management .ant-modal-header{border-radius:6px 6px 0 0}.virtual-package-management .ant-modal-content{border-radius:6px}.login-container{min-height:100vh;display:flex;position:relative;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}.login-background{background:linear-gradient(135deg,#667eea,#764ba2);z-index:-1}.bg-overlay,.login-background{position:absolute;top:0;left:0;width:100%;height:100%}.bg-overlay{background:linear-gradient(45deg,rgba(102,126,234,.9),rgba(118,75,162,.9) 50%,rgba(24,144,255,.8));animation:gradientShift 8s ease-in-out infinite}@keyframes gradientShift{0%,to{opacity:.9}50%{opacity:.7}}.bg-particles{position:absolute;width:100%;height:100%;background-image:radial-gradient(2px 2px at 20px 30px,hsla(0,0%,100%,.3),transparent),radial-gradient(2px 2px at 40px 70px,hsla(0,0%,100%,.2),transparent),radial-gradient(1px 1px at 90px 40px,hsla(0,0%,100%,.4),transparent),radial-gradient(1px 1px at 130px 80px,hsla(0,0%,100%,.3),transparent),radial-gradient(2px 2px at 160px 30px,hsla(0,0%,100%,.2),transparent);background-repeat:repeat;background-size:200px 100px;animation:particleFloat 20s linear infinite}@keyframes particleFloat{0%{transform:translateY(0)}to{transform:translateY(-100px)}}.bg-waves{position:absolute;bottom:0;left:0;width:100%;height:200px;background:linear-gradient(0deg,hsla(0,0%,100%,.1) 0,transparent);clip-path:polygon(0 50%,100% 80%,100% 100%,0 100%);animation:waveMove 6s ease-in-out infinite}@keyframes waveMove{0%,to{clip-path:polygon(0 50%,100% 80%,100% 100%,0 100%)}50%{clip-path:polygon(0 80%,100% 50%,100% 100%,0 100%)}}.brand-showcase{flex:1 1;display:flex;align-items:center;justify-content:center;padding:60px;position:relative;z-index:1}.brand-content{max-width:500px;text-align:center;color:#fff}.brand-logo{margin-bottom:30px}.brand-icon{font-size:80px;color:hsla(0,0%,100%,.9);filter:drop-shadow(0 4px 8px rgba(0,0,0,.3));animation:iconPulse 3s ease-in-out infinite}@keyframes iconPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.brand-title{color:#fff!important;font-size:48px!important;font-weight:700!important;margin-bottom:16px!important;text-shadow:0 2px 4px rgba(0,0,0,.3);letter-spacing:-1px}.brand-subtitle{color:hsla(0,0%,100%,.9)!important;font-size:24px!important;font-weight:300!important;margin-bottom:40px!important;text-shadow:0 1px 2px rgba(0,0,0,.2)}.brand-features{margin:40px 0;display:flex;flex-direction:column;grid-gap:20px;gap:20px}.feature-item{display:flex;align-items:center;justify-content:center;grid-gap:12px;gap:12px;padding:16px 24px;background:hsla(0,0%,100%,.1);border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid hsla(0,0%,100%,.2);transition:all .3s ease}.feature-item:hover{background:hsla(0,0%,100%,.15);transform:translateY(-2px)}.feature-icon{font-size:20px;color:hsla(0,0%,100%,.9)}.feature-text{color:hsla(0,0%,100%,.9)!important;font-size:16px;font-weight:500}.brand-stats{display:flex;justify-content:space-around;margin-top:50px;padding:30px 0;border-top:1px solid hsla(0,0%,100%,.2)}.stat-item{text-align:center}.stat-number{font-size:32px;font-weight:700;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.3);margin-bottom:8px}.stat-label{font-size:14px;color:hsla(0,0%,100%,.8);font-weight:400}.login-section{flex:0 0 480px;display:flex;align-items:center;justify-content:center;padding:40px;background:hsla(0,0%,100%,.95);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);position:relative}.login-card{width:100%;max-width:400px;background:#fff!important;border-radius:20px!important;box-shadow:0 20px 40px rgba(0,0,0,.1),0 8px 16px rgba(0,0,0,.05)!important;padding:40px 32px!important}.login-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#667eea,#764ba2)}.login-header{text-align:center;margin-bottom:32px}.login-logo{margin-bottom:20px}.logo-icon{font-size:48px;color:#1890ff;filter:drop-shadow(0 2px 4px rgba(24,144,255,.3))}.login-title{color:#262626!important;font-size:28px!important;font-weight:600!important;margin-bottom:8px!important}.login-description{color:#8c8c8c!important;font-size:16px}.login-form{margin-top:32px}.login-input{height:48px!important;border-radius:8px!important;border:2px solid #f0f0f0!important;font-size:16px!important;transition:all .3s ease!important}.login-input:hover{border-color:#40a9ff!important}.login-input.ant-input-focused,.login-input:focus{border-color:#1890ff!important;box-shadow:0 0 0 2px rgba(24,144,255,.2)!important}.input-icon{color:#8c8c8c;font-size:16px}.login-options{display:flex;justify-content:space-between;align-items:center;margin:16px 0}.remember-checkbox{color:#595959}.forgot-password{color:#1890ff;text-decoration:none;font-size:14px;transition:color .3s ease}.forgot-password:hover{color:#40a9ff}.login-button{height:48px!important;border-radius:8px!important;font-size:16px!important;font-weight:600!important;background:linear-gradient(135deg,#1890ff,#722ed1)!important;border:none!important;box-shadow:0 4px 12px rgba(24,144,255,.4)!important;transition:all .3s ease!important}.login-button:hover{transform:translateY(-2px)!important;box-shadow:0 6px 16px rgba(24,144,255,.5)!important}.login-button:active{transform:translateY(0)!important}.login-footer{text-align:center;margin-top:32px;padding-top:24px;border-top:1px solid #f0f0f0}.footer-text{color:#8c8c8c!important;font-size:12px}@media (max-width:1200px){.brand-showcase{padding:40px}.brand-title{font-size:36px!important}.brand-subtitle{font-size:20px!important}}@media (max-width:768px){.login-container{flex-direction:column}.brand-showcase{flex:0 0 auto;min-height:40vh;padding:30px 20px}.brand-title{font-size:28px!important}.brand-subtitle{font-size:16px!important}.brand-stats{flex-direction:column;grid-gap:20px;gap:20px}.login-section{flex:1 1;padding:20px;background:#fff}.login-card{box-shadow:none!important;padding:20px!important}}@media (max-width:480px){.brand-showcase{padding:20px 15px}.brand-features{grid-gap:15px;gap:15px}.feature-item{padding:12px 16px}.login-section{padding:15px}.login-card{padding:24px 20px!important}}.ant-spin-dot{font-size:20px}.ant-spin-dot-item{background-color:#fff}.ant-form-item-has-error .login-input{border-color:#ff4d4f!important}.ant-form-item-has-error .login-input:focus{box-shadow:0 0 0 2px rgba(255,77,79,.2)!important}.login-card{position:relative;overflow:hidden}.login-card:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,hsla(0,0%,100%,.1),transparent);transform:rotate(45deg);animation:shimmer 3s infinite;pointer-events:none}@keyframes shimmer{0%{transform:translateX(-100%) translateY(-100%) rotate(45deg)}to{transform:translateX(100%) translateY(100%) rotate(45deg)}}@media (prefers-color-scheme:dark){.login-section{background:rgba(20,20,20,.95)}.login-card{background:#1f1f1f!important;color:#fff}.login-input,.login-title{color:#fff!important}.login-input{background:#262626!important;border-color:#434343!important}}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,"Courier New",monospace}.logo{margin-right:16px}.ant-layout-header{padding:0 24px}