:root{--macro-dark:#0f172a;--macro-bg:#f8fafc;--macro-card:#ffffff;--macro-border:#e2e8f0;--color-protein:#ec4899;--color-carbs:#3b82f6;--color-fats:#f59e0b;--macro-gradient:linear-gradient(135deg, #0f172a 0%, #334155 100%)}body{background-color:var(--macro-bg);font-family:Inter,sans-serif}.glass-panel{background:var(--macro-card);border:1px solid var(--macro-border);border-radius:20px;transition:all .2s ease}.section-title{font-size:.85rem;font-weight:800;text-transform:uppercase;letter-spacing:1px;color:var(--macro-dark);margin-bottom:20px}.input-pill{border-radius:12px;border:1px solid var(--macro-border);padding:12px 16px;font-weight:600;color:var(--macro-dark);background-color:#f8fafc}.input-pill:focus{border-color:var(--color-carbs);box-shadow:0 0 0 3px rgba(59,130,246,.1);background-color:#fff}.diet-option{display:none}.diet-label{display:block;padding:15px;border:2px solid var(--macro-border);border-radius:14px;cursor:pointer;transition:all .2s;font-weight:600}.diet-label:hover{background-color:#f1f5f9}.diet-option:checked+.diet-label{border-color:var(--macro-dark);background-color:var(--macro-dark);color:#fff}.diet-desc{font-size:.75rem;font-weight:400;opacity:.8;margin-top:4px;display:block}.macro-box{padding:20px;border-radius:16px;color:#fff;position:relative;overflow:hidden}.macro-box::after{content:'';position:absolute;right:-10%;bottom:-20%;width:100px;height:100px;background:rgba(255,255,255,.1);border-radius:50%}.box-protein{background:linear-gradient(135deg,#f472b6 0,#ec4899 100%)}.box-carbs{background:linear-gradient(135deg,#60a5fa 0,#3b82f6 100%)}.box-fats{background:linear-gradient(135deg,#fbbf24 0,#f59e0b 100%)}.macro-val{font-size:2.5rem;font-weight:900;line-height:1;margin:5px 0}.macro-cal{font-size:.85rem;font-weight:600;opacity:.9}.chart-wrapper{position:relative;height:280px;display:flex;align-items:center;justify-content:center}.chart-center-text{position:absolute;text-align:center;display:flex;flex-direction:column}.chart-center-val{font-size:2rem;font-weight:800;color:var(--macro-dark);line-height:1}.chart-center-lbl{font-size:.8rem;font-weight:600;color:#64748b;text-transform:uppercase}.meal-card{background:#f8fafc;border:1px solid var(--macro-border);border-radius:12px;padding:15px;text-align:center}.meal-macro-badge{font-size:.75rem;font-weight:700;padding:4px 8px;border-radius:6px;display:inline-block;margin:0 2px}