.diet-library{min-width:0;display:grid;gap:18px;padding-bottom:24px;color:var(--text,#f5f7fa)}
.diet-library header,.dl-search,.dl-actions,.dl-tabs{display:flex;align-items:center;gap:10px}
.diet-library header h1{font-size:24px;margin:0}.diet-library h2{font-size:18px;margin:0 0 12px}.diet-library h3{font-size:16px;margin:0}
.diet-library button,.diet-library input,.diet-library select{font:inherit;min-height:44px}
.diet-library button{cursor:pointer}.diet-library button:disabled{opacity:.5;cursor:wait}
.diet-library .dl-icon{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;padding:10px;background:none;border:0;color:inherit}
.diet-library svg{width:22px;height:22px;flex:none}.diet-library input,.diet-library select{width:100%;min-width:0;background:var(--panel2,#0c0e12);color:inherit;border:1px solid var(--input-border);border-radius:6px;padding:10px}
.dl-search input{flex:1}.dl-tabs{overflow-x:auto;border-bottom:1px solid var(--border-soft);gap:16px}.dl-tabs button{position:relative;border:0;background:none;color:var(--muted,#9ba3af);white-space:nowrap;padding:8px 0}
.dl-tabs button[aria-selected=true]{color:var(--text,#f5f7fa)}.dl-tabs button[aria-selected=true]:after{content:'';height:2px;background:var(--red,#f01f39);position:absolute;bottom:0;left:0;right:0}
.dl-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}.dl-card{border:1px solid var(--border-soft);border-radius:8px;padding:14px;background:var(--panel,#101216);min-width:0;overflow-wrap:anywhere}
.dl-card p,.dl-note{font-size:13px;color:var(--muted,#9ba3af);margin:6px 0 12px}.dl-actions{flex-wrap:wrap;margin-top:12px}.dl-actions button,.diet-library .dl-primary,.diet-library .dl-secondary{padding:9px 14px;border-radius:6px;border:1px solid var(--border-soft);background:transparent;color:inherit}
.diet-library .dl-primary{background:var(--red,#f01f39);border-color:var(--red,#f01f39);color:var(--text-primary)}.dl-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dl-fields label{display:grid;gap:6px;font-size:13px}.dl-fields .dl-wide{grid-column:1/-1}
.dl-filters{padding:12px 0;border-bottom:1px solid var(--border-soft)}.dl-macros{display:flex;gap:12px;flex-wrap:wrap;font-size:13px;margin:10px 0;color:var(--muted,#9ba3af)}.dl-error{border-left:3px solid var(--red,#f01f39);padding:10px 12px;background:var(--surface)}.dl-empty{padding:20px 0;border-block:1px solid var(--border-soft)}
.dl-day{border-top:1px solid var(--border-soft);padding:12px 0}.dl-day summary{cursor:pointer;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:10px}.dl-meal{border-top:1px solid var(--border-soft);padding:12px 0}.dl-meal ul{padding-left:18px;font-size:14px}.dl-skeleton{height:105px;border-radius:6px;background:var(--surface);margin:10px 0;animation:dl-pulse 1s ease-in-out infinite alternate}
.diet-library :focus-visible{outline:2px solid var(--border-soft);outline-offset:3px}.dl-check{display:flex!important;align-items:flex-start;gap:10px!important}.dl-check input{width:20px;min-height:24px;flex:none;accent-color:var(--red,#f01f39)}
@keyframes dl-pulse{to{opacity:.45}}@media(prefers-reduced-motion:reduce){.dl-skeleton{animation:none}}@media(max-width:390px){.dl-fields{gap:10px}.dl-actions button{flex:1}.dl-tabs{gap:13px;font-size:14px}}
