@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&display=swap";:root{--font-primary:"Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--radius-sm:8px;--radius-md:14px;--radius-lg:22px;--radius-full:9999px;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.4s cubic-bezier(.4, 0, .2, 1);--color-priority-low:#10b981;--color-priority-medium:#f59e0b;--color-priority-high:#ef4444}.dark-theme{--bg-gradient:radial-gradient(circle at top right, #17112d 0%, #0a0612 100%);--panel-bg:#100c1ca6;--card-bg:#19142773;--card-bg-hover:#211b3399;--card-border:#ffffff0f;--card-border-hover:#8b5cf666;--text-primary:#f1eef6;--text-secondary:#a39eb5;--text-tertiary:#6c667e;--accent:#8b5cf6;--accent-light:#a78bfa;--accent-dark:#6d28d9;--accent-glow:#8b5cf640;--accent-bg-glow:#8b5cf61a;--danger:#ef4444;--danger-glow:#ef444440;--success:#10b981;--success-glow:#10b98140;--warning:#f59e0b;--shadow-sm:0 4px 6px -1px #0003;--shadow-md:0 8px 26px -4px #0006, 0 4px 6px -2px #0003;--shadow-lg:0 20px 45px -15px #0009;--scrollbar-thumb:#ffffff14;--scrollbar-hover:#ffffff26;--overlay-bg:#05030abf}.light-theme{--bg-gradient:radial-gradient(circle at top right, #f6f5fb 0%, #e5e2f3 100%);--panel-bg:#ffffffa6;--card-bg:#ffffff73;--card-bg-hover:#ffffffd9;--card-border:#0000000d;--card-border-hover:#7c3aed59;--text-primary:#191428;--text-secondary:#5e5971;--text-tertiary:#9590a8;--accent:#7c3aed;--accent-light:#8b5cf6;--accent-dark:#6d28d9;--accent-glow:#7c3aed33;--accent-bg-glow:#7c3aed14;--danger:#dc2626;--danger-glow:#dc262633;--success:#059669;--success-glow:#05966933;--warning:#d97706;--shadow-sm:0 4px 6px -1px #0000000a;--shadow-md:0 10px 25px -5px #7c3aed0f, 0 8px 16px -6px #0000000a;--shadow-lg:0 25px 50px -12px #7c3aed1f;--scrollbar-thumb:#00000014;--scrollbar-hover:#00000029;--overlay-bg:#0e0b1659}*{box-sizing:border-box;font-family:var(--font-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0}body{background:var(--bg-gradient);color:var(--text-primary);min-height:100vh;transition:background var(--transition-slow), color var(--transition-normal);overflow-x:hidden}#root{min-height:100vh;display:flex}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-hover)}.glass-panel{background:var(--panel-bg);-webkit-backdrop-filter:blur(18px)saturate(180%);border:1px solid var(--card-border);box-shadow:var(--shadow-md);border-radius:var(--radius-lg);transition:background var(--transition-normal), border-color var(--transition-normal), box-shadow var(--transition-normal)}.glass-card{background:var(--card-bg);-webkit-backdrop-filter:blur(8px)saturate(140%);border:1px solid var(--card-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:transform var(--transition-fast), background var(--transition-normal), border-color var(--transition-normal), box-shadow var(--transition-normal)}.glass-card:hover{background:var(--card-bg-hover);border-color:var(--card-border-hover);box-shadow:var(--shadow-md), 0 0 12px var(--accent-glow);transform:translateY(-2px)}input[type=text],input[type=datetime-local],textarea,select{border:1px solid var(--card-border);border-radius:var(--radius-sm);color:var(--text-primary);transition:border-color var(--transition-fast), background var(--transition-fast), box-shadow var(--transition-fast);background:#0000001f;outline:none;padding:10px 14px;font-size:.95rem}.light-theme input[type=text],.light-theme input[type=datetime-local],.light-theme textarea,.light-theme select{background:#fffc;border:1px solid #00000014}input[type=text]:focus,input[type=datetime-local]:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);background:#0000002e}.light-theme input[type=text]:focus,.light-theme input[type=datetime-local]:focus,.light-theme textarea:focus,.light-theme select:focus{box-shadow:0 0 0 3px var(--accent-glow);background:#fff}.btn{border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:.9rem;font-weight:500;display:inline-flex}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 4px 12px var(--accent-glow)}.btn-primary:hover{background:var(--accent-light);box-shadow:0 6px 16px var(--accent-glow);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{border-color:var(--card-border);color:var(--text-primary);background:#ffffff0f}.btn-secondary:hover{border-color:var(--text-secondary);background:#ffffff1f}.light-theme .btn-secondary{background:#0000000a}.light-theme .btn-secondary:hover{background:#00000014}.btn-danger{color:#f87171;background:#ef444426;border-color:#ef44444d}.btn-danger:hover{color:#fff;background:#ef44444d;border-color:#ef4444}.light-theme .btn-danger{color:#dc2626;background:#dc262614;border-color:#dc262633}.light-theme .btn-danger:hover{color:#fff;background:#dc2626}.btn-icon-only{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:1px solid #0000;padding:8px}.btn-icon-only:hover{color:var(--text-primary);border-color:var(--card-border);background:#ffffff0d}.light-theme .btn-icon-only:hover{background:#0000000a}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.animate-fade-in{animation:fadeIn var(--transition-normal) forwards}.animate-scale-in{animation:scaleIn var(--transition-normal) forwards}.app-container{width:100%;min-height:100vh;display:flex;position:relative}.sidebar{border-top:none;border-bottom:none;border-left:none;border-right:1px solid var(--card-border);z-index:100;border-radius:0;flex-direction:column;gap:28px;width:280px;height:100vh;padding:24px;display:flex;position:sticky;top:0;overflow-y:auto}.main-workspace{flex-direction:column;flex:1;gap:30px;width:100%;max-width:1200px;min-height:100vh;margin:0 auto;padding:30px;display:flex;overflow-y:auto}.nav-group{flex-direction:column;gap:6px;display:flex}.nav-label{text-transform:uppercase;letter-spacing:1.5px;color:var(--text-tertiary);margin-bottom:6px;padding-left:8px;font-size:.75rem;font-weight:700}.nav-item{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);justify-content:space-between;align-items:center;padding:10px 14px;font-weight:500;display:flex}.nav-item-left{align-items:center;gap:12px;display:flex}.nav-item:hover{color:var(--text-primary);background:#ffffff0d}.light-theme .nav-item:hover{background:#00000008}.nav-item.active{color:var(--text-primary);background:var(--accent-bg-glow);border-left:3px solid var(--accent);padding-left:11px}.nav-count{border-radius:var(--radius-full);color:var(--text-secondary);background:#ffffff0f;padding:2px 8px;font-size:.75rem;font-weight:600}.light-theme .nav-count{background:#0000000d}.nav-item.active .nav-count{background:var(--accent);color:#fff}.dashboard-grid{grid-template-columns:2fr 1fr;gap:20px;display:grid}@media (width<=900px){.dashboard-grid{grid-template-columns:1fr}}.stats-card{justify-content:space-between;align-items:center;gap:20px;padding:22px;display:flex}.stats-info{flex-direction:column;gap:8px;display:flex}.stats-title{letter-spacing:-.5px;font-size:1.5rem;font-weight:700}.stats-desc{color:var(--text-secondary);font-size:.9rem}.progress-container{justify-content:center;align-items:center;width:100px;height:100px;display:flex;position:relative}.progress-svg{width:100px;height:100px;transform:rotate(-90deg)}.progress-circle-bg{fill:none;stroke:#ffffff0d;stroke-width:8px}.light-theme .progress-circle-bg{stroke:#0000000d}.progress-circle-bar{fill:none;stroke:var(--accent);stroke-width:8px;stroke-linecap:round;transition:stroke-dashoffset var(--transition-slow)}.progress-text{color:var(--text-primary);font-size:1.25rem;font-weight:700;position:absolute}.mini-stats{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.mini-stat-item{flex-direction:column;gap:4px;padding:14px;display:flex}.mini-stat-val{font-size:1.4rem;font-weight:700}.mini-stat-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);font-size:.75rem}.header{justify-content:space-between;align-items:center;gap:20px;display:flex}.header-title-area{flex-direction:column;gap:4px;display:flex}.header-title{letter-spacing:-.8px;background:linear-gradient(135deg, var(--text-primary) 30%, var(--accent-light) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.8rem;font-weight:800}.header-subtitle{color:var(--text-secondary);font-size:.85rem}.header-actions{align-items:center;gap:12px;display:flex}.search-container{min-width:260px;position:relative}.search-input{width:100%;height:38px;padding-left:38px!important;font-size:.85rem!important}.search-icon{color:var(--text-tertiary);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.filter-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.filter-chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast);border:1px solid var(--card-border);color:var(--text-secondary);background:#ffffff0a;padding:6px 14px;font-size:.8rem;font-weight:500}.light-theme .chip{background:#00000008}.chip:hover{color:var(--text-primary);background:#ffffff14}.light-theme .chip:hover{background:#0000000f}.chip.active{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 2px 8px var(--accent-glow)}.sort-select{height:36px;padding:0 10px;font-size:.8rem!important}.todo-grid{grid-template-columns:1fr;gap:14px;display:grid}.todo-item{align-items:flex-start;gap:16px;padding:16px;display:flex;position:relative;overflow:hidden}.todo-item:before{content:"";background:var(--accent);width:4px;transition:opacity var(--transition-fast);position:absolute;top:0;bottom:0;left:0}.todo-item.priority-low:before{background:var(--color-priority-low)}.todo-item.priority-medium:before{background:var(--color-priority-medium)}.todo-item.priority-high:before{background:var(--color-priority-high)}.todo-item.completed:before{opacity:.3}.checkbox-container{cursor:pointer;-webkit-user-select:none;user-select:none;margin-bottom:26px;padding-left:26px;font-size:22px;display:block;position:relative}.checkbox-container input{opacity:0;cursor:pointer;width:0;height:0;position:absolute}.checkmark{border:2px solid var(--text-tertiary);width:22px;height:22px;transition:all var(--transition-fast);border-radius:6px;justify-content:center;align-items:center;display:flex;position:absolute;top:4px;left:0}.checkbox-container:hover input~.checkmark{border-color:var(--accent)}.checkbox-container input:checked~.checkmark{background-color:var(--accent);border-color:var(--accent);box-shadow:0 0 8px var(--accent-glow)}.checkmark:after{content:"";display:none;position:absolute}.checkbox-container input:checked~.checkmark:after{display:block}.checkbox-container .checkmark:after{border:2px solid #fff;border-width:0 2px 2px 0;width:5px;height:10px;margin-bottom:2px;transform:rotate(45deg)}.todo-content{flex-direction:column;flex:1;gap:6px;display:flex}.todo-title{color:var(--text-primary);transition:color var(--transition-fast);font-size:1.05rem;font-weight:600;line-height:1.3}.todo-item.completed .todo-title{color:var(--text-tertiary);text-decoration:line-through}.todo-desc{color:var(--text-secondary);font-size:.85rem;line-height:1.4}.todo-item.completed .todo-desc{color:var(--text-tertiary)}.todo-meta{flex-wrap:wrap;align-items:center;gap:12px;margin-top:4px;font-size:.75rem;display:flex}.meta-badge{border-radius:var(--radius-full);color:var(--text-secondary);background:#ffffff0d;align-items:center;gap:4px;padding:2px 8px;display:inline-flex}.light-theme .meta-badge{background:#0000000a}.meta-badge.overdue{color:#f87171;background:#ef444426}.light-theme .meta-badge.overdue{color:#ef4444;background:#ef444414}.meta-badge.today{color:#fbbf24;background:#f59e0b26}.light-theme .meta-badge.today{color:#d97706;background:#f59e0b14}.tag-pill{background:var(--accent-bg-glow);color:var(--accent-light);border:1px solid #8b5cf633;border-radius:4px;padding:1px 6px;font-size:.7rem}.todo-actions{align-items:center;gap:6px;display:flex}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:60px 20px;display:flex}.empty-icon{color:var(--text-tertiary);opacity:.5}.empty-title{font-size:1.25rem;font-weight:600}.empty-desc{color:var(--text-secondary);max-width:320px;font-size:.9rem}.modal-overlay{background:var(--overlay-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;justify-content:center;align-items:center;padding:20px;animation:.25s forwards fadeIn;display:flex;position:fixed;inset:0}.modal-content{border-radius:var(--radius-lg);flex-direction:column;gap:20px;width:100%;max-width:500px;padding:26px;animation:.3s cubic-bezier(.34,1.56,.64,1) forwards scaleIn;display:flex}.modal-header{justify-content:space-between;align-items:center;display:flex}.modal-title{letter-spacing:-.5px;font-size:1.3rem;font-weight:700}.modal-body{flex-direction:column;gap:16px;display:flex}.modal-footer{justify-content:flex-end;align-items:center;gap:12px;display:flex}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:.8rem;font-weight:600}.form-row{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.shortcuts-panel{border-radius:var(--radius-md);background:#00000026;flex-direction:column;gap:8px;margin-top:auto;padding:12px;font-size:.75rem;display:flex}.light-theme .shortcuts-panel{background:#00000008}.shortcut-item{color:var(--text-secondary);justify-content:space-between;align-items:center;display:flex}.shortcut-key{border:1px solid var(--card-border);background:#ffffff14;border-radius:3px;padding:1px 6px;font-family:monospace;font-size:.7rem}.light-theme .shortcut-key{background:#0000000d}.floating-add-btn{border-radius:var(--radius-full);background:var(--accent);color:#fff;width:56px;height:56px;box-shadow:0 8px 24px var(--accent-glow);cursor:pointer;z-index:90;transition:all var(--transition-fast);border:none;justify-content:center;align-items:center;display:none;position:fixed;bottom:24px;right:24px}.floating-add-btn:hover{box-shadow:0 10px 28px var(--accent-glow);transform:scale(1.1)}.category-pills{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.category-dot{border-radius:var(--radius-full);width:10px;height:10px;display:inline-block}.category-badge{border-radius:var(--radius-full);border:1px solid var(--card-border);color:var(--text-secondary);align-items:center;gap:6px;padding:4px 8px;font-size:.75rem;font-weight:500;display:inline-flex}.mobile-header{border-bottom:1px solid var(--card-border);z-index:110;background:var(--panel-bg);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);justify-content:space-between;align-items:center;padding:14px 20px;display:none;position:sticky;top:0}@media (width<=768px){.app-container{flex-direction:column}.mobile-header,.floating-add-btn{display:flex}.sidebar{width:280px;height:calc(100vh - 60px);transition:left var(--transition-normal);box-shadow:var(--shadow-lg);position:fixed;top:60px;left:-280px}.sidebar.open{left:0}.main-workspace{min-height:calc(100vh - 60px);padding:20px}.filter-bar{flex-direction:column;align-items:stretch}.sort-select{width:100%}.search-container{min-width:100%}.header{flex-direction:column;align-items:flex-start;gap:12px}.header-actions{justify-content:space-between;width:100%}}
