body{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}#root{height:100vh}.ant-input:focus,.ant-input-password:focus{border-color:#1890ff!important;box-shadow:0 0 0 2px #1890ff1a!important}.ant-btn-primary:hover{background:#40a9ff!important;box-shadow:0 4px 12px #1890ff4d!important}.ant-btn-primary:active{background:#096dd9!important}.table-no-wrap .ant-table{overflow-x:auto}.table-no-wrap .ant-table-thead>tr>th,.table-no-wrap .ant-table-tbody>tr>td{white-space:nowrap;overflow:visible;text-overflow:clip;word-break:keep-all}.table-no-wrap .ant-table-container{overflow-x:auto}.table-no-wrap .ant-table-cell{white-space:nowrap;overflow:visible;text-overflow:clip}:root{--color-primary: #1677ff;--color-primary-hover: #4096ff;--color-primary-active: #0958d9;--color-primary-light: #e6f4ff;--color-primary-bg: #f0f7ff;--color-success: #52c41a;--color-success-hover: #73d13d;--color-success-bg: #f6ffed;--color-warning: #faad14;--color-warning-hover: #ffc53d;--color-warning-bg: #fffbe6;--color-error: #ff4d4f;--color-error-hover: #ff7875;--color-error-bg: #fff2f0;--color-gray-50: #fafafa;--color-gray-100: #f5f5f5;--color-gray-200: #e8e8e8;--color-gray-300: #d9d9d9;--color-gray-400: #bfbfbf;--color-gray-500: #8c8c8c;--color-gray-600: #595959;--color-gray-700: #434343;--color-gray-800: #262626;--color-gray-900: #1a1a1a;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .03);--shadow-md: 0 2px 8px rgba(0, 0, 0, .06);--shadow-lg: 0 4px 16px rgba(0, 0, 0, .08);--shadow-xl: 0 8px 24px rgba(0, 0, 0, .12);--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .35s ease;--font-size-xs: 12px;--font-size-sm: 13px;--font-size-md: 14px;--font-size-lg: 16px;--font-size-xl: 18px;--font-size-2xl: 24px;--font-size-3xl: 32px;--line-height-tight: 1.2;--line-height-normal: 1.5;--line-height-relaxed: 1.8}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;min-height:100vh}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,PingFang SC,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f5f5;color:var(--color-gray-800);font-size:var(--font-size-md);line-height:var(--line-height-normal)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.fade-in{animation:fadeIn var(--transition-normal) ease-out}.scale-in{animation:scaleIn var(--transition-normal) ease-out}.ant-layout-header{background:#fff!important;border-bottom:1px solid var(--color-gray-200)!important;box-shadow:var(--shadow-sm)!important}.ant-layout-sider{background:#fff!important;border-right:1px solid var(--color-gray-200)!important;box-shadow:var(--shadow-sm)!important}.ant-menu-item-selected{background:var(--color-primary-bg)!important;color:var(--color-primary)!important;font-weight:500!important}.ant-menu-item-selected:after{border-right:3px solid var(--color-primary)!important}.ant-menu-item:hover{color:var(--color-primary)!important}.ant-btn{border-radius:var(--radius-md)!important;font-weight:500!important;transition:all var(--transition-fast)!important;box-shadow:none!important}.ant-btn-primary{background:var(--color-primary)!important;box-shadow:0 2px 8px #1677ff33!important}.ant-btn-primary:hover{background:var(--color-primary-hover)!important;box-shadow:0 4px 12px #1677ff4d!important;transform:translateY(-1px)!important}.ant-btn-primary:active{background:var(--color-primary-active)!important;transform:translateY(0)!important}.ant-input-affix-wrapper,.ant-input-affix-wrapper-lg,.ant-input-password{border:1px solid #d9d9d9!important;border-radius:6px!important;background:#fff!important;padding:4px 11px!important;height:40px!important;min-height:40px!important;max-height:40px!important;display:inline-flex!important;align-items:center!important;width:100%!important;box-sizing:border-box!important;transition:all .2s ease-in-out!important}#login .ant-input-affix-wrapper,#login .ant-input-affix-wrapper-lg,#login .ant-input-password{height:48px!important;min-height:48px!important;max-height:48px!important;padding:4px 14px!important;border-radius:8px!important}.ant-input-affix-wrapper:hover,.ant-input-affix-wrapper-lg:hover,.ant-input-password:hover{border-color:#4096ff!important;background:#fff!important}.ant-input-affix-wrapper:focus,.ant-input-affix-wrapper-focused,.ant-input-password:focus-within{border-color:#1677ff!important;box-shadow:0 0 0 2px #0591ff1a!important;background:#fff!important;outline:none!important}.ant-input-affix-wrapper>input.ant-input,.ant-input-password>input.ant-input{border:none!important;background:transparent!important;box-shadow:none!important;height:auto!important;min-height:auto!important;flex:1!important;padding:0!important;font-size:14px!important;line-height:1.5715!important;color:#000000d9!important}#login .ant-input-affix-wrapper>input.ant-input,#login .ant-input-password>input.ant-input{font-size:16px!important}.ant-input-affix-wrapper>input.ant-input::placeholder,.ant-input-password>input.ant-input::placeholder{color:#00000040!important}.ant-input-prefix,.ant-input-suffix{display:flex!important;align-items:center!important;justify-content:center!important;color:#00000040!important}.ant-input-prefix{margin-right:8px!important}.ant-input-suffix{margin-left:8px!important}.ant-input-prefix .anticon,.ant-input-suffix .anticon{font-size:16px!important;line-height:1!important;margin:0!important;padding:0!important}#login .ant-input-prefix .anticon,#login .ant-input-suffix .anticon{font-size:18px!important}.ant-input-password-icon{color:#00000040!important;cursor:pointer!important}.ant-input-password-icon:hover{color:#00000073!important}.ant-form-item-has-error .ant-input-affix-wrapper,.ant-form-item-has-error .ant-input-password{border-color:#ff4d4f!important;background:#fff!important}.ant-form-item-has-error .ant-input-affix-wrapper:hover,.ant-form-item-has-error .ant-input-password:hover{border-color:#ff7875!important}.ant-form-item-has-error .ant-input-affix-wrapper:focus,.ant-form-item-has-error .ant-input-affix-wrapper-focused,.ant-form-item-has-error .ant-input-password:focus-within{border-color:#ff4d4f!important;box-shadow:0 0 0 2px #ff4d4f1a!important}.ant-form-item-has-error .ant-input-prefix{color:#ff4d4f!important}.ant-input{border:1px solid #d9d9d9!important;border-radius:6px!important;background:#fff!important;padding:4px 11px!important;height:40px!important;min-height:40px!important;font-size:14px!important;line-height:1.5715!important;color:#000000d9!important;transition:all .2s ease-in-out!important}.ant-input:hover{border-color:#4096ff!important;background:#fff!important}.ant-input:focus{border-color:#1677ff!important;box-shadow:0 0 0 2px #0591ff1a!important;background:#fff!important;outline:none!important}.ant-input::placeholder{color:#00000040!important}.ant-card{border-radius:var(--radius-lg)!important;border:1px solid var(--color-gray-200)!important;box-shadow:var(--shadow-md)!important;transition:all var(--transition-normal)!important}.ant-card:hover{box-shadow:var(--shadow-lg)!important;transform:translateY(-2px)!important}.ant-card-head{border-bottom:1px solid var(--color-gray-200)!important;font-weight:600!important;color:var(--color-gray-900)!important}.table-no-wrap .ant-table{border-radius:var(--radius-lg)!important;overflow:hidden!important;box-shadow:var(--shadow-sm)!important}.table-no-wrap .ant-table-thead>tr>th{background:var(--color-gray-50)!important;font-weight:600!important;color:var(--color-gray-700)!important;border-bottom:1px solid var(--color-gray-200)!important;padding:14px 16px!important}.table-no-wrap .ant-table-tbody>tr:hover>td{background:var(--color-primary-bg)!important}.table-no-wrap .ant-table-tbody>tr>td{padding:14px 16px!important;border-bottom:1px solid var(--color-gray-200)!important}.ant-modal-content{border-radius:var(--radius-xl)!important;box-shadow:var(--shadow-xl)!important}.ant-modal-header{border-bottom:1px solid var(--color-gray-200)!important;padding:20px 24px!important;border-radius:var(--radius-xl) var(--radius-xl) 0 0!important}.ant-modal-title{font-weight:600!important;color:var(--color-gray-900)!important;font-size:var(--font-size-xl)!important}.ant-modal-footer{border-top:1px solid var(--color-gray-200)!important;padding:16px 24px!important}.page-header-section{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.page-header-left{display:flex;align-items:center;gap:var(--spacing-md);flex-wrap:wrap;flex:1}.page-title{font-size:var(--font-size-2xl);font-weight:600;color:var(--color-gray-900);letter-spacing:-.5px;margin-bottom:0}.stat-card{background:linear-gradient(135deg,#fff,#fafafa);border-radius:var(--radius-lg);padding:var(--spacing-lg);border:1px solid var(--color-gray-200);box-shadow:var(--shadow-md);transition:all var(--transition-normal);position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--color-primary),var(--color-primary-hover))}.stat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl)}.stat-card-icon{width:56px;height:56px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:var(--spacing-md)}.stat-card-value{font-size:var(--font-size-3xl);font-weight:700;color:var(--color-gray-900);line-height:var(--line-height-tight);margin-bottom:var(--spacing-xs)}.stat-card-title{font-size:var(--font-size-md);color:var(--color-gray-600);font-weight:500}@media (max-width: 1200px){.ant-layout-content{margin:var(--spacing-md)!important;padding:var(--spacing-md)!important}}@media (max-width: 768px){.ant-layout-sider{position:fixed!important;z-index:1000!important;height:100vh!important}.page-header-section,.page-header-left{flex-direction:column!important;align-items:stretch!important}.ant-layout-content{margin:var(--spacing-sm)!important;padding:var(--spacing-md)!important}.page-title{font-size:var(--font-size-xl)}.stat-card-value{font-size:var(--font-size-2xl)}}@media (max-width: 480px){.ant-layout-content{margin:var(--spacing-sm)!important;padding:var(--spacing-sm)!important}.ant-btn{width:100%!important}.ant-modal{width:calc(100vw - 32px)!important;margin:16px!important}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-gray-100);border-radius:4px}::-webkit-scrollbar-thumb{background:var(--color-gray-400);border-radius:4px;transition:background var(--transition-fast)}::-webkit-scrollbar-thumb:hover{background:var(--color-gray-500)}::selection{background:var(--color-primary-light);color:var(--color-gray-900)}::-moz-selection{background:var(--color-primary-light);color:var(--color-gray-900)}.ant-btn{border-radius:8px!important;font-size:14px!important;font-weight:500!important;transition:all .2s cubic-bezier(.4,0,.2,1)!important;height:36px!important;padding:4px 16px!important}.ant-btn-primary{background:#1890ff!important;border:none!important;box-shadow:0 2px 8px #1890ff33!important}.ant-btn-primary:hover{background:#40a9ff!important;box-shadow:0 4px 12px #1890ff4d!important;transform:translateY(-1px)!important}.ant-btn-primary:active{background:#096dd9!important;transform:translateY(0)!important}.ant-btn-default:hover{background:#f5f5f5!important;border-color:#bfbfbf!important;color:#1a1a1a!important}.ant-btn-link{color:#1890ff!important}.ant-btn-link:hover{color:#40a9ff!important;background:#e6f7ff!important}.ant-btn-dangerous{color:#ff4d4f!important}.ant-btn-dangerous:hover{color:#ff7875!important;background:#fff1f0!important}.ant-modal-mask{background:#00000073!important}.ant-modal{z-index:1050!important}.ant-modal-content{border-radius:12px!important;box-shadow:0 6px 16px #00000014,0 3px 6px -4px #0000001f,0 9px 28px 8px #0000000d!important}.ant-modal-header{padding:16px 24px!important;border-bottom:1px solid #f0f0f0!important;background:#fff!important;border-radius:12px 12px 0 0!important}.ant-modal-title{font-size:16px!important;font-weight:600!important;color:#1a1a1a!important;line-height:1.5!important}.ant-modal-close{position:absolute!important;top:17px!important;right:17px!important;z-index:10!important;padding:0!important;color:#00000040!important;font-weight:600!important;line-height:1!important;text-decoration:none!important;background:transparent!important;border:0!important;outline:0!important;cursor:pointer!important;transition:color .2s,background-color .2s!important;width:32px!important;height:32px!important;border-radius:4px!important;display:flex!important;align-items:center!important;justify-content:center!important}.ant-modal-close-x{display:block!important;font-size:16px!important;font-style:normal!important;line-height:1!important;text-align:center!important;text-transform:none!important;text-rendering:auto!important;width:16px!important;height:16px!important}.ant-modal-close:hover{color:#00000073!important;background:#f5f5f5!important;text-decoration:none!important}.ant-modal-close:focus{outline:none!important;background:#f5f5f5!important}.ant-modal-body{padding:24px!important}.ant-form-vertical .ant-form-item{margin-bottom:20px!important}.ant-form-vertical .ant-form-item-label{padding-bottom:6px!important}.ant-form-vertical .ant-form-item-label>label{font-size:14px!important;font-weight:500!important;color:#262626!important;height:auto!important}.ant-form-vertical .ant-form-item-label>label.ant-form-item-required:not(.ant-form-item-required-mark-optional):before{color:#ff4d4f!important;margin-right:4px!important;font-weight:600!important}.ant-input,.ant-input-password,.ant-select-selector,.ant-picker{border-radius:6px!important;border:1px solid #d9d9d9!important;transition:all .2s!important;font-size:14px!important}.ant-input:hover,.ant-input-password:hover,.ant-select:not(.ant-select-disabled):hover .ant-select-selector,.ant-picker:hover{border-color:#40a9ff!important}.ant-input:focus,.ant-input-password:focus,.ant-select-focused .ant-select-selector,.ant-picker-focused{border-color:#40a9ff!important;box-shadow:0 0 0 2px #1890ff33!important}.ant-input-textarea textarea{border-radius:6px!important}.ant-select-dropdown{border-radius:8px!important;box-shadow:0 6px 16px #00000014,0 3px 6px -4px #0000001f,0 9px 28px 8px #0000000d!important}.ant-select-item{border-radius:4px!important;margin:2px 4px!important;padding:8px 12px!important;transition:all .15s!important}.ant-select-item:hover{background:#f5f5f5!important}.ant-select-item-option-selected{background:#e6f7ff!important;color:#1890ff!important;font-weight:500!important}.ant-form-item-explain-error{color:#ff4d4f!important;font-size:12px!important;margin-top:4px!important}.ant-form-item-has-error .ant-input,.ant-form-item-has-error .ant-input-password,.ant-form-item-has-error .ant-select-selector,.ant-form-item-has-error .ant-picker{border-color:#ff4d4f!important}.ant-form-item-has-error .ant-input:focus,.ant-form-item-has-error .ant-input-password:focus,.ant-form-item-has-error .ant-select-focused .ant-select-selector,.ant-form-item-has-error .ant-picker-focused{box-shadow:0 0 0 2px #ff4d4f33!important}.ant-modal-footer{padding:12px 24px!important;border-top:1px solid #f0f0f0!important;background:#fff!important;border-radius:0 0 12px 12px!important;display:flex!important;justify-content:flex-end!important;gap:8px!important}.ant-modal-footer .ant-btn{min-width:70px!important;height:32px!important;border-radius:6px!important;font-size:14px!important;font-weight:400!important}.ant-modal-footer .ant-btn-primary{background:#1890ff!important;border:none!important;color:#fff!important;box-shadow:none!important}.ant-modal-footer .ant-btn-primary:hover{background:#40a9ff!important;box-shadow:none!important;transform:none!important}.ant-modal-footer .ant-btn-primary:active{background:#096dd9!important;transform:none!important}.ant-modal-footer .ant-btn-default{background:#fff!important;border:1px solid #d9d9d9!important;color:#595959!important}.ant-modal-footer .ant-btn-default:hover{background:#fff!important;border-color:#40a9ff!important;color:#40a9ff!important}.ant-form-vertical .ant-form-item-label>label{font-size:14px!important;color:#262626!important;font-weight:500!important}.ant-input::placeholder{color:#bfbfbf!important;font-size:14px!important}.ant-input-search-button{border-radius:0 6px 6px 0!important}.ant-input-affix-wrapper{border-radius:6px!important}.ant-input-password{padding:0!important}.ant-input-password .ant-input{border:none!important;box-shadow:none!important;padding:8px 12px!important}.ant-input-password .ant-input-password-icon{color:#8c8c8c!important;transition:color .2s!important}.ant-input-password:hover .ant-input-password-icon{color:#1a1a1a!important}
