*{margin:0;padding:0;box-sizing:border-box}
:root{
  --navy:#0F2C52;--navy2:#1B3A6B;--blue:#2563A8;--blue-l:#EAF1F9;
  --gold:#C9A55C;--gold-l:#FBF5E8;--orange:#E2703A;--orange-l:#FDF0E8;
  --green:#1F8A5B;--green-l:#EAF6F0;--red:#C0392B;--red-l:#FBEDED;
  --purple:#6B4C9A;--purple-l:#F2EDF9;--teal:#0F6E56;
  --bg:#F4F6F9;--card:#fff;--text:#1B2637;--muted:#66748C;--line:#E3E8EF;
}
body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;
  background:var(--bg);color:var(--text);font-size:14px;line-height:1.7;-webkit-font-smoothing:antialiased}
a{color:var(--blue);text-decoration:none}

/* 登录 */
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#0F2C52,#1B3A6B 55%,#0F6E56);padding:20px}
.login-box{background:#fff;border-radius:16px;padding:40px 38px;width:100%;max-width:400px;
  box-shadow:0 20px 60px rgba(0,0,0,.25)}
.login-box h1{font-size:23px;color:var(--navy);margin-bottom:6px;font-weight:800}
.login-box .sub{font-size:13px;color:var(--muted);margin-bottom:26px}
.fld{margin-bottom:16px}
.fld label{display:block;font-size:13px;color:#3A4759;margin-bottom:6px;font-weight:600}
.fld input,.fld select,.fld textarea{width:100%;padding:10px 13px;border:1px solid var(--line);
  border-radius:8px;font-size:14px;font-family:inherit;outline:none;transition:border-color .15s}
.fld input:focus,.fld select:focus,.fld textarea:focus{border-color:var(--blue)}
.fld textarea{resize:vertical;min-height:80px;line-height:1.7}
.btn{width:100%;padding:11px;border:none;border-radius:8px;background:var(--navy);color:#fff;
  font-size:15px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .15s}
.btn:hover{background:var(--navy2)}
.btn:disabled{background:#B8C4D4;cursor:not-allowed}
.btn-sm{width:auto;padding:7px 15px;font-size:13px}
.btn-ghost{background:#fff;color:var(--navy);border:1px solid var(--line)}
.btn-ghost:hover{background:#F4F6F9}
.btn-or{background:var(--orange)}.btn-or:hover{background:#C95E2A}
.btn-gr{background:var(--green)}.btn-gr:hover{background:#17734A}
.demo{margin-top:20px;padding-top:18px;border-top:1px dashed var(--line);font-size:12.5px;color:var(--muted)}
.demo b{color:var(--navy);display:block;margin-bottom:7px}
.demo div{padding:3px 0;cursor:pointer;transition:color .15s}
.demo div:hover{color:var(--orange)}

/* 布局 */
.top{background:var(--navy);color:#fff;height:56px;display:flex;align-items:center;
  padding:0 22px;position:sticky;top:0;z-index:100;box-shadow:0 2px 8px rgba(0,0,0,.1)}
.top .lg{font-size:16px;font-weight:800;margin-right:28px;letter-spacing:-.3px;white-space:nowrap}
.top .lg em{font-style:normal;color:#F0C97A}
.top nav{display:flex;gap:2px;flex:1;overflow-x:auto}
.top nav a{padding:7px 14px;border-radius:7px;font-size:13.5px;color:#BFD3EA;
  cursor:pointer;white-space:nowrap;transition:.15s}
.top nav a:hover{background:rgba(255,255,255,.09);color:#fff}
.top nav a.on{background:rgba(240,201,122,.18);color:#F0C97A;font-weight:600}
/* 导航角标（未读提醒数） */
.nav-dot{display:inline-block;min-width:18px;height:18px;line-height:18px;padding:0 5px;margin-left:6px;
  border-radius:9px;background:#E74C3C;color:#fff;font-size:11px;font-style:normal;
  text-align:center;vertical-align:middle;font-weight:600}
.top .me{display:flex;align-items:center;gap:11px;font-size:12.5px;white-space:nowrap}
.top .me .nm{font-weight:600}
.top .me .sc{color:#8FA8C4;font-size:11.5px}
.top .me button{background:rgba(255,255,255,.13);border:none;color:#fff;padding:5px 11px;
  border-radius:6px;font-size:12px;cursor:pointer;font-family:inherit}
.top .me button:hover{background:rgba(255,255,255,.24)}

.wrap{max-width:1240px;margin:0 auto;padding:22px}
.sec{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:20px 22px;margin-bottom:18px}
.sec-h{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.sec-h h2{font-size:17px;color:var(--navy);font-weight:700}
.sec-h .desc{font-size:12.5px;color:var(--muted)}
.spacer{flex:1}

/* 筛选 */
.filters{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.filters input,.filters select{padding:7px 11px;border:1px solid var(--line);border-radius:7px;
  font-size:13px;font-family:inherit;outline:none;background:#fff}
.filters input:focus,.filters select:focus{border-color:var(--blue)}
.seg{display:flex;border:1px solid var(--line);border-radius:7px;overflow:hidden;background:#fff}
.seg button{padding:7px 13px;border:none;background:#fff;font-size:12.5px;cursor:pointer;
  font-family:inherit;color:var(--muted);transition:.15s}
.seg button.on{background:var(--navy);color:#fff;font-weight:600}

/* 舆情卡 */
.opl{border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin-bottom:10px;
  background:#fff;transition:.15s;display:flex;gap:14px;align-items:flex-start}
.opl:hover{border-color:#B5D0EA;box-shadow:0 3px 12px rgba(15,44,82,.07)}
.opl .ht{flex-shrink:0;width:50px;text-align:center}
.opl .ht .n{font-size:20px;font-weight:800;line-height:1.1}
.opl .ht .l{font-size:10.5px;color:var(--muted);margin-top:2px}
.ht-1{color:var(--red)}.ht-2{color:var(--orange)}.ht-3{color:var(--gold)}.ht-4{color:var(--green)}
.opl .body{flex:1;min-width:0}
.opl .t{font-size:14.5px;font-weight:600;color:var(--navy);margin-bottom:6px;line-height:1.55}
.opl .c{font-size:12.5px;color:#5A6779;line-height:1.7;margin-bottom:8px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.opl .m{display:flex;gap:9px;flex-wrap:wrap;align-items:center;font-size:11.5px;color:var(--muted)}
.opl .act{flex-shrink:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:176px;align-content:start}
.opl .act .bt{width:100%;white-space:normal;text-align:center;padding:6px 4px;line-height:1.35}
/* 「通报反馈」按钮已并入 .opl .act 右侧按钮区（原前置窄条 .ntc 已移除） */
.tag{display:inline-block;padding:2px 8px;border-radius:5px;font-size:11px;font-weight:600}
.tg-pf{background:var(--blue-l);color:var(--blue)}
.tg-rg{background:var(--green-l);color:var(--green)}
.tg-tg{background:var(--gold-l);color:#8A6A12}
.tg-tm{background:#F1EFE8;color:#5F5E5A}
.tg-hot{background:var(--red-l);color:var(--red)}

/* 按钮组 */
.bt{padding:6px 14px;border-radius:7px;font-size:12.5px;font-weight:600;border:none;
  cursor:pointer;font-family:inherit;transition:.15s;white-space:nowrap}
.bt-or{background:var(--orange);color:#fff}.bt-or:hover{background:#C95E2A}
.bt-lk{background:#E8EDF3;color:#9AA7B8;cursor:not-allowed}
.bt-gh{background:#fff;color:var(--navy);border:1px solid var(--line)}
.bt-gh:hover{background:#F4F6F9}
.bt-gr{background:var(--green);color:#fff}.bt-gr:hover{background:#17734A}
.bt-pu{background:var(--purple);color:#fff}.bt-pu:hover{background:#5B3F87}

/* 统计卡 */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:18px}
.st-c{background:#fff;border:1px solid var(--line);border-radius:10px;padding:15px 17px}
.st-c .n{font-size:24px;font-weight:800;color:var(--navy);line-height:1.15}
.st-c .n small{font-size:13px;color:var(--muted);font-weight:600}
.st-c .l{font-size:12px;color:var(--muted);margin-top:5px}
.st-c.gold{border-color:var(--gold);background:linear-gradient(180deg,#FFFDF7,#fff)}
.st-c.gold .n{color:#B8860B}
.st-c.warn{border-color:var(--orange);background:var(--orange-l)}
.st-c.warn .n{color:var(--orange)}

/* 弹窗 */
.mask{position:fixed;inset:0;background:rgba(15,35,60,.5);z-index:200;
  display:flex;align-items:center;justify-content:center;padding:20px}
.modal{background:#fff;border-radius:14px;width:100%;max-width:960px;max-height:90vh;
  display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.3)}
.modal.sm{max-width:520px}
.modal-h{padding:17px 24px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px;
  background:var(--navy);color:#fff}
.modal-h h3{font-size:16px;font-weight:700;color:#fff}
.modal-h .x{margin-left:auto;background:none;border:none;color:#BFD3EA;font-size:24px;
  cursor:pointer;line-height:1;padding:0 4px}
.modal-h .x:hover{color:#fff}
.modal-b{padding:22px 24px;overflow-y:auto;flex:1}
.modal-f{padding:15px 24px;border-top:1px solid var(--line);display:flex;gap:10px;
  justify-content:flex-end;align-items:center;background:#FAFBFD;flex-wrap:wrap;row-gap:8px}
.modal-f .tip{margin-right:auto;font-size:12.5px;color:var(--muted)}
.steps{display:flex;gap:8px;margin-bottom:20px;align-items:center;flex-wrap:wrap}
.steps .s{padding:5px 13px;border-radius:14px;font-size:12.5px;font-weight:600;
  background:#F1EFE8;color:#8A8578}
.steps .s.on{background:var(--navy);color:#fff}
.steps .ar{color:#C4CDD8;font-size:12px}

/* 分栏预览 */
.split{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.pane{border:1px solid var(--line);border-radius:10px;overflow:hidden;display:flex;flex-direction:column}
.pane-h{padding:11px 15px;font-size:13px;font-weight:700;border-bottom:1px solid var(--line);
  display:flex;align-items:center;gap:8px}
.pane-h.out{background:var(--blue-l);color:var(--navy2)}
.pane-h.in{background:var(--purple-l);color:var(--purple)}
.pane-h .warn{margin-left:auto;font-size:11px;font-weight:700;background:var(--red);
  color:#fff;padding:2px 8px;border-radius:4px}
.pane-b{padding:16px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:12.3px;line-height:1.95;white-space:pre-wrap;color:#2F3A4A;
  background:#FCFBF7;max-height:440px;overflow-y:auto}
.pane-b.adv{background:#FAF8FD;color:#3F2D5E}
.iss{margin-top:12px;padding:11px 14px;background:var(--orange-l);border-left:3px solid var(--orange);
  border-radius:0 6px 6px 0;font-size:12.5px;color:#7A3E1A;line-height:1.75}
.iss b{color:var(--orange)}
.iss ul{margin:6px 0 0 18px}

/* 成员表 */
.mbr{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.mbr:last-child{border-bottom:none}
.mbr .av{width:34px;height:34px;border-radius:50%;background:var(--navy);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0}
.mbr .info{flex:1;min-width:0}
.mbr .info .n{font-size:14px;font-weight:600;color:var(--navy)}
.mbr .info .m{font-size:12px;color:var(--muted);margin-top:2px}
.mbr .sc{font-size:11.5px;color:#5A6779;background:#F4F6F9;padding:3px 9px;border-radius:5px;
  max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rl{padding:3px 10px;border-radius:12px;font-size:11.5px;font-weight:700;white-space:nowrap}
.rl-admin{background:var(--green-l);color:var(--teal)}
.rl-lead{background:var(--gold-l);color:#8A6A12}
.rl-biz{background:var(--blue-l);color:var(--blue)}
.rl-view{background:#F1EFE8;color:#5F5E5A;color:#5F5E5A}
.st-on{color:var(--green);font-size:12px;font-weight:600}
.st-off{color:#94A3B8;font-size:12px}

/* 工单 */
.tk{border:1px solid var(--line);border-radius:10px;padding:15px 17px;margin-bottom:11px;background:#fff}
.tk-h{display:flex;align-items:center;gap:10px;margin-bottom:8px;flex-wrap:wrap}
.tk-id{font-family:ui-monospace,monospace;font-size:12.5px;color:var(--muted);font-weight:600}
.tk-t{font-size:14.5px;font-weight:600;color:var(--navy);margin-bottom:8px;line-height:1.55}
.tk-m{display:flex;gap:10px;font-size:12px;color:var(--muted);flex-wrap:wrap;align-items:center}
.badge{padding:3px 10px;border-radius:11px;font-size:11.5px;font-weight:700}
.b-pending_stamp{background:var(--gold-l);color:#8A6A12}
.b-pending_accept{background:var(--orange-l);color:var(--orange)}
.b-submitted,.b-processing{background:var(--blue-l);color:var(--blue)}
.b-deleted,.b-limited{background:var(--green-l);color:var(--green)}
.b-rejected{background:var(--red-l);color:var(--red)}
.b-closed{background:#F1EFE8;color:#5F5E5A}

/* 时间轴 */
.tl{margin-top:14px;padding-top:14px;border-top:1px dashed var(--line)}
.tl-i{display:flex;gap:11px;padding:6px 0;font-size:12.5px;position:relative}
.tl-i .dot{width:8px;height:8px;border-radius:50%;background:var(--blue);margin-top:6px;flex-shrink:0}
.tl-i .tm{color:var(--muted);font-family:ui-monospace,monospace;font-size:11.5px;min-width:118px;flex-shrink:0}
.tl-i .tx{color:#3A4759;flex:1}
.tl-i .by{color:var(--muted);font-size:11.5px;flex-shrink:0}

/* 付费引导 */
.pay{background:linear-gradient(135deg,#FBF5E8,#FDF0E8);border:2px solid var(--gold);
  border-radius:12px;padding:26px 28px;text-align:center}
.pay h3{font-size:18px;color:#8A6A12;margin-bottom:9px;font-weight:800}
.pay p{font-size:13.5px;color:#6B5A28;line-height:1.85;margin-bottom:16px;max-width:560px;margin-left:auto;margin-right:auto}
.pay .pr{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:18px}
.pay .pc{background:#fff;border:1px solid var(--gold);border-radius:10px;padding:14px 20px;min-width:118px}
.pay .pc .n{font-size:21px;font-weight:800;color:var(--navy)}
.pay .pc .l{font-size:12px;color:var(--muted);margin-top:3px}

.empty{text-align:center;padding:44px 20px;color:var(--muted);font-size:13.5px}
.empty .ic{font-size:34px;margin-bottom:10px;opacity:.35}
.ld{text-align:center;padding:34px;color:var(--muted);font-size:13.5px}
.alert{padding:11px 15px;border-radius:8px;font-size:13px;margin-bottom:14px;line-height:1.7}
.alert.err{background:var(--red-l);color:#7A2118;border-left:3px solid var(--red)}
.alert.ok{background:var(--green-l);color:#14513A;border-left:3px solid var(--green)}
.alert.info{background:var(--blue-l);color:#1A3F6B;border-left:3px solid var(--blue)}
.alert.wa{background:var(--gold-l);color:#6B5A28;border-left:3px solid var(--gold)}

/* 推理模型等待态：旋转指示器 + 生成遮罩（防止用户在长调用期间关闭窗口） */
.spin{display:inline-block;width:13px;height:13px;margin-right:7px;vertical-align:-2px;
  border:2px solid rgba(168,138,40,.35);border-top-color:var(--gold);border-radius:50%;
  animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.gen-overlay{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;
  background:rgba(15,35,60,.62);backdrop-filter:blur(2px)}
.gen-overlay .box{background:#fff;border-radius:16px;padding:34px 40px;max-width:440px;width:90%;
  text-align:center;box-shadow:0 24px 70px rgba(0,0,0,.35)}
.gen-overlay .ring{width:46px;height:46px;margin:0 auto 18px;border:4px solid var(--blue-l);
  border-top-color:var(--blue);border-radius:50%;animation:spin .9s linear infinite}
.gen-overlay .t{font-size:16px;font-weight:700;color:var(--navy);margin-bottom:8px}
.gen-overlay .d{font-size:13px;color:var(--muted);line-height:1.7}

.chk{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;
  max-height:190px;overflow-y:auto;padding:11px;border:1px solid var(--line);border-radius:8px;background:#FAFBFD}
.chk label{display:flex;align-items:center;gap:7px;font-size:12.5px;cursor:pointer;padding:3px 0}
.chk input{cursor:pointer}
.hint{font-size:11.5px;color:var(--muted);margin-top:5px;line-height:1.65}
.upbox{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
  padding:26px 16px;border:2px dashed var(--blue);border-radius:10px;background:var(--blue-l);
  cursor:pointer;text-align:center;transition:.15s}
.upbox:hover{background:#DCE9F7;border-color:var(--navy2)}
.upbox input[type=file]{display:none}
.upbox-ic{font-size:28px;color:var(--blue);line-height:1}
.upbox-t{font-size:14px;font-weight:700;color:var(--navy2)}
.upbox-d{font-size:12px;color:var(--muted)}
.upbox.has{border-style:solid;border-color:var(--green);background:var(--green-l)}
.upbox.has .upbox-ic{color:var(--green)}
.stamp-prev{max-width:100%;max-height:180px;border:1px solid var(--line);border-radius:8px;display:block}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.pg{display:flex;gap:8px;justify-content:center;align-items:center;padding:18px 0;flex-wrap:wrap}
.pg button{padding:6px 13px;border:1px solid var(--line);background:#fff;border-radius:6px;
  font-size:13px;cursor:pointer;font-family:inherit}
.pg button:disabled{color:#C0C8D4;cursor:not-allowed}
.pg button.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.pg span{font-size:13px;color:var(--muted)}
@media(max-width:820px){
  .split{grid-template-columns:1fr}.row2{grid-template-columns:1fr}
  .opl{flex-wrap:wrap}.opl .act{width:100%;grid-template-columns:repeat(2,minmax(0,1fr));justify-items:stretch}
  .top .lg{margin-right:14px;font-size:14px}
}

/* ---------- 监测关键词 ---------- */
.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:14px}
.kpi{background:#F7F9FC;border:1px solid var(--line);border-radius:10px;padding:14px 16px;text-align:center}
.kpi .n{font-size:24px;font-weight:700;line-height:1.2}
.kpi .l{font-size:12.5px;color:var(--muted);margin-top:2px}
.kw-tag{display:inline-block;background:var(--blue-l);color:var(--blue);border-radius:5px;
  padding:2px 8px;font-size:11.5px;margin:2px 4px 2px 0;white-space:nowrap}
.kw-tag.more{background:#F1EFE8;color:var(--muted)}
.bar{height:5px;background:#EEF2F8;border-radius:3px;overflow:hidden;margin-bottom:3px}
.bar i{display:block;height:100%;border-radius:3px}
.bar-g i{background:var(--green)}
.bar-o i{background:var(--orange)}
.tbl-wrap{overflow-x:auto;border-radius:9px;border:1px solid var(--line)}
.tbl-wrap table{width:100%;border-collapse:collapse;font-size:13px}
.tbl-wrap th{background:#F7F9FC;color:#3A4759;font-size:12.5px;font-weight:700;
  padding:9px 11px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}
.tbl-wrap td{padding:9px 11px;border-bottom:1px solid #F2F5F9;vertical-align:middle}
.tbl-wrap tr:last-child td{border-bottom:none}
.tbl-wrap tbody tr:hover{background:#FAFBFE}
.sw{position:relative;display:inline-block;width:38px;height:21px;cursor:pointer}
.sw input{opacity:0;width:0;height:0;position:absolute}
.sw span{position:absolute;inset:0;background:#CBD5E1;border-radius:21px;transition:.2s}
.sw span:before{content:"";position:absolute;height:15px;width:15px;left:3px;top:3px;
  background:#fff;border-radius:50%;transition:.2s}
.sw input:checked + span{background:var(--blue)}
.sw input:checked + span:before{transform:translateX(17px)}
@media(max-width:820px){.kpi-row{grid-template-columns:1fr 1fr}}

/* ===== AI 生成内容统一标注（醒目但不喧宾夺主） ===== */
.ai-disc{margin:0 0 10px;padding:6px 10px;border-radius:6px;
  background:#FFF8E1;border:1px solid #F0E0A8;color:#8A6D1F;
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;
  font-size:12px;line-height:1.6;font-weight:500;white-space:normal}
.ai-expert{margin:0 0 10px;padding:5px 10px;border-radius:6px;
  background:#EEF3FB;border:1px solid #D3E0F2;color:#2C4A7C;
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;
  font-size:12px;line-height:1.6;white-space:normal}
.ai-meta{margin:0 0 10px;padding:5px 10px;border-radius:6px;
  background:#F3F5F8;border:1px solid #E1E6EC;color:#5A6779;
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;
  font-size:12px;line-height:1.6;white-space:normal}

/* ==================== P3：事件监测 ==================== */
/* 补齐既有按钮缺色（多处已用 bt-bl 但样式未定义，看起来像无边框文字） */
.bt-bl{background:var(--blue);color:#fff}.bt-bl:hover{background:#1D4F87}

.ev-card{border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin-bottom:10px;background:#fff;transition:.15s}
.ev-card:hover{border-color:#C9D6E6;box-shadow:0 2px 10px rgba(15,44,82,.06)}
.ev-watched{border-left:3px solid var(--gold)}
.ev-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}
.ev-risk{display:inline-block;color:#fff;border-radius:5px;padding:1px 8px;font-size:11.5px;font-weight:700;letter-spacing:.3px}
.ev-chip{display:inline-block;border:1px solid var(--line);border-radius:20px;padding:0 9px;font-size:11.5px;font-weight:600;line-height:19px}
.ev-meta{font-size:11.5px;color:var(--muted)}
.ev-title{font-size:15px;font-weight:700;line-height:1.5;cursor:pointer;color:var(--text)}
.ev-title:hover{color:var(--blue)}
.ev-sum{font-size:12.5px;color:#41506B;margin-top:6px;line-height:1.7}
.ev-m{display:flex;gap:14px;flex-wrap:wrap;font-size:11.5px;color:var(--muted);margin-top:8px}
.ev-kw{margin-top:8px}
.ev-acts{margin-top:10px;display:flex;gap:6px;flex-wrap:wrap;align-items:center}

/* 详情弹窗 */
.ev-d-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.ev-d-title{font-size:16px;font-weight:700;line-height:1.5;margin-bottom:6px}
.ev-d-sum{font-size:13px;color:#41506B;background:#F7F9FC;border-left:3px solid var(--blue);border-radius:0 8px 8px 0;padding:10px 13px;line-height:1.8;margin-bottom:14px}
.ev-d-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:10px;margin-bottom:14px}
.ev-d-m{background:#F7F9FC;border:1px solid var(--line);border-radius:8px;padding:9px 10px;text-align:center}
.ev-d-m .v{font-size:14px;font-weight:700;color:var(--navy)}
.ev-d-m .l{font-size:11px;color:var(--muted);margin-top:2px}
.ev-d-sec{font-size:13px;margin:14px 0 8px}
.ev-spark{width:100%;height:auto;display:block;background:#FBFCFE;border:1px solid var(--line);border-radius:8px;padding:6px 8px}
.ev-empty-chart{font-size:12px;color:var(--muted);background:#F7F9FC;border:1px dashed var(--line);border-radius:8px;padding:16px;text-align:center}
.ev-pf-row{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.ev-pf-name{width:80px;font-size:12.5px;color:#41506B;text-align:right;flex:none}
.ev-tl{border-left:2px solid var(--line);margin-left:6px;padding-left:14px}
.ev-tl-item{position:relative;padding:8px 0 10px;border-bottom:1px dashed #EEF2F8}
.ev-tl-item:last-child{border-bottom:none}
.ev-tl-item:before{content:"";position:absolute;left:-20px;top:15px;width:7px;height:7px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 3px #EAF1F9}
.ev-tl-h{display:flex;align-items:center;font-size:11.5px;color:var(--muted);gap:4px}
.ev-tl-t{font-size:13px;line-height:1.65;margin-top:3px}
.ev-tl-l{font-size:11.5px;color:var(--blue)}

/* 告警中心 */
.ev-alert{border:1px solid var(--line);border-left:3px solid var(--orange);border-radius:8px;padding:11px 13px;margin-bottom:9px;background:#fff}
.ev-alert-read{opacity:.6;border-left-color:#C9D6E6}
.sw-lite{font-size:12.5px;color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;gap:5px}
