*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background-color:#f5f5f5;color:#333;line-height:1.6}.layout{min-height:100vh;display:flex;flex-direction:column}.header{background:linear-gradient(135deg,#4ade80,#22c55e);color:#fff;padding:1rem 2rem;box-shadow:0 2px 4px #0000001a}.header{display:flex;justify-content:space-between;align-items:center}.logo h1{font-size:1.5rem;font-weight:700}.nav{display:flex;gap:1rem}.nav-link{color:#fff;text-decoration:none;padding:.5rem 1rem;border-radius:8px;transition:background-color .2s;display:flex;align-items:center;gap:.5rem}.nav-link:hover{background-color:#fff3}.nav-link.active{background-color:#ffffff4d}.nav-icon{font-size:1.2rem}.main{flex:1;padding:2rem;max-width:1400px;margin:0 auto;width:100%}.footer{background-color:#333;color:#fff;text-align:center;padding:1rem;margin-top:auto}.btn{padding:.6rem 1.2rem;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s}.btn-primary{background-color:#4ade80;color:#fff}.btn-primary:hover{background-color:#22c55e}.btn-secondary{background-color:#e5e7eb;color:#374151}.btn-secondary:hover{background-color:#d1d5db}.btn-danger{background-color:#ef4444;color:#fff}.btn-danger:hover{background-color:#dc2626}.btn-sm{padding:.4rem .8rem;font-size:.8rem}.btn-block{width:100%}.btn:disabled{opacity:.5;cursor:not-allowed}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#374151}.form-group input,.form-group select{width:100%;padding:.6rem;border:1px solid #d1d5db;border-radius:6px;font-size:.9rem}.form-group input:focus,.form-group select:focus{outline:none;border-color:#4ade80;box-shadow:0 0 0 3px #4ade8033}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.date-navigation{display:flex;gap:.5rem;align-items:center}.date-input{padding:.5rem;border:1px solid #d1d5db;border-radius:6px;font-size:.9rem}.dashboard-content{display:grid;grid-template-columns:1fr 400px;gap:2rem}@media (max-width: 900px){.dashboard-content{grid-template-columns:1fr}}.daily-summary{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000001a;margin-bottom:2rem}.daily-summary h3{margin-bottom:1rem;color:#374151}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}.summary-item{text-align:center;padding:1rem;background:#f9fafb;border-radius:8px}.summary-item .label{display:block;font-size:.8rem;color:#6b7280;margin-bottom:.25rem}.summary-item .value{display:block;font-size:1.5rem;font-weight:700;color:#374151}.summary-item .sublabel{display:block;font-size:.75rem;color:#9ca3af}.summary-item.calories .value{color:#4ade80}.summary-item.protein .value{color:#3b82f6}.summary-item.carbs .value{color:#f59e0b}.summary-item.fat .value{color:#ef4444}.progress-section{margin-top:1rem}.progress-bar{height:12px;background:#e5e7eb;border-radius:6px;overflow:hidden;margin-bottom:.5rem}.progress-fill{height:100%;background:linear-gradient(90deg,#4ade80,#22c55e);transition:width .3s ease}.progress-fill.over-goal{background:linear-gradient(90deg,#f59e0b,#ef4444)}.remaining{text-align:center;font-size:.9rem;color:#6b7280}.remaining .over-goal{color:#ef4444;font-weight:600}.meals-section{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000001a}.meals-section h3{margin-bottom:1rem;color:#374151}.meal-section{border:1px solid #e5e7eb;border-radius:8px;margin-bottom:1rem;overflow:hidden}.meal-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:#f9fafb;border-bottom:1px solid #e5e7eb}.meal-header h4{margin:0;color:#374151}.meal-calories{font-weight:600;color:#4ade80}.meal-foods{padding:.5rem}.food-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem;border-radius:6px}.food-item:hover{background:#f9fafb}.food-info{display:flex;flex-direction:column}.food-name{font-weight:500;color:#374151}.food-quantity{font-size:.8rem;color:#6b7280}.food-calories{display:flex;align-items:center;gap:.5rem}.delete-btn{background:none;border:none;color:#ef4444;cursor:pointer;font-size:1.2rem;padding:.25rem;opacity:.6;transition:opacity .2s}.delete-btn:hover{opacity:1}.no-foods{text-align:center;color:#9ca3af;padding:1rem}.food-log-form{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000001a}.food-log-form h3{margin-bottom:1rem;color:#374151}.selected-food{background:#f0fdf4;border:1px solid #4ade80;border-radius:8px;padding:1rem;margin:1rem 0}.selected-food h4{margin:0 0 .5rem;color:#374151}.selected-food .calories{color:#4ade80;font-weight:600}.selected-food .macros{font-size:.85rem;color:#6b7280}.form-summary{text-align:center;padding:1rem;background:#f9fafb;border-radius:8px;margin:1rem 0}.form-summary .total-calories{font-size:1.1rem}.food-search{position:relative}.food-search input{width:100%;padding:.8rem;border:2px solid #e5e7eb;border-radius:8px;font-size:1rem;transition:border-color .2s}.food-search input:focus{outline:none;border-color:#4ade80}.search-results{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 12px #00000026;max-height:300px;overflow-y:auto;z-index:100}.search-result-item{display:flex;justify-content:space-between;align-items:center;padding:.8rem 1rem;cursor:pointer;transition:background-color .2s}.search-result-item:hover{background:#f9fafb}.search-result-item .food-name{font-weight:500}.search-result-item .food-calories{color:#6b7280;font-size:.85rem}.log-food h2{margin-bottom:2rem;color:#374151}.log-food-content{display:grid;grid-template-columns:1fr 1fr;gap:2rem}@media (max-width: 900px){.log-food-content{grid-template-columns:1fr}}.log-food-form-section{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000001a}.date-selector{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.date-selector label{font-weight:500}.selected-food-card{background:#f0fdf4;border:1px solid #4ade80;border-radius:8px;padding:1.5rem;margin:1.5rem 0}.selected-food-card h3{margin:0 0 .5rem;color:#374151}.selected-food-card .calories{color:#4ade80;font-weight:600;font-size:1.1rem}.selected-food-card .macros{font-size:.9rem;color:#6b7280;margin-top:.5rem}.success-message{background:#dcfce7;color:#166534;padding:1rem;border-radius:8px;text-align:center;margin-top:1rem}.recent-logs{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000001a}.recent-logs h3{margin-bottom:1rem;color:#374151}.meal-summary{margin-bottom:1rem;padding:1rem;background:#f9fafb;border-radius:8px}.meal-summary h4{margin:0 0 .5rem;color:#374151}.meal-summary ul{list-style:none;padding:0}.meal-summary li{padding:.25rem 0;color:#6b7280}.food-database h2{margin-bottom:2rem;color:#374151}.database-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.database-filters{display:flex;gap:1rem;margin-bottom:2rem}.search-input,.category-select{padding:.6rem;border:1px solid #d1d5db;border-radius:6px;font-size:.9rem}.search-input{flex:1;max-width:400px}.foods-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.food-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000001a;transition:transform .2s,box-shadow .2s}.food-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.food-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.food-card-header h3{margin:0;color:#374151;font-size:1.1rem}.food-category{background:#e5e7eb;color:#374151;padding:.25rem .5rem;border-radius:4px;font-size:.75rem}.food-card-body{margin-bottom:1rem}.food-card-body .calories{font-size:1.25rem;font-weight:700;color:#4ade80;margin-bottom:.5rem}.food-card-body .macros{font-size:.85rem;color:#6b7280}.food-card-actions{display:flex;gap:.5rem}.pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:2rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal{background:#fff;border-radius:12px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e5e7eb}.modal-header h3{margin:0;color:#374151}.close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#6b7280}.modal-form{padding:1.5rem}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e5e7eb}.reports h2{margin-bottom:2rem;color:#374151}.report-tabs{display:flex;gap:.5rem;margin-bottom:2rem}.tab-btn{padding:.75rem 1.5rem;border:none;background:#e5e7eb;color:#374151;border-radius:8px;cursor:pointer;font-weight:500;transition:all .2s}.tab-btn.active{background:#4ade80;color:#fff}.tab-btn:hover:not(.active){background:#d1d5db}.weekly-report,.daily-report{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000001a}.date-range{display:flex;align-items:center;gap:.5rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-top:2rem}.stat-card{background:#f9fafb;border-radius:8px;padding:1.5rem;text-align:center}.stat-card h4{margin:0 0 .5rem;color:#6b7280;font-size:.9rem}.stat-card .stat-value{font-size:1.5rem;font-weight:700;color:#374151}.daily-report-content{margin-top:1.5rem}.report-summary{margin-bottom:2rem}.report-summary h3{margin-bottom:1rem;color:#374151}.summary-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.summary-stats .stat{background:#f9fafb;border-radius:8px;padding:1rem;text-align:center}.summary-stats .stat .label{display:block;font-size:.85rem;color:#6b7280;margin-bottom:.25rem}.summary-stats .stat .value{font-size:1.25rem;font-weight:700;color:#374151}.summary-stats .stat .value.over{color:#ef4444}.meals-breakdown h3{margin-bottom:1rem;color:#374151}.meal-report{background:#f9fafb;border-radius:8px;padding:1rem;margin-bottom:1rem}.meal-report h4{margin:0 0 .5rem;color:#374151}.meal-report ul{list-style:none;padding:0;margin:0 0 .5rem}.meal-report li{padding:.25rem 0;color:#6b7280}.meal-total{font-weight:600;color:#4ade80;margin:0}.chart-container{margin-bottom:2rem}.chart-container h3{margin-bottom:1rem;color:#374151}.custom-tooltip{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:.75rem;box-shadow:0 2px 8px #0000001a}.custom-tooltip .label{font-weight:500;margin-bottom:.25rem}.custom-tooltip .value{color:#4ade80;font-weight:600}.custom-tooltip .over-goal{color:#ef4444;font-size:.85rem}.loading,.no-data{text-align:center;color:#6b7280;padding:2rem}.my-meals h2{margin-bottom:.5rem;color:#374151}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.page-description{color:#6b7280;margin-bottom:2rem}.empty-state{text-align:center;padding:3rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.meals-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.meal-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000001a;transition:transform .2s,box-shadow .2s}.meal-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.meal-card-header{margin-bottom:1rem}.meal-card-header h3{margin:0 0 .5rem;color:#374151;font-size:1.1rem}.meal-card-stats{display:flex;flex-direction:column;gap:.25rem}.meal-card-stats .calories{font-size:1.25rem;font-weight:700;color:#4ade80}.meal-card-stats .macros{font-size:.85rem;color:#6b7280}.meal-notes{font-size:.9rem;color:#6b7280;font-style:italic;margin-bottom:1rem;padding:.5rem;background:#f9fafb;border-radius:6px}.meal-card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:1rem;border-top:1px solid #e5e7eb}.meal-actions{display:flex;gap:.5rem}.log-select{padding:.4rem .8rem;border:1px solid #d1d5db;border-radius:6px;font-size:.85rem;background:#fff}.modal-large{max-width:700px}.ingredients-section{margin-top:1.5rem;padding:1rem;background:#f9fafb;border-radius:8px}.ingredients-section h4{margin-bottom:1rem;color:#374151}.ingredients-list{max-height:300px;overflow-y:auto}.ingredient-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#fff;border-radius:6px;margin-bottom:.5rem}.ingredient-info{display:flex;flex-direction:column}.ingredient-name{font-weight:500;color:#374151}.ingredient-calories{font-size:.85rem;color:#6b7280}.ingredient-controls{display:flex;align-items:center;gap:.5rem}.quantity-input{width:60px;padding:.4rem;border:1px solid #d1d5db;border-radius:4px;text-align:center}.serving-size{font-size:.8rem;color:#6b7280;min-width:50px}.remove-btn{background:none;border:none;color:#ef4444;font-size:1.2rem;cursor:pointer;padding:.25rem;opacity:.6;transition:opacity .2s}.remove-btn:hover{opacity:1}.meal-totals{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #d1d5db}.total-item{text-align:center}.total-item .label{display:block;font-size:.8rem;color:#6b7280;margin-bottom:.25rem}.total-item .value{font-size:1.1rem;font-weight:600;color:#374151}
