:root{--bg:#f3f6f7;--surface:#fff;--fg:#17282e;--muted:#566a72;--line:#d5dfe3;--accent:#0f6674;--on:#fff;--p:#8a5a00;--pb:#fbefd5;--i:#0b5fa8;--ib:#dfeefb;--h:#6b4aa0;--hb:#ece6f7;--d:#1d7044;--db:#ddf2e6;--err:#a32929;--star:#b7791f;color-scheme:light}
:root[data-theme=dark]{--bg:#10191c;--surface:#18252a;--fg:#e6eff1;--muted:#9db0b7;--line:#2d3f46;--accent:#5cc0cf;--on:#0b2227;--p:#f0c36b;--pb:#3a2e14;--i:#8cc4f5;--ib:#15324b;--h:#c3acec;--hb:#30264a;--d:#82d8a8;--db:#16392a;--err:#f09a9a;--star:#f0c36b;color-scheme:dark}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.45 "Segoe UI",system-ui,Arial,sans-serif}
.wrap{max-width:900px;margin:0 auto;padding:24px 16px 56px;display:grid;gap:16px}h1{font-size:1.6rem;line-height:1.2;margin:0}h2{font-size:1rem;margin:0}h2 span{color:var(--muted);font-weight:500}
button,select,input,textarea{font:inherit;color:inherit;background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:7px 10px}button{cursor:pointer}.primary{background:var(--accent);color:var(--on);border-color:var(--accent);font-weight:600}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.bar,.tabs,.tools,.meta,.chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.bar{justify-content:space-between}.tabs button[aria-pressed=true]{background:var(--fg);color:var(--bg);border-color:var(--fg)}.tools input{flex:1 1 200px;min-width:0}
.card{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:16px}.login{max-width:380px;margin:12vh auto 0;display:grid;gap:12px}label{display:grid;gap:4px;font-weight:600;font-size:.9rem;min-width:0}label input,label select,label textarea{width:100%;font-weight:400}
form.edit{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.wide{grid-column:1/-1}.row{display:flex;gap:8px}section{display:grid;gap:8px}ul{list-style:none;margin:0;padding:0;background:var(--surface);border:1px solid var(--line);border-radius:8px}li.t{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:6px 12px;padding:12px 14px}li.t+li.t{border-top:1px solid var(--line)}
.star{border:0;background:none;padding:0 2px;font-size:1.25rem;line-height:1.2;color:var(--muted)}.star.on{color:var(--star)}.title{font-weight:600;overflow-wrap:anywhere}.done .title{color:var(--muted)}.meta{color:var(--muted);font-size:.86rem;gap:3px 12px}.late{color:var(--err);font-weight:600}.tag{font-size:.8rem;background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:1px 8px}.notes{margin:4px 0 0;font-size:.95rem;white-space:pre-wrap;overflow-wrap:anywhere}.ref{margin:4px 0 0;font-size:.86rem;color:var(--muted);overflow-wrap:anywhere}a{color:var(--accent)}
.side{display:flex;flex-direction:column;gap:6px;align-items:flex-end}.side select{font-weight:600;border:0;padding:5px 8px}.s-pending{color:var(--p);background:var(--pb)}.s-in_progress{color:var(--i);background:var(--ib)}.s-hold{color:var(--h);background:var(--hb)}.s-done{color:var(--d);background:var(--db)}.link{border:0;background:none;color:var(--accent);padding:2px 4px;font-size:.88rem}
details{margin-top:6px;font-size:.92rem}summary{cursor:pointer;color:var(--accent)}.c{border-left:2px solid var(--line);padding:2px 0 2px 10px;margin:8px 0;white-space:pre-wrap;overflow-wrap:anywhere}.c small{display:block;color:var(--muted)}.cf{display:flex;gap:8px;margin-top:8px}.cf input{flex:1;min-width:0}.msg{color:var(--muted);margin:0}.err{color:var(--err)}[hidden]{display:none!important}
@media(max-width:560px){li.t{grid-template-columns:auto minmax(0,1fr)}.side{grid-column:2;flex-direction:row;align-items:center;justify-content:space-between}}
.pr-urgent{color:var(--err);border-color:var(--err)!important;border-width:1px!important;border-style:solid!important}.pr-high{color:var(--p);background:var(--pb)}.pr-normal{color:var(--fg);background:var(--bg)}.pr-low{color:var(--muted);background:var(--bg)}