:root{--bg:#f3f1ec;--card:#fbfaf7;--text:#3b3a36;--muted:#8a877e;--line:#e2ded5;--accent:#6f8070;--accent-dark:#5b6b5c;--todo:#b08d6e;--todo-bg:#f1e7dc;--done-bg:#e3e9e2;--danger:#a4675f;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}*{box-sizing:border-box}body{margin:0}main{max-width:760px;margin:0 auto;padding:32px 16px 64px}main.narrow{max-width:440px}h1{margin:0;font-size:1.5rem;font-weight:600}.muted{color:var(--muted)}.bar{display:flex;justify-content:space-between;align-items: center;gap:12px;margin:16px 0}.button{display:inline-block;background:var(--accent);color:#fff;text-decoration:none;border-radius:8px;padding:10px 18px;font-weight:500}.button:hover{background:var(--accent-dark)}.button.secondary{color:var(--accent-dark);border:1px solid var(--line);background:0 0}.button.secondary:hover{background:var(--card);border-color:var(--accent)}.actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}button.button{font:inherit;cursor:pointer;border:1px solid #0000}button.button.secondary{border-color:var(--line)}dialog{border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:12px;max-width:400px;padding:24px}dialog::backdrop{background:#3b3a3659}dialog p{margin:0 0 12px}dialog .actions{margin-top:20px}.back{color:var(--muted);text-decoration:none}.back:hover{color:var(--text)}.link{font:inherit;cursor:pointer;background:0 0;border:none;padding:0}.danger{color:var(--danger)}.list{list-style:none;margin:0;padding:0}.list li+li{margin-top:8px}.row{display:flex;background:var(--card);border:1px solid var(--line);color:inherit;text-decoration:none;border-radius:10px;align-items: center;gap:14px;padding:12px 14px}.row:hover{border-color:var(--accent)}.avatar{object-fit:cover;border-radius:6px;flex-shrink:0;width:44px;height:52px}.avatar.empty{background:var(--line)}.info{display:flex;flex-direction:column;flex:1;gap:2px;min-width:0}.info span{font-size:.9rem}.badge{white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:.8rem}.badge.todo{background:var(--todo-bg);color:var(--todo)}.badge.done{background:var(--done-bg);color:var(--accent-dark)}@media (max-width:520px){.row{flex-wrap:wrap}.badge{white-space:normal}}.card{display:flex;background:var(--card);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:16px;padding:24px}label{display:flex;color:var(--muted);flex-direction:column;gap:6px;font-size:.9rem}input{font:inherit;color:var(--text);border:1px solid var(--line);background:#fff;border-radius:8px;padding:10px 12px}input:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:#0000}.photo{position:relative;border:1px dashed var(--muted);overflow:hidden;cursor:pointer;border-radius:10px;justify-content:center;align-self: center;align-items: center;width:140px;height:170px}.photo input{position:absolute;opacity:0;pointer-events:none}.photo img{position:absolute;object-fit:cover;width:100%;height:100%;inset:0}.photo .overlay{position:absolute;text-align:center;color:#fff;background:#3b3a368c;padding:6px;font-size:.8rem;bottom:0;left:0;right:0}.status{font-size:.85rem}.error{color:var(--danger);background:#f3e2df;border-radius:8px;margin:0;padding:10px 12px;font-size:.9rem}
