body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;margin:0;background-color:#f4f7f6;color:#333;line-height:1.6}*{box-sizing:border-box}#root{max-width:900px;margin:0 auto;padding:20px}.app-header{text-align:center;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #e0e0e0}.app-header h1{font-size:2.5em;color:#2c3e50;margin:0}.nav-tabs{display:flex;justify-content:center;margin-bottom:30px;gap:15px;flex-wrap:wrap}.nav-tabs button{padding:12px 25px;font-size:1.1em;font-weight:500;cursor:pointer;border:2px solid transparent;border-radius:8px;background-color:#fff;color:#3498db;transition:all .3s ease;box-shadow:0 2px 4px #0000000d}.nav-tabs button:hover{background-color:#ecf0f1;border-color:#a9cce3}.nav-tabs button.active{background-color:#3498db;color:#fff;border-color:#3498db;box-shadow:0 4px 8px #0000001a}.content-section{background-color:#fff;padding:25px;border-radius:8px;box-shadow:0 4px 12px #0000001a}.content-section>section>h2{font-size:1.8em;color:#2980b9;margin-top:0;margin-bottom:25px;border-bottom:1px solid #eee;padding-bottom:10px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-bottom:20px}.form-group{display:flex;flex-direction:column;margin-bottom:15px}.form-group.full-width{grid-column:1 / -1}.form-group label{margin-bottom:8px;font-weight:500;color:#555}.form-group input[type=text],.form-group input[type=number],.form-group input[type=email],.form-group input[type=tel],.form-group select,.form-group textarea{padding:12px;border:1px solid #dcdcdc;border-radius:6px;font-size:1em;font-family:inherit;transition:border-color .3s ease,box-shadow .3s ease;width:100%}.form-group input[type=text]:focus,.form-group input[type=number]:focus,.form-group input[type=email]:focus,.form-group input[type=tel]:focus,.form-group select:focus,.form-group textarea:focus{border-color:#3498db;box-shadow:0 0 0 2px #3498db33;outline:none}.form-group textarea{min-height:100px;resize:vertical}.btn{padding:12px 25px;font-size:1.1em;font-weight:500;color:#fff;background-color:#2ecc71;border:none;border-radius:6px;cursor:pointer;transition:background-color .3s ease,transform .2s ease;display:inline-block;text-align:center}.btn:hover{background-color:#27ae60;transform:translateY(-1px)}.btn:disabled,.btn.btn-loading{background-color:#bdc3c7;cursor:not-allowed;transform:translateY(0)}.btn-secondary{background-color:#3498db}.btn-secondary:hover{background-color:#2980b9}.btn-substitute-meal{font-size:.85em;padding:6px 12px;background-color:#e67e22;min-width:120px}.btn-substitute-meal:hover{background-color:#d35400}.btn-substitute-meal.btn-loading{background-color:#f39c12}.form-actions{margin-top:25px;text-align:center}.results-area{margin-top:30px;padding:20px;border:1px solid #e0e0e0;border-radius:8px;background-color:#f9f9f9}.results-area>h3{margin-top:0;color:#2980b9;font-size:1.6em;margin-bottom:20px;text-align:center}#calorie-calculator .results-area{margin-top:25px}.calculator-results-display p{font-size:1.1em;margin-bottom:12px;color:#333}.calculator-results-display p strong{color:#2c3e50}.goal-selection-group{margin-top:20px;margin-bottom:20px;padding:15px;background-color:#eaf2f8;border-radius:6px}.goal-selection-group label{font-weight:500;margin-bottom:10px;display:block}.highlight-result{font-size:1.2em!important;font-weight:700;color:#27ae60!important;background-color:#e8f8f0;padding:15px;border-radius:6px;text-align:center;margin-top:20px}hr.section-divider{border:0;height:1px;background-color:#e0e0e0;margin:40px 0}.workout-content-display{font-family:inherit;font-size:1em;line-height:1.7;color:#333}.workout-section{margin-bottom:25px;padding:15px;background-color:#fdfdfd;border:1px solid #e9e9e9;border-radius:6px}.workout-section h3,.workout-section h4,.workout-section h5{margin-top:0}.workout-day-section{margin-bottom:30px;padding:20px;background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 5px #0000000d}.day-title{font-size:1.45em;color:#2c3e50;margin-top:0;margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid #eaeaea}.day-leading-text,.day-trailing-text,.day-other-content{margin-bottom:15px;font-size:.95em;color:#555}.day-leading-text p:last-child,.day-trailing-text p:last-child,.day-other-content p:last-child{margin-bottom:0}.exercises-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.exercise-card{background-color:#f9f9f9;border:1px solid #e7e7e7;border-radius:8px;padding:15px;display:flex;flex-direction:column;box-shadow:0 1px 3px #0000000a}.exercise-info{flex-grow:1}.exercise-name{font-size:1.2em;color:#16a085;margin-top:0;margin-bottom:8px;font-weight:600}.exercise-detail{font-size:.95em;margin-bottom:5px;color:#444}.exercise-detail strong{color:#333}.exercise-detail-note{font-size:.85em;color:#666;margin-top:5px}.exercise-instructions{line-height:1.5;margin-top:8px}.exercise-instructions strong{display:block;margin-bottom:4px}.raw-exercise-data ul{list-style-position:inside;font-size:.9em;color:#555;background-color:#eee;padding:10px;border-radius:4px}.raw-exercise-data li{margin-bottom:3px}.meal-plan-content-display{font-family:inherit;color:#333}.meal-plan-section{margin-bottom:25px;padding:15px;background-color:#fdfdfd;border:1px solid #e9e9e9;border-radius:6px}.meal-plan-day-section{margin-bottom:30px;padding:20px;background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 5px #0000000d}.meals-container{display:flex;flex-direction:column;gap:20px}.meal-card{background-color:#f9fcff;border:1px solid #d6eaf8;border-radius:8px;padding:15px;box-shadow:0 1px 4px #0000000f}.meal-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.meal-title{font-size:1.25em;color:#2980b9;margin:0;font-weight:600}.meal-items-list{list-style:none;padding-left:0;margin-top:0;margin-bottom:0}.meal-item{padding:8px 0;border-bottom:1px dashed #e0e0e0;font-size:1em;color:#444}.meal-item:last-child{border-bottom:none}.meal-item strong{color:#2c3e50}.meal-substitution-error{font-size:.9em;margin-top:0;margin-bottom:10px;padding:8px}.workout-content-display h2,.workout-section h2,.meal-plan-section h2,.meal-plan-content-display h2{font-size:1.5em;color:#1a5276;margin-top:15px;margin-bottom:10px}.workout-content-display h4,.workout-section h4,.meal-plan-section h4,.meal-plan-content-display h4{font-size:1.2em;color:#2c3e50;margin-top:20px;margin-bottom:10px}.workout-content-display h5,.workout-section h5,.meal-plan-section h5,.meal-plan-content-display h5{font-size:1.1em;color:#34495e;margin-top:15px;margin-bottom:8px}.workout-content-display h6,.workout-section h6,.meal-plan-section h6,.meal-plan-content-display h6{font-size:1em;color:#34495e;font-weight:700;margin-top:15px;margin-bottom:8px}.workout-content-display p,.workout-section p,.meal-plan-section p,.meal-plan-content-display p{margin-top:0;margin-bottom:12px}.workout-content-display p:last-child,.workout-section p:last-child,.meal-plan-section p:last-child,.meal-plan-content-display p:last-child{margin-bottom:0}.workout-content-display ul,.workout-section ul,.meal-plan-section ul,.meal-plan-content-display ul:not(.meal-items-list){list-style:disc;padding-left:20px;margin-top:0;margin-bottom:15px}.workout-content-display li,.workout-section li,.meal-plan-section li,.meal-plan-content-display ul:not(.meal-items-list) li{margin-bottom:8px}.workout-content-display strong,.workout-section strong,.meal-plan-section strong,.meal-plan-content-display strong{font-weight:600}.workout-content-display em,.workout-section em,.meal-plan-section em,.meal-plan-content-display em{font-style:italic}.workout-content-display br,.workout-section br,.meal-plan-section br,.meal-plan-content-display br{display:block;margin-bottom:.25em;content:""}.message{padding:15px;margin-top:20px;border-radius:6px;font-size:1em;text-align:center}.loading-message{background-color:#eaf2f8;color:#3498db;border:1px solid #aed6f1}.error-message{background-color:#fdedec;color:#e74c3c;border:1px solid #f5b7b1}@media (max-width: 768px){.app-header h1{font-size:2em}.nav-tabs{gap:10px}.nav-tabs button{padding:10px 15px;font-size:1em}.form-grid,.exercises-container{grid-template-columns:1fr}.meal-card-header{flex-direction:column;align-items:flex-start;gap:8px}.btn-substitute-meal{align-self:flex-start}}@media (max-width: 480px){.app-header h1{font-size:1.8em}.nav-tabs{flex-direction:column}.nav-tabs button{width:100%;padding:10px 20px;font-size:1em}.content-section{padding:15px}.content-section>section>h2{font-size:1.5em}.form-group input,.form-group select,.form-group textarea,.btn{font-size:.95em}}
