*{margin:0;padding:0;box-sizing:border-box}html{color-scheme:light only}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:#2a3a2a;background:#e6d8c8}.app{min-height:100vh;display:flex;flex-direction:column;background:#e6d8c8}.navbar{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;background:#5a5832;border-bottom:1px solid #031f21}.nav-brand{display:flex;align-items:center;gap:.5rem;text-decoration:none;color:#2a3a2a}.brand-name{font-family:Georgia,Times New Roman,serif;font-size:1.4rem;font-weight:700;letter-spacing:.5px;color:#e6d8c8}.nav-links{display:flex;gap:1.25rem}.nav-links a{text-decoration:none;color:#e6d8c8;font-size:.9rem}.nav-links a:hover{color:#f5ede4}.main-content{flex:1;padding:2rem;max-width:960px;width:100%;margin:0 auto}h1{margin-bottom:.5rem}.page-subtitle{color:#666;margin-bottom:1.5rem}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.25rem;font-size:.875rem;font-weight:500}.form-group input{width:100%;max-width:360px;padding:.5rem .75rem;border:1px solid #ccc;border-radius:4px;font-size:.9rem}button[type=submit]{padding:.5rem 1.25rem;background:#2a3a2a;color:#f5ede4;border:none;border-radius:4px;font-size:.9rem;cursor:pointer}button[type=submit]:hover{background:#555}.error-message{color:#c00;font-size:.875rem;margin-top:.5rem}.session-expired-msg{background:#fff3e0;color:#8a6d3b;border:1px solid #f0d9a8;border-radius:6px;padding:.75rem 1rem;font-size:.875rem;text-align:center;margin-bottom:1rem}.login-container{min-height:60vh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem}.login-card{background:#f5ede4;padding:2.5rem;border-radius:8px;box-shadow:0 2px 8px #0000001a;width:100%;max-width:400px}.login-logo{display:block;margin:0 auto 1rem;max-width:180px;height:auto}.nav-logo{height:36px;width:auto}.login-subtitle{text-align:center;color:#888;font-size:.9rem;margin-bottom:1.5rem}.login-card button[type=submit]{width:100%;padding:.65rem;margin-top:.5rem}.login-card .form-group input{max-width:100%}.nav-logout{background:none;border:none;color:#e6d8c8;font-size:.9rem;cursor:pointer;padding:0}.nav-logout:hover{color:#ff6b6b}.nav-login-btn.nav-login-btn{background:#f5ede4;color:#042e30;padding:.45rem 1.2rem;border-radius:6px;text-decoration:none;font-weight:600;font-size:.9rem;transition:background .2s,color .2s}.nav-login-btn.nav-login-btn:hover{background:#bbd1a5;color:#042e30}button:disabled{opacity:.6;cursor:not-allowed}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.btn-primary{padding:.5rem 1.25rem;background:#2a3a2a;color:#f5ede4;border:none;border-radius:4px;font-size:.9rem;cursor:pointer}.btn-primary:hover{background:#555}.btn-danger-small{padding:.3rem .75rem;background:#c00;color:#f5ede4;border:none;border-radius:4px;font-size:.8rem;cursor:pointer}.btn-danger-small:hover{background:#a00}.card{background:#f5ede4;border:1px solid #e0e0e0;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.form-card .form-group input,.form-card .form-group select{max-width:100%}.form-group select{width:100%;max-width:360px;padding:.5rem .75rem;border:1px solid #ccc;border-radius:4px;font-size:.9rem;background:#f5ede4}.data-table{width:100%;border-collapse:collapse;background:#f5ede4;border-radius:8px;overflow:hidden;border:1px solid #e0e0e0}.data-table th,.data-table td{padding:.75rem 1rem;text-align:left;font-size:.9rem}.data-table th{background:#fafafa;font-weight:600;border-bottom:1px solid #e0e0e0}.data-table tr:not(:last-child) td{border-bottom:1px solid #f0f0f0}.data-table tr:hover td{background:#fafafa}.nav-links{align-items:center}.form-row{display:flex;gap:1rem;flex-wrap:wrap}.form-row .form-group{flex:1;min-width:150px}.form-card h2{font-size:1.1rem;margin-bottom:1rem}.btn-secondary-small{padding:.3rem .75rem;background:#f5ede4;color:#2a3a2a;border:1px solid #ccc;border-radius:4px;font-size:.8rem;cursor:pointer}.btn-secondary-small:hover{background:#f0f0f0}.action-buttons{display:flex;gap:.5rem}.ingredient-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.ingredient-card{background:#f5ede4;border-radius:8px;border:1px solid #e0e0e0;border-left:4px solid #ccc;padding:1.25rem;display:flex;flex-direction:column;gap:.6rem}.ingredient-card-header{display:flex;align-items:center;justify-content:space-between}.ingredient-card-header h3{font-size:1.05rem;margin:0}.ingredient-card-badge{font-size:.7rem;color:#f5ede4;padding:.2rem .6rem;border-radius:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.ingredient-card-price{font-size:1.4rem;font-weight:700;color:#042e30}.ingredient-card-unit{font-size:.85rem;font-weight:400;color:#888}.ingredient-card-date{font-size:.78rem;color:#aaa}.ingredient-card-actions{display:flex;gap:.5rem;margin-top:.25rem}.empty-state{text-align:center;color:#888;padding:2rem;background:#f5ede4;border-radius:8px;border:1px solid #e0e0e0}.recipe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.recipe-card{background:#f5ede4;border-radius:8px;border:1px solid #d9ccbe;overflow:hidden;cursor:pointer;transition:box-shadow .2s;position:relative}.recipe-card:hover{box-shadow:0 4px 12px #0000001a}.recipe-card-image img{width:100%;height:180px;object-fit:cover}.recipe-card-placeholder{width:100%;height:180px;background:#ddd;display:flex;align-items:center;justify-content:center;color:#999;font-size:.9rem}.recipe-card-body{padding:1rem}.recipe-card-body h3{font-size:1.1rem;margin-bottom:.25rem}.recipe-card-desc{color:#666;font-size:.85rem;margin-bottom:.5rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.recipe-card-meta{font-size:.8rem;color:#888}.recipe-card-delete{position:absolute;top:.5rem;right:.5rem}.recipe-detail{max-width:800px;background:#f5ede4;border:1px solid #d9ccbe;border-radius:10px;padding:2rem}.recipe-detail-image img{width:100%;max-height:400px;object-fit:cover;border-radius:8px;margin-bottom:1.5rem}.recipe-detail-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.recipe-detail-desc{color:#555;font-size:1rem;margin-bottom:1rem;line-height:1.5}.recipe-detail-meta{color:#888;font-size:.9rem;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid #e0e0e0}.recipe-section{margin-bottom:2rem}.recipe-section h2{font-size:1.2rem;margin-bottom:1rem}.ingredient-tags{display:flex;flex-wrap:wrap;gap:.6rem}.ingredient-tag{display:inline-flex;align-items:center;gap:.4rem;background:#f5ede4;border:1px solid #d9ccbe;border-radius:20px;padding:.4rem .9rem;font-size:.88rem;color:#2a3a2a}.ingredient-tag-qty{font-weight:600;color:#042e30}.recipe-steps-list{list-style:none;padding:0;counter-reset:none}.recipe-steps-list li{background:#f5ede4;border:1px solid #e0e0e0;border-radius:8px;padding:1rem;margin-bottom:.75rem}.step-number{font-weight:600;font-size:.85rem;color:#042e30;margin-bottom:.25rem}.btn-back{background:none;border:none;color:#555;cursor:pointer;font-size:.9rem;padding:0;margin-bottom:1rem;display:inline-block}.btn-back:hover{color:#2a3a2a}.recipe-form{margin-top:1.5rem}.recipe-form .card{margin-bottom:1.5rem}.recipe-form textarea{width:100%;padding:.5rem .75rem;border:1px solid #ccc;border-radius:4px;font-size:.9rem;font-family:inherit;resize:vertical}.dynamic-row{align-items:flex-end}.step-form-row{display:flex;gap:.75rem;align-items:flex-start;margin-bottom:.75rem}.step-form-number{background:#042e30;color:#f5ede4;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600;flex-shrink:0;margin-top:.25rem}.btn-remove{background:none;border:1px solid #ccc;color:#999;width:32px;height:32px;border-radius:4px;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.btn-remove:hover{border-color:#c00;color:#c00}.btn-add{background:none;border:1px dashed #ccc;color:#666;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.85rem;width:100%;margin-top:.5rem}.btn-add:hover{border-color:#999;color:#2a3a2a}.image-preview{margin-top:.5rem}.image-preview img{max-width:300px;max-height:200px;border-radius:4px;object-fit:cover}.upload-status{color:#888;font-size:.85rem;margin-top:.25rem}.home-v2{margin:-2rem -1.5rem 0}.hero-v2{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;margin-top:18px}.hero-v2-bg{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:24px;overflow:hidden}.hero-v2-bg img{width:100%;height:100%;object-fit:cover;object-position:right center}.hero-v2-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent}.hero-v2-content{position:relative;z-index:1;text-align:center;padding:2rem;max-width:700px}.hero-v2-logo{width:96px;height:96px;border-radius:50%;margin:0 auto 2rem;border:3px solid rgba(230,216,200,.4)}.hero-v2-title{font-family:Georgia,Playfair Display,serif;font-size:4rem;font-weight:600;color:#e6d8c8;margin-bottom:.25rem}.hero-v2-subtitle{font-size:1.3rem;color:#e6d8c8d9;font-weight:300;margin-bottom:3rem}.hero-v2-info{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1.5rem 3rem}.hero-v2-info-item{display:flex;align-items:center;gap:.5rem;color:#e6d8c8e6;font-size:.9rem}.hero-v2-scroll{position:absolute;bottom:2.5rem;left:50%;transform:translate(-50%);animation:bounce 2s infinite}.hero-v2-scroll-indicator{width:24px;height:40px;border-radius:12px;border:2px solid rgba(245,237,228,.5);display:flex;align-items:flex-start;justify-content:center;padding-top:8px}.hero-v2-scroll-dot{width:4px;height:8px;border-radius:2px;background:#f5ede480}@keyframes bounce{0%,20%,50%,80%,to{transform:translate(-50%) translateY(0)}40%{transform:translate(-50%) translateY(-10px)}60%{transform:translate(-50%) translateY(-5px)}}.gallery-v2{padding:5rem 1.5rem;max-width:1100px;margin:0 auto}.gallery-v2-header{text-align:center;margin-bottom:3rem}.gallery-v2-label{font-size:.75rem;text-transform:uppercase;letter-spacing:3px;color:#6e6c3d;margin-bottom:.75rem}.gallery-v2-title{font-family:Georgia,Playfair Display,serif;font-size:2.5rem;font-weight:600;color:#042e30}.gallery-v2-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.25rem}.gallery-v2-item{position:relative;aspect-ratio:4 / 3;overflow:hidden;border-radius:10px;cursor:pointer}.gallery-v2-img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.gallery-v2-img.zoomed{transform:scale(1.1)}.gallery-v2-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#042e3066;opacity:0;transition:opacity .3s ease}.gallery-v2-overlay.visible{opacity:1}.gallery-v2-caption{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(10px);transition:opacity .3s ease,transform .3s ease}.gallery-v2-caption.visible{opacity:1;transform:translateY(0)}.gallery-v2-caption h3{font-family:Georgia,Playfair Display,serif;font-size:1.2rem;color:#f5ede4;font-weight:500}.instagram-v2{padding:5rem 1.5rem;background:#bbd1a54d;text-align:center}.instagram-v2-icon{width:64px;height:64px;border-radius:50%;background:#042e30;color:#e6d8c8;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem}.instagram-v2-label{font-size:.75rem;text-transform:uppercase;letter-spacing:3px;color:#6e6c3d;margin-bottom:.75rem}.instagram-v2-handle{font-family:Georgia,Playfair Display,serif;font-size:2.5rem;font-weight:600;color:#042e30;margin-bottom:1rem}.instagram-v2-desc{color:#6e6c3d;max-width:480px;margin:0 auto 2rem;line-height:1.6}.instagram-v2-btn{display:inline-flex;align-items:center;gap:.75rem;padding:.9rem 2rem;background:#042e30;color:#e6d8c8;border-radius:50px;text-decoration:none;font-weight:500;font-size:.95rem;transition:background .2s}.instagram-v2-btn:hover{background:#063d40}@media(max-width:768px){.home-v2{margin:-1rem -1rem 0}.hero-v2{min-height:85vh;margin-top:8px}.hero-v2-logo{width:72px;height:72px}.hero-v2-title{font-size:2.8rem}.hero-v2-subtitle{font-size:1.1rem;margin-bottom:2rem}.hero-v2-info{flex-direction:column;gap:.75rem}.hero-v2-scroll{bottom:1.5rem}.gallery-v2-title,.instagram-v2-handle{font-size:1.8rem}.gallery-v2{padding:3rem 1rem}.gallery-v2-grid{grid-template-columns:1fr}.instagram-v2{padding:3rem 1rem}}.app-footer{background:#5a5832;color:#e6d8c8;padding:2rem 1.5rem 1rem;margin-top:2rem}.footer-content{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:auto 1fr 1fr 1fr;gap:2.5rem;align-items:start}.footer-brand{display:flex;flex-direction:column;align-items:center;gap:.4rem}.footer-logo{width:40px;height:40px;border-radius:50%}.footer-brand-name{font-family:Georgia,serif;font-size:1.1rem;font-weight:700;color:#f5ede4}@media(max-width:768px){.footer-content{grid-template-columns:1fr 1fr;gap:1.5rem}.footer-brand{grid-column:1 / -1;flex-direction:row;justify-content:center}}.footer-col h4{color:#f5ede4;font-size:.95rem;margin-bottom:.75rem}.footer-hours{list-style:none;padding:0;margin:0}.footer-hours li{display:flex;justify-content:space-between;padding:.3rem 0;font-size:.82rem;border-bottom:1px solid rgba(255,255,255,.1)}.footer-hours li:last-child{border-bottom:none}.footer-map-embed{margin-bottom:.5rem;border-radius:6px;overflow:hidden}.footer-map-link{display:inline-block;font-size:.82rem;color:#bbd1a5;text-decoration:none;font-weight:500}.footer-map-link:hover{text-decoration:underline}.footer-social-link{display:inline-flex;align-items:center;gap:.5rem;color:#e0e0e0;text-decoration:none;font-size:.9rem;transition:color .2s}.footer-social-link:hover{color:#f5ede4}.footer-bottom{text-align:center;font-size:.78rem;color:#fff6;margin-top:1.5rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1)}.wa-floating{position:fixed;bottom:1.5rem;right:1.5rem;z-index:1000}.wa-fab{width:56px;height:56px;border-radius:50%;background:#25d366;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #00000040;transition:transform .2s,box-shadow .2s}.wa-fab:hover{transform:scale(1.1);box-shadow:0 6px 18px #0000004d}.wa-popup{position:absolute;bottom:70px;right:0;background:#f5ede4;border-radius:12px;padding:1rem 1.25rem;box-shadow:0 4px 20px #00000026;min-width:200px;text-align:center}.wa-popup p{margin:0 0 .75rem;font-size:.9rem;color:#2a3a2a;font-weight:500}.wa-popup-btn{display:inline-block;background:#25d366;color:#f5ede4;padding:.5rem 1.25rem;border-radius:20px;text-decoration:none;font-weight:600;font-size:.88rem;transition:background .2s}.wa-popup-btn:hover{background:#1da851}.calc-recipe-selector{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem}.calc-recipe-chip{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#f5ede4;border:2px solid #d9ccbe;border-radius:24px;cursor:pointer;font-size:.9rem;color:#2a3a2a;transition:border-color .2s,background .2s}.calc-recipe-chip:hover{border-color:#042e30}.calc-recipe-chip.active{border-color:#042e30;background:#042e30;color:#f5ede4}.calc-recipe-chip-img{width:32px;height:32px;border-radius:50%;object-fit:cover}.calc-results{margin-top:1rem}.calc-margin-card{text-align:center}.calc-margin-label{display:block;font-size:.95rem;margin-bottom:.75rem}.calc-slider{width:100%;max-width:500px;accent-color:#042e30;height:6px}.calc-margin-range{display:flex;justify-content:space-between;max-width:500px;margin:.25rem auto 0;font-size:.75rem;color:#aaa}.calc-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.calc-summary-card{background:#f5ede4;border:1px solid #e0e0e0;border-radius:8px;padding:1.25rem;text-align:center;display:flex;flex-direction:column;gap:.25rem}.calc-summary-card.highlight{background:#042e30;border-color:#042e30;color:#f5ede4}.calc-summary-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;opacity:.7}.calc-summary-value{font-size:1.8rem;font-weight:700}.calc-summary-card.highlight .calc-summary-value{color:#bbd1a5}.calc-summary-sub{font-size:.8rem;opacity:.6}.calc-breakdown-title{font-size:1.1rem;margin-bottom:1rem}.calc-breakdown{display:flex;flex-direction:column;gap:.75rem}.calc-breakdown-row{display:flex;align-items:center;gap:1rem}.calc-breakdown-info{min-width:180px;display:flex;flex-direction:column}.calc-breakdown-name{font-weight:600;font-size:.9rem}.calc-breakdown-detail{font-size:.78rem;color:#888}.calc-breakdown-bar-container{flex:1;height:8px;background:#f0f0f0;border-radius:4px;overflow:hidden}.calc-breakdown-bar{height:100%;background:#042e30;border-radius:4px;transition:width .3s;min-width:2px}.calc-breakdown-subtotal{font-weight:600;font-size:.9rem;min-width:80px;text-align:right}.calc-loading{text-align:center;color:#888;padding:1rem}.hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;background:none;border:none;cursor:pointer;padding:4px;z-index:11}.hamburger span{display:block;width:24px;height:2px;background:#e6d8c8;border-radius:2px;transition:transform .3s,opacity .3s}.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}@media(max-width:768px){.hamburger{display:flex}.nav-links{display:none;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:#5a5832;padding:1rem 1.5rem;gap:.75rem;border-bottom:1px solid #4a4829;z-index:10}.nav-links.nav-open{display:flex}.navbar{position:relative}.nav-links a,.nav-logout{font-size:1rem;padding:.5rem 0}.main-content{padding:1rem}.page-header{flex-direction:column;align-items:flex-start;gap:.75rem}.page-header .btn-primary{width:100%;text-align:center}.login-card{margin:1rem;padding:1.5rem}.data-table{display:block;overflow-x:auto}.ingredient-grid,.recipe-grid{grid-template-columns:1fr}.recipe-detail{padding:1.25rem}.recipe-detail-header{flex-direction:column;align-items:flex-start;gap:.75rem}.recipe-detail-image img{max-height:250px}.form-row{flex-direction:column}.form-row .form-group{min-width:100%}.form-group input,.form-group select{max-width:100%!important}.step-form-row{flex-wrap:wrap}.step-form-row .form-group{min-width:calc(100% - 70px)}.image-preview img{max-width:100%}.calc-summary{grid-template-columns:1fr}.calc-breakdown-row{flex-wrap:wrap}.calc-breakdown-info{min-width:100%}.calc-breakdown-bar-container{flex:1;min-width:60%}}.fixed-costs-card{margin-bottom:1.5rem}.fixed-costs-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.fixed-costs-header h2{margin:0;font-size:1.1rem}.btn-toggle{background:none;border:1px solid #042e30;color:#042e30;padding:.3rem .8rem;border-radius:6px;cursor:pointer;font-size:.85rem}.btn-toggle:hover{background:#042e30;color:#f5ede4}.fixed-costs-summary{color:#666;font-size:.9rem;margin:0}.fixed-costs-list{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.fixed-cost-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.fixed-cost-input-name{flex:2;min-width:120px}.fixed-cost-input-amount{flex:1;min-width:80px}.fixed-cost-name{flex:2;font-weight:500}.fixed-cost-amount{flex:1;text-align:right;font-weight:600;color:#042e30}.btn-edit-sm,.btn-save-sm,.btn-cancel-sm{padding:.25rem .6rem;border-radius:4px;border:none;cursor:pointer;font-size:.8rem}.btn-edit-sm{background:#e8f0e0;color:#042e30}.btn-save-sm{background:#042e30;color:#f5ede4}.btn-cancel-sm{background:#eee;color:#666}.fixed-cost-bar{background:#8b6f47!important}.fixed-cost-add{padding-top:.5rem;border-top:1px solid #eee}
