body{margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.login-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.login-card{background:#fff;border-radius:12px;box-shadow:0 10px 25px #0003;max-width:420px;padding:40px;text-align:center;width:100%}.login-header{margin-bottom:30px}.login-icon{align-items:center;border-radius:50%;color:#fff;display:flex;height:80px;justify-content:center;margin:0 auto 20px;width:80px}.login-header h1,.login-icon{background:linear-gradient(135deg,#667eea,#764ba2)}.login-header h1{-webkit-text-fill-color:#0000;-webkit-background-clip:text;background-clip:text;color:#333;font-size:2.5rem;font-weight:700;margin:0 0 10px}.login-header p{color:#666;font-size:1rem;margin:0}.login-form{text-align:left}.form-group{margin-bottom:20px}.form-group label{color:#333;display:block;font-size:.95rem;font-weight:600;margin-bottom:8px}.form-group input{border:2px solid #e1e5e9;border-radius:8px;box-sizing:border-box;font-size:1rem;padding:12px 16px;transition:all .3s ease;width:100%}.form-group input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-group input:disabled{background-color:#f8f9fa;color:#6c757d;cursor:not-allowed}.error-message{background-color:#fee;border-left:4px solid #c33;border-radius:6px;color:#c33;font-size:.9rem;margin-bottom:20px;padding:12px}.login-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:8px;justify-content:center;padding:14px 20px;transition:all .3s ease;width:100%}.login-button:hover:not(:disabled){box-shadow:0 5px 15px #667eea66;transform:translateY(-2px)}.login-button:active{transform:translateY(0)}.login-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.login-footer{border-top:1px solid #e1e5e9;margin-top:30px;padding-top:20px}.login-footer p{color:#666;font-size:.9rem;margin:0}@media (max-width:480px){.login-container{padding:10px}.login-card{padding:30px 20px}.login-header h1{font-size:2rem}}.task-form-collapsed{margin-bottom:24px}.expand-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;box-shadow:0 2px 8px #667eea4d;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:12px;justify-content:center;padding:16px 20px;transition:all .3s ease;width:100%}.expand-button:hover:not(:disabled){box-shadow:0 4px 16px #667eea66;transform:translateY(-2px)}.expand-button:active{transform:translateY(0)}.expand-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.task-form-expanded{background:#fff;border:2px solid #667eea;border-radius:12px;box-shadow:0 4px 12px #0000001a;margin-bottom:24px;padding:24px}.form-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:16px}.form-header h3{color:#1f2937;font-size:1.25rem;font-weight:600;margin:0}.close-button{background:none;border:none;border-radius:6px;color:#6b7280;cursor:pointer;padding:8px;transition:all .2s ease}.close-button:hover:not(:disabled){background-color:#f3f4f6;color:#374151}.close-button:disabled{cursor:not-allowed;opacity:.5}.task-form{gap:16px}.form-group,.task-form{display:flex;flex-direction:column}.title-input{border:2px solid #e5e7eb;border-radius:8px;box-sizing:border-box;font-size:1.1rem;font-weight:500;padding:14px 16px;transition:border-color .2s ease;width:100%}.title-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.title-input:disabled{background-color:#f9fafb;color:#6b7280;cursor:not-allowed}.description-input{border:2px solid #e5e7eb;border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:1rem;min-height:100px;padding:14px 16px;resize:vertical;transition:border-color .2s ease;width:100%}.description-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.description-input:disabled{background-color:#f9fafb;color:#6b7280;cursor:not-allowed}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:8px}.submit-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;min-width:140px;padding:12px 24px;transition:all .3s ease}.submit-button:hover:not(:disabled){box-shadow:0 2px 8px #667eea4d;transform:translateY(-1px)}.submit-button:active{transform:translateY(0)}.submit-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.cancel-button{border-radius:8px;font-size:1rem;font-weight:500;padding:12px 24px;transition:all .3s ease}.cancel-button:hover:not(:disabled){transform:translateY(-1px)}.cancel-button:active{transform:translateY(0)}.cancel-button:disabled{opacity:.6;transform:none}@media (max-width:768px){.task-form-expanded{padding:16px}.form-actions{flex-direction:column-reverse}.cancel-button,.submit-button{width:100%}}.task-item{align-items:flex-start;background:#fff;border-left:4px solid #0000;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;gap:16px;margin-bottom:16px;padding:20px;position:relative;transition:all .3s ease}.task-item:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}.task-item.loading{opacity:.7;pointer-events:none}.task-item.pending{border-left-color:#f59e0b}.task-item.in-progress{border-left-color:#3b82f6}.task-item.completed{border-left-color:#10b981}.task-status{align-items:center;border-radius:50%;color:#fff;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.pending .task-status{background-color:#f59e0b}.in-progress .task-status{background-color:#3b82f6}.completed .task-status{background-color:#10b981}.task-content{flex:1 1}.task-info{width:100%}.task-title{color:#1f2937;font-size:1.25rem;font-weight:600;line-height:1.4;margin:0 0 8px}.task-description{color:#6b7280;font-size:.95rem;line-height:1.5;margin:0 0 12px;white-space:pre-wrap}.task-meta{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.task-badge{border-radius:6px;font-size:.8rem;font-weight:500;letter-spacing:.5px;padding:4px 8px;text-transform:uppercase}.task-badge.pending{background-color:#fef3c7;color:#92400e}.task-badge.in-progress{background-color:#dbeafe;color:#1e40af}.task-badge.completed{background-color:#d1fae5;color:#065f46}.task-date{color:#9ca3af;font-size:.85rem}.task-edit{width:100%}.edit-title{border:2px solid #e5e7eb;border-radius:8px;font-size:1.1rem;font-weight:500;margin-bottom:12px;padding:12px 16px;transition:border-color .2s ease;width:100%}.edit-title:focus{border-color:#3b82f6;outline:none}.edit-description{border:2px solid #e5e7eb;border-radius:8px;font-family:inherit;font-size:.95rem;margin-bottom:16px;min-height:80px;padding:12px 16px;resize:vertical;transition:border-color .2s ease;width:100%}.edit-description:focus{border-color:#3b82f6;outline:none}.edit-actions{display:flex;gap:12px}.save-button{background-color:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;padding:8px 16px;transition:background-color .2s ease}.save-button:hover:not(:disabled){background-color:#2563eb}.save-button:disabled{cursor:not-allowed;opacity:.5}.cancel-button{background-color:#6b7280;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;padding:8px 16px;transition:background-color .2s ease}.cancel-button:hover:not(:disabled){background-color:#4b5563}.cancel-button:disabled{cursor:not-allowed;opacity:.5}.task-actions{flex-shrink:0}.actions-menu,.task-actions{position:relative}.menu-button{background:none;border:none;border-radius:6px;color:#6b7280;cursor:pointer;padding:8px;transition:all .2s ease}.menu-button:hover{background-color:#f3f4f6;color:#374151}.menu-dropdown{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 12px #00000026;margin-top:4px;min-width:180px;padding:8px 0;position:absolute;right:0;top:100%;z-index:10}.menu-dropdown button{align-items:center;background:none;border:none;color:#374151;cursor:pointer;display:flex;font-size:.9rem;gap:8px;padding:10px 16px;text-align:left;transition:background-color .2s ease;width:100%}.menu-dropdown button:hover{background-color:#f3f4f6}.menu-dropdown button.active{background-color:#dbeafe;color:#1e40af}.menu-section{border-top:1px solid #e5e7eb;margin-top:8px;padding-top:8px}.menu-label{color:#6b7280;display:block;font-size:.8rem;font-weight:500;letter-spacing:.5px;padding:8px 16px 4px;text-transform:uppercase}.delete-action{border-top:1px solid #e5e7eb;color:#dc2626!important;margin-top:8px;padding-top:8px}.delete-action:hover{background-color:#fef2f2!important;color:#b91c1c!important}.menu-overlay{height:100%;left:0;position:fixed;top:0;width:100%;z-index:9}@media (max-width:768px){.task-item{flex-direction:column;gap:12px;padding:16px}.task-status{align-self:flex-start}.task-meta{align-items:flex-start;gap:8px}.edit-actions,.task-meta{flex-direction:column}}.task-list-header{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:24px;padding:24px}.task-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-bottom:24px}.stat-item{background:#f8fafc;border:2px solid #0000;border-radius:8px;padding:16px 12px;text-align:center;transition:all .2s ease}.stat-item:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.stat-item.pending{background:#fef3c7;border-color:#f59e0b}.stat-item.in-progress{background:#dbeafe;border-color:#3b82f6}.stat-item.completed{background:#d1fae5;border-color:#10b981}.stat-number{color:#1f2937;display:block;font-size:2rem;font-weight:700}.stat-label{color:#6b7280;display:block;font-size:.85rem;font-weight:500;letter-spacing:.5px;margin-top:4px;text-transform:uppercase}.task-controls{align-items:center;display:flex;flex-wrap:wrap;gap:16px}.search-container{flex:1 1;min-width:200px;position:relative}.search-icon{color:#9ca3af;left:12px;position:absolute;top:50%;transform:translateY(-50%)}.search-input{border:2px solid #e5e7eb;border-radius:8px;box-sizing:border-box;font-size:.95rem;padding:12px 12px 12px 40px;transition:border-color .2s ease;width:100%}.search-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.filter-container{min-width:180px;position:relative}.filter-icon{color:#9ca3af;left:12px;position:absolute;top:50%;transform:translateY(-50%);z-index:1}.filter-select{-webkit-appearance:none;appearance:none;background:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;background-size:16px;border:2px solid #e5e7eb;border-radius:8px;box-sizing:border-box;cursor:pointer;font-size:.95rem;padding:12px 12px 12px 40px;transition:border-color .2s ease;width:100%}.filter-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.refresh-button{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:8px;color:#6b7280;cursor:pointer;display:flex;justify-content:center;padding:12px;transition:all .2s ease}.refresh-button:hover:not(:disabled){border-color:#3b82f6;color:#3b82f6;transform:translateY(-1px)}.refresh-button:disabled{cursor:not-allowed;opacity:.5}.spinning{animation:spin 1s linear infinite}.task-list-content{min-height:200px}.loading-state{align-items:center;color:#6b7280;display:flex;flex-direction:column;justify-content:center;padding:60px 20px}.loading-spinner{border:3px solid #e5e7eb;border-top-color:#3b82f6;height:40px;margin-bottom:16px;width:40px}.empty-state{align-items:center;color:#6b7280;display:flex;flex-direction:column;justify-content:center;padding:60px 20px;text-align:center}.empty-state h3{color:#374151;font-size:1.25rem;font-weight:600;margin:0 0 8px}.empty-state p{line-height:1.6;margin:0 0 20px}.clear-filters-button{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;padding:10px 20px;transition:background-color .2s ease}.clear-filters-button:hover{background:#2563eb}@media (max-width:768px){.task-list-header{padding:16px}.task-stats{gap:12px;grid-template-columns:repeat(2,1fr);margin-bottom:20px}.task-controls{align-items:stretch;flex-direction:column;gap:12px}.filter-container,.search-container{min-width:0;min-width:auto}.refresh-button{align-self:center}}@media (max-width:480px){.task-stats{gap:8px;grid-template-columns:1fr}.stat-item{padding:12px}.stat-number{font-size:1.5rem}}.dashboard{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);min-height:100vh}.dashboard-header{background:#fff;box-shadow:0 2px 8px #0000001a;position:-webkit-sticky;position:sticky;top:0;z-index:100}.header-content{align-items:center;display:flex;gap:20px;justify-content:space-between;margin:0 auto;max-width:1200px;padding:20px 24px}.header-title h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;font-size:2rem;font-weight:700;margin:0}.header-title p{color:#6b7280;font-size:.95rem;margin:4px 0 0}.header-user{align-items:center;display:flex;gap:16px}.user-info{background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;color:#374151;font-weight:500;gap:8px;padding:8px 16px}.logout-button,.user-info{align-items:center;display:flex}.logout-button{background:none;border:2px solid #dc2626;border-radius:8px;color:#dc2626;cursor:pointer;justify-content:center;padding:10px;transition:all .2s ease}.logout-button:hover{background:#dc2626;color:#fff;transform:translateY(-1px)}.dashboard-main{padding:32px 24px}.dashboard-content{margin:0 auto;max-width:1200px}.error-banner{background:#fef2f2;border:1px solid #fecaca;border-left:4px solid #dc2626;border-radius:8px;font-weight:500;gap:12px;margin-bottom:24px;padding:16px}.error-banner,.error-close{align-items:center;color:#b91c1c;display:flex}.error-close{background:none;border:none;border-radius:4px;cursor:pointer;font-size:1.5rem;height:24px;justify-content:center;margin-left:auto;padding:0;transition:background-color .2s ease;width:24px}.error-close:hover{background-color:#b91c1c1a}@media (max-width:768px){.dashboard-main{padding:20px 16px}.header-content{align-items:center;flex-direction:column;gap:16px;padding:16px;text-align:center}.header-title h1{font-size:1.75rem}.header-user{justify-content:space-between;width:100%}}@media (max-width:480px){.dashboard-main{padding:16px 12px}.header-content{padding:12px}.header-title h1{font-size:1.5rem}.user-info{flex:1 1;justify-content:center}}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8fafc;color:#1f2937;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6}.App,.loading-screen{min-height:100vh}.loading-screen{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;flex-direction:column;justify-content:center}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:50px;margin-bottom:20px;width:50px}.loading-screen p{font-size:1.1rem;font-weight:500}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.visually-hidden{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.container{margin:0 auto;max-width:1200px;padding:0 24px}@media (max-width:768px){.container{padding:0 16px}}@media (max-width:480px){.container{padding:0 12px}}:focus{outline:2px solid #3b82f6;outline-offset:2px}button:focus,input:focus,select:focus,textarea:focus{box-shadow:0 0 0 3px #3b82f61a;outline:none}*{transition-duration:.15s;transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f5f9}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}
/*# sourceMappingURL=main.1db6339e.css.map*/