/* PA-04/05/06: check-in controls, the Open computer card, and the memory
   sections of Memory & work. Grayscale; colour only for state (amber:
   waiting on you, green: open/live). */

/* ---- Check-in controls under a proactive message ---- */
.pa-card { margin-top:8px; display:grid; gap:8px; max-width:640px; }
.pa-action { display:flex; align-items:center; gap:12px; justify-content:space-between; border:1px solid var(--line-2); border-radius:14px; background:var(--panel-2); padding:10px 12px; }
.pa-action-copy { display:grid; gap:2px; min-width:0; }
.pa-action-copy small { font-size:11.5px; color:var(--ink-3); }
.pa-action-copy span { font-size:13px; color:var(--ink); overflow-wrap:anywhere; }
.pa-controls { display:flex; flex-wrap:wrap; gap:6px; }
.pa-controls .btn { min-height:28px; padding:4px 10px; font-size:12.5px; }
.pa-controls .btn[aria-pressed="true"] { box-shadow:inset 0 0 0 1.5px var(--ink); color:var(--ink); }
.pa-status { margin:0; min-height:0; font-size:12px; color:var(--ink-3); }
.pa-status:empty { display:none; }

/* ---- Open computer card (PA-06) ---- */
.person-gate-card[data-person-gate-kind="open_computer"] { padding:0; border:0; background:transparent; }
.oc-card { max-width:420px; border:1px solid var(--line-2); border-radius:18px; background:var(--panel-2); padding:14px 16px; font-size:13px; box-sizing:border-box; }
.oc-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.oc-head strong { font-size:14px; font-weight:600; color:var(--ink); }
.oc-badge { display:inline-flex; align-items:center; gap:6px; padding:3px 10px; border-radius:999px; background:var(--quiet, rgba(127,127,127,.12)); color:var(--ink-2); font-size:12px; white-space:nowrap; }
.oc-badge i { width:7px; height:7px; border-radius:50%; background:var(--ink-3); }
.oc-badge[data-oc-badge="waiting"] i { background:var(--amber); }
.oc-badge[data-oc-badge="opened"] i { background:var(--green); }
.oc-need { margin:8px 0 0; font-size:13.5px; line-height:1.45; color:var(--ink); overflow-wrap:anywhere; }
.oc-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.oc-actions .btn svg { width:15px; height:15px; margin-right:6px; vertical-align:-3px; }
.oc-actions [hidden] { display:none; }
.oc-note { margin:8px 0 0; font-size:12px; color:var(--ink-3); }
.oc-note:empty { display:none; }
.msg.system.oc-line { justify-content:flex-start; }
.msg.system.oc-line .msg-body { max-width:420px; width:100%; }
.oc-card[data-oc-state="done"] .oc-need, .oc-card[data-oc-state="skipped"] .oc-need { color:var(--ink-2); }

/* ---- Memory & work: check-in, notes, what I learned ---- */
.pa-sect { margin-top:20px; padding-top:16px; border-top:1px solid var(--line-2); }
.pa-sect h3 { margin:0 0 4px; }
.pa-sect h4 { margin:12px 0 6px; font-size:13px; font-weight:600; }
.pa-sect h4 small { font-weight:400; color:var(--ink-3); margin-left:6px; }
.pa-switch { display:inline-flex; align-items:center; gap:8px; margin:6px 0; font-size:13.5px; cursor:pointer; }
.pa-row { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:10px; margin-top:8px; }
.pa-row[hidden], .pa-kinds[hidden] { display:none; }
.pa-row .field { margin:0; }
.pa-row input, .pa-row select { width:100%; box-sizing:border-box; }
.pa-kinds { margin-top:10px; }
.pa-kinds summary { cursor:pointer; font-size:13px; color:var(--ink-2); }
.pa-kind { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:6px 0; border-bottom:1px solid var(--line-2); font-size:13px; }
.pa-kind:last-child { border-bottom:0; }
.pa-saved { font-size:12px; color:var(--ink-3); margin:6px 0 0; }
.pa-saved:empty { display:none; }
.pa-notes { list-style:none; margin:0; padding:0; display:grid; gap:4px; }
.pa-note { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:6px 0; border-bottom:1px solid var(--line-2); font-size:13px; line-height:1.45; }
.pa-note span { overflow-wrap:anywhere; min-width:0; }
.pa-note small { color:var(--ink-3); margin-right:6px; }
.pa-note.is-old span { color:var(--ink-3); text-decoration:line-through; }
.pa-forget { font-size:12px; color:var(--ink-3); width:auto; padding:2px 6px; flex:none; }
.pa-forget:hover { color:var(--red); }
.pa-search { display:flex; gap:8px; margin-top:10px; }
.pa-search input { flex:1; min-width:0; border:1px solid var(--line-2); border-radius:9px; padding:7px 11px; background:var(--panel-2); color:var(--ink); font-size:14px; }
.pa-search input:focus { outline:none; border-color:var(--accent-line); box-shadow:0 0 0 3px var(--accent-soft); }
.pa-learned { padding:10px 0; border-bottom:1px solid var(--line-2); font-size:13px; }
.pa-learned:last-child { border-bottom:0; }
.pa-learned h4 { margin:0 0 4px; }
.pa-learned-body { color:var(--ink-2); line-height:1.5; margin-bottom:6px; }

@media (max-width: 640px) {
  .pa-row { grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .pa-action { flex-direction:column; align-items:stretch; }
  .pa-action .btn { justify-content:center; text-align:center; }
  .oc-card { max-width:100%; }
  .oc-actions .btn { flex:1; justify-content:center; }
}

.pa-confirm { margin-top:10px; border:1px solid var(--line-2); border-radius:12px; padding:10px 12px; background:var(--panel-2); font-size:13px; }
.pa-confirm p { margin:0 0 6px; }
.pa-confirm ul { margin:0 0 8px; padding-left:18px; color:var(--ink-2); }
.pa-confirm li { overflow-wrap:anywhere; }
