*{margin:0;padding:0;box-sizing:border-box}
html,body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;background:#f5f7fb;color:#1e293b;line-height:1.5;font-size:14px}

/* 登录 */
.login-screen{display:none;position:fixed;inset:0;background:#f5f7fb;align-items:center;justify-content:center;z-index:9999}
.login-screen.active{display:flex}
.login-card{background:#fff;padding:40px 48px;border-radius:16px;box-shadow:0 4px 20px rgba(0,0,0,.06);min-width:380px;border:1px solid #e2e8f0}
.login-card h1{font-size:24px;margin-bottom:4px}
.login-card p{color:#64748b;margin-bottom:24px;font-size:13px}
.login-card label{display:block;margin-bottom:6px;font-size:13px;color:#475569;font-weight:500}
.login-card input{width:100%;padding:10px 14px;border:1px solid #cbd5e1;border-radius:8px;font-size:14px;margin-bottom:16px;outline:none}
.login-card input:focus{border-color:#667eea}
.login-card button{width:100%;padding:12px;background:#667eea;color:#fff;border:0;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer}
.login-badge{display:inline-block;padding:4px 12px;background:#eff6ff;color:#1d4ed8;border-radius:4px;font-size:11px;margin-bottom:12px}

/* 框架 */
.shell{display:flex;min-height:100vh}
.sidebar{position:fixed;left:0;top:0;bottom:0;width:220px;background:#fff;padding:24px 0;overflow-y:auto;border-right:1px solid #e2e8f0;z-index:10}
.brand{padding:0 20px;margin-bottom:24px}
.brand h1{font-size:18px;color:#1e293b}
.brand p{font-size:11px;color:#94a3b8;margin-top:2px}
.nav{display:flex;flex-direction:column}
.sidebar nav button{display:block;width:100%;padding:11px 20px;background:none;border:0;color:#64748b;text-align:left;cursor:pointer;font-size:14px;border-left:3px solid transparent}
.sidebar nav button:hover{background:#f1f5f9;color:#1e293b}
.sidebar nav button.active{background:#eff6ff;color:#1d4ed8;border-left-color:#667eea}
.side-footer{padding:20px;border-top:1px solid #e2e8f0;margin-top:auto}
.logout-btn{width:100%;padding:8px;background:none;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;cursor:pointer;font-size:12px;margin-top:10px}
.shop-framework{padding:4px 0}
.shop-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;font-size:12px}
.shop-row b{color:#1e293b}
.shop-row span{color:#94a3b8;font-size:11px}
.main{flex:1;margin-left:220px;padding:24px;min-height:100vh}

/* topbar */
.topbar{display:flex;justify-content:space-between;align-items:center;background:#fff;padding:14px 20px;border-radius:12px;margin-bottom:20px;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.topbar-left h2{font-size:18px}
.topbar-right{display:flex;gap:8px;align-items:center}
.topbar input[type="date"]{padding:7px 12px;border:1px solid #cbd5e1;border-radius:6px;font-size:13px}

/* 按钮 */
.btn{padding:8px 16px;border:0;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;display:inline-block}
.btn.primary{background:#667eea;color:#fff}
.btn.secondary{background:#e2e8f0;color:#475569}
.btn.green{background:#10b981;color:#fff}
.btn.gray{background:#f1f5f9;color:#475569;border:1px solid #e2e8f0}
.btn.orange{background:#f59e0b;color:#fff}
.btn.purple{background:#9333ea;color:#fff}
.btn.danger{background:#ef4444;color:#fff}
.mini-btn{padding:7px 14px;background:#fff;border:1px solid #cbd5e1;border-radius:6px;cursor:pointer;font-size:12px;color:#475569;display:inline-block}
.mini-btn.dark{background:#1e293b;color:#fff;border-color:#1e293b}
.console-toggle{font-size:11px;padding:6px 10px}

/* 视图 */
.view{display:none}
.view.active{display:block}
.content{padding:0}

/* 卡片 */
.card{background:#fff;border-radius:12px;padding:20px;margin-bottom:16px;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.card h3{font-size:15px;margin-bottom:12px}
.chart-card{background:#fff;border-radius:12px;padding:20px;margin-bottom:16px;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.chart-card h3{font-size:15px;margin-bottom:16px}
.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}

/* 网格 */
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}
.kpi{background:#fff;padding:18px 20px;border-radius:12px;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.kpi .num{font-size:26px;font-weight:700;margin-bottom:4px}
.kpi .label{font-size:13px;color:#475569;margin-bottom:2px}
.kpi .muted{font-size:11px;color:#94a3b8}
.kpi.blue{border-left:4px solid #3b82f6}
.kpi.green{border-left:4px solid #10b981}
.kpi.red{border-left:4px solid #ef4444}
.kpi.orange{border-left:4px solid #f59e0b}

/* 表格 */
.table-wrap{background:#fff;border-radius:12px;padding:16px;overflow-x:auto;margin-bottom:16px}
.data-table{width:100%;border-collapse:collapse;font-size:13px}
.data-table th{padding:10px 12px;text-align:left;background:#f8fafc;color:#475569;font-weight:600;border-bottom:1px solid #e2e8f0}
.data-table td{padding:10px 12px;border-bottom:1px solid #f1f5f9}
.data-table tr:hover{background:#f8fafc}
.muted{color:#94a3b8;font-size:11px;margin-left:6px}

/* pill */
.pill{display:inline-block;padding:2px 10px;border-radius:10px;font-size:11px;font-weight:600}
.pill.good{background:#dcfce7;color:#15803d}
.pill.bad{background:#fee2e2;color:#b91c1c}

/* 消息中心 */
.message-shell{padding:0}
.message-hero{display:flex;justify-content:space-between;align-items:flex-start;background:#fff;border-radius:12px;padding:20px;margin-bottom:16px;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.message-hero .eyebrow{font-size:11px;color:#94a3b8;text-transform:uppercase}
.message-hero h2{font-size:20px;margin:4px 0}
.message-hero p{font-size:12px;color:#64748b}
.message-hero-metrics{display:flex;gap:24px}
.message-hero-metrics div{text-align:center}
.message-hero-metrics b{display:block;font-size:22px;color:#1e293b}
.message-hero-metrics span{font-size:11px;color:#94a3b8}

.ops-board{display:grid;grid-template-columns:300px 1fr 280px;gap:16px;min-height:600px}
.queue-panel,.conversation-panel,.insight-panel{background:#fff;border-radius:12px;padding:16px;overflow-y:auto;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.panel-head{display:flex;justify-content:space-between;padding-bottom:12px;border-bottom:1px solid #e2e8f0;margin-bottom:12px}
.msg-filter-row{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:11px}
.filter-label{color:#94a3b8;min-width:30px}
.msg-filter{display:flex;flex-wrap:wrap;gap:4px}
.msg-filter button{padding:3px 8px;font-size:11px;border:1px solid #e2e8f0;background:#fff;border-radius:4px;cursor:pointer;color:#64748b}
.msg-filter button.active{background:#667eea;color:#fff;border-color:#667eea}
.queue-row{display:flex;align-items:center;gap:8px;padding:10px;border:0;background:#fff;width:100%;text-align:left;cursor:pointer;border-radius:6px;margin-bottom:4px}
.queue-row:hover{background:#f8fafc}
.queue-row.active{background:#eff6ff;border:1px solid #bfdbfe}
.queue-row .dot{width:8px;height:8px;border-radius:50%;background:#94a3b8;flex-shrink:0}
.queue-row.urgent .dot{background:#ef4444}
.queue-row.risk .dot{background:#f59e0b}
.queue-row.normal .dot{background:#10b981}
.queue-row>div{flex:1;min-width:0}
.queue-row b{display:block;font-size:13px}
.queue-row em{display:block;font-style:normal;font-size:11px;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.queue-row strong{font-size:11px;color:#64748b}
.conv-head{display:flex;justify-content:space-between;padding-bottom:16px;border-bottom:1px solid #e2e8f0;margin-bottom:16px}
.conv-head h3{font-size:18px;margin:6px 0 4px}
.conv-head p{font-size:12px;color:#64748b}
.shop-platform{display:inline-block;padding:2px 10px;background:#eff6ff;color:#1d4ed8;border-radius:4px;font-size:11px}
.risk-score{text-align:center;background:#fef2f2;padding:8px 16px;border-radius:8px}
.risk-score small{display:block;font-size:11px;color:#94a3b8}
.risk-score b{font-size:22px;color:#b91c1c}
.chat-window{padding:8px 0;display:flex;flex-direction:column;gap:12px}
.bubble{padding:12px 14px;border-radius:10px;max-width:80%;font-size:13px;line-height:1.6}
.bubble small{display:block;font-size:11px;color:#94a3b8;margin-bottom:6px}
.bubble.customer{background:#f1f5f9;align-self:flex-start}
.bubble.ai{background:#eff6ff;align-self:flex-end;color:#1e3a8a}
.reply-console{margin-top:16px;padding-top:16px;border-top:1px solid #e2e8f0}
.reply-console textarea{width:100%;min-height:80px;padding:10px;border:1px solid #cbd5e1;border-radius:6px;font-size:13px;font-family:inherit;margin-bottom:10px;resize:vertical}
.reply-console>div{display:flex;gap:8px;flex-wrap:wrap}

.dark-card{background:linear-gradient(135deg,#1e293b,#334155);color:#e2e8f0;padding:16px;border-radius:10px;margin-bottom:12px}
.dark-card .eyebrow{display:inline-block;padding:2px 8px;background:rgba(255,255,255,.1);border-radius:3px;font-size:10px;margin-bottom:8px}
.dark-card h3{font-size:14px;color:#fff;margin-bottom:6px}
.dark-card p{font-size:12px;color:#cbd5e1;line-height:1.6}
.compact-card{padding:14px;margin-bottom:12px}
.compact-card h3{font-size:13px;margin-bottom:8px}
.radar,.service-bars{display:flex;flex-direction:column;gap:6px}
.radar span,.service-bars p{display:flex;justify-content:space-between;font-size:11px;color:#64748b}
.radar b,.service-bars em{color:#1e293b;font-weight:600}
.service-bars p{position:relative;align-items:center;padding:4px 0}
.service-bars b{position:absolute;left:50px;height:6px;background:#667eea;border-radius:3px;max-width:80%}
.service-bars em{font-style:normal}
.timeline-row{display:flex;align-items:center;gap:6px;font-size:11px;padding:6px 0;border-bottom:1px solid #f1f5f9}
.timeline-row b{flex:1}
.timeline-row em{font-style:normal;color:#94a3b8}
.timeline-row i{font-style:normal;color:#64748b}

/* 控制台 */
.console-panel{background:#fff;border-radius:12px;padding:20px;margin-bottom:20px;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.console-grid{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:16px}
.console-section h4{font-size:13px;margin-bottom:6px}
.console-section p{font-size:11px;color:#94a3b8;margin-bottom:10px}
.console-logs{max-height:200px;overflow-y:auto;font-size:11px}
.log-row{padding:4px 0;font-size:11px;color:#64748b;border-bottom:1px solid #f1f5f9}
.log-row span{color:#94a3b8;margin-right:6px}
.log-row b{font-weight:600}

/* 实验室 */
.lab-header{padding:0 0 16px}
.lab-header h2{font-size:20px}
.lab-header p{font-size:12px;color:#64748b;margin-top:4px}

/* 表单 */
.form-grid{display:grid;grid-template-columns:1fr;gap:10px}
.form-grid label{font-size:12px;color:#475569}
.form-grid input,.form-grid select{width:100%;padding:9px 12px;border:1px solid #cbd5e1;border-radius:6px;font-size:13px;outline:none}
.form-grid input:focus,.form-grid select:focus{border-color:#667eea}

/* 导出 */
.export-links{display:flex;gap:10px}
.export-links a{padding:4px 12px;background:#f1f5f9;border-radius:4px;font-size:12px;color:#475569;text-decoration:none}
.export-links a:hover{background:#e2e8f0}

/* 日报 */
.report-text{padding:16px;background:#f8fafc;border-radius:8px;font-size:13px;line-height:1.8;white-space:pre-wrap}

/* 任务 */
.task-list{list-style:none;padding:0}
ul#taskList{list-style:none;padding:0}
ul#taskList li{display:flex;gap:10px;padding:10px;background:#f8fafc;border-radius:8px;margin-bottom:6px;font-size:13px}
ul#taskList li span{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;background:#667eea;color:#fff;border-radius:50%;font-size:11px;flex-shrink:0}

/* 风险 */
.risk-item{padding:8px 12px;background:#fef2f2;border-radius:6px;margin-bottom:6px;font-size:12px;color:#b91c1c}

/* 历史 */
.history-item{padding:12px;background:#f8fafc;border-radius:8px;margin-bottom:8px;cursor:pointer;display:flex;justify-content:space-between}
.history-item:hover{background:#f1f5f9}
.history-item b{font-size:13px}
.history-item span{font-size:11px;color:#64748b}

/* 对比 */
.compare{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.compare>div{background:#f8fafc;padding:14px;border-radius:8px}
.compare h3{font-size:13px;margin-bottom:8px}
.compare p{font-size:12px;color:#475569;padding:3px 0}
.compare b{color:#1e293b}

/* toast */
.toast{position:fixed;bottom:24px;right:24px;background:#1e293b;color:#fff;padding:12px 20px;border-radius:8px;font-size:13px;opacity:0;pointer-events:none;transition:opacity .3s;z-index:9999}
.toast.show{opacity:1}
.toast.success{background:#10b981}
.toast.error{background:#ef4444}
.toast.info{background:#3b82f6}

/* empty */
.empty,.msg-empty{padding:40px;text-align:center;color:#94a3b8;font-size:13px}
.empty h3,.msg-empty h3{font-size:14px;margin-bottom:6px;color:#475569}

/* 响应式 */
@media(max-width:1100px){.ops-board{grid-template-columns:240px 1fr}.insight-panel{display:none}}
@media(max-width:768px){.sidebar{width:60px}.brand h1,.brand p,.sidebar nav button{display:none}.main{margin-left:60px}.ops-board{grid-template-columns:1fr}.queue-panel{display:none}}
