/* ── Tasks tab ── */
.tasks-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:8px;flex-wrap:wrap;}
.tasks-filters{display:flex;gap:6px;flex-wrap:wrap;align-items:center;}
.task-filter-chip{font-family:'Golos Text',sans-serif;font-size:12px;font-weight:500;padding:5px 11px;border-radius:20px;border:1px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer;transition:background var(--tr),color var(--tr),border-color var(--tr);white-space:nowrap;}
.task-filter-chip:hover{border-color:var(--muted);color:var(--text);}
.task-filter-chip.active{background:var(--text);color:var(--bg);border-color:var(--text);}

.tasks-project-panel{display:none;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;margin-bottom:16px;}
.tasks-project-panel.open{display:block;}

.task-group-header{display:flex;align-items:center;gap:10px;padding:8px 4px 6px;margin-top:20px;border-bottom:2px solid var(--border);}
.task-group-header:first-child{margin-top:0;}
.task-group-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;}
.task-group-name{font-family:'Unbounded',sans-serif;font-size:12px;font-weight:600;color:var(--text);flex:1;}
.task-group-count{font-size:11px;color:var(--hint);}
.task-group-section{margin-bottom:16px;}

.task-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:11px 14px;display:flex;align-items:flex-start;gap:12px;margin-top:8px;transition:background var(--tr),border-color var(--tr),opacity var(--tr);cursor:default;}
.task-item:hover{border-color:var(--muted);}
.task-item.done{opacity:.55;}
.task-item.done .task-title{text-decoration:line-through;color:var(--muted);}
.task-item.overdue{border-left:3px solid #c0392b;}
.task-item.due-soon{border-left:3px solid #e67e22;}

.task-check{width:20px;height:20px;border-radius:50%;border:2px solid var(--border);flex-shrink:0;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:11px;margin-top:1px;transition:background var(--tr),border-color var(--tr);}
.task-check:hover{border-color:var(--muted);}
.task-item.done .task-check{background:#1A8A50;border-color:#1A8A50;color:#fff;}

.task-body{flex:1;min-width:0;}
.task-title{font-size:14px;font-weight:500;color:var(--text);line-height:1.4;word-break:break-word;}
.task-desc{font-size:12.5px;color:var(--muted);margin-top:3px;line-height:1.5;word-break:break-word;}
.task-title a,.task-desc a{color:#3B6FD4;text-decoration:none;border-bottom:1px solid rgba(59,111,212,.3);transition:border-color var(--tr),color var(--tr);}
.task-title a:hover,.task-desc a:hover{color:#2450a8;border-bottom-color:#3B6FD4;}
[data-theme="dark"] .task-title a,[data-theme="dark"] .task-desc a{color:#7AAAF5;border-bottom-color:rgba(122,170,245,.3);}
[data-theme="dark"] .task-title a:hover,[data-theme="dark"] .task-desc a:hover{color:#aac8ff;border-bottom-color:#7AAAF5;}
.task-meta{display:flex;align-items:center;gap:8px;margin-top:6px;flex-wrap:wrap;}
.task-deadline{font-size:11.5px;font-weight:500;padding:2px 8px;border-radius:20px;display:inline-flex;align-items:center;gap:4px;}
.task-deadline.normal{background:var(--surface2);color:var(--muted);}
.task-deadline.due-soon{background:#FFF3E0;color:#e67e22;}
.task-deadline.overdue{background:#FDECEA;color:#c0392b;}
.task-deadline.done{background:var(--surface2);color:var(--hint);}
[data-theme="dark"] .task-deadline.due-soon{background:#3D2800;color:#ffaa55;}
[data-theme="dark"] .task-deadline.overdue{background:#3D0A00;color:#ff7055;}
.task-project-tag{font-size:11px;padding:2px 8px;border-radius:20px;font-weight:500;}
.task-actions{display:flex;gap:2px;flex-shrink:0;opacity:0;transition:opacity var(--tr);}
.task-item:hover .task-actions{opacity:1;}

.tasks-done-toggle{font-size:12px;color:var(--muted);cursor:pointer;background:none;border:none;padding:6px 0;display:flex;align-items:center;gap:6px;margin-top:8px;font-family:'Golos Text',sans-serif;}
.tasks-done-toggle:hover{color:var(--text);}
.tasks-empty{text-align:center;padding:40px 20px;color:var(--hint);font-size:14px;}

/* ── Task priority ── */
.task-item{border-left:3px solid transparent;}
.task-item.p3{border-left-color:#e74c3c;}
.task-item.p2{border-left-color:#e67e22;}
.task-item.p1{border-left-color:#3B6FD4;}
.task-item.p0{border-left-color:#B0A898;}
.task-item.overdue.p3,.task-item.overdue.p2,.task-item.overdue.p1,.task-item.overdue.p0{border-left-color:#c0392b;}
.task-item.due-soon.p3,.task-item.due-soon.p2,.task-item.due-soon.p1,.task-item.due-soon.p0{border-left-color:#e67e22;}
.task-priority-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;display:inline-block;margin-top:2px;}
.priority-select-row{display:flex;gap:8px;flex-wrap:wrap;}
.priority-option{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);cursor:pointer;font-size:13px;font-weight:500;color:var(--muted);background:var(--surface);transition:background var(--tr),border-color var(--tr),color var(--tr);flex:1;min-width:0;justify-content:center;}
.priority-option:hover{border-color:var(--muted);}
.priority-option.selected{color:#fff;}
.priority-option[data-p="3"].selected{background:#e74c3c;border-color:#e74c3c;}
.priority-option[data-p="2"].selected{background:#e67e22;border-color:#e67e22;}
.priority-option[data-p="1"].selected{background:#3B6FD4;border-color:#3B6FD4;}
.priority-option[data-p="0"].selected{background:#B0A898;border-color:#B0A898;}

/* ── Recurring tasks ── */
.recur-toggle-row{display:flex;align-items:center;gap:8px;margin-bottom:0;}
.recur-toggle-label{font-size:13px;color:var(--muted);cursor:pointer;user-select:none;display:flex;align-items:center;gap:6px;}
.recur-options{display:none;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;margin-top:10px;display:flex;flex-direction:column;gap:10px;}
.recur-options.hidden{display:none;}
.recur-type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;}
.recur-type-btn{font-family:'Golos Text',sans-serif;font-size:12px;font-weight:500;padding:7px 8px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer;text-align:center;transition:background var(--tr),color var(--tr),border-color var(--tr);}
.recur-type-btn:hover{border-color:var(--muted);color:var(--text);}
.recur-type-btn.selected{background:var(--text);color:var(--bg);border-color:var(--text);}
.recur-extra{display:none;flex-direction:column;gap:8px;}
.recur-extra.visible{display:flex;}
.recur-days-grid{display:flex;gap:4px;flex-wrap:wrap;}
.recur-day-btn{width:34px;height:34px;border-radius:50%;border:1px solid var(--border);background:var(--surface);font-size:12px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--tr),color var(--tr);}
.recur-day-btn.selected{background:var(--text);color:var(--bg);border-color:var(--text);}
.recur-badge{display:inline-flex;align-items:center;gap:3px;font-size:10px;font-weight:700;padding:2px 7px;border-radius:20px;background:#E8F0FF;color:#1A3A9A;white-space:nowrap;}
[data-theme="dark"] .recur-badge{background:#0D1A3D;color:#7AAAF5;}
.task-item.is-recurring{border-left-style:dashed;}

/* ── Subtasks ── */
.task-subtask-progress{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--muted);cursor:pointer;user-select:none;padding:3px 0 1px;margin-top:4px;}
.task-subtask-progress:hover{color:var(--text);}
.subtask-prog-bar{width:42px;height:3px;background:var(--border);border-radius:2px;overflow:hidden;flex-shrink:0;}
.subtask-prog-fill{height:100%;background:#1A8A50;border-radius:2px;transition:width .3s;}
.task-subtask-list{display:flex;flex-direction:column;gap:3px;margin-top:5px;padding-left:2px;}
.subtask-item{display:flex;align-items:center;gap:7px;padding:2px 0;}
.subtask-check{width:15px;height:15px;border-radius:3px;border:1.5px solid var(--border);flex-shrink:0;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:9px;transition:background var(--tr),border-color var(--tr);}
.subtask-check:hover{border-color:var(--muted);}
.subtask-check.done{background:#1A8A50;border-color:#1A8A50;color:#fff;}
.subtask-label{font-size:12.5px;color:var(--text);flex:1;line-height:1.4;}
.subtask-label.done{text-decoration:line-through;color:var(--muted);}
.modal-subtask-item{display:flex;align-items:center;gap:8px;padding:5px 0;border-bottom:1px solid var(--border2);}
.modal-subtask-item:last-child{border-bottom:none;}
.modal-subtask-title{flex:1;font-size:13px;color:var(--text);}
.modal-subtask-add{display:flex;gap:6px;margin-top:8px;}
.modal-subtask-add input{flex:1;font-family:'Golos Text',sans-serif;font-size:13px;padding:7px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);outline:none;transition:border-color var(--tr);}
.modal-subtask-add input:focus{border-color:var(--muted);}
.modal-subtasks-empty{font-size:12px;color:var(--hint);padding:4px 0;}

/* ── Archive ── */
.archive-filter-bar{margin-bottom:16px;display:flex;flex-direction:column;gap:8px;}
.archive-filter-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.archive-search{flex:1;min-width:180px;font-family:'Golos Text',sans-serif;font-size:13px;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);outline:none;transition:border-color var(--tr);}
.archive-search:focus{border-color:var(--muted);}
.archive-project-select{font-family:'Golos Text',sans-serif;font-size:13px;padding:7px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);outline:none;cursor:pointer;transition:border-color var(--tr);}
.archive-project-select:focus{border-color:var(--muted);}
.archive-date-label{font-size:12px;color:var(--muted);white-space:nowrap;flex-shrink:0;}
.archive-date{font-family:'Golos Text',sans-serif;font-size:13px;padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);outline:none;transition:border-color var(--tr);}
.archive-date:focus{border-color:var(--muted);}
.archive-clear-btn{font-size:12px;white-space:nowrap;flex-shrink:0;}
.archive-total{font-size:12px;color:var(--hint);}
.archive-load-more{display:block;width:100%;padding:10px 16px;margin-top:12px;font-family:'Golos Text',sans-serif;font-size:13px;color:var(--muted);background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--tr),color var(--tr),border-color var(--tr);text-align:center;}
.archive-load-more:hover{background:var(--surface2);color:var(--text);border-color:var(--muted);}
.archive-item .task-actions{opacity:0;}
.archive-item:hover .task-actions{opacity:1;}
.archive-check{background:#1A8A50;border-color:#1A8A50;color:#fff;}
