:root{--bg: #efe7db;--ink: #1d1914;--muted: #6f655b;--card: #fffdf8;--line: #e3d7c6;--accent: #0e6b56;--accent-ink: #f3fff8;--warn: #9a3412;--shadow: 0 16px 40px rgba(70, 46, 20, .08);color:var(--ink);background:var(--bg);font-family:Manrope,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--accent)}.mark{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--accent);color:var(--accent-ink);font-weight:700;letter-spacing:.04em}.primary,.danger,.record,.text,.column-actions button,.reminders button{border:0;border-radius:999px;padding:10px 16px}.primary{background:var(--accent);color:var(--accent-ink)}.danger{background:transparent;color:var(--warn)}.record{background:#1d1914;color:#fffdf8}.record.on{background:var(--warn)}.text,.column-actions button{background:transparent;color:var(--muted)}.primary:disabled,.record:disabled,.column-actions button:disabled{opacity:.45;cursor:default}.auth{min-height:100vh;display:grid;place-items:center;padding:24px}.auth form,.auth p{width:min(420px,100%);background:var(--card);border-radius:24px;padding:28px;box-shadow:var(--shadow)}.auth h1{margin:16px 0 0}.lead,.meta,.note,.hint,.top p{color:var(--muted)}.auth label,.drawer label{display:grid;gap:6px;margin-top:14px;font-size:14px}input,textarea,select{width:100%;border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px 12px}textarea{resize:vertical}.auth .primary,.auth .text{width:100%;margin-top:12px}.app{min-height:100vh}.top{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:20px 24px 8px}.brand,.top-actions,.card-top,.column-head,.drawer-top,.drawer-actions,.voice-row,.links{display:flex;align-items:center;gap:12px}.brand p,.top p{margin:0}.banner,.hint.warn{color:var(--warn)}.banner{margin:0 24px}.reminders{padding:8px 24px 0}.reminders h2,.new-column h2{margin:0 0 8px;font-size:14px;color:var(--muted);font-weight:600}.reminders div{display:flex;gap:8px;flex-wrap:wrap}.reminders button{background:#fff4ec;color:var(--warn)}.board{display:flex;gap:14px;align-items:flex-start;overflow-x:auto;padding:16px 24px 32px}.column,.new-column{width:300px;flex:0 0 300px;min-height:calc(100vh - 220px);background:#fffdf8b8;border:1px solid var(--line);border-radius:20px;padding:12px}.column{display:flex;flex-direction:column}.column-body{flex:1}.column-head{justify-content:space-between;margin-bottom:10px}.title,.title-input{background:transparent;border:0;padding:0;font-weight:700;text-align:left}.count{margin-right:auto;color:var(--muted);font-size:13px}.column-actions button{padding:4px 8px}.column-body{display:grid;gap:8px;min-height:120px;align-content:start}.card-wrap{touch-action:none}.card{background:var(--card);border-radius:16px;padding:12px;box-shadow:var(--shadow);border:1px solid transparent}.card.overdue{border-color:#f0c2b0}.card.overlay{width:276px}.card h3{margin:0;font-size:16px}.card .note{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:8px 0 0;font-size:13px}.chip{border-radius:999px;padding:3px 8px;font-size:12px;font-weight:700;background:#e7f5f0;color:var(--accent)}.chip.tg{background:#e7f1fb;color:#175cd3}.when{margin:8px 0 0;font-size:12px;color:var(--muted)}.when.late{color:var(--warn);font-weight:700}.new-column{display:grid;gap:8px;align-content:start}.drawer{position:fixed;top:0;right:0;height:100dvh;width:min(440px,100%);background:var(--card);box-shadow:-20px 0 50px #462e141f;padding:16px 16px calc(12px + env(safe-area-inset-bottom));z-index:5;display:flex;flex-direction:column;overflow:hidden}.drawer label{margin-top:10px}.note-input{line-height:22px;min-height:44px;max-height:132px;resize:none;overflow:auto}.drawer-body{flex:1;min-height:0;overflow:auto}.drawer-top,.drawer-actions,.links{justify-content:space-between;flex-wrap:wrap}.drawer-top,.drawer-actions,.links,.voice-row{flex-shrink:0}.voice-row{align-items:flex-start;margin:10px 0}.voice-row span,.links p{color:var(--muted);font-size:13px;margin:0}.links a{font-size:14px}.drawer-actions{margin-top:8px}@media(max-width:720px){.top{align-items:flex-start;flex-direction:column}.column,.new-column{width:86vw;flex-basis:86vw}}
