:root{--bg-app:#f8fafc;--bg-sidebar:#fff;--bg-card:#fff;--text-main:#0f172a;--text-muted:#64748b;--border-color:#e2e8f0;--primary:#2563eb;--primary-hover:#1d4ed8;--primary-light:#eff6ff;--danger:#ef4444;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--shadow-sm:0 1px 3px #0000000d;--shadow-md:0 4px 6px -1px #00000014;--font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--bg-app);color:var(--text-main);line-height:1.5}.app-container{grid-template-columns:360px 1fr;min-height:100vh;display:grid}.sidebar{background-color:var(--bg-sidebar);border-right:1px solid var(--border-color);flex-direction:column;gap:1.5rem;padding:2rem 1.5rem;display:flex}.sidebar-header h1{font-size:1.25rem;font-weight:700;line-height:1.2}.sidebar-subtitle{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.875rem;font-weight:600}.sidebar-form{flex-direction:column;gap:1.5rem;display:flex}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-group h2{color:var(--text-main);font-size:.95rem;font-weight:600}label{color:var(--text-muted);font-size:.85rem;font-weight:600}.form-control{border:1px solid var(--border-color);border-radius:var(--radius-sm);width:100%;color:var(--text-main);background-color:#fff;outline:none;padding:.625rem .75rem;font-size:.9rem;transition:border-color .15s,box-shadow .15s}.form-control:focus{border-color:var(--primary);box-shadow:0 0 0 3px #2563eb26}.button-group{grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.25rem;display:grid}.btn{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;padding:.5rem 1rem;font-size:.75rem;font-weight:600;transition:all .15s}.btn-toggle{border-color:var(--border-color);color:var(--text-muted);background-color:#f1f5f9}.btn-toggle.active{background-color:var(--primary);border-color:var(--primary);color:#fff}.btn-secondary{background-color:var(--primary-light);color:var(--primary);width:100%;margin-top:.5rem}.btn-secondary:hover:not(:disabled){background-color:#dbeafe}.btn:disabled{opacity:.5;cursor:not-allowed}.constraints-container{flex-direction:column;gap:.75rem;display:flex}.constraint-card{background:var(--bg-app);border:1px solid var(--border-color);flex-direction:column;gap:.5rem;padding:.75rem;display:flex}.constraint-header{justify-content:space-between;align-items:center;display:flex}.constraint-label{font-size:.85rem;font-weight:600}.btn-link-danger{color:var(--danger);cursor:pointer;background:0 0;border:none;font-size:.75rem;font-weight:600}.constraint-inputs{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.main-content{padding:2.5rem}.results{flex-direction:column;gap:2rem;max-width:1000px;display:flex}.results-header{align-items:center;gap:.75rem;display:flex}.badge{background:var(--primary-light);color:var(--primary);border-radius:999px;padding:.25rem .625rem;font-size:.75rem;font-weight:700}.meal-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem;display:grid}.food-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);align-items:center;gap:1rem;padding:1rem;display:flex}.food-image-wrapper{flex-shrink:0;width:70px;height:70px;position:relative}.food-image{object-fit:cover;border-radius:var(--radius-sm);width:100%;height:100%}.quantity-badge{background:var(--text-main);color:#fff;border-radius:999px;padding:2px 6px;font-size:.7rem;font-weight:700;position:absolute;top:-6px;right:-6px}.food-details h3{margin-bottom:.25rem;font-size:.95rem;font-weight:600;line-height:1.25}.food-points{color:var(--primary);font-size:.85rem;font-weight:600}.totals-box{background:#fff;border:1px solid #000;min-width:200px;max-width:400px;padding:1.25rem}.totals-box-title{color:#000;border-bottom:2px solid #000;margin-bottom:.75rem;padding-bottom:.5rem;font-size:1.1rem;font-weight:700}.totals-list{margin:0;padding:0;list-style:none}.totals-item{color:#000;border-bottom:1px solid #e5e5e5;justify-content:space-between;align-items:center;padding:.5rem 0;font-size:.9rem;display:flex}.totals-item.compact{padding:0;font-size:.85rem}.totals-item:last-child{border-bottom:none}.totals-item.primary{border-bottom:1px solid #000;font-weight:700}.totals-label{font-weight:500}.totals-item.primary .totals-label{font-weight:700}.totals-value{font-variant-numeric:tabular-nums;font-weight:600}.totals-unit{color:#666;font-size:.8rem;font-weight:400}.alert{border-radius:var(--radius-md);border:1px solid #0000;padding:1.25rem}.alert-warning{color:#92400e;background-color:#fffbeb;border-color:#fde68a}.alert-info{color:#0369a1;background-color:#f0f9ff;border-color:#bae6fd}@media (width<=850px){.app-container{grid-template-columns:1fr}.sidebar{border-right:none;border-bottom:1px solid var(--border-color)}}
