/* ALEEY: graphite, paper, and one bright yellow signal color. */
:root {
  --bg: #f5f5f3;
  --surface: #fff;
  --ink: #1d1d1d;
  --muted: #777873;
  --line: #e7e7e3;
  --accent: #f4dc00;
  --accent-light: #fff9b7;
  --shadow: 0 10px 30px #1919190a;
}
body { background: #e9e9e7; color: var(--ink); }
.main { background: linear-gradient(180deg,#efefed 0,#f8f8f6 275px,#f8f8f6 100%); }
.card { box-shadow: var(--shadow); }
.date-day { color: #777873; }
.date-day.selected { background: #f4dc00; color: #171717; box-shadow: 0 7px 18px #c1af002b; }
.date-day.selected strong { color: #171717; }
.date-strip { scroll-padding-inline: calc(50% - 27px); }
.date-section { margin: 0 -18px 8px; }
.date-strip { height: 76px; align-items: center; padding-top: 8px; padding-bottom: 8px; }
.date-day,.date-day.selected { transform: none !important; transition: background .18s ease,color .18s ease; }
.feature-eyebrow,.diary-kicker { color: #62635f; }
.calorie-feature { color: #1d1d1d; border-color: #e3e3df; background: linear-gradient(145deg,#e7e7e4,#f5f5f3); box-shadow: 0 13px 30px #2222220c; }
.feature-goal,.feature-remaining { color: #777873; }
.feature-remaining strong { color: #1d1d1d; }
.feature-progress { background: #fff; }
.feature-progress i { background: #f4dc00; }
.dash-macro.violet,.dash-macro.peach,.dash-macro.mint { background: #fff; border-color: #e8e8e4; box-shadow: 0 5px 18px #11111108; }
.dash-macro span,.dash-macro strong small { color: #757672; }
.dash-macro .mini-track { background: #ecece9; }
.dash-macro .mini-track i,.dash-macro.peach .mini-track i,.dash-macro.mint .mini-track i { background: #f4dc00; }
.dash-tile-lilac { background: #222; color: #fff; border: 1px solid #222; }
.dash-tile-coral,.dash-tile-mint,.dash-tile-neutral { background: linear-gradient(150deg,#fff,#f4f4f2); border: 1px solid #e8e8e4; }
.dash-tile-lilac .tile-line,.dash-tile-lilac>span:last-child { color: #d2d2cf; }
.dash-tile-lilac .tile-line svg { stroke: #f4dc00; }
.dash-tile-lilac>span:last-child b { color: #f4dc00; }
.dash-tile .weight-curve.compact path[stroke="#719e98"],.weight-curve path[stroke="#719e98"] { stroke: #2b2b2b; }
.weight-curve circle[stroke="#719e98"] { stroke: #2b2b2b; }
.weight-curve stop { stop-color: #555; }
.diary-scan,.food-cta,.button.accent { background: #f4dc00; color: #171717; box-shadow: none; }
.diary-search-entry { width: 100%; display: flex; align-items: center; gap: 12px; margin: -2px 0 14px; padding: 14px 15px; border: 1px solid #e5e5e1; border-radius: 20px; background: #fff; color: #242424; text-align: left; box-shadow: 0 5px 18px #11111108; }
.diary-search-entry svg { width: 20px; height: 20px; flex: none; stroke: #242424; }
.diary-search-entry span { flex: 1; min-width: 0; font-size: 13px; font-weight: 750; }
.diary-search-entry small { display: block; margin-top: 3px; color: #777873; font-size: 10px; font-weight: 500; }
.diary-search-entry b { font-size: 18px; font-weight: 500; }
.diary-summary>div { background: #222; border-color: #222; color: #fff; }
.diary-summary>div:first-child span,.diary-summary>div:first-child small { color: #d4d4d1; }
.diary-summary>div:nth-child(2) { background: #efefed; border-color: #e8e8e5; color: #1d1d1d; }
.diary-summary>div:nth-child(2) span,.diary-summary>div:nth-child(2) small { color: #777873; }
.diary-macro-line,.meal-tone-0,.meal-tone-1,.meal-tone-2,.meal-tone-3 { background: #fff; border-color: #e8e8e4; }
.meal-mark,.meal-tone-1 .meal-mark,.meal-tone-2 .meal-mark { background: #f1f1ef; color: #252525; }
.meal-plus { background: #f4dc00; color: #1d1d1d; }
.meal-entries { border-top-color: #ededeb; }
.food-finder,.intro-v2 { background: #fff; }
.finder-header small,.intro-v2 p { color: #777873; }
.intro-v2-mark { color: #1d1d1d; background: #f4dc00; }
.finder-close { background: #f0f0ee; color: #1d1d1d; }
.finder-tabs { background: #f0f0ee; }
.finder-tabs button { color: #777873; }
.finder-tabs button.active { color: #1d1d1d; background: #fff; }
.finder-search { background: #fff; border-color: #dfdfdc; }
.finder-search svg,.finder-caption { color: #777873; }
.finder-back,.product-source,.portion-custom summary { color: #363636; }
.finder-result { border-color: #ededeb; }
.result-glyph,.finder-result:nth-child(3n+2) .result-glyph,.finder-result:nth-child(3n+3) .result-glyph { background: #f0f0ee; color: #242424; }
.result-glyph svg { width: 22px; height: 22px; }
.result-arrow { color: #8d8d89; }
.product-panel { background: #f3f3f1; }
.product-placeholder { color: #1d1d1d; background: #f4dc00; font-size: 29px; font-weight: 800; }
.product-placeholder svg { width: 37px; height: 37px; }
.product-top small,.product-code,.product-kcal span,.product-macros span { color: #777873; }
.product-macros span,.portion-preview { background: #fff; }
.portion-options button { color: #424242; border-color: #dcdcd8; }
.portion-options button.active { color: #171717; border-color: #f4dc00; background: #f4dc00; }
.portion-heading,.portion-quantity,.portion-meal { color: #5c5c59; }
.scan-camera { background: #f4dc00; color: #171717; }
.mobile-nav { border-color: #e5e5e1; box-shadow: 0 11px 34px #1e1e1e1c; }
.mobile-nav .nav-item,.mobile-nav .nav-item[data-page=dashboard] { color: #858581; }
.mobile-nav .nav-item.active,.mobile-nav .nav-item[data-page=dashboard].active { background: #242424; color: #fff; }
.mobile-nav .nav-item.active .nav-icon svg { stroke: #f4dc00; }
.mobile-nav .nav-item.active:not([data-page=dashboard]) { background: transparent; color: #1d1d1d; }
.mobile-nav .nav-item.active:not([data-page=dashboard]) .nav-icon svg { stroke: #1d1d1d; }
.mobile-nav .nav-item[data-page=dashboard],.mobile-nav .nav-item[data-page=dashboard].active { width: 54px; min-width: 54px; height: 54px; border-radius: 50%; background: #f4dc00; color: #1d1d1d; }
.mobile-nav .nav-item[data-page=dashboard] .nav-icon svg,.mobile-nav .nav-item[data-page=dashboard].active .nav-icon svg { stroke: #1d1d1d; }
.button { background: #242424; color: #fff; }
.button.secondary { background: #ededeb; color: #242424; }
.text-button,.food-add { color: #242424; }
.weight-entry-icon { background: #f0f0ee; color: #242424; }
.dark-card { background: #242424; color: #fff; }
.dark-card .label,.dark-card .muted-light { color: #d1d1cd; }
.workout-icon,.entry-icon { background: #f0f0ee; color: #242424; }
.workout-icon { font-size: 13px; font-weight: 800; }
.demo-note,.demo-banner { background: #f0f0ee; color: #5e5e5a; border-color: #e2e2de; }
.weight-picker-controls button,.zip-form button { background: #f4dc00; color: #242424; }
.weight-picker-controls input[type=range] { accent-color: #242424; }
.shopping-card,.compare-card { background: #fff; border-color: #e7e7e3; }
.shopping-product { background: #fff; border-color: #e7e7e3; }
.inline-price { background: #f2f2f0; }
.inline-price:hover,.inline-price:focus-visible { background: #ededeb; outline-color: #b7b7b1; }
.inline-price>strong,.market-row a,.all-offers-link,.shop-no-price a,.offer-links a { color: #242424; }
.all-offers-link,.offer-links a { background: #f4dc00; }
.roadmap-intro { color: #424242; background: #f0f0ee; }
.roadmap-stage { color: #242424; background: #f4dc00; }
.photo-box { color: #424242; border-color: #cfcfcb; background: #f3f3f1; }
.check-result { background: #f0f0ee; }
.toast { background: #242424; color: #fff; }

/* Keep small labels, form controls, and overlays in the same neutral palette. */
.dash-tile { box-shadow: 0 8px 25px #2424240a; color: #242424; }
.dash-tile-lilac { color: #fff; }
.dash-tile .tile-line,.dash-tile>span:last-child { color: #777873; }
.dash-tile .tile-line svg { stroke: #777873; }
.dash-tile-lilac .tile-line,.dash-tile-lilac>span:last-child { color: #d2d2cf; }
.dash-tile-lilac .tile-line svg { stroke: #f4dc00; }
.diary-macro-line { color: #777873; }
.diary-macro-line strong,.meal-card-head { color: #242424; }
.meal-card-title small,.meal-entry small,.meal-entry .delete { color: #777873; }
.diary-example-note { margin: -9px 3px 14px; color: #777873; font-size: 10px; text-align: center; }
.meal-entry-open { display: flex; align-items: center; gap: 8px; flex: 1; min-width: 0; border: 0; padding: 0; background: transparent; color: #242424; text-align: left; }
.meal-entry-name { flex: 1; min-width: 0; }
.meal-entry-name strong { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: 12px; }
.meal-entry-name small { display: block; margin-top: 3px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; color: #777873; font-size: 10px; }
.meal-entry-kcal { flex: none; font-size: 11px; font-weight: 750; }
.meal-entry-open::after { content: '›'; color: #999994; font-size: 20px; line-height: 1; }
.meal-entry-open:focus-visible { outline: 2px solid #242424; outline-offset: 3px; border-radius: 5px; }
.meal-entry .delete { width: 34px; height: 34px; flex: none; }
.meal-mark { font-size: 13px; font-weight: 800; letter-spacing: -.04em; }
.add-meal-button { width: 100%; margin: 13px 0 20px; padding: 15px; border: 1px dashed #c9c9c3; border-radius: 20px; background: #f8f8f6; color: #242424; font-size: 13px; font-weight: 750; }
.save-meal { margin-top: 12px; border-top: 1px solid #ededeb; padding-top: 11px; color: #777873; font-size: 11px; }
.save-meal summary { cursor: pointer; font-weight: 700; }
.save-meal-form { display: flex; gap: 7px; margin-top: 10px; }
.save-meal-form input { min-width: 0; flex: 1; border: 1px solid #ddd; border-radius: 11px; padding: 9px; font-size: 14px; }
.save-meal-form button,.meal-template button { border: 0; border-radius: 11px; background: #f4dc00; color: #242424; padding: 9px 11px; font-size: 11px; font-weight: 750; }
.meal-templates { display: grid; gap: 8px; margin-bottom: 20px; }
.meal-template { display: flex; align-items: center; gap: 8px; border: 1px solid #e8e8e4; border-radius: 19px; padding: 14px; background: #fff; }
.meal-template>div { flex: 1; min-width: 0; }
.meal-template strong,.meal-template small { display: block; }
.meal-template strong { font-size: 13px; }
.meal-template small { margin-top: 3px; color: #777873; font-size: 10px; }
.meal-template .template-delete { background: #f1f1ef; font-size: 17px; }
.pan-idea { display: flex; align-items: center; gap: 14px; margin: 0 0 9px; padding: 18px; border: 1px solid #e8e8e4; border-radius: 23px; background: #fff; }
.pan-idea-mark { display: grid; place-items: center; flex: none; width: 46px; height: 46px; border-radius: 16px; background: #f4dc00; color: #222; font-size: 20px; font-weight: 850; }
.pan-idea span,.pan-idea strong,.pan-idea small { display: block; }
.pan-idea span { color: #777873; font-size: 10px; font-weight: 750; text-transform: uppercase; letter-spacing: .08em; }
.pan-idea strong { margin-top: 4px; color: #242424; font-size: 13px; }
.pan-idea small { margin-top: 4px; color: #777873; font-size: 11px; }
.diary-more { margin-bottom: 9px; }
.modal-backdrop { background: #1d1d1d99; }
.food-finder { height: auto; min-height: min(58dvh,490px); max-height: 93dvh; overflow-y: auto; }
.finder-empty,.product-macros b { color: #424242; }
.product-form label,.manual-food label,.portion-custom label { color: #5c5c59; }
.product-form input,.product-form select,.manual-food input,.manual-food select,.scan-area input,.portion-custom input { border-color: #dcdcd8; color: #242424; }
.amount-input span,.scan-status,.scan-area p,.portion-preview,.portion-preview small { color: #777873; }
.portion-preview strong { color: #242424; }
.portion-custom { border-top-color: #e7e7e3; }
.product-identity { min-width: 0; flex: 1; }
.product-identity h3 { overflow-wrap: anywhere; }
.favorite-toggle { width: 40px; height: 40px; flex: none; border: 1px solid #dededa; border-radius: 14px; background: #fff; color: #242424; font-size: 26px; line-height: 1; }
.favorite-toggle.active { border-color: #f4dc00; background: #f4dc00; }
.finder-help { margin: 0 0 4px; color: #777873; font-size: 11px; line-height: 1.45; }
.food-shortcuts { display: flex; gap: 7px; margin: 14px 0 10px; padding-bottom: 2px; overflow-x: auto; scrollbar-width: none; }
.food-shortcuts[hidden],#quickCaption[hidden] { display: none; }
.food-shortcuts::-webkit-scrollbar { display: none; }
.food-shortcuts button { flex: none; border: 1px solid #e3e3df; border-radius: 999px; padding: 8px 12px; background: #fff; color: #64645f; font-size: 11px; font-weight: 700; }
.food-shortcuts button.active { border-color: #242424; background: #242424; color: #fff; }
#savedResults:empty { display: none; }
.saved-result .result-glyph { background: #fff7a8; }

/* Explicit database search, with clear results and no product photos. */
.food-search-form { display: flex; gap: 8px; align-items: stretch; }
.food-search-form .finder-search { min-width: 0; flex: 1; }
.food-search-form .finder-search input { font-size: 16px; }
.food-search-form .button { margin: 0; border-radius: 15px; padding: 0 13px; font-size: 13px; }
#onlineResults:empty { display: none; }
#onlineResults:not(:empty) { margin-top: 15px; }
#onlineResults .database-result .result-glyph { background: #f0f0ee; color: #242424; }
#onlineResults .database-result:first-of-type .result-glyph { background: #f4dc00; }
.database-result small { line-height: 1.3; }
@media (pointer:coarse) {
  .product-form input,.product-form select,.manual-food input,.manual-food select,.scan-area input,.portion-custom input { font-size: 16px; }
}
@media(max-width:360px) {
  .food-search-form .button { padding: 0 9px; }
}
