/* Focused extensions to the established Dayly tokens and component language. */
.food-methods { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:20px 0 28px; }
.food-method { min-height:94px; padding:18px; text-align:left; border:1px solid var(--border); background:var(--surface-2); color:var(--text); border-radius:var(--radius-md,12px); cursor:pointer; }
.food-method strong,.food-method span { display:block; } .food-method span { margin-top:7px; color:var(--text-secondary); font-size:12px; }
.food-method:hover,.food-result:hover { background:var(--surface-3); border-color:var(--accent); }
.food-section-title { font-size:15px; margin:22px 0 12px; }
.library-list { display:grid; gap:10px; margin:16px 0; }
.library-item { padding:16px; border-radius:12px; background:var(--surface-2); min-width:0; }
.library-item p { font-size:13px; color:var(--text-secondary); line-height:1.6; margin:8px 0; }
.food-result { width:100%; text-align:left; padding:16px; border:1px solid var(--border); border-radius:12px; background:var(--surface-2); color:var(--text); cursor:pointer; }
.food-result strong,.food-result span,.food-result small { display:block; overflow-wrap:anywhere; }
.food-result span,.food-result small { margin-top:6px; font-size:12px; color:var(--text-secondary); }
.food-search-row { display:flex; align-items:center; gap:10px; margin:12px 0; }.food-search-row .input { min-width:0; flex:1; }
.food-source { font-size:12px; color:var(--accent); line-height:1.5; }
.compact-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:10px; }
.compact-actions .btn { min-height:44px; }
.food-check { display:flex; align-items:center; gap:12px; min-height:48px; padding:8px 0; font-size:14px; }
.food-check input { width:18px; height:18px; accent-color:var(--accent); }
.food-portion { padding:18px; border-radius:14px; background:var(--surface-2); margin:22px 0; }
.food-portion h3 { font-size:15px; margin-bottom:15px; }
.food-advanced { margin:18px 0; }.food-advanced summary { min-height:44px; padding:12px 0; cursor:pointer; color:var(--text-secondary); }
.sheet .field__label { margin-top:14px; }.sheet .field--uncertain small { display:block; color:var(--text-secondary); margin-top:6px; }
.field--uncertain .input { border-style:dashed; }
.sheet [role=alert]:not(:empty) { padding:12px; background:var(--surface-2); border-left:3px solid var(--accent); border-radius:6px; font-size:13px; }
.barcode-frame { position:relative; height:210px; background:var(--surface-2); border-radius:14px; overflow:hidden; margin-top:12px; }
.barcode-frame video { width:100%; height:100%; object-fit:cover; }.barcode-frame>span { position:absolute; inset:28% 12%; border:2px solid var(--accent); border-radius:10px; pointer-events:none; }
.label-preview { display:block; max-width:100%; max-height:230px; object-fit:contain; margin:15px auto; border-radius:12px; }
.routine-review { padding-left:20px; margin:20px 0; line-height:1.9; color:var(--text-secondary); }
.dayly-toast,.save-notice { position:fixed; z-index:1000; bottom:90px; left:50%; transform:translateX(-50%); width:max-content; max-width:calc(100vw - 32px); padding:14px 18px; background:var(--surface-3); color:var(--text); border:1px solid var(--border-strong); border-radius:14px; box-shadow:0 8px 24px #0003; font-size:13px; }
.save-notice { bottom:150px; display:flex; align-items:center; gap:12px; }
.preview-banner { padding:10px 18px; color:var(--text-secondary); background:var(--surface-2); text-align:center; font-size:12px; line-height:1.5; }
.meal-edit { display:flex; gap:12px; justify-content:space-between; width:100%; background:none; border:0; color:var(--text); padding:10px 0; cursor:pointer; text-align:left; min-height:44px; }
.meal-edit .meal-list__name { min-width:0; overflow-wrap:anywhere; }.meal-edit .meal-list__macros { flex-shrink:0; }
.pricing-options { display:grid; gap:12px; margin:24px 0; }.pricing-option { padding:20px; background:var(--surface-2); border-radius:14px; }.pricing-option header { display:flex; justify-content:space-between; gap:15px; margin-bottom:18px; }.pricing-option h3 { font-size:15px; }.pricing-option strong { font-size:28px; }.pricing-option p,.pricing-option small { display:block; font-size:12px; color:var(--text-secondary); margin-top:10px; line-height:1.5; }
.water-pip { transition:background-color .32s ease,transform .25s ease; }
.day-picker { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin:12px 0; }
.day-picker .input { width:auto; max-width:100%; min-height:44px; }
.day-picker .field__label { margin:0; }
.day-picker [aria-pressed=true] { border-color:var(--accent); }
.day-picker__calendar { display:flex; align-items:center; gap:10px; }
@media(max-width:620px) {
  .today-hero--past .page-header__title { font-size:30px; line-height:1.15; }
  .day-picker__calendar { flex-basis:100%; }
}
.habit-check.is-on { transition:background-color .18s ease; }
@media(max-width:420px) { .food-method { padding:14px; min-height:104px; }.food-method strong { font-size:13px; }.food-search-row { flex-wrap:wrap; }.food-search-row>.btn { flex:1; }.meal-edit { flex-direction:column; gap:4px; }.food-methods { gap:8px; } }
@media(prefers-reduced-motion:reduce) { .water-pip,.habit-check,.bar__fill { transition:none!important; } }
