@charset "UTF-8";article,aside,figcaption,figure,footer,header,main,nav,section{display:block}address,article,aside,blockquote,body,cite,div,dl,dt,dd,em,figcaption,figure,footer,h1,h2,h3,h4,h5,h6,header,html,img,li,main,nav,nav a,ol,p,section,span,ul,table,tr,td,th,col,colgroup{margin:0;padding:0;border:0;font-size:100%;background:transparent;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}body{line-height:1em}ul,ol{list-style:none}nav ul{list-style:none;list-style-image:none}nav a{text-decoration:none}a{text-decoration:none}*{box-sizing:border-box}button,input[type=button],input[type=submit]{all:unset;display:inline-block;cursor:pointer;text-align:center;font-family:inherit;font-size:inherit;font-weight:inherit;border:none;background:none;color:inherit}.homepage{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.homepage h2,.homepage h3{color:#333}.homepage button{margin:.5rem;padding:.5rem 1rem;background-color:#3f51b5;color:#fff;border:none;border-radius:5px;cursor:pointer}.homepage button:hover{background-color:#303f9f}.landing-page{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;background:linear-gradient(to right,#3f51b5,#607d8b);color:#fff;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.landing-page h1{font-size:3rem;font-weight:700;text-align:center;margin-bottom:1rem}.landing-page p{font-size:1.2rem;text-align:center;margin-bottom:2rem}.landing-page .cta-buttons{display:flex;gap:1rem}.landing-page .cta-buttons button{padding:.8rem 2rem;background-color:#4caf50;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:1rem;font-weight:700;transition:background-color .3s}.landing-page .cta-buttons button:hover{background-color:#388e3c}.landing-page .landing-image{width:100%;max-width:600px;margin-top:2rem;border-radius:10px;box-shadow:0 4px 12px #00000026}.btn{display:inline-block;padding:12px 24px;font-size:1rem;font-weight:700;text-align:center;text-decoration:none;border-radius:5px;transition:all .3s ease-in-out;cursor:pointer;border:2px solid transparent}.btn:hover,.btn:focus{transform:translateY(-2px)}.btn.primary{background-color:#4caf50;color:#fff;border:2px solid #4caf50}.btn.primary:hover,.btn.primary:focus{background-color:#45a049;border-color:#45a049}.btn.secondary{background-color:#f1f1f1;color:#333;border:2px solid #ddd}.btn.secondary:hover,.btn.secondary:focus{background-color:#e1e1e1;border-color:#ccc}@media (max-width: 768px){.landing-page{padding:20px}.landing-page header h1{font-size:2rem}.landing-page header p{font-size:1rem}.auth-buttons{flex-direction:column;gap:15px}}.auth-form{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;background-color:#f4f6f9;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.auth-form h2{font-size:2rem;margin-bottom:2rem;color:#333}.auth-form form{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:400px;background-color:#fff;padding:2rem;border-radius:8px;box-shadow:0 4px 12px #0000001a}.auth-form input[type=email],.auth-form input[type=password]{width:100%;padding:1rem;border:1px solid #ccc;border-radius:4px;font-size:1rem;background-color:#f9f9f9;transition:border .3s ease}.auth-form input[type=email]:focus,.auth-form input[type=password]:focus{border-color:#3f51b5;outline:none}.auth-form button[type=submit]{padding:1rem 2rem;background-color:#4caf50;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:1rem;font-weight:700;transition:background-color .3s}.auth-form button[type=submit]:hover{background-color:#388e3c}.auth-form .forgot-password{background:transparent;border:none;color:#3f51b5;cursor:pointer;font-size:1rem;text-decoration:underline}.auth-form .forgot-password:hover{color:#1a73e8}.auth-form .auth-footer{margin-top:1rem;font-size:1rem;color:#555;text-align:center}.auth-form .signup-link{color:#3f51b5;font-weight:700;text-decoration:none}.auth-form .signup-link:hover{text-decoration:underline}.auth-form .error-message{color:red;font-size:1rem;margin-bottom:1rem}.login-page{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;background-color:#f4f6f9;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.login-page .form-container{background-color:#fff;padding:2rem;border-radius:8px;box-shadow:0 4px 12px #0000001a;max-width:400px;width:100%;text-align:center}.login-page .form-container h2{font-size:1.8rem;margin-bottom:1.5rem;color:#333}.login-page .form-container input[type=email],.login-page .form-container input[type=password]{width:100%;padding:1rem;margin-bottom:1rem;border:1px solid #ccc;border-radius:4px;font-size:1rem;background-color:#f9f9f9}.login-page .form-container button[type=submit]{padding:1rem 2rem;background-color:#3f51b5;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:1rem;font-weight:700;transition:background-color .3s}.login-page .form-container button[type=submit]:hover{background-color:#303f9f}.login-page .form-container .forgot-password{margin-top:1rem;font-size:1rem;color:#555}.login-page .form-container .forgot-password a{color:#3f51b5;text-decoration:none;font-weight:700}.login-page .form-container .forgot-password a:hover{text-decoration:underline}.login-page .form-container .footer-text{margin-top:2rem;font-size:1rem;color:#555}.login-page .form-container .footer-text a{color:#3f51b5;text-decoration:none;font-weight:700}.login-page .form-container .footer-text a:hover{text-decoration:underline}.calendar{margin-top:1rem;border:1px solid #ccc;border-radius:10px;padding:1rem;background-color:#f9f9f9;min-width:700px}.calendar .calendar-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap}.calendar .calendar-header h2{margin:0 1rem;font-size:1.5rem}.calendar .calendar-header button{background-color:#607d8b;color:#fff;padding:.3rem .7rem;border:none;border-radius:4px;cursor:pointer}.calendar .calendar-header button:hover{background-color:#455a64}.calendar .calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem;margin-top:1rem;text-align:center}.calendar .calendar-day-header{font-weight:700;color:#555}.calendar .calendar-cell{background-color:#fff;border:1px solid #ddd;border-radius:4px;padding:.5rem;min-height:75px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;cursor:pointer}.calendar .calendar-cell.today{border:2px solid #3f51b5}.calendar .calendar-cell.selected{background-color:#e8eaf6;border-color:#3f51b5}.calendar .calendar-cell .day-number{font-weight:700}.calendar .calendar-cell .task-dots{display:flex;flex-wrap:wrap;justify-content:center;gap:2px;margin-top:4px}.calendar .calendar-cell svg{font-size:.5rem}.calendar .calendar-cell:hover{background-color:#f1f1f1}.calendar .empty{background:transparent;border:none}.add-task-form{margin-top:1rem;padding:1rem;border:1px solid #ccc;border-radius:8px;background-color:#fff;max-width:500px;display:flex;flex-direction:column;gap:1rem}.add-task-form input[type=text],.add-task-form textarea,.add-task-form select{width:100%;padding:.6rem;border:1px solid #ccc;border-radius:4px;font-size:1rem}.add-task-form label{font-weight:700;margin-bottom:.3rem}.add-task-form .radio-options{display:flex;gap:1rem;align-items:center}.add-task-form .radio-options label{font-weight:400;display:flex;align-items:center;gap:.4rem}.add-task-form button[type=submit]{background-color:#4caf50;padding:.5rem 1rem;border-radius:4px;border:none;color:#fff;font-weight:700;cursor:pointer;align-self:flex-start}.add-task-form button[type=submit]:hover{background-color:#388e3c}.task-list{margin-top:1rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.task-card{background-color:#fff;border:1px solid #ddd;border-radius:8px;padding:16px;margin:12px 0;box-shadow:0 2px 6px #0000001a;transition:transform .2s ease,box-shadow .2s ease}.task-card:hover{transform:translateY(-5px);box-shadow:0 4px 12px #00000026}.task-card h4{font-size:1.2rem;font-weight:700;margin-bottom:8px;color:#333}.task-card p{font-size:1rem;margin:4px 0;color:#555}.task-card p.category{display:inline-block;padding-left:16px;position:relative}.task-card p.category:before{content:"●";position:absolute;left:0;top:50%;transform:translateY(-50%);font-size:1.5rem}.task-card .task-category-weightlifting:before{color:red}.task-card .task-category-cardio:before{color:#00f}.task-card .task-category-mindfulness:before{color:green}.task-card .task-category-misc:before{color:gray}.task-card .task-category-default:before{color:#000}.task-card p.created-at{font-style:italic;font-size:.9rem;color:#888}.task-card p.notes{font-size:.95rem;color:#444;margin-top:12px}.homepage{display:flex;flex-direction:column;background-color:#f9f9f9;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.homepage-header{display:flex;justify-content:space-between;align-items:center;padding:2rem;background-color:#4caf50;color:#fff;margin-bottom:20px}.user-info{display:flex;align-items:center;gap:10px}.user-info button{background-color:#ff5722;border:none;padding:10px 15px;color:#fff;cursor:pointer;font-weight:700;border-radius:5px;transition:background-color .3s}.user-info button:hover{background-color:#e64a19}.calendar-section{display:flex;flex-direction:column;align-items:center;gap:20px;margin-bottom:40px}.go-to-today{background-color:#3f51b5;color:#fff;border:none;padding:10px 20px;border-radius:5px;cursor:pointer;font-weight:700}.go-to-today:hover{background-color:#303f9f}.task-section{display:flex;flex-direction:column;align-items:center}.add-task-toggle{background-color:#8bc34a;color:#fff;border:none;padding:10px 20px;border-radius:5px;cursor:pointer;font-weight:700;margin-bottom:20px}.add-task-toggle:hover{background-color:#7cb342}.task-list{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;width:100%;max-width:1200px}.task-list .task-card{background-color:#fff;padding:20px;border-radius:8px;box-shadow:0 4px 8px #0000001a;transition:transform .3s ease}.task-list .task-card:hover{transform:translateY(-10px)}@media (max-width: 768px){.task-list{grid-template-columns:1fr 1fr}.task-list .task-card{padding:15px}}@media (max-width: 480px){.task-list{grid-template-columns:1fr}}.footer{background-color:#333;color:#fff;padding:20px 0;text-align:center;position:relative;width:100%}.footer-content{max-width:1200px;margin:0 auto;padding:0 20px}.footer-links a{text-decoration:none;color:#fff}.footer-links a:hover{color:red}.footer p{margin-top:1rem}.not-found-page{height:100vh;background:linear-gradient(to right,#3f51b5,#607d8b);color:#fff;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;text-align:center;padding:60px 20px;background-color:#f9f9f9;min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center}.not-found-page h1{font-size:3rem;font-weight:700;text-align:center;margin-bottom:2rem}.not-found-page p{font-size:1.2rem;text-align:center;margin-bottom:2rem}
