:root{--primary-bg:#3e3228;--secondary-bg:#8c7760;--primary-text:#f3efe0;--accent-ui:#d4af37;--cta-color:#b7410e;--cta-hover:#9a3508;--accent-hover:#b8941f;--overlay-bg:#3e3228cc;--shadow-light:#0000004d;--shadow-heavy:#0006}.bg-primary{background-color:#3e3228;background-color:var(--primary-bg)}.bg-secondary{background-color:#8c7760;background-color:var(--secondary-bg)}.text-primary{color:#f3efe0;color:var(--primary-text)}.text-accent{color:#d4af37;color:var(--accent-ui)}.text-cta{color:#b7410e;color:var(--cta-color)}.border-accent{border-color:#d4af37;border-color:var(--accent-ui)}.border-cta{border-color:#b7410e;border-color:var(--cta-color)}.btn-cta{background-color:#b7410e;background-color:var(--cta-color);border:none;color:#f3efe0;color:var(--primary-text);transition:background-color .3s ease}.btn-cta:hover{background-color:#9a3508;background-color:var(--cta-hover)}.btn-accent{background-color:#d4af37;background-color:var(--accent-ui);border:none;color:#3e3228;color:var(--primary-bg);transition:background-color .3s ease}.btn-accent:hover{background-color:#b8941f;background-color:var(--accent-hover)}.btn-secondary{background-color:#8c7760;background-color:var(--secondary-bg);border:1px solid #d4af37;border:1px solid var(--accent-ui);color:#f3efe0;color:var(--primary-text);transition:all .3s ease}.btn-secondary:hover{background-color:#d4af37;background-color:var(--accent-ui);color:#3e3228;color:var(--primary-bg)}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#3e3228;color:#f3efe0;font-family:Inter,-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}button{font-family:inherit}h1,h2,h3,h4,h5,h6{font-family:Merriweather,serif;font-weight:600;margin:0}p{margin:0}.user-profile{position:relative}.user-profile-button{align-items:center;background:#8c7760;border:1px solid #d4af37;border-radius:20px;cursor:pointer;display:flex;gap:8px;padding:6px 12px;transition:all .2s}.user-profile-button:hover{background-color:#d4af37;border-color:#b7410e}.user-avatar{align-items:center;background:linear-gradient(135deg,#b7410e,#d4af37);border-radius:50%;display:flex;font-weight:600;height:32px;justify-content:center;width:32px}.user-avatar,.user-name{color:#f3efe0;font-size:14px}.user-name{font-weight:500;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-arrow{color:#d4af37;transition:transform .2s}.dropdown-arrow.open{transform:rotate(180deg)}.dropdown-overlay{bottom:0;left:0;position:fixed;right:0;top:0;z-index:999}.user-dropdown{background:#8c7760;border:1px solid #d4af37;border-radius:8px;box-shadow:0 4px 12px #0006;min-width:220px;overflow:hidden;position:absolute;right:0;top:calc(100% + 8px);z-index:1000}.user-info{padding:16px}.user-email{color:#f3efe0;font-size:14px;font-weight:500;margin-bottom:4px;word-break:break-word}.user-status{color:#d4af37;font-size:12px}.dropdown-divider{border:none;border-top:1px solid #d4af37;margin:0}.dropdown-item{align-items:center;background:none;border:none;color:#f3efe0;cursor:pointer;display:flex;font-size:14px;gap:8px;padding:12px 16px;text-align:left;transition:background-color .2s;width:100%}.dropdown-item:hover{background-color:#3e3228}.dropdown-item.sign-out{color:#b7410e}.dropdown-item.sign-out:hover{background-color:#3e3228}@media (max-width:768px){.user-name{display:none}.user-profile-button{padding:6px}.user-dropdown{right:-8px}}.header{background:#8c7760;border-bottom:2px solid #d4af37;box-shadow:0 2px 8px #0000004d;position:-webkit-sticky;position:sticky;top:0;z-index:100}.header-container{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:1rem 2rem}.logo h1{color:#f3efe0;font-size:1.8rem;font-weight:700;margin:0}.nav{display:flex;gap:1rem}.nav-button{background:none;border:2px solid #d4af37;color:#d4af37}.nav-button:hover{background:#d4af37;color:#3e3228}.nav-button.active{background:#b7410e;border-color:#b7410e;color:#f3efe0}@media (max-width:768px){.header-container{flex-direction:column;gap:1rem;padding:1rem}.logo h1{font-size:1.5rem}.nav-button{font-size:.9rem;padding:.5rem 1rem}}.header-aut
h{align-items:center;display:flex}.sign-in-button{background-color:#b7410e;border:none;border-radius:25px;color:#f3efe0;cursor:pointer;font-size:14px;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.sign-in-button:hover{background-color:#9a3508;transform:translateY(-2px)}@media (max-width:768px){.header-auth{justify-content:center;width:100%}}.homepage{background:#3e3228;color:#f3efe0;min-height:100vh}.hero-section{background:linear-gradient(135deg,#3e3228,#2a251c);padding:4rem 0 6rem;text-align:center}.hero-content{margin:0 auto;max-width:800px}.hero-title{color:#f3efe0;font-size:3.5rem;font-weight:700;line-height:1.2;margin:0 0 1.5rem}.hero-subtitle{color:#d4af37;font-size:1.25rem;line-height:1.6;margin:0 auto 3rem;max-width:600px}.hero-features{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:3rem auto;max-width:600px}.feature{align-items:center;display:flex;font-size:1.1rem;font-weight:500;gap:.75rem}.feature-icon{font-size:1.5rem}.cta-button{background:#b7410e;border:none;border-radius:50px;color:#f3efe0;cursor:pointer;display:inline-block;font-size:1.1rem;font-weight:600;padding:1rem 2rem;text-decoration:none;transition:all .3s ease}.cta-button:hover{background:#9a3508;box-shadow:0 8px 24px #b7410e4d;transform:translateY(-2px)}.benefits-section{background:#8c7760;padding:6rem 0}.section-title{color:#f3efe0;font-size:2.5rem;font-weight:700;margin:0 0 3rem;text-align:center}.benefits-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin:0 auto;max-width:1000px}.benefit-card{background:#3e3228;border:1px solid #d4af37;border-radius:12px;padding:2rem;text-align:center}.benefit-card h3{color:#d4af37;font-size:1.5rem;font-weight:600;margin:0 0 1rem}.benefit-card p{color:#f3efe0;line-height:1.6;margin:0}.features-section{background:#3e3228;padding:6rem 0}.features-list{margin:0 auto;max-width:800px}.feature-item{align-items:flex-start;background:#8c7760;border:1px solid #d4af37;border-radius:12px;display:flex;gap:2rem;margin-bottom:3rem;padding:2rem}.feature-item:last-child{margin-bottom:0}.feature-icon-large{flex-shrink:0;font-size:3rem}.feature-content h3{color:#d4af37;font-size:1.5rem;font-weight:600;margin:0 0 .75rem}.feature-content p{color:#f3efe0;font-size:1.1rem;line-height:1.6;margin:0}.cta-section{background:linear-gradient(135deg,#b7410e,#9a3508);padding:6rem 0;text-align:center}.cta-content{margin:0 auto;max-width:600px}.cta-content h2{color:#f3efe0;font-size:2.5rem;font-weight:700;margin:0 0 1rem}.cta-content p{color:#f3efe0;font-size:1.2rem;margin:0 0 2rem}.cta-content .cta-button{background:#f3efe0;color:#b7410e;margin-bottom:1rem}.cta-content .cta-button:hover{background:#d4af37;color:#3e3228}.cta-note{color:#f3efe0cc;font-size:.9rem;margin:1rem 0 0}@media (max-width:768px){.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1.1rem}.hero-features{gap:1rem;grid-template-columns:1fr}.section-title{font-size:2rem}.benefits-grid{grid-template-columns:1fr}.feature-item{flex-direction:column;gap:1rem;text-align:center}.feature-icon-large{align-self:center}.cta-content h2{font-size:2rem}.benefits-section,.cta-section,.features-section,.hero-section{padding:3rem 0}}@media (max-width:480px){.hero-title{font-size:2rem}.cta-button{font-size:1rem;padding:.875rem 1.5rem}.benefit-card,.feature-item{padding:1.5rem}}.day-selector{display:flex;flex-direction:column;gap:1.5rem}.day-selector h4{color:var(--primary-text);font-size:1.1rem;font-weight:600;margin:0;text-align:center}.days-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(7,1fr)}.day-button{align-items:center;background:var(--primary-bg);border:2px solid var(--accent-ui);border-radius:8px;color:var(--primary-text);cursor:pointer;display:flex;flex-direction:column;font-weight:500;gap:.25rem;min-height:70px;overflow:hidden;padding:.75rem .5rem;position:relative;transition:all .3s ease}.day-button:before{background:linear-gradient(90deg,#0000,#d4af3733,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.day-button:hover:before{left:100%}.day-button:hover{background:var(--accent-ui);border-color:var(--accent-ui);box-shadow:0 4px 12px var(--shadow-light);color:var(--primary-bg);transform:translateY(-2px)}.day-button:active{transform:translateY(0)}.day-button:disabled{box-shadow:none;cursor:not-allowed;opacity:.5;transform:none}.day-button:disabled:before{display:none}.day-name{font-size:.8rem}.day-short{font-size:.7rem;font-weight:500;opacity:.8}.custom-date-section{border-top:1px solid var(--accent-ui);display:flex;justify-content:center;padding-top:.5rem}.custom-date-button{background:var(--cta-color);border:none;border-radius:25px;color:var(--primary-text);cursor:pointer;font-size:.9rem;font-weight:600;overflow:hidden;padding:.75rem 2rem;position:relative;transition:all .3s ease}.custom-date-button:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.custom-date-button:hover:before{left:100%}.custom-date-button:hover{background:var(--cta-hover);box-shadow:0 4px 12px #b7410e4d;transform:translateY(-2px)}.custom-date-button:active{transform:translateY(0)}.custom-date-button:disabled{box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}.custom-date-button:disabled:before{display:none}.loading-message{align-items:center;background:var(--primary-bg);border:1px solid var(--accent-ui);border-radius:8px;color:var(--accent-ui);display:flex;font-size:.9rem;font-weight:500;gap:.5rem;justify-content:center}.loading-message:after{animation:spin 1s linear infinite;border-top:2px solid var(--secondary-bg);border:2px solid var(--secondary-bg);border-radius:50%;border-top-color:var(--accent-ui);content:"";height:16px;width:16px}@media (max-width:768px){.days-grid{gap:.75rem;grid-template-columns:repeat(4,1fr)}.day-button{min-height:80px;padding:1rem .75rem}.day-name{font-size:.85rem}.day-short{font-size:.75rem}.custom-date-button{font-size:1rem;padding:.875rem 2.5rem}}@media (max-width:480px){.day-selector{gap:1.25rem}.days-grid{gap:1rem;grid-template-columns:repeat(2,1fr)}.day-button{border-radius:12px;min-height:90px;padding:1.25rem 1rem}.day-name{font-size:.9rem}.day-short{font-size:.8rem}.custom-date-section{padding-top:.75rem}.custom-date-button{border-radius:30px;font-size:1rem;padding:1rem 3rem}.loading-message{font-size:1rem;padding:1.25rem}}.day-button.today{background:linear-gradient(135deg,var(--primary-bg) 0,#b7410e1a 100%);border-color:var(--cta-color)}.day-button.today:hover{background:var(--cta-color);color:var(--primary-text)}.custom-date-picker{display:flex;flex-direction:column;gap:1.5rem;padding:.5rem 0}.custom-date-picker h4{color:var(--primary-text);font-size:1.1rem;font-weight:600;margin:0;text-align:center}.date-input-section{background:var(--primary-bg);border:1px solid var(--accent-ui);border-radius:12px;display:flex;justify-content:center;padding:1rem}.date-input{background:var(--secondary-bg);border:2px solid var(--accent-ui);border-radius:8px;color:var(--primary-text);cursor:pointer;font-size:1rem;font-weight:500;min-width:200px;padding:.75rem 1rem;text-align:center;transition:all .3s ease}.date-input:focus{background:var(--primary-bg);border-color:var(--cta-color);box-shadow:0 0 0 3px #b7410e33;outline:none}.date-input:hover:not(:disabled){border-color:var(--cta-color);box-shadow:0 2px 8px var(--shadow-light);transform:translateY(-1px)}.date-input:disabled{box-shadow:none;cursor:not-allowed;opacity:.5;transform:none}.date-input::-webkit-calendar-picker-indicator{background-color:var(--accent-ui);border-radius:4px;cursor:pointer;padding:2px;-webkit-transition:all .3s ease;transition:all .3s ease}.date-input::-webkit-calendar-picker-indicator:hover{background-color:var(--cta-color)}.date-error-message{animation:errorPulse .5s ease-in-out;background:var(--primary-bg);border:1px solid var(--cta-color);border-radius:8px;color:var(--cta-color);font-size:.9rem;font-weight:500;padding:.75rem;text-align:center}@keyframes errorPulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.date-picker-actions{border-top:1px solid var(--accent-ui);display:flex;gap:1rem;justify-content:center;padding-top:.5rem}.cancel-button{background:var(--secondary-bg);border:2px solid var(--accent-ui);border-radius:25px;color:var(--primary-text);font-size:.9rem;min-width:100px;transition:all .3s ease}.cancel-button:hover:not(:disabled){background:var(--accent-ui);box-shadow:0 4px 12px var(--shadow-light);color:var(--primary-bg);transform:translateY(-2px)}.cancel-button:active{transform:translateY(0)}.cancel-button:disabled{box-shadow:none;cursor:not-allowed;opacity:.5;transform:none}.confirm-button{background:var(--cta-color);border:none;border-radius:25px;color:var(--primary-text);cursor:pointer;font-size:.9rem;font-weight:600;min-width:100px;overflow:hidden;padding:.75rem 1.5rem;position:relative;transition:all .3s ease}.confirm-button:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.confirm-button:hover:not(:disabled):before{left:100%}.confirm-button:hover:not(:disabled){background:var(--cta-hover);box-shadow:0 4px 12px #b7410e4d;transform:translateY(-2px)}.confirm-button:active{transform:translateY(0)}.confirm-button:disabled{box-shadow:none;cursor:not-allowed;opacity:.5;transform:none}.confirm-button:disabled:before{display:none}.custom-date-picker.loading{opacity:.7;pointer-events:none}.custom-date-picker.loading .date-input-section:after{animation:spin 1s linear infinite;border-top:2px solid var(--secondary-bg);border:2px solid var(--secondary-bg);border-radius:50%;border-top-color:var(--accent-ui);content:"";height:20px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:20px}@media (max-width:768px){.custom-date-picker{gap:1.25rem}.date-input-section{padding:1.25rem}.date-input{font-size:1.1rem;min-width:220px;padding:.875rem 1.25rem}.date-picker-actions{align-items:center;flex-direction:column;gap:1.25rem}.cancel-button,.confirm-button{font-size:1rem;min-width:150px;padding:.875rem 2rem}}@media (max-width:480px){.custom-date-picker{gap:1rem}.date-input-section{padding:1rem}.date-input{font-size:1rem;min-width:200px;padding:1rem 1.25rem}.date-picker-actions{gap:1rem}.cancel-button,.confirm-button{border-radius:30px;font-size:1rem;min-width:140px;padding:1rem 2.5rem}.date-error-message{font-size:.95rem;padding:1rem}}.meal-type-selector{padding:1rem}.meal-type-header{align-items:center;display:flex;gap:1rem;margin-bottom:1.5rem}.back-button{background:none;border:1px solid #ddd;border-radius:6px;color:#666;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:all .2s ease}.back-button:hover:not(:disabled){background-color:#f5f5f5;border-color:#bbb}.back-button:disabled{cursor:not-allowed;opacity:.5}.selected-date{flex:1 1;text-align:center}.selected-date h4{color:#333;font-size:1rem;font-weight:500;margin:0 0 .25rem}.date-display{color:#2c5530;font-size:1.1rem;font-weight:600;margin:0}.meal-types-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:1rem}.meal-type-button{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:.5rem;padding:1.5rem 1rem;text-align:center;transition:all .2s ease}.meal-type-button:hover:not(:disabled){background-color:#f8fdf9;border-color:#2c5530;box-shadow:0 4px 12px #2c55301a;transform:translateY(-2px)}.meal-type-button:disabled{cursor:not-allowed;opacity:.5;transform:none}.meal-icon{font-size:2rem;margin-bottom:.25rem}.meal-label{color:#333;font-size:1.1rem;margin-bottom:.25rem}.meal-description{color:#666;font-size:.85rem;font-style:italic}.loading-message{color:#666;font-style:italic;padding:1rem;text-align:center}@media (max-width:768px){.meal-types-grid{gap:.75rem;grid-template-columns:1fr}.meal-type-button{padding:1.25rem 1rem}.meal-type-header{flex-direction:column;gap:.75rem;text-align:center}.back-button{align-self:flex-start}}.schedule-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:var(--overlay-bg);bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.schedule-modal-content{animation:modalSlideIn .3s ease-out;background:var(--secondary-bg);border:2px solid var(--accent-ui);border-radius:16px;box-shadow:0 12px 40px var(--shadow-heavy);max-height:90vh;max-width:500px;overflow-y:auto;width:100%}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.schedule-modal-header{align-items:center;border-bottom:1px solid var(--accent-ui);display:flex;justify-content:space-between;margin-bottom:1.5rem;padding:1.5rem 1.5rem 0}.schedule-modal-header h2{color:var(--primary-text);flex:1 1;font-size:1.5rem;font-weight:700;margin:0}.schedule-close-button{align-items:center;background:none;border:none;border-radius:50%;color:var(--accent-ui);cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;padding:4px;transition:all .3s ease;width:32px}.schedule-close-button:hover{background-color:var(--primary-bg);color:var(--cta-color);transform:scale(1.1)}.schedule-modal-body{padding:0 1.5rem 1.5rem}.recipe-info{align-items:center;background:var(--primary-bg);border:1px solid var(--accent-ui);border-radius:12px;gap:1rem;margin-bottom:2rem;padding:1rem}.recipe-info h3{color:var(--primary-text);font-size:1.25rem;font-weight:600;line-height:1.3;margin:0;text-align:center}.recipe-info .recipe-thumbnail{border:2px solid var(--accent-ui);border-radius:8px;box-shadow:0 4px 12px var(--shadow-light);height:80px;overflow:hidden;width:80px}.recipe-info .recipe-thumbnail img{height:100%;object-fit:cover;width:100%}.schedule-error-message{animation:errorShake .5s ease-in-out;background:var(--primary-bg);border:1px solid var(--cta-color);border-radius:8px;color:var(--primary-text);font-weight:500;margin-bottom:1.5rem;padding:1rem;text-align:center}@keyframes errorShake{0%,to{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}.schedule-modal-content.loading{pointer-events:none}.schedule-modal-content.loading:after{align-items:center;background:#3e3228b3;border-radius:16px;bottom:0;content:"";display:flex;justify-content:center;left:0;position:absolute;right:0;top:0}.schedule-modal-content.loading:before{animation:spin 1s linear infinite;border-top:3px solid var(--secondary-bg);border:3px solid var(--secondary-bg);border-radius:50%;border-top-color:var(--accent-ui);content:"";height:40px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:40px;z-index:1001}@media (max-width:768px){.schedule-modal-overlay{padding:15px}.schedule-modal-content{border-radius:12px;max-height:95vh;max-width:100%}.schedule-modal-header{margin-bottom:1.25rem;padding:1.25rem 1.25rem 0}.schedule-modal-header h2{font-size:1.3rem}.schedule-modal-body{padding:0 1.25rem 1.25rem}.recipe-info{margin-bottom:1.5rem;padding:.75rem}.recipe-info h3{font-size:1.1rem}.recipe-info .recipe-thumbnail{height:70px;width:70px}}@media (max-width:480px){.schedule-modal-overlay{padding:10px}.schedule-modal-content{border-radius:8px}.schedule-modal-header{margin-bottom:1rem;padding:1rem 1rem 0}.schedule-modal-header h2{font-size:1.2rem}.schedule-close-button{font-size:20px;height:28px;width:28px}.schedule-modal-body{padding:0 1rem 1rem}.recipe-info{gap:.75rem;margin-bottom:1.25rem;padding:.75rem}.recipe-info h3{font-size:1rem}.recipe-info .recipe-thumbnail{height:60px;width:60px}}@media (max-width:768px){.schedule-modal-content{overscroll-behavior:contain;touch-action:pan-y;transition:transform .2s ease-out}.schedule-modal-content:active{transition:none}.schedule-modal-content:before{background-color:#f4efe04d;border-radius:2px;content:"";height:4px;left:50%;position:absolute;top:8px;transform:translateX(-50%);width:40px;z-index:1}}.recipe-card{background:#8c7760;border:1px solid #d4af37;border-radius:12px;box-shadow:0 4px 12px #0000004d;cursor:pointer;display:flex;flex-direction:column;height:100%;overflow:hidden;transition:all .3s ease}.recipe-card:hover{border-color:#b7410e;box-shadow:0 8px 24px #0006;transform:translateY(-4px)}.recipe-image{height:200px;overflow:hidden;position:relative}.recipe-image img{height:100%;object-fit:cover;width:100%}.schedule-button{align-items:center;background-color:#d4af37;border:2px solid #f3efe0;border-radius:50%;box-shadow:0 2px 8px #0000004d;color:#3e3228;cursor:pointer;display:flex;font-size:20px;font-weight:700;height:36px;justify-content:center;position:absolute;right:12px;top:12px;transition:all .3s ease;width:36px;z-index:10}.schedule-button:hover{background-color:#b7410e;box-shadow:0 4px 12px #0006;color:#f3efe0;transform:scale(1.1)}.placeholder-image{background:linear-gradient(135deg,#f5f7fa,#c3cfe2)}.recipe-content{display:flex;flex:1 1;flex-direction:column;padding:1.5rem}.recipe-title{color:#f3efe0;font-size:1.25rem;margin:0 0 1rem}.recipe-meta{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.recipe-description{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;flex:1 1;font-size:.9rem;line-height:1.5;margin:0 0 1rem;overflow:hidden}.recipe-tags{gap:.5rem;margin-top:auto}@media (max-width:768px){.recipe-image{height:150px}.recipe-content{padding:1rem}.recipe-title{font-size:1.1rem}}.drink-card{background:#8c7760;border:1px solid #d4af37;border-radius:12px;box-shadow:0 4px 12px #0000004d;cursor:pointer;display:flex;flex-direction:column;height:100%;overflow:hidden;transition:all .3s ease}.drink-card:hover{border-color:#b7410e;box-shadow:0 8px 24px #0006;transform:translateY(-4px)}.drink-image{height:200px;overflow:hidden;position:relative}.drink-image img{height:100%;object-fit:cover;width:100%}.placeholder-image{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;font-size:3rem;height:100%;justify-content:center;width:100%}.alcoholic-badge{background:#b7410e;border-radius:12px;color:#f3efe0;font-size:.75rem;font-weight:600;padding:.25rem .5rem;position:absolute;right:.75rem;top:.75rem}.drink-content{display:flex;flex:1 1;flex-direction:column;padding:1.5rem}.drink-title{color:#f3efe0;font-size:1.25rem;font-weight:600;line-height:1.3;margin:0 0 1rem}.drink-meta{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.meta-item{align-items:center;font-size:.875rem;gap:.25rem}.drink-description{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;flex:1 1;font-size:.9rem;line-height:1.5;margin:0 0 1rem;overflow:hidden}.drink-tags{gap:.5rem;margin-top:auto}.tag{background:#3e3228;border-radius:15px;font-size:.75rem;padding:.25rem .75rem}@media (max-width:768px){.drink-image{height:150px}.drink-content{padding:1rem}.drink-title{font-size:1.1rem}}.image-upload{width:100%}.upload-area{align-items:center;background-color:#3e3228;border:2px dashed #d4af37;border-radius:8px;cursor:pointer;display:flex;justify-content:center;min-height:200px;padding:40px 20px;text-align:center;transition:all .3s ease}.upload-area.drag-over,.upload-area:hover{background-color:#8c7760;border-color:#b7410e}.upload-area.drag-over{transform:scale(1.02)}.upload-content{align-items:center;display:flex;flex-direction:column;gap:12px}.upload-icon{stroke-width:1.5;color:#d4af37;height:48px;width:48px}.upload-text{display:flex;flex-direction:column;gap:4px;margin:0}.upload-primary{color:#f3efe0;font-size:16px;font-weight:600}.upload-secondary{color:#d4af37;font-size:14px}.upload-hint{color:#d4af37;font-size:12px;margin:0}.upload-spinner{animation:spin 1s linear infinite;border:3px solid #8c7760;border-radius:50%;border-top-color:#d4af37;height:32px;width:32px}.image-preview{background-color:#3e3228;border-radius:8px;overflow:hidden;position:relative}.preview-image{display:block;height:250px;object-fit:cover;width:100%}.image-overlay{align-items:center;background:#000000b3;bottom:0;display:flex;gap:12px;justify-content:center;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.image-preview:hover .image-overlay{opacity:1}.change-image-button,.remove-image-button{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s ease}.change-image-button{background-color:#d4af37;color:#3e3228}.change-image-button:hover:not(:disabled){background-color:#b8941f}.remove-image-button{background-color:#b7410e;color:#f3efe0}.remove-image-button:hover:not(:disabled){background-color:#9a3508}.change-image-button:disabled,.remove-image-button:disabled{cursor:not-allowed;opacity:.6}.upload-error{background-color:#8c7760;border:1px solid #b7410e;border-radius:6px;color:#f3efe0;font-size:14px;margin-top:12px;padding:8px 12px}@media (max-width:768px){.upload-area{min-height:150px;padding:30px 15px}.upload-icon{height:40px;width:40px}.upload-primary{font-size:14px}.upload-secondary{font-size:12px}.preview-image{height:200px}.image-overlay{flex-direction:column;gap:8px}.change-image-button,.remove-image-button{font-size:12px;padding:6px 12px}}.pdf-upload-container{background:#8c7760;border:2px solid #d4af37;border-radius:12px;margin:20px 0;padding:24px}.pdf-upload-header{margin-bottom:24px;text-align:center}.pdf-upload-header h3{color:#f3efe0;font-size:1.25rem;margin:0 0 8px}.pdf-upload-header p{color:#d4af37;font-size:.95rem;margin:0}.pdf-upload-area{background:#3e3228;border:2px dashed #d4af37;border-radius:8px;cursor:pointer;margin-bottom:20px;padding:40px 20px;text-align:center;transition:all .3s ease}.pdf-upload-area.drag-active,.pdf-upload-area:hover{background:#8c7760;border-color:#b7410e}.pdf-upload-area.drag-active{transform:scale(1.02)}.pdf-upload-area.has-file{background:#8c7760;border-color:#d4af37;cursor:default}.pdf-upload-prompt{color:#d4af37}.pdf-upload-icon{font-size:3rem;margin-bottom:16px;opacity:.7}.pdf-upload-prompt p{margin:8px 0}.pdf-upload-hint{color:#d4af37;font-size:.85rem;font-style:italic}.pdf-upload-selected{padding:0}.pdf-file-info{align-items:center;background:#3e3228;border:1px solid #d4af37;border-radius:8px;display:flex;gap:16px;justify-content:center;padding:20px}.pdf-file-icon{color:#b7410e;font-size:2rem}.pdf-file-details{flex:1 1;text-align:left}.pdf-file-name{color:#f3efe0;font-weight:600;margin:0 0 4px;word-break:break-word}.pdf-file-size{color:#d4af37;font-size:.85rem;margin:0}.pdf-remove-button{align-items:center;background:#b7410e;border:none;border-radius:50%;color:#f3efe0;cursor:pointer;display:flex;font-size:1rem;height:32px;justify-content:center;transition:background-color .2s;width:32px}.pdf-remove-button:hover:not(:disabled){background:#9a3508}.pdf-remove-button:disabled{cursor:not-allowed;opacity:.5}.pdf-upload-actions{display:flex;gap:12px;justify-content:center;margin-bottom:24px}.pdf-cancel-button,.pdf-upload-button{border:none;border-radius:6px;cursor:pointer;font-size:.95rem;font-weight:600;padding:12px 24px;transition:all .2s}.pdf-cancel-button{background:#8c7760;border:1px solid #d4af37;color:#f3efe0}.pdf-cancel-button:hover:not(:disabled){background:#d4af37;color:#3e3228}.pdf-upload-button{background:#b7410e;color:#f3efe0}.pdf-upload-button:hover:not(:disabled){background:#9a3508}.pdf-cancel-button:disabled,.pdf-upload-button:disabled{cursor:not-allowed;opacity:.5}.pdf-upload-instructions{background:#3e3228;border:1px solid #d4af37;border-radius:8px;padding:20px}.pdf-upload-instructions h4{color:#f3efe0;font-size:1rem;margin:0 0 12px}.pdf-upload-instructions ol{color:#d4af37;margin:0;padding-left:20px}.pdf-upload-instructions li{line-height:1.4;margin-bottom:8px}.pdf-upload-instructions kbd{background:#f8f9fa;border:1px solid #dee2e6;border-radius:3px;color:#495057;font-size:.85rem;padding:2px 6px}@media (max-width:768px){.pdf-upload-container{margin:16px 0;padding:16px}.pdf-upload-area{padding:30px 16px}.pdf-file-info,.pdf-upload-actions{flex-direction:column}.pdf-file-info{gap:12px}.pdf-file-details,.pdf-file-info{text-align:center}}.modal-overlay{align-items:center;background:#3e3228cc;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#8c7760;border:2px solid #d4af37;border-radius:12px;box-shadow:0 20px 40px #0006;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.modal-header{align-items:center;border-bottom:1px solid #d4af37;display:flex;justify-content:space-between;padding:1.5rem 2rem}.modal-header h2{color:#f3efe0;margin:0}.close-button{font-size:1.5rem;height:30px;padding:0;width:30px}.form-type-toggle{border:1px solid #d4af37;border-radius:8px;display:flex;margin:1.5rem 2rem 0;overflow:hidden}.form-type-toggle button{background:#3e3228;border:none;color:#d4af37;cursor:pointer;flex:1 1;padding:.75rem;transition:all .3s ease}.form-type-toggle button.active{background:#b7410e;color:#f3efe0}.recipe-form{padding:1.5rem 2rem 2rem}.url-section{border-bottom:1px solid #d4af37;margin-bottom:2rem;padding-bottom:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem}.form-group input,.form-group select,.form-group textarea{font-size:1rem;padding:.75rem;transition:border-color .3s ease;width:100%}.form-row{grid-gap:1rem;gap:1rem}.url-input-group{display:flex;gap:.5rem}.url-input-group input{flex:1 1}.scrape-button{background:#d4af37;border:none;border-radius:6px;color:#3e3228;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;white-space:nowrap}.scrape-button:hover:not(:disabled){background:#b8941f}.scrape-button:disabled{cursor:not-allowed;opacity:.6}.ingredient-row,.instruction-row{gap:.5rem;margin-bottom:.75rem}.ingredient-row input{margin-bottom:0}.ingredient-row input:last-of-type{flex:1 1}.step-number{color:#d4af37;flex:0 0 30px;padding:.75rem 0}.instruction-row textarea{margin-bottom:0}.remove-button{background:#b7410e;font-size:1.2rem;height:30px;margin-top:.75rem;width:30px}.remove-button:hover{background:#9a3508}.add-button{background:#d4af37;font-size:.9rem;padding:.5rem 1rem}.add-button:hover{background:#b8941f}.form-actions{border-top:1px solid #d4af37;display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1.5rem}.cancel-button{background:#8c7760;font-weight:600;padding:.75rem 1.5rem}.cancel-button:hover{background:#d4af37;color:#3e3228}.submit-button{background:#b7410e;border-radius:6px;color:#f3efe0;padding:.75rem 1.5rem}.submit-button:hover:not(:disabled){background:#9a3508}.error-message{margin-bottom:1rem}@media (max-width:768px){.modal-content{border-radius:0;height:100vh;margin:0;max-height:none}.modal-header,.recipe-form{padding-left:1rem;padding-right:1rem}.recipe-form{padding-bottom:8rem}.form-row{grid-template-columns:1fr}.ingredient-row input:first-child{flex:0 0 100px}.form-actions{background:#8c7760;border-radius:8px;bottom:2rem;box-shadow:0 -4px 12px #0000004d;flex-direction:column;margin-bottom:4rem;padding:1rem;position:-webkit-sticky;position:sticky}}.checkbox-l
abel{align-items:center;color:#f3efe0;cursor:pointer;display:flex!important;font-weight:600!important;gap:.5rem}.checkbox-label input[type=checkbox]{width:auto!important}@media (max-width:768px){.modal-content{overscroll-behavior:contain;touch-action:pan-y;transition:transform .2s ease-out}.modal-content:active{transition:none}.modal-content:before{background-color:#f4efe04d;border-radius:2px;content:"";height:4px;left:50%;position:absolute;top:8px;transform:translateX(-50%);width:40px;z-index:1}}.search-bar{margin-bottom:2rem}.search-input-group{display:flex;margin:0 auto;max-width:500px;position:relative}.search-input{background:#8c7760;border:2px solid #d4af37;border-radius:25px 0 0 25px;color:#f3efe0;flex:1 1;font-size:1rem;outline:none;padding:.75rem 1rem;transition:border-color .3s ease}.search-input:focus{border-color:#b7410e}.search-input::placeholder{color:#d4af37}.clear-button{background:#8c7760;border:2px solid #d4af37;border-left:none;border-right:none;color:#d4af37;cursor:pointer;font-size:1.2rem;padding:0 .75rem;transition:all .3s ease}.clear-button:hover{background:#d4af37;color:#3e3228}.search-button{background:#b7410e;border:2px solid #b7410e;border-radius:0 25px 25px 0;color:#f3efe0;cursor:pointer;font-size:1rem;padding:.75rem 1.25rem;transition:all .3s ease}.search-button:hover{background:#9a3508;border-color:#9a3508}@media (max-width:768px){.search-input-group{max-width:100%}}.recipe-modal-overlay{align-items:center;background-color:#3e3228cc;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:9999}.recipe-modal-content{background:#8c7760;border:2px solid #d4af37;border-radius:12px;box-shadow:0 8px 32px #0006;max-height:90vh;max-width:800px;overflow-y:auto;width:100%}.recipe-modal-header{align-items:center;border-bottom:1px solid #d4af37;display:flex;justify-content:space-between;margin-bottom:24px;padding:24px 24px 0}.recipe-modal-header h2{color:#f3efe0;flex:1 1;font-size:28px;font-weight:700;margin:0 16px 0 0}.recipe-modal-actions{align-items:center;display:flex;gap:12px}.schedule-button-modal{align-items:center;background-color:#d4af37;border:2px solid #f3efe0;border-radius:50%;box-shadow:0 2px 8px #0000004d;color:#3e3228;cursor:pointer;display:flex;font-size:20px;font-weight:700;height:36px;justify-content:center;transition:all .3s ease;width:36px}.schedule-button-modal:hover{background-color:#b7410e;box-shadow:0 4px 12px #0006;color:#f3efe0;transform:scale(1.1)}.recipe-modal-body{padding:0 24px 24px}.recipe-content{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr;margin-bottom:32px}.recipe-image-section{display:flex;flex-direction:column}.recipe-image{border-radius:8px;box-shadow:0 2px 8px #0000001a;height:250px;object-fit:cover;width:100%}.recipe-info-section{display:flex;flex-direction:column}.recipe-description-container{margin-bottom:20px}.recipe-description{color:#f3efe0;font-size:16px;line-height:1.6;margin:0 0 12px;transition:all .3s ease}.recipe-description.collapsed{-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.recipe-description.expanded{display:block}.recipe-meta{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-bottom:20px}.meta-item{background-color:#3e3228;border:1px solid #d4af37;border-radius:16px;color:#d4af37;font-size:12px;font-weight:500;padding:8px 12px;text-align:center}.meta-label{font-size:10px}.meta-value{font-size:14px;font-weight:600}.meta-value.difficulty{text-transform:capitalize}.recipe-tags{display:flex;flex-wrap:wrap;gap:8px}.recipe-section{margin-bottom:32px}.recipe-section h3{border-bottom:2px solid #b7410e;color:#f3efe0;font-size:20px;font-weight:600;margin-bottom:16px;padding-bottom:8px}.instruction-item,.instructions-list,.instructions-list li{list-style-type:none;list-style:none}.recipe-source{background-color:#3e3228;border-left:4px solid #d4af37;border-radius:8px;margin-top:24px;padding:16px}.recipe-source a{color:#d4af37;text-decoration:none}.recipe-source a:hover{color:#b7410e;text-decoration:underline}.recipe-modal-footer{background-color:#3e3228;border-radius:0 0 12px 12px;border-top:1px solid #d4af37;display:flex;gap:12px;justify-content:flex-end;padding:20px 24px}@media (max-width:768px){.recipe-modal-overlay{padding:10px}.recipe-modal-content{max-height:95vh}.recipe-modal-header{align-items:flex-start;flex-direction:column;gap:12px;padding:16px 16px 0}.recipe-modal-header h2{font-size:24px;margin-right:0}.recipe-modal-actions{align-self:flex-end}.recipe-modal-body{padding:0 16px 16px}.recipe-content{gap:16px}.recipe-meta{gap:8px}.form-row{gap:12px;grid-template-columns:1fr}.ingredient-row{flex-direction:column;gap:8px}.ingredient-row input:first-child{flex:1 1}.instruction-row{align-items:stretch;flex-direction:column;gap:8px}.step-number{align-self:flex-start;margin-top:0}.remove-button{align-self:flex-end;margin-top:0}.recipe-modal-footer{flex-direction:column;gap:8px;padding:16px}.cancel-button,.save-button{width:100%}.recipe-modal-content{overscroll-behavior:contain;touch-action:pan-y;transition:transform .2s ease-out}.recipe-modal-content:active{transition:none}.recipe-modal-content:before{background-color:#f4efe04d;border-radius:2px;content:"";height:4px;left:50%;position:absolute;top:8px;transform:translateX(-50%);width:40px;z-index:1}}.scheduled-recipe-card{background:var(--primary-bg);border:1px solid var(--accent-ui);border-radius:8px;box-shadow:0 2px 6px var(--shadow-light);box-sizing:border-box;cursor:pointer;min-width:0;padding:.5rem .75rem;position:relative;transition:all .3s ease;width:100%}.scheduled-recipe-card:hover{background:linear-gradient(135deg,var(--primary-bg) 0,#b7410e0d 100%);border-color:var(--cta-color);box-shadow:0 4px 12px var(--shadow-heavy);transform:translateY(-1px)}.recipe-info{flex-direction:column;gap:.25rem}.recipe-header,.recipe-info{display:flex;min-width:0;width:100%}.recipe-header{align-items:center;justify-content:space-between;margin-bottom:.125rem}.meal-type{align-items:center;background:var(--secondary-bg);border:1px solid var(--accent-ui);border-radius:12px;display:flex;gap:.25rem;padding:.25rem .5rem}.meal-icon{font-size:.8rem}.meal-label{color:var(--accent-ui);font-size:.7rem;font-weight:600;letter-spacing:.3px;text-transform:capitalize}.remove-button{background:var(--cta-color);color:var(--primary-text);font-size:14px;font-weight:700;height:20px;opacity:.7;transition:all .3s ease;width:20px}.remove-button:hover{background:var(--cta-hover);box-shadow:0 2px 6px var(--shadow-light);opacity:1;transform:scale(1.1)}.recipe-details{flex:1 1;min-width:0;width:100%}.recipe-title{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;word-wrap:break-word;color:var(--primary-text);display:-webkit-box;font-size:.9rem;font-weight:600;line-height:1.3;margin:0;overflow:hidden;word-break:break-word}.confirm-remove{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#3e3228f2;border-radius:8px;bottom:0;display:flex;flex-direction:column;gap:.75rem;justify-content:center;left:0;padding:1rem;position:absolute;right:0;top:0}.confirm-remove p{color:var(--primary-text);font-size:.85rem;font-weight:600;margin:0;text-align:center}.confirm-buttons{display:flex;gap:.5rem}.confirm-yes{background:var(--cta-color);border:none;border-radius:6px;color:var(--primary-text);cursor:pointer;font-size:.75rem;font-weight:600;padding:.4rem .8rem;transition:all .3s ease}.confirm-yes:hover:not(:disabled){background:var(--cta-hover);transform:translateY(-1px)}.confirm-yes:disabled{cursor:not-allowed;opacity:.6}.confirm-no{background:var(--secondary-bg);border:1px solid var(--accent-ui);border-radius:6px;color:var(--primary-text);cursor:pointer;font-size:.75rem;font-weight:600;padding:.4rem .8rem;transition:all .3s ease}.confirm-no:hover:not(:disabled){background:var(--accent-ui);color:var(--primary-bg);transform:translateY(-1px)}.confirm-no:disabled{cursor:not-allowed;opacity:.6}@media (max-width:768px){.scheduled-recipe-card{padding:.75rem}.recipe-title{-webkit-line-clamp:3;line-clamp:3;font-size:1rem}.remove-button{font-size:16px;height:24px;width:24px}.meal-type{padding:.3rem .6rem}.meal-label{font-size:.75rem}.confirm-remove{gap:1rem;padding:1.25rem}.confirm-remove p{font-size:.9rem}.confirm-buttons{gap:.75rem}.confirm-no,.confirm-yes{font-size:.8rem;padding:.5rem 1rem}}@media (max-width:480px){.scheduled-recipe-card{padding:.5rem .75rem}.confirm-remove{padding:1rem}}.calendar-day{background:var(--secondary-bg);border:1px solid var(--accent-ui);border-radius:8px;box-shadow:0 2px 8px var(--shadow-light);display:flex;flex-direction:column;min-height:300px;min-width:0;overflow:hidden;transition:all .3s ease;width:100%}.calendar-day:hover{border-color:var(--cta-color);box-shadow:0 4px 16px var(--shadow-heavy);transform:translateY(-2px)}.calendar-day.today{background:linear-gradient(135deg,var(--secondary-bg) 0,#b7410e1a 100%);border:2px solid var(--cta-color);box-shadow:0 4px 16px #b7410e4d}.calendar-day.today:hover{box-shadow:0 6px 20px #b7410e66}.day-header{align-items:center;background:#3e32284d;border-bottom:1px solid var(--accent-ui);border-radius:8px 8px 0 0;display:flex;justify-content:space-between;padding:1rem}.calendar-day.today .day-header{background:#b7410e33;border-bottom-color:var(--cta-color)}.day-name{color:var(--primary-text);font-size:1rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.day-date{color:var(--accent-ui);font-size:1.5rem;font-weight:700;min-width:35px;text-align:center}.calendar-day.today .day-date{color:var(--cta-color)}.day-content{color:var(--cta-color);flex:1 1;overflow-x:hidden;overflow-y:auto;padding:1rem}.day-content,.scheduled-recipes{display:flex;flex-direction:column;gap:.75rem;min-width:0;width:100%}.empty-day{align-items:center;display:flex;flex:1 1;justify-content:center;min-height:150px}.empty-text{color:var(--cta-color);font-size:.95rem;font-style:italic;opacity:.7;text-align:center}@media (max-width:768px){.calendar-day{border-radius:12px;margin-bottom:.5rem;min-height:auto}.day-header{border-radius:12px 12px 0 0;padding:1.25rem}.day-name{font-size:1.1rem}.day-date{font-size:1.75rem}.day-content{min-height:140px;padding:1.25rem}.empty-day{min-height:100px}.empty-text{font-size:1rem}}@media (max-width:480px){.calendar-day{border-radius:8px}.day-header{border-radius:8px 8px 0 0;padding:1rem}.day-name{font-size:1rem}.day-date{font-size:1.5rem}.day-content{min-height:120px;padding:1rem}.empty-day{min-height:80px}}.calendar-day.loading{opacity:.6;pointer-events:none}.calendar-day.loading .day-content:after{animation:spin 1s linear infinite;border-top:2px solid var(--secondary-bg);border:2px solid var(--secondary-bg);border-radius:50%;border-top-color:var(--accent-ui);content:"";height:20px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:20px}.weekly-calendar{width:100%}.calendar-grid{grid-gap:1.5rem;background:var(--primary-bg);border:1px solid var(--accent-ui);border-radius:12px;box-shadow:0 4px 16px var(--shadow-light);display:grid;gap:1.5rem;grid-template-columns:repeat(7,minmax(0,1fr));overflow:hidden;padding:1.5rem;width:100%}@media (max-width:1024px){.calendar-grid{gap:1.25rem;padding:1.25rem}}@media (max-width:768px){.calendar-grid{gap:1rem;grid-template-columns:1fr;overflow:visible;padding:1rem}}@media (max-width:480px){.weekly-calendar{margin:0 -.5rem}.calendar-grid{border-radius:8px;gap:.75rem;padding:.75rem}}.weekly-planner{background:var(--primary-bg);margin:0;min-height:100vh;padding:2rem;width:100%}.planner-header{border-bottom:2px solid var(--accent-ui);display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem;padding-bottom:1.5rem}.planner-header h2{color:var(--primary-text);font-size:2.5rem;font-weight:700;margin:0;text-align:center}.week-navigation{align-items:center;display:flex;gap:1rem;justify-content:space-between}.nav-button{background:var(--secondary-bg);border:2px solid var(--accent-ui);border-radius:25px;color:var(--primary-text);cursor:pointer;font-size:1rem;font-weight:600;min-width:120px;padding:.75rem 1.5rem;transition:all .3s ease}.nav-button:hover{background:var(--accent-ui);box-shadow:0 4px 12px var(--shadow-light);color:var(--primary-bg);transform:translateY(-2px)}.nav-button:active{transform:translateY(0)}.week-range{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:.5rem;max-width:300px}.week-text{font-size:1.25rem;font-weight:600;text-align:center}.today-button,.week-text{color:var(--primary-text)}.today-button{background:var(--cta-color);border:none;border-radius:15px;cursor:pointer;font-size:.9rem;font-weight:500;padding:.5rem 1rem;transition:all .3s ease}.today-button:hover{background:var(--cta-hover);box-shadow:0 2px 8px var(--shadow-light);transform:translateY(-1px)}.loading{align-items:center;color:var(--accent-ui);display:flex;flex-direction:column;gap:1rem}.loading:after{animation:spin 1s linear infinite;border-top:3px solid var(--secondary-bg);border:3px solid var(--secondary-bg);border-radius:50%;border-top-color:var(--accent-ui);content:"";height:40px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-message{border:1px solid var(--cta-color);color:var(--primary-text)}.auth-required,.error-message{background:var(--secondary-bg)}.auth-required{border:1px solid var(--accent-ui);border-radius:12px;color:var(--accent-ui);font-size:1.1rem;padding:4rem 2rem;text-align:center}@media (max-width:768px){.weekly-planner{padding:1rem}.planner-header h2{font-size:2rem}.week-navigation{flex-direction:column;gap:1rem}.nav-button{font-size:.9rem;min-width:100px;padding:.6rem 1.2rem}.week-range{max-width:none;order:-1;width:100%}.week-text{font-size:1.1rem}.today-button{font-size:.8rem;padding:.4rem .8rem}}@media (max-width:480px){.weekly-planner{padding:.5rem}.planner-header{gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem}.planner-header h2{font-size:1.75rem}.week-navigation{gap:.75rem}.nav-button{font-size:.85rem;min-width:90px;padding:.5rem 1rem}.week-text{font-size:1rem}}.auth-modal-overlay{align-items:center;background-color:#3e3228cc;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.auth-modal-content{background:#8c7760;border:2px solid #d4af37;border-radius:8px;box-shadow:0 4px 20px #0006;max-height:90vh;max-width:400px;overflow-y:auto;padding:0;width:90%}.auth-modal-header{align-items:center;border-bottom:1px solid #d4af37;display:flex;justify-content:space-between;padding:20px 24px}.auth-modal-header h2{color:#f3efe0;font-size:24px;margin:0}.auth-close-button{align-items:center;background:none;border:none;border-radius:50%;color:#d4af37;cursor:pointer;display:flex;font-size:24px;height:30px;justify-content:center;padding:0;transition:background-color .2s;width:30px}.auth-close-button:hover{background-color:#3e3228;color:#b7410e}.auth-form{padding:24px}.auth-form-group{margin-bottom:20px}.auth-form-group label{color:#f3efe0;display:block;font-weight:500;margin-bottom:6px}.auth-form-group input{background:#3e3228;border:1px solid #d4af37;border-radius:4px;box-sizing:border-box;color:#f3efe0;font-size:16px;padding:12px;transition:border-color .2s;width:100%}.auth-form-group input:focus{border-color:#b7410e;box-shadow:0 0 0 2px #b7410e40;outline:none}.auth-form-group input::placeholder{color:#d4af37}.auth-error-message{background-color:#8c7760;border:1px solid #b7410e;border-radius:4px;color:#f3efe0;font-size:14px;margin-bottom:20px;padding:12px}.auth-submit-button{background-color:#b7410e;border:none;border-radius:4px;color:#f3efe0;cursor:pointer;font-size:16px;font-weight:500;padding:12px;transition:background-color .2s;width:100%}.auth-submit-button:hover:not(:disabled){background-color:#9a3508}.auth-submit-button:disabled{background-color:#8c7760;cursor:not-allowed}.auth-toggle{border-top:1px solid #d4af37;padding:20px 24px;text-align:center}.auth-toggle p{color:#f3efe0;margin:0}.auth-toggle-button{background:none;border:none;color:#d4af37;cursor:pointer;font-weight:500;text-decoration:underline}.auth-toggle-button:hover{color:#b7410e}@media (max-width:480px){.auth-modal-content{margin:20px;width:95%}.auth-modal-header{padding:16px 20px}.auth-form{padding:20px}.auth-toggle{padding:16px 20px}}@media (max-width:768px){.auth-modal-content{overscroll-behavior:contain;touch-action:pan-y;transition:transform .2s ease-out}.auth-modal-content:active{transition:none}.auth-modal-content:before{background-color:#f4efe04d;border-radius:2px;content:"";height:4px;left:50%;position:absolute;top:8px;transform:translateX(-50%);width:40px;z-index:1}}.auth-link-button{font-size:.9rem;padding:.5rem}.auth-links{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem;text-align:center}.auth-link-button{background:none;border:none;color:var(--accent-ui);cursor:pointer;font-size:.85rem;padding:.25rem;text-decoration:underline;transition:color .3s ease}.auth-link-button:hover{color:var(--cta-color)}.auth-link-button:focus{border-radius:4px;outline:2px solid var(--accent-ui);outline-offset:2px}.auth-modal-content[data-mode=magic-link] .auth-info-text{color:var(--secondary-text);font-size:.85rem;line-height:1.4;text-align:center}.auth-success-message{background:#4caf501a;border:1px solid #4caf504d;border-radius:8px;color:#4caf50;font-weight:500;line-height:1.4;margin-bottom:1.5rem;padding:1rem;text-align:center}@media (max-width:480px){.auth-links{gap:.75rem}.auth-link-button{font-size:.8rem;padding:.5rem}}.password-reset-container{align-items:center;background:var(--primary-bg);display:flex;justify-content:center;min-height:100vh;padding:20px}.password-reset-card{background:var(--secondary-bg);border:2px solid var(--accent-ui);border-radius:16px;box-shadow:0 12px 40px var(--shadow-heavy);max-width:400px;padding:2rem;width:100%}.password-reset-header{margin-bottom:2rem;text-align:center}.password-reset-header h2{color:var(--primary-text);font-size:1.5rem;font-weight:700;margin:0 0 .5rem}.password-reset-header p{color:var(--secondary-text);font-size:.9rem;margin:0}.password-reset-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{gap:.5rem}.form-group label{color:var(--primary-text);font-size:.9rem}.form-group input{background:var(--primary-bg);border:2px solid var(--accent-ui);border-radius:8px;color:var(--primary-text);font-size:1rem;padding:.75rem;transition:all .3s ease}.form-group input:focus{border-color:var(--cta-color);box-shadow:0 0 0 3px #d4af371a;outline:none}.form-group input::placeholder{color:var(--secondary-text)}.submit-button{background:var(--cta-color);border:none;border-radius:8px;color:var(--primary-bg);cursor:pointer;font-size:1rem;font-weight:600;margin-top:.5rem;padding:.875rem 1.5rem;transition:all .3s ease}.submit-button:hover:not(:disabled){background:var(--cta-hover);box-shadow:0 4px 12px #d4af374d;transform:translateY(-1px)}.submit-button:disabled{box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}.error-message{background:#f443361a;border:1px solid #f443364d;color:#f44336;font-size:.9rem;font-weight:500}.error-message,.success-content{text-align:center}.success-content h2{color:#4caf50;font-size:1.5rem;font-weight:700;margin:0 0 1rem}.success-content p{color:var(--secondary-text);font-size:.9rem;line-height:1.5;margin:0 0 1.5rem}.success-icon{color:#4caf50;font-size:3rem;margin-top:1rem}.loading{color:var(--secondary-text);font-size:1rem;padding:2rem}@media (max-width:480px){.password-reset-container{padding:15px}.password-reset-card{padding:1.5rem}.password-reset-header h2{font-size:1.3rem}.form-group input{font-size:.9rem;padding:.625rem}.submit-button{font-size:.9rem;padding:.75rem 1.25rem}}.drink-modal-overlay{align-items:center;background-color:#3e3228cc;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.drink-modal-content{background:#8c7760;border:2px solid #d4af37;border-radius:12px;box-shadow:0 8px 32px #0006;max-height:90vh;max-width:800px;overflow-y:auto;width:100%}.drink-modal-header{align-items:center;border-bottom:1px solid #d4af37;display:flex;justify-content:space-between;margin-bottom:24px;padding:24px 24px 0}.drink-modal-header h2{color:#f3efe0;flex:1 1;font-size:28px;font-weight:700;margin:0 16px 0 0}.drink-modal-actions{align-items:center;display:flex;gap:12px}.edit-button{background-color:#d4af37;border:none;border-radius:6px;color:#3e3228;cursor:pointer;font-weight:500;padding:8px 16px;transition:background-color .2s}.edit-button:hover{background-color:#b8941f}.close-button{align-items:center;background:none;border:none;border-radius:50%;color:#d4af37;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;padding:4px;transition:background-color .2s;width:32px}.close-button:hover{background-color:#3e3228;color:#b7410e}.drink-modal-body{padding:0 24px 24px}.error-message{background-color:#8c7760;border:1px solid #b7410e;border-radius:6px;margin-bottom:20px;padding:12px}.drink-content{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr;margin-bottom:32px}.drink-image-section{display:flex;flex-direction:column}.drink-image{border-radius:8px;box-shadow:0 2px 8px #0000001a;height:250px;object-fit:cover;width:100%}.drink-info-section{display:flex;flex-direction:column}.drink-description-container{margin-bottom:20px}.drink-description{color:#f3efe0;font-size:16px;line-height:1.6;margin:0 0 12px;transition:all .3s ease}.drink-description.collapsed{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.drink-description.expanded{display:block}.toggle-description-button{background:none;border:none;color:#d4af37;cursor:pointer;font-size:14px;font-weight:500;padding:0;text-decoration:underline;transition:color .3s ease}.toggle-description-button:hover{color:#b7410e}.drink-meta{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr;margin-bottom:20px}.meta-item{display:flex;flex-direction:column;gap:4px}.meta-label{color:#d4af37;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.meta-value{color:#f3efe0;font-size:16px;font-weight:500}.meta-value.alcoholic{color:#b7410e}.meta-value.non-alcoholic{color:#d4af37}.drink-tags{display:flex;flex-wrap:wrap;gap:8px}.tag{background-color:#3e3228;border:1px solid #d4af37;border-radius:16px;color:#d4af37;font-size:12px;font-weight:500;padding:4px 12px}.drink-section{margin-bottom:32px}.drink-section h3{border-bottom:2px solid #b7410e;color:#f3efe0;font-size:20px;font-weight:600;margin-bottom:16px;padding-bottom:8px}.ingredients-list{list-style:none;margin:0;padding:0}.ingredient-item{border-bottom:1px solid #d4af37;display:flex;padding:12px 0}.ingredient-item:last-child{border-bottom:none}.ingredient-amount{color:#b7410e;font-weight:600;margin-right:16px;min-width:100px}.ingredient-name{color:#f3efe0;flex:1 1}.instructions-list{counter-reset:step-counter;padding-left:0}.instruction-item{background-color:#3e3228;border-left:4px solid #b7410e;border-radius:8px;color:#f3efe0;counter-increment:step-counter;line-height:1.6;margin-bottom:16px;padding:16px;position:relative}.instruction-item:before{align-items:center;background-color:#b7410e;border-radius:50%;color:#f3efe0;content:counter(step-counter);display:flex;font-size:12px;font-weight:600;height:24px;justify-content:center;left:-2px;position:absolute;top:-2px;width:24px}.drink-source{background-color:#3e3228;border-left:4px solid #d4af37;border-radius:8px;margin-top:24px;padding:16px}.drink-source a{color:#d4af37;text-decoration:none}.drink-source a:hover{color:#b7410e;text-decoration:underline}.edit-form{gap:16px}.edit-form,.form-group{display:flex;flex-direction:column}.form-group{gap:6px}.form-group label{color:#f3efe0;font-size:14px;font-weight:600}.checkbox-label{align-items:center;flex-direction:row!important;gap:8px!important}.checkbox-label input[type=checkbox]{margin:0;width:auto}.form-group input,.form-group select,.form-group textarea{background:#3e3228;border:1px solid #d4af37;border-radius:6px;color:#f3efe0;font-size:14px;padding:10px;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#b7410e;box-shadow:0 0 0 2px #b7410e40;outline:none}.form-group input::placeholder,.form-group textarea::placeholder{color:#d4af37}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr 1fr}.ingredients-edit,.instructions-edit{display:flex;flex-direction:column;gap:12px}.ingredient-row,.instruction-row{align-items:flex-start;display:flex;gap:12px}.ingredient-row input{border:1px solid #ddd;border-radius:4px;flex:1 1;padding:8px}.ingredient-row input:first-child{flex:0 0 120px}.instruction-row{align-items:flex-start}.step-number{align-items:center;background-color:#b7410e;border-radius:50%;color:#f3efe0;display:flex;flex-shrink:0;font-size:12px;font-weight:600;height:24px;justify-content:center;margin-top:8px;width:24px}.instruction-row textarea{border:1px solid #ddd;border-radius:4px;flex:1 1;min-height:60px;padding:8px;resize:vertical}.remove-button{align-items:center;background-color:#b7410e;border:none;border-radius:50%;color:#f3efe0;cursor:pointer;display:flex;flex-shrink:0;font-size:16px;height:24px;justify-content:center;margin-top:8px;width:24px}.remove-button:hover{background-color:#9a3508}.add-button{align-self:flex-start;background-color:#d4af37;border-radius:6px;color:#3e3228;font-weight:500;padding:8px 16px}.add-button:hover{background-color:#b8941f}.drink-modal-footer{background-color:#3e3228;border-radius:0 0 12px 12px;border-top:1px solid #d4af37;display:flex;gap:12px;justify-content:flex-end;padding:20px 24px}.cancel-button{background-color:#8c7760;border:1px solid #d4af37;border-radius:6px;color:#f3efe0;cursor:pointer;font-weight:500;padding:10px 20px}.cancel-button:hover:not(:disabled){background-color:#d4af37;color:#3e3228}.save-button{background-color:#b7410e;border:none;border-radius:6px;color:#f3efe0;cursor:pointer;font-weight:500;padding:10px 20px}.save-button:hover:not(:disabled){background-color:#9a3508}.cancel-button:disabled,.save-button:disabled{cursor:not-allowed;opacity:.6}@media (max-width:768px){.drink-modal-overlay{padding:10px}.drink-modal-content{max-height:95vh}.drink-modal-header{align-items:flex-start;flex-direction:column;gap:12px;padding:16px 16px 0}.drink-modal-header h2{font-size:24px;margin-right:0}.drink-modal-actions{align-self:flex-end}.drink-modal-body{padding:0 16px 16px}.drink-content{gap:16px}.drink-meta{gap:8px}.form-row{gap:12px;grid-template-columns:1fr}.ingredient-row{flex-direction:column;gap:8px}.ingredient-row input:first-child{flex:1 1}.instruction-row{align-items:stretch;flex-direction:column;gap:8px}.step-number{align-self:flex-start;margin-top:0}.remove-button{align-self:flex-end;margin-top:0}.drink-modal-footer{flex-direction:column;gap:8px;padding:16px}.cancel-button,.save-button{width:100%}.drink-modal-content{overscroll-behavior:contain;touch-action:pan-y;transition:transform .2s ease-out}.drink-modal-content:active{transition:none}.drink-modal-content:before{background-color:#f4efe04d;border-radius:2px;content:"";height:4px;left:50%;position:absolute;top:8px;transform:translateX(-50%);width:40px;z-index:1}}.App{background:#3e3228;min-height:100vh}.main-content{padding:2rem 0}.container{margin:0 auto;max-width:1200px;padding:0 2rem}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.section-header h2{color:#f3efe0;font-size:2rem;font-weight:700;margin:0}.add-button{background:#b7410e;border:none;border-radius:25px;color:#f3efe0;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.add-button:hover{background:#9a3508;transform:translateY(-2px)}.cards-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}@media (max-width:768px){.container{padding:0 1rem}.section-header{align-items:stretch;flex-direction:column;gap:1rem}.section-header h2{font-size:1.5rem;text-align:center}.cards-grid{gap:1rem;grid-template-columns:1fr}}.loading{color:#d4af37;font-size:1.2rem;padding:4rem 2rem;text-align:center}.error-message{background:#8c7760;border:1px solid #d4af37;border-radius:8px;color:#f3efe0;margin-bottom:2rem;padding:1rem}.header-actions{align-items:center;display:flex;gap:1rem}.alcoholic-toggle{align-items:center;color:#d4af37;cursor:pointer;display:flex;font-size:.9rem;gap:.5rem}.alcoholic-toggle input[type=checkbox]{cursor:pointer;height:18px;width:18px}.empty-state{color:#d4af37;font-size:1.1rem;grid-column:1/-1;padding:4rem 2rem;text-align:center}@media (max-width:768px){.header-actions{flex-direction:column;gap:.75rem;width:100%}.alcoholic-toggle{justify-content:center}}
/*# sourceMappingURL=main.518a3e28.css.map*/