:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-family:system-ui,-apple-system,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0}.app-shell{flex-direction:column;height:100dvh;display:flex}.app-content{flex-direction:column;flex:1;min-height:0;padding:1rem 1rem 4.5rem;display:flex;overflow-y:auto}.app-content:has(.fab){padding-bottom:9.5rem}.screen{flex-direction:column;gap:.75rem;width:100%;max-width:480px;margin:0 auto;display:flex}.screen,.screen>*{flex-shrink:0}.screen label{flex-direction:column;gap:.25rem;font-size:.9rem;display:flex}.screen label input,.screen label textarea,.screen label select{font:inherit;color:inherit;background:0 0;border:1px solid #ddd;border-radius:8px;padding:.6rem .75rem}.bottom-nav{background:canvas;border-top:1px solid #ccc;justify-content:space-around;padding:.5rem 0;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav a{color:inherit;opacity:.5;justify-content:center;align-items:center;padding:.4rem;line-height:1;text-decoration:none;display:flex}.bottom-nav a.active{opacity:1}.nav-icon{width:1.5rem;height:1.5rem}@media (prefers-color-scheme:dark){.dark-invert{filter:invert()}}:root[data-theme=dark] .dark-invert{filter:invert()}:root[data-theme=light] .dark-invert{filter:none}.home-date{text-transform:capitalize;opacity:.6;margin:0;font-size:.9rem}.card{border:1px solid #ddd;border-radius:12px;padding:1.25rem}.card-label{opacity:.7;margin:0 0 .25rem;font-size:.85rem}.calorie-target{margin:0 0 1rem;font-size:2.25rem;font-weight:700}.calorie-target span{opacity:.7;font-size:1rem;font-weight:400}.macro-row{justify-content:space-between;gap:.5rem;display:flex}.macro-item{flex-direction:column;flex:1;align-items:center;display:flex}.macro-value{font-weight:600}.macro-label{opacity:.6;font-size:.75rem}.week-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.week-header h1{text-transform:capitalize;text-align:center;margin:0;font-size:1.1rem}.week-header button{background:0 0;border:1px solid #ddd;border-radius:8px;width:2.25rem;height:2.25rem;font-size:1.1rem}.screen--wide{flex:1;max-width:100%;min-height:0}.week-grid-scroll{flex:1;min-height:0;margin:0 -1rem;padding:0 1rem;overflow-x:auto}.week-grid{grid-template-rows:1fr;grid-template-columns:repeat(7,minmax(130px,1fr));gap:.5rem;height:100%;display:grid}.day-column{border:1px solid #ddd;border-radius:12px;flex-direction:column;gap:.4rem;min-width:0;height:100%;padding:.6rem;display:flex}.day-column-header{flex-direction:column;gap:.15rem;margin-bottom:.25rem;display:flex}.day-name{text-transform:capitalize;font-size:.85rem;font-weight:600}.day-total{font-size:.85rem}.day-total--ok{color:#2ecc71}.day-total--warn{color:#f39c12}.day-total--over{color:#e74c3c}.meal-slot{color:inherit;border-radius:8px;flex-direction:column;flex:1;gap:.1rem;min-height:3.2rem;padding:.4rem .5rem;font-size:.75rem;text-decoration:none;display:flex}.meal-slot--filled{background:color-mix(in srgb, canvasText 6%, transparent)}.meal-slot--empty{opacity:.7;border:1px dashed #ccc;flex-direction:row;justify-content:center;align-items:center;gap:.35rem}.meal-slot-type{opacity:.7;font-size:.7rem;font-weight:600}.meal-slot-kcal{opacity:.7}.checkbox-label{align-items:center;flex-direction:row!important;gap:.5rem!important}.kind-toggle{gap:.5rem;display:flex}.kind-toggle button{color:inherit;background:0 0;border:1px solid #ddd;border-radius:8px;flex:1;padding:.6rem}.kind-toggle button.active{border-color:#2ecc71}.kind-toggle button{justify-content:center;align-items:center;display:flex}.kind-toggle img{width:1.75rem;height:1.75rem}.difficulty-icon{vertical-align:middle;background-color:currentColor;width:1.1rem;height:1.1rem;display:inline-block;-webkit-mask-image:url(/icons/recipes/chef-hat.svg);mask-image:url(/icons/recipes/chef-hat.svg);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.difficulty-icon--EASY{color:#2ecc71}.difficulty-icon--MEDIUM{color:#f39c12}.difficulty-icon--HARD{color:#e74c3c}.icon-field{align-items:center;gap:.6rem;display:flex}.icon-field-icon{flex-shrink:0;width:1.5rem;height:1.5rem}.icon-field input{border:1px solid #ddd;border-radius:8px;flex:1;padding:.6rem .75rem}.difficulty-picker{gap:.5rem;display:flex}.difficulty-picker-option{background:0 0;border:1px solid #ddd;border-radius:8px;flex:1;justify-content:center;align-items:center;padding:.6rem;display:flex}.difficulty-picker-option .difficulty-icon{width:1.5rem;height:1.5rem}.difficulty-picker-option--EASY.active{color:#2ecc71;background:#2ecc711f;border-color:#2ecc71}.difficulty-picker-option--MEDIUM.active{color:#f39c12;background:#f39c121f;border-color:#f39c12}.difficulty-picker-option--HARD.active{color:#e74c3c;background:#e74c3c1f;border-color:#e74c3c}.search-input{border:1px solid #ddd;border-radius:8px;padding:.6rem .75rem;font-size:.95rem}.empty-state{opacity:.6;text-align:center;padding:1rem 0;font-size:.9rem}.recipe-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.recipe-list-item{border:1px solid #ddd;border-radius:10px;align-items:center;gap:.5rem;padding:.75rem;display:flex}.recipe-list-link{color:inherit;flex-direction:column;flex:1;gap:.25rem;min-width:0;text-decoration:none;display:flex}.recipe-name{font-weight:600}.recipe-meta{opacity:.75;flex-wrap:wrap;gap:.5rem;font-size:.8rem;display:flex}.recipe-badges{opacity:.8;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.85rem;display:flex}.badge{border:1px solid #ddd;border-radius:999px;padding:.1rem .6rem;font-size:.75rem}.badge--healthy{color:#2ecc71;border-color:#2ecc71}.icon-button{color:inherit;background:0 0;border:none;justify-content:center;align-items:center;padding:.4rem;font-size:1.1rem;line-height:1;text-decoration:none;display:inline-flex}.icon-button-svg{width:1.1rem;height:1.1rem;display:block}.button-primary{color:#fff;background:#2ecc71;border:none;border-radius:8px;justify-content:center;align-items:center;gap:.4rem;padding:.7rem;font-size:1rem;font-weight:600;display:flex}.button-primary-plus{font-size:1.2rem;line-height:1}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.modal-card{color:canvastext;background:canvas;border-radius:12px;flex-direction:column;gap:1.25rem;width:100%;max-width:320px;padding:1.5rem;display:flex;box-shadow:0 8px 24px #0000004d}.modal-card p{margin:0}.modal-actions{gap:.75rem;display:flex}.modal-button{color:#fff;border:none;border-radius:8px;flex:1;padding:.6rem;font-weight:600}.modal-button--yes{background:#2ecc71}.modal-button--no{background:#e74c3c}.detail-actions{gap:1rem;display:flex}.fab{color:#fff;background:#2ecc71;border-radius:50%;justify-content:center;align-items:center;width:3.25rem;height:3.25rem;font-size:1.75rem;text-decoration:none;display:flex;position:fixed;bottom:5.5rem;right:1.25rem;box-shadow:0 2px 8px #00000040}.ingredient-picker{border:1px solid #ddd;border-radius:10px;flex-direction:column;gap:.5rem;padding:.75rem;display:flex}.ingredient-picker input{border:1px solid #ddd;border-radius:8px;padding:.5rem .6rem}.ingredient-suggestions{border:1px solid #ddd;border-radius:8px;margin:0;padding:0;list-style:none;overflow:hidden}.ingredient-suggestions li button{text-align:left;background:0 0;border:none;border-bottom:1px solid #eee;width:100%;padding:.5rem .6rem}.ingredient-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.ingredient-row{align-items:center;gap:.5rem;display:flex}.ingredient-row-name{flex:1;min-width:0}.ingredient-row input{border:1px solid #ddd;border-radius:6px;width:4.5rem;padding:.35rem}.nutrition-table{border-collapse:collapse;width:100%;font-size:.85rem}.nutrition-table th,.nutrition-table td{text-align:right;padding:.3rem .4rem}.nutrition-table th:first-child,.nutrition-table td:first-child{text-align:left}.button-row{gap:.5rem;display:flex}.button-row a,.button-row button{text-align:center;color:inherit;background:0 0;border:1px solid #ddd;border-radius:8px;flex:1;padding:.6rem;text-decoration:none}
