/* ============================================================
   运行中心 · 轮次级实时状态 / 首页实时摘要 / 单轮详情抽屉
   ============================================================ */

.rt-connection{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;color:var(--ink-3);white-space:nowrap;padding:4px 6px;border-radius:6px}
.rt-connection:hover{background:var(--neutral-bg);color:var(--ink)}
.rt-connection:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.rt-connection-dot{width:7px;height:7px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 3px var(--ok-bg);animation:rt-live-pulse 2.4s ease-out infinite}
.rt-connection.is-paused .rt-connection-dot,.rt-connection.is-delayed .rt-connection-dot{background:var(--warn);box-shadow:0 0 0 3px var(--warn-bg);animation:none}
.rt-connection.is-offline .rt-connection-dot{background:var(--bad);box-shadow:0 0 0 3px var(--bad-bg);animation:none}
@keyframes rt-live-pulse{0%,45%{box-shadow:0 0 0 3px var(--ok-bg)}75%,100%{box-shadow:0 0 0 6px transparent}}

.rt-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}
.rt-kpi{display:flex;align-items:center;gap:12px;min-height:82px;padding:13px 15px;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-1);transition:border-color .15s,background .15s,box-shadow .15s}
.rt-kpi:hover{border-color:var(--gold-line);background:var(--surface-2);box-shadow:var(--shadow-2)}
.rt-kpi.is-on{border-color:var(--gold);background:var(--gold-soft)}
.rt-kpi-icon{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;flex:none;background:var(--surface-3);color:var(--ink-3)}
.rt-kpi-icon.info{background:var(--info-bg);color:var(--info)}
.rt-kpi-icon.bad{background:var(--bad-bg);color:var(--bad)}
.rt-kpi-icon.warn{background:var(--warn-bg);color:var(--warn)}
.rt-kpi-icon.gold{background:var(--gold-soft);color:var(--gold-ink)}
.rt-kpi-value{font-size:24px;line-height:1.1;font-weight:750;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.rt-kpi-label{font-size:11.5px;color:var(--ink-3);margin-top:3px}
.rt-kpi-note{margin-left:auto;align-self:flex-start;font-size:10.5px;color:var(--ink-4);white-space:nowrap}

.rt-new-events{display:none;width:100%;align-items:center;justify-content:center;gap:7px;padding:8px 12px;background:var(--gold-soft);border-bottom:1px solid var(--gold-line);color:var(--gold-ink);font-size:12px;font-weight:650}
.rt-new-events.is-visible{display:flex}
.rt-new-events:hover{background:#F0E3C2}
.rt-filters{align-items:flex-end;gap:9px}
.rt-filter-field{display:flex;flex-direction:column;gap:4px;min-width:112px}
.rt-filter-field.search{flex:1;min-width:190px;max-width:310px}
.rt-filter-field .label{font-size:10.5px}
.rt-only-attention{height:28px;align-items:center;white-space:nowrap}
.rt-table{min-width:1180px}
.rt-table td{padding-top:10px;padding-bottom:10px}
.rt-table tbody tr{cursor:pointer;transition:background .13s}
.rt-table tbody tr:focus{outline:2px solid var(--gold);outline-offset:-2px}
.rt-table tbody tr.is-on{background:var(--gold-soft)}
.rt-table tbody tr.is-on:hover{background:#F1E5C7}
.rt-time{font-family:var(--mono);font-size:11.5px;color:var(--ink-2);white-space:nowrap;font-variant-numeric:tabular-nums}
.rt-time small{display:block;font-family:var(--sans);font-size:10.5px;color:var(--ink-4);margin-top:2px}
.rt-trace{min-width:238px}
.rt-trace-line{display:flex;align-items:center;gap:4px}
.rt-trace-open{display:inline-flex;align-items:center;gap:5px;padding:3px 0;border:0;background:transparent;color:var(--ink-2);font-size:11.5px;font-weight:650;white-space:nowrap;cursor:pointer}
.rt-trace-open .ico{width:12px;height:12px;color:var(--ink-4);transition:color .15s}
.rt-trace-open:hover{color:var(--gold-ink)}
.rt-trace-open:hover .ico{color:var(--gold-ink)}
.rt-trace-open:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:2px}
.rt-trace-copy{width:26px;height:26px;flex:none;color:var(--ink-4)}
.rt-trace-copy .ico{width:13px;height:13px}
.rt-trace-missing{font-size:11.5px;color:var(--bad);font-weight:650;white-space:nowrap}
.rt-trace-detail{display:flex;align-items:center;gap:6px;word-break:break-all}
.rt-session{min-width:270px;max-width:360px}
.rt-session-id{font-family:var(--mono);font-size:10.5px;color:var(--ink-3);margin-top:5px;overflow-wrap:anywhere}
.rt-turn-count{min-width:165px;max-width:230px}
.rt-turn-count .rt-question{font-size:11px;font-weight:500;color:var(--ink-3)}
.rt-business{min-width:260px;max-width:360px}
.rt-agent-line{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.rt-question{color:var(--ink);font-weight:600;font-size:12.5px;line-height:1.5;margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rt-id{font-family:var(--mono);font-size:10.5px;color:var(--ink-4);margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rt-response{min-width:156px}
.rt-response-meta{font-size:10.5px;color:var(--ink-3);margin-top:4px;display:flex;align-items:center;gap:5px}
.rt-stage-meter{display:flex;gap:3px;margin-top:7px;width:116px}
.rt-stage-meter i{display:block;height:3px;flex:1;border-radius:2px;background:var(--line-2)}
.rt-stage-meter i.done{background:var(--ok-line)}
.rt-stage-meter i.active{background:var(--gold)}
.rt-stage-meter i.failed{background:var(--bad)}
.rt-cell-note{display:block;font-size:10.5px;color:var(--ink-4);margin-top:4px;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rt-empty{padding:42px 18px;text-align:center;color:var(--ink-3)}
.rt-empty .ico{width:26px;height:26px;margin:0 auto 8px;color:var(--ink-4)}
.rt-foot{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.rt-legend{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:11px;color:var(--ink-4)}
.rt-legend span{display:inline-flex;align-items:center;gap:5px}
.rt-legend i{width:6px;height:6px;border-radius:50%;background:var(--line)}

.rt-drawer-mask{position:fixed;inset:var(--topbar-h) 0 0 0;background:rgba(20,26,36,.28);z-index:170;animation:fade .16s ease}
.rt-drawer{position:absolute;top:0;right:0;bottom:0;width:min(760px,100%);background:var(--surface);border-left:1px solid var(--line);box-shadow:var(--shadow-3);display:flex;flex-direction:column;animation:rt-drawer-in .22s cubic-bezier(.2,.9,.3,1)}
@keyframes rt-drawer-in{from{transform:translateX(24px);opacity:.7}to{transform:none;opacity:1}}
.tbl tbody tr.row-click{cursor:pointer}
.rt-drawer-hd{display:flex;align-items:flex-start;gap:10px;padding:16px 18px;border-bottom:1px solid var(--line-2);background:var(--surface-2)}
.rt-drawer-title{font-family:var(--serif);font-size:17px;line-height:1.5;color:var(--ink);font-weight:650}
.rt-drawer-sub{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:7px}
.rt-drawer-bd{padding:16px 18px 28px;overflow:auto;flex:1}
.rt-drawer-ft{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 18px;border-top:1px solid var(--line-2);background:var(--surface-2)}
.rt-summary{padding:12px 13px;background:var(--surface-2);border:1px solid var(--line-2);border-radius:var(--radius-sm);font-size:12.5px;color:var(--ink-2);line-height:1.7;margin:14px 0}
.rt-summary b{color:var(--ink)}
.rt-track-section{padding:16px 0;border-bottom:1px solid var(--line-2)}
.rt-track-section:last-child{border-bottom:0}
.rt-track-head{display:flex;align-items:center;gap:8px;margin-bottom:11px}
.rt-track-head .li-ic{width:28px;height:28px}
.rt-track-head h3{font-size:13px}
.rt-track-head .badge{margin-left:auto}
.rt-timeline{display:flex;flex-direction:column}
.rt-event{position:relative;display:grid;grid-template-columns:58px 12px minmax(0,1fr);gap:7px;padding-bottom:13px}
.rt-event:last-child{padding-bottom:0}
.rt-event:not(:last-child)::after{content:"";position:absolute;left:70px;top:13px;bottom:-1px;width:1px;background:var(--line)}
.rt-event-time{font-family:var(--mono);font-size:10.5px;color:var(--ink-4);padding-top:1px;font-variant-numeric:tabular-nums}
.rt-event-dot{width:8px;height:8px;border-radius:50%;background:var(--surface);border:2px solid var(--gold);margin-top:3px;z-index:1}
.rt-event-dot.ok{border-color:var(--ok)}
.rt-event-dot.bad{border-color:var(--bad)}
.rt-event-dot.warn{border-color:var(--warn)}
.rt-event-title{font-size:12px;color:var(--ink);font-weight:650;line-height:1.5}
.rt-event-detail{font-size:11.5px;color:var(--ink-3);line-height:1.55;margin-top:2px}
.rt-track-empty{font-size:11.5px;color:var(--ink-4);padding:4px 0 8px}
.rt-session-kv{margin-bottom:12px}
.rt-session-note{padding:10px 0;border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2);font-size:11.5px;line-height:1.65;color:var(--ink-3)}
.rt-session-turns{margin:20px 0 4px}
.rt-turn{position:relative;margin-left:6px;padding:0 0 22px 22px;border-left:1px solid var(--line)}
.rt-turn:last-child{padding-bottom:4px;border-left-color:transparent}
.rt-turn::before{content:"";position:absolute;left:-5px;top:5px;width:9px;height:9px;border-radius:50%;background:var(--surface);border:2px solid var(--gold)}
.rt-turn.is-warn::before{border-color:var(--warn)}
.rt-turn.is-critical::before{border-color:var(--bad)}
.rt-turn-hd{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.rt-turn-heading{display:flex;align-items:baseline;gap:8px}
.rt-turn-no{font-family:var(--serif);font-size:15px;font-weight:650;color:var(--ink)}
.rt-turn-time{font-size:10.5px;color:var(--ink-4)}
.rt-turn-badges{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-left:auto}
.rt-turn-messages{display:grid;gap:8px;margin-top:12px}
.rt-turn-message{display:grid;grid-template-columns:48px minmax(0,1fr);gap:8px;align-items:start}
.rt-message-role{font-size:10.5px;font-weight:650;color:var(--ink-4);padding-top:2px}
.rt-turn-message p{margin:0;font-size:12.5px;line-height:1.65;color:var(--ink-2);overflow-wrap:anywhere}
.rt-turn-message:first-child p{color:var(--ink);font-weight:600}
.rt-turn-verdict{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap;margin-top:11px;font-size:11px;line-height:1.55;color:var(--ink-3)}
.rt-turn-verdict b{color:var(--ink-2);flex:none}
.rt-turn-verdict .badge{margin-left:auto}
.rt-turn-expand{margin-top:12px;border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2)}
.rt-turn-expand>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;cursor:pointer;font-size:11.5px;font-weight:650;color:var(--ink-2)}
.rt-turn-expand>summary span:last-child{font-family:var(--mono);font-size:10.5px;font-weight:400;color:var(--ink-4)}
.rt-turn-expand[open]>summary{color:var(--gold-ink)}
.rt-turn-expand-bd{padding:2px 0 8px}
.rt-turn-id{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:14px;font-size:10.5px;color:var(--ink-4)}
.rt-turn-id code{color:var(--ink-2);overflow-wrap:anywhere}
.rt-trace-list{display:grid;gap:4px;margin:6px 0 10px}
.rt-trace-item{display:grid;grid-template-columns:54px minmax(0,1fr) 26px;gap:6px;align-items:center;padding:4px 0;border-bottom:1px dashed var(--line-2)}
.rt-trace-item:last-child{border-bottom:0}
.rt-trace-index{font-size:10px;color:var(--ink-4);white-space:nowrap}
.rt-trace-item .rt-trace-open{min-width:0;white-space:normal;overflow-wrap:anywhere;text-align:left;font-size:10.5px;line-height:1.5}
.rt-turn-expand-bd .rt-track-section{padding:12px 0}
.rt-turn-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:10px}
.rt-data-source{display:flex;align-items:flex-start;gap:7px;font-size:11px;color:var(--ink-4);line-height:1.6;margin-top:14px}
.rt-data-source .ico{width:13px;height:13px;margin-top:2px;flex:none}

/* 平台首页 · 轻量运行与执行汇总（明细只保留在各工作台） */
.home-runtime-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.home-runtime-kpis-five{grid-template-columns:repeat(5,minmax(0,1fr))}
.home-runtime-kpi{display:flex;align-items:center;gap:9px;padding:9px 10px;border:1px solid var(--line-2);border-radius:var(--radius-sm);background:var(--surface-2)}
.home-runtime-kpi .dot{flex:none}
.home-runtime-kpi b{font-size:20px;line-height:1;font-variant-numeric:tabular-nums}
.home-runtime-kpi span:last-child{font-size:11px;color:var(--ink-3)}
.ex-filters{align-items:flex-end;padding:12px 14px;border-bottom:1px solid var(--line-2)}
.execution-drawer-left .notice{margin-bottom:12px}

@media (max-width:1280px){
  .rt-kpi-note{display:none}
  .home-runtime-kpis-five{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:980px){
  .rt-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rt-filter-field.search{max-width:none}
}
@media (max-width:640px){
  .page-head:has(#rtPause){flex-direction:column;gap:10px}
  .page-head:has(#rtPause) .page-actions{margin-left:0;flex-wrap:wrap}
  .rt-kpis{grid-template-columns:1fr 1fr;gap:8px}
  .rt-kpi{padding:11px;gap:9px;min-height:74px}
  .rt-kpi-icon{width:30px;height:30px}
  .rt-kpi-value{font-size:21px}
  .rt-filter-field{min-width:calc(50% - 5px)}
  .rt-filter-field.search{min-width:100%}
  .rt-only-attention{height:30px}
  .rt-drawer-hd,.rt-drawer-bd,.rt-drawer-ft{padding-left:14px;padding-right:14px}
  .rt-turn-badges{margin-left:0}
  .rt-turn-message{grid-template-columns:42px minmax(0,1fr)}
  .rt-trace-item{grid-template-columns:48px minmax(0,1fr) 26px}
  .home-runtime-kpis{grid-template-columns:1fr 1fr}
  .home-runtime-kpis-five .home-runtime-kpi:last-child{grid-column:1/-1}
}
@media (prefers-reduced-motion:reduce){
  .rt-connection-dot{animation:none}
  .rt-drawer,.rt-drawer-mask{animation:none}
}
