:root{color-scheme:dark;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5;--bg: #0f0f11;--surface: #1a1a1f;--border: rgba(255, 255, 255, .08);--text: #e8e8ed;--text-dim: rgba(255, 255, 255, .5);--accent: #6c8cff;--accent-hover: #5a7aee;--green: #4ade80;--yellow: #facc15;--red: #f87171;--radius: .5rem}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100vh;background:var(--bg);color:var(--text)}.app{max-width:640px;margin:0 auto;padding:2.5rem 1.25rem 4rem}.header{margin-bottom:2rem}.header h1{font-size:1.6rem;font-weight:700;letter-spacing:-.03em;color:var(--accent)}.subtitle{color:var(--text-dim);font-size:.9rem;margin-top:.25rem}.add-form{display:grid;grid-template-columns:1fr auto auto auto;gap:.5rem;margin-bottom:1.5rem}.input{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);padding:.55rem .75rem;font-size:.875rem;outline:none;transition:border-color .15s}.input:focus{border-color:var(--accent)}.select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='rgba(255,255,255,0.5)' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 5h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .6rem center;padding-right:1.8rem}input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.6);cursor:pointer}.btn-add{background:var(--accent);color:#fff;border:none;border-radius:var(--radius);padding:.55rem 1.1rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .15s;white-space:nowrap}.btn-add:hover{background:var(--accent-hover)}.filters{display:flex;align-items:center;gap:.35rem;margin-bottom:1rem}.filter-btn{background:transparent;border:1px solid var(--border);border-radius:var(--radius);color:var(--text-dim);padding:.3rem .7rem;font-size:.8rem;cursor:pointer;transition:all .15s}.filter-btn:hover,.filter-btn.active{color:var(--text);border-color:var(--accent);background:#6c8cff14}.count{margin-left:auto;font-size:.8rem;color:var(--text-dim)}.task-list{list-style:none;display:flex;flex-direction:column;gap:.5rem}.empty{text-align:center;color:var(--text-dim);padding:3rem 0;font-size:.9rem}.task{display:flex;align-items:center;gap:.75rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.7rem .85rem;transition:border-color .15s}.task:hover{border-color:#ffffff26}.task-done{opacity:.55}.checkbox{width:1.25rem;height:1.25rem;border:1.5px solid var(--text-dim);border-radius:.25rem;background:transparent;color:var(--green);font-size:.8rem;cursor:pointer;display:grid;place-items:center;flex-shrink:0;transition:border-color .15s}.checkbox:hover{border-color:var(--green)}.task-info{flex:1;min-width:0}.task-title{display:block;font-size:.9rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-done .task-title{text-decoration:line-through}.task-meta{display:flex;gap:.65rem;font-size:.75rem;margin-top:.15rem}.assignee{color:var(--accent);font-weight:500}.status-done{color:var(--green)}.status-overdue{color:var(--red);font-weight:600}.status-soon{color:var(--yellow)}.status-ok{color:var(--text-dim)}.btn-delete{background:transparent;border:none;color:var(--text-dim);font-size:1.2rem;cursor:pointer;padding:.15rem .3rem;border-radius:.25rem;transition:all .15s;line-height:1}.btn-delete:hover{color:var(--red);background:#f871711a}@media(max-width:580px){.add-form{grid-template-columns:1fr 1fr}.btn-add{grid-column:1 / -1}}
