/* ============================================================
   nico-tasks.css — background tasks on web + Mac (UX.md §2.4, tasks §12).
   The Tasks view, the Today "Working on" strip, the chat chip and the Stop
   sheet. Tokens only; status colours from the semantic set (running --run,
   done --ok-text, failed --err icon with --text words). Nothing on --accent
   without --on-accent. The kit (.nx .card/.btn/.kic/.plan …) is nico-needs.css.
   ============================================================ */

/* ---------------- the view ---------------- */
#tasks-col {
  display: none; grid-column: 2 / -1; grid-row: 1; min-height: 0; flex-direction: column; background: var(--bg);
}
body[data-session="tasks"] #tasks-col { display: flex; }
body[data-session="tasks"] #thread-col,
body[data-session="tasks"] #canvas-col,
body[data-session="tasks"] #today-col { display: none; }
body[data-session="tasks"] #body { grid-template-columns: var(--sidebar-w, 280px) minmax(0, 1fr) 0; }
body[data-session="tasks"].sidebar-collapsed #body { grid-template-columns: 0 minmax(0, 1fr) 0; }
#tasksScroll { flex: 1; min-height: 0; overflow-y: auto; padding: 30px 26px 72px; }
/* Reserve a real header lane, so collapsed navigation never covers scrolling work. */
:root[data-skin="calm"] body.sidebar-collapsed[data-session="tasks"] #tasks-col { padding-top: 60px; box-sizing: border-box; }
:root[data-skin="calm"] body[data-session="tasks"] .calm-flead .calm-hb { min-width: 44px; min-height: 44px; }

.nx .tsk-page { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; align-items: start; }
#tasksView .nx-page { max-width:1120px; }
#tasksView .tsk-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:12px; }
#tasksView .tsk-heading h1 { font-weight:600; font-size:28px; }
#tasksView .tsk-heading .headline { font-size:13px; color:var(--text-3); }
#tasksView .tsk-heading > .btn { min-height:44px; flex:none; }
.nx .tsk-create-label { display:block; font-size:14px; font-weight:600; margin-bottom:8px; }
.nx .tsk-create-note { margin:8px 0 0; color:var(--text-3); font-size:12px; line-height:1.5; }
.nx .tsk-help { margin-top:28px; border-top:1px solid var(--line-soft); padding-top:8px; }
.nx .tsk-help > summary { min-height:44px; display:flex; align-items:center; cursor:pointer; color:var(--text-3); font-size:12px; gap:8px; }
.nx .tsk-help > summary::before { content:'+'; font-size:16px; }
.nx .tsk-help[open] > summary::before { content:'−'; }
.nx .tsk-help > .col { display:grid; grid-template-columns:1fr 1fr; margin-top:8px; }
.nx .tsk-help > summary:focus-visible { outline:2px solid var(--accent-text); outline-offset:2px; }
.nx .tsk-hand { padding: 8px 16px; }
.nx .ask-box { display: flex; align-items: center; gap: 8px; background: var(--bg); border: 0.5px solid var(--line-bright); border-radius: 10px; padding: 8px 8px 8px 12px; }
.nx .nx-hand-box { align-items: flex-end; }
.nx .nx-hand-box textarea {
  flex: 1; min-width: 0; min-height: 44px; max-height: 180px; border: 0; background: transparent; resize: vertical; color: var(--text);
  font: 13.5px/1.5 var(--sans); outline: none; padding: 2px 0;
}
.nx .nx-hand-box textarea::placeholder { color: var(--text-3); }
.nx .tsk-hand .nx-inline { margin-top: 10px; }
.nx .tsk-hand .btn { min-height: 44px; }
.nx .tsk-discovery { margin: 12px 0 6px; }
.nx .tsk-discovery label { display: block; font-size: 13px; font-weight: 600; margin-bottom: 8px; }
.nx .tsk-discovery input { box-sizing: border-box; width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid var(--line-bright); border-radius: 10px; background: var(--surface-1); color: var(--text); font: 14px var(--sans); }
.nx .tsk-filters { display: flex; flex-wrap: wrap; gap: 12px; margin: 12px 0; border-bottom:1px solid var(--line-soft); }
.nx .tsk-filters button { min-width:44px; min-height: 44px; padding: 8px 2px; border: 0; border-bottom:2px solid transparent; border-radius: 0; background: transparent; color: var(--text-3); font: 13px var(--sans); cursor: pointer; }
#tasksView .sugg button, #tasksView .nx-seg button { min-height:44px; }
.nx .tsk-filters button span { margin-left: 5px; padding:2px 5px; border-radius:4px; background:var(--surface-1); font: 11px var(--sans); }
.nx .tsk-filters button[aria-pressed="true"] { color: var(--text); background: transparent; border-color: var(--accent-text); }
#tasksView .tsk-status, #tasksView .sec, #tasksView .live-h { font-family:var(--sans); text-transform:none; letter-spacing:0; }
#tasksView .sec { font-size:13px; font-weight:600; color:var(--text-2); margin-top:12px; }
#tasksView .tsk-scope { margin:4px 0 0; }
.nx .tsk-discovery :focus-visible { outline: 2px solid var(--accent-text); outline-offset: 3px; }
.nx .tsk-load-error { margin-top: 12px; }
.nx .dot, .tsk-strip .dot { width: 7px; height: 7px; border-radius: 50%; background: var(--ok); flex: none; display: inline-block; }
.nx .dot.run, .tsk-strip .dot.run { background: var(--run); box-shadow: 0 0 0 3px var(--run-dim); animation: nxPulse 1.6s ease-in-out infinite; }
.nx .dot.acc, .tsk-strip .dot.acc { background: var(--accent); }
@keyframes nxPulse { 0%, 100% { box-shadow: 0 0 0 3px var(--run-dim); } 50% { box-shadow: 0 0 0 5px var(--run-dim); } }

.nx .tsk + .tsk { margin-top: 12px; }
.nx .tsk-top { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: start; }
.nx .tsk-title { font-size: 16px; font-weight: 600; letter-spacing: -0.01em; line-height: 1.3; color: var(--text); overflow-wrap: anywhere; }
.nx .tsk-status { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin-top: 5px; font-family: var(--mono); font-size: 11.5px; color: var(--text-3); }
.nx .tsk-status .st { color: var(--text-2); font-weight: 500; }
.nx .tsk-status .st.ok { color: var(--ok-text); }
.nx .tsk-status .st.run { color: var(--text); }
.nx .bar, .tsk-strip .bar { height: 3px; border-radius: 3px; background: var(--surface-3); overflow: hidden; display: block; }
.nx .bar > i, .tsk-strip .bar > i { display: block; height: 100%; background: var(--accent); border-radius: 3px; transition: width 0.4s ease; }
.nx .bar.run > i, .tsk-strip .bar.run > i { background: var(--run); }
.nx .tsk > .bar { margin: 12px 0 4px; }
.nx .live { margin-top: 10px; border-radius: 9px; background: var(--bg); border: 0.5px solid var(--line-soft); padding: 8px 12px; }
.nx .live-h { font-family: var(--mono); font-size: 10.5px; color: var(--text-3); text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 4px; display: flex; gap: 8px; align-items: center; }
.nx .live-l { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 8px; font-size: 12.5px; padding: 3px 0; color: var(--text-2); }
.nx .live-l .tm { font-family: var(--mono); font-size: 11px; color: var(--text-3); padding-top: 1px; }
.nx .live-l:last-child { color: var(--text); }
.nx .outcome-head { font-size: 15px; font-weight: 600; line-height: 1.45; margin: 12px 0 0; color: var(--text); }
.nx .outcome-sum { font-size: 14px; line-height: 1.6; margin: 6px 0 0; color: var(--text); max-width: 72ch; }
.nx .nx-asked { margin: 12px 0 0; padding: 8px 12px; border-left: 2px solid var(--line-bright); background: var(--bg); border-radius: 0 8px 8px 0; font-size: 13px; color: var(--text-2); line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.nx .nx-asked .mono { display: block; font-size: 10px; text-transform: uppercase; letter-spacing: 0.07em; color: var(--text-3); margin-bottom: 2px; }
.nx .nx-notes { margin-top: 16px; }
.nx .nx-notes .pr-sect { margin-bottom: 0; }
.nx .cta-bar {
  margin-top: 14px; display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 10px;
  background: var(--accent-dim); border: 0.5px solid var(--accent-line);
}
.nx .cta-bar .t { flex: 1; font-size: 13.5px; color: var(--text); }
.nx .cta-bar .t b { font-weight: 600; }
.nx .cta-bar .t small { display: block; font-size: 12px; color: var(--text-2); margin-top: 1px; }
.nx .nx-results { margin-top: 14px; }
.nx .nx-seg { display: inline-flex; padding: 3px; gap: 2px; border-radius: 9px; background: var(--surface-2); border: 0.5px solid var(--line); }
.nx .nx-seg button { border: 0; background: none; height: 26px; padding: 0 11px; border-radius: 7px; font: 12.5px var(--sans); color: var(--text-2); cursor: pointer; display: inline-flex; gap: 6px; align-items: center; }
.nx .nx-seg button.on { background: var(--surface-3); color: var(--text); font-weight: 500; box-shadow: 0 1px 2px oklch(0 0 0 / 0.15); }
.nx .nx-seg button .dim { color: var(--text-2); }
.nx .res { width: 100%; border-collapse: collapse; margin-top: 10px; font-size: 13px; }
.nx .res th { text-align: left; font-family: var(--mono); font-size: 10.5px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--text-3); font-weight: 500; padding: 6px 10px; border-bottom: 0.5px solid var(--line); }
.nx .res td { padding: 9px 10px; border-bottom: 0.5px solid var(--line-soft); vertical-align: top; color: var(--text); overflow-wrap: anywhere; }
.nx .res td.nm { font-weight: 500; }
.nx .res td small { display: block; font-weight: 400; font-size: 11.5px; color: var(--text-3); margin-top: 1px; }
.nx .res td small.mono { font-size: 11px; }
.nx .res td.mono { font-size: 12px; }
.nx .res td.why { color: var(--text-2); }
.nx .res tr:last-child td { border-bottom: 0; }
.nx .res-foot { display: flex; align-items: center; gap: 12px; padding: 8px 10px 0; font-size: 12px; color: var(--text-3); }
.nx .nx-findings { list-style: none; padding: 0; margin: 10px 0 0; display: flex; flex-direction: column; gap: 12px; }
.nx .nx-findings li { padding: 12px 14px; border-radius: 10px; background: var(--bg); border: 0.5px solid var(--line-soft); }
.nx .nx-findings .ft { font-weight: 600; font-size: 13.5px; }
.nx .nx-findings p { font-size: 13px; line-height: 1.55; color: var(--text-2); margin: 6px 0 0; }
.nx .nx-steps { margin-top: 14px; }
.nx .nx-steps summary { cursor: pointer; font-family: var(--mono); font-size: 10.5px; text-transform: uppercase; letter-spacing: 0.07em; color: var(--text-3); }
.nx .tsk-earlier { overflow: hidden; }
.nx .tsk-row { display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; gap: 12px; padding: 12px 16px; align-items: center; }
.nx .tsk-row + .tsk-row, .nx .tsk-row-open + .tsk-row, .nx .tsk-row + .tsk-row-open { border-top: 0.5px solid var(--line-soft); }
.nx .tsk-row .t { font-size: 13.5px; font-weight: 500; color: var(--text); }
.nx .tsk-row .s { font-size: 12.5px; color: var(--text-3); margin-top: 2px; line-height: 1.45; }
.nx .tsk-row-open .card { border: 0; border-radius: 0; }
.nx .nx-new { display: inline-block; margin-left: 6px; font: 600 10px var(--sans); padding: 1px 6px; border-radius: 999px; background: var(--accent); color: var(--on-accent); vertical-align: 1px; }
.nx .nx-empty-big { padding: 28px 24px; display: flex; align-items: flex-start; gap: 14px; margin-top: 16px; }
.nx .nx-empty-big .nx-empty-txt { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; min-width: 0; }
.nx .nx-empty-big h2 { font-size: 17px; font-weight: 600; margin: 6px 0 0; }
.nx .nx-empty-big p { font-size: 13px; color: var(--text-2); line-height: 1.55; max-width: 60ch; margin: 0; }
.nx .sugg { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 10px; }
.nx .sugg button { height: 28px; padding: 0 10px; border-radius: 7px; border: 0.5px solid var(--line); background: var(--surface-2); color: var(--text-2); font: 12px var(--sans); cursor: pointer; }
.nx .sugg button:hover { color: var(--text); background: var(--hover); }

/* ---------------- Today: "Working on" ---------------- */
.tsk-strip { display: flex; gap: 10px; align-items: stretch; margin: 0 0 18px; overflow-x: auto; padding-bottom: 2px; font-family: var(--sans); }
.tsk-strip .lbl { display: flex; align-items: center; gap: 8px; font-family: var(--mono); font-size: 10.5px; text-transform: uppercase; letter-spacing: 0.07em; color: var(--text-3); padding-right: 4px; white-space: nowrap; }
.tsk-strip .tsk-pill {
  min-width: 270px; max-width: 340px; flex: none; background: var(--surface-1); border: 0.5px solid var(--line); border-radius: 12px;
  padding: 10px 12px 11px; display: flex; flex-direction: column; gap: 6px; text-align: left; cursor: pointer; color: var(--text); font: inherit;
}
.tsk-strip .tsk-pill:hover { border-color: var(--line-bright); }
.tsk-strip .tsk-pill .t { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 500; min-width: 0; }
.tsk-strip .tsk-pill .t span:last-child { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.tsk-strip .tsk-pill .m { font-family: var(--mono); font-size: 11px; color: var(--text-3); display: flex; gap: 8px; min-width: 0; white-space: nowrap; }
.tsk-strip .tsk-pill .m.acc { color: var(--accent-text); }
.tsk-strip .tsk-pill .m .sp { flex: 1; }
.tsk-strip .nx-ell { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.tsk-strip .tsk-pill.review { border-color: var(--accent-line); }
.tsk-strip .tsk-more { align-self: center; flex: none; }

/* ---------------- chat chip ---------------- */
.handed.nx-chip {
  margin-top: 10px; display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; gap: 10px; align-items: center;
  padding: 10px 12px; border-radius: 12px; border: 0.5px solid var(--line); background: var(--surface-1); font-family: var(--sans); max-width: 680px;
}
.handed.nx-chip .t { font-size: 13.5px; font-weight: 500; color: var(--text); overflow-wrap: anywhere; }
.handed.nx-chip .nx-chip-m { min-width: 0; }
.handed.nx-chip .nx-chip-m .t { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.handed.nx-chip .s { font-family: var(--mono); font-size: 11px; color: var(--text-3); margin-top: 2px; line-height: 1.45; }

/* ---------------- Stop sheet ---------------- */
.nx .nx-sheet {
  position: fixed; left: 50%; top: 50%; transform: translate(-50%, -50%); z-index: 61; width: min(440px, calc(100vw - 32px));
  background: var(--surface-1); border: 0.5px solid var(--line-bright); border-radius: 14px; padding: 20px 20px 16px;
  box-shadow: 0 24px 60px oklch(0 0 0 / 0.32); outline: none; color: var(--text); font-family: var(--sans);
}
.nx .nx-sheet h2 { font-size: 17px; font-weight: 600; margin: 0 0 6px; }
.nx .nx-sheet p { font-size: 13.5px; color: var(--text-2); line-height: 1.55; margin: 0 0 12px; }
.nx .nx-check { display: flex; gap: 8px; align-items: center; font-size: 13px; color: var(--text); margin-bottom: 14px; }

/* ============================================================
   WAVE B (b2b spec §6; UX.md §2.4) — playbook tasks
   Waiting row · Credits meta · family tables · go-first cards · the card panel
   for the six execution-layer kinds · "What Nico understood". Tokens only; text on a
   tinted fill is --text / --text-2 (never --text-3), as the contrast audit measured.
   ============================================================ */
.nx .tsk.tsk-wait { border-color: var(--accent-line); }
.nx .tsk-waitrow {
  margin-top: 12px; display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; gap: 12px; align-items: center;
  padding: 12px 14px; border-radius: 10px; background: var(--accent-dim); border: 0.5px solid var(--accent-line);
}
.nx .tsk-waitrow .t { font-size: 13.5px; color: var(--text); min-width: 0; overflow-wrap: anywhere; }
.nx .tsk-waitrow .t b { font-weight: 600; }
.nx .tsk-waitrow .t small { display: block; font-size: 12px; color: var(--text-2); margin-top: 2px; }
.nx .tsk-waitrow .tx-wcredit { display: block; font-size: 11.5px; color: var(--text); margin-top: 2px; }
.nx .tsk-credits { display: flex; gap: 8px; align-items: baseline; flex-wrap: wrap; margin-top: 4px; font-size: 11.5px; color: var(--text-2); }
.nx .tsk-credits .k { font-size: 10px; text-transform: uppercase; letter-spacing: 0.07em; color: var(--text-3); }
.nx .tsk-foot .link { font-size: 12.5px; }

/* the outcome card per family */
.nx .tx-sec { margin-top: 16px; }
.nx .tx-sec > .pr-sect { margin-bottom: 6px; }
.nx .tx-tblwrap { overflow-x: auto; }
.nx .tx-tbl td { overflow-wrap: break-word; word-break: normal; }
.nx .tx-tbl td, .nx .tx-tbl th { padding-left: 8px; padding-right: 8px; }
.nx .tx-sec .tx-tbl { font-size: 12.5px; }
.nx .tx-tbl .nw, .nx .tx-tbl td.mono, .nx .tx-tbl td small.mono { white-space: nowrap; }
.nx .tx-tbl td.num, .nx .tx-tbl th.num { width: 28px; text-align: right; font-family: var(--mono); font-size: 11.5px; color: var(--text-2); }
.nx .tx-tbl td small.mono { font-size: 11px; }
.nx .tx-cs { display: inline-flex; vertical-align: 1px; margin-left: 3px; }
.nx .tx-cs i { width: 6px; height: 6px; border-radius: 2px; display: inline-block; background: var(--info); }
.nx .tx-cs.inf i { background: transparent; border: 1px dashed var(--text-2); width: 5px; height: 5px; }
.nx .src i.src-saleshub { background: var(--c-saleshub); }
.nx .src i.src-lusha { background: var(--c-lusha); }
.nx .tx-cs i.src-salestools { background: var(--c-salestools); }
.nx .tx-cs i.src-salesforce, .nx .tx-cs i.src-crm { background: var(--c-salesforce); }
.nx .tx-cs i.src-hubspot { background: var(--c-hubspot); }
.nx .tx-cs i.src-saleshub { background: var(--c-saleshub); }
.nx .tx-cs i.src-lusha { background: var(--c-lusha); }
.nx .tx-cs i.src-web { background: var(--c-firecrawl); }
.nx .tx-cs i.src-mail { background: var(--c-gmail); }
.nx a.src { text-decoration: none; }
.nx a.src:hover { color: var(--text); text-decoration: underline; }
.nx .tx-fit { display: inline-flex; align-items: center; gap: 6px; }
.nx .tx-fit .bar { width: 54px; height: 4px; }
.nx .tx-fit .bar > i { background: var(--accent); }
.nx .tx-fit .tier { font-size: 11px; color: var(--text-2); }
.nx .tx-st { display: inline-block; font-size: 11.5px; line-height: 1.4; padding: 1px 7px; border-radius: 999px; white-space: nowrap; color: var(--text); background: var(--surface-3); }
.nx .tx-st.ok { background: var(--ok-dim); }
.nx .tx-st.info { background: var(--info-dim); }
.nx .tx-st.run { background: var(--run-dim); }
.nx .tx-st.acc { background: var(--accent-dim); }
.nx .tx-second { margin-top: 14px; display: flex; flex-direction: column; gap: 6px; }
.nx .tx-kv { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 10px; font-size: 12.5px; color: var(--text-2); line-height: 1.5; }
.nx .tx-kv .k { font-family: var(--mono); font-size: 10.5px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--text-3); padding-top: 2px; }
.nx .tx-kv .mono { font-size: 12px; }
.nx .tx-how { margin-top: 10px; }
.nx .tx-how .res { max-width: 320px; }
.nx .tx-list-plain { margin: 0; padding-left: 16px; font-size: 13px; line-height: 1.55; color: var(--text-2); display: flex; flex-direction: column; gap: 3px; }
.nx .tx-list-plain b { color: var(--text); font-weight: 500; }
/* research: go-first cards */
.nx .tx-gos { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 10px; }
.nx .tx-go { border: 0.5px solid var(--accent-line); border-radius: 12px; background: var(--bg); padding: 12px 14px; display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.nx .tx-go-h { display: flex; gap: 8px; align-items: baseline; }
.nx .tx-go-h .nm { font-weight: 600; font-size: 14px; min-width: 0; overflow-wrap: anywhere; }
.nx .tx-go-h .nm small { display: block; font-weight: 400; font-size: 11px; color: var(--text-3); }
.nx .tx-rank { font-size: 11.5px; color: var(--text-2); }
.nx .tx-lanes { display: flex; flex-direction: column; gap: 4px; }
.nx .tx-lane { display: grid; grid-template-columns: 100px minmax(0, 1fr); gap: 8px; align-items: baseline; font-size: 12px; }
.nx .tx-lane .k { font-family: var(--mono); font-size: 10px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--text-3); }
.nx .tx-lane .v { display: flex; gap: 5px; flex-wrap: wrap; min-width: 0; }
.nx .tx-lane .chip { font-size: 11.5px; }
.nx .tx-ph { display: grid; grid-template-columns: 100px minmax(0, 1fr); gap: 8px; font-size: 12.5px; line-height: 1.5; color: var(--text); }
.nx .tx-ph .k { font-family: var(--mono); font-size: 10px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--text-3); padding-top: 2px; }
/* outbound: the timeline of cards */
.nx .tx-timeline { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.nx .tx-timeline li { display: grid; grid-template-columns: 14px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 8px 0; }
.nx .tx-timeline li + li { border-top: 0.5px solid var(--line-soft); }
.nx .tx-timeline .t { font-size: 13px; font-weight: 500; color: var(--text); overflow-wrap: anywhere; }
.nx .tx-timeline .s { font-size: 12px; color: var(--text-2); margin-top: 1px; }
.nx .tl-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--surface-3); border: 1px solid var(--line-bright); }
.nx .tl-dot.ok { background: var(--ok); border-color: transparent; }
.nx .tl-dot.acc { background: var(--accent); border-color: transparent; }
.nx .tl-dot.run { background: var(--run); border-color: transparent; }
/* Find buyers */
.nx .tx-form { margin-top: 12px; padding: 12px 14px; border-radius: 10px; border: 0.5px solid var(--accent-line); background: var(--bg); }
.nx .tx-form label { display: block; font-size: 13px; font-weight: 500; margin-bottom: 8px; color: var(--text); }
.nx .tx-form input { flex: 1; min-width: 0; border: 0; background: transparent; color: var(--text); font: 13.5px var(--sans); outline: none; }
.nx .tx-form input::placeholder { color: var(--text-3); }
.nx .tx-form .nx-fine { margin-top: 6px; }

/* the card panel (six kinds) + "What Nico understood" reuse the Review panel shell */
.nx .tx-credit { display: flex; gap: 10px; align-items: flex-start; padding: 10px 12px; border-radius: 9px; background: var(--accent-dim); border: 0.5px solid var(--accent-line); font-size: 13px; color: var(--text); }
.nx .tx-credit b { font-weight: 600; font-family: var(--mono); font-size: 12.5px; }
.nx .tx-credit small { display: block; font-size: 12px; color: var(--text-2); margin-top: 2px; }
.nx .tx-credit .nx-i { margin-top: 2px; color: var(--accent-text); }
.nx .tx-args .pr-f { grid-template-columns: 150px minmax(0, 1fr); }
.nx .tx-args .v, .nx .tx-panel .pr-f .v.mono { font-size: 12px; overflow-wrap: anywhere; }
.nx .tx-listhead { display: flex; align-items: center; gap: 8px; margin-bottom: -8px; }
.nx .tx-listhead .pr-sect { margin-bottom: 0; }
.nx .tx-list { max-height: 340px; overflow: auto; border: 0.5px solid var(--line); border-radius: 10px; background: var(--bg); }
.nx .tx-list .res { margin-top: 0; }
.nx .tx-list .res thead th { position: sticky; top: 0; background: var(--bg); }
.nx .tu-body { gap: 18px; }
.nx .tu-sect > .pr-sect { margin-bottom: 8px; }
.nx .tu-asked { margin: 0; -webkit-line-clamp: 4; }
.nx .tu-row { display: grid; grid-template-columns: 110px minmax(0, 1fr) auto; gap: 10px; align-items: baseline; padding: 6px 0; font-size: 13px; line-height: 1.5; }
.nx .tu-row + .tu-row { border-top: 0.5px solid var(--line-soft); }
.nx .tu-row .k { font-family: var(--mono); font-size: 10.5px; text-transform: uppercase; letter-spacing: 0.06em; color: var(--text-3); }
.nx .tu-row .v { color: var(--text); overflow-wrap: anywhere; min-width: 0; }
.nx .tu-chip { display: inline-flex; align-items: center; gap: 5px; font-size: 11px; color: var(--text-2); border: 0.5px solid var(--line); border-radius: 999px; padding: 1px 8px; white-space: nowrap; }
.nx .tu-chip i { width: 6px; height: 6px; border-radius: 50%; background: var(--accent); flex: none; }
.nx .tu-chip.icp i { background: var(--info); }
.nx .tu-chip.assume i { background: var(--run); }
.nx .tu-line { margin: 0; font-size: 13px; line-height: 1.55; color: var(--text); }
.nx .tu-steps { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.nx .tu-steps li { display: grid; grid-template-columns: 22px minmax(0, 1fr) auto; gap: 8px; padding: 5px 0; font-size: 13px; align-items: baseline; }
.nx .tu-steps .n { font-size: 11px; color: var(--text-3); }
.nx .tu-steps .st { font-size: 10.5px; color: var(--text-2); text-transform: uppercase; letter-spacing: 0.05em; }
.nx .tu-steps .st.done { color: var(--ok-text); }
.nx .tu-est { font-size: 11.5px; color: var(--text-2); margin-top: 4px; }
.nx .tu-pick { padding: 8px 0; }
.nx .tu-pick + .tu-pick { border-top: 0.5px solid var(--line-soft); }
.nx .tu-pick .t { font-size: 13px; font-weight: 500; color: var(--text); }
.nx .tu-pick .s { font-size: 12.5px; color: var(--text-2); margin-top: 2px; }
.nx .tu-opts { display: inline-flex; gap: 6px; flex-wrap: wrap; margin-top: 6px; }
.nx .tu-opt { height: 28px; padding: 0 10px; border-radius: 7px; border: 0.5px solid var(--line); background: var(--surface-1); color: var(--text); font: 12.5px var(--sans); cursor: pointer; }
.nx .tu-opt .mono { font-size: 11px; color: var(--text-2); }
.nx .tu-opt.on { border-color: var(--accent); background: var(--accent-dim); font-weight: 500; }
.nx .tu-opt:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

/* The overview is a work queue; expandable research keeps its full detail style. */
#tasksView article.tsk { background:var(--bg); border-radius:10px; padding:12px 16px; }
#tasksView article.tsk .btn { min-height:44px; }
#tasksView .tsk-waitrow { margin-top:8px; padding:4px 0; border:0; border-radius:0; background:transparent; }
#tasksView .tsk-waitrow .kic { width:30px; height:30px; border-radius:8px; }
#tasksView .tsk-foot { margin-top:8px; }
#tasksView .nrw-run-ids:not([open]) { margin:8px 0 0; padding:0; border:0; border-top:1px solid var(--line-soft); border-radius:0; background:transparent; }
#tasksView .nrw-run-ids:not([open]) > summary { min-height:44px; font:500 12px/1.5 var(--sans); color:var(--text-2); }
@media (min-width:1180px) {
  #tasksView .tsk-discovery { display:grid; grid-template-columns:minmax(220px,1fr) auto; gap:6px 20px; align-items:end; }
  #tasksView .tsk-discovery label { grid-column:1; margin:0; }
  #tasksView .tsk-discovery input { grid-column:1; grid-row:2; }
  #tasksView .tsk-filters { grid-column:2; grid-row:2; margin:0; gap:10px; flex-wrap:nowrap; }
}
@media (max-width: 980px) { .nx .tsk-page { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 700px) {
  #tasksView .tsk-heading { align-items:flex-start; flex-wrap:wrap; }
  #tasksView .nx-hand-box { display:grid; grid-template-columns:minmax(0,1fr); gap:8px; }
  #tasksView .nx-hand-box textarea { box-sizing:border-box; width:100%; }
  #tasksView .nx-hand-box > .btn { justify-self:end; }
  .nx .tsk-help > .col { grid-template-columns:minmax(0,1fr); }
  #tasksScroll { padding: 22px 14px 48px; }
  .nx .tsk-top { grid-template-columns: minmax(0, 1fr); }
  .nx .res { display: block; overflow-x: auto; }
  .handed.nx-chip { grid-template-columns: 30px minmax(0, 1fr); }
  .handed.nx-chip .btn-row { grid-column: 1 / -1; }
  .nx .tsk-waitrow { grid-template-columns: 30px minmax(0, 1fr); }
  .nx .tsk-waitrow .btn { grid-column: 1 / -1; justify-self: start; }
  .nx .tu-row, .nx .tx-kv { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  .nx .dot.run, .tsk-strip .dot.run { animation: none; }
  .nx .bar > i, .tsk-strip .bar > i { transition: none; }
}
