/* Daily overview uses the same contrast-adjusted palette as the rest of the app. */
.today-heading{padding:8px 0 25px;color:var(--text-primary)}
.today-heading>p{margin:0 0 8px;font-size:.85rem;color:var(--text-secondary)}
.today-heading h2{margin:0 0 9px;font-size:clamp(1.5rem,3vw,2rem);font-weight:600;letter-spacing:-.5px;overflow-wrap:anywhere}
.today-heading>div{font-size:.95rem;color:var(--text-secondary);line-height:1.6}
.today-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:18px;align-items:start}
.today-side{display:grid;gap:18px;min-width:0}.today-grid>section:last-child{grid-column:1/-1}
.today-card{padding:23px;background:var(--bg-primary);border:1px solid var(--border-mid);border-radius:16px;min-width:0;color:var(--text-primary);overflow-wrap:anywhere}
.today-card-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:18px}
.today-card-heading h3{display:flex;align-items:center;gap:9px;font-size:1.05rem;font-weight:600;margin:0}
.today-card-heading svg{height:22px;width:22px;color:var(--text-primary);flex-shrink:0}
.today-status{padding:5px 9px;border:1px solid var(--border-light);border-radius:8px;font-size:.75rem;line-height:1.4;background:var(--bg-secondary);color:var(--text-secondary)}
.today-caption,.today-empty{font-size:.85rem;line-height:1.7;color:var(--text-secondary);margin:10px 0}.today-empty{font-size:.95rem;margin:16px 0 22px}
.today-body{font-size:.95rem;line-height:1.7;white-space:pre-wrap;margin:10px 0}.today-feature{font-size:1.4rem;font-weight:600;margin:12px 0 6px}
.today-meals{list-style:none;padding:0;margin:14px 0}.today-meals li{display:grid;grid-template-columns:100px minmax(0,1fr);gap:14px;padding:14px 0;border-bottom:1px solid var(--border-light);font-size:.9rem;line-height:1.65}
.today-meal-label{color:var(--text-secondary);font-size:.8rem}.today-meals strong{font-weight:500}.today-meals span{display:block;color:var(--text-secondary);font-size:.8rem;margin-top:3px}
.today-energy{padding:12px 0;font-size:.85rem}.today-energy strong{font-size:1.5rem;font-weight:600}.today-energy span{color:var(--text-secondary)}
.today-link{display:inline-flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;padding:10px 13px;border:1px solid var(--border-mid);border-radius:9px;background:var(--bg-secondary);color:var(--text-primary);font:inherit;font-size:.85rem;font-weight:500;cursor:pointer;text-align:left;line-height:1.5}
.today-link:hover{border-color:var(--text-primary)}.today-link:focus-visible,.today-med summary:focus-visible{outline:3px solid var(--text-primary);outline-offset:3px}
.today-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.today-measures{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0 6px}.today-measures dt{font-size:.78rem;line-height:1.5;color:var(--text-secondary)}.today-measures dd{font-size:1.35rem;font-weight:600;margin:6px 0}.today-measures dd span{font-size:.8rem;font-weight:400}
.today-med{border-top:1px solid var(--border-light);padding:12px 0;margin-bottom:10px}.today-med summary{cursor:pointer;line-height:1.7;min-height:44px}.today-med summary strong{font-weight:500;font-size:.95rem}.today-med summary>span{display:block;margin-left:18px;color:var(--text-secondary);font-size:.85rem;white-space:pre-wrap}
.today-review{padding:14px;margin:14px 0 18px;border-left:3px solid var(--text-secondary);background:var(--bg-secondary);border-radius:6px;line-height:1.7;font-size:.85rem}.today-review strong,.today-review span{display:block}.today-review span{color:var(--text-secondary);margin-top:4px}
.today-setup{display:flex;gap:16px;justify-content:space-between;align-items:center;margin:22px 0 4px;padding:18px 4px;border-top:1px solid var(--border-light);color:var(--text-secondary);font-size:.85rem;line-height:1.6}.today-setup strong{color:var(--text-primary);font-weight:500}.today-setup p{margin:5px 0 0}.today-setup button{flex-shrink:0}
@media(max-width:700px){.today-grid{grid-template-columns:1fr}.today-card{padding:19px}.today-card-heading{gap:12px}.today-heading{padding-top:4px}.today-setup{align-items:flex-start;flex-direction:column}}
@media(max-width:380px){.today-meals li{grid-template-columns:1fr;gap:4px}.today-measures{gap:6px}.today-measures dd{font-size:1.2rem}}
