*{box-sizing:border-box}html{background:#eef2f3}#root{min-height:100vh}body{color:#1f2937;background:#eef2f3;margin:0;font-family:Arial,sans-serif}.app{max-width:900px;margin:0 auto;padding:16px}.hero{color:#fff;background:#1f2937;border-radius:18px;margin-bottom:16px;padding:24px}.hero h1{margin:0;font-size:34px}.hero p{color:#d1d5db;margin:8px 0 0}nav{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}button{color:#fff;background:#111827;border:0;border-radius:10px;padding:10px 14px;font-weight:700}.card{background:#fff;border-radius:18px;padding:16px}.card h2 .card h2{color:#111827;margin-top:0;font-size:28px}.item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;align-items:center;gap:12px;margin-bottom:10px;padding:12px;display:flex}.item.done{background:#c8f7c5;border-color:#59c36a}.info{flex-direction:column;flex:1;display:flex}.info span{color:#555;font-size:14px}.note{border:1px solid #ccc;border-radius:8px;width:120px;padding:8px}@media (width<=600px){.item{align-items:flex-start}.note{width:90px}.hero h1{font-size:28px}}.progress-box{color:#111827;background:#f3f4f6;border-radius:12px;margin-bottom:16px;padding:12px}.progress-bar{background:#e5e7eb;border-radius:999px;width:100%;height:14px;margin:8px 0;overflow:hidden}.progress-fill{background:#22c55e;height:100%;transition:width .2s}.progress-box span{color:#4b5563;font-size:14px}.category{margin-top:18px}.category h3{color:#fff;background:#111827;border-radius:12px;margin:0 0 10px;padding:10px 12px}.recipe-card{color:#111827;background:#f9fafb;border:1px solid #e5e7eb;border-radius:14px;margin-bottom:14px;padding:14px}.recipe-card h3{color:#111827;margin-top:0}.recipe-card p{margin:6px 0}.serving-controls{align-items:center;gap:12px;margin-top:12px;display:flex}.serving-controls button{border-radius:50%;width:38px;height:38px;font-size:20px}.day-card{color:#111827;background:#f9fafb;border:1px solid #e5e7eb;border-radius:14px;margin-bottom:14px;padding:14px}.day-card h3{color:#111827;margin-top:0}.meal-row{border-top:1px solid #e5e7eb;justify-content:space-between;gap:12px;padding:8px 0;display:flex}.meal-row strong{min-width:90px}.meal-row{grid-template-columns:110px 1fr;align-items:start;gap:12px;display:grid}.meal-row strong{text-align:left;min-width:0}.meal-row span{text-align:left}.usage-table{border-collapse:collapse;width:100%;margin:10px 0 14px;font-size:14px}.usage-table th,.usage-table td{text-align:left;border:1px solid #e5e7eb;padding:8px}.usage-table th{color:#fff;background:#111827}.usage-table td{color:#111827;background:#fff}
