body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.back-button{align-items:center;border:none;border-radius:4px;color:#333;cursor:pointer;display:inline-flex;font-weight:500;gap:.5rem;padding:.6rem 1.2rem;transition:all .2s ease}.back-button svg{font-size:.9rem}.back-button:hover{background-color:#ff6b6b;color:#fff}.dish-detail-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;margin:2rem auto;max-width:80%;padding:2rem;width:700px}.dish-detail-error,.dish-detail-loading{align-items:center;color:#555;display:flex;font-size:1.2rem;height:300px;justify-content:center}.dish-detail-error{color:#d32f2f}.dish-detail-actions{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.back-button,.delete-button,.edit-button{align-items:center;border-radius:4px;cursor:pointer;display:inline-flex;font-weight:500;gap:8px;padding:8px 16px;transition:background-color .2s,color .2s}.back-button{background-color:#f5f5f5;border:1px solid #ddd;color:#555}.back-button:hover{background-color:#e0e0e0}.action-buttons{display:flex;gap:10px}.edit-button{background-color:#4a90e2;border:none;color:#fff}.edit-button:hover{background-color:#357abd}.edit-button:disabled{background-color:#9e9e9e;cursor:not-allowed}.delete-button{background-color:#f44336;border:none;color:#fff}.delete-button:hover{background-color:#d32f2f}.delete-button:disabled{background-color:#9e9e9e;cursor:not-allowed}.dish-detail-header{display:flex;flex-wrap:wrap;gap:2rem;margin-bottom:2rem}.dish-info{flex:1 1;min-width:250px}.dish-info h1{color:#333;font-size:2rem;margin-bottom:1rem;margin-top:0}.dish-meta{gap:15px}.dish-meta .dish-meta-item{align-items:center;background-color:#f5f5f5;border-radius:20px;color:#555;display:flex;font-size:.9rem;gap:5px;padding:5px 10px}.dish-image{border-radius:8px;box-shadow:0 4px 10px #0000001a;flex:0 0 40%;max-width:400px;min-width:250px;overflow:hidden}.dish-image img{display:block;height:100%;object-fit:cover;width:100%}.dish-tags{display:flex;flex-wrap:wrap;gap:8px}.dish-tags .tag{background-color:#e3f2fd;border-radius:12px;color:#1565c0;display:inline-block;font-size:.8rem;margin-bottom:.5rem;margin-right:.5rem;padding:.3rem .6rem}.dish-detail-content .dish-section{margin-bottom:2rem}.dish-detail-content .dish-section h2{border-bottom:1px solid #eee;color:#333;font-size:1.5rem;margin-bottom:1rem;padding-bottom:.5rem}.dish-detail-content .dish-section p{color:#444;line-height:1.6}.dish-detail-content .dish-section .ingredients-list,.dish-detail-content .dish-section .utensils-list{list-style-type:none;margin:0;padding:0}.dish-detail-content .dish-section .ingredients-list li,.dish-detail-content .dish-section .utensils-list li{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;padding:8px 0}.dish-detail-content .dish-section .ingredients-list li .ingredient-quantity{color:#333;font-weight:600;margin-right:10px;min-width:80px}.dish-detail-content .dish-section .ingredients-list li .ingredient-name{flex:1 1}.dish-detail-content .dish-section .ingredients-list li .ingredient-optional{color:#757575;font-style:italic;margin-left:10px}.dish-detail-content .dish-section .instructions-content ol{padding-left:20px}.dish-detail-content .dish-section .instructions-content ol li{margin-bottom:15px}.dish-detail-content .dish-section .ingredients-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.dish-detail-content .dish-section .ingredients-header h2{border-bottom:none;margin-bottom:0}.dish-detail-content .dish-section .ingredients-header .shop-button{align-items:center;background-color:#ff8200;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:8px;padding:8px 16px;transition:background-color .2s}.dish-detail-content .dish-section .ingredients-header .shop-button:hover{background-color:#e67300}.dish-detail-content .dish-section .ingredients-header .shop-button:disabled{background-color:#ffb266;cursor:not-allowed}@media(max-width:768px){.dish-detail-container{margin:1rem;padding:1rem}.dish-detail-header{flex-direction:column;gap:1rem}.dish-detail-header .dish-image{max-width:100%}}.navbar{background-color:#fff;box-shadow:0 2px 4px #0000001a;left:0;position:fixed;top:0;width:100%;z-index:100}.logo{color:#333;font-size:1.5rem;font-weight:700;padding:0 1rem}.navbar-mobile{align-items:center;display:flex;height:60px;justify-content:space-between;padding:0 1rem}.close-button,.toggle-button{align-items:center;background:none;border:none;color:#333;cursor:pointer;display:flex;font-size:1.5rem;justify-content:center;padding:.5rem}.close-button:hover,.toggle-button:hover{color:#666}.sidebar{background-color:#fff;box-shadow:2px 0 4px #0000001a;height:100vh;left:-280px;position:fixed;top:0;transition:transform .3s ease;width:280px;z-index:1000}.sidebar.open{transform:translateX(280px)}.sidebar-header{align-items:center;border-bottom:1px solid #eee;display:flex;height:60px;justify-content:space-between}.sidebar-backdrop{background-color:#00000080;height:100vh;left:0;position:fixed;top:0;width:100%;z-index:999}.nav-links-mobile{list-style:none;margin:0;padding:1rem 0}.nav-links-mobile li.active{background-color:#f5f5f5;position:relative}.nav-links-mobile li.active:before{background-color:#ff6b6b;content:"";height:100%;left:0;position:absolute;top:0;width:4px}.nav-links-mobile li.active a{color:#ff6b6b}.nav-links-mobile li a{align-items:center;color:#333;display:flex;padding:1rem 1.5rem;text-decoration:none}.nav-links-mobile li a:hover{background-color:#f9f9f9}.nav-links-mobile li a svg{font-size:1.2rem;margin-right:1rem}.navbar-desktop{align-items:center;display:flex;height:70px;justify-content:space-between;padding:0 2rem}.nav-links-desktop{align-items:center;display:flex;list-style:none;margin:0;padding:0}.nav-links-desktop li{margin:0 .5rem;position:relative}.nav-links-desktop li.active:after{background-color:#ff6b6b;border-radius:2px;bottom:-5px;content:"";height:3px;left:0;position:absolute;width:100%}.nav-links-desktop li.active a{color:#ff6b6b}.nav-links-desktop li a{align-items:center;border-radius:4px;color:#333;display:flex;padding:.5rem 1rem;text-decoration:none;transition:all .2s ease}.nav-links-desktop li a:hover{background-color:#f5f5f5}.nav-links-desktop li a svg{margin-right:.5rem}body{padding-top:70px}@media(max-width:767px){body{padding-top:60px}}.dishes-container{margin:0 auto;max-width:90%;padding:2rem 1rem}.dishes-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.dishes-header h1{color:#333;margin:0}.add-dish-btn{align-items:center;background-color:#ff6b6b;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:.5rem;padding:.6rem 1.2rem;text-decoration:none;transition:background-color .2s ease}.add-dish-btn:hover{background-color:#ff5252}.add-dish-btn svg{font-size:.9rem}.dishes-filters{display:flex;gap:1rem;margin-bottom:2rem}.dishes-filters .dish-filter,.dishes-filters .dish-search{border:1px solid #ddd;border-radius:4px;font-size:1rem;padding:.6rem 1rem}.dishes-filters .dish-filter:focus,.dishes-filters .dish-search:focus{border-color:#ff6b6b;outline:none}.dishes-filters .dish-search{flex:1 1}.dishes-filters .dish-filter{min-width:150px}.dishes-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.dish-card{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.dish-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-5px)}.dish-image-placeholder{background-color:#f5f5f5;background-image:linear-gradient(45deg,#eee 25%,#0000 0,#0000 75%,#eee 0,#eee),linear-gradient(45deg,#eee 25%,#0000 0,#0000 75%,#eee 0,#eee);background-position:0 0,10px 10px;background-size:20px 20px;height:180px}.dish-info{padding:1.2rem}.dish-info h3{color:#333;font-size:1.2rem;margin-bottom:.75rem;margin-top:0}.dish-meta{display:flex;flex-wrap:wrap;font-size:.9rem;justify-content:space-between;margin-bottom:1rem}.dish-meta .dish-category{background-color:#f0f0f0;border-radius:12px;color:#666;padding:.3rem .6rem}.dish-meta .dish-prep-time{color:#777}.view-dish-btn{background-color:#f5f5f5;border-radius:4px;color:#555;display:inline-block;font-size:.9rem;padding:.5rem 1rem;text-decoration:none;transition:background-color .2s ease,color .2s ease}.view-dish-btn:hover{background-color:#ff6b6b;color:#fff}@media(max-width:768px){.dishes-header{align-items:flex-start;gap:1rem}.dishes-filters,.dishes-header{flex-direction:column}.dishes-grid{grid-template-columns:1fr}}.dish-form-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;margin:2rem auto;max-width:90%;padding:2rem;width:700px}.dish-form-container h1{color:#333;font-size:1.8rem;margin-bottom:1.5rem}.dish-form-container .error-message{background-color:#ffebee;border-radius:4px;color:#d32f2f;margin-bottom:1rem;padding:10px}.dish-form-container form{display:flex;flex-direction:column;gap:1.5rem}.dish-form-container .form-group{display:flex;flex-direction:column;gap:.5rem}.dish-form-container .form-group label{color:#555;font-weight:600}.dish-form-container .form-group input,.dish-form-container .form-group select,.dish-form-container .form-group textarea{border:1px solid #ddd;border-radius:4px;font-size:1rem;padding:10px;transition:border-color .2s}.dish-form-container .form-group input:focus,.dish-form-container .form-group select:focus,.dish-form-container .form-group textarea:focus{border-color:#4a90e2;outline:none}.dish-form-container .form-group textarea{min-height:80px;resize:vertical}.dish-form-container .form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.dish-form-container .ingredients-input,.dish-form-container .tag-input-container{display:flex;gap:10px;margin-bottom:10px}.dish-form-container .ingredients-input input,.dish-form-container .tag-input-container input{flex:1 1}.dish-form-container .add-item-btn{background-color:#4a90e2;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:8px 12px;white-space:nowrap}.dish-form-container .add-item-btn:hover{background-color:#357abd}.dish-form-container .tags-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.dish-form-container .tags-list .tag-item{align-items:center;background-color:#e3f2fd;border-radius:20px;color:#1565c0;display:flex;font-size:.9rem;gap:6px;padding:6px 10px}.dish-form-container .tags-list .tag-item .remove-item-btn{align-items:center;background:none;border:none;color:#1565c0;cursor:pointer;display:flex;font-size:1.2rem;justify-content:center;padding:0}.dish-form-container .tags-list .tag-item .remove-item-btn:hover{color:#d32f2f}.dish-form-container .ingredients-list{list-style-type:none;margin:0;padding:0}.dish-form-container .ingredients-list .ingredient-item{align-items:center;background-color:#f5f5f5;border-radius:4px;display:flex;justify-content:space-between;margin-bottom:8px;padding:8px 12px}.dish-form-container .ingredients-list .ingredient-item .remove-item-btn{background:none;border:none;color:#777;cursor:pointer;font-size:1.2rem;padding:0}.dish-form-container .ingredients-list .ingredient-item .remove-item-btn:hover{color:#d32f2f}.dish-form-container .ingredient-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px;width:100%}.dish-form-container .ingredient-row input[name=item]{flex:1 1;min-width:150px}.dish-form-container .ingredient-row input[name=quantity],.dish-form-container .ingredient-row input[name=unit]{width:80px}.dish-form-container .ingredient-row .checkbox-label{align-items:center;display:flex;gap:5px;white-space:nowrap}.dish-form-container .ingredient-row .add-item-btn{margin-left:auto}.dish-form-container .form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1rem}.dish-form-container .form-actions button{border-radius:4px;cursor:pointer;font-weight:600;padding:10px 20px;transition:background-color .2s}.dish-form-container .form-actions .cancel-btn{background-color:#f5f5f5;border:1px solid #ddd;color:#555}.dish-form-container .form-actions .cancel-btn:hover{background-color:#e0e0e0}.dish-form-container .form-actions .submit-btn{background-color:#4caf50;border:none;color:#fff}.dish-form-container .form-actions .submit-btn:hover{background-color:#388e3c}.dish-form-container .form-actions .submit-btn:disabled{background-color:#9e9e9e;cursor:not-allowed}.dish-form-container .loading-indicator{align-items:center;color:#555;display:flex;font-size:1.2rem;height:200px;justify-content:center}@media(max-width:768px){.dish-form-container{margin:1rem auto;max-width:90%;padding:1.5rem;width:700px}.dish-form-container .form-row{grid-template-columns:1fr}.dish-form-container .ingredient-row input[name=item]{margin-bottom:5px;width:100%}.dish-form-container .ingredient-row .add-item-btn{margin-top:5px}.dish-form-container .form-actions{flex-direction:column}.dish-form-container .form-actions button{width:100%}}@media(max-width:480px){.dish-form-container{margin:.5rem auto;max-width:90%;padding:1rem;width:700px}.dish-form-container h1{font-size:1.5rem}.dish-form-container .ingredients-input{flex-direction:column}}.auth-container{align-items:center;background-color:#f5f5f5;display:flex;justify-content:center;min-height:calc(100vh - 100px);padding:2rem}.auth-form-container{background-color:#fff;border-radius:12px;box-shadow:0 4px 24px #0000001a;max-width:450px;padding:2.5rem;width:100%}.auth-form-container h2{color:#333;font-size:1.8rem;margin-bottom:1.5rem;text-align:center}.auth-error{background-color:#e74c3c1a;color:#e74c3c}.auth-error,.auth-success{border-radius:4px;font-size:.9rem;margin-bottom:1rem;padding:.75rem 1rem}.auth-success{background-color:#2ecc711a;color:#2ecc71}.auth-form .form-group{margin-bottom:1.25rem}.auth-form .form-group label{color:#666;display:block;font-size:.95rem;margin-bottom:.5rem}.auth-form .form-group input{border:1px solid #ddd;border-radius:4px;font-size:1rem;outline:none;padding:.8rem 1rem;transition:border-color .2s;width:100%}.auth-form .form-group input:focus{border-color:#ff6b6b}.auth-button{background-color:#ff6b6b;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:.5rem;padding:.9rem;transition:background-color .2s;width:100%}.auth-button:hover{background-color:#ff5252}.auth-button:disabled{background-color:#ffb8b8;cursor:not-allowed}.auth-button.google-button{align-items:center;background-color:#fff;border:1px solid #eee;color:#333;display:flex;justify-content:center}.auth-button.google-button:hover{background-color:#f5f5f5}.auth-button.google-button:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 48 48'%3E%3Cpath fill='%234285F4' d='M45.12 24.5c0-1.56-.14-3.06-.4-4.5H24v8.51h11.84c-.51 2.75-2.06 5.08-4.39 6.64v5.52h7.11c4.16-3.83 6.56-9.47 6.56-16.17z'/%3E%3Cpath fill='%2334A853' d='M24 46c5.94 0 10.92-1.97 14.56-5.33l-7.11-5.52c-1.97 1.32-4.49 2.1-7.45 2.1-5.73 0-10.58-3.87-12.31-9.07H4.34v5.7C7.96 41.07 15.4 46 24 46z'/%3E%3Cpath fill='%23FBBC05' d='M11.69 28.18C11.25 26.86 11 25.45 11 24s.25-2.86.69-4.18v-5.7H4.34A21.991 21.991 0 0 0 2 24c0 3.55.85 6.91 2.34 9.88l7.35-5.7c1.73-5.2 6.58-9.07 12.31-9.07z'/%3E%3Cpath fill='%23EA4335' d='M24 10.75c3.23 0 6.13 1.11 8.41 3.29l6.31-6.31C34.91 4.18 29.93 2 24 2 15.4 2 7.96 6.93 4.34 14.12l7.35 5.7c1.73-5.2 6.58-9.07 12.31-9.07z'/%3E%3C/svg%3E");background-repeat:no-repeat;content:"";display:inline-block;height:18px;margin-right:8px;width:18px}.auth-divider{margin:1.5rem 0;position:relative;text-align:center}.auth-divider:before{background-color:#ddd;content:"";height:1px;left:0;position:absolute;top:50%;width:100%}.auth-divider span{background-color:#fff;color:#666;font-size:.9rem;padding:0 1rem;position:relative}.google-button-container{display:flex;justify-content:center;margin-bottom:1.5rem}.auth-footer{color:#666;font-size:.9rem;margin-top:1.5rem;text-align:center}.auth-footer a{color:#ff6b6b;font-weight:500;text-decoration:none}.auth-footer a:hover{text-decoration:underline}.user-profile-container{margin:0 auto;max-width:900px;padding:2rem 1rem}.error-message,.loading-spinner{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #00000014;margin:2rem 0;padding:2rem;text-align:center}.error-message button,.loading-spinner button{background:none;border:none;color:#ff6b6b;cursor:pointer;font-size:1rem;font-weight:600;text-decoration:underline}.error-message button:hover,.loading-spinner button:hover{color:#ff5252}.error-message{color:#e74c3c}.user-profile-header{align-items:center;background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #00000014;display:flex;margin-bottom:2rem;padding:2rem}@media(max-width:576px){.user-profile-header{flex-direction:column;text-align:center}}.user-profile-avatar{margin-right:2rem}@media(max-width:576px){.user-profile-avatar{margin-bottom:1rem;margin-right:0}}.user-profile-avatar img{border-radius:50%;height:100px;object-fit:cover;width:100px}.user-profile-avatar .avatar-placeholder{align-items:center;background-color:#ff6b6b;border-radius:50%;color:#fff;display:flex;font-size:2.5rem;font-weight:600;height:100px;justify-content:center;width:100px}.user-profile-info h2{color:#333;font-size:1.8rem;margin:0 0 .5rem}.user-profile-info p{color:#666;margin:0}.profile-section{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #00000014;margin-bottom:2rem;padding:1.5rem}.profile-section h3{border-bottom:1px solid #eee;color:#333;margin-bottom:1.5rem;margin-top:0;padding-bottom:.75rem}.empty-hearths{padding:2rem 0;text-align:center}.empty-hearths p{color:#666;margin-bottom:1.5rem}.create-hearth-button{background-color:#ff6b6b;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.8rem 1.5rem;transition:background-color .2s}.create-hearth-button:hover{background-color:#ff5252}.hearths-list{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.hearth-card{background-color:#f5f5f5;border-radius:8px;cursor:pointer;overflow:hidden;transition:transform .2s,box-shadow .2s}.hearth-card:hover{box-shadow:0 8px 15px #0000001a;transform:translateY(-5px)}.hearth-info{padding:1.5rem}.hearth-info h4{color:#333;font-size:1.2rem;margin:0 0 .75rem}.hearth-info p{color:#666;font-size:.9rem;margin:.5rem 0}.hearth-info .hearth-role{align-items:center;display:flex}.hearth-info .hearth-role span{background-color:#ff6b6b1a;border-radius:4px;color:#ff6b6b;display:inline-block;font-size:.8rem;font-weight:600;margin-left:.5rem;padding:.25rem .5rem;text-transform:capitalize}.profile-actions{display:flex;justify-content:center;margin-top:2rem}.logout-button{background-color:#fff;border:1px solid #eee;border-radius:4px;color:#666;cursor:pointer;font-size:1rem;padding:.8rem 1.5rem;transition:all .2s}.logout-button:hover{background-color:#f5f5f5;border-color:#e74c3c;color:#e74c3c}.profile-edit-form{flex:1 1;padding:0 1rem}.profile-edit-form .form-group{margin-bottom:1rem}.profile-edit-form .form-group label{color:#666;display:block;font-size:.95rem;margin-bottom:.5rem}.profile-edit-form .form-group input{border:1px solid #ddd;border-radius:4px;font-size:1rem;outline:none;padding:.8rem 1rem;transition:border-color .2s;width:100%}.profile-edit-form .form-group input:focus{border-color:#ff6b6b}.profile-edit-form .profile-update-error{background-color:#e74c3c1a;border-radius:4px;color:#e74c3c;font-size:.9rem;margin-bottom:1rem;padding:.75rem 1rem}.profile-edit-actions{display:flex;gap:1rem;margin-top:1rem}.profile-edit-actions button{border-radius:4px;cursor:pointer;font-weight:600;padding:.7rem 1.2rem;transition:all .2s}.profile-edit-actions button.save-button{background-color:#ff6b6b;border:none;color:#fff}.profile-edit-actions button.save-button:hover{background-color:#ff5252}.profile-edit-actions button.save-button:disabled{background-color:#ffb8b8;cursor:not-allowed}.profile-edit-actions button.cancel-button{background-color:#fff;border:1px solid #eee;color:#666}.profile-edit-actions button.cancel-button:hover{background-color:#f5f5f5}.profile-edit-actions button.cancel-button:disabled{cursor:not-allowed;opacity:.7}.edit-profile-button{background-color:#fff;border:1px solid #eee;border-radius:4px;color:#666;cursor:pointer;display:inline-block;font-size:.9rem;margin-top:.75rem;padding:.5rem 1rem;transition:all .2s}.edit-profile-button:hover{background-color:#f5f5f5;border-color:#ff6b6b;color:#ff6b6b}
/*# sourceMappingURL=main.6c0f3731.css.map*/