/* One utility column: Computer, Tasks, Routines and Artifacts. No live nodes are moved on toggle. */
.ctp-utility { display:flex; flex-direction:column; flex:1; min-height:0; min-width:0; overflow:auto; overscroll-behavior:contain; }
.ctp-utility > * { flex:0 0 auto; min-width:0; }
.ctp-utility > .brt-dock { flex:0 0 auto; }
.ctp-section { min-width:0; border-bottom:1px solid var(--line); }
.ctp-section-toggle { width:100%; display:flex; align-items:center; gap:8px; min-height:44px; padding:9px 12px; border:0; border-radius:0; background:var(--panel); color:var(--ink); font:inherit; font-size:12px; font-weight:600; text-align:left; cursor:pointer; }
.ctp-section-toggle:hover { background:var(--bg); }
.ctp-section-toggle:focus-visible { outline:2px solid var(--acc); outline-offset:-3px; }
.ctp-chevron { color:var(--dim); font-size:20px; line-height:1; transition:transform .15s; }
.ctp-section-toggle[aria-expanded="true"] .ctp-chevron { transform:rotate(90deg); }
.ctp-task-badge { margin-left:auto; }
.ctp-section-body { min-width:0; max-height:min(70dvh,800px); overflow:auto; overscroll-behavior:contain; }
.ctp-section-body[hidden] { display:none!important; }
.ctp-size-grip { height:12px; position:relative; cursor:ns-resize; touch-action:none; background:var(--panel); }
.ctp-size-grip::before { content:""; position:absolute; left:calc(50% - 18px); top:5px; width:36px; height:2px; border-radius:2px; background:var(--dim); opacity:.65; }
.ctp-size-grip:hover::before, .ctp-size-grip:focus-visible::before { background:var(--acc); opacity:1; }
.ctp-size-grip:focus-visible { outline:2px solid var(--acc); outline-offset:-2px; }
.ctp-section-body[hidden] + .ctp-size-grip { display:none; }
.ctp-section .ctp-pane { border-bottom:0; }
.ctp-section .ctp-list { max-height:none; }
.ctp-section .afx { max-height:none; }
.ctp-section .ctp-head > b, .ctp-section .ctp-head > .ctp-badge, .ctp-section .brt-title, .ctp-section .afx-title { display:none; }
.ctp-section .ctp-head { padding-top:0; padding-bottom:7px; }
.ctp-section .brt-dock > .hd, .ctp-section .afx > .hd { padding-top:0; }
@media (prefers-reduced-motion:reduce) { .ctp-chevron { transition:none; } }
.ctp-utility .brt-list { flex:0 0 auto; overflow:visible; }
.ctp-pane { min-width:0; flex:0 0 auto; border-bottom:1px solid var(--line); color:var(--ink); font-size:12px; }
.ctp-head { display:flex; align-items:center; gap:8px; padding:9px 12px; color:var(--acc); letter-spacing:.1em; }
.ctp-badge { color:var(--acc); font-variant-numeric:tabular-nums; }
.ctp-refresh { margin-left:auto; }
.ctp-pane button { cursor:pointer; background:none; border:1px solid var(--line); border-radius:4px; color:inherit; font:inherit; padding:4px 7px; }
.ctp-pane button:focus-visible, .ctp-job > summary:focus-visible { outline:2px solid var(--acc); outline-offset:2px; }
.ctp-member { margin:0 12px 8px; width:calc(100% - 24px); min-width:0; font:inherit; }
.ctp-member[hidden] { display:none; }
.ctp-filters { display:flex; flex-wrap:wrap; gap:8px; padding:0 12px 8px; }
.ctp-tabs { display:flex; flex:1 1 auto; min-width:0; padding:2px; border:1px solid var(--line); border-radius:7px; background:var(--bg); }
.ctp-tabs .ctp-tab { flex:1; min-width:0; min-height:32px; padding:5px 7px; border-color:transparent; border-radius:5px; white-space:nowrap; }
.ctp-tab[aria-pressed="true"] { color:var(--acc); border-color:var(--line); background:var(--panel); font-weight:600; }
.ctp-status, .ctp-empty, .ctp-meta { color:var(--dim); line-height:1.5; font-size:11px; padding:4px 12px; margin:0; overflow-wrap:anywhere; }
.ctp-error { color:var(--bad); }
.ctp-list { max-height:48vh; overflow:auto; overscroll-behavior:contain; min-width:0; padding:4px 8px 10px; }
.ctp-job { border:1px solid var(--line); border-radius:5px; margin:5px 0; min-width:0; }
.ctp-job > summary { cursor:pointer; padding:8px; overflow-wrap:anywhere; }
.ctp-title { margin-right:8px; }
.ctp-state { color:var(--dim); font-size:11px; display:inline-block; }
.ctp-state[data-state="working"] { color:var(--acc); }
.ctp-state[data-state="complete"] { color:var(--ok); }
.ctp-state[data-state="waiting"], .ctp-state[data-state="blocked"], .ctp-state[data-state="interrupted"] { color:var(--warn); }
.ctp-state[data-state="failed"] { color:var(--bad); }
.ctp-steps { list-style:none; margin:12px 10px; padding:0; }
.ctp-steps > li { position:relative; display:grid; grid-template-columns:22px minmax(0,1fr); gap:9px; padding:0 0 18px; overflow-wrap:anywhere; }
.ctp-steps > li:last-child { padding-bottom:0; }
.ctp-steps > li:not(:last-child)::before { content:""; position:absolute; left:10px; top:22px; bottom:0; width:2px; background:var(--line); }
.ctp-steps > li[data-link="complete"]::before { background:var(--ok); }
.ctp-marker { position:relative; display:grid; place-items:center; align-self:start; width:22px; height:22px; border:2px solid var(--line); border-radius:50%; background:var(--panel); color:var(--dim); font-size:13px; font-weight:700; line-height:1; }
.ctp-steps > li[data-state="complete"] .ctp-marker { border-color:var(--ok); background:var(--ok); color:var(--bg); }
.ctp-steps > li:is([data-state="upcoming"],[data-state="skipped"],[data-state="stopped"]) .ctp-marker { border-color:var(--dim); opacity:.6; }
.ctp-steps > li[data-state="working"] .ctp-marker { border-color:var(--acc); box-shadow:0 0 0 3px color-mix(in srgb,var(--acc) 15%,transparent); }
.ctp-steps > li[data-state="working"] .ctp-marker::after { content:""; width:8px; height:8px; border-radius:50%; background:var(--acc); }
.ctp-steps > li:is([data-state="waiting"],[data-state="blocked"],[data-state="interrupted"]) .ctp-marker { border-color:var(--warn); color:var(--warn); }
.ctp-steps > li[data-state="failed"] .ctp-marker { border-color:var(--bad); color:var(--bad); }
.ctp-step-body { min-width:0; display:grid; gap:3px; }
.ctp-label { all:unset; display:block; min-width:0; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; line-height:1.45; cursor:pointer; }
.ctp-label.open { white-space:pre-wrap; overflow-wrap:anywhere; }
.ctp-label:hover { color:var(--acc); }
.ctp-current-button { margin-left:auto; white-space:nowrap; }
.ctp-current-button[hidden] { display:none; }
.ctp-step-activity { min-width:0; margin:5px 0 2px; padding:5px 0 0 11px; border-left:2px solid var(--ok); }
.ctp-activity-head { font-size:10px; color:var(--dim); letter-spacing:.07em; margin-bottom:4px; }
.ctp-activity-list { list-style:none; padding:0; margin:0; min-width:0; }
.ctp-activity-list li { position:relative; min-width:0; padding:2px 0 2px 8px; }
.ctp-activity-list li::before { content:""; position:absolute; width:7px; height:7px; border-radius:50%; background:var(--ok); left:-16px; top:10px; }
.ctp-activity-label { display:block; width:100%; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; text-align:left; border:0!important; padding:2px 0!important; }
.ctp-activity-full { white-space:pre-wrap; overflow-wrap:anywhere; color:var(--dim); padding:3px 0 5px; }
.ctp-activity-detail pre { max-height:160px; overflow:auto; white-space:pre-wrap; overflow-wrap:anywhere; margin:4px 0; font-size:11px; }
.ctp-activity-expand { margin:4px 0; }
.ctp-activity { min-width:0; margin:12px 8px; border-top:1px solid var(--line); padding-top:8px; }
.ctp-activity-head { margin:0 0 8px; font-size:11px; letter-spacing:.08em; color:var(--dim); }
.ctp-activity-answer { min-width:0; margin:0 0 10px; }
.ctp-activity .wk-list { border-left:2px solid var(--ok); padding-left:14px; margin-left:12px; }
.ctp-activity .wk-step { position:relative; min-width:0; }
.ctp-activity .wk-step::before { content:""; position:absolute; left:-21px; top:9px; width:10px; height:10px; border-radius:50%; background:var(--ok); border:2px solid var(--panel); }
.ctp-activity .wk-row { min-width:0; }
.ctp-activity .wk-label { min-width:0; display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ctp-activity .wk-step[data-open='1'] .wk-label { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ctp-activity .wk-full-label { overflow-wrap:anywhere; white-space:pre-wrap; }
.ctp-summary { margin:4px 10px; white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.5; }
.ctp-current-step { margin:5px 10px; padding:5px 7px; border-left:2px solid var(--acc); color:var(--ink); font-weight:600; line-height:1.4; overflow-wrap:anywhere; }
.ctp-steps .ctp-summary { margin:0; color:var(--dim); }
.ctp-shortcut { display:inline-flex; gap:6px; align-items:center; }
.ctp-user-dock { min-width:0; overflow:auto; background:var(--panel); border:1px solid var(--line); border-radius:6px; }
.ctp-close { display:none; }
.uc-grid:has(> .ctp-user-dock) { grid-template-columns:minmax(180px,240px) minmax(0,1fr) minmax(220px,300px); }
@media (max-width:1000px) {
  .uc-grid:has(> .ctp-user-dock) { grid-template-columns:minmax(150px,220px) minmax(0,1fr); }
  .ctp-user-dock { position:fixed; inset:10vh 0 0 auto; width:min(400px,94vw); z-index:45; visibility:hidden; transform:translateX(100%); transition:transform .2s; box-shadow:0 0 0 100vmax #0005; }
  .ctp-user-dock.ctp-sheet { visibility:visible; transform:none; }
  .ctp-close { display:block; margin:8px 12px; }
  .ctp-user-dock .ctp-list { max-height:65vh; }
}
@media (max-width:760px) { .uc-grid:has(> .ctp-user-dock) { grid-template-columns:minmax(0,1fr); } }
@media (max-width:760px) { .ctp-section-body { height:auto!important; max-height:65dvh; } .ctp-size-grip { display:none; } }
@media (prefers-reduced-motion:reduce) { .ctp-user-dock { transition:none; } }
