@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@300;400;500;600;700;800&display=swap";:root{--font-heading:"Outfit", "Inter", system-ui, -apple-system, sans-serif;--font-body:"Inter", system-ui, -apple-system, sans-serif;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-full:9999px;--transition-fast:.15s ease;--transition-normal:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.4s cubic-bezier(.4, 0, .2, 1);--shadow-sm:0 2px 8px #0000000d;--shadow-md:0 8px 24px #00000014;--shadow-lg:0 16px 40px #0000001f;--color-success:#10b981;--color-warning:#f59e0b;--color-danger:#f43f5e;--color-info:#6366f1;--color-primary:#3b82f6;--priority-low:#10b981;--priority-medium:#f59e0b;--priority-high:#f43f5e;--bg-primary:#090d16;--bg-secondary:#111827b3;--bg-tertiary:#131a2c;--border-color:#ffffff12;--border-focus:#3b82f680;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--glass-bg:#0f172aa6;--glass-border:#ffffff14;--glass-blur:16px;--accent-gradient:linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%);--accent-glow:0 0 20px #3b82f64d;--success-glow:0 0 20px #10b98133;--danger-glow:0 0 20px #f43f5e33}[data-theme=light]{--bg-primary:#f3f4f6;--bg-secondary:#ffffffbf;--bg-tertiary:#fff;--border-color:#00000014;--border-focus:#3b82f680;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--glass-bg:#ffffffb3;--glass-border:#00000014;--accent-gradient:linear-gradient(135deg, #2563eb 0%, #7c3aed 100%);--accent-glow:0 4px 12px #2563eb26;--success-glow:0 4px 12px #10b98126;--danger-glow:0 4px 12px #f43f5e26}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--border-color) transparent;margin:0;padding:0}body{font-family:var(--font-body);background-color:var(--bg-primary);color:var(--text-primary);min-height:100vh;transition:background-color var(--transition-normal), color var(--transition-normal);line-height:1.5;overflow-x:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);transition:transform var(--transition-normal), box-shadow var(--transition-normal), background-color var(--transition-normal), border-color var(--transition-normal)}.glass-panel:hover{box-shadow:var(--shadow-lg)}.app-container{flex-direction:column;gap:2rem;max-width:1280px;min-height:100vh;margin:0 auto;padding:2rem 1.5rem;display:flex}.app-header{border-radius:var(--radius-lg);justify-content:space-between;align-items:center;padding:1.25rem 2rem;display:flex}.brand-section{align-items:center;gap:.75rem;display:flex}.brand-logo{border-radius:var(--radius-md);background:var(--accent-gradient);width:40px;height:40px;box-shadow:var(--accent-glow);color:#fff;font-family:var(--font-heading);justify-content:center;align-items:center;font-size:1.5rem;font-weight:800;display:flex}.brand-title{font-family:var(--font-heading);letter-spacing:-.025em;background:var(--accent-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.75rem;font-weight:800}.header-actions{align-items:center;gap:1rem;display:flex}.main-grid{grid-template-columns:380px 1fr;align-items:start;gap:2rem;display:grid}@media (width<=1024px){.main-grid{grid-template-columns:1fr}}.sidebar-panel{flex-direction:column;gap:1.5rem;display:flex;position:sticky;top:2rem}@media (width<=1024px){.sidebar-panel{position:static}}.content-panel{flex-direction:column;gap:1.5rem;display:flex}h2,h3,h4{font-family:var(--font-heading);letter-spacing:-.015em;font-weight:700}.dashboard-card{flex-direction:column;gap:1.25rem;padding:1.5rem;display:flex}.dashboard-title-bar{color:var(--text-primary);border-bottom:1px solid var(--border-color);align-items:center;gap:.5rem;padding-bottom:.75rem;display:flex}.dashboard-stats-grid{grid-template-columns:repeat(3,1fr);gap:.75rem;display:grid}.stat-box{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);text-align:center;transition:transform var(--transition-fast);flex-direction:column;gap:.25rem;padding:.75rem;display:flex}.stat-box:hover{transform:translateY(-2px)}.stat-val{font-family:var(--font-heading);font-size:1.5rem;font-weight:800;line-height:1.2}.stat-val.primary{color:var(--color-primary)}.stat-val.warning{color:var(--color-warning)}.stat-val.success{color:var(--color-success)}.stat-label{color:var(--text-secondary);font-size:.75rem;font-weight:500}.progress-section{flex-direction:column;gap:.5rem;display:flex}.progress-header{justify-content:space-between;align-items:center;font-size:.85rem;font-weight:600;display:flex}.progress-container{background:var(--bg-tertiary);border-radius:var(--radius-full);border:1px solid var(--border-color);width:100%;height:8px;overflow:hidden}.progress-bar-fill{background:var(--accent-gradient);border-radius:var(--radius-full);height:100%;transition:width var(--transition-slow)}.categories-breakdown{flex-direction:column;gap:.75rem;display:flex}.category-stat-row{flex-direction:column;gap:.25rem;display:flex}.category-stat-info{color:var(--text-secondary);justify-content:space-between;font-size:.8rem;display:flex}.category-stat-name{align-items:center;gap:.35rem;display:flex}.category-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.category-mini-bar{background:var(--bg-tertiary);border-radius:var(--radius-full);height:4px;overflow:hidden}.category-mini-fill{border-radius:var(--radius-full);height:100%;transition:width var(--transition-slow)}.theme-btn{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);border-radius:var(--radius-md);cursor:pointer;width:42px;height:42px;transition:transform var(--transition-fast), background-color var(--transition-fast), border-color var(--transition-fast);justify-content:center;align-items:center;display:flex}.theme-btn:hover{background:var(--bg-tertiary);border-color:var(--text-muted);transform:scale(1.05)}.form-card{padding:1.5rem}.form-title{color:var(--text-primary);align-items:center;gap:.5rem;margin-bottom:1rem;font-size:1.25rem;display:flex}.form-group{flex-direction:column;gap:.4rem;margin-bottom:1rem;display:flex}.form-group label{color:var(--text-secondary);font-size:.8rem;font-weight:600}.form-input,.form-textarea,.form-select{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);font-family:var(--font-body);color:var(--text-primary);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none;padding:.75rem 1rem;font-size:.9rem}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--border-focus)}.form-textarea{resize:vertical;min-height:80px}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.subtasks-builder{border:1px solid var(--border-color);border-radius:var(--radius-md);background:#00000026;margin-bottom:1.25rem;padding:.75rem}.subtasks-title{color:var(--text-secondary);margin-bottom:.5rem;font-size:.8rem;font-weight:600}.subtask-input-row{gap:.5rem;margin-bottom:.5rem;display:flex}.subtask-input-row input{flex:1}.btn-icon-add{background:var(--accent-gradient);color:#fff;border-radius:var(--radius-md);cursor:pointer;width:38px;height:38px;transition:transform var(--transition-fast);box-shadow:var(--accent-glow);border:none;justify-content:center;align-items:center;display:flex}.btn-icon-add:hover{transform:scale(1.05)}.subtasks-list-mini{flex-direction:column;gap:.35rem;max-height:120px;padding-right:.25rem;display:flex;overflow-y:auto}.subtask-item-mini{background:var(--bg-tertiary);border-radius:var(--radius-sm);border:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:.35rem .6rem;font-size:.8rem;display:flex}.subtask-item-mini span{white-space:nowrap;text-overflow:ellipsis;max-width:200px;overflow:hidden}.btn-delete-mini{color:var(--color-danger);cursor:pointer;opacity:.7;transition:opacity var(--transition-fast), transform var(--transition-fast);background:0 0;border:none;align-items:center;display:flex}.btn-delete-mini:hover{opacity:1;transform:scale(1.1)}.submit-btn{background:var(--accent-gradient);color:#fff;border-radius:var(--radius-md);font-family:var(--font-heading);cursor:pointer;transition:transform var(--transition-fast), box-shadow var(--transition-fast);box-shadow:var(--accent-glow);border:none;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.8rem 1.5rem;font-weight:700;display:flex}.submit-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #3b82f666}.cancel-edit-btn{border:1px solid var(--border-color);color:var(--text-secondary);border-radius:var(--radius-md);font-family:var(--font-heading);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);text-align:center;background:0 0;width:100%;margin-top:.5rem;padding:.8rem 1.5rem;font-weight:600}.cancel-edit-btn:hover{color:var(--text-primary);background:#ffffff0d}.category-selector-wrapper{flex-direction:column;gap:.5rem;display:flex}.category-tags-list{flex-wrap:wrap;gap:.4rem;margin-top:.25rem;display:flex}.category-tag-option{border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast);border:1px solid #0000;align-items:center;gap:.3rem;padding:.35rem .75rem;font-size:.75rem;font-weight:600;display:flex}.category-tag-option.selected{transform:scale(1.05);box-shadow:0 0 10px #ffffff26}.category-tag-option:hover{transform:translateY(-1px)}.add-custom-cat-row{gap:.4rem;margin-top:.5rem;display:flex}.color-dot-picker{align-items:center;gap:.3rem;display:flex}.color-circle{cursor:pointer;width:18px;height:18px;transition:transform var(--transition-fast);border:2px solid #0000;border-radius:50%}.color-circle.selected{border-color:var(--text-primary);transform:scale(1.15)}.filters-card{flex-direction:column;gap:1rem;padding:1.25rem 1.5rem;display:flex}.search-wrapper{width:100%;position:relative}.search-input{width:100%;padding-left:2.75rem}.search-icon-absolute{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;left:1rem;transform:translateY(-50%)}.filter-controls-row{grid-template-columns:repeat(4,1fr);gap:.75rem;display:grid}@media (width<=768px){.filter-controls-row{grid-template-columns:1fr 1fr}}@media (width<=480px){.filter-controls-row{grid-template-columns:1fr}}.filter-btn-group{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-tertiary);display:flex;overflow:hidden}.filter-tab-btn{color:var(--text-secondary);font-family:var(--font-body);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;flex:1;padding:.65rem .5rem;font-size:.85rem;font-weight:500}.filter-tab-btn.active{background:var(--accent-gradient);color:#fff;font-weight:600}.filter-tab-btn:not(.active):hover{color:var(--text-primary);background:#ffffff08}.tasks-container{flex-direction:column;gap:1rem;display:flex}.tasks-list-header{justify-content:space-between;align-items:center;padding:0 .5rem;display:flex}.tasks-count-badge{background:var(--border-color);color:var(--text-secondary);border-radius:var(--radius-full);padding:.2px .6rem;font-size:.75rem;font-weight:700}.task-item-card{border-left:5px solid #0000;flex-direction:column;gap:.75rem;padding:1.25rem;animation:.3s ease-out slideUp;display:flex}@keyframes slideUp{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.task-item-card.priority-low{border-left-color:var(--priority-low)}.task-item-card.priority-medium{border-left-color:var(--priority-medium)}.task-item-card.priority-high{border-left-color:var(--priority-high)}.task-item-main{align-items:flex-start;gap:1rem;display:flex}.custom-checkbox-wrapper{cursor:pointer;justify-content:center;align-items:center;width:24px;height:24px;margin-top:.15rem;display:flex;position:relative}.custom-checkbox-input{opacity:0;width:0;height:0;position:absolute}.custom-checkbox-box{border:2px solid var(--text-muted);width:22px;height:22px;transition:background-color var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;display:flex}.custom-checkbox-wrapper:hover .custom-checkbox-box{border-color:var(--color-primary);transform:scale(1.08)}.custom-checkbox-input:checked+.custom-checkbox-box{background:var(--accent-gradient);box-shadow:var(--accent-glow);border-color:#0000}.custom-checkbox-box svg{fill:none;stroke:#fff;stroke-width:3px;stroke-dasharray:20;stroke-dashoffset:20px;width:12px;height:12px;transition:stroke-dashoffset .2s ease-in-out}.custom-checkbox-input:checked+.custom-checkbox-box svg{stroke-dashoffset:0}.task-item-details{flex-direction:column;flex:1;gap:.25rem;display:flex;overflow:hidden}.task-item-title-row{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.task-item-title{font-family:var(--font-heading);color:var(--text-primary);transition:color var(--transition-fast), text-decoration var(--transition-fast);cursor:pointer;font-size:1.1rem;font-weight:700}.task-item-title.completed{color:var(--text-muted);text-decoration:line-through}.tags-row{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.priority-badge{text-transform:uppercase;border-radius:var(--radius-full);letter-spacing:.05em;padding:.15rem .5rem;font-size:.65rem;font-weight:700}.priority-badge.low{color:var(--priority-low);background:#10b9811f}.priority-badge.medium{color:var(--priority-medium);background:#f59e0b1f}.priority-badge.high{color:var(--priority-high);background:#f43f5e1f}.category-badge{border-radius:var(--radius-full);align-items:center;gap:.25rem;padding:.15rem .5rem;font-size:.65rem;font-weight:600;display:flex}.task-item-desc{color:var(--text-secondary);overflow-wrap:break-word;margin-top:.35rem;font-size:.85rem;line-height:1.45}.due-date-badge{color:var(--text-secondary);align-items:center;gap:.3rem;font-size:.75rem;font-weight:500;display:flex}.due-date-badge.overdue{color:var(--color-danger);font-weight:600;animation:2s infinite heartbeat}.due-date-badge.today{color:var(--color-warning);font-weight:600}.btn-expand{color:var(--text-muted);cursor:pointer;transition:transform var(--transition-normal), color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.btn-expand.expanded{color:var(--text-primary);transform:rotate(180deg)}.task-actions{align-items:center;gap:.4rem;display:flex}.action-btn{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;width:32px;height:32px;transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.action-btn:hover{border-color:var(--text-muted);transform:translateY(-1px)}.action-btn.edit-btn:hover{color:var(--color-info);background:#6366f11a;border-color:#6366f133}.action-btn.delete-btn:hover{color:var(--color-danger);background:#f43f5e1a;border-color:#f43f5e33}.task-item-checklist{border-top:1px dashed var(--border-color);flex-direction:column;gap:.4rem;margin-top:.5rem;padding-top:.75rem;display:flex}.checklist-title-row{color:var(--text-secondary);justify-content:space-between;margin-bottom:.2rem;font-size:.75rem;font-weight:700;display:flex}.checklist-row{color:var(--text-primary);align-items:center;gap:.5rem;font-size:.8rem;display:flex}.checklist-text{transition:text-decoration var(--transition-fast), color var(--transition-fast)}.checklist-text.completed{color:var(--text-muted);text-decoration:line-through}.mini-checkbox-wrapper{cursor:pointer;justify-content:center;align-items:center;width:18px;height:18px;display:flex}.mini-checkbox-box{border:2px solid var(--text-muted);width:16px;height:16px;transition:all var(--transition-fast);border-radius:4px;justify-content:center;align-items:center;display:flex}.mini-checkbox-wrapper:hover .mini-checkbox-box{border-color:var(--color-primary)}.custom-checkbox-input:checked+.mini-checkbox-box{background:var(--accent-gradient);border-color:#0000}.mini-checkbox-box svg{width:10px;height:10px}.empty-state-card{text-align:center;flex-direction:column;align-items:center;gap:1rem;padding:3rem 2rem;display:flex}.empty-state-illustration{color:var(--text-muted);opacity:.4;margin-bottom:.5rem}.empty-state-card h3{color:var(--text-primary);font-size:1.25rem}.empty-state-card p{color:var(--text-secondary);max-width:320px;margin:0 auto;font-size:.9rem}.clear-completed-row{justify-content:space-between;align-items:center;padding:.5rem .5rem 0;display:flex}.btn-clear-link{color:var(--color-danger);font-family:var(--font-body);cursor:pointer;transition:opacity var(--transition-fast);background:0 0;border:none;align-items:center;gap:.25rem;font-size:.8rem;font-weight:600;display:flex}.btn-clear-link:hover{opacity:.8;text-decoration:underline}.toast-container{z-index:1000;pointer-events:none;flex-direction:column;gap:.5rem;display:flex;position:fixed;bottom:2rem;right:2rem}.toast-message{pointer-events:auto;background:var(--bg-secondary);border:1px solid var(--border-color);box-shadow:var(--shadow-lg);border-radius:var(--radius-md);color:var(--text-primary);-webkit-backdrop-filter:blur(10px);align-items:center;gap:.75rem;padding:.85rem 1.25rem;font-size:.85rem;font-weight:600;animation:.3s cubic-bezier(.175,.885,.32,1.275) toastFadeIn;display:flex}@keyframes toastFadeIn{0%{opacity:0;transform:translateY(20px)scale(.9)}to{opacity:1;transform:translateY(0)scale(1)}}.toast-message.success{border-left:4px solid var(--color-success)}.toast-message.info{border-left:4px solid var(--color-info)}.toast-message.warning{border-left:4px solid var(--color-warning)}.toast-message.danger{border-left:4px solid var(--color-danger)}
