.cs-login-page{display:flex;min-height:100vh;background:#f0f2f5;position:relative;overflow:hidden}.cs-login-page:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(ellipse at 30% 50%,rgba(79,110,247,.08) 0%,transparent 50%),radial-gradient(ellipse at 70% 50%,rgba(54,207,201,.06) 0%,transparent 50%);animation:loginBgFloat 20s ease-in-out infinite alternate;pointer-events:none}@keyframes loginBgFloat{0%{transform:translate(0) rotate(0)}to{transform:translate(-2%,-1%) rotate(1deg)}}.cs-login-left{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:60px;position:relative;z-index:1;background:linear-gradient(135deg,#4F6EF7 0%,#3B5BDB 50%,#364FC7 100%);overflow:hidden}.cs-login-left:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 80%,rgba(54,207,201,.2) 0%,transparent 40%),radial-gradient(circle at 80% 20%,rgba(255,255,255,.08) 0%,transparent 40%);pointer-events:none}.cs-login-left:after{content:"";position:absolute;bottom:-20%;right:-10%;width:60%;height:60%;border-radius:50%;background:rgba(54,207,201,.1);filter:blur(60px);pointer-events:none}.cs-login-brand{text-align:center;color:#fff;position:relative;z-index:2;max-width:480px}.cs-login-brand-icon{width:72px;height:72px;border-radius:20px;background:rgba(255,255,255,.15);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;margin:0 auto 32px;font-size:36px;box-shadow:0 8px 32px #0000001a;border:1px solid rgba(255,255,255,.2)}.cs-login-brand h1{font-size:36px;font-weight:700;margin-bottom:16px;letter-spacing:-.5px;line-height:1.2}.cs-login-brand p{font-size:16px;line-height:1.8;opacity:.85;margin-bottom:0}.cs-login-features{margin-top:48px;display:flex;flex-direction:column;gap:20px;position:relative;z-index:2}.cs-login-feature-item{display:flex;align-items:center;gap:16px;color:#ffffffe6;font-size:15px}.cs-login-feature-icon{width:40px;height:40px;border-radius:10px;background:rgba(255,255,255,.12);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;border:1px solid rgba(255,255,255,.15)}.cs-login-right{width:520px;display:flex;align-items:center;justify-content:center;padding:60px;position:relative;z-index:1}.cs-login-card{width:100%;max-width:400px;border:none;border-radius:16px;box-shadow:0 4px 24px #0000000f;background:#fff}.cs-login-card .ant-card-body{padding:40px 36px}.cs-login-header{text-align:center;margin-bottom:36px}.cs-login-header h2{font-size:26px;font-weight:700;color:#1f2937;margin-bottom:8px;letter-spacing:-.3px}.cs-login-header p{font-size:14px;color:#6b7280;margin-bottom:0}.cs-login-form .ant-form-item{margin-bottom:20px}.cs-login-form .ant-input-affix-wrapper,.cs-login-form .ant-input{border-radius:10px;border-color:#e5e7eb;padding:10px 14px;font-size:14px;transition:all .2s ease}.cs-login-form .ant-input-affix-wrapper:hover,.cs-login-form .ant-input:hover{border-color:#4f6ef7}.cs-login-form .ant-input-affix-wrapper-focused,.cs-login-form .ant-input-focused{border-color:#4f6ef7;box-shadow:0 0 0 3px #4f6ef71a}.cs-login-form .ant-input-prefix{color:#9ca3af;margin-right:8px}.cs-login-form .ant-btn-primary{height:44px;border-radius:10px;font-size:15px;font-weight:600;background:linear-gradient(135deg,#4F6EF7 0%,#3B5BDB 100%);border:none;box-shadow:0 4px 12px #4f6ef74d;transition:all .2s ease}.cs-login-form .ant-btn-primary:hover{background:linear-gradient(135deg,#5B7BF8 0%,#4F6EF7 100%);box-shadow:0 6px 16px #4f6ef766;transform:translateY(-1px)}.cs-login-form .ant-btn-primary:active{transform:translateY(0)}.cs-login-footer{text-align:center;margin-top:24px;font-size:12px;color:#9ca3af}.cs-login-footer a{color:#4f6ef7;text-decoration:none;font-weight:500}.cs-login-footer a:hover{color:#3b5bdb}@media (max-width: 1024px){.cs-login-left{display:none}.cs-login-right{width:100%;background:linear-gradient(135deg,#4F6EF7 0%,#3B5BDB 100%);padding:24px}.cs-login-card{max-width:420px}}@media (max-width: 480px){.cs-login-right{padding:16px}.cs-login-card .ant-card-body{padding:32px 24px}.cs-login-header h2{font-size:22px}}.chat-input{position:relative;padding:0;background-color:var(--cs-surface, #FFFFFF)}.chat-input-toolbar{display:flex;gap:4px;margin-bottom:8px;padding:0 2px}.chat-input-toolbar .ant-btn{color:var(--cs-text-muted, #9CA3AF);border-radius:var(--cs-radius-sm, 6px);transition:all .2s ease}.chat-input-toolbar .ant-btn:hover{color:var(--cs-primary, #4F6EF7);background:var(--cs-primary-light, #EEF1FE)}.emoji-picker{position:absolute;bottom:100%;left:0;background-color:var(--cs-surface, #FFFFFF);border:1px solid var(--cs-border, #E5E7EB);border-radius:var(--cs-radius, 10px);box-shadow:0 4px 16px #0000001a;padding:12px;z-index:1000;margin-bottom:8px}.emoji-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}.emoji-button{width:36px;height:36px;font-size:20px;border:none;background:none;cursor:pointer;border-radius:var(--cs-radius-sm, 6px);transition:all .15s ease}.emoji-button:hover{background-color:var(--cs-primary-light, #EEF1FE);transform:scale(1.1)}.chat-input-field{display:flex;gap:8px;align-items:flex-end}.chat-input-textarea{flex:1;resize:none}.chat-input-textarea .ant-input{border-radius:var(--cs-radius-sm, 6px);border-color:var(--cs-border, #E5E7EB);transition:all .2s ease}.chat-input-textarea .ant-input:hover{border-color:var(--cs-primary, #4F6EF7)}.chat-input-textarea .ant-input:focus{border-color:var(--cs-primary, #4F6EF7);box-shadow:0 0 0 2px #4f6ef71a}.chat-input-send{border-radius:var(--cs-radius-sm, 6px)!important;height:auto;min-height:36px;background:linear-gradient(135deg,#4F6EF7 0%,#3B5BDB 100%)!important;border:none!important;box-shadow:0 2px 6px #4f6ef74d;font-weight:600;transition:all .2s ease}.chat-input-send:hover{background:linear-gradient(135deg,#5B7BF8 0%,#4F6EF7 100%)!important;box-shadow:0 4px 10px #4f6ef766!important;transform:translateY(-1px)}.chat-input-send:active{transform:translateY(0)}@media (max-width: 768px){.emoji-grid{grid-template-columns:repeat(4,1fr)}.emoji-button{width:32px;height:32px;font-size:18px}}:root{--cs-primary: #4F6EF7;--cs-primary-light: #EEF1FE;--cs-primary-hover: #3B5BDB;--cs-accent: #36CFC9;--cs-accent-light: #E6FFFB;--cs-success: #52C41A;--cs-success-light: #F6FFED;--cs-warning: #FAAD14;--cs-warning-light: #FFFBE6;--cs-error: #FF4D4F;--cs-error-light: #FFF2F0;--cs-bg: #F0F2F5;--cs-surface: #FFFFFF;--cs-text: #1F2937;--cs-text-secondary: #6B7280;--cs-text-muted: #9CA3AF;--cs-border: #E5E7EB;--cs-border-light: #F3F4F6;--cs-shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--cs-shadow: 0 2px 8px rgba(0, 0, 0, .06);--cs-shadow-md: 0 4px 16px rgba(0, 0, 0, .08);--cs-radius: 10px;--cs-radius-sm: 6px;--cs-radius-lg: 14px}.cs-workbench{height:100vh;overflow:hidden;background:var(--cs-bg);display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.cs-workbench .workbench-layout{display:flex;flex-direction:row;flex:1;height:100%}.session-list-panel{width:360px;min-width:320px;background:var(--cs-surface);border-right:1px solid var(--cs-border);display:flex;flex-direction:column;height:100%;overflow:hidden}.panel-header{padding:16px 20px;border-bottom:1px solid var(--cs-border-light);background:var(--cs-surface)}.panel-header .cs-info{display:flex;align-items:center;gap:12px}.panel-header .cs-info .ant-avatar{border:2px solid var(--cs-primary-light);box-shadow:0 2px 8px #4f6ef726}.panel-header .cs-details{flex:1;overflow:hidden}.panel-header .cs-name{font-weight:600;font-size:15px;color:var(--cs-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.panel-header .cs-status{font-size:12px;margin-top:2px}.panel-header .cs-status .ant-badge-status-dot{width:8px;height:8px}.panel-header .cs-info .ant-btn{color:var(--cs-text-muted);border-radius:var(--cs-radius-sm)}.panel-header .cs-info .ant-btn:hover{color:var(--cs-primary);background:var(--cs-primary-light)}.session-stats-row{padding:12px 20px;background:linear-gradient(180deg,var(--cs-primary-light) 0%,var(--cs-surface) 100%);border-bottom:1px solid var(--cs-border-light)}.session-stats-row .ant-statistic-title{font-size:11px;color:var(--cs-text-muted);text-transform:uppercase;letter-spacing:.5px;font-weight:500}.session-stats-row .ant-statistic-content{font-size:20px;font-weight:700}.tabs-section{display:flex;border-bottom:1px solid var(--cs-border-light);padding:0 8px}.tab-item{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:12px 0;cursor:pointer;font-size:13px;font-weight:500;color:var(--cs-text-secondary);transition:all .2s ease;border-bottom:2px solid transparent;position:relative}.tab-item:hover{color:var(--cs-primary);background:var(--cs-primary-light);border-radius:var(--cs-radius-sm) var(--cs-radius-sm) 0 0}.tab-item.active{color:var(--cs-primary);border-bottom-color:var(--cs-primary);font-weight:600}.tab-item .ant-badge{margin-left:4px}.filter-section{padding:12px 16px;border-bottom:1px solid var(--cs-border-light)}.filter-section .ant-select,.filter-section .ant-input-affix-wrapper{border-radius:var(--cs-radius-sm);border-color:var(--cs-border)}.filter-section .ant-select:hover,.filter-section .ant-input-affix-wrapper:hover{border-color:var(--cs-primary)}.pagination-container{padding:8px 16px;border-top:1px solid var(--cs-border-light);display:flex;justify-content:center}.session-card{margin-bottom:6px;cursor:pointer;transition:all .2s ease;border:1px solid var(--cs-border-light);border-radius:var(--cs-radius)!important;background:var(--cs-surface)}.session-card:hover{border-color:var(--cs-primary);box-shadow:0 2px 8px #4f6ef71f;transform:translateY(-1px)}.session-card.selected{border-color:var(--cs-primary);background:var(--cs-primary-light);box-shadow:0 2px 12px #4f6ef726}.session-card-left .ant-avatar{border:2px solid var(--cs-border-light);flex-shrink:0}.session-card-name{font-weight:600;font-size:13px;color:var(--cs-text);display:flex;align-items:center;gap:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-card-meta{font-size:12px;color:var(--cs-text-muted);margin-top:4px;display:flex;gap:12px}.detail-panel{flex:1;background:var(--cs-surface);display:flex;flex-direction:column;height:100%;overflow:hidden;position:relative}.detail-header{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-bottom:1px solid var(--cs-border-light);background:var(--cs-surface);box-shadow:var(--cs-shadow-sm);z-index:2}.detail-header .session-info{display:flex;align-items:center;gap:12px}.detail-header .session-info .ant-avatar{border:2px solid var(--cs-primary-light)}.detail-header .session-details{overflow:hidden}.detail-header .session-name{font-weight:600;font-size:15px;color:var(--cs-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.detail-header .session-time{font-size:12px;color:var(--cs-text-muted);display:flex;align-items:center;gap:4px;margin-top:2px}.detail-header .ant-space-item .ant-btn{border-radius:var(--cs-radius-sm);font-weight:500}.messages-container{flex:1;height:100%;overflow-y:auto;padding:16px 20px;scroll-behavior:smooth;background:var(--cs-bg)}.message-item{margin-bottom:16px;padding:0;display:flex;align-items:flex-start;gap:10px}.message-avatar{width:36px;height:36px;border-radius:50%;flex-shrink:0;border:2px solid var(--cs-border-light)}.message-bubble{max-width:65%;border-radius:var(--cs-radius-lg);position:relative}.message-item.user .message-bubble{background:var(--cs-surface);border:1px solid var(--cs-border-light);border-top-left-radius:4px;box-shadow:var(--cs-shadow-sm)}.message-item.user .message-header{color:var(--cs-text-muted)}.message-item.user .message-content{color:var(--cs-text)}.message-item.system .message-content{text-align:center}.text-message{line-height:1.6}.image-message .chat-image-thumbnail{max-width:240px;max-height:240px;border-radius:var(--cs-radius-sm);cursor:pointer;display:block;transition:opacity .2s ease}.file-message{padding:10px 14px;display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.1);border-radius:var(--cs-radius-sm)}.message-item.user .file-message{background:var(--cs-bg)}.system-message{padding:6px 16px;background:rgba(0,0,0,.04);border-radius:20px;font-size:12px;color:var(--cs-text-muted);text-align:center;display:inline-block}.message-item.system{padding:8px 0}.chat-input-area{padding:12px 20px 16px;border-top:1px solid var(--cs-border-light);background:var(--cs-surface)}.scroll-buttons .ant-btn{box-shadow:var(--cs-shadow-md);border-radius:50%!important;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:none;background:var(--cs-surface);color:var(--cs-text-secondary);transition:all .2s ease}.scroll-buttons .ant-btn:hover{background:var(--cs-primary);color:#fff;transform:scale(1.05)}.empty-detail{flex:1;display:flex;align-items:center;justify-content:center;background:var(--cs-bg)}.empty-detail .ant-empty-description{color:var(--cs-text-muted)}.message-item{animation:messageSlideIn .2s ease-out}@media (max-width: 768px){.session-list-panel{width:100%;min-width:100%}.detail-panel{display:none}}.offline-message-detail{display:flex;flex-direction:column;height:100%}.offline-message-body{flex:1;overflow-y:auto;padding:16px 20px;background:var(--cs-bg)}.offline-message-body::-webkit-scrollbar{width:4px}.offline-message-body::-webkit-scrollbar-track{background:transparent}.offline-message-body::-webkit-scrollbar-thumb{background:#D1D5DB;border-radius:2px}.offline-msg-card{border-radius:var(--cs-radius)!important;border:1px solid var(--cs-border-light)}.offline-msg-card .ant-card-head{font-size:13px;font-weight:600;color:var(--cs-text);border-bottom-color:var(--cs-border-light);padding:0 14px;min-height:36px}.offline-msg-card .ant-card-head-title{padding:8px 0}.offline-msg-card .ant-card-body{padding:12px 14px}.offline-msg-field{margin-bottom:8px;display:flex;align-items:flex-start;gap:4px}.offline-msg-field:last-child{margin-bottom:0}.offline-msg-field .field-label{font-size:12px;color:var(--cs-text-muted);white-space:nowrap;flex-shrink:0;min-width:56px}.offline-msg-field .field-value{font-size:13px;color:var(--cs-text);line-height:1.6;word-break:break-word}.offline-msg-card textarea.ant-input{border-radius:var(--cs-radius-sm);border-color:var(--cs-border)}.offline-msg-card textarea.ant-input:focus{border-color:var(--cs-primary);box-shadow:0 0 0 2px #4f6ef71a}.supervisor-workbench{height:100vh;overflow:hidden;background:var(--cs-bg, #F0F2F5);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.supervisor-workbench .workbench-layout{display:flex;flex-direction:row!important;height:100%;overflow:hidden;background:var(--cs-bg, #F0F2F5)}.supervisor-workbench .ant-layout{flex-direction:row!important;background:var(--cs-bg, #F0F2F5)!important}.session-list-panel{width:400px;min-width:340px;flex-shrink:0;background:var(--cs-surface, #FFFFFF);border-right:1px solid var(--cs-border, #E5E7EB);display:flex;flex-direction:column;height:100%;overflow:hidden}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:0;border-bottom:1px solid var(--cs-border-light, #F3F4F6)}.panel-header h3{margin:0;font-size:16px;font-weight:600}.panel-header .cs-info{display:flex;align-items:center;gap:12px;padding:16px 20px;width:100%}.panel-header .cs-info .ant-avatar{border:2px solid var(--cs-primary-light, #EEF1FE);box-shadow:0 2px 8px #4f6ef726}.panel-header .cs-details{flex:1;min-width:0}.panel-header .cs-name{font-weight:600;font-size:15px;color:var(--cs-text, #1F2937)}.panel-header .cs-status{margin-top:2px}.panel-header .cs-info .ant-btn{color:var(--cs-text-muted, #9CA3AF);border-radius:var(--cs-radius-sm, 6px)}.panel-header .cs-info .ant-btn:hover{color:var(--cs-primary, #4F6EF7);background:var(--cs-primary-light, #EEF1FE)}.session-stats-row{padding:14px 20px;background:linear-gradient(180deg,var(--cs-primary-light, #EEF1FE) 0%,var(--cs-surface, #FFFFFF) 100%);border-bottom:1px solid var(--cs-border-light, #F3F4F6)}.session-stats-row .ant-statistic{text-align:center}.session-stats-row .ant-statistic-title{font-size:11px;color:var(--cs-text-muted, #9CA3AF);text-transform:uppercase;letter-spacing:.5px;font-weight:500}.session-stats-row .ant-statistic-content{font-size:18px;font-weight:700}.session-stats-row .ant-statistic-content-value{font-family:DIN Alternate,Roboto Mono,monospace}.tabs-section{display:flex;border-bottom:1px solid var(--cs-border-light, #F3F4F6);background:var(--cs-surface, #FFFFFF);padding:0 8px}.tab-item{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:12px 0;cursor:pointer;color:var(--cs-text-secondary, #6B7280);font-size:13px;font-weight:500;transition:all .2s ease;border-bottom:2px solid transparent}.tab-item:hover{color:var(--cs-primary, #4F6EF7);background:var(--cs-primary-light, #EEF1FE);border-radius:var(--cs-radius-sm, 6px) var(--cs-radius-sm, 6px) 0 0}.tab-item.active{color:var(--cs-primary, #4F6EF7);border-bottom-color:var(--cs-primary, #4F6EF7);font-weight:600}.sider-footer{display:flex;justify-content:space-between;align-items:center;padding:10px 20px;border-top:1px solid var(--cs-border-light, #F3F4F6);background:var(--cs-surface, #FFFFFF)}.sider-footer .ant-btn{border-radius:var(--cs-radius-sm, 6px);font-weight:500}.filter-section{padding:12px 16px;display:flex;gap:8px;border-bottom:1px solid var(--cs-border-light, #F3F4F6);background:var(--cs-surface, #FFFFFF)}.filter-section>*{flex:1}.filter-section .ant-select,.filter-section .ant-input-affix-wrapper{border-radius:var(--cs-radius-sm, 6px);border-color:var(--cs-border, #E5E7EB)}.filter-section .ant-select:hover,.filter-section .ant-input-affix-wrapper:hover{border-color:var(--cs-primary, #4F6EF7)}.sessions-container{flex:1;display:flex;flex-direction:column;overflow:hidden}.sessions-list{flex:1;overflow-y:auto;padding:8px 12px;scroll-behavior:smooth}.sessions-list::-webkit-scrollbar{width:4px}.sessions-list::-webkit-scrollbar-track{background:transparent}.sessions-list::-webkit-scrollbar-thumb{background:#D1D5DB;border-radius:2px}.sessions-list::-webkit-scrollbar-thumb:hover{background:#9CA3AF}.pagination-container{padding:8px 16px;border-top:1px solid var(--cs-border-light, #F3F4F6);display:flex;justify-content:center}.session-card{margin-bottom:6px;cursor:pointer;transition:all .2s ease;border:1px solid var(--cs-border-light, #F3F4F6);border-radius:var(--cs-radius, 10px)!important;background:var(--cs-surface, #FFFFFF)}.session-card:hover{border-color:var(--cs-primary, #4F6EF7);box-shadow:0 2px 8px #4f6ef71f;transform:translateY(-1px)}.session-card.selected{border-color:var(--cs-primary, #4F6EF7);background:var(--cs-primary-light, #EEF1FE);box-shadow:0 2px 12px #4f6ef726}.session-card .ant-card-body{padding:12px 14px}.session-card-content{display:flex;justify-content:space-between;align-items:center}.session-card-left{display:flex;align-items:center;gap:12px;overflow:hidden}.session-card-left .ant-avatar{border:2px solid var(--cs-border-light, #F3F4F6);flex-shrink:0}.session-card.selected .session-card-left .ant-avatar{border-color:#4f6ef74d}.session-card-info{overflow:hidden}.session-card-name{font-weight:600;display:flex;align-items:center;gap:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--cs-text, #1F2937);font-size:13px}.session-card-name .ant-tag{margin:0;font-size:11px;line-height:18px;padding:0 6px;border-radius:4px}.session-card-meta{font-size:12px;color:var(--cs-text-muted, #9CA3AF);margin-top:4px;display:flex;gap:12px}.session-card-meta span{display:flex;align-items:center;gap:4px}.session-card-right{flex-shrink:0}.detail-panel{flex:1;background:var(--cs-surface, #FFFFFF);display:flex;flex-direction:column;height:100%;position:relative}.detail-header{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-bottom:1px solid var(--cs-border-light, #F3F4F6);background:var(--cs-surface, #FFFFFF);box-shadow:var(--cs-shadow-sm, 0 1px 2px rgba(0, 0, 0, .04));z-index:2}.detail-title{display:flex;align-items:center;gap:10px;font-weight:600;font-size:15px;color:var(--cs-text, #1F2937)}.detail-header .session-info{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.detail-header .session-info .ant-avatar{border:2px solid var(--cs-primary-light, #EEF1FE)}.detail-header .session-details{overflow:hidden;flex:1;min-width:0}.detail-header .session-name{font-weight:600;font-size:15px;color:var(--cs-text, #1F2937);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.detail-header .session-time{font-size:12px;color:var(--cs-text-muted, #9CA3AF);display:flex;align-items:center;gap:4px;margin-top:2px}.detail-header .ant-space-item .ant-btn{border-radius:var(--cs-radius-sm, 6px);font-weight:500}.detail-panel .session-info-card{margin:12px 20px;background:var(--cs-bg, #F0F2F5);border:1px solid var(--cs-border-light, #F3F4F6);border-radius:var(--cs-radius, 10px)}.detail-panel .info-item{display:flex;align-items:center;font-size:13px}.detail-panel .info-label{color:var(--cs-text-muted, #9CA3AF);flex-shrink:0}.detail-panel .info-value{color:var(--cs-text, #1F2937);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.messages-container{flex:1;height:100%;overflow-y:auto;padding:16px 20px;scroll-behavior:smooth;background:var(--cs-bg, #F0F2F5);min-height:0}.messages-container::-webkit-scrollbar{width:4px}.messages-container::-webkit-scrollbar-track{background:transparent}.messages-container::-webkit-scrollbar-thumb{background:#D1D5DB;border-radius:2px}.messages-container::-webkit-scrollbar-thumb:hover{background:#9CA3AF}.message-item{margin-bottom:16px;padding:0;display:flex;align-items:flex-start;gap:10px;animation:messageSlideIn .2s ease-out}.message-item.user{justify-content:flex-start}.message-item.customer_service{justify-content:flex-end}.message-item.system{justify-content:center;padding:8px 0}.message-avatar{width:36px;height:36px;border-radius:50%;flex-shrink:0;border:2px solid var(--cs-border-light, #F3F4F6)}.message-bubble{max-width:65%;border-radius:var(--cs-radius-lg, 14px);position:relative}.message-item.user .message-bubble{background:var(--cs-surface, #FFFFFF);border:1px solid var(--cs-border-light, #F3F4F6);border-top-left-radius:4px;box-shadow:var(--cs-shadow-sm, 0 1px 2px rgba(0, 0, 0, .04))}.message-item.customer_service .message-bubble{background:linear-gradient(135deg,#4F6EF7 0%,#5B7BF8 100%);border-top-right-radius:4px;box-shadow:0 2px 8px #4f6ef733}.message-header{display:flex;align-items:center;gap:8px;padding:8px 14px 2px;font-size:11px}.message-item.user .message-header{color:var(--cs-text-muted, #9CA3AF)}.message-item.customer_service .message-header{color:#ffffffb3}.sender-name{font-weight:500;font-size:11px}.message-time{font-size:10px;opacity:.8}.message-item .message-content{font-size:14px;line-height:1.6;white-space:pre-wrap;padding:4px 14px 12px;max-width:100%;word-break:break-word}.message-item.user .message-content{color:var(--cs-text, #1F2937)}.message-item.customer_service .message-content{color:#fff}.image-message{padding:4px;position:relative;display:inline-block}.file-message{padding:10px 14px;display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.1);border-radius:var(--cs-radius-sm, 6px)}.message-item.user .file-message{background:var(--cs-bg, #F0F2F5)}.system-message{padding:6px 16px;background:rgba(0,0,0,.04);border-radius:20px;font-size:12px;color:var(--cs-text-muted, #9CA3AF);text-align:center;display:inline-block}.scroll-buttons{position:absolute;right:16px;bottom:16px;display:flex;flex-direction:column;gap:8px;z-index:5}.scroll-buttons .ant-btn{box-shadow:var(--cs-shadow-md, 0 4px 16px rgba(0, 0, 0, .08));border-radius:50%!important;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:none;background:var(--cs-surface, #FFFFFF);color:var(--cs-text-secondary, #6B7280);transition:all .2s ease}.scroll-buttons .ant-btn:hover{background:var(--cs-primary, #4F6EF7);color:#fff;transform:scale(1.05)}.empty-detail{flex:1;display:flex;align-items:center;justify-content:center;background:var(--cs-bg, #F0F2F5)}.empty-messages{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:8px}.detail-error-bar{display:flex;align-items:center;padding:10px 20px;background:var(--cs-warning-light, #FFFBE6);border-bottom:1px solid #FFE58F;font-size:13px;color:#d48806;gap:8px}.detail-error-bar .ant-btn{margin-left:auto;border-radius:var(--cs-radius-sm, 6px)}.loading-center{display:flex;align-items:center;justify-content:center;height:200px}.supervisor-chat-input-container{border-top:1px solid var(--cs-border-light, #F3F4F6);background:var(--cs-surface, #FFFFFF);padding:0}.supervisor-chat-input-container .chat-input{padding:8px 12px}@media (max-width: 768px){.session-list-panel{width:100%;min-width:100%}.detail-panel{display:none}.detail-panel.mobile-show{display:flex;position:fixed;top:0;left:0;right:0;bottom:0;z-index:100;background:var(--cs-surface, #FFFFFF)}}.image-preview-modal .ant-modal-content{background:rgba(0,0,0,.92);border-radius:12px;overflow:hidden}.image-preview-container{display:flex;flex-direction:column}.image-preview-toolbar{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;background:rgba(0,0,0,.6);border-bottom:1px solid rgba(255,255,255,.1)}.image-preview-toolbar .ant-btn{background:rgba(255,255,255,.12);border-color:#fff3;color:#fff;border-radius:6px}.image-preview-toolbar .ant-btn:hover{background:rgba(255,255,255,.22);border-color:#fff6;color:#fff}.image-preview-toolbar .zoom-text{color:#ffffffbf;font-size:12px;min-width:42px;text-align:center}.image-preview-toolbar .ant-slider{margin:0}.image-preview-toolbar .ant-slider-track{background:#4F6EF7}.image-preview-toolbar .ant-slider-handle{border-color:#4f6ef7}.image-preview-body{overflow:auto;padding:20px;min-height:400px;max-height:80vh;cursor:grab}.image-preview-body:active{cursor:grabbing}.image-preview-body img{display:block;margin:0 auto;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;border-radius:4px;box-shadow:0 4px 20px #0000004d}.message-list{flex:1;overflow-y:auto;padding:16px 20px;background-color:var(--cs-bg, #F0F2F5)}.message-list::-webkit-scrollbar{width:4px}.message-list::-webkit-scrollbar-track{background:transparent}.message-list::-webkit-scrollbar-thumb{background:#D1D5DB;border-radius:2px}.empty-messages{display:flex;justify-content:center;align-items:center;height:100%;color:var(--cs-text-muted, #9CA3AF)}.message-item{display:flex;margin-bottom:16px;animation:messageSlideIn .2s ease-out}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.message-item.self{flex-direction:row-reverse}.message-item.other{flex-direction:row}.message-item.system{justify-content:center}.message-avatar{flex-shrink:0;width:36px;height:36px;border-radius:50%;border:2px solid var(--cs-border-light, #F3F4F6)}.message-item.self .message-avatar{margin-left:10px}.message-item.other .message-avatar{margin-right:10px}.message-content{display:flex;flex-direction:column;max-width:65%}.message-sender{font-size:11px;color:var(--cs-text-muted, #9CA3AF);margin-bottom:4px;font-weight:500}.message-item.self .message-sender{text-align:right;color:#ffffffb3}.message-item.other .message-sender{text-align:left}.message-bubble{padding:10px 14px;border-radius:var(--cs-radius-lg, 14px);word-wrap:break-word;position:relative}.message-item.self .message-bubble{background:linear-gradient(135deg,#4F6EF7 0%,#5B7BF8 100%);color:#fff;border-top-right-radius:4px;box-shadow:0 2px 8px #4f6ef733}.message-item.other .message-bubble{background-color:var(--cs-surface, #FFFFFF);color:var(--cs-text, #1F2937);border:1px solid var(--cs-border-light, #F3F4F6);border-top-left-radius:4px;box-shadow:0 1px 2px #0000000a}.message-item.system .message-bubble{background-color:#0000000a;color:var(--cs-text-muted, #9CA3AF);font-size:12px;padding:6px 16px;border-radius:20px}.text-message{white-space:pre-wrap;line-height:1.6;font-size:14px}.image-message{display:flex;justify-content:center;position:relative;display:inline-block}.image-message .chat-image-thumbnail{max-width:240px;max-height:240px;border-radius:var(--cs-radius-sm, 6px);cursor:pointer;display:block;transition:opacity .2s ease}.image-message .chat-image-thumbnail:hover{opacity:.85}.image-message .image-preview-hint{position:absolute;bottom:8px;right:8px;background:rgba(0,0,0,.55);color:#fff;font-size:11px;padding:2px 8px;border-radius:4px;opacity:0;transition:opacity .2s ease;pointer-events:none}.image-message:hover .image-preview-hint{opacity:1}.file-message{display:flex;align-items:center;gap:8px}.message-item.other .file-message{background:var(--cs-bg, #F0F2F5);padding:8px 12px;border-radius:var(--cs-radius-sm, 6px)}.file-message a{color:inherit;text-decoration:none;font-weight:500}.file-message a:hover{text-decoration:underline}.system-message{text-align:center}.message-time{font-size:10px;color:var(--cs-text-muted, #9CA3AF);margin-top:4px;display:flex;align-items:center;gap:4px;opacity:.8}.message-item.self .message-time{justify-content:flex-end;color:#fff9}.message-item.other .message-time{justify-content:flex-start}.read-status{font-size:10px;color:var(--cs-text-muted, #9CA3AF)}.faq-list{padding:16px;height:100%;overflow-y:auto}.faq-list::-webkit-scrollbar{width:4px}.faq-list::-webkit-scrollbar-track{background:transparent}.faq-list::-webkit-scrollbar-thumb{background:#D1D5DB;border-radius:2px}.faq-list-loading{display:flex;justify-content:center;align-items:center;height:100%;color:var(--cs-text-muted, #9CA3AF)}.faq-search{margin-bottom:16px}.faq-search .ant-input-affix-wrapper{border-radius:var(--cs-radius-sm, 6px);border-color:var(--cs-border, #E5E7EB)}.faq-search .ant-input-affix-wrapper:hover{border-color:var(--cs-primary, #4F6EF7)}.faq-collapse{background-color:transparent}.faq-collapse .ant-collapse-item{border:1px solid var(--cs-border-light, #F3F4F6);border-radius:var(--cs-radius, 10px)!important;margin-bottom:8px;overflow:hidden;transition:all .2s ease}.faq-collapse .ant-collapse-item:hover{border-color:#4f6ef733;box-shadow:0 2px 8px #4f6ef714}.faq-collapse .ant-collapse-header{padding:12px 16px;font-weight:600;color:var(--cs-text, #1F2937)}.faq-panel-header{display:flex;justify-content:space-between;align-items:center;width:100%;padding-right:8px}.faq-question{flex:1;margin-right:8px}.faq-category{flex-shrink:0}.faq-answer{padding:12px 16px;line-height:1.6;color:var(--cs-text-secondary, #6B7280);white-space:pre-wrap;font-size:14px}.faq-meta{padding:8px 16px 12px;font-size:12px;color:var(--cs-text-muted, #9CA3AF);border-top:1px solid var(--cs-border-light, #F3F4F6)}@media (max-width: 768px){.faq-panel-header{flex-direction:column;align-items:flex-start}.faq-question{margin-right:0;margin-bottom:8px}.faq-category{align-self:flex-start}}.offline-message-form{width:100%;max-width:400px;padding:24px}.offline-message-form h3{margin-bottom:8px;font-size:18px;font-weight:600;color:var(--cs-text, #1F2937)}.form-description{margin-bottom:24px;font-size:14px;color:var(--cs-text-secondary, #6B7280);line-height:1.6}.offline-message-form .ant-form-item{margin-bottom:16px}.offline-message-form .ant-form-item-label>label{font-weight:500;color:var(--cs-text, #1F2937)}.offline-message-form .ant-input,.offline-message-form .ant-input-affix-wrapper{border-radius:var(--cs-radius-sm, 6px);border-color:var(--cs-border, #E5E7EB)}.offline-message-form .ant-input:hover,.offline-message-form .ant-input-affix-wrapper:hover{border-color:var(--cs-primary, #4F6EF7)}.offline-message-form .ant-input:focus,.offline-message-form .ant-input-affix-wrapper-focused{border-color:var(--cs-primary, #4F6EF7);box-shadow:0 0 0 2px #4f6ef71a}.offline-message-form .ant-btn-primary{background:linear-gradient(135deg,#4F6EF7 0%,#3B5BDB 100%);border:none;border-radius:var(--cs-radius-sm, 6px);font-weight:600;box-shadow:0 2px 6px #4f6ef74d}.offline-message-form .ant-btn-primary:hover{background:linear-gradient(135deg,#5B7BF8 0%,#4F6EF7 100%);box-shadow:0 4px 10px #4f6ef766}@media (max-width: 768px){.offline-message-form{padding:16px}.offline-message-form h3{font-size:16px}.form-description{font-size:13px}}.offline-message-list{padding:8px 12px;height:100%;overflow-y:auto}.offline-message-list::-webkit-scrollbar{width:4px}.offline-message-list::-webkit-scrollbar-track{background:transparent}.offline-message-list::-webkit-scrollbar-thumb{background:#D1D5DB;border-radius:2px}.offline-msg-loading,.offline-msg-empty{display:flex;justify-content:center;align-items:center;height:200px}.offline-msg-item{margin-bottom:4px;border-radius:8px;overflow:hidden;border:1px solid #F3F4F6;transition:all .2s ease}.offline-msg-item:hover{border-color:#4f6ef7;box-shadow:0 2px 8px #4f6ef714}.offline-msg-summary{cursor:pointer;padding:10px 12px!important;background:#FFFFFF}.offline-msg-summary.expanded{background:#F0F4FF;border-bottom:none}.offline-msg-summary .ant-list-item-meta-avatar{margin-right:10px}.offline-msg-summary .ant-list-item-meta-title{margin-bottom:2px}.offline-msg-title{display:flex;align-items:center;gap:8px;font-size:13px}.offline-msg-title .msg-subject{font-weight:600;color:#1f2937;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}.offline-msg-title .ant-tag{margin:0;font-size:11px;line-height:18px;padding:0 6px;border-radius:4px}.offline-msg-desc{font-size:12px;color:#9ca3af;display:flex;gap:12px}.offline-msg-desc span{display:flex;align-items:center;gap:4px}.offline-msg-detail{padding:12px;background:#FAFBFC;border-top:1px solid #F3F4F6}.msg-detail-card{border-radius:8px!important;border:1px solid #E5E7EB}.msg-detail-card .ant-card-head{font-size:12px;font-weight:600;color:#1f2937;border-bottom-color:#f3f4f6;padding:0 12px;min-height:32px}.msg-detail-card .ant-card-head-title{padding:6px 0}.msg-detail-card .ant-card-body{padding:10px 12px}.msg-detail-field{margin-bottom:6px;display:flex;align-items:flex-start;gap:4px}.msg-detail-field:last-child{margin-bottom:0}.msg-detail-field .field-label{font-size:12px;color:#9ca3af;white-space:nowrap;flex-shrink:0;min-width:60px}.msg-detail-field .field-value{font-size:13px;color:#1f2937;line-height:1.6;word-break:break-word}.msg-reply-card{margin-top:10px;border-color:#d1e7dd;background:#F0FFF4}.msg-reply-card .ant-card-head{color:#52c41a;border-bottom-color:#e8f5e9}.msg-reply-pending{margin-top:10px;padding:10px 14px;border-radius:8px;background:#FFFBE6;font-size:13px;color:#6b7280;display:flex;align-items:center}.load-more{text-align:center;padding:12px 0}.session-history{height:100%;overflow-y:auto;padding:12px}.session-history::-webkit-scrollbar{width:4px}.session-history::-webkit-scrollbar-track{background:transparent}.session-history::-webkit-scrollbar-thumb{background:#D1D5DB;border-radius:2px}.session-history-loading,.session-history-empty{display:flex;align-items:center;justify-content:center;height:200px;color:var(--cs-text-muted, #9CA3AF)}.session-item{cursor:pointer;padding:12px!important;border-radius:var(--cs-radius, 10px);margin-bottom:8px;background-color:var(--cs-surface, #FFFFFF);border:1px solid var(--cs-border-light, #F3F4F6);transition:all .2s ease}.session-item:hover{background-color:var(--cs-primary-light, #EEF1FE);border-color:#4f6ef726}.session-title{display:flex;align-items:center;gap:8px}.session-title span:first-child{font-weight:600;color:var(--cs-text, #1F2937)}.session-desc{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--cs-text-muted, #9CA3AF)}.session-desc .cs-name{color:var(--cs-primary, #4F6EF7);font-weight:500}.load-more{text-align:center;padding:16px}.chat-window-drawer{z-index:10000}.chat-window-drawer .ant-drawer-content-wrapper{border-radius:0!important}.chat-window-drawer .ant-drawer-header{background:linear-gradient(135deg,#4F6EF7 0%,#3B5DBB 100%);border-bottom:none;padding:12px 16px!important}.chat-window-drawer .ant-drawer-header .ant-drawer-title{color:#fff}.chat-window-drawer .ant-drawer-header .ant-drawer-close{color:#fffc}.chat-window-drawer .ant-drawer-header .ant-drawer-close:hover{color:#fff;background:rgba(255,255,255,.1)}.chat-window-drawer .ant-drawer-body{padding:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}.chat-window-header{display:flex;justify-content:space-between;align-items:center;width:100%}.chat-window-title{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:#fff}.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.status-dot.online{background-color:#52c41a;box-shadow:0 0 0 2px #52c41a4d}.status-dot.offline{background-color:#ff4d4f;box-shadow:0 0 0 2px #ff4d4f4d}.close-button{color:#fffc}.close-button:hover{color:#fff}.chat-window-tabs-wrapper{flex-shrink:0;position:relative;z-index:10;background:#fff}.chat-window-tabs{border-bottom:1px solid var(--cs-border-light, #F3F4F6);padding:0 16px}.chat-window-tabs .ant-tabs-nav{margin-bottom:0!important;height:auto!important;overflow:visible!important}.chat-window-tabs .ant-tabs-nav:before{border-bottom:none!important}.chat-window-tabs .ant-tabs-tab{padding:10px 16px!important;cursor:pointer!important;position:relative!important;z-index:10!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important}.chat-window-tabs .ant-tabs-tabpane{display:none}.chat-window-content{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;position:relative}.chat-window-loading{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;color:var(--cs-text-muted, #9CA3AF)}.chat-window-loading p{margin-top:16px}.chat-window-offline{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;padding:24px}.chat-window-footer{padding:8px 16px;border-top:1px solid var(--cs-border-light, #F3F4F6);text-align:center;flex-shrink:0}.history-detail{display:flex;flex-direction:column;height:100%}.history-detail-header{display:flex;align-items:center;padding:12px 16px;border-bottom:1px solid var(--cs-border-light, #F3F4F6);background-color:var(--cs-bg, #F0F2F5);flex-shrink:0}.history-detail-header span{font-weight:600;margin-left:8px;color:var(--cs-text, #1F2937)}.chat-widget{position:fixed;bottom:80px;right:30px;z-index:9999}.chat-widget-button{width:56px!important;height:56px!important;font-size:24px!important;box-shadow:0 4px 16px #4f6ef74d!important;border-radius:50%!important;transition:all .3s ease;background:linear-gradient(135deg,#4F6EF7 0%,#3B5BDB 100%)!important;border:none!important}.chat-widget-button:hover{transform:scale(1.1);box-shadow:0 6px 20px #4f6ef766!important}.chat-widget-button:active{transform:scale(.95)}@media (max-width: 768px){.chat-widget{bottom:60px;right:20px}.chat-widget-button{width:48px!important;height:48px!important;font-size:20px!important}}*{margin:0;padding:0;box-sizing:border-box}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;background-color:#f5f5f5}#root{min-height:100vh}.container{max-width:1200px;margin:0 auto;padding:0 16px}@media (max-width: 768px){.container{padding:0 8px}}:root{--primary-color: #1890ff;--success-color: #52c41a;--warning-color: #faad14;--error-color: #f5222d;--text-color: #333;--text-color-secondary: #666;--border-color: #d9d9d9;--background-color: #f5f5f5}.login-container{min-height:100vh;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);display:flex;align-items:center;justify-content:center;padding:20px}.login-form{background:white;padding:40px;border-radius:8px;box-shadow:0 4px 20px #0000001a;width:100%;max-width:400px}.login-title{text-align:center;margin-bottom:30px;color:#333;font-size:24px;font-weight:600}.main-layout{min-height:100vh}.header{background:white;box-shadow:0 2px 8px #0000001a;position:sticky;top:0;z-index:100}.content{padding:24px;background:#f5f5f5;min-height:calc(100vh - 64px)}.assessment-card{background:white;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:16px;transition:all .3s ease}.assessment-card:hover{box-shadow:0 4px 16px #00000026;transform:translateY(-2px)}.stats-card{text-align:center;padding:20px}.stats-value{font-size:32px;font-weight:700;color:var(--primary-color);margin:8px 0}.stats-label{color:var(--text-color-secondary);font-size:14px}.assessment-type-tag{border-radius:12px;font-size:12px;padding:2px 8px}.assessment-type-face{background:#e6f7ff;color:#1890ff;border:1px solid #91d5ff}.assessment-type-voice{background:#f6ffed;color:#52c41a;border:1px solid #b7eb8f}.assessment-type-love{background:#fff7e6;color:#fa8c16;border:1px solid #ffd591}@media (max-width: 768px){.ant-table-thead>tr>th,.ant-table-tbody>tr>td{padding:8px 4px;font-size:12px}.ant-card-body{padding:12px}}.loading-spinner{display:flex;align-items:center;justify-content:center;height:200px}.error-page{text-align:center;padding:100px 20px}.error-icon{font-size:64px;color:var(--error-color);margin-bottom:16px}.error-title{font-size:24px;color:var(--text-color);margin-bottom:8px}.error-description{color:var(--text-color-secondary);margin-bottom:24px}:root{--color-primary: #52c41a;--color-primary-light: #73d13d;--color-primary-dark: #389e0d;--color-primary-bg: #f6ffed;--color-primary-border: #b7eb8f;--color-success: #52c41a;--color-warning: #faad14;--color-error: #ff4d4f;--color-info: #1890ff;--sidebar-bg: #1a5c1a;--sidebar-text: rgba(255,255,255,.85);--sidebar-active-text: #fff;--sidebar-hover-bg: #2d7a2d;--text-primary: rgba(0,0,0,.85);--text-secondary: rgba(0,0,0,.45);--text-disabled: rgba(0,0,0,.25);--border-color: #f0f0f0;--bg-color: #f0f2f5;--card-bg: #fff;--shadow-sm: 0 1px 2px 0 rgba(0,0,0,.03);--shadow-md: 0 4px 12px rgba(0,0,0,.08);--shadow-lg: 0 8px 24px rgba(0,0,0,.12);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--transition-fast: .15s ease;--transition-normal: .3s ease}*{box-sizing:border-box}.admin-page{display:flex;flex-direction:column;gap:16px;min-height:calc(100vh - 112px)}.page-header{display:flex;justify-content:space-between;align-items:center;padding:0 4px;margin-bottom:4px}.page-header-left{display:flex;flex-direction:column;gap:4px}.page-title{font-size:20px!important;font-weight:600!important;color:var(--text-primary)!important;line-height:28px!important;margin:0!important}.page-subtitle{font-size:14px!important;color:var(--text-secondary)!important;line-height:22px!important;margin:0!important}.page-header-right{display:flex;align-items:center;gap:12px}.search-card{border-radius:var(--radius-md)!important;box-shadow:var(--shadow-sm)!important;border:1px solid var(--border-color)!important;background:var(--card-bg)!important;transition:all var(--transition-normal)!important}.search-card:hover{box-shadow:var(--shadow-md)!important}.search-card .ant-form-item{margin-bottom:16px}.search-card .ant-form-item:last-child{margin-bottom:0}.search-card .ant-form-item-label>label{color:var(--text-primary);font-weight:500}.search-actions{display:flex;gap:8px;justify-content:flex-end}.table-card{border-radius:var(--radius-md)!important;box-shadow:var(--shadow-sm)!important;border:1px solid var(--border-color)!important;background:var(--card-bg)!important;transition:all var(--transition-normal)!important}.table-card:hover{box-shadow:var(--shadow-md)!important}.table-card .ant-table-wrapper{border-radius:var(--radius-md);overflow:hidden}.table-card .ant-table-thead>tr>th{background:#fafafa!important;font-weight:600!important;color:var(--text-primary)!important;border-bottom:1px solid var(--border-color)!important;transition:all var(--transition-fast)}.table-card .ant-table-thead>tr>th:hover{background:#e6f7ff!important}.table-card .ant-table-tbody>tr>td{border-bottom:1px solid #fafafa!important;transition:all var(--transition-fast)}.table-card .ant-table-tbody>tr:hover>td{background:#e6f7ff!important}.table-card .ant-table-tbody>tr:last-child>td{border-bottom:none!important}.table-action-btn{padding:4px 8px!important;border-radius:var(--radius-sm)!important;transition:all var(--transition-fast)!important}.table-action-btn:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.statistic-card{border-radius:var(--radius-md)!important;box-shadow:var(--shadow-sm)!important;border:1px solid var(--border-color)!important;background:linear-gradient(135deg,#fff 0%,#fafafa 100%)!important;transition:all var(--transition-normal)!important;cursor:default;position:relative;overflow:hidden}.statistic-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--color-primary);opacity:0;transition:opacity var(--transition-normal)}.statistic-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)!important}.statistic-card:hover:before{opacity:1}.statistic-card .ant-statistic-title{font-size:14px!important;color:var(--text-secondary)!important;font-weight:500!important;margin-bottom:8px!important}.statistic-card .ant-statistic-content{font-size:24px!important;font-weight:700!important}.statistic-icon{width:56px;height:56px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:28px;transition:all var(--transition-normal)}.statistic-icon.primary{background:var(--color-primary-bg);color:var(--color-primary)}.statistic-icon.success{background:#f6ffed;color:var(--color-success)}.statistic-icon.warning{background:#fffbe6;color:var(--color-warning)}.statistic-icon.error{background:#fff2f0;color:var(--color-error)}.statistic-icon.info{background:#e6f7ff;color:var(--color-info)}.chart-card{border-radius:var(--radius-md)!important;box-shadow:var(--shadow-sm)!important;border:1px solid var(--border-color)!important;background:var(--card-bg)!important}.chart-card .ant-card-head{border-bottom:1px solid var(--border-color)!important;padding:0 24px!important;min-height:56px!important}.chart-card .ant-card-head-title{font-size:16px!important;font-weight:600!important;color:var(--text-primary)!important}.chart-card .ant-card-body{padding:20px 24px!important}.form-card{border-radius:var(--radius-md)!important;box-shadow:var(--shadow-sm)!important;border:1px solid var(--border-color)!important}.form-section{margin-bottom:32px;padding:24px;background:#fafafa;border-radius:var(--radius-md);border:1px dashed var(--border-color)}.form-section-title{font-size:15px!important;font-weight:600!important;color:var(--text-primary)!important;margin-bottom:20px!important;padding-left:12px;border-left:3px solid var(--color-primary)}.form-card .ant-form-item-label>label{font-weight:500;color:var(--text-primary)}.form-card .ant-input,.form-card .ant-select-selector,.form-card .ant-picker{border-radius:var(--radius-sm)!important;transition:all var(--transition-fast)!important}.form-card .ant-input:focus,.form-card .ant-select-focused .ant-select-selector,.form-card .ant-picker-focused{border-color:var(--color-primary)!important;box-shadow:0 0 0 2px #52c41a1a!important}.tags-view-container{background:#fff;border-bottom:1px solid var(--border-color);padding:0 16px;height:40px;display:flex;align-items:center;gap:6px;overflow-x:auto;overflow-y:hidden;position:sticky;top:64px;z-index:98;scrollbar-width:none;-ms-overflow-style:none}.tags-view-container::-webkit-scrollbar{display:none}.tag-item{display:inline-flex;align-items:center;gap:6px;padding:0 12px;height:30px;line-height:28px;border:1px solid #d9d9d9;border-radius:var(--radius-sm);cursor:pointer;font-size:13px;white-space:nowrap;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;position:relative}.tag-item:hover:not(.active){color:var(--color-primary);border-color:var(--color-primary-light)}.tag-item.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.tag-item.active:before{content:"";position:absolute;bottom:-1px;left:50%;transform:translate(-50%);width:40%;height:2px;background:#fff;border-radius:1px}.tag-close{width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;transition:all var(--transition-fast);opacity:.65}.tag-close:hover{opacity:1;background:rgba(255,255,255,.3)}.tag-item.active .tag-close:hover{background:rgba(255,255,255,.3)}.tag-item:not(.active) .tag-close:hover{background:rgba(82,196,26,.1);color:var(--color-primary)}.status-tag{border-radius:4px!important;font-weight:500!important;padding:2px 8px!important;font-size:13px!important;display:inline-flex!important;align-items:center!important;gap:4px}.status-dot{width:6px;height:6px;border-radius:50%;display:inline-block}.status-dot.success{background:var(--color-success)}.status-dot.warning{background:var(--color-warning)}.status-dot.error{background:var(--color-error)}.status-dot.info{background:var(--color-info)}.status-dot.default{background:#d9d9d9}.action-group{display:flex;gap:8px;align-items:center}.action-btn{border-radius:var(--radius-sm)!important;font-weight:500!important;transition:all var(--transition-fast)!important;display:inline-flex!important;align-items:center!important;gap:6px}.action-btn:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0000001f}.action-btn.primary{background:var(--color-primary)!important;border-color:var(--color-primary)!important}.action-btn.primary:hover{background:var(--color-primary-dark)!important;border-color:var(--color-primary-dark)!important}.empty-state{text-align:center;padding:80px 20px}.empty-state-image{width:200px;height:150px;margin:0 auto 24px;opacity:.6}.empty-state-title{font-size:16px;color:var(--text-secondary);margin-bottom:16px}.skeleton-loading{padding:24px;background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.ant-message-notice-content{border-radius:var(--radius-md)!important;box-shadow:var(--shadow-md)!important;padding:10px 24px!important}.ant-notification-notice{border-radius:var(--radius-md)!important;box-shadow:var(--shadow-lg)!important}.ant-modal-content{border-radius:var(--radius-lg)!important;overflow:hidden;box-shadow:var(--shadow-lg)!important}.ant-modal-header{border-bottom:1px solid var(--border-color)!important;padding:16px 24px!important}.ant-modal-title{font-size:16px!important;font-weight:600!important;color:var(--text-primary)!important}.ant-modal-body{padding:24px!important}.ant-modal-footer{border-top:1px solid var(--border-color)!important;padding:12px 24px!important}.ant-drawer-content-wrapper{border-radius:0 var(--radius-lg) var(--radius-lg) 0!important}.ant-drawer-header{border-bottom:1px solid var(--border-color)!important;padding:16px 24px!important}.ant-drawer-body{padding:24px!important}.ant-pagination{margin-top:16px;text-align:right}.ant-pagination-item{border-radius:var(--radius-sm)!important;transition:all var(--transition-fast)!important}.ant-pagination-item-active{background:var(--color-primary)!important;border-color:var(--color-primary)!important}.ant-pagination-prev,.ant-pagination-next{border-radius:var(--radius-sm)!important}.ant-tooltip-inner{border-radius:var(--radius-sm)!important;box-shadow:var(--shadow-md)!important}.ant-popconfirm{max-width:320px}.ant-popconfirm .ant-popover-inner{border-radius:var(--radius-md)!important;box-shadow:var(--shadow-md)!important}.ant-badge-count{box-shadow:none!important}.ant-dropdown-menu{border-radius:var(--radius-md)!important;box-shadow:var(--shadow-md)!important;padding:4px!important;min-width:160px}.ant-dropdown-menu-item{border-radius:var(--radius-sm)!important;padding:8px 12px!important;transition:all var(--transition-fast)!important}.ant-dropdown-menu-item:hover{background:#e6f7ff!important;color:var(--color-info)!important}@media screen and (max-width: 1920px){.admin-page{max-width:1600px;margin:0 auto}}@media screen and (max-width: 1440px){.admin-page{max-width:1200px}.statistic-card .ant-statistic-content{font-size:20px!important}}@media screen and (max-width: 1200px){.page-header{flex-direction:column;align-items:flex-start;gap:16px}.search-card .ant-form-item{width:100%}}@media screen and (max-width: 992px){.statistic-card .ant-statistic-content{font-size:18px!important}.chart-card .ant-card-body{padding:16px!important}.table-action-btn{padding:2px 4px!important}}@media screen and (max-width: 768px){.admin-page{gap:12px}.page-header{padding:0}.page-title{font-size:18px!important}.search-card .ant-form-inline .ant-form-item{width:100%;margin-right:0}.table-card{overflow-x:auto}.action-group{flex-wrap:wrap}.form-section{padding:16px;margin-bottom:20px}}@media screen and (max-width: 480px){.statistic-icon{width:44px;height:44px;font-size:22px}.statistic-card .ant-statistic-content{font-size:16px!important}.tag-item{padding:0 8px;font-size:12px}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{transform:translate(-20px);opacity:0}to{transform:translate(0);opacity:1}}.fade-in{animation:fadeIn .3s ease-out}.slide-in-left{animation:slideInLeft .3s ease-out}.admin-content>*{animation:fadeIn .3s ease-out}@media print{.admin-layout aside,.admin-header,.tags-view-container,.table-action-btn,.action-group{display:none!important}.admin-content{margin:0!important;padding:0!important}.table-card,.search-card{box-shadow:none!important;border:1px solid #ddd!important}}.admin-layout .ant-layout-sider-dark,.ant-menu-dark{background:var(--sidebar-bg)!important}.ant-menu-dark .ant-menu-item-selected{background-color:#52c41a!important}.ant-menu-dark .ant-menu-item-selected:after{border-right-color:#52c41a!important}.ant-menu-dark .ant-menu-item:hover,.ant-menu-dark .ant-menu-item:not(.ant-menu-item-selected):hover{background-color:#389e0d!important}.ant-menu-dark .ant-menu-submenu-title:hover,.ant-menu-dark .ant-menu-submenu:not(.ant-menu-submenu-selected):hover>.ant-menu-submenu-title{background-color:#389e0d!important}.ant-menu-dark .ant-menu-item.selected{background-color:#52c41a!important}.ant-menu-dark .ant-menu-item.selected .anticon,.ant-menu-dark .ant-menu-item.selected .ant-menu-title-content{color:#fff!important}.ant-menu-dark .ant-menu-submenu-open.ant-menu-submenu-selected>.ant-menu-submenu-title .anticon,.ant-menu-dark .ant-menu-submenu-open.ant-menu-submenu-selected>.ant-menu-submenu-title .ant-menu-title-content{color:#fff!important}
