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}.app{background:#f5f5f5;min-height:100vh}.app.loading{align-items:center;display:flex;justify-content:center}.guest-shell{background:#f5f5f5}.guest-shell,.login-screen{display:flex;flex-direction:column;min-height:100vh}.login-screen{align-items:center;justify-content:center;padding:20px;text-align:center}.login-container{max-width:400px;width:100%}.login-logo{border-radius:18px;box-shadow:0 8px 18px #0003;height:84px;margin-bottom:8px;object-fit:cover;width:84px}.login-screen h1{color:#2c3e50;font-size:2.5em;margin-bottom:10px}.login-form{display:flex;flex-direction:column;gap:10px;margin-top:20px;width:100%}.login-form input{border:1px solid #bdc3c7;border-radius:4px;font-size:1em;padding:12px}.google-login-block{margin-top:14px}.separator{margin:10px 0 12px;position:relative;text-align:center}.separator:before{border-top:1px solid #d5dbdb;content:"";left:0;position:absolute;right:0;top:50%;transform:translateY(-50%)}.separator span{background:#f5f5f5;color:#7f8c8d;font-size:.9em;padding:0 10px;position:relative;z-index:1}.google-button-wrap{display:flex;justify-content:center}.login-warmup{color:#7f8c8d;font-size:.92em;margin:10px 0 0}.header{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 8px #0000001a;color:#fff;gap:12px;justify-content:space-between;padding:20px}.brand,.header{align-items:center;display:flex}.brand{gap:10px}.brand-text{display:flex;flex-direction:column;line-height:1.1}.brand-subtitle{font-size:.8em;margin:2px 0 0;opacity:.9}.brand-logo{border-radius:10px;box-shadow:0 4px 10px #00000040;height:40px;object-fit:cover;width:40px}.header h1{margin:0}.header-right{align-items:center;display:flex;gap:15px}.header-right p{font-size:.9em;margin:0}.user-chip{align-items:center;background:#ffffff24;border:1px solid #ffffff47;border-radius:999px;display:flex;gap:8px;padding:6px 9px}.user-chip-btn{border:none;cursor:pointer}.user-menu{position:relative}.user-caret{font-size:.72em;opacity:.9}.user-dropdown{background:#fff;border:1px solid #e1e7ef;border-radius:10px;box-shadow:0 10px 20px #0000002e;display:none;min-width:180px;padding:6px;position:absolute;right:0;top:calc(100% + 8px);z-index:200}.user-dropdown.open{display:block}.dropdown-item{background:#fff;border:none;border-radius:8px;color:#2c3e50;font-size:.9em;padding:8px 10px;text-align:left;width:100%}.dropdown-item:hover{background:#f2f6fb}.dropdown-item.danger{color:#c0392b}.user-avatar,.user-avatar-fallback{align-items:center;background:#fff;border-radius:50%;color:#455a64;display:inline-flex;font-size:.86em;font-weight:700;height:30px;justify-content:center;object-fit:cover;width:30px}.user-meta{display:flex;flex-direction:column;line-height:1.1;min-width:0}.user-meta strong{font-size:.84em}.user-meta span,.user-meta strong{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-meta span{font-size:.72em;opacity:.85}.install-prompt{align-items:center;display:flex;gap:8px}.install-btn{background:linear-gradient(135deg,#ffcf6e,#ff9f45);border:1px solid #ffffff73;border-radius:999px;box-shadow:0 4px 12px #00000038;color:#4b2a00;font-size:.86em;font-weight:700;padding:8px 14px}.install-btn:hover{background:linear-gradient(135deg,#ffd988,#ffad5f);transform:translateY(-1px)}.install-btn.open-btn{background:linear-gradient(135deg,#fff,#ffe3b8)}.install-hint{font-size:.8em;margin:0;max-width:220px;opacity:.9}.btn-logout{background:#fff3;border:1px solid #fff6;border-radius:4px;color:#fff;cursor:pointer;font-size:.9em;padding:8px 12px}.btn-logout:hover{background:#ffffff4d}.toggle-auth{font-size:.95em;margin-top:20px;text-align:center}.link-button{background:none;border:none;color:#667eea;cursor:pointer;font-size:1em;font-weight:500;padding:0;text-decoration:underline}.link-button:hover{color:#764ba2}.page h2{color:#2c3e50;margin-bottom:20px}button{border:none;border-radius:4px;cursor:pointer;font-size:1em;font-weight:500;padding:10px 20px;transition:all .3s ease}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.btn-secondary{background:#ecf0f1;color:#2c3e50}.btn-secondary:hover{background:#d5dbdb}.btn-delete{background:#e74c3c;color:#fff;font-size:.9em;padding:5px 10px}.btn-delete:hover{background:#c0392b}.btn-completed{background:#27ae60;color:#fff;cursor:default}.btn-change{background:#f39c12;color:#fff;flex:1 1;font-size:.9em;padding:10px 15px}.btn-change:hover:not(:disabled){background:#e67e22}.error{background:#fadbd8;color:#c0392b}.error,.success{border-radius:4px;margin-bottom:15px;padding:10px}.success{background:#d5f4e6;color:#27ae60}.alert{background:#fff3cd;border-radius:4px;color:#856404;margin-bottom:15px;padding:15px}.menu-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(7,minmax(260px,1fr));margin-top:20px;overflow-x:auto;padding-bottom:8px}.day-column{border-right:1px solid #dfe6e9;min-width:280px;padding-right:10px}.day-column:last-child{border-right:none}.day-title{color:#2c3e50;font-size:1.1em;margin:0 0 10px}.empty-day{color:#95a5a6;font-size:.9em}.meal-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:15px}.meal-type{background:#ecf0f1;border-radius:4px;display:inline-block;font-size:.85em;margin-bottom:10px;padding:4px 8px}.meal-card h4{color:#2c3e50;margin:10px 0}.meal-meta{color:#7f8c8d;display:flex;font-size:.85em;gap:10px;margin-bottom:8px}.meal-meta span{background:#ecf0f1;border-radius:3px;padding:2px 6px}.ingredients{color:#7f8c8d;font-size:.9em;margin-bottom:10px}.ingredient-details{background:#f8f9fa;border-radius:4px;margin-bottom:10px;padding:10px}.ingredient-details summary{color:#4a69bd;cursor:pointer;font-weight:500;-webkit-user-select:none;user-select:none}.ingredient-details ul{margin:8px 0 0 18px;padding:0}.ingredient-details li{color:#2c3e50;font-size:.88em;margin:4px 0}.recipe-steps{background:#f8f9fa;border-radius:4px;margin-bottom:10px;padding:10px}.recipe-steps summary{color:#667eea;cursor:pointer;font-weight:500;-webkit-user-select:none;user-select:none}.recipe-steps ol{margin:10px 0 0 20px;padding:0}.recipe-steps li{color:#2c3e50;font-size:.9em;margin:5px 0}.recipe-tips{border-top:1px dashed #d5dbdb;margin-top:10px;padding-top:8px}.recipe-tips ul{margin:6px 0 0 18px;padding:0}.recipe-tips li{color:#566573;font-size:.88em;margin:4px 0}.manual-meal-row,.meal-actions{display:flex;gap:8px;margin-top:10px}.manual-meal-row{flex-wrap:wrap}.manual-meal-row input{border:1px solid #bdc3c7;border-radius:4px;flex:1 1;min-width:180px;padding:8px}.manual-meal-row button{white-space:nowrap}.items-container{display:flex;flex-direction:column;gap:10px}.shopping-item{align-items:center;background:#fff;border-radius:6px;box-shadow:0 1px 4px #0000000d;display:flex;gap:10px;padding:12px}.shopping-item.checked{opacity:.6;text-decoration:line-through}.shopping-item input[type=checkbox]{cursor:pointer;height:20px;width:20px}.item-info{display:flex;flex:1 1;flex-direction:column;gap:4px}.item-name{color:#2c3e50;font-weight:500}.item-qty{color:#7f8c8d;font-size:.85em}.item-controls{align-items:center;display:flex;gap:8px}.item-controls input{border:1px solid #bdc3c7;border-radius:4px;padding:6px;text-align:right;width:80px}.stock-items{grid-gap:10px;display:grid;gap:10px;margin-top:20px}.stock-item{align-items:center;background:#fff;border-radius:6px;box-shadow:0 1px 4px #0000000d;display:flex;justify-content:space-between;padding:15px}.stock-item .item-info{flex:1 1}.stock-edit-row{align-items:center;display:flex;gap:8px}.stock-edit-row input,.stock-edit-row select{border:1px solid #bdc3c7;border-radius:4px;padding:6px}.stock-actions{align-items:center;display:flex;gap:8px}.add-item-form{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.add-item-form input,.add-item-form select{border:1px solid #bdc3c7;border-radius:4px;font-size:1em;padding:10px}.add-item-form input{flex:1 1;min-width:150px}.add-item-form select{min-width:100px}.preference-section{background:#fff;border-radius:8px;box-shadow:0 1px 4px #0000000d;margin-bottom:20px;padding:20px}.preference-section.checkbox{padding:15px}.preference-section.checkbox label{align-items:center;cursor:pointer;display:flex;font-weight:500;gap:10px}.preference-section h3{color:#2c3e50;margin-top:0}.preference-section select{border:1px solid #bdc3c7;border-radius:4px;font-size:1em;padding:10px;width:100%}.dietary-info{color:#566573;font-size:.92em;margin-bottom:0;margin-top:10px}.menu-persons{color:#5d6d7e;margin-bottom:15px;margin-top:-10px}.ad-container{background:#fff;border-bottom:1px solid #ecf0f1;border-top:1px solid #ecf0f1;padding:8px 12px}.app-footer{grid-gap:14px;align-items:center;background:#fff;border-top:1px solid #dfe6e9;display:grid;gap:14px;grid-template-columns:1fr auto 1fr;margin-top:20px;padding:18px 16px}.footer-col{min-width:0}.footer-left{justify-self:start}.footer-center{justify-self:center;text-align:center}.footer-right{justify-self:end}.footer-brand{align-items:center;display:flex;gap:10px}.footer-logo{border-radius:10px;height:42px;object-fit:cover;width:42px}.footer-brand p{color:#5d6d7e;font-size:.88em}.footer-legal{display:flex;flex-direction:column;gap:6px}.footer-legal a{color:#2c3e50;font-size:.9em;font-weight:600;text-decoration:none}.footer-legal a:hover{text-decoration:underline}.footer-contact{display:flex;flex-wrap:nowrap;gap:10px}.footer-contact a{color:#2c3e50;text-decoration:none}.social-icon{align-items:center;background:#f8fafc;border:1px solid #f39c12;border-radius:50%;color:#f08b00;display:inline-flex;height:34px;justify-content:center;transition:all .2s ease;width:34px}.footer-contact a:hover .social-icon{background:#fff3e2;border-color:#e67e22;color:#d46a00;transform:translateY(-1px)}.legal-page{background:#fff;border:1px solid #e8edf2;border-radius:10px;margin:16px;padding:18px}.legal-page h2{margin-top:0}.legal-page p{color:#4d5e70;line-height:1.5}.input-group{display:flex;gap:10px;margin-bottom:10px}.input-group input{border:1px solid #bdc3c7;border-radius:4px;flex:1 1;font-size:1em;padding:10px}.tags{flex-wrap:wrap}.tag,.tags{display:flex;gap:8px}.tag{align-items:center;background:#667eea;border-radius:20px;color:#fff;font-size:.9em;padding:6px 12px}.tag button{background:none;border:none;color:#fff;cursor:pointer;font-size:1em;opacity:.8;padding:0}.tag button:hover{opacity:1}.bottom-nav{background:#fff;border-top:1px solid #ecf0f1;bottom:0;box-shadow:0 -2px 8px #0000001a;display:flex;justify-content:space-around;padding:0;position:-webkit-sticky;position:sticky;z-index:100}.bottom-nav a{border-bottom:3px solid #0000;color:#7f8c8d;flex:1 1;padding:15px;text-align:center;text-decoration:none;transition:all .3s ease}.bottom-nav a.active,.bottom-nav a:hover{background:#f8f9fa;border-bottom-color:#667eea;color:#667eea}@media (max-width:768px){.menu-grid{grid-template-columns:1fr;overflow-x:visible}.day-column{border-bottom:1px solid #dfe6e9;border-right:none;padding-bottom:8px;padding-right:0}.add-item-form{flex-direction:column}.add-item-form input,.add-item-form select,.preference-section select{width:100%}.input-group{flex-direction:column}.input-group input{width:100%}.header{flex-wrap:wrap;padding:15px}.header h1{font-size:1.8em}.header-right{flex-wrap:wrap;justify-content:space-between;row-gap:8px;width:100%}.user-chip{flex:1 1;min-width:200px;order:2}.install-hint{max-width:100%}.footer-contact{flex-wrap:wrap;justify-content:center}.app-footer{grid-template-columns:1fr;text-align:center}.footer-center,.footer-left,.footer-right{justify-self:center}}.footer-brand p{margin:2px 0 0}.footer-brand p a{color:inherit;text-decoration:underline}.App{background:linear-gradient(135deg,#667eea,#764ba2);display:flex;flex-direction:column;min-height:100vh;text-align:center}.App-header{background-color:#0000001a;color:#fff;padding:20px}.App-header h1{font-size:32px;font-weight:700;margin:0}.App-content{flex:1 1;padding:20px}
/*# sourceMappingURL=main.59b3fb2d.css.map*/