*{margin:0;padding:0;box-sizing:border-box}body{font-family:Roboto,sans-serif;background-color:#f4f7fa;display:flex;justify-content:center;align-items:center;height:100vh}.min-h-screen{width:90%}.login-container{display:flex;justify-content:center;align-items:center;width:100%;height:100%}.login-box{background-color:#fff;padding:40px;width:100%;max-width:400px;border-radius:10px;box-shadow:0 4px 10px #0000001a;text-align:center;border:1px solid #ddd}h2{font-size:2rem;margin-bottom:30px;color:#333}.input-group{margin-bottom:20px;text-align:left;position:relative;display:flex;align-items:center}.input-group label{display:block;font-size:.9rem;margin-bottom:5px;color:#555}.input-group input{width:100%;padding:12px;font-size:1rem;border:1px solid #ddd;border-radius:5px;outline:none;transition:border .3s}.input-group input:focus{border-color:#007bff}.input-group textarea{width:100%;padding:12px;font-size:1rem;border:1px solid #ddd;border-radius:5px;outline:none;resize:vertical;transition:border .3s;font-family:Roboto,sans-serif}.input-group textarea:focus{border-color:#007bff}.tooltip-icon{margin-left:10px;color:#007bff;cursor:pointer;font-size:1.2rem;position:absolute;right:-25px}.tooltip-icon i{transition:color .3s}.tooltip-icon:hover i{color:#0056b3}.tooltip-icon:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:8px;border-radius:5px;font-size:.8rem;white-space:nowrap;display:none;opacity:0;pointer-events:none;transition:opacity .3s ease}.tooltip-icon:hover:after{display:block;opacity:1}.forgot-password{text-align:center;margin-top:10px}.forgot-password a{font-size:.85rem;color:#007bff;text-decoration:none}.forgot-password a:hover{text-decoration:underline}.login-btn{display:inline-block;padding:12px 24px;background-color:#007bff;color:#fff;font-size:1rem;font-weight:600;border:none;border-radius:5px;text-decoration:none;cursor:pointer;transition:background-color .3s,transform .2s;font-family:Roboto,sans-serif;letter-spacing:.5px;text-transform:uppercase}.login-btn:hover{background-color:#0056b3;text-decoration:none;transform:translateY(-1px)}.signup-link{margin-top:20px;font-size:.9rem}.signup-link a{color:#007bff;text-decoration:none}.signup-link a:hover{text-decoration:underline}@media screen and (max-width: 768px){.login-box{padding:20px;width:90%}h2{font-size:1.6rem}}@media screen and (max-width: 480px){.login-box{padding:15px}h2{font-size:1.4rem}.input-group input{font-size:.9rem}.login-btn{padding:10px}.nav-bar{width:90%;margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;box-sizing:border-box}}#message-container{padding:15px;margin-bottom:20px;border-radius:5px;font-size:14px;white-space:pre;display:none}#message-container.success{background-color:#d4edda;color:#155724;border-color:#c3e6cb}#message-container.error{background-color:#f8d7da;color:#721c24;border-color:#f5c6cb}.dashboard-cards{display:flex;flex-direction:column;gap:20px;margin-top:20px}.dashboard-card{background-color:#fefefe;padding:20px;border-radius:10px;box-shadow:0 4px 10px #0000000d;text-align:left;border:1px solid #ddd}.dashboard-card h3{margin-bottom:10px;font-size:1.2rem;color:#333}.dashboard-card p{font-size:.95rem;margin-bottom:15px;color:#555}@media screen and (min-width: 600px){.dashboard-cards{grid-template-columns:repeat(2,1fr)}}@media screen and (min-width: 900px){.dashboard-cards{grid-template-columns:repeat(3,1fr)}}.button-wrapper{text-align:center;margin-top:10px}.nav-bar{background-color:#fff;border:1px solid #ddd;border-radius:10px;margin:10px auto;max-width:400px;padding:6px 12px;position:sticky;top:10px;z-index:1000;box-shadow:0 2px 6px #0000000d}.nav-container{max-width:1000px;margin:0 auto;padding:0 20px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap}.nav-logo{font-size:1.4rem;font-weight:700;color:#007bff;text-decoration:none}.nav-links{list-style:none;display:flex;gap:20px}.nav-links li{display:flex;align-items:center}.nav-links a,.nav-logout-form button{text-decoration:none;color:#333;font-size:1rem;background:none;border:none;cursor:pointer;transition:color .3s}.nav-links a:hover,.nav-logout-form button:hover{color:#007bff}.nav-logout-form{margin:0;padding:0}.nav-toggle{display:none}.nav-toggle-label{display:none;cursor:pointer;width:30px;height:25px;flex-direction:column;justify-content:space-between}.nav-toggle-label span,.nav-toggle-label span:before,.nav-toggle-label span:after{content:"";display:block;height:3px;background-color:#333;border-radius:2px}.nav-toggle-label span:before,.nav-toggle-label span:after{position:absolute;width:30px}.nav-toggle-label span:before{transform:translateY(-10px)}.nav-toggle-label span:after{transform:translateY(10px)}@media (max-width: 768px){.nav-toggle{display:block}.nav-toggle-label{display:flex;position:relative;z-index:2}.nav-links{flex-direction:column;position:absolute;top:60px;right:20px;background-color:#fff;border:1px solid #ddd;border-radius:8px;padding:10px;display:none}.nav-toggle:checked+.nav-toggle-label+.nav-links{display:flex}}.nav-user{position:relative;display:flex;align-items:center}.user-menu-button{background:none;border:none;color:#333;font-size:1rem;cursor:pointer;display:flex;align-items:center;gap:5px}.user-menu-button i{font-size:1.2rem}.user-dropdown{position:absolute;top:120%;right:0;background-color:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 4px 10px #0000000d;padding:10px;min-width:150px;max-width:90vw;display:flex;flex-direction:column;gap:10px;z-index:100}.user-dropdown a,.user-dropdown form button{text-decoration:none;color:#333;background:none;border:none;text-align:left;padding:5px;font-size:.95rem;cursor:pointer;transition:background-color .3s;border-radius:5px}.user-dropdown a:hover,.user-dropdown form button:hover{background-color:#f0f0f0;color:#007bff;border-radius:5px}.hidden{display:none}.menu-toggle{background:none;border:none;color:#007bff;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;padding:0}.menu-toggle:hover{color:#0056b3}.meal-list{list-style:none;padding:0;margin:0}.meal-item{margin-bottom:20px;padding:15px;background:#f8f8f8;border-radius:8px}.meal-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem}.meal-name{font-weight:700;font-size:1.1rem}.meal-owner{font-size:.9rem;color:#555;margin-left:auto;margin-right:1rem}.view-details{color:#3490dc;text-decoration:none;font-size:1.1rem}.view-details:hover{color:#1d72b8}.ingredient-section{margin-top:1.5rem}.ingredient-label{font-weight:700;margin-bottom:.5rem;display:block}.ingredient-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.ingredient-row select{flex:1;padding:.5rem;border-radius:6px;border:1px solid #ccc}.remove-ingredient-btn{padding:.4rem .7rem;background-color:#e74c3c;color:#fff;border:none;border-radius:6px;cursor:pointer}.remove-ingredient-btn:hover{background-color:#c0392b}.button-wrapper.align-left{text-align:left;margin-top:.5rem}.login-btn.small{padding:.4rem .75rem;font-size:.9rem}.checkbox-group{display:flex;align-items:center;gap:10px}.checkbox-label{font-size:.9rem;color:#555;cursor:pointer;display:flex;align-items:center}.checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:#007bff;cursor:pointer;margin:0}.checkbox-label input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border:1px solid #ddd;border-radius:4px;outline:none;cursor:pointer;transition:background-color .3s,border-color .3s;display:inline-block;vertical-align:middle}.checkbox-label input[type=checkbox]:checked{background-color:#007bff;border-color:#007bff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='white' d='M6.173 10.577l-3.12-3.12a.75.75 0 0 1 1.06-1.06l2.56 2.56 5.72-5.72a.75.75 0 0 1 1.06 1.06l-6.25 6.25a.75.75 0 0 1-1.06 0z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:12px 12px}.checkbox-label input[type=checkbox]:hover{border-color:#0056b3}.static-text{padding:.75rem;background:#f9f9f9;border-radius:8px;font-size:1rem;line-height:1.4;margin-bottom:1rem}.ingredient-list{list-style:disc;padding-left:1.5rem;margin-bottom:1rem}.shared-label{font-size:.9rem;color:#28a745;font-weight:700;margin-bottom:1rem}.planner-days{display:flex;flex-direction:column;gap:1.5rem;margin-top:2rem}.planner-day{display:flex;flex-direction:column}.planner-label{font-weight:700;margin-bottom:.5rem}.planner-select{padding:.75rem;border-radius:.5rem;border:1px solid #ccc;font-size:1rem}.input-date,.styled-select{width:100%;padding:10px;border:1px solid #ccc;border-radius:8px;font-size:16px;box-sizing:border-box;margin-top:5px}.input-group select{width:100%;padding:12px;font-size:1rem;border:1px solid #ddd;border-radius:5px;outline:none;transition:border .3s;color:#555;font-family:Roboto,sans-serif}.input-group{display:flex;flex-direction:column;margin-bottom:1rem}.input-group label{font-weight:700;margin-bottom:5px}.styled-input{width:100%;padding:10px;font-size:16px;border:1px solid #ccc;border-radius:8px;box-sizing:border-box}.date-picker-wrapper{position:relative;width:100%;max-width:300px;margin:0 auto}.date-input:hover{cursor:pointer!important}.date-input::-webkit-calendar-picker-indicator{opacity:0;cursor:pointer;position:absolute;right:0;width:100%;height:100%}.calendar-icon{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:#666;pointer-events:none;font-size:18px}@media (max-width: 480px){.calendar-icon{font-size:16px;right:12px}}
