.console-controls{display:flex;align-items:center;gap:14px}
.console-status{display:inline-flex;align-items:center;gap:7px;color:#8994a8;font:9px var(--mono);letter-spacing:.08em}
.console-status:before{content:"";width:7px;height:7px;border-radius:50%;background:#788397}
.console-status[data-state="ok"]{color:#78dfb5}
.console-status[data-state="ok"]:before{background:#62e6bc;box-shadow:0 0 9px #62e6bc88}
.console-status[data-state="error"]{color:#ff9aa7}
.console-status[data-state="error"]:before{background:#ff7587}
.console-status[data-state="idle"]:before{background:#e7bb71}
.logs{max-height:520px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:700px){.console-controls{align-items:flex-end;flex-direction:column;gap:6px}}
.operation-banner{display:flex;align-items:center;gap:10px;margin:-6px 0 17px;padding:12px 14px;border:1px solid #303344;border-radius:9px;background:#141824;color:#d9ddec}
.operation-banner b{flex:1;font-size:10px;font-weight:500;line-height:1.55}
.operation-banner small{color:#a99ae0;font:9px var(--mono);letter-spacing:.07em;white-space:nowrap}
.operation-indicator{width:8px;height:8px;border-radius:50%;background:#9c8ae0;flex:none}
.operation-banner[data-status="running"] .operation-indicator{background:#f0bc70;box-shadow:0 0 9px #f0bc7066;animation:operation-pulse 1.2s infinite alternate}
.operation-banner[data-status="succeeded"] .operation-indicator{background:#62e6bc;box-shadow:0 0 8px #62e6bc66}
.operation-banner[data-status="failed"] .operation-indicator,.operation-banner[data-status="interrupted"] .operation-indicator{background:#ff7587}
@keyframes operation-pulse{to{opacity:.4}}
@media(max-width:700px){.operation-banner{align-items:flex-start}.operation-banner small{font-size:8px}}
