body{margin:0}.app-container{min-height:100vh;background-color:#111827;color:#d1d5db;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.navbar{background-color:#1f2937;padding:.25rem .75rem;border-bottom:1px solid #374151}.navbar-content{max-width:1280px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;min-height:0;flex-wrap:wrap;gap:.75rem}.nav-links{display:flex;gap:.5rem;align-items:center;flex:1 1 auto;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;-ms-overflow-style:none;scrollbar-width:none;padding-bottom:.25rem}.nav-links::-webkit-scrollbar{display:none}.navbar-logo-link{display:flex;align-items:center;padding:0;margin-right:.5rem}.nav-link-text{margin-left:.375rem;display:inline}@media (max-width: 1150px){.nav-link-text{display:none}.nav-link.active .nav-link-text{display:inline}.nav-link{padding:.25rem .5rem;min-width:auto}}.nav-link{color:#9ca3af;padding:0 1rem;border-radius:.375rem;text-decoration:none;font-size:1rem;font-weight:500;transition:all .2s ease-in-out;line-height:1;display:inline-flex;align-items:center;height:2rem}.nav-link:hover{background-color:#374151;color:#fff}.nav-link.active{background-color:#4f46e5;color:#fff}.main-content{padding:1rem}.page-container{max-width:1280px;margin:0 auto;padding:1.5rem;background-color:#1f2937;border-radius:.5rem}.dashboard-header-container{display:flex;flex-direction:column;justify-content:space-between;align-items:center;margin-bottom:1.5rem;gap:1rem}@media (min-width: 768px){.dashboard-header-container{flex-direction:row;align-items:center}}.dashboard-controls-inline{display:flex;flex-direction:row;gap:.5rem;align-items:center;flex-wrap:wrap;justify-content:center}.dashboard-header{font-size:2rem;font-weight:700;margin:0;background:linear-gradient(135deg,#60a5fa,#3b82f6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.view-mode-toggle{display:flex;gap:.25rem;background-color:#1f2937;padding:.25rem;border-radius:.5rem;border:1px solid #374151;width:fit-content}.view-mode-button{background-color:transparent;color:#9ca3af;font-weight:500;padding:.375rem .5rem;border-radius:.375rem;border:none;cursor:pointer;transition:all .2s ease-in-out;font-size:.875rem;min-width:auto;display:flex;align-items:center;justify-content:center}.view-mode-button:hover{background-color:#374151;color:#e5e7eb}.view-mode-button.active{background-color:#3b82f6;color:#fff;font-weight:600;box-shadow:0 2px 4px #3b82f64d}.dashboard-navigation{display:flex;gap:.25rem;background-color:#1f2937;padding:.25rem;border-radius:.5rem;border:1px solid #374151}.dashboard-nav-button{background-color:transparent;color:#d1d5db;font-weight:500;padding:.375rem .5rem;border-radius:.375rem;border:none;cursor:pointer;transition:all .2s ease-in-out;font-size:.875rem}.dashboard-nav-button:hover{background-color:#374151;color:#fff}@media (max-width: 640px){.dashboard-controls-inline{gap:.375rem}.view-mode-toggle{padding:.25rem;gap:.25rem}.view-mode-button{width:2.5rem;height:2.5rem;padding:.45rem;font-size:.9rem;min-width:0;min-height:0;justify-content:center}.dashboard-navigation{padding:.2rem;gap:.2rem}.dashboard-nav-button{padding:.375rem .625rem;font-size:.8125rem}}.dashboard-date{text-align:center;font-size:1.5rem;font-weight:600;color:#e5e7eb;margin-bottom:1.25rem;padding:.875rem 1.5rem;background:#3b82f614;border-radius:.75rem;border:2px dashed rgba(59,130,246,.3);display:flex;align-items:center;justify-content:center;gap:.5rem;flex-wrap:wrap}.dashboard-date-emoji{font-size:2rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.dashboard-date-text{font-size:1.25rem;font-weight:600;color:#60a5fa;line-height:1.2}.dashboard-meals-section{margin-bottom:1.5rem;padding:1rem;background:#1f2937;border-radius:.5rem}.dashboard-section-title{font-size:.8125rem;font-weight:700;color:#9ca3af;margin-bottom:.75rem;padding-bottom:.5rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #374151}.dashboard-meals-list{display:flex;flex-wrap:wrap;gap:.75rem}.dashboard-meal-chip{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;padding:.5rem 1rem;border-radius:9999px;font-size:.875rem;font-weight:600;border:1px solid #2563eb;transition:all .2s ease-in-out}.dashboard-meal-chip:hover{box-shadow:0 4px 12px #3b82f666}.nutrition-summary-wrapper{margin-top:2rem;padding:1.5rem;background:linear-gradient(135deg,#1f2937,#1a2332);border-radius:.5rem;border:1px solid #374151;box-shadow:0 2px 8px #0003}.nutrition-summary-header{font-size:1.25rem;font-weight:700;color:#e5e7eb;margin-bottom:1.5rem;margin-top:0}.dashboard-nutrients-section{margin-bottom:1.5rem}.dashboard-nutrients-section:last-child{margin-bottom:0}.nutrient-bars-grid{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:.5rem}@media (min-width: 768px){.nutrient-bars-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.625rem}}@media (min-width: 1024px){.nutrient-bars-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.nutrient-bar-container{margin-bottom:0}.nutrient-bar-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.25rem;gap:.5rem}.nutrient-bar-label{font-size:.8125rem;font-weight:600;color:#e5e7eb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nutrient-bar-value{font-size:.6875rem;color:#9ca3af;font-weight:500;white-space:nowrap;flex-shrink:0}.nutrient-bar-track{height:1.5rem;background-color:#374151;border-radius:.375rem;overflow:visible;position:relative;border:1px solid #4b5563}.nutrient-bar-fill{height:100%;display:flex;align-items:center;justify-content:flex-end;padding-right:.5rem;transition:width .5s ease-in-out,background-color .3s ease-in-out;border-radius:.375rem;position:relative}.nutrient-bar-percentage{font-size:.6875rem;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5);white-space:nowrap}.nutrient-bar-percentage-outside{position:absolute;left:.375rem;top:50%;transform:translateY(-50%);font-size:.6875rem;font-weight:700;color:#e5e7eb;white-space:nowrap}.dashboard-empty{text-align:center;padding:4rem 2rem;background:linear-gradient(135deg,#1f2937,#1a2332);border-radius:.75rem;border:1px solid #374151}.no-meals-message{font-size:1.25rem;color:#9ca3af;margin-bottom:.5rem}.no-meals-hint{font-size:.875rem;color:#6b7280;font-style:italic}.ingredients-header{font-size:2rem;font-weight:700;margin-bottom:1.5rem;flex-shrink:0;background:linear-gradient(135deg,#60a5fa,#3b82f6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@media (max-width: 768px){.ingredients-header{font-size:1.125rem;margin-bottom:1rem}}.ingredients-controls{display:flex;flex-direction:column;justify-content:space-between;align-items:center;margin-bottom:1rem;background-color:#1f2937;padding:.75rem;border-radius:.5rem;gap:1rem;flex-shrink:0}@media (max-width: 768px){.ingredients-controls{padding:.625rem;gap:.75rem;margin-bottom:.75rem}}@media (min-width: 768px){.ingredients-controls{flex-direction:row}}.search-input-container{flex:1;width:100%}@media (min-width: 768px){.search-input-container{width:auto}}.search-input{background-color:#374151;color:#fff;padding:.5rem;border-radius:.25rem;width:100%;border:1px solid #4b5563;font-size:1rem}@media (max-width: 768px){.search-input{padding:.75rem}}.button-group{display:flex;gap:.5rem;width:100%}@media (min-width: 768px){.button-group{width:auto}}.add-button{background-color:#3b82f6;color:#fff;font-weight:600;padding:.5rem 1rem;border-radius:.25rem;border:none;cursor:pointer;transition:background-color .2s ease-in-out;white-space:nowrap}@media (max-width: 768px){.add-button{width:100%;padding:.75rem 1rem;font-size:1rem}}@media (min-width: 768px){.add-button{margin-left:1rem}}.add-button:hover{background-color:#2563eb}.ai-input-group{flex:1;display:flex;gap:.5rem}.ai-input{flex:1;background-color:#374151;color:#fff;padding:.5rem;border-radius:.25rem;border:1px solid #4b5563}.generate-button{background-color:#8b5cf6;color:#fff;font-weight:600;padding:.5rem 1rem;border-radius:.25rem;border:none;cursor:pointer;transition:background-color .2s ease-in-out}.generate-button:hover{background-color:#7c3aed}.meals-header{font-size:2rem;font-weight:700;margin-bottom:1.5rem;background:linear-gradient(135deg,#60a5fa,#3b82f6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.meals-controls{display:flex;flex-direction:column;justify-content:space-between;align-items:center;margin-bottom:2rem;gap:1rem;background-color:#1f2937;padding:1rem;border-radius:.75rem;border:1px solid #374151}@media (min-width: 768px){.meals-controls{flex-direction:row}}.add-meal-button{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;font-weight:600;padding:.625rem 1.25rem;border-radius:.5rem;border:1px solid #2563eb;cursor:pointer;width:100%;transition:all .2s ease-in-out;letter-spacing:.025em;font-size:.875rem}@media (min-width: 768px){.add-meal-button{width:auto;margin-left:1rem}}.add-meal-button:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.meals-grid{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:1.25rem}@media (min-width: 768px){.meals-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1024px){.meals-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.meals-table-container{margin-top:1rem}.meals-row-list{display:flex;flex-direction:column;gap:.5rem}.meal-row{display:grid;grid-template-columns:minmax(150px,2fr) minmax(150px,1fr) auto auto;gap:1rem;align-items:center;padding:.75rem 1rem;background:linear-gradient(135deg,#1f2937,#111827);border-radius:.5rem;border:1px solid #374151;transition:all .2s ease-in-out}.meal-row:hover{background:linear-gradient(135deg,#374151,#1f2937);border-color:#4b5563;transform:translate(4px)}.meal-row-name{font-weight:600;font-size:.9375rem;color:#e5e7eb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meal-row-ingredients{color:#9ca3af;font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meal-row-macros{display:flex;gap:.375rem;align-items:center;white-space:nowrap;flex-wrap:nowrap}.meal-row-macro{display:inline-flex;align-items:center;gap:.2rem;padding:.25rem .5rem;border-radius:9999px;font-size:.7rem;font-weight:600;letter-spacing:.01em}.meal-row-macro:first-child{background:#9ca3af26;color:#9ca3af;border:1px solid rgba(156,163,175,.25)}.meal-row-macro:nth-child(2){background:#10b98126;color:#10b981;border:1px solid rgba(16,185,129,.25)}.meal-row-macro:nth-child(3){background:#3b82f626;color:#3b82f6;border:1px solid rgba(59,130,246,.25)}.meal-row-macro:nth-child(4){background:#f59e0b26;color:#f59e0b;border:1px solid rgba(245,158,11,.25)}.meal-row-actions{display:flex;justify-content:flex-start;gap:.5rem;align-items:center;flex-wrap:nowrap}@media (max-width: 1200px){.meal-row{grid-template-columns:minmax(120px,1fr) minmax(150px,1.5fr) auto;gap:.75rem 1rem}.meal-row-actions{grid-column:1 / -1;justify-content:flex-start}}@media (max-width: 900px){.meal-row{grid-template-columns:minmax(120px,1fr) minmax(150px,2fr);gap:.5rem 1rem}.meal-row-macros{grid-column:1 / -1;gap:.5rem}.meal-row-actions{grid-column:1 / -1}}@media (max-width: 640px){.meal-row{grid-template-columns:1fr;gap:.5rem}.meal-row-macros{flex-wrap:wrap}.meal-row-macro{font-size:.8125rem}}.empty-state{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;background:linear-gradient(135deg,#3b82f614,#2563eb0d);border-radius:.75rem;border:2px dashed rgba(59,130,246,.3)}.empty-state-icon{font-size:4rem;margin-bottom:1rem;opacity:.9}.empty-state-title{font-size:1.75rem;font-weight:700;color:#e5e7eb;margin-bottom:.75rem;background:linear-gradient(135deg,#60a5fa,#3b82f6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.empty-state-description{font-size:1rem;color:#9ca3af;margin-bottom:1.5rem;max-width:32rem;line-height:1.5}.empty-state-button{padding:.75rem 1.5rem;font-size:1rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:.5rem;cursor:pointer;transition:all .2s ease-in-out;box-shadow:0 2px 8px #3b82f64d}.empty-state-button:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.meal-card{background:linear-gradient(135deg,#1f2937,#1a2332);border-radius:.75rem;padding:1.25rem;display:flex;flex-direction:column;justify-content:space-between;border:1px solid #374151;transition:all .2s ease-in-out;min-height:280px}.meal-card:hover{border-color:#4b5563;box-shadow:0 12px 24px #0006}.meal-card-header{font-size:1.375rem;font-weight:700;margin-bottom:1rem;color:#e5e7eb;border-bottom:2px solid #374151;padding-bottom:.75rem;padding-right:3rem}.meal-ingredients-list{margin-bottom:1rem;list-style:none;padding:0;flex:1}.meal-ingredient-item{display:flex;justify-content:space-between;margin-bottom:.5rem;padding:.5rem .75rem;background-color:#374151;border-radius:.375rem;font-size:.875rem;border-left:3px solid #60a5fa;transition:all .15s ease-in-out}.meal-ingredient-item:hover{background-color:#4b5563;border-left-color:#3b82f6}.meal-ingredient-item span:first-child{color:#e5e7eb;font-weight:500}.meal-ingredient-item span:last-child{color:#9ca3af;font-weight:600}.meal-totals-section{border-top:2px solid #374151;padding-top:.75rem;margin-top:auto;background:linear-gradient(135deg,#60a5fa0d,#3b82f60d);margin-left:-1.25rem;margin-right:-1.25rem;margin-bottom:-1.25rem;padding:1rem 1.25rem;border-radius:0 0 .75rem .75rem}.meal-totals-header{font-weight:600;margin-bottom:.75rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:#9ca3af}.meal-totals-content{display:flex;flex-direction:column;gap:.75rem}.meal-totals-macros{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.625rem}@media (min-width: 640px){.meal-totals-macros{grid-template-columns:repeat(3,minmax(0,1fr))}}.settings-card{border:1px solid rgba(59,130,246,.35);border-radius:1rem;background:#0f172ae6;box-shadow:0 18px 40px #0f172a8c;margin-bottom:2rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.settings-tabs-bar{display:flex;gap:.5rem;padding:1rem 1.25rem 0;border-bottom:1px solid rgba(59,130,246,.25);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.settings-tabs-bar::-webkit-scrollbar{display:none}.settings-tab-button{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.75rem 1.5rem;background:#11182799;border:1px solid rgba(59,130,246,.35);border-bottom:1px solid rgba(59,130,246,.15);border-radius:.85rem .85rem 0 0;color:#dbeafe;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;margin-bottom:-1px;min-width:160px;box-shadow:none;white-space:nowrap}.settings-tab-button:hover{background:#2563eb33;border-color:#3b82f673}.settings-tab-button.active{background:linear-gradient(135deg,#3b82f6f2,#2563ebd9);border-bottom:1px solid #111827;color:#f8fafc;box-shadow:0 12px 26px #3b82f659}.settings-tab-label{font-weight:600}.settings-tab-description{font-size:.75rem;font-weight:500;opacity:.85}.settings-tab-panel{padding:clamp(1rem,1vw + .75rem,1.5rem);background:#111827;border-radius:0 0 1rem 1rem}.settings-heading{font-size:1.5rem;font-weight:600;color:#e5e7eb;margin-bottom:1.5rem}.settings-section-stack{display:flex;flex-direction:column;gap:1.35rem}.settings-section-card{padding:clamp(.9rem,.8vw + .7rem,1.25rem);background:#1f2937;border:1px solid #374151;border-radius:.5rem;display:grid;gap:.9rem}.settings-section-title{font-size:1.125rem;font-weight:600;color:#e5e7eb}.settings-section-copy{font-size:.875rem;color:#9ca3af;line-height:1.6}.settings-input-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.settings-input-suffix{color:#9ca3af;font-size:1rem;font-weight:500}.settings-number-input{width:180px;max-width:100%;padding:.65rem .85rem;background:#0f172abf;border:1px solid rgba(59,130,246,.45);border-radius:.5rem;color:#f9fafb;font-size:1rem;font-weight:600;box-shadow:0 6px 18px #1e40af40;transition:border .2s ease,box-shadow .2s ease}.settings-number-input:focus{border-color:#3b82f6bf;box-shadow:0 0 0 2px #3b82f633;outline:none}.settings-number-input--protein{border-color:#10b98173;box-shadow:0 2px 6px #10b9811f}.settings-number-input--energy{border-color:#fbbf2473;box-shadow:0 2px 6px #fbbf241a}.settings-preset-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;gap:1rem;flex-wrap:wrap}.settings-preset-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.rda-guidance-card{margin-bottom:1.75rem;padding:clamp(1rem,.9vw + .85rem,1.5rem);background:linear-gradient(135deg,#1e40af59,#0f766e40);border:1px solid #1e3a8a;border-radius:.75rem;display:grid;gap:1.25rem;box-shadow:0 12px 35px #0f172a73}.settings-guidance-block{display:grid;gap:.5rem}.settings-guidance-label{font-size:.95rem;font-weight:600;color:#e5e7eb;letter-spacing:.02em}.settings-guidance-inline{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.settings-guidance-hint{font-size:.85rem;color:#d1fae5;font-weight:500}.settings-guidance-note{font-size:.8rem;color:#cbd5f5;max-width:40rem;line-height:1.45}.settings-guidance-note--protein{color:#a7f3d0}.settings-guidance-note--energy{color:#fde68a}@media (max-width: 768px){.about-logo-container{min-height:240px;max-height:340px}}@media (max-width: 640px){.settings-card{border-radius:.75rem;box-shadow:0 12px 28px #0f172a73}.settings-tabs-bar{flex-wrap:wrap;justify-content:space-between;gap:.5rem;padding:.55rem;margin:0 0 .35rem;border-bottom:none;background:#0f172ad9;border-radius:.75rem}.settings-tab-button{flex:1 1 calc(33.333% - .5rem);min-width:0;padding:.6rem .5rem;font-size:.85rem;border-radius:.75rem;align-items:center;justify-content:center;background:#111827b3;border:1px solid rgba(59,130,246,.25);box-shadow:inset 0 0 0 1px #3b82f61f}.settings-tab-button.active{border:1px solid rgba(59,130,246,.65);box-shadow:0 10px 20px #2563eb59;background:linear-gradient(135deg,#3b82f6f2,#2563ebe6)}.settings-tab-description{display:none}.settings-tab-panel{border-radius:0 0 .75rem .75rem;padding:clamp(.9rem,2vw + .6rem,1.25rem)}.settings-section-stack{gap:1.1rem}.settings-section-card{padding:clamp(.75rem,1.5vw + .45rem,1.05rem)}.rda-guidance-card{padding:clamp(.85rem,1.5vw + .6rem,1.25rem);gap:.75rem}.settings-preset-header{flex-direction:column;align-items:stretch}.settings-preset-buttons{justify-content:flex-start}.main-content{padding:.4rem}.page-container{padding:.65rem;border-radius:.4rem}.dashboard-header-container{margin-bottom:1rem;gap:.5rem}.dashboard-date{margin-bottom:.9rem}.dashboard-date,.dashboard-meals-section,.nutrition-summary-wrapper{padding:.55rem}.dashboard-meals-section,.nutrition-summary-wrapper{border-radius:.4rem}.dashboard-meals-section{margin-bottom:1rem}.nutrition-summary-header{font-size:1.125rem}.dashboard-date-emoji{font-size:1.5rem}.dashboard-date-text{font-size:1rem}.dashboard-meal-chip{padding:.4rem .85rem;font-size:.8rem}.meals-controls{margin-bottom:1.25rem}.meals-grid{gap:.6rem}.meal-card{padding:.85rem;border-radius:.6rem}.meal-card-header{font-size:1.15rem;padding-right:3rem}.meal-ingredient-item{padding:.45rem .6rem;font-size:.8rem}.week-grid{gap:.6rem}.week-header-container{margin-bottom:1.25rem}}.meal-totals-item-enhanced{display:flex;flex-direction:column;gap:.25rem;padding:.625rem .75rem;background-color:#3b82f61a;border-radius:.375rem;border:1px solid rgba(59,130,246,.2)}.nutrient-label-enhanced{font-size:.6875rem;color:#9ca3af;font-weight:600;text-transform:uppercase;letter-spacing:.025em}.nutrient-value-enhanced{font-size:1rem;color:#e5e7eb;font-weight:700}.meal-totals-divider{height:1px;background:linear-gradient(90deg,transparent 0%,#4b5563 50%,transparent 100%)}.meal-totals-micros{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between}.macro-pill-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.8125rem}.macro-calories{color:#9ca3af}.macro-calories>strong{color:#e5e7eb}.macro-pill{display:inline-flex;align-items:center;gap:.3rem;padding:.35rem .65rem;border-radius:9999px;font-size:.75rem;font-weight:600;letter-spacing:.02em}.macro-pill-label,.macro-pill-value{font-size:.75rem}.macro-pill--protein{background:#10b98126;color:#10b981;border:1px solid rgba(16,185,129,.25)}.macro-pill--carb{background:#3b82f626;color:#3b82f6;border:1px solid rgba(59,130,246,.25)}.macro-pill--fat{background:#f59e0b26;color:#f59e0b;border:1px solid rgba(245,158,11,.25)}.meal-totals-micro-item{display:flex;align-items:baseline;gap:.375rem;padding:.375rem .625rem;background-color:#4b55634d;border-radius:.25rem;border:1px solid rgba(75,85,99,.4);flex:1 1 auto;min-width:fit-content}.micro-label{font-size:.625rem;color:#9ca3af;font-weight:600;text-transform:uppercase}.micro-value{font-size:.75rem;color:#d1d5db;font-weight:600;margin-right:.125rem}.micro-percentage{font-size:.6875rem;color:#60a5fa;font-weight:700;background-color:#3b82f626;padding:.125rem .375rem;border-radius:.25rem;margin-left:auto}.meal-totals-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;font-size:.8125rem;margin-bottom:1rem}.meal-totals-item{margin:0;color:#d1d5db;font-weight:500}.meal-delete-x{position:absolute;top:.75rem;right:.75rem;background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.3);border-radius:.375rem;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;cursor:pointer;transition:all .2s ease-in-out;line-height:1;padding:0;z-index:10}.meal-delete-x:hover{background:#ef444433;border-color:#ef4444;transform:scale(1.1)}.meal-add-to-today{position:absolute;top:.75rem;left:.75rem;background:#10b98126;color:#10b981;border:1px solid rgba(16,185,129,.3);border-radius:.375rem;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;cursor:pointer;transition:all .2s ease-in-out;line-height:1;padding:0;z-index:10}.meal-add-to-today:hover{background:#10b98140;border-color:#10b981;transform:scale(1.1)}.meal-actions{display:flex;justify-content:flex-start;gap:.5rem;margin-top:.75rem}.add-to-today-button{background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-weight:600;padding:.5rem 1rem;border-radius:.375rem;border:1px solid #059669;cursor:pointer;transition:all .2s ease-in-out;font-size:.75rem;line-height:1;text-transform:uppercase;letter-spacing:.025em;height:2.375rem;display:flex;align-items:center;justify-content:center}.add-to-today-button:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-1px);box-shadow:0 4px 8px #10b9814d}.duplicate-button{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;font-weight:600;padding:.5rem .75rem;border-radius:.375rem;border:1px solid #2563eb;cursor:pointer;transition:all .2s ease-in-out;font-size:1.25rem;line-height:1;height:2.375rem;display:flex;align-items:center;justify-content:center}.duplicate-button:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px);box-shadow:0 4px 8px #3b82f64d}.edit-button{background:linear-gradient(135deg,#4b5563,#374151);color:#fff;font-weight:600;padding:.5rem 1rem;border-radius:.375rem;border:1px solid #374151;cursor:pointer;transition:all .2s ease-in-out;text-transform:uppercase;letter-spacing:.025em;font-size:1rem;line-height:1;height:2.375rem;display:flex;align-items:center;justify-content:center}.edit-button:hover{background:linear-gradient(135deg,#374151,#1f2937);transform:translateY(-1px);box-shadow:0 4px 8px #4b55634d}.delete-button{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;font-weight:600;padding:.5rem 1rem;border-radius:.375rem;border:1px solid #dc2626;cursor:pointer;transition:all .2s ease-in-out;text-transform:uppercase;letter-spacing:.025em;font-size:.75rem;height:2.375rem;display:flex;align-items:center;justify-content:center}.delete-button:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-1px);box-shadow:0 4px 8px #ef44444d}.delete-button-row{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;font-weight:600;padding:0;border-radius:.375rem;border:1px solid #dc2626;cursor:pointer;transition:all .2s ease-in-out;font-size:1.25rem;line-height:1;width:2.375rem;height:2.375rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.delete-button-row:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-1px);box-shadow:0 4px 8px #ef44444d}.week-header-container{display:flex;flex-direction:column;justify-content:space-between;align-items:center;margin-bottom:2rem;gap:1rem}@media (min-width: 768px){.week-header-container{flex-direction:row;gap:0}}.week-header{font-size:2rem;font-weight:700;margin:0;background:linear-gradient(135deg,#60a5fa,#3b82f6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.week-navigation{display:flex;gap:.5rem;background-color:#1f2937;padding:.5rem;border-radius:.5rem;border:1px solid #374151}.week-nav-button{background-color:#374151;color:#d1d5db;font-weight:500;padding:.5rem 1rem;border-radius:.375rem;border:1px solid #4b5563;cursor:pointer;transition:all .2s ease-in-out;font-size:.875rem}.week-nav-button:hover{background-color:#4b5563;border-color:#60a5fa;color:#fff;transform:translateY(-1px)}.week-grid{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:.75rem;margin-top:1rem}@media (min-width: 769px){.week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.day-card{background:#1f2937;padding:1rem;border-radius:.5rem;display:flex;flex-direction:column;transition:all .2s ease-in-out;min-height:250px;border:1px solid #374151}.day-card:hover{background:#252f3f}.day-card-today{background:linear-gradient(135deg,#3b82f62e,#2563eb1f),#1f2937;border:2px solid #3b82f6;box-shadow:0 0 20px #3b82f64d}.day-card-today:hover{border-color:#60a5fa;box-shadow:0 0 24px #3b82f666}.day-card-header{font-weight:600;font-size:.875rem;margin-bottom:.75rem;padding-bottom:.5rem;color:#e5e7eb;text-transform:uppercase;letter-spacing:.025em;border-bottom:2px solid #374151}.meal-list{list-style:none;padding:0;margin-bottom:.75rem;flex:1;display:flex;flex-direction:column;gap:.375rem}.meal-list .meal-item{font-size:.8125rem;background-color:#374151;padding:.5rem .75rem;border-radius:.375rem;border-left:3px solid #60a5fa;color:#e5e7eb;transition:all .15s ease-in-out}.meal-list .meal-item:hover{background-color:#4b5563;border-left-color:#3b82f6}.no-meals-message{font-size:.8125rem;color:#6b7280;text-align:center;padding:2rem .5rem;font-style:italic;flex:1;display:flex;align-items:center;justify-content:center}.day-totals-section{border-top:1px solid #374151;margin-top:auto;margin-left:-1rem;margin-right:-1rem;margin-bottom:-1rem;padding:.75rem 1rem 1rem;background:linear-gradient(135deg,#3b82f614,#2563eb0d);border-bottom-left-radius:.5rem;border-bottom-right-radius:.5rem}.day-totals-header{font-weight:600;margin-bottom:.5rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:#9ca3af}.day-totals-grid{font-size:.75rem;line-height:1.5;display:grid;grid-template-columns:1fr 1fr;gap:.375rem}.day-totals-item{margin:0;color:#d1d5db}.day-actions{margin-top:.75rem;display:flex;gap:.5rem}.edit-day-button,.delete-day-button{width:100%;font-weight:600;padding:.5rem;border-radius:.375rem;border:none;cursor:pointer;font-size:.75rem;transition:all .2s ease-in-out;text-transform:uppercase;letter-spacing:.025em}.edit-day-button{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:1px solid #2563eb}.edit-day-button:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px);box-shadow:0 4px 8px #3b82f64d}.delete-day-button{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:1px solid #dc2626}.delete-day-button:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-1px);box-shadow:0 4px 8px #ef44444d}.modal-overlay{position:fixed;inset:0;background-color:#000000bf;display:flex;justify-content:center;align-items:center;z-index:10001}.modal-content{background-color:#1f2937;padding:1.5rem;border-radius:.5rem;box-shadow:0 4px 6px #0000001a;max-height:90vh;width:95%;max-width:700px;overflow-y:auto;overflow-x:hidden;box-sizing:border-box}@media (min-width: 768px){.modal-content{width:90%}}.auth-modal{width:min(400px,calc(100vw - 1.25rem));max-height:calc(100vh - 1.5rem);overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}@media (max-width: 480px){.auth-modal{width:calc(100vw - 1rem);border-radius:.65rem}}.modal-header{font-size:1.5rem;font-weight:600;margin-bottom:1.5rem}.modal-body{margin-bottom:1.5rem;overflow-x:hidden}.modal-body::-webkit-scrollbar{width:8px}.modal-body::-webkit-scrollbar-track{background:#1f2937;border-radius:4px}.modal-body::-webkit-scrollbar-thumb{background:#4b5563;border-radius:4px}.modal-body::-webkit-scrollbar-thumb:hover{background:#6b7280}.modal-footer{display:flex;justify-content:flex-end;gap:1rem}@keyframes subtle-pulse{0%,30%,to{background-color:#3b82f6}15%{background-color:#60a5fa}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.9)}}@keyframes button-loading{0%,to{opacity:.5}50%{opacity:.8}}.button-primary{background-color:#3b82f6;color:#fff;font-weight:600;padding:.5rem 1rem;border-radius:.25rem;border:none;cursor:pointer;transition:background-color .2s ease-in-out;animation:subtle-pulse 2s ease-in-out infinite}.button-primary:hover{background-color:#2563eb;animation:none}.button-secondary{background-color:#4b5563;color:#fff;font-weight:600;padding:.5rem 1rem;border-radius:.25rem;border:none;cursor:pointer;transition:background-color .2s ease-in-out}.button-secondary:hover{background-color:#374151}.checkbox-group{display:flex;align-items:center;margin-bottom:.5rem}.checkbox-group input{margin-right:.5rem}.table-container{display:flex;flex-direction:column;flex:1;min-height:0;background-color:#1f2937;border-radius:.5rem;box-shadow:0 4px 6px #0000001a}.table-scroll-wrapper{flex:1;overflow-y:auto;overflow-x:auto;position:relative;min-height:0}.table-scroll-wrapper::-webkit-scrollbar{width:8px;height:8px}.table-scroll-wrapper::-webkit-scrollbar-track{background:#1f2937}.table-scroll-wrapper::-webkit-scrollbar-thumb{background:#4b5563;border-radius:4px}.table-scroll-wrapper::-webkit-scrollbar-thumb:hover{background:#6b7280}.pagination-container{flex-shrink:0;padding:1rem;display:flex;justify-content:center;align-items:center;gap:.5rem;border-top:1px solid #374151;background-color:#1f2937}.mobile-ingredient-card{border-bottom:1px solid #374151;transition:background-color .15s ease-in-out}.mobile-ingredient-card:last-child{border-bottom:none}.mobile-ingredient-card:active{background-color:#374151!important}table{width:100%;border-collapse:collapse}thead{background-color:#374151}th{padding:.75rem 1rem;text-align:left;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;cursor:pointer}tbody tr:hover{background-color:#374151!important}td{padding:.75rem 1rem;white-space:nowrap;font-size:.875rem}.button-link{color:#60a5fa;background:none;border:none;cursor:pointer}.button-link:hover{color:#3b82f6}.button-link-danger{color:#f87171;background:none;border:none;cursor:pointer}.button-link-danger:hover{color:#ef4444}.skeleton{position:relative;overflow:hidden;background-color:#1f2937}.skeleton:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(148,163,184,.3),transparent);animation:skeleton-loading 1.2s infinite}.skeleton-text{height:.75rem;border-radius:.375rem}.skeleton-text.sm{height:.6rem;border-radius:.25rem}.skeleton-circle{border-radius:9999px}@keyframes skeleton-loading{0%{transform:translate(-100%)}to{transform:translate(100%)}}.discover-sidebar-scroll::-webkit-scrollbar{width:6px}.discover-sidebar-scroll::-webkit-scrollbar-track{background:transparent}.discover-sidebar-scroll::-webkit-scrollbar-thumb{background:transparent}.discover-sidebar-scroll::-webkit-scrollbar-thumb:hover{background:transparent}.sidebar-scroll-button{position:sticky;left:50%;transform:translate(-50%);background-color:#111827f2;border:1px solid rgba(148,163,184,.5);color:#e5e7eb;border-radius:50%;padding:.5rem;font-size:1.25rem;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;line-height:1;font-weight:600}.sidebar-scroll-button:hover{background-color:#3b82f6e6;border-color:#3b82f6cc;transform:translate(-50%) scale(1.15)}.fade-slide-in{animation:revealListItem .35s ease both;will-change:opacity,transform,filter}@keyframes revealListItem{0%{opacity:0;transform:translateY(6px) scale(.995);filter:blur(6px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes fadeInOut{0%{opacity:0;transform:scale(.95)}15%{opacity:1;transform:scale(1)}85%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}.nutrient-group{width:100%;margin-bottom:1rem}.nutrient-group-header{width:100%;text-align:left;font-weight:600;padding:.5rem .75rem;margin:5px;font-size:1.125rem;cursor:pointer;background-color:transparent;border:1px solid transparent;border-radius:.25rem;color:#e5e7eb;transition:all .2s ease-in-out;display:flex;justify-content:space-between;align-items:center}.nutrient-group-header:hover{background-color:#374151}.nutrient-group-header:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.nutrient-group-content{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem;padding:1rem;background-color:#374151;border-radius:.25rem}.nutrient-field{display:flex;flex-direction:column;gap:.25rem}.nutrient-label{font-size:.75rem;color:#9ca3af;font-weight:500;text-transform:capitalize}.nutrient-input{background-color:#4b5563;color:#fff;padding:.5rem;border-radius:.25rem;border:1px solid #6b7280}.nutrient-input-improved{background-color:#4b5563;color:#fff;padding:.75rem;border-radius:.25rem;border:1px solid #6b7280;font-size:1rem;-moz-appearance:textfield}.nutrient-input-improved::-webkit-outer-spin-button,.nutrient-input-improved::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.nutrient-input-improved:focus{outline:none;border-color:#3b82f6}.meal-name-input{width:100%;max-width:100%;box-sizing:border-box;background-color:#374151;color:#fff;padding:.75rem;margin:5px;margin-bottom:1.5rem;border-radius:.5rem;border:1px solid #4b5563;font-size:1rem;transition:all .2s ease-in-out}.meal-name-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.modal-subheader{font-size:1.25rem;font-weight:600;margin-bottom:1rem;color:#e5e7eb;border-bottom:2px solid #374151;padding-bottom:.5rem}.ingredient-row{display:flex;align-items:center;gap:.375rem;margin-bottom:0;box-sizing:border-box}.ingredient-select{flex:1;min-width:0;box-sizing:border-box;background-color:#374151;color:#fff;padding:.5rem .375rem;margin:0;border-radius:.375rem;border:1px solid #4b5563;font-size:.875rem;transition:all .2s ease-in-out}.ingredient-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.quantity-input{width:3rem;flex-shrink:0;box-sizing:border-box;background-color:#374151;color:#fff;padding:.5rem .25rem;margin:0;border-radius:.375rem;border:1px solid #4b5563;font-size:.875rem;transition:all .2s ease-in-out}.quantity-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.button-danger{background-color:#ef4444;color:#fff;font-weight:600;padding:.5rem .625rem;border-radius:.375rem;border:none;cursor:pointer;transition:all .2s ease-in-out;flex-shrink:0;box-sizing:border-box;white-space:nowrap;font-size:.875rem}.button-danger:hover{background-color:#dc2626}.button-success{width:100%;background-color:#10b981;color:#fff;font-weight:600;padding:.5rem 1rem;border-radius:.25rem;border:none;cursor:pointer;transition:background-color .2s ease-in-out;margin-bottom:1rem}.button-success:hover{background-color:#059669}.auth-section{display:flex;align-items:center;gap:.5rem;margin-left:auto;justify-content:flex-end;flex:0 0 auto}.auth-button{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:1px solid rgba(37,99,235,.4);padding:.5rem 1.125rem;border-radius:.5rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease-in-out;white-space:nowrap;box-shadow:0 2px 4px #0000001a}.auth-button:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666;border-color:#3b82f699}.auth-button.secondary{background:linear-gradient(135deg,#4b5563,#374151);border:1px solid rgba(75,85,99,.4)}.auth-button.secondary:hover{background:linear-gradient(135deg,#374151,#1f2937);box-shadow:0 4px 8px #4b55634d;border-color:#6b728099}@media (max-width: 768px){.navbar{padding:.35rem .65rem}.navbar-logo-link{display:none}.navbar-content{flex-direction:row;gap:.35rem;align-items:center;flex-wrap:nowrap}.nav-links{width:auto;flex:1 1 auto;gap:.25rem;padding:0;margin:0;justify-content:space-between;overflow:hidden}.nav-link-text{display:none!important}.nav-link{font-size:1.35rem;padding:.35rem .4rem;scroll-snap-align:center;flex:1 1 0;min-width:0;justify-content:center}.auth-section{width:auto;justify-content:flex-end;margin-left:.35rem;gap:.35rem;flex-shrink:0}.nav-user-button{--nav-user-gap: .35rem;--nav-user-padding: .4rem .55rem;--nav-user-font-size: .8125rem;min-height:38px}.navbar-user-name{display:none}}@media (max-width: 380px){.nav-link{font-size:1.25rem;padding:.3rem .35rem}}@media (max-width: 768px){.dashboard-date,.dashboard-header{font-size:1.125rem}.meals-grid{grid-template-columns:1fr}.meal-card{min-height:auto;padding:1rem}.meal-card-header{font-size:1.125rem;padding-right:2.5rem}.meal-delete-x{top:.5rem;right:.5rem;width:1.75rem;height:1.75rem;font-size:1.25rem}.meal-add-to-today{display:none}.meal-actions{flex-wrap:wrap;gap:.375rem;margin-top:.5rem}.duplicate-button,.edit-button,.add-to-today-button{font-size:.6875rem;padding:.4rem .75rem;height:2rem}.duplicate-button{font-size:1rem}.meals-controls{flex-direction:column;gap:.75rem}.view-mode-toggle{order:-1}.meal-row{grid-template-columns:1fr;gap:.5rem;padding:.875rem}.meal-row-name{font-size:.9375rem;margin-bottom:.25rem}.meal-row-ingredients{font-size:.8125rem;margin-bottom:.25rem}.meal-row-macros{gap:.375rem;flex-wrap:wrap}.meal-row-macro{font-size:.6875rem;padding:.3rem .5rem}.meal-row-actions{gap:.375rem;flex-wrap:wrap}.delete-button-row{font-size:1rem;padding:.4rem .5rem;height:2rem}.day-card{min-height:auto}.modal-content{width:98%;padding:1rem;max-height:95vh}.modal-header{font-size:1.25rem}.ingredient-row{flex-direction:column;align-items:stretch;gap:.5rem}.quantity-input{width:100%}button,.button-primary,.button-secondary,.auth-button{min-height:44px;padding:.75rem 1rem}.nav-link{min-height:44px;display:flex;align-items:center;justify-content:center}}.guest-warning-tooltip{position:fixed;background:linear-gradient(135deg,#1e1b4b,#1a1832);border:2px solid rgba(167,139,250,.4);border-radius:.75rem;padding:.85rem;z-index:25000;box-shadow:0 20px 40px #000000b3,0 0 0 1px #8b5cf61a,0 0 20px #8b5cf64d;font-size:.8125rem;line-height:1.6;pointer-events:none;max-width:min(320px,calc(100vw - 1.5rem));transition:opacity .15s ease}@media (max-width: 768px) and (orientation: landscape){.main-content{padding:.5rem}.page-container{padding:.75rem}}@media (min-width: 769px) and (max-width: 1024px){.meals-grid,.nutrient-bars-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1400px){.week-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width: 1800px){.week-grid{grid-template-columns:repeat(4,1fr)}}*{box-sizing:border-box}html,body{overflow-x:hidden;max-width:100vw}.app-container{overflow-x:hidden}html{scroll-behavior:smooth}.loading{display:flex;justify-content:center;align-items:center;padding:2rem;color:#9ca3af}button:focus,input:focus,select:focus,textarea:focus{outline:2px solid #3b82f6;outline-offset:2px}@keyframes pulse-info{0%,to{box-shadow:0 0 8px #8b5cf633}50%{box-shadow:0 0 12px #8b5cf64d}}@keyframes savedPulse{0%{opacity:0;transform:scale(.8)}50%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}input[type=number]:not(.nutrient-input-improved)::-webkit-inner-spin-button,input[type=number]:not(.nutrient-input-improved)::-webkit-outer-spin-button{opacity:0;width:28px;height:28px;cursor:pointer;margin-left:8px;transition:opacity .2s ease}input[type=number]:not(.nutrient-input-improved):hover::-webkit-inner-spin-button,input[type=number]:not(.nutrient-input-improved):hover::-webkit-outer-spin-button,input[type=number]:not(.nutrient-input-improved):focus::-webkit-inner-spin-button,input[type=number]:not(.nutrient-input-improved):focus::-webkit-outer-spin-button{opacity:1}input[type=number]:not(.nutrient-input-improved){-moz-appearance:textfield}
