/* Productivity: Tasks + Notes (builds on ledger.css; same tokens, cards, buttons, badges). */
.ic.big{width:1.8rem;height:1.8rem}
.lg-ic{width:3rem;height:3rem;border-radius:.9rem}
.lg-ic .ic{width:1.5rem;height:1.5rem}
.bar.ok>i{background:linear-gradient(90deg,#16a34a,#4ade80)}
.badge.ok-b{color:#86efac;border-color:rgba(74,222,128,.4);background:rgba(74,222,128,.08)}
.today-cta{display:flex;align-items:center;gap:1rem;margin:0 0 .5rem;color:var(--foreground);text-decoration:none}
.today-cta:hover{border-color:rgba(240,193,75,.45)}
.today-cta .ic.big{color:#f0c14b}
.today-cta .grow{flex:1;display:flex;flex-direction:column}
.today-cta .dot.zero{background:rgba(255,255,255,.08);color:var(--muted)}
.chip.due.over{background:rgba(248,113,113,.14);color:#fca5a5}
.chip.due.today{background:rgba(240,193,75,.14);color:var(--accent-soft)}
.chip.pri.p1{color:#93c5fd}.chip.pri.p2{color:#fdba74}.chip.pri.p3{background:rgba(248,113,113,.14);color:#fca5a5}
.chip.tag{color:#c4b5fd}
.chip.tag.on{background:rgba(196,181,253,.18);color:#ede9fe}
.chip.who .av{width:1.1rem;height:1.1rem;font-size:.6rem}
.chip .ic{width:.85rem;height:.85rem}
/* Tasks layout */
.tk-layout{display:grid;grid-template-columns:17rem minmax(0,1fr);gap:1.2rem;align-items:start}
.tk-side{display:grid;gap:1rem;position:sticky;top:5rem;min-width:0}
.tk-side>*{min-width:0;max-width:100%}
.tk-filters input,.tk-filters select{width:100%;min-width:0;box-sizing:border-box}
.tk-filters .tk-dates{display:grid;grid-template-columns:1fr;gap:.6rem}
.tk-filters .tk-dates>div{min-width:0}
.tk-side .k{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.prog-big{display:flex;align-items:baseline;gap:.4rem;margin:.3rem 0 .5rem}.prog-big b{font-size:1.9rem}
.tk-filters label{margin-top:.55rem}
.tk-body{display:grid;gap:1rem;min-width:0}
.qa{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;padding:.7rem}
.qa .inp:first-of-type{flex:1;min-width:12rem}
.qa>.ic{color:var(--muted)}
.qa.sm{padding:0;background:none;border:0}
.tk-sec h2{font-size:1rem;margin:.2rem 0 .5rem;display:flex;gap:.4rem;align-items:baseline}
.tk-sec.overdue h2{color:#fca5a5}.tk-sec.today h2{color:var(--accent-soft)}
details.tk-sec>summary{list-style:none;cursor:pointer}
details.tk-sec>summary::-webkit-details-marker{display:none}
details.tk-sec>summary h2::before{content:"▸";color:var(--muted);margin-right:.2rem;transition:transform .15s}
details.tk-sec[open]>summary h2::before{content:"▾"}
.tk-ul{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}
.tk-row{display:flex;align-items:center;gap:.75rem;padding:.65rem .8rem;background:var(--card);border:1px solid var(--border);border-radius:.85rem}
.tk-row[data-priority="3"]{border-left:3px solid #f87171}.tk-row[data-priority="2"]{border-left:3px solid #fb923c}.tk-row[data-priority="1"]{border-left:3px solid #60a5fa}
.tk-row.done .tk-title{text-decoration:line-through;color:var(--muted)}
.tk-check{flex:none;display:grid;place-items:center;width:1.6rem;height:1.6rem;border-radius:50%;border:2px solid rgba(240,193,75,.55);background:transparent;color:transparent;cursor:pointer;padding:0}
.tk-check .ic{width:1rem;height:1rem}
.tk-check:hover,.tk-check:focus-visible{color:rgba(240,193,75,.6)}
.tk-check[aria-pressed="true"],.tk-row.done .tk-check,li.done>.tk-check{background:#d4a017;border-color:#d4a017;color:#111}
.tk-check.ro{cursor:default;opacity:.8}
.tk-check.sm{width:1.3rem;height:1.3rem}
.tk-main{flex:1;min-width:0}
.tk-title{color:var(--foreground);font-weight:650;text-decoration:none;overflow-wrap:anywhere}
.tk-title:hover{color:var(--accent-soft)}
.tk-meta{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.25rem}
.tk-move{display:flex;gap:.25rem}
.tk-move .btn{padding:.3rem .45rem}
.tk-edit{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:1rem;align-items:start}
.inp.big{font-size:1.15rem;font-weight:650}
.sub-ul{list-style:none;margin:0 0 .3rem;padding:0}
.sub-ul li{display:flex;align-items:center;gap:.6rem;padding:.45rem 0;border-bottom:1px solid rgba(255,255,255,.06)}
.sub-ul li.done .grow{text-decoration:line-through;color:var(--muted)}
.sub-ul .grow{flex:1;min-width:0;overflow-wrap:anywhere}
.sub-ul .btn{padding:.25rem .45rem}
/* Notes layout */
.nt-layout{display:grid;grid-template-columns:20rem minmax(0,1fr);gap:1rem;align-items:start}
.nt-list{padding:.6rem;position:sticky;top:5rem;max-height:calc(100vh - 6rem);overflow:auto}
.nt-find .inp{width:100%}
.nt-tools{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin:.55rem 0}
.nt-tools .seg a{padding:.3rem .6rem;font-size:.8rem}
.nt-tools>a{display:inline-flex;gap:.3rem;align-items:center;text-decoration:none}
.nt-tags{display:flex;flex-wrap:wrap;gap:.3rem;margin:.2rem 0 .6rem}
.nt-tags a.chip{text-decoration:none}
.nt-items{list-style:none;margin:0;padding:0;display:grid;gap:.25rem}
.nt-item{display:grid;gap:.15rem;padding:.6rem .7rem;border-radius:.7rem;color:var(--foreground);text-decoration:none;border:1px solid transparent}
.nt-item:hover{background:rgba(255,255,255,.04)}
.nt-item.on{background:rgba(240,193,75,.09);border-color:rgba(240,193,75,.35)}
.nt-item b{display:flex;gap:.3rem;align-items:center;overflow-wrap:anywhere}
.nt-item .pin .ic{width:.85rem;height:.85rem;color:var(--accent-soft)}
.nt-main{min-width:0}
.nt-back{display:none;margin-bottom:.7rem}
.nt-empty{display:grid;place-items:center;gap:.4rem;min-height:18rem}
.nt-editor{display:grid;gap:.7rem}
.nt-bar{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;justify-content:space-between}
.nt-flags{display:flex;gap:.4rem;flex-wrap:wrap}
.nt-flags .btn{padding:.38rem .7rem}
.nt-mode button{background:none;border:0;color:var(--muted);padding:.4rem .75rem;font:600 .82rem system-ui;cursor:pointer}
.nt-mode button.on{background:rgba(240,193,75,.14);color:var(--accent-soft)}
.nt-saved{color:#86efac;min-width:6rem;text-align:right}
.nt-saved.saving{color:var(--muted)}.nt-saved.dirty{color:var(--accent-soft)}.nt-saved.err{color:#fca5a5}
.nt-form{display:grid;gap:.55rem}
.nt-title{font-size:1.35rem;font-weight:750;width:100%}
.nt-tagsin{width:100%}
.nt-panes{display:grid;gap:.8rem;grid-template-columns:1fr 1fr}
.nt-panes.mode-write{grid-template-columns:1fr}.nt-panes.mode-write .preview{display:none}
.nt-panes.mode-preview{grid-template-columns:1fr}.nt-panes.mode-preview .write{display:none}
.nt-body{width:100%;min-height:26rem;resize:vertical;font:400 .95rem/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.nt-pane.preview{border:1px solid var(--border);border-radius:.6rem;padding:.6rem 1rem;background:rgba(255,255,255,.02);min-height:26rem;overflow:auto}
.nt-foot{display:flex;justify-content:space-between;gap:.8rem;align-items:center;flex-wrap:wrap}
html:not(.js) .js-only{display:none}
.nt-title-ro{margin:.2rem 0 0;font-size:1.5rem}
.nt-audit b{color:var(--foreground);font-weight:600}
.nt-conflict{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}
.nt-conflict[hidden]{display:none}
.nt-hits{list-style:none;padding:0;margin:1rem 0 0;display:grid;gap:.5rem}
.nt-hit{display:flex;gap:.8rem;align-items:flex-start;color:var(--foreground);text-decoration:none}
.nt-hit .grow{display:grid;gap:.15rem;min-width:0}
.lg.wide{max-width:none}
/* Rendered Markdown (safe subset) */
.md{line-height:1.65;overflow-wrap:anywhere}
.md h2,.md h3,.md h4,.md h5,.md h6{margin:1.1rem 0 .4rem;line-height:1.25}
.md h2{font-size:1.45rem}.md h3{font-size:1.2rem}.md h4{font-size:1.05rem}
.md p{margin:.5rem 0}
.md a{color:var(--accent-soft);text-decoration:underline}
.md code{font:.88em ui-monospace,Menlo,monospace;background:rgba(255,255,255,.07);padding:.08rem .35rem;border-radius:.35rem}
.md pre{background:#0b0b11;border:1px solid var(--border);border-radius:.6rem;padding:.75rem;overflow:auto}
.md pre code{background:none;padding:0}
.md blockquote{margin:.6rem 0;padding:.2rem .9rem;border-left:3px solid rgba(240,193,75,.5);color:#d4d4d8;background:rgba(240,193,75,.04)}
.md ul,.md ol{padding-left:1.4rem;margin:.4rem 0}
.md ul.tasks{list-style:none;padding-left:.2rem}
.md li.task input{accent-color:#d4a017;margin-right:.35rem;transform:translateY(1px)}
.md hr{border:0;border-top:1px solid var(--border);margin:1rem 0}
@media (max-width:1000px){.tk-layout{grid-template-columns:1fr}.tk-side{position:static;order:2}.tk-edit{grid-template-columns:1fr}.nt-layout{grid-template-columns:1fr}.nt-list{position:static;max-height:none}
  .nt-layout.has-note .nt-list{display:none}.nt-layout.has-note .nt-back{display:inline-flex}.nt-layout:not(.has-note) .nt-main{display:none}
  .nt-layout.hist .nt-list{display:block}}
@media (max-width:1000px){.nt-panes{grid-template-columns:1fr}.nt-mode .desk{display:none}.nt-panes.mode-split .preview{display:none}.nt-body,.nt-pane.preview{min-height:18rem}}
@media (max-width:640px){.qa .inp,.qa .sel{flex:1 1 100%}.qa .btn-primary{width:100%;justify-content:center}.tk-row{align-items:flex-start;padding:.6rem}.tk-move{flex-direction:column}
  .nt-bar{gap:.4rem}.nt-saved{text-align:left}}
