/* e4a.css -- bouwen, draaien, foutmarkering. Leeg; de e4a-agent vult dit. Gebruik de tokens uit core.css (var(--surface) enz.). */

/* ---- the Run/Stop buttons above the editor (S-0000-0574): top right of the tab strip ---- */
#main { position: relative; }
.runbar {
  position: absolute; top: 0; right: 0; height: var(--tab-h); z-index: 3;
  display: flex; align-items: center; gap: 6px; padding: 0 10px 0 14px;
  background: var(--surface);
}
.runbar[hidden] { display: none; }
body.panelopen.panelmax .runbar { display: none; }
.runbar button {
  font: calc(var(--ui-fs) * 12 / 13) var(--font-ui); border-radius: 4px; padding: 3px 12px;
  border: 1px solid var(--rule); background: var(--surface2); color: var(--text-strong); cursor: pointer;
}
.runbar .runbar-run { background: var(--ok); border-color: var(--ok); color: #fff; }
.runbar button:disabled { opacity: .45; cursor: default; }

/* ---- Publish (S-0000-0531): the button, the chip once published, and its small panel ---- */
.runbar .runbar-publish { background: var(--accent); border-color: var(--accent); color: var(--accent-tx); }
.runbar .runbar-pubchip { background: var(--surface2); }
.runbar .runbar-pubchip.live { border-color: var(--ok); color: var(--ok); }
.runbar .runbar-pubchip.paused { border-color: var(--attn); color: var(--attn); }
.runbar .runbar-pubchip.error { border-color: var(--danger); color: var(--danger-tx); }
.pubpanel { position: absolute; top: var(--tab-h); right: 10px; z-index: 20; min-width: 320px; max-width: 520px;
  background: var(--surface); border: 1px solid var(--rule); border-radius: 6px; padding: 10px 12px;
  box-shadow: 0 6px 18px rgba(0,0,0,.35); display: flex; flex-direction: column; gap: 8px; font: var(--ui-fs) var(--font-ui); }
.pubpanel[hidden] { display: none; }
.pubpanel-title { font-weight: 600; color: var(--text-strong); }
.pubpanel-url { display: flex; gap: 8px; align-items: center; min-width: 0; }
.pubpanel-url a { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--accent-hi); }
.pubpanel-hint { color: var(--text-dim); font-size: calc(var(--ui-fs) * .9); }
.pubpanel-err { color: var(--danger-tx); }
.pubpanel-acts { display: flex; gap: 6px; }
.pubpanel-btn { background: var(--surface2); color: var(--text); border: 1px solid var(--rule); border-radius: 4px; padding: 3px 10px; font: inherit; cursor: pointer; }
.publogs { display: flex; flex-direction: column; height: 100%; padding: 10px 14px; gap: 8px; box-sizing: border-box; }
.publogs-bar { display: flex; gap: 10px; align-items: center; }
.publogs-text { flex: 1; margin: 0; overflow: auto; font: var(--code-fs) var(--font-code); white-space: pre-wrap; color: var(--text); background: var(--bg); border: 1px solid var(--rule); border-radius: 4px; padding: 8px; }
.sched { display: flex; flex-direction: column; height: 100%; padding: 10px 14px; gap: 8px; box-sizing: border-box; overflow: auto; }
.sched-list { display: flex; flex-direction: column; gap: 6px; }
.sched-row { display: flex; gap: 12px; align-items: center; font: var(--ui-fs) var(--font-ui); }
.sched-name { font-weight: 600; color: var(--text-strong); min-width: 8em; }
.sched-when { color: var(--text-dim); font-family: var(--font-code); min-width: 14em; }
.sched-last.ok { color: var(--ok); }
.sched-last.bad { color: var(--danger-tx); }
.sched-log { margin: 0 0 6px; max-height: 18em; overflow: auto; font: var(--code-fs) var(--font-code); white-space: pre-wrap; background: var(--bg); border: 1px solid var(--rule); border-radius: 4px; padding: 8px; }
.sched-empty { color: var(--text-dim); }
.sched-refused { margin: 0 0 6px; color: var(--danger-tx); }
