/* Control Room — the control layer: System checks, New connections, Message rules, Models by task, the Monday blocks.
   Uses the tokens of app.css. Status colours as everywhere: blue = working, amber = waits for you, green = done, red = problem. */

.pc code { padding: 1px 5px; border-radius: 5px; background: var(--sunk); font-size: .88em; }
.pc q { quotes: "\201C" "\201D"; }
.pc .tiles b.good { color: var(--moss); }
.pc .tiles b.bad { color: var(--brick); }
.pc .tiles b.amber { color: var(--amber-ink); }
.pc-ta { width: 100%; min-height: 72px; resize: vertical; font: inherit; }
.pc .form-row.stack { align-items: stretch; }

/* findings of the message rules */
.pc-clean { display: flex; align-items: center; gap: 6px; margin: 2px 0 0; color: var(--ink-2); }
.pc-finds { list-style: none; margin: 6px 0 4px; padding: 0; display: grid; gap: 6px; }
.pc-finds li { display: grid; gap: 1px; padding-left: 10px; border-left: 3px solid var(--amber); }
.pc-finds li.note { border-left-color: var(--cobalt); }
.pc-finds li span { color: var(--ink-2); font-size: 13.5px; line-height: 1.4; }
.pc-tryrow { display: flex; align-items: center; gap: 10px; margin: 8px 0; }
.pc-trybox { margin: 4px 0 0; padding: 12px 14px; border-radius: 14px; background: var(--moss-soft); font-size: 14px; }
.pc-trybox.note { background: var(--cobalt-soft); }
.pc-trybox.look { background: var(--amber-soft); box-shadow: inset 0 0 0 1px var(--amber-edge); }

/* Costs: the model for each kind of work */
.pc-task .when { white-space: nowrap; }
.pc-tiers { padding-bottom: 4px; margin-top: 6px; }
.pc-tiers .chip[disabled] { opacity: .6; }
.pc-levels { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 2px 0; }
.pc-lv { display: inline-flex; gap: 6px; align-items: baseline; padding: 4px 10px; border-radius: 12px; background: var(--surface-2); box-shadow: inset 0 0 0 1px var(--line); font-size: 13px; color: var(--ink-2); }
.pc-lv b { color: var(--ink); font-weight: 600; }

/* New connections */
.pc-conn { align-items: flex-start; gap: 10px; }
.pc-num { flex: none; display: inline-grid; place-items: center; min-width: 26px; height: 26px; margin-top: 2px; border-radius: 13px; background: var(--surface-2); box-shadow: inset 0 0 0 1px var(--line-strong); font-size: 12.5px; font-weight: 650; color: var(--ink-2); }
.pc-chips { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-top: 6px; }
.pc-why { display: flex; align-items: flex-start; gap: 6px; margin-top: 6px; color: var(--brick); font-size: 13px; }
.pc-why svg { flex: none; margin-top: 2px; }
.pc-tick { flex: none; display: inline-flex; margin-top: 3px; cursor: pointer; }
.pc-tick input { position: absolute; opacity: 0; }
.pc-tick i { width: 22px; height: 22px; border-radius: 7px; box-shadow: inset 0 0 0 2px var(--line-strong); background: var(--surface); display: inline-block; }
.pc-tick input:checked + i { background: var(--cobalt); box-shadow: none; }
.pc-tick input:checked + i::after { content: ""; display: block; width: 6px; height: 11px; margin: 3px 0 0 8px; border: solid #fff; border-width: 0 2.5px 2.5px 0; transform: rotate(45deg); }
.pc-tick input:focus-visible + i { outline: 2px solid var(--cobalt); outline-offset: 2px; }
.pc-act { flex: none; display: flex; align-items: center; gap: 6px; }
.pc-answer { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 4px; }
@media (max-width: 560px) { .pc-conn { flex-wrap: wrap; } .pc-act { width: 100%; justify-content: flex-end; } }

/* Today: the control layer's blocks */
.pc-today { margin: 4px 0 16px; padding: 14px 16px; border-radius: var(--r-group); background: var(--surface); }
.pc-today header { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.pc-today h3 { margin: 0; font: 650 17px/1.25 var(--display); letter-spacing: -.01em; }
.pc-today p { margin: 6px 0 0; color: var(--ink-2); font-size: 14.5px; line-height: 1.45; }
.pc-today .actions { margin-top: 10px; gap: 8px; flex-wrap: wrap; }

/* System checks */
.pc-verdict { margin: 14px 0 4px; padding: 16px 16px 14px; border-radius: var(--r-group); background: var(--surface); box-shadow: inset 4px 0 0 var(--moss); }
.pc-verdict.partly { box-shadow: inset 4px 0 0 var(--amber); }
.pc-verdict.no { box-shadow: inset 4px 0 0 var(--brick); }
.pc-vh { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.pc-line { margin: 10px 0 12px; font: 600 18px/1.35 var(--display); letter-spacing: -.01em; }
.pc-verdict .actions { margin-top: 12px; gap: 8px; flex-wrap: wrap; }
.pc-check { align-items: flex-start; gap: 10px; }
.pc-check .sig.dot-only { margin-top: 6px; flex: none; }
.pc-check.bad .t { color: var(--brick); }
.pc-group { margin: 12px 0 0; }
.pc-group > summary { display: flex; align-items: center; gap: 10px; padding: 10px 4px; cursor: pointer; font-size: 15.5px; list-style: none; }
.pc-group > summary::-webkit-details-marker { display: none; }
.pc-group > summary .muted { margin-left: auto; font-size: 13px; }
.pc-days .chip { gap: 6px; }
.pc-top { margin: 8px 0 0; padding-left: 18px; color: var(--ink-2); font-size: 14.5px; line-height: 1.45; }
.pc-top li.bad { color: var(--brick); }
.pc-checks.no { box-shadow: inset 4px 0 0 var(--brick); }
.pc-checks.partly { box-shadow: inset 4px 0 0 var(--amber); }
.pc-flag .quote { margin: 4px 0; color: var(--ink-2); font-style: normal; overflow-wrap: anywhere; }

/* the Monday blocks */
.pc-monday { margin-bottom: 22px; }
.pc-abcb { margin-top: 8px; }
.pc-abc .chip { min-height: 34px; }
