@import url(https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,600&family=Inter:wght@400;500;600;700&display=swap);:root{--ink:#12172b;--midnight:#1b2a4a;--deep-blue:#0f3460;--amber:#e7a33e;--amber-deep:#c97f1e;--heading:#1a1a2e;--muted:#7a7f8c;--border:#e4e4e7;--card-bg:#fffdf9;--success:#2f9e6e;--success-bg:#eafbf3;--success-border:#a8e6cf;--error:#d94f45;--error-bg:#fdeeee;--error-border:#f4c6c2}.auth-container{align-items:center;background:linear-gradient(135deg,#12172b,#1b2a4a 50%,#0f3460);background:linear-gradient(135deg,var(--ink) 0,var(--midnight) 50%,var(--deep-blue) 100%);display:flex;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;justify-content:center;min-height:100vh;padding:24px}.auth-card{background:#fffdf9;background:var(--card-bg);border-radius:4px 4px 16px 16px;box-shadow:0 24px 60px #0f193759;max-width:420px;overflow:hidden;padding:44px 40px 40px;position:relative;width:100%}.auth-card:before{background:repeating-linear-gradient(90deg,#e7a33e 0 10px,#0000 10px 20px);background:repeating-linear-gradient(90deg,var(--amber) 0 10px,#0000 10px 20px);height:6px;opacity:.75;top:0}.auth-card:after,.auth-card:before{content:"";left:0;position:absolute;right:0}.auth-card:after{background:repeating-linear-gradient(90deg,#e4e4e7 0 6px,#0000 6px 12px);background:repeating-linear-gradient(90deg,var(--border) 0 6px,#0000 6px 12px);height:1px;top:6px}.auth-header{margin-bottom:32px;text-align:center}.auth-header h1{color:#1a1a2e;color:var(--heading);font-family:Fraunces,Georgia,serif;font-size:30px;font-weight:600;letter-spacing:-.01em;margin-bottom:6px}.auth-header p{color:#7a7f8c;color:var(--muted);font-size:14px}.auth-form{gap:18px}.auth-form,.form-group{display:flex;flex-direction:column}.form-group{gap:6px}.form-group label{color:#444;font-size:13px;font-weight:600}.form-group input{background:#fff;border:1.5px solid #e4e4e7;border:1.5px solid var(--border);border-radius:8px;color:#333;font-family:inherit;font-size:14px;outline:none;padding:12px 16px;transition:border-color .15s ease,box-shadow .15s ease}.form-group input:focus,.form-group input:focus-visible{border-color:#e7a33e;border-color:var(--amber);box-shadow:0 0 0 3px #e7a33e2e}.form-group input::placeholder{color:#b7bac2}.auth-btn{background:#e7a33e;background:var(--amber);border:none;border-radius:8px;color:#12172b;color:var(--ink);cursor:pointer;font-size:15px;font-weight:700;margin-top:4px;padding:13px;transition:background .15s ease,transform .1s ease}.auth-btn:hover:not(:disabled){background:#c97f1e;background:var(--amber-deep)}.auth-btn:active:not(:disabled){transform:translateY(1px)}.auth-btn:focus-visible{outline:2px solid #0f3460;outline:2px solid var(--deep-blue);outline-offset:2px}.auth-btn:disabled{cursor:not-allowed;opacity:.6}.auth-error{background:#fdeeee;background:var(--error-bg);border:1px solid #f4c6c2;border:1px solid var(--error-border);border-radius:8px;color:#d94f45;color:var(--error)}.auth-error,.auth-success{font-size:13px;margin-bottom:8px;padding:10px 14px;text-align:center}.auth-success{background:#eafbf3;background:var(--success-bg);border:1px solid #a8e6cf;border:1px solid var(--success-border);border-radius:8px;color:#2f9e6e;color:var(--success)}.auth-link{color:#7a7f8c;color:var(--muted);font-size:13px;margin-top:20px;text-align:center}.auth-link a{color:#0f3460;color:var(--deep-blue);font-weight:600;text-decoration:none}.auth-link a:hover{text-decoration:underline}@media (max-width:480px){.auth-container{padding:16px}.auth-card{border-radius:4px 4px 12px 12px;padding:36px 24px 28px}.auth-header h1{font-size:25px}.auth-header p{font-size:13px}.form-group input{font-size:16px;padding:11px 14px}.auth-btn{font-size:15px;padding:12px}}@media (prefers-reduced-motion:reduce){.auth-btn,.form-group input{transition:none}}.auth-container{overflow:hidden;position:relative}.auth-container:after,.auth-container:before{animation:float 8s ease-in-out infinite;border:2px solid #e7a33e26;border-radius:6px;content:"";position:absolute}.auth-container:before{animation-delay:0s;height:60px;left:10%;top:15%;width:60px}.auth-container:after{animation-delay:3s;bottom:20%;height:40px;right:12%;width:40px}@keyframes float{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-20px) rotate(8deg)}}.password-wrapper{align-items:center;display:flex;position:relative}.password-wrapper input{padding-right:44px;width:100%}.toggle-password{align-items:center;background:none;border:none;color:#7a7f8c;color:var(--muted);cursor:pointer;display:flex;padding:4px;position:absolute;right:12px;transition:color .15s ease}.toggle-password:hover{color:#c97f1e;color:var(--amber-deep)}.auth-card{animation:cardEnter .4s ease-out}@keyframes cardEnter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.auth-btn{align-items:center;display:flex;gap:8px;justify-content:center;position:relative}.auth-btn:disabled:before{animation:spin .6s linear infinite;border:2px solid #12172b4d;border-radius:50%;border-top:2px solid var(--ink);content:"";height:14px;width:14px}@keyframes spin{to{transform:rotate(1turn)}}.auth-error{animation:shake .3s ease}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}@media (prefers-reduced-motion:reduce){.auth-btn:disabled:before,.auth-card,.auth-container:after,.auth-container:before,.auth-error{animation:none}}*{box-sizing:border-box;margin:0;padding:0}:root{--bg-page:#f4f6f9;--bg-card:#fff;--bg-navbar:#fff;--border-color:#e8eaed;--text-primary:#111827;--text-secondary:#6b7280;--text-muted:#9ca3af;--input-bg:#fff;--input-border:#e5e7eb;--stat-bg-total:#fff;--stat-bg-done:#f0fdf4;--stat-bg-pend:#fffbeb}body.dark{--bg-page:#0f172a;--bg-card:#1e293b;--bg-navbar:#1e293b;--border-color:#334155;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#64748b;--input-bg:#293548;--input-border:#475569;--stat-bg-total:#1e293b;--stat-bg-done:#14532d22;--stat-bg-pend:#78350f22}.dashboard-container{background:#f4f6f9;background:var(--bg-page);font-family:Segoe UI,sans-serif;min-height:100vh;transition:background .3s}.navbar{background:#fff;background:var(--bg-navbar);border-bottom:1px solid #e8eaed;border-bottom:1px solid var(--border-color);height:60px;justify-content:space-between;padding:0 32px;position:-webkit-sticky;position:sticky;top:0;transition:background .3s,border-color .3s;z-index:100}.navbar,.navbar-brand{align-items:center;display:flex}.navbar-brand{color:#111827;color:var(--text-primary);font-size:18px;font-weight:700;gap:10px}.navbar-brand-icon{align-items:center;background:#2563eb;border-radius:8px;color:#fff;display:flex;font-size:15px;font-weight:800;height:32px;justify-content:center;width:32px}.navbar-right{gap:14px}.navbar-avatar,.navbar-right{align-items:center;display:flex}.navbar-avatar{background:#e8eaed;border-radius:50%;color:#444;font-size:12px;font-weight:700;height:34px;justify-content:center;text-transform:uppercase;width:34px}.navbar-welcome{font-size:14px;font-weight:500}.dark-toggle,.navbar-welcome{color:#6b7280;color:var(--text-secondary)}.dark-toggle{align-items:center;background:#0000;border:1.5px solid #e8eaed;border:1.5px solid var(--border-color);border-radius:8px;cursor:pointer;display:flex;font-size:16px;height:34px;justify-content:center;transition:all .2s;width:34px}.dark-toggle:hover{background:#fff;background:var(--input-bg)}.analytics-btn{align-items:center;background:#0000;border:1.5px solid #e8eaed;border:1.5px solid var(--border-color);border-radius:8px;color:#6b7280;color:var(--text-secondary);cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:6px 14px;transition:all .2s}.analytics-btn:hover{background:#fff;background:var(--input-bg);color:#111827;color:var(--text-primary)}.logout-btn{background:#0000;border:1.5px solid #e8eaed;border:1.5px solid var(--border-color);border-radius:8px;color:#6b7280;color:var(--text-secondary);cursor:pointer;font-size:13px;font-weight:500;padding:6px 16px;transition:all .2s}.logout-btn:hover{background:#fee2e2;border-color:#fca5a5;color:#dc2626}.dashboard-content{display:flex;flex-direction:column;height:calc(100vh - 60px)}.dashboard-sticky-top{background:#f4f6f9;background:var(--bg-page);flex-shrink:0;padding:24px 32px 0;transition:background .3s}.dashboard-scrollable{flex:1 1;overflow-y:auto;padding:20px 32px 32px}.dashboard-scrollable::-webkit-scrollbar{width:6px}.dashboard-scrollable::-webkit-scrollbar-track{background:#0000}.dashboard-scrollable::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:10px}.dashboard-topbar{align-items:flex-end;display:flex;justify-content:space-between;margin-bottom:20px}.dashboard-title-section h1{color:#111827;color:var(--text-primary);font-size:28px;font-weight:800;line-height:1;margin-bottom:4px}.dashboard-title-section p{color:#9ca3af;color:var(--text-muted);font-size:11px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.add-todo-btn{align-items:center;background:#2563eb;border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px;padding:10px 20px;transition:background .2s}.add-todo-btn:hover{background:#1d4ed8}.stats-bar{display:flex;gap:16px;margin-bottom:20px}.stat-card{align-items:center;background:#fff;background:var(--stat-bg-total);border:1px solid #e8eaed;border:1px solid var(--border-color);border-radius:12px;display:flex;flex:1 1;gap:16px;padding:16px 20px;transition:background .3s,border-color .3s}.stat-card.done{background:#f0fdf4;background:var(--stat-bg-done);border-color:#bbf7d0;border-left:3px solid #16a34a}.stat-card.pending{background:#fffbeb;background:var(--stat-bg-pend);border-color:#fde68a;border-left:3px solid #d97706}.stat-card.total{border-left:3px solid #2563eb}.stat-icon{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:18px;font-weight:800;height:46px;justify-content:center;width:46px}.stat-card.total .stat-icon{background:#dbeafe;color:#2563eb}.stat-card.done .stat-icon{background:#dcfce7;color:#16a34a}.stat-card.pending .stat-icon{background:#fef3c7;color:#d97706}.stat-label{color:#9ca3af;color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.5px;margin-bottom:2px;text-transform:uppercase}.stat-card.done .stat-label{color:#16a34a}.stat-card.pending .stat-label{color:#d97706}.stat-title{color:#111827;color:var(--text-primary);font-size:17px;font-weight:700}.stat-card.done .stat-title{color:#15803d}.stat-card.pending .stat-title{color:#b45309}.filter-bar{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}.search-wrapper{flex:1 1;min-width:200px;position:relative}.search-icon{color:#9ca3af;color:var(--text-muted);font-size:13px;left:12px;position:absolute;top:50%;transform:translateY(-50%)}.search-wrapper input{background:#fff;background:var(--input-bg);border:1.5px solid #e5e7eb;border:1.5px solid var(--input-border);border-radius:8px;color:#111827;color:var(--text-primary);font-size:13px;outline:none;padding:9px 14px 9px 34px;transition:border-color .2s,background .3s;width:100%}.search-wrapper input:focus{border-color:#2563eb}.filter-bar select{background:#fff;background:var(--input-bg);border:1.5px solid #e5e7eb;border:1.5px solid var(--input-border);border-radius:8px;color:#111827;color:var(--text-primary);cursor:pointer;font-size:13px;min-width:120px;outline:none;padding:9px 14px;transition:background .3s,border-color .3s}.filter-bar select:focus{border-color:#2563eb}.todos-grid{display:flex;flex-direction:column;gap:14px}.todo-card{background:#fff;background:var(--bg-card);border:1px solid #e8eaed;border:1px solid var(--border-color);border-radius:14px;padding:18px 20px;position:relative;transition:box-shadow .2s,transform .2s,background .3s}.todo-card:hover{box-shadow:0 4px 20px #00000014;transform:translateY(-2px)}.todo-card.completed{opacity:.6}.priority-badge{border-radius:6px;display:inline-block;font-size:15px;font-weight:700;letter-spacing:.5px;margin-bottom:10px;padding:3px 10px;text-transform:uppercase}.priority-1{background:#dbeafe;color:#2563eb}.priority-2{background:#fef3c7;color:#d97706}.priority-3{background:#fee2e2;color:#dc2626}.todo-card-header{align-items:flex-start;display:flex;gap:8px;justify-content:space-between;margin-bottom:10px}.todo-card-actions-top{display:flex;flex-shrink:0;gap:6px}.btn-icon{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:25px;height:28px;justify-content:center;transition:all .15s;width:40px}.btn-icon,.btn-icon:hover{background:#fff;background:var(--input-bg);color:#111827;color:var(--text-primary)}.btn-icon.delete:hover{background:#fee2e2;color:#dc2626}.todo-title{color:#111827;color:var(--text-primary);font-size:20px;font-weight:700;line-height:1.4}.todo-title.done{color:#9ca3af;color:var(--text-muted);text-decoration:line-through}.todo-deadline{align-items:center;color:#111827;color:var(--text-primary);display:flex;font-size:15px;gap:12px;margin-bottom:10px}.subtasks-list{background:#f4f6f9;background:var(--bg-page);border:1px solid #e8eaed;border:1px solid var(--border-color);border-radius:8px;display:flex;flex-direction:column;gap:10px;margin-bottom:12px;padding:10px 12px}.subtask-item{align-items:center;color:#111827;color:var(--text-primary);display:flex;font-size:15px;gap:8px}.subtask-item input[type=checkbox]{accent-color:#2563eb;cursor:pointer;flex-shrink:0;height:14px;width:14px}.subtask-item span.done{color:#9ca3af;color:var(--text-muted);text-decoration:line-through}.todo-card-footer{align-items:center;border-top:1px solid #e8eaed;border-top:1px solid var(--border-color);display:flex;justify-content:space-between;margin-top:12px;padding-top:10px}.todo-tags{display:flex;flex-wrap:wrap;gap:6px}.todo-tag{color:#111827;color:var(--text-primary);font-size:15px;font-weight:600;text-transform:uppercase}.btn-complete{align-items:center;background:#0000;border:2px solid #e8eaed;border:2px solid var(--border-color);border-radius:50%;color:#0000;cursor:pointer;display:flex;flex-shrink:0;font-size:13px;height:30px;justify-content:center;transition:all .2s;width:30px}.btn-complete:hover{background:#f0fdf4;border-color:#16a34a;color:#16a34a}.btn-complete.done{background:#16a34a;border-color:#16a34a;color:#fff}.empty-state{color:#9ca3af;color:var(--text-muted);padding:60px 20px;text-align:center}.empty-state h3{color:#6b7280;color:var(--text-secondary);font-size:18px;margin-bottom:8px}.loading-screen{align-items:center;background:#f4f6f9;background:var(--bg-page);color:#9ca3af;color:var(--text-muted);display:flex;font-size:16px;justify-content:center;min-height:100vh}.dashboard-error{background:#fff0f0;border:1px solid #fca5a5;border-radius:8px;color:#dc2626;font-size:13px;margin-bottom:16px;padding:10px 14px;text-align:center}.modal-overlay{align-items:center;background:#0006;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:999}.modal-box{background:#fff;background:var(--bg-card);border-radius:16px;box-shadow:0 20px 60px #00000026;max-height:90vh;max-width:500px;overflow-y:auto;padding:28px 32px;transition:background .3s;width:100%}.modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.modal-header h2{color:#111827;color:var(--text-primary);font-size:20px;font-weight:700}.modal-close{background:#0000;border:none;border-radius:6px;color:#9ca3af;color:var(--text-muted);cursor:pointer;font-size:20px;padding:4px}.modal-close:hover{background:#fff;background:var(--input-bg);color:#111827;color:var(--text-primary)}.modal-form{display:flex;flex-direction:column;gap:16px}.modal-form .form-group{display:flex;flex-direction:column;gap:6px}.modal-form label{color:#9ca3af;color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.modal-form input,.modal-form select,.modal-form textarea{background:#fff;background:var(--input-bg);border:1.5px solid #e5e7eb;border:1.5px solid var(--input-border);border-radius:8px;color:#111827;color:var(--text-primary);font-family:Segoe UI,sans-serif;font-size:14px;outline:none;padding:10px 14px;transition:border-color .2s,background .3s}.modal-form input:focus,.modal-form select:focus,.modal-form textarea:focus{border-color:#2563eb}.modal-form-row{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr}.subtask-section{background:#f4f6f9;background:var(--bg-page);border:1.5px solid #e5e7eb;border:1.5px solid var(--input-border);border-radius:10px;padding:12px 14px;transition:background .3s}.subtask-section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.subtask-section-header span{color:#9ca3af;color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.add-subtask-btn{align-items:center;background:#0000;border:none;color:#2563eb;cursor:pointer;display:flex;font-size:12px;font-weight:600;gap:4px}.add-subtask-btn:hover{text-decoration:underline}.subtask-input-row{align-items:center;display:flex;gap:8px;margin-bottom:6px}.subtask-input-row input{background:#fff;background:var(--input-bg);border:1.5px solid #e5e7eb;border:1.5px solid var(--input-border);border-radius:6px;color:#111827;color:var(--text-primary);flex:0 1;font-size:13px;outline:none;padding:10px 14px}.subtask-input-row input:focus{border-color:#2563eb}.subtask-input-row input.done-input{color:#9ca3af;color:var(--text-muted);text-decoration:line-through}.subtask-checkbox{accent-color:#2563eb;cursor:pointer;flex-shrink:0;height:15px;width:15px}.subtask-delete-btn{background:#0000;border:none;border-radius:4px;color:#9ca3af;color:var(--text-muted);cursor:pointer;flex-shrink:0;font-size:14px;padding:4px}.subtask-delete-btn:hover{background:#fee2e2;color:#dc2626}.no-subtasks-text{color:#9ca3af;color:var(--text-muted);font-size:12px;padding:8px 0;text-align:center}.modal-submit-btn{background:#2563eb;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;margin-top:4px;padding:13px;transition:background .2s}.modal-submit-btn:hover{background:#1d4ed8}.modal-submit-btn:disabled{cursor:not-allowed;opacity:.6}.bell-btn,.bell-wrapper{position:relative}.bell-btn{align-items:center;background:#0000;border:1.5px solid #e8eaed;border:1.5px solid var(--border-color);border-radius:8px;color:#6b7280;color:var(--text-secondary);cursor:pointer;display:flex;font-size:16px;height:34px;justify-content:center;transition:all .2s;width:34px}.bell-btn:hover{background:#fff;background:var(--input-bg)}.bell-badge{border:2px solid #fff;border:2px solid var(--bg-navbar);border-radius:50%;right:-4px;top:-4px}.bell-badge,.bell-badge:after{background:#dc2626;height:10px;position:absolute;width:10px}.bell-badge:after{animation:ping 1.5s ease-in-out infinite;border-radius:50%;content:"";left:-2px;opacity:.75;top:-2px}@keyframes ping{0%{opacity:.75;transform:scale(1)}75%{opacity:0;transform:scale(2)}to{opacity:0;transform:scale(2.5)}}.notification-dropdown{background:#fff;background:var(--bg-card);border:1px solid #e8eaed;border:1px solid var(--border-color);border-radius:14px;box-shadow:0 8px 32px #00000026;overflow:hidden;position:absolute;right:0;top:calc(100% + 8px);width:320px;z-index:999}.notif-header{align-items:center;border-bottom:1px solid #e8eaed;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:14px 16px}.notif-header h4{color:#111827;color:var(--text-primary);font-size:14px;font-weight:700}.notif-header span{color:#9ca3af;color:var(--text-muted);font-size:11px}.notif-list{max-height:280px;overflow-y:auto}.notif-item{align-items:flex-start;border-bottom:1px solid #e8eaed;border-bottom:1px solid var(--border-color);display:flex;gap:10px;padding:12px 16px;transition:background .15s}.notif-item:hover{background:#f4f6f9;background:var(--bg-page)}.notif-item:last-child{border-bottom:none}.notif-dot{border-radius:50%;flex-shrink:0;height:8px;margin-top:5px;width:8px}.notif-dot.overdue{background:#dc2626}.notif-dot.due-soon{background:#f59e0b}.notif-text{flex:1 1}.notif-title{color:#111827;color:var(--text-primary);font-size:13px;font-weight:600;margin-bottom:2px}.notif-time{color:#9ca3af;color:var(--text-muted);font-size:11px}.notif-tag{border-radius:20px;flex-shrink:0;font-size:10px;font-weight:700;padding:2px 8px}.notif-tag.overdue{background:#fee2e2;color:#dc2626}.notif-tag.due-soon{background:#fef3c7;color:#d97706}.notif-empty{color:#9ca3af;color:var(--text-muted);font-size:13px;padding:24px 16px;text-align:center}.todo-card.overdue{background:#fff8f8;border-left:4px solid #dc2626}.todo-card.due-soon{background:#fffbeb;border-left:4px solid #f59e0b}body.dark .todo-card.overdue{background:#2d1515}body.dark .todo-card.due-soon{background:#2d2515}.alert-tag{align-items:center;border-radius:20px;display:inline-flex;font-size:10px;font-weight:700;gap:4px;margin-left:8px;padding:2px 8px}.alert-tag.overdue{background:#fee2e2;color:#dc2626}.alert-tag.due-soon{background:#fef3c7;color:#d97706}.settings-btn{align-items:center;background:#0000;border:1.5px solid #e8eaed;border:1.5px solid var(--border-color);border-radius:8px;color:#6b7280;color:var(--text-secondary);cursor:pointer;display:flex;font-size:16px;height:34px;justify-content:center;transition:all .2s;width:34px}.settings-btn:hover{background:#fff;background:var(--input-bg)}.notif-countdown{font-size:11px;font-weight:600;margin-top:2px}.notif-countdown.overdue{color:#e74c3c}.notif-countdown.due-soon{color:#e8a33d}.countdown-badge{background:#f0f0f0;border-radius:10px;color:#666;font-size:11px;font-weight:600;margin-left:auto;padding:2px 8px}.countdown-badge.overdue{background:#fdeeee;color:#e74c3c}.countdown-badge.due-soon{background:#fff8e8;color:#e8a33d}@media (max-width:900px){.stats-bar{flex-wrap:wrap}.stat-card{min-width:calc(50% - 8px)}.modal-form-row{grid-template-columns:1fr}}@media (max-width:640px){.dashboard-content{display:block;height:auto}.dashboard-sticky-top{position:static}.dashboard-scrollable{flex:none;overflow-y:visible;padding:16px}.navbar{flex-wrap:wrap;gap:8px;height:auto;min-height:56px;padding:0 16px}.navbar-welcome{display:none}.navbar-right{gap:8px}.analytics-btn,.analytics-btn span,.logout-btn{font-size:12px;padding:6px 10px}.dashboard-topbar{align-items:stretch;flex-direction:column;gap:12px}.dashboard-title-section h1{font-size:22px}.add-todo-btn{justify-content:center;width:100%}.stats-bar{flex-direction:column;gap:10px}.stat-card{width:100%}.filter-bar{align-items:stretch;flex-direction:column}.search-wrapper{min-width:100%}.filter-bar select{width:100%}.todo-card{padding:14px}.todo-title{font-size:16px}.todo-card-header{flex-wrap:wrap}.todo-deadline{flex-wrap:wrap;font-size:13px}.countdown-badge{margin-left:0}.todo-card-footer{flex-wrap:wrap;gap:10px}.modal-box{border-radius:0;height:100%;max-height:100%;max-width:100%;padding:20px;width:100%}.modal-overlay{padding:0}.notification-dropdown{right:-8px;width:90vw}.bell-wrapper{position:static}}@media (max-width:400px){.navbar-brand{font-size:15px}.navbar-brand-icon{height:28px;width:28px}.bell-btn,.dark-toggle,.settings-btn{height:30px;width:30px}}.analytics-container{background:var(--bg-page);font-family:Segoe UI,sans-serif;min-height:100vh}.analytics-navbar{align-items:center;background:var(--bg-navbar);border-bottom:1px solid var(--border-color);display:flex;height:60px;justify-content:space-between;padding:0 32px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.analytics-navbar-left{align-items:center;display:flex;gap:16px}.back-btn{align-items:center;background:#0000;border:1.5px solid var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:16px;height:34px;justify-content:center;transition:all .2s;width:34px}.back-btn:hover{background:var(--input-bg)}.analytics-brand{align-items:center;color:var(--text-primary);display:flex;font-size:18px;font-weight:700;gap:10px}.analytics-brand-icon{align-items:center;background:#2563eb;border-radius:8px;display:flex;font-size:16px;height:32px;justify-content:center;width:32px}.analytics-content{margin:0 auto;max-width:1100px;padding:32px 24px}.analytics-title-section{margin-bottom:28px}.analytics-title-section h1{color:var(--text-primary);font-size:28px;font-weight:800;margin-bottom:4px}.analytics-title-section p{color:var(--text-muted);font-size:11px;letter-spacing:.5px;text-transform:uppercase}.analytics-stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr);margin-bottom:28px}.analytics-stat-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:18px 20px;transition:background .3s}.analytics-stat-card .a-stat-label{color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.analytics-stat-card .a-stat-value{color:var(--text-primary);font-size:28px;font-weight:800}.analytics-stat-card .a-stat-value.blue{color:#2563eb}.analytics-stat-card .a-stat-value.green{color:#16a34a}.analytics-stat-card .a-stat-value.red{color:#dc2626}.analytics-charts{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-bottom:20px}.chart-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:14px;padding:24px;transition:background .3s}.chart-card h3{color:var(--text-primary);font-size:15px;font-weight:700;margin-bottom:20px}.chart-card-full{background:var(--bg-card);border:1px solid var(--border-color);border-radius:14px;padding:24px;transition:background .3s}.chart-card-full h3{color:var(--text-primary);font-size:15px;font-weight:700;margin-bottom:20px}.donut-wrapper{align-items:center;display:flex;flex-direction:column;gap:16px}.donut-svg{overflow:visible}.donut-legend{display:flex;gap:20px}.legend-item{align-items:center;color:var(--text-secondary);display:flex;font-size:13px;font-weight:500;gap:6px}.legend-dot{border-radius:50%;flex-shrink:0;height:10px;width:10px}.bar-chart-wrapper{display:flex;flex-direction:column;gap:0}.bar-chart-svg{overflow:visible;width:100%}.tags-bar-chart{align-items:flex-end;display:flex;gap:16px;height:160px;padding-top:20px}.tag-bar-group{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:6px}.tag-bar{background:#2563eb;border-radius:6px 6px 0 0;max-width:50px;min-height:4px;transition:height .3s;width:100%}.tag-bar-label{color:var(--text-muted);font-size:11px;font-weight:500}.tag-bar-count{color:var(--text-secondary);font-size:11px;font-weight:600}.settings-container{background:var(--bg-page);font-family:Segoe UI,sans-serif;min-height:100vh}.settings-navbar{align-items:center;background:var(--bg-navbar);border-bottom:1px solid var(--border-color);display:flex;height:60px;justify-content:space-between;padding:0 32px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.settings-navbar-left{align-items:center;display:flex;gap:16px}.settings-brand{align-items:center;color:var(--text-primary);display:flex;font-size:18px;font-weight:700;gap:10px}.settings-brand-icon{align-items:center;background:#2563eb;border-radius:8px;display:flex;font-size:16px;height:32px;justify-content:center;width:32px}.settings-content{margin:0 auto;max-width:700px;padding:32px 24px}.settings-title-section{margin-bottom:28px}.settings-title-section h1{color:var(--text-primary);font-size:28px;font-weight:800;margin-bottom:4px}.settings-title-section p{color:var(--text-muted);font-size:11px;letter-spacing:.5px;text-transform:uppercase}.settings-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:14px;margin-bottom:20px;padding:24px;transition:background .3s}.settings-card h3{color:var(--text-primary);font-size:15px;font-weight:700;margin-bottom:4px}.settings-card p{color:var(--text-muted);font-size:13px;margin-bottom:20px}.settings-row{align-items:center;border-top:1px solid var(--border-color);display:flex;justify-content:space-between;padding:14px 0}.settings-row:first-of-type{border-top:none}.settings-row-left h4{color:var(--text-primary);font-size:14px;font-weight:600;margin-bottom:2px}.settings-row-left p{color:var(--text-muted);font-size:12px;margin-bottom:0}.toggle-switch{flex-shrink:0;height:24px;position:relative;width:44px}.toggle-switch input{height:0;opacity:0;width:0}.toggle-slider{background:#d1d5db;border-radius:24px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.3s}.toggle-slider:before{background:#fff;border-radius:50%;bottom:3px;content:"";height:18px;left:3px;position:absolute;transition:.3s;width:18px}.toggle-switch input:checked+.toggle-slider{background:#2563eb}.toggle-switch input:checked+.toggle-slider:before{transform:translateX(20px)}.save-btn{background:#2563eb;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;margin-top:8px;padding:10px 24px;transition:background .2s}.save-btn:hover{background:#1d4ed8}.save-btn:disabled{cursor:not-allowed;opacity:.6}.save-success{color:#16a34a;display:inline-block;font-size:13px;font-weight:500;margin-left:12px}.export-btn{background:#0000;border:1.5px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;flex-shrink:0;font-size:13px;font-weight:600;padding:8px 16px;transition:all .2s}.export-btn:hover{background:#2563eb;border-color:#2563eb;color:#fff}@media (max-width:480px){.settings-row{align-items:flex-start;flex-direction:column;gap:10px}.export-btn{width:100%}}@media (max-width:640px){.settings-navbar{padding:0 16px}.settings-navbar-left{gap:10px}.settings-brand{font-size:15px}.settings-brand-icon{font-size:14px;height:28px;width:28px}.navbar-welcome{display:none}.settings-content{padding:20px 16px}.settings-title-section h1{font-size:22px}.settings-card{padding:18px}.settings-row{align-items:flex-start;flex-direction:column;gap:12px}.toggle-switch{align-self:flex-start}.save-btn{text-align:center;width:100%}.save-success{display:block;margin-left:0;margin-top:8px}}@media (max-width:400px){.settings-title-section h1{font-size:20px}}
/*# sourceMappingURL=main.779aa5f5.css.map*/