/* voice-inbox — terminal theme. Tokens only; no inline hexes anywhere else. */
:root{
  --bg:#0c0e10; --bg2:#131619; --bg3:#191d21; --line:#242a30;
  --fg:#d6dde3; --fg2:#8b97a3; --fg2b:#7a8894; --fg3:#5a6672;
  --gr:#5ddba0; --am:#e5b567; --rd:#e06c75; --bl:#61afef; --pu:#c678dd;
}
*{box-sizing:border-box;margin:0;padding:0}
body{
  background:var(--bg); color:var(--fg);
  font-family:ui-monospace,"SF Mono","JetBrains Mono","Cascadia Code",Menlo,Consolas,monospace;
  font-size:13.5px; line-height:1.55; padding-bottom:5rem;
  -webkit-font-smoothing:antialiased;
}
::selection{background:#2d4a3e; color:#fff}
mark{background:#3a4f2e; color:#d9f2c0; padding:0 .1em; border-radius:2px}
:focus-visible{outline:1px solid var(--gr); outline-offset:-1px}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation:none !important; transition:none !important}
}

/* top bar */
.top{
  position:sticky; top:0; z-index:30; background:var(--bg2);
  border-bottom:1px solid var(--line); display:flex; align-items:center;
  gap:1rem; padding:.5rem .9rem; font-size:12px;
}
.dot{width:7px; height:7px; border-radius:50%; flex:none}
.dot.ok{background:var(--gr); box-shadow:0 0 6px var(--gr)}
.dot.amber{background:var(--am); box-shadow:0 0 6px var(--am)}
.dot.down{background:var(--rd); box-shadow:0 0 6px var(--rd)}
.path{color:var(--fg2)}
.path b{color:var(--fg); font-weight:500}
.top .sp{flex:1}
.kbd{
  border:1px solid var(--line); background:var(--bg3); color:var(--fg2b);
  padding:.1rem .35rem; border-radius:3px; font-size:11px;
}
.stat{color:var(--fg2)}
.stat b{color:var(--gr); font-weight:400}

/* query line + filters (forms are layout-transparent so sticky works) */
form{display:contents}
.qline{
  display:flex; align-items:center; gap:.55rem; padding:.65rem .9rem;
  border-bottom:1px solid var(--line); background:var(--bg);
  position:sticky; top:33px; z-index:29;
}
.prompt{color:var(--gr); user-select:none}
#q{
  flex:1; background:none; border:none; outline:none; color:var(--fg);
  font-family:inherit; font-size:13.5px; caret-color:var(--gr);
}
#q::placeholder{color:var(--fg3)}
.cursor{color:var(--gr); opacity:0; transition:opacity .12s}
.cursor.htmx-request{opacity:1; animation:blink .8s step-end infinite}
@keyframes blink{50%{opacity:0}}

.filters{display:flex; gap:.35rem; padding:.5rem .9rem; border-bottom:1px solid var(--line); flex-wrap:wrap}
.fchip{
  font-family:inherit; font-size:11.5px; background:var(--bg2); color:var(--fg2);
  border:1px solid var(--line); border-radius:3px; padding:.15rem .45rem; cursor:pointer;
}
.fchip:hover{color:var(--fg); border-color:var(--fg3)}
.fchip.on{background:var(--gr); color:#06120c; border-color:var(--gr)}

main{padding:.4rem 0 0}

/* day group */
.dayhead{
  display:flex; align-items:center; gap:.6rem; padding:.9rem .9rem .35rem;
  color:var(--fg3); font-size:12px;
}
.dayhead b{color:var(--bl); font-weight:500}
.dayhead > span:not(.dash){color:var(--fg2)}
.dayhead .dash-lead{color:var(--fg3)}
.dayhead .dash{flex:1; border-top:1px dashed var(--line)}
.dayhead .n{color:var(--fg2)}
.today .dayhead b{color:var(--gr)}

/* rows — the core grid; columns must align down the whole page */
.row{
  display:grid; grid-template-columns:3.6rem .95rem 6.2rem 1fr; gap:.55rem;
  padding:.2rem .9rem; cursor:pointer; align-items:baseline; white-space:nowrap;
}
.row:hover{background:var(--bg2)}
.row.open{background:var(--bg3)}
.tm{color:var(--fg2); font-size:12.5px}
.st{font-size:12px}
.st.done{color:var(--fg3)} .st.pending, .st.processing{color:var(--am)} .st.failed{color:var(--rd)}
.ct{font-size:12px; color:var(--fg3)}
.ct.idea{color:var(--am)} .ct.task{color:var(--gr)} .ct.note{color:var(--fg2)}
.ct.reference{color:var(--bl)} .ct.question{color:var(--pu)}
.ttl{overflow:hidden; text-overflow:ellipsis}
.ttl.untitled{color:var(--fg2)}
.row.open .ttl, .row:hover .ttl{color:#fff}
.tg{color:var(--fg2); font-size:12px}

/* archived — still on the timeline, but visibly "handled" */
.row.arch .ttl{text-decoration:line-through; color:var(--fg3)}
.row.arch .ttl .tg{color:var(--fg3)}
.row.arch .st, .row.arch .ct, .row.arch .tm{color:var(--fg3)}
.row.arch.open .ttl, .row.arch:hover .ttl{color:var(--fg2)}

/* detail panel */
.det{
  border-left:2px solid var(--gr); margin:.35rem .9rem .9rem 4.2rem;
  padding:.6rem .9rem; background:var(--bg2); white-space:normal;
}
.lbl{color:var(--fg2); font-size:11px; letter-spacing:.06em; text-transform:uppercase; margin-bottom:.3rem}
.txt{color:var(--fg); line-height:1.7; outline:none}
.txt:focus{background:#0f1417; box-shadow:0 0 0 .4rem #0f1417}
.raw{color:var(--fg2); line-height:1.7; margin-top:.85rem}
.items{list-style:none; margin-top:.85rem}
.items li{color:var(--fg2)}
.items li.d{color:var(--fg3); text-decoration:line-through}
.items .b{color:var(--gr)}
.err{margin-top:.85rem; color:var(--rd); font-size:12px}
.meta{margin-top:.9rem; padding-top:.6rem; border-top:1px solid var(--line); color:var(--fg2); font-size:11.5px; word-break:break-all}
.cmds{margin-top:.7rem; display:flex; gap:.4rem; flex-wrap:wrap}
.cmd{
  font-family:inherit; font-size:11.5px; background:var(--bg3); color:var(--fg2);
  border:1px solid var(--line); border-radius:3px; padding:.2rem .5rem; cursor:pointer;
}
.cmd:hover:not(:disabled){color:var(--gr); border-color:var(--gr)}
.cmd:disabled{cursor:default; opacity:.55}
.cmd.hot{color:var(--rd); border-color:var(--rd)}
.cmd span{color:var(--fg3)}

.empty{color:var(--fg3); padding:3rem .9rem; line-height:1.9}

@media(max-width:700px){
  .row{grid-template-columns:3.4rem .9rem 1fr}
  .ct{display:none}
  .det{margin-left:.9rem}
}

/* ── logs screen ──────────────────────────────────────────────────────── */
.top a{color:inherit; text-decoration:none}
.top a.stat:hover, .path a:hover b{color:var(--gr)}
.logfilters{padding:0; border-bottom:none}
.logfilters .fchip{text-decoration:none}
.loglist{padding:.6rem .9rem}
.logrow{border-bottom:1px dashed var(--line)}
.logrow summary{
  display:flex; align-items:baseline; gap:.7rem; padding:.25rem 0;
  cursor:pointer; font-size:12.5px; color:var(--fg2); white-space:nowrap;
  list-style:none;
}
.logrow summary::-webkit-details-marker{display:none}
.logrow summary:hover{color:var(--fg)}
.logrow .kind{color:var(--bl)}
.logrow .st.ok{color:var(--gr)}
.logrow .st.error, .logrow .st.rejected{color:var(--rd)}
.logrow .model, .logrow .dur, .logrow .tok{color:var(--fg3); font-size:11.5px}
.logrow .preview{overflow:hidden; text-overflow:ellipsis; color:var(--fg3)}
.logrow[open] .preview{display:none}
.logbody{
  border-left:2px solid var(--line); margin:.2rem 0 .7rem .3rem;
  padding:.4rem .8rem;
}
.logbody .lbl{margin-top:.5rem}
.logbody pre{
  white-space:pre-wrap; word-break:break-word; font-size:12px;
  color:var(--fg2); max-height:20rem; overflow:auto;
}
.logbody pre.errpre{color:var(--rd)}

/* ── Things deeplinks ──────────────────────────────────────────────────── */
.intent-task{
  color:var(--gr); text-decoration:underline dotted; text-underline-offset:3px;
  cursor:pointer;
}
.intent-task:hover{background:#12241b; text-decoration-style:solid}
.things-link{color:var(--fg); text-decoration:underline dotted; text-underline-offset:3px}
.things-link:hover{color:var(--gr); text-decoration-style:solid}
.items .dest{color:var(--fg3); font-size:11px; margin-left:.45rem}
.intent-task.clicked, .things-link.clicked{color:var(--fg3); text-decoration:none}
.intent-task.clicked::after, .things-link.clicked::after{
  content:" ✓ wysłano"; color:var(--fg3); font-size:11px;
}
