:root{--primary:#4f6ef7;--primary-light:#7c5cfc;--primary-dark:#3b5de7;--success:#34a853;--warning:#fbbc04;--danger:#ea4335;--info:#13c2c2;--bg:#f0f4ff;--card-bg:#fff;--text:#1a1a2e;--text-secondary:#8e8ea0;--border:#e8eaed;--shadow:0 4px 20px #4f6ef714;--shadow-lg:0 8px 32px #4f6ef71f;--radius:16px;--radius-sm:10px}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;overflow-x:hidden}#root{text-align:left;border:none;width:100%;max-width:100%;min-height:100vh;margin:0}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:silver;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#a0a0a0}.ant-layout{background:var(--bg)!important}.ant-card{border-radius:var(--radius)!important;box-shadow:var(--shadow)!important;border:none!important;transition:all .3s!important}.ant-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)!important}.ant-btn-primary{background:linear-gradient(135deg, var(--primary), var(--primary-light))!important;border-radius:var(--radius-sm)!important;border:none!important;font-weight:600!important;box-shadow:0 4px 16px #4f6ef74d!important}.ant-btn-primary:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 6px 20px #4f6ef766!important}.ant-table{overflow:hidden;background:var(--card-bg)!important;border-radius:var(--radius)!important;box-shadow:var(--shadow)!important}.ant-table-thead>tr>th{color:var(--text)!important;border-bottom:2px solid var(--border)!important;background:#f8f9ff!important;padding:16px!important;font-weight:600!important}.ant-table-tbody>tr>td{padding:14px 16px!important}.ant-table-tbody>tr:hover>td{background:#f8f9ff!important}.ant-tag{border:none!important;border-radius:20px!important;padding:4px 16px!important;font-size:12px!important;font-weight:600!important}.ant-input,.ant-input-password{border-radius:var(--radius-sm)!important;border:2px solid var(--border)!important;transition:all .2s!important}.ant-input:focus,.ant-input-password:focus{border-color:var(--primary)!important;box-shadow:0 0 0 3px #4f6ef71a!important}.ant-modal-content{border-radius:20px!important;box-shadow:0 20px 60px #00000026!important}.ant-modal-header{border-radius:20px 20px 0 0!important}.ant-statistic-title{color:var(--text-secondary)!important;font-size:14px!important;font-weight:500!important}.ant-statistic-content{font-size:28px!important;font-weight:700!important}.ant-menu-dark{background:0 0!important}.ant-menu-dark .ant-menu-item-selected{background:linear-gradient(135deg, var(--primary), var(--primary-light))!important;border-radius:var(--radius-sm)!important;margin:4px 8px!important}.ant-menu-dark .ant-menu-item{border-radius:var(--radius-sm)!important;margin:4px 8px!important;transition:all .2s!important}.ant-menu-dark .ant-menu-item:hover{background:#ffffff1a!important}.ant-sider-trigger{background:#ffffff1a!important;border-radius:0 0 10px!important}.ant-form-item-label>label{color:var(--text)!important;font-weight:600!important}.ant-descriptions-item-label{color:var(--text-secondary)!important;font-weight:600!important}.ant-descriptions-item-content{font-weight:500!important}.ant-badge-status-dot{width:8px!important;height:8px!important}.ant-pagination-item-active{border-color:var(--primary)!important}.ant-pagination-item-active a{color:var(--primary)!important}.app-shell{min-height:100vh}.app-sider{box-shadow:4px 0 24px #0000001a;background:linear-gradient(#1a1a2e 0%,#16213e 100%)!important}.app-logo{color:#fff;letter-spacing:2px;background:linear-gradient(135deg,#4f6ef7,#7c5cfc);border-radius:12px;justify-content:center;align-items:center;height:64px;margin:16px 16px 8px;font-size:22px;font-weight:800;display:flex;box-shadow:0 4px 16px #4f6ef74d}.app-main{min-width:0}.app-header{background:#fff;justify-content:space-between;align-items:center;gap:16px;height:64px;padding:0 32px;line-height:64px;display:flex;box-shadow:0 2px 8px #0000000a}.app-header-left,.app-header-actions,.user-chip{align-items:center;display:flex}.app-header-left{gap:8px;min-width:0}.app-title{text-overflow:ellipsis;white-space:nowrap;color:#1a1a2e;min-width:0;font-size:18px;font-weight:700;overflow:hidden}.app-header-actions{flex:none;gap:20px}.user-chip{cursor:pointer;border-radius:24px;gap:10px;padding:4px 12px;transition:background .2s}.user-name{color:#1a1a2e;font-size:14px;font-weight:600;line-height:20px}.user-role{color:#8e8ea0;font-size:12px;line-height:16px}.app-content{min-width:0;margin:24px;padding:0;overflow-x:auto}.ant-table-wrapper{width:100%;overflow-x:auto}.ant-table-container{overflow-x:auto}.ant-table-cell{word-break:keep-all}.ant-table{min-width:760px}.ant-modal{max-width:calc(100vw - 24px)}.page-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.responsive-search{width:360px;max-width:100%}.page-enter{opacity:0;transform:translateY(10px)}.page-enter-active{opacity:1;transition:all .3s;transform:translateY(0)}@media (width<=767px){.app-header{gap:8px;height:56px;padding:0 10px;line-height:56px}.app-title{max-width:36vw;font-size:15px}.app-header-actions{gap:8px}.user-chip{padding:2px}.user-chip-text{display:none}.app-content{margin:10px;padding-bottom:18px}.page-heading{flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:12px}.responsive-search{width:calc(100vw - 44px)!important}.ant-card{border-radius:10px!important}.ant-card-body{padding:12px!important}.ant-table{min-width:980px}.ant-table-thead>tr>th,.ant-table-tbody>tr>td{white-space:nowrap;padding:10px 12px!important}.ant-pagination{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.ant-modal-content{border-radius:12px!important}.ant-descriptions-view{overflow-x:auto}.ant-descriptions table{min-width:640px}}@media (width<=520px){.app-header-actions .ant-badge,.app-header-actions .ant-segmented{display:none}.app-title{max-width:64vw}.page-heading h2{font-size:19px!important}.page-heading p{font-size:13px}.ant-space{max-width:100%}.ant-table{min-width:1040px}}.login-shell{background:radial-gradient(circle at 12% 20%,#ffffff24,#0000 28%),radial-gradient(circle at 72% 90%,#ffffff1f,#0000 24%),linear-gradient(135deg,#667eea 0%,#764ba2 100%);grid-template-columns:minmax(320px,1fr) minmax(360px,520px);align-items:stretch;min-height:100vh;display:grid;overflow-x:hidden}.login-brand,.login-panel{z-index:1;flex-direction:column;justify-content:center;min-width:0;display:flex;position:relative}.login-brand{color:#fff;padding:clamp(32px,7vw,96px)}.login-logo-text{letter-spacing:6px;text-shadow:0 8px 30px #0f172a3d;margin-bottom:28px;font-size:clamp(48px,8vw,92px);font-weight:900;line-height:1}.login-brand h1{max-width:620px;margin:0;font-size:clamp(26px,3vw,42px);font-weight:900;line-height:1.25}.login-brand p{color:#ffffffd1;max-width:520px;margin:18px 0 0;font-size:clamp(15px,1.4vw,18px);line-height:1.8}.login-panel{padding:clamp(20px,4vw,56px)}.login-card{background:#fffffff5;border-radius:22px;width:100%;max-width:420px;margin:0 auto;padding:clamp(28px,5vw,46px);box-shadow:0 24px 70px #0f172a2e}.login-lock{color:#fff;background:linear-gradient(135deg,#4f6ef7,#7c5cfc);border-radius:18px;justify-content:center;align-items:center;width:66px;height:66px;margin:0 auto 18px;font-size:30px;display:flex;box-shadow:0 10px 26px #4f6ef752}.login-card h2{color:#111827;text-align:center;margin:0;font-size:26px;font-weight:900;line-height:1.3}.login-subtitle{color:#8e8ea0;text-align:center;margin:8px 0 28px;font-size:14px}.login-form .ant-input-affix-wrapper,.login-form .ant-input,.login-form .ant-input-password{height:48px;border-radius:12px!important}.login-form .anticon{color:#9ca3af}.login-submit{margin:28px 0 0}.login-submit .ant-btn{height:50px;font-size:16px;font-weight:800;border-radius:12px!important}.login-foot{color:#b0b0b0;text-align:center;margin-top:22px;font-size:12px}@media (width<=900px){.login-shell{grid-template-columns:1fr;align-content:center;padding:18px}.login-brand{text-align:center;align-items:center;padding:18px 10px 10px}.login-brand p{margin-top:10px}.login-panel{padding:18px 0 28px}}@media (width<=520px){.login-shell{padding:12px}.login-logo-text{letter-spacing:3px;margin-bottom:14px}.login-brand h1{font-size:24px}.login-brand p{font-size:14px}.login-card{border-radius:18px;padding:24px 18px}}
