:root{--background-main: #FAF5EF;--card-background: #F7F3EE;--button-bg: #E6D6C4;--section-divider: #F1E3D3;--text-primary: #4A3F35;--text-secondary: #837E77;--link-color: #4A3F35;--heading-accent: #C7A995;--button-text: #4A3F35;--button-hover-bg: #D5BDAF;--button-hover-text: #ffffff}*{box-sizing:border-box}html,body{height:100%;padding:0;margin:0;font-family:Montserrat,system-ui,sans-serif;background-color:var(--background-main);color:var(--text-primary)}.app-container{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1;padding:1rem 2rem;background-color:var(--background-main)}.header{position:sticky;top:0;z-index:100;background-color:#faf5ef;padding:0 32px}a{color:var(--link-color);text-decoration:none}a:hover{text-decoration:underline}.header-inner{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:16px 0;max-width:1200px;margin:0 auto;width:100%}.logo{margin:0;font-size:2rem;font-weight:700;color:#4a3f35}.nav-links{display:flex;gap:.7rem}.header-button{display:inline-block;align-content:center;border:1px solid #ccc;border-radius:9999px;padding:8px 16px;text-decoration:none;color:#222;font-weight:500;background-color:transparent}.home-button:hover{background-color:#0000001a}.footer{padding:1rem 2rem;text-align:center;font-size:.9rem;color:#555;background:#dedddd}.section-title{color:var(--heading-accent);font-size:1.5rem;margin-top:1.5em}.menu-card{background-color:var(--card-background);border-radius:8px;padding:1rem}.dish-grid{display:flex;justify-content:center}.dish-info{background:none;border-radius:0}.dish-card{display:flex;flex-direction:column;background-color:var(--card-background);border-radius:12px;overflow:hidden;box-shadow:0 2px 6px #0000001a;max-width:360px;margin:1rem auto}.dish-image{width:100%;height:300px;object-fit:cover}.dish-info{padding:1rem;text-align:center}.dish-name{margin:.1rem 0;font-size:1.2rem;color:var(--text-primary)}.dish-tags{font-size:.9rem;color:var(--text-secondary);margin:0}.recipe-button{display:inline-block;margin-top:.6rem;padding:.5rem 1rem;border-radius:9999px;background-color:var(--button-bg);color:var(--button-text);text-decoration:none;font-weight:500}.recipe-button:hover{background-color:var(--section-divider)}.dish-card-wrapper{display:flex}.dishes-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem}.dishes-grid .dish-card{margin:0}@media (min-width: 768px){.dish-card{flex-direction:row;max-width:600px;height:250px}.dish-image{width:40%;height:100%}.dish-info{width:60%;padding:2rem;text-align:left}.dish-name{font-size:1.6rem;margin-top:0}.recipe-button{font-size:1rem}}.filters-bar{display:flex;align-items:center;gap:1rem;width:100%}.filters-popup{background-color:#fff;padding:1rem;border-radius:12px;box-shadow:0 2px 6px #0000001a;margin:1rem 0}.filters-input,.tag-search-input{flex:1;padding:.5rem 1rem;border:1px solid var(--section-divider);border-radius:9999px;background-color:var(--card-background);color:var(--text-primary);font-size:1rem;outline:none;transition:border-color .2s}.tag-search-input{margin-right:.5rem;margin-bottom:.5rem}.filters-input:focus{border-color:var(--heading-accent)}.open-filters-button,.back-button{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:none;border-radius:9999px;background-color:var(--button-bg);color:var(--button-text);font-size:1rem;cursor:pointer;transition:background-color .2s,color .2s}.open-filters-button:hover{background-color:var(--button-hover-bg);color:var(--button-hover-text)}.open-filters-button.active{background-color:var(--heading-accent);color:#fff}.category-button,.tag-button{display:inline-block;padding:.4rem 1rem;margin:.1rem .1rem .5rem;border:none;border-radius:9999px;background-color:var(--button-bg);color:var(--button-text);font-size:.9rem;cursor:pointer;transition:background-color .2s,color .2s}.category-button:hover,.tag-button:hover{background-color:var(--button-hover-bg);color:var(--button-hover-text)}.category-button.active,.tag-button.active{background-color:var(--heading-accent);color:#fff}.reset-filters-button{display:inline-block;margin-top:.75rem;padding:.5rem 1.5rem;border:none;border-radius:9999px;background-color:var(--section-divider);color:var(--text-primary);font-size:.9rem;cursor:pointer;transition:background-color .2s}.reset-filters-button:hover{background-color:var(--button-hover-bg);color:var(--button-hover-text)}.divider{margin-bottom:0}.divider.filters{color:var(--heading-accent)}.chat-assistant{position:fixed;bottom:1rem;right:1rem;z-index:1000;display:flex;flex-direction:column;align-items:flex-end}.chat-toggle{width:100px;height:100px;background-color:transparent;background-size:cover;background-position:center;background-repeat:no-repeat;border:none;border-radius:50%;cursor:pointer;transition:transform .2s,background-color .2s;display:flex;align-items:center;justify-content:center;font-size:24px;color:#fff;box-shadow:0 2px 6px #00000026;margin-top:1rem}.chat-toggle:hover{transform:scale(1.1)}.chat-toggle.open{background-image:none!important;background-color:var(--heading-accent);width:40px;height:40px}.chat-toggle.open{color:#fff}.chat-window{margin-top:.5rem;width:300px;height:400px;background-color:#fff;border:1px solid var(--section-divider);border-radius:12px;box-shadow:0 4px 12px #0000001a;overflow:hidden;display:flex;flex-direction:column}.chat-window .chat-header{padding:.75rem 1rem;background-color:var(--section-divider);align-content:center;font-weight:600;font-size:1rem;border-bottom:1px solid var(--section-divider)}.chat-window .chat-messages{flex:1;padding:.5rem 1rem;overflow-y:auto;background-color:#fafafa}.chat-window .message{margin-bottom:.5rem;display:flex}.chat-window .message.user{justify-content:flex-end}.chat-window .message.ai{justify-content:flex-start}.chat-window .message .bubble{max-width:80%;padding:.5rem .75rem;border-radius:12px;font-size:.9rem;line-height:1.3}.chat-window .message.user .bubble{background-color:var(--heading-accent);color:#fff;border-bottom-right-radius:4px}.chat-window .message.ai .bubble{background-color:var(--card-background);color:var(--text-primary);border-bottom-left-radius:4px}.chat-window .chat-footer{display:flex;border-top:1px solid var(--section-divider)}.chat-window .chat-footer input{flex:1;border:none;padding:.5rem .75rem;font-size:.9rem;outline:none}.chat-window .chat-footer button{border:none;background-color:var(--heading-accent);color:#fff;padding:0 1rem;font-size:.9rem;cursor:pointer;transition:background-color .2s}.chat-window .chat-footer button:hover{background-color:darken(var(--heading-accent),10%)}.chat-icon{width:40px;height:40px;object-fit:contain;display:block}.recipe-link{text-decoration:solid;font-size:1rem;margin-bottom:1rem}.ingredients-section{background-color:var(--card-background);border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:.5rem 1rem;margin-bottom:1rem}.section-title{margin-top:.2rem;margin-bottom:.3rem}.ingredient-item{margin-bottom:.2rem;font-size:1.2rem}.instruction-item{margin-bottom:.1rem;font-size:1.2rem}@media (max-width: 768px){.header-inner{flex-direction:column;justify-content:center;align-items:flex-start;padding:8px 16px}.logo{font-size:1.5rem;margin-bottom:8px}.nav-links-wrapper{width:100%;display:flex;justify-content:center}.nav-links{display:flex;flex-direction:row;justify-content:center;width:max-content;gap:8px}.nav-links a{width:auto;text-align:center;padding:8px 12px;font-size:1rem}.divider{border-top-width:1px;margin:0}.filters-bar{flex-direction:column;align-items:stretch;gap:.5rem}.open-filters-button{width:100%;justify-content:center}.filters-input{width:100%;margin-top:.5rem}.filters-popup{width:100%;padding:.5rem}.category-button,.tag-button{font-size:.8rem;padding:.4rem .75rem;margin:.2rem}.reset-filters-button{width:100%;margin-top:.75rem}.chat-toggle{width:60px;height:60px}}.ingredient-row,.instruction-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.delete-ingredient-button,.delete-instruction-button{background:transparent;border:none;color:var(--text-secondary);font-size:1.2rem;line-height:1;cursor:pointer;padding:0;transition:color .2s}.delete-ingredient-button:hover,.delete-instruction-button:hover{color:var(--heading-accent)}.form-group>input,.form-group>textarea{width:auto;padding:.5rem;border:1px solid var(--section-divider);border-radius:8px;font-size:1rem;margin-bottom:.4rem;margin-left:.5rem}.recipe-button{display:inline-block;padding:.5rem 1.5rem;border:none;border-radius:9999px;background-color:var(--section-divider);color:var(--text-primary);font-size:.9rem;cursor:pointer;transition:background-color .2s;margin-top:0}.form-actions{display:flex;gap:1rem;margin-top:1rem}.login-page{display:flex;justify-content:center;align-items:center;padding:2rem;min-height:calc(100vh - 8rem)}.login-container{background:var(--card-background);padding:2rem;border-radius:8px;max-width:360px;width:100%;box-shadow:0 2px 8px #0000001a}.login-title{margin-top:0;margin-bottom:1rem;text-align:center;color:var(--text-primary)}.error-message{color:red;margin-bottom:1rem;text-align:center}.login-form .form-group{margin-bottom:1rem}.login-form .form-group label{display:block;margin-bottom:.25rem;color:var(--text-secondary)}.login-form .form-group input{width:100%;padding:.5rem;border:1px solid var(--section-divider);border-radius:4px;font-size:1rem}.login-button{width:100%;padding:.75rem;background-color:var(--button-bg);color:var(--button-text);border:none;border-radius:9999px;font-size:1rem;cursor:pointer;transition:background-color .2s}.login-button:hover{background-color:var(--button-hover-bg);color:var(--button-hover-text)}
