*{margin:0;padding:0;box-sizing:border-box}:root{--color-primary: #0071e3;--color-primary-hover: #0077ed;--color-primary-active: #006edb;--color-primary-light: #2997ff;--color-bg: #f5f5f7;--color-surface: #ffffff;--color-surface-secondary: #fbfbfd;--color-text: #1d1d1f;--color-text-secondary: #86868b;--color-text-tertiary: #aeaeb2;--color-border: #d2d2d7;--color-border-light: #e8e8ed;--color-accent-purple: #af52de;--color-accent-green: #34c759;--color-accent-orange: #ff9f0a;--color-accent-red: #ff3b30;--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .03);--shadow-sm: 0 2px 8px 0 rgba(0, 0, 0, .04);--shadow-md: 0 4px 16px 0 rgba(0, 0, 0, .06);--shadow-lg: 0 8px 32px 0 rgba(0, 0, 0, .08);--shadow-xl: 0 16px 48px 0 rgba(0, 0, 0, .1);--transition-fast: .2s cubic-bezier(.25, .46, .45, .94);--transition-base: .3s cubic-bezier(.25, .46, .45, .94);--transition-spring: .4s cubic-bezier(.34, 1.56, .64, 1);--blur-header: saturate(180%) blur(20px);--gradient-hero: linear-gradient(180deg, #fbfbfd 0%, #f5f5f7 100%)}body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Helvetica Neue,Helvetica,PingFang SC,Microsoft YaHei,Arial,sans-serif;background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.01em}.ai-smart-btn{font-size:14px!important;height:36px!important;padding:4px 18px!important;border-color:#af52de!important;color:#af52de!important;font-weight:500;transition:all var(--transition-fast)!important}.ai-smart-btn:hover{border-color:#bf5af2!important;color:#bf5af2!important;background:#af52de0f!important;transform:translateY(-1px)}.ai-icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:8px;background:linear-gradient(135deg,#0071e3,#af52de);color:#fff;font-size:12px;font-weight:700;letter-spacing:-.5px;vertical-align:middle;line-height:1}.app-layout{min-height:100vh}.app-header{display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:#fbfbfdb8;backdrop-filter:var(--blur-header);-webkit-backdrop-filter:var(--blur-header);border-bottom:1px solid rgba(0,0,0,.06);position:sticky;top:0;z-index:100;transition:background var(--transition-fast),border-color var(--transition-fast)}.app-header--compact{height:52px;line-height:52px}.app-logo{display:flex;align-items:center;gap:10px;color:var(--color-text);font-size:19px;font-weight:600;letter-spacing:-.02em;cursor:pointer;transition:opacity var(--transition-fast)}.app-logo:hover{opacity:.7}.app-logo-icon{width:32px;height:32px;background:linear-gradient(135deg,#1d1d1f,#424245);border-radius:9px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;color:#fff;letter-spacing:-.5px;transition:transform var(--transition-spring)}.app-logo:hover .app-logo-icon{transform:scale(1.05)}.app-user-info{display:flex;align-items:center;gap:12px;color:var(--color-text);font-size:14px}.app-user-trigger{cursor:pointer;display:flex;align-items:center;gap:8px;padding:4px 12px;border-radius:980px;transition:background var(--transition-fast)}.app-user-trigger:hover{background:#0000000d}.app-user-avatar{background:linear-gradient(135deg,#0071e3,#2997ff)!important;border:none!important;color:#fff!important}.app-sider{background:#fff!important;border-right:1px solid var(--color-border-light);transition:width var(--transition-base)!important}.app-sider .ant-menu{border-inline-end:none!important;padding:10px 0}.app-sider .ant-menu-item{margin:3px 10px;border-radius:10px;transition:all var(--transition-fast);position:relative;font-weight:400}.app-sider .ant-menu-item:hover{background:var(--color-bg)!important}.app-sider .ant-menu-item-selected{background:var(--color-primary)!important;color:#fff!important;font-weight:500;box-shadow:0 2px 8px #0071e340}.app-sider .ant-menu-item-selected a{color:#fff!important}.app-sider .ant-menu-item-selected svg path,.app-sider .ant-menu-item-selected svg rect,.app-sider .ant-menu-item-selected svg circle{stroke:#fff!important;fill:#fff!important}.app-sider .ant-menu-item-selected svg linearGradient stop{stop-color:#fff!important}.app-sider .ant-menu-item-selected svg defs{display:none}.app-menu{height:100%;padding-top:6px}.app-sider .ant-menu-item .anticon+span,.app-sider .ant-menu-item svg{color:inherit!important}.app-sider .ant-menu-item .anticon{font-size:20px!important;line-height:1!important}.app-sider .ant-menu-item .anticon svg{display:block!important;width:20px!important;height:20px!important}.app-sider .ant-menu-item svg linearGradient stop{transition:none}.app-sider .ant-menu-submenu-title{margin:3px 10px;border-radius:10px;transition:all var(--transition-fast)}.app-sider .ant-menu-submenu-title:hover{background:var(--color-bg)!important}.app-content{padding:28px 32px;min-height:calc(100vh - 52px);background:var(--color-bg)}.app-loading-screen{height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-bg)}.page-header{margin-bottom:24px;display:flex;align-items:center;justify-content:space-between}.page-title{font-size:28px;font-weight:600;color:var(--color-text);letter-spacing:-.03em}.stat-card{border-radius:18px;box-shadow:var(--shadow-sm);transition:all var(--transition-base);border:1px solid var(--color-border-light);overflow:hidden;position:relative;background:var(--color-surface)}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--color-primary),var(--color-primary-light));opacity:0;transition:opacity var(--transition-base)}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px);border-color:#0071e326}.stat-card:hover:before{opacity:1}.dashboard-kpi-row{margin-bottom:24px}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--gradient-hero);position:relative;overflow:hidden}.login-page:before{content:"";position:absolute;top:-30%;left:-20%;width:140%;height:140%;background:radial-gradient(ellipse at 30% 20%,rgba(0,113,227,.06) 0%,transparent 50%),radial-gradient(ellipse at 70% 80%,rgba(175,82,222,.04) 0%,transparent 50%);animation:loginBgFloat 25s ease-in-out infinite}@keyframes loginBgFloat{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-20px,15px) scale(1.05)}}.login-card{width:400px;border-radius:24px;box-shadow:0 20px 60px -12px #0000001f,0 0 0 1px #0000000a;border:none;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#ffffffd9;position:relative;z-index:1;padding:8px 4px}.login-header{text-align:center;margin-bottom:36px}.login-header h1{font-size:32px;font-weight:600;color:var(--color-text);margin-bottom:6px;letter-spacing:-.03em}.login-header p{color:var(--color-text-secondary);font-size:15px;font-weight:400}.ant-table{border-radius:14px}.ant-table-wrapper{border-radius:14px;overflow:hidden}.ant-table-thead>tr>th{font-weight:600!important;font-size:13px!important;letter-spacing:-.01em;color:var(--color-text)!important;background:var(--color-surface-secondary)!important;border-bottom:1px solid var(--color-border)!important}.ant-table-tbody>tr>td{border-bottom:1px solid var(--color-border-light)!important}.ant-table-tbody>tr{transition:background var(--transition-fast)!important}.ant-card{border-radius:18px;border:1px solid var(--color-border-light)}.ant-card-head{border-bottom:1px solid var(--color-border-light)!important;min-height:52px!important;padding:0 24px!important}.ant-card-head-title{font-weight:600!important;font-size:16px!important}.ant-card-body{padding:24px!important}.clickable-name{color:var(--color-primary);cursor:pointer;font-weight:500;transition:color var(--transition-fast)}.clickable-name:hover{color:var(--color-primary-hover);text-decoration:underline}.detail-tabs .ant-tabs-nav,.breadcrumb-bar{margin-bottom:20px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#00000026;border-radius:4px;transition:background var(--transition-fast)}::-webkit-scrollbar-thumb:hover{background:#00000040}.mobile-bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:100;background:#fbfbfdcc;backdrop-filter:var(--blur-header);-webkit-backdrop-filter:var(--blur-header);border-top:1px solid rgba(0,0,0,.06)}.mobile-bottom-nav-menu{display:flex;justify-content:space-around;border-bottom:none;line-height:1;height:56px;background:transparent}.mobile-bottom-nav-menu .ant-menu-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;height:56px;margin:0;padding:4px 0;font-size:10px;line-height:1.2;transition:color var(--transition-fast)}.mobile-bottom-nav-menu .ant-menu-item-selected{color:var(--color-primary)!important}.mobile-bottom-nav-menu .ant-menu-item .anticon{font-size:22px;margin-right:0}.mobile-bottom-nav-menu .ant-menu-item span{font-size:10px}@media(max-width:768px){.app-layout--mobile .app-header{padding:0 16px}.app-layout--mobile .app-content{padding:16px 12px 72px;min-height:calc(100vh - 108px)}.app-layout--mobile .page-header{flex-direction:column;align-items:flex-start;gap:8px}.app-layout--mobile .page-title{font-size:22px}.app-layout--mobile .ant-table{overflow-x:auto;-webkit-overflow-scrolling:touch}.app-layout--mobile .ant-table-wrapper{overflow-x:auto}.app-layout--mobile .ant-modal{max-width:calc(100vw - 16px);margin:8px auto;top:8px}.app-layout--mobile .ant-modal-content{padding:16px;max-height:calc(100vh - 32px);overflow-y:auto}.app-layout--mobile .ant-card-head-title{font-size:15px}.app-layout--mobile .ant-descriptions-item{padding:8px 4px}.app-layout--mobile .ant-row{margin-left:0!important;margin-right:0!important}.app-layout--mobile .ant-col{padding-left:4px!important;padding-right:4px!important}.app-layout--mobile .ant-form-item-label{padding-bottom:2px}.app-layout--mobile .ant-statistic-title{font-size:11px}.app-layout--mobile .ant-statistic-content{font-size:18px}}@media(max-width:480px){.login-card{width:calc(100vw - 32px);max-width:400px;border-radius:20px}.login-header h1{font-size:26px}.login-header p{font-size:14px}.login-page:before{animation:none}}@media(max-width:768px){.app-header{height:52px;line-height:52px}.app-content{padding:16px 12px 72px!important}.page-header{flex-direction:column;align-items:flex-start;gap:8px}.ant-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.ant-modal{max-width:calc(100vw - 16px)!important;margin:8px auto!important;top:8px!important}.ant-modal-content{padding:16px;max-height:calc(100vh - 32px);overflow-y:auto}.ant-card-head-title{font-size:15px}.ant-form-item-label{padding-bottom:2px}.ant-statistic-title{font-size:11px}.ant-statistic-content{font-size:18px}.ant-row{margin-left:0!important;margin-right:0!important}.ant-col{padding-left:4px!important;padding-right:4px!important}}.app-sider-inner{display:flex;flex-direction:column;height:100%;overflow:hidden}.app-sider-inner .app-menu{flex:1;overflow-y:auto;overflow-x:hidden}.sidebar-ai-assistant{flex-shrink:0;border-top:1px solid var(--color-border-light);padding:10px 12px 8px;background:var(--color-surface-secondary)}.sidebar-ai-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.sidebar-ai-title{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--color-text)}.sidebar-ai-actions{display:flex;align-items:center;gap:0}.sidebar-ai-actions .ant-btn{padding:2px 4px!important;height:auto!important;line-height:1!important}.sidebar-ai-settings{margin-bottom:8px}.sidebar-ai-messages{max-height:200px;overflow-y:auto;margin-bottom:8px;padding:4px 0}.sidebar-ai-msg{display:flex;gap:4px;margin-bottom:6px}.sidebar-ai-msg--user{justify-content:flex-end}.sidebar-ai-msg-bubble{padding:6px 10px;border-radius:12px;font-size:11px;line-height:1.5;white-space:pre-wrap;word-break:break-word;max-width:calc(100% - 30px)}.sidebar-ai-msg--assistant .sidebar-ai-msg-bubble{background:#fff;color:var(--color-text);box-shadow:var(--shadow-xs);border:1px solid var(--color-border-light)}.sidebar-ai-msg--user .sidebar-ai-msg-bubble{background:var(--color-primary);color:#fff;border-radius:12px 12px 4px}.sidebar-ai-msg--assistant .sidebar-ai-msg-bubble{border-radius:12px 12px 12px 4px}.sidebar-ai-msg-tools{margin-top:2px;display:flex;flex-wrap:wrap;gap:2px}.sidebar-ai-quick{display:flex;flex-wrap:wrap;gap:2px;margin-bottom:8px;justify-content:center}.sidebar-ai-input{display:flex;gap:4px;align-items:flex-end}.sidebar-ai-input .ant-input{font-size:12px!important;border-radius:10px!important;padding:6px 10px!important}.sidebar-ai-hint{font-size:10px;color:var(--color-text-tertiary);text-align:center;margin-top:4px}.ant-btn{transition:all var(--transition-fast)!important;font-weight:500!important}.ant-btn-primary{background:var(--color-primary)!important}.ant-btn-primary:hover{background:var(--color-primary-hover)!important;transform:scale(1.02)}.ant-btn-primary:active{background:var(--color-primary-active)!important;transform:scale(.98)}.ant-btn-default:hover{background:var(--color-bg)!important;border-color:var(--color-border)!important}.ant-tag{border-radius:8px;font-size:12px;padding:2px 10px;font-weight:500;border:none}.ant-modal-content{border-radius:20px!important;box-shadow:var(--shadow-xl)!important;overflow:hidden}.ant-modal-header{border-radius:20px 20px 0 0!important}.ant-dropdown-menu{border-radius:14px;box-shadow:var(--shadow-lg)!important;padding:6px;border:1px solid var(--color-border-light)}.ant-dropdown-menu-item{border-radius:10px;margin:2px 0;transition:all var(--transition-fast)}.ant-tooltip-inner{border-radius:10px;font-size:12px;padding:6px 12px}.ant-tabs-tab{transition:all var(--transition-fast);padding:10px 4px!important;font-weight:500!important}.ant-tabs-tab:hover{color:var(--color-primary)!important}.ant-tabs-ink-bar{background:var(--color-primary);height:2px!important;border-radius:2px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.app-content>div{animation:fadeInUp .4s cubic-bezier(.25,.46,.45,.94)}.ant-form-item-label>label{font-weight:500;color:var(--color-text);font-size:14px}.ant-input,.ant-input-affix-wrapper,.ant-input-password{transition:all var(--transition-fast)!important}.ant-input:hover,.ant-input-affix-wrapper:hover{border-color:var(--color-text-secondary)!important}.ant-input:focus,.ant-input-focused,.ant-input-affix-wrapper:focus,.ant-input-affix-wrapper-focused{border-color:var(--color-primary)!important;box-shadow:0 0 0 3px #0071e31a!important}.ant-empty-description{color:var(--color-text-secondary)}.ant-pagination-item{border-radius:10px!important;transition:all var(--transition-fast);border:1px solid var(--color-border)!important;min-width:32px!important;height:32px!important;line-height:32px!important}.ant-pagination-item a{padding:0 6px!important}.ant-pagination-item-active{background:var(--color-primary)!important;border-color:var(--color-primary)!important}.ant-pagination-item-active a{color:#fff!important}.ant-pagination-item:hover:not(.ant-pagination-item-active){border-color:var(--color-primary)!important}.ant-pagination-item:hover:not(.ant-pagination-item-active) a{color:var(--color-primary)!important}.ant-select .ant-select-selector{transition:all var(--transition-fast)!important}.ant-select:hover .ant-select-selector{border-color:var(--color-text-secondary)!important}.ant-select-focused .ant-select-selector{border-color:var(--color-primary)!important;box-shadow:0 0 0 3px #0071e31a!important}.ant-card-hoverable:hover{box-shadow:var(--shadow-md)!important;transform:translateY(-2px)}.ant-spin-dot-item{background-color:var(--color-primary)!important}.ant-picker:hover{border-color:var(--color-text-secondary)!important}.ant-picker-focused{border-color:var(--color-primary)!important;box-shadow:0 0 0 3px #0071e31a!important}.ant-progress-bg{border-radius:980px!important}.ant-statistic-content{font-weight:600!important;letter-spacing:-.02em;color:var(--color-text)}.ant-statistic-title{color:var(--color-text-secondary)!important;font-weight:400!important}.ant-breadcrumb{font-size:13px}.ant-breadcrumb a{color:var(--color-text-secondary)!important;transition:color var(--transition-fast)}.ant-breadcrumb a:hover{color:var(--color-primary)!important}.ant-breadcrumb-separator{color:var(--color-text-tertiary)!important}.ant-divider{border-color:var(--color-border-light)!important}.ant-message-notice-content{border-radius:14px!important;box-shadow:var(--shadow-lg)!important;padding:10px 20px!important}.ant-notification-notice{border-radius:16px!important;box-shadow:var(--shadow-lg)!important}
