.xim-wrap .xim-toolbar{display:flex;gap:12px;align-items:center;margin:16px 0;flex-wrap:wrap}
.xim-wrap .xim-toolbar label{display:flex;align-items:center;gap:6px}
.xim-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 0}
.xim-panel{background:#fff;border:1px solid #dcdcde;border-radius:14px;padding:16px;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.xim-summary{margin-top:16px}
.xim-event{border:1px solid #e5e7eb;border-radius:12px;padding:12px;margin-bottom:12px;background:#fafafa}
.xim-event.pass{border-left:6px solid #008a20}
.xim-event.fail{border-left:6px solid #b32d2e}
.xim-event.info,.xim-event.running,.xim-event.ready,.xim-event.paused{border-left:6px solid #2271b1}
.xim-event.warn,.xim-event.stopped{border-left:6px solid #996800}
.xim-event-head{margin-bottom:6px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.xim-mini{color:#6b7280;font-size:12px}
.xim-badge{display:inline-block;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.04em}
.xim-pass,.xim-passed{background:#e7f6ea;color:#0f6b2b}
.xim-fail,.xim-failed{background:#fdeaea;color:#9f1d1d}
.xim-running,.xim-info,.xim-ready,.xim-paused{background:#e8f1fb;color:#1f5e9d}
.xim-warn,.xim-stopped{background:#fff6db;color:#8a6100}
.xim-details{margin-top:6px;color:#50575e}
#xim_notice{margin:12px 0}
@media (max-width: 900px){.xim-grid{grid-template-columns:1fr}}

.xim-shortcodes{margin:8px 0 0}
.xim-shortcodes code{margin-right:6px;padding:2px 8px;border-radius:999px;background:#f6f7f7}
.xim-flow-panel{padding:14px 16px}
.xim-flow-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.xim-flow-panel-head h2{margin:0}
.xim-flow-panel-head p{margin:0;color:#646970}
.xim-flow-preview{background:linear-gradient(180deg,#fbfdff 0%,#f4f7fb 100%);border:1px solid #e2e8f0;border-radius:12px;padding:10px 12px;overflow:auto}
.xim-upload-grid{grid-template-columns:1fr 1fr}
.xim-upload-card{background:#fff;border:1px solid #dcdcde;border-radius:14px;padding:16px;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.xim-upload-card h3{margin-top:0}
.xim-upload-label{display:flex;flex-direction:column;gap:8px;color:#50575e;margin-bottom:12px}
.xim-upload-label input[type=file]{max-width:100%}
.xim-upload-meta{margin:12px 0 0;color:#646970}
.xim-short-panel{max-width:100%}
.xim-monitor-shell,.xim-flow-shortcode{background:#fff;border:1px solid #dcdcde;border-radius:16px;padding:18px;box-shadow:0 2px 10px rgba(15,23,42,.04)}
.xim-monitor-headline{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap;margin-bottom:12px}
.xim-monitor-title{font-size:24px;font-weight:700;color:#1f2937}
.xim-monitor-subtitle{color:#6b7280;margin-top:2px}
.xim-monitor-meta{display:flex;gap:8px;flex-wrap:wrap}
.xim-chip{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#f3f6fa;border:1px solid #dde5ef;color:#425466;font-size:12px;font-weight:600}
.xim-monitor-canvas{background:linear-gradient(180deg,#fcfdff 0%,#f7f9fc 100%);border:1px solid #e5ebf2;border-radius:14px;padding:8px 10px;overflow:auto}
.xim-flow-svg{width:100%;height:auto;min-width:640px;max-width:860px;display:block;margin:0 auto}
.xim-flow-line{fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;opacity:.95}
.xim-flow-line.idle{stroke:#c8d3e0}
.xim-flow-line.active{stroke:url(#ximFlowGlow);filter:url(#ximSoftGlow)}
.xim-flow-node rect{fill:#fff;stroke:#d7e0ea;stroke-width:1.2}
.xim-flow-node text{font-size:11px;font-weight:600;fill:#344054;text-anchor:middle;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.xim-flow-node.completed rect{fill:#f9fffb;stroke:#84cc9a}
.xim-flow-node.current rect{fill:#f7fbff;stroke:#4a89dc;filter:url(#ximSoftGlow)}
.xim-flow-node.pass rect{fill:#f7fff9;stroke:#60b978}
.xim-flow-node.fail rect{fill:#fff8f8;stroke:#d46a6a}
.xim-flow-check-bg{fill:#eaf7ee;stroke:#84cc9a}
.xim-flow-check{font-size:9px;font-weight:700;fill:#1f7a38;text-anchor:middle}
@media (max-width: 900px){.xim-upload-grid{grid-template-columns:1fr}.xim-flow-panel-head{display:block}}

.xim-main-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 0}
.xim-activity-stream{min-height:420px}
.xim-empty-state{display:flex;align-items:center;justify-content:center;min-height:280px;text-align:center;color:#646970;background:#f6f7f7;border:1px dashed #c3c4c7;border-radius:12px;padding:24px}
.xim-load-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.xim-load-row select{min-width:220px}
.xim-msg-left{max-width:85%;margin-right:auto}
.xim-msg-right{max-width:85%;margin-left:auto}
.xim-event.xim-marker-right{border-left:1px solid #e5e7eb;border-right:6px solid #008a20}
.xim-event.fail.xim-marker-right{border-right-color:#b32d2e}
.xim-event.info.xim-marker-right,.xim-event.running.xim-marker-right,.xim-event.ready.xim-marker-right,.xim-event.paused.xim-marker-right{border-right-color:#2271b1}
.xim-flow-svg{max-width:100%;height:auto;display:block;margin:0 auto}
#xim_next.xim-working{animation: ximBlink .85s linear infinite}
@keyframes ximBlink{0%,100%{opacity:1}50%{opacity:.35}}
@media (max-width: 900px){.xim-main-grid{grid-template-columns:1fr}}


/* v0.2.4 activity newest-first */
#xim_activity_panel,
#xim_activity_stream{
  display:flex;
  flex-direction:column;
  gap:10px;
}


/* v0.2.6 real fixes */
.xim-blink-working{
  animation: ximBlinkWorking .85s linear infinite;
}
@keyframes ximBlinkWorking{
  0%,100%{opacity:1}
  50%{opacity:.35}
}


/* v0.2.7 step detail display */
.xim-event-details{
  font-size:12px;
  color:#646970;
  margin-top:4px;
  line-height:1.4;
}
