:root {
    --journal-blue-950: var(--dietar-primary-950, #08306b);
    --journal-blue-900: var(--dietar-primary-900, #08519c);
    --journal-blue-700: var(--dietar-primary-700, #2171b5);
    --journal-blue-600: var(--dietar-primary-600, #4292c6);
    --journal-blue-300: var(--dietar-primary-300, #9ecae1);
    --journal-blue-200: var(--dietar-primary-200, #c6dbef);
    --journal-blue-100: var(--dietar-primary-100, #deebf7);
    --journal-blue-50: var(--dietar-primary-50, #f7fbff);
    --journal-border: var(--dietar-border, #d8e4ef);
    --journal-text: var(--dietar-text, #10253f);
    --journal-muted: var(--dietar-muted, #66778b);
    --journal-danger: var(--dietar-danger, #b42318);
    --journal-warning: var(--dietar-warning, #9a6700);
    --journal-radius: 8px;
    --journal-shadow: 0 10px 30px rgba(8, 48, 107, .07);
}

.food-journal-page-body .nutrition-personal-main { overflow: visible; }
.food-journal-page { display: grid; gap: 18px; }
.food-journal-page .eyebrow { color: var(--journal-blue-700) !important; }

.food-journal-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 28px;
    margin: 0 0 18px;
    padding: 24px 26px;
    border: 1px solid var(--journal-border);
    border-radius: var(--journal-radius);
    background:
        radial-gradient(circle at 88% 18%, rgba(66, 146, 198, .18), transparent 30%),
        linear-gradient(135deg, var(--journal-blue-50), #fff 68%);
    box-shadow: var(--journal-shadow);
}
.food-journal-hero h1 { margin: 5px 0 7px; color: var(--journal-text); font-size: clamp(30px, 3.4vw, 44px); line-height: 1.04; letter-spacing: -.035em; }
.food-journal-hero p { max-width: 760px; margin: 0; color: var(--journal-muted); line-height: 1.6; }
.food-journal-date-nav { display: flex; align-items: end; gap: 8px; flex-wrap: wrap; }
.food-journal-date-nav form label { display: grid; gap: 5px; }
.food-journal-date-nav form span { color: var(--journal-muted); font-size: 10px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.food-journal-date-nav input,
.food-journal-plan-select select,
.food-journal-wellbeing input,
.food-journal-wellbeing textarea,
.food-journal-dialog input,
.food-journal-dialog select,
.food-journal-dialog textarea,
.food-journal-copy-dialog input,
.food-journal-copy-dialog select,
.food-journal-copy-dialog textarea {
    width: 100%;
    min-height: 40px;
    padding: 8px 10px;
    border: 1px solid var(--journal-border);
    border-radius: 6px;
    color: var(--journal-text);
    background: #fff;
    outline: none;
}
.food-journal-date-nav input:focus,
.food-journal-dialog input:focus,
.food-journal-dialog select:focus,
.food-journal-dialog textarea:focus,
.food-journal-copy-dialog select:focus { border-color: var(--journal-blue-600); box-shadow: 0 0 0 3px rgba(66, 146, 198, .14); }
.dietar-icon-button.is-disabled { opacity: .35; pointer-events: none; }

.food-journal-schema-warning { border-color: #eccb7a; background: #fffaf0; }
.food-journal-day-heading { display: flex; align-items: end; justify-content: space-between; gap: 18px; padding: 0 2px; }
.food-journal-day-heading h2 { margin: 4px 0 2px; color: var(--journal-text); font-size: clamp(23px, 2.7vw, 32px); letter-spacing: -.025em; }
.food-journal-day-heading p { margin: 0; color: var(--journal-muted); }
.food-journal-day-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
.food-journal-day-actions .button { min-height: 38px; padding: 8px 12px; border-radius: 6px; font-size: 12px; }

.food-journal-overview { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.food-journal-layout { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(290px, .72fr); gap: 16px; align-items: start; }
.food-journal-meals,
.food-journal-aside { display: grid; gap: 12px; }
.food-journal-aside { position: sticky; top: calc(var(--dietar-topbar-height, 72px) + 14px); }
.food-journal-status-legend { display: flex; gap: 6px; flex-wrap: wrap; padding: 2px 0; }
.food-journal-status-summary { margin: -2px 0 0; color: var(--journal-muted); font-size: 12px; font-weight: 700; }
.journal-status { display: inline-flex; align-items: center; width: fit-content; min-height: 22px; padding: 3px 7px; border: 1px solid transparent; border-radius: 999px; font-size: 9px; font-weight: 900; letter-spacing: .035em; text-transform: uppercase; white-space: nowrap; }
.journal-status--planned { color: var(--journal-blue-900); border-color: var(--journal-blue-200); background: var(--journal-blue-50); }
.journal-status--consumed { color: #174a7c; border-color: #b7d4ec; background: #eaf4fb; }
.journal-status--modified { color: #6b4c00; border-color: #efd898; background: #fff8df; }
.journal-status--skipped { color: #667085; border-color: #d0d5dd; background: #f2f4f7; }
.journal-status--extra { color: #5a3f92; border-color: #d8caef; background: #f5f0fc; }

.food-journal-meal__header { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding-bottom: 11px; border-bottom: 1px solid #edf2f7; }
.food-journal-meal__title { display: flex; align-items: center; gap: 10px; min-width: 0; }
.food-journal-meal__dot { flex: 0 0 8px; width: 8px; height: 8px; border-radius: 50%; background: var(--journal-blue-600); box-shadow: 0 0 0 4px var(--journal-blue-100); }
.food-journal-meal__title h2 { margin: 0; color: var(--journal-text); font-size: 18px; }
.food-journal-meal__title p { display: flex; gap: 10px; flex-wrap: wrap; margin: 3px 0 0; color: var(--journal-muted); font-size: 11px; }
.food-journal-meal__actions { display: flex; align-items: center; gap: 5px; flex-wrap: wrap; }
.food-journal-entry-list { display: grid; gap: 6px; margin-top: 10px; }
.food-journal-entry {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(130px, auto) auto;
    align-items: center;
    gap: 12px;
    min-width: 0;
    padding: 10px 11px;
    border: 1px solid #e5edf5;
    border-radius: 6px;
    background: #fbfdff;
}
.food-journal-entry.is-status-skipped { opacity: .66; background: #f7f8fa; }
.food-journal-entry.is-status-skipped h3 { text-decoration: line-through; }
.food-journal-entry.is-status-extra { border-left: 3px solid #8a69bd; }
.food-journal-entry.is-status-modified { border-left: 3px solid #d2a52c; }
.food-journal-entry.is-status-consumed { border-left: 3px solid var(--journal-blue-600); }
.food-journal-entry.is-status-planned { border-left: 3px solid var(--journal-blue-300); }
.food-journal-entry__main { min-width: 0; }
.food-journal-entry__heading { display: flex; align-items: center; gap: 7px; min-width: 0; }
.food-journal-entry h3 { min-width: 0; margin: 0; overflow: hidden; color: var(--journal-text); font-size: 15px; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.food-journal-entry p,
.food-journal-entry small { margin: 3px 0 0; color: var(--journal-muted); font-size: 11px; }
.food-journal-entry__main > small { display: block; }
.food-journal-entry__nutrition { display: grid; justify-items: end; gap: 2px; white-space: nowrap; }
.food-journal-entry__nutrition strong { color: var(--journal-text); font-size: 14px; }
.food-journal-entry__nutrition span { color: var(--journal-muted); font-size: 10px; }
.food-journal-entry__actions { display: flex; align-items: center; justify-content: flex-end; gap: 5px; flex-wrap: wrap; }
.food-journal-empty { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 10px; padding: 13px; border: 1px dashed var(--journal-border); border-radius: 6px; background: var(--journal-blue-50); }
.food-journal-empty p { margin: 0; color: var(--journal-muted); }
.food-journal-empty button { border: 0; color: var(--journal-blue-700); background: transparent; font-size: 11px; font-weight: 850; cursor: pointer; }

.food-journal-side-card header h2 { margin: 4px 0 0; color: var(--journal-text); font-size: 19px; }
.food-journal-progress-card { display: grid; gap: 14px; }
.food-journal-progress {
    --journal-progress: 0%;
    display: grid;
    place-items: center;
    width: 132px;
    aspect-ratio: 1;
    margin: 0 auto;
    border-radius: 50%;
    background: conic-gradient(var(--journal-blue-700) var(--journal-progress), var(--journal-blue-100) 0);
    position: relative;
}
.food-journal-progress::after { content: ''; position: absolute; inset: 12px; border-radius: 50%; background: #fff; }
.food-journal-progress strong,
.food-journal-progress span { position: relative; z-index: 1; }
.food-journal-progress strong { color: var(--journal-text); font-size: 24px; letter-spacing: -.04em; }
.food-journal-progress span { margin-top: -6px; color: var(--journal-muted); font-size: 10px; }
.food-journal-progress-card dl { display: grid; gap: 7px; margin: 0; }
.food-journal-progress-card dl div { display: flex; justify-content: space-between; gap: 12px; padding-top: 7px; border-top: 1px solid #edf2f7; }
.food-journal-progress-card dt { color: var(--journal-muted); font-size: 11px; }
.food-journal-progress-card dd { margin: 0; color: var(--journal-text); font-size: 11px; }
.food-journal-plan-card p,
.food-journal-side-card p { color: var(--journal-muted); line-height: 1.55; }
.food-journal-plan-select label,
.food-journal-wellbeing label,
.food-journal-dialog label,
.food-journal-copy-dialog label { display: grid; gap: 5px; }
.food-journal-plan-select label > span,
.food-journal-wellbeing label > span,
.food-journal-dialog label > span,
.food-journal-copy-dialog label > span { color: var(--journal-muted); font-size: 10px; font-weight: 800; }
.food-journal-small-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.food-journal-wellbeing summary { cursor: pointer; color: var(--journal-text); font-weight: 800; }
.food-journal-wellbeing form { display: grid; gap: 10px; margin-top: 12px; }
.food-journal-wellbeing textarea { resize: vertical; }

.food-journal-history-panel > header { display: flex; align-items: end; justify-content: space-between; gap: 14px; margin-bottom: 13px; }
.food-journal-history-panel h2 { margin: 4px 0 0; color: var(--journal-text); font-size: 21px; }
.food-journal-history-panel a { color: var(--journal-blue-700); font-weight: 800; }

/* Picker: compact, blue and inline. */
.food-journal-page .nutrition-food-dialog-panel { width: min(980px, calc(100vw - 28px)); max-height: calc(100dvh - 28px); overflow: hidden; border: 0; border-top: 4px solid var(--journal-blue-700); border-radius: 0; background: #fff; box-shadow: 0 24px 70px rgba(8, 48, 107, .24); }
.food-journal-page .nutrition-food-dialog-header { padding: 14px 16px; border-bottom: 1px solid var(--journal-border); }
.food-journal-page .nutrition-food-dialog-header h2 { margin: 3px 0 0; font-size: 21px; }
.food-journal-page .nutrition-picker-target { margin: 0; padding: 9px 16px; color: var(--journal-muted); background: var(--journal-blue-50); font-size: 11px; }
.food-journal-page .nutrition-picker-tabs { padding: 8px 16px; border-bottom: 1px solid var(--journal-border); }
.food-journal-page .nutrition-picker-tabs button { border-radius: 5px; }
.food-journal-page .nutrition-picker-tabs button.is-active { color: #fff; background: var(--journal-blue-700); }
.food-journal-page .nutrition-food-dialog-body { min-height: 0; grid-template-columns: 210px minmax(0, 1fr); }
.food-journal-page .nutrition-picker-categories { padding: 10px; background: var(--journal-blue-50); }
.food-journal-page .nutrition-picker-categories button { min-height: 36px; border-radius: 5px; color: var(--journal-text); }
.food-journal-page .nutrition-picker-categories button:hover,
.food-journal-page .nutrition-picker-categories button.is-active { color: #fff; background: var(--journal-blue-700); }
.food-journal-page .nutrition-picker-category-icon { border-radius: 4px; background: var(--journal-blue-100); }
.food-journal-page .nutrition-picker-categories button.is-active .nutrition-picker-category-icon { color: var(--journal-blue-900); background: #fff; }
.food-journal-page .nutrition-food-dialog-content { min-width: 0; padding: 12px 14px 15px; }
.food-journal-page .nutrition-food-dialog-search { margin-bottom: 10px; }
.food-journal-page .nutrition-food-dialog-search label { color: var(--journal-text); }
.food-journal-page .nutrition-food-picker-results { display: grid; gap: 6px; }
.food-journal-page .nutrition-picker-food {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    min-width: 0;
    padding: 9px 10px;
    border: 1px solid var(--journal-border);
    border-radius: 6px;
    background: #fff;
}
.food-journal-page .nutrition-picker-food:hover { border-color: var(--journal-blue-300); background: var(--journal-blue-50); }
.food-journal-page .nutrition-picker-food-copy { display: grid; gap: 2px; min-width: 0; }
.food-journal-page .nutrition-picker-food-name { overflow: hidden; color: var(--journal-blue-900); font-size: 14px; font-weight: 850; text-decoration: none; text-overflow: ellipsis; white-space: nowrap; }
.food-journal-page .nutrition-picker-food-name:hover { text-decoration: underline; }
.food-journal-page .nutrition-picker-food-copy > span,
.food-journal-page .nutrition-picker-food-copy > small { color: var(--journal-muted); font-size: 10px; }
.food-journal-page .nutrition-picker-recipe-heading { display: flex; align-items: center; gap: 7px; min-width: 0; }
.food-journal-page .nutrition-plan-item-badge { flex: 0 0 auto; padding: 2px 6px; border-radius: 999px; color: var(--journal-blue-900); background: var(--journal-blue-100); font-size: 8px; font-weight: 900; }
.food-journal-page .nutrition-picker-food-actions { display: flex; align-items: center; gap: 6px; }
.food-journal-page .nutrition-picker-quantity-control { display: grid; grid-template-columns: 72px minmax(72px, auto); gap: 5px; }
.food-journal-page .nutrition-picker-food-actions input,
.food-journal-page .nutrition-picker-food-actions select { min-height: 34px; padding: 5px 7px; border: 1px solid var(--journal-border); border-radius: 5px; background: #fff; }
.food-journal-page .nutrition-picker-food-actions > input { width: 76px; }
.food-journal-page .nutrition-picker-food-actions > button { min-height: 34px; padding: 6px 10px; border: 0; border-radius: 5px; color: #fff; background: var(--journal-blue-700); font-size: 10px; font-weight: 850; cursor: pointer; }
.food-journal-page .nutrition-picker-equivalent { display: none !important; }

/* Edit and copy dialogs. */
.food-journal-dialog .nutrition-profile-plan-panel,
.food-journal-copy-dialog .nutrition-profile-plan-panel { width: min(760px, calc(100vw - 28px)); max-height: calc(100dvh - 28px); display: flex; flex-direction: column; border: 0; border-top: 4px solid var(--journal-blue-700); border-radius: 0; box-shadow: 0 24px 70px rgba(8, 48, 107, .24); }
.food-journal-dialog__body { min-height: 0; overflow-y: auto; }
.food-journal-entry-form { display: grid; gap: 13px; }
.food-journal-selected-resource { padding: 11px 12px; border: 1px solid var(--journal-blue-200); border-radius: 6px; background: var(--journal-blue-50); }
.food-journal-selected-resource h3 { margin: 3px 0 0; color: var(--journal-text); font-size: 18px; }
.food-journal-selected-resource span { color: var(--journal-blue-700); font-size: 9px; font-weight: 900; text-transform: uppercase; }
.food-journal-entry-fields { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.food-journal-live-preview { padding: 11px; border: 1px solid var(--journal-border); border-radius: 6px; background: var(--journal-blue-50); }
.food-journal-live-preview strong { display: block; color: var(--journal-text); font-size: 17px; }
.food-journal-live-preview span { display: block; margin-top: 3px; color: var(--journal-muted); font-size: 11px; }
.food-journal-copy-form { display: grid; gap: 13px; }
.food-journal-copy-form fieldset { display: grid; gap: 7px; margin: 0; padding: 0; border: 0; }
.food-journal-copy-form legend { margin-bottom: 4px; color: var(--journal-text); font-size: 12px; font-weight: 850; }
.food-journal-copy-form fieldset label { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: 9px; padding: 10px; border: 1px solid var(--journal-border); border-radius: 6px; background: #fff; cursor: pointer; }
.food-journal-copy-form fieldset label:has(input:checked) { border-color: var(--journal-blue-600); background: var(--journal-blue-50); }
.food-journal-copy-form fieldset input { width: auto; min-height: auto; margin-top: 3px; }
.food-journal-copy-form fieldset span { display: grid; gap: 2px; }
.food-journal-copy-form fieldset strong { color: var(--journal-text); font-size: 12px; }
.food-journal-copy-form fieldset small { color: var(--journal-muted); font-size: 10px; }

/* PWA journal for visitors and queued entries. */
.food-journal-public-page .site-main { overflow: visible; }
.food-journal-public-shell { padding: clamp(24px, 4vw, 52px) 0 70px; background: var(--journal-blue-50); }
.food-journal-public-shell > .container { width: min(1320px, calc(100% - 32px)); }
.food-journal-local-notice { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin: 0 0 18px; padding: 13px 15px; border: 1px solid var(--journal-blue-200); border-radius: 7px; background: var(--journal-blue-100); }
.food-journal-local-notice > div:first-child { display: grid; gap: 3px; }
.food-journal-local-notice > div:last-child { display: flex; flex-wrap: wrap; gap: 8px; }
.food-journal-local-notice strong { color: var(--journal-text); }
.food-journal-local-notice span { color: var(--journal-muted); font-size: 12px; }
.food-journal-layout--guest { grid-template-columns: minmax(0, 1.7fr) minmax(280px, .7fr); }
.food-journal-guest-info p,
.food-journal-guest-info li { color: var(--journal-muted); }
.food-journal-entry.is-local { border-color: var(--journal-blue-300); }
.food-journal-entry.is-sync-error { border-color: #fda29b; }

@media (max-width: 1180px) {
    .food-journal-layout { grid-template-columns: 1fr; }
    .food-journal-aside { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 860px) {
    .food-journal-hero { grid-template-columns: 1fr; align-items: start; }
    .food-journal-day-heading { align-items: start; flex-direction: column; }
    .food-journal-day-actions { justify-content: flex-start; }
    .food-journal-overview { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .food-journal-entry { grid-template-columns: minmax(0, 1fr) auto; }
    .food-journal-entry__nutrition { grid-column: 2; grid-row: 1; }
    .food-journal-entry__actions { grid-column: 1 / -1; justify-content: flex-start; padding-top: 7px; border-top: 1px solid #edf2f7; }
    .food-journal-aside { grid-template-columns: 1fr; }
    .food-journal-entry-fields { grid-template-columns: 1fr 1fr; }
    .food-journal-page .nutrition-food-dialog-body { grid-template-columns: 170px minmax(0, 1fr); }
}

@media (max-width: 620px) {
    .food-journal-hero { padding: 18px; }
    .food-journal-date-nav { width: 100%; align-items: end; }
    .food-journal-date-nav form { flex: 1; min-width: 170px; }
    .food-journal-day-actions { width: 100%; }
    .food-journal-day-actions .button { flex: 1 1 100%; }
    .food-journal-overview { grid-template-columns: 1fr 1fr; }
    .food-journal-overview-card { padding: 12px; }
    .food-journal-meal { padding: 11px; }
    .food-journal-meal__header { align-items: start; flex-direction: column; }
    .food-journal-entry { grid-template-columns: 1fr; gap: 8px; }
    .food-journal-entry__heading { align-items: flex-start; flex-direction: column; gap: 4px; }
    .food-journal-entry h3 { white-space: normal; }
    .food-journal-entry__nutrition { grid-column: auto; grid-row: auto; justify-items: start; }
    .food-journal-entry__actions { grid-column: auto; }
    .food-journal-entry__actions button { flex: 1 1 auto; }
    .food-journal-history-panel > header { align-items: start; flex-direction: column; }
    .food-journal-page .nutrition-food-dialog-panel { width: 100vw; max-height: 100dvh; }
    .food-journal-page .nutrition-food-dialog-body { display: block; }
    .food-journal-page .nutrition-picker-categories { display: flex; gap: 5px; overflow-x: auto; padding: 8px 10px; border-bottom: 1px solid var(--journal-border); }
    .food-journal-page .nutrition-picker-categories button { flex: 0 0 auto; }
    .food-journal-page .nutrition-picker-category-icon { display: none; }
    .food-journal-page .nutrition-picker-food { grid-template-columns: 1fr; align-items: start; }
    .food-journal-page .nutrition-picker-food-actions { width: 100%; }
    .food-journal-page .nutrition-picker-quantity-control { flex: 1; grid-template-columns: minmax(70px, .8fr) minmax(90px, 1.2fr); }
    .food-journal-page .nutrition-picker-food-actions > button { flex: 0 0 auto; }
    .food-journal-entry-fields,
    .food-journal-small-grid { grid-template-columns: 1fr; }
    .food-journal-dialog .nutrition-profile-plan-panel,
    .food-journal-copy-dialog .nutrition-profile-plan-panel { width: 100vw; max-height: 100dvh; }
    .food-journal-public-shell > .container { width: min(100% - 20px, 1320px); }
    .food-journal-local-notice { align-items: flex-start; flex-direction: column; }
    .food-journal-layout--guest { grid-template-columns: 1fr; }
}

/* Guest journal plan source. */
.food-journal-plan-source__title {
    display: block;
    margin: 2px 0 8px;
    color: var(--journal-text);
    font-size: 16px;
    line-height: 1.35;
}
.food-journal-plan-source .button,
.food-journal-guest-info .button { width: 100%; justify-content: center; margin-top: 10px; }
.food-journal-public-shell .food-journal-page { gap: 16px; }
.food-journal-public-shell .food-journal-hero { margin-bottom: 16px; }

/* Food journal stage 2: compact comparison, status control and responsive cards. */
.food-journal-comparison {
    display: grid;
    gap: 12px;
    padding: 16px;
    border: 1px solid var(--journal-border);
    border-radius: 7px;
    background: #fff;
    box-shadow: 0 6px 22px rgba(8, 48, 107, .045);
}
.food-journal-comparison > header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 24px;
}
.food-journal-comparison > header h2 {
    margin: 3px 0 0;
    color: var(--journal-text);
    font-size: clamp(20px, 2vw, 26px);
    letter-spacing: -.025em;
}
.food-journal-comparison > header p {
    max-width: 580px;
    margin: 0;
    color: var(--journal-muted);
    font-size: 11px;
    line-height: 1.55;
}
.food-journal-comparison__grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
}
.food-journal-metric {
    min-width: 0;
    padding: 11px;
    border: 1px solid var(--journal-border);
    border-radius: 6px;
    background: var(--journal-blue-50);
}
.food-journal-metric h3 {
    margin: 0 0 8px;
    color: var(--journal-text);
    font-size: 13px;
}
.food-journal-metric dl {
    display: grid;
    gap: 5px;
    margin: 0;
}
.food-journal-metric dl > div {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px;
    padding-top: 5px;
    border-top: 1px solid rgba(198, 219, 239, .75);
}
.food-journal-metric dt {
    color: var(--journal-muted);
    font-size: 9px;
    font-weight: 750;
}
.food-journal-metric dd {
    display: inline-flex;
    align-items: baseline;
    gap: 3px;
    margin: 0;
    color: var(--journal-text);
    font-size: 10px;
    white-space: nowrap;
}
.food-journal-metric dd strong { font-size: 13px; }
.food-journal-metric dd span { color: var(--journal-muted); font-size: 9px; }
.food-journal-metric .is-consumed { border-top-color: var(--journal-blue-300); }
.food-journal-metric .is-consumed strong { color: var(--journal-blue-900); }
.food-journal-metric .is-difference strong.is-over { color: var(--journal-danger); }
.food-journal-metric .is-difference strong.is-under { color: var(--journal-blue-700); }

.food-journal-status-control {
    position: relative;
    z-index: 5;
    flex: 0 0 auto;
}
.food-journal-status-control > .journal-status {
    gap: 4px;
    border: 1px solid currentColor;
    cursor: pointer;
    appearance: none;
}
.food-journal-status-control > .journal-status i {
    font-style: normal;
    font-size: 10px;
    line-height: 1;
    transition: transform .15s ease;
}
.food-journal-status-control > .journal-status[aria-expanded="true"] i { transform: rotate(180deg); }
.food-journal-status-menu {
    position: absolute;
    z-index: 90;
    top: calc(100% + 5px);
    left: 0;
    width: max-content;
    min-width: 172px;
    padding: 5px;
    border: 1px solid var(--journal-border);
    border-radius: 5px;
    background: #fff;
    box-shadow: 0 14px 36px rgba(8, 48, 107, .17);
}
.food-journal-status-menu[hidden] { display: none !important; }
.food-journal-status-menu button {
    display: block;
    width: 100%;
    padding: 7px 8px;
    border: 0;
    border-radius: 4px;
    color: var(--journal-text);
    text-align: left;
    background: transparent;
    font-size: 10px;
    font-weight: 750;
    cursor: pointer;
}
.food-journal-status-menu button:hover { color: var(--journal-blue-900); background: var(--journal-blue-50); }

.food-journal-entry {
    grid-template-columns: minmax(0, 1fr) minmax(118px, auto) auto;
    padding: 8px 9px;
    border-radius: 5px;
}
.food-journal-entry h3 { font-size: 16px; }
.food-journal-entry__actions button { min-height: 28px; padding: 4px 7px; }
.food-journal-side-macros em { color: var(--journal-muted); font-style: normal; font-weight: 750; }
.food-journal-side-macros span { color: var(--journal-muted); }

@media (max-width: 1180px) {
    .food-journal-comparison__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
    .food-journal-comparison > header { align-items: start; flex-direction: column; gap: 6px; }
    .food-journal-comparison__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .food-journal-metric:first-child { grid-column: 1 / -1; }
}

@media (max-width: 620px) {
    .food-journal-comparison { padding: 11px; }
    .food-journal-comparison__grid { grid-template-columns: 1fr; }
    .food-journal-metric:first-child { grid-column: auto; }
    .food-journal-metric dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .food-journal-metric dl > div { display: grid; justify-content: initial; gap: 2px; }
    .food-journal-entry__heading { align-items: center; flex-direction: row; }
    .food-journal-status-menu { position: fixed; inset: auto 12px 12px; width: auto; min-width: 0; }
}

/* Food journal stage 3: day strip and compact consumption analytics. */
.food-journal-week-nav {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) 38px auto auto;
    align-items: center;
    gap: 8px;
    padding: 9px;
    border: 1px solid var(--journal-border);
    border-radius: 6px;
    background: #fff;
    box-shadow: 0 5px 18px rgba(8, 48, 107, .045);
}
.food-journal-week-tabs {
    display: grid;
    grid-template-columns: repeat(7, minmax(62px, 1fr));
    gap: 6px;
    min-width: 0;
}
.food-journal-week-tab {
    display: grid;
    grid-template-columns: auto auto;
    align-items: center;
    justify-content: center;
    gap: 1px 5px;
    min-height: 52px;
    padding: 6px 8px;
    border: 1px solid #e5edf5;
    border-radius: 5px;
    color: var(--journal-text);
    text-decoration: none;
    background: #fff;
    transition: border-color .15s ease, background .15s ease, color .15s ease;
}
.food-journal-week-tab small {
    grid-column: 1 / -1;
    color: var(--journal-muted);
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.food-journal-week-tab strong { font-size: 18px; line-height: 1; }
.food-journal-week-tab em { color: var(--journal-muted); font-size: 10px; font-style: normal; }
.food-journal-week-tab:hover { border-color: var(--journal-blue-300); background: var(--journal-blue-50); }
.food-journal-week-tab.is-active { border-color: var(--journal-blue-700); color: #fff; background: var(--journal-blue-700); }
.food-journal-week-tab.is-active small,
.food-journal-week-tab.is-active em { color: rgba(255, 255, 255, .8); }
.food-journal-week-tab.is-today:not(.is-active) { border-color: var(--journal-blue-300); box-shadow: inset 0 -2px 0 var(--journal-blue-600); }
.food-journal-week-tab.is-disabled { opacity: .38; cursor: default; }
.food-journal-week-nav__arrow {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border: 1px solid var(--journal-border);
    border-radius: 5px;
    color: var(--journal-blue-900);
    text-decoration: none;
    background: var(--journal-blue-50);
    font-size: 25px;
    line-height: 1;
}
.food-journal-week-nav__arrow:hover { border-color: var(--journal-blue-300); background: var(--journal-blue-100); }
.food-journal-week-nav__arrow.is-disabled { opacity: .32; pointer-events: none; }
.food-journal-date-jump input { min-width: 0; flex: 1; border: 1px solid var(--journal-border); border-radius: 4px; padding: 7px; }
.food-journal-analytics__header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
}
.food-journal-analytics__header h2 { margin: 3px 0 0; color: var(--journal-text); font-size: clamp(20px, 2vw, 26px); letter-spacing: -.025em; }
.food-journal-analytics__header > p { margin: 0; color: var(--journal-muted); font-size: 11px; font-weight: 800; }
.food-journal-analytics__summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.food-journal-analytics__summary article { min-width: 0; padding: 11px 12px; border: 1px solid var(--journal-border); border-radius: 6px; background: var(--journal-blue-50); }
.food-journal-analytics__summary span,
.food-journal-analytics__summary small { display: block; color: var(--journal-muted); font-size: 9px; font-weight: 800; }
.food-journal-analytics__summary strong { display: block; margin: 5px 0 3px; color: var(--journal-text); font-size: clamp(20px, 2.2vw, 28px); line-height: 1; }
.food-journal-analytics__body { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(280px, .75fr); gap: 10px; }
.food-journal-week-chart,
.food-journal-week-averages { min-width: 0; padding: 12px; border: 1px solid var(--journal-border); border-radius: 6px; background: #fff; }
.food-journal-week-chart > header,
.food-journal-week-averages > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.food-journal-week-chart h3,
.food-journal-week-averages h3 { margin: 0; color: var(--journal-text); font-size: 15px; }
.food-journal-week-chart > header div { display: flex; gap: 10px; color: var(--journal-muted); font-size: 9px; font-weight: 800; }
.food-journal-week-chart > header span::before { content: ''; display: inline-block; width: 7px; height: 7px; margin-right: 4px; border-radius: 2px; }
.food-journal-week-chart > header .is-planned::before { background: var(--journal-blue-200); }
.food-journal-week-chart > header .is-consumed::before { background: var(--journal-blue-700); }
.food-journal-week-chart__days { display: grid; grid-template-columns: repeat(7, minmax(44px, 1fr)); gap: 6px; min-height: 170px; }
.food-journal-week-chart__day { display: grid; grid-template-rows: minmax(110px, 1fr) auto auto; gap: 3px; min-width: 0; padding: 5px; border: 1px solid transparent; border-radius: 5px; color: var(--journal-text); text-align: center; text-decoration: none; }
.food-journal-week-chart__day:hover,
.food-journal-week-chart__day.is-active { border-color: var(--journal-blue-300); background: var(--journal-blue-50); }
.food-journal-week-chart__bars { display: flex; align-items: end; justify-content: center; gap: 3px; min-height: 110px; }
.food-journal-week-chart__bars i { width: min(14px, 38%); height: var(--bar-height); min-height: 2px; border-radius: 3px 3px 1px 1px; }
.food-journal-week-chart__bars i.is-planned { background: var(--journal-blue-200); }
.food-journal-week-chart__bars i.is-consumed { background: var(--journal-blue-700); }
.food-journal-week-chart__day strong { font-size: 10px; }
.food-journal-week-chart__day > span { color: var(--journal-muted); font-size: 10px; }
.food-journal-week-averages > header { align-items: start; flex-direction: column; gap: 2px; }
.food-journal-week-averages > header p { margin: 0; color: var(--journal-muted); font-size: 10px; }
.food-journal-week-averages dl { display: grid; gap: 7px; margin: 0; }
.food-journal-week-averages dl > div { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; padding-top: 7px; border-top: 1px solid #edf2f7; }
.food-journal-week-averages dt { color: var(--journal-muted); font-size: 10px; font-weight: 800; }
.food-journal-week-averages dd { margin: 0; text-align: right; }
.food-journal-week-averages dd strong { color: var(--journal-text); font-size: 13px; }
.food-journal-week-averages dd span { display: block; color: var(--journal-muted); font-size: 9px; }
.food-journal-week-averages__difference { margin: 10px 0 0; padding: 8px; border-radius: 5px; color: var(--journal-blue-900); background: var(--journal-blue-50); font-size: 10px; }
.food-journal-week-averages__difference.is-over { color: var(--journal-danger); background: #fff3f1; }
.food-journal-history-calendar { border-top: 1px solid #edf2f7; padding-top: 10px; }
.food-journal-history-calendar > summary { width: fit-content; color: var(--journal-blue-900); font-size: 11px; font-weight: 850; cursor: pointer; }
.food-journal-history-calendar__grid { display: grid; grid-template-columns: repeat(14, minmax(34px, 1fr)); gap: 5px; margin-top: 10px; }
.food-journal-history-day { display: grid; place-items: center; min-height: 42px; padding: 4px; border: 1px solid #edf2f7; border-radius: 4px; color: var(--journal-text); text-decoration: none; background: #fff; }
.food-journal-history-day small { color: var(--journal-muted); font-size: 7px; font-weight: 850; text-transform: uppercase; }
.food-journal-history-day strong { font-size: 12px; }
.food-journal-history-day.level-1 { background: #f1f7fc; }
.food-journal-history-day.level-2 { background: #deebf7; }
.food-journal-history-day.level-3 { color: #08306b; background: #9ecae1; }
.food-journal-history-day.level-4 { color: #fff; border-color: var(--journal-blue-700); background: var(--journal-blue-700); }
.food-journal-history-day.is-active { outline: 2px solid var(--journal-blue-900); outline-offset: 1px; }

.food-journal-local-notice,
.food-journal-guest-info { display: none !important; }

@media (max-width: 1000px) {
    .food-journal-week-nav { grid-template-columns: 36px minmax(0, 1fr) 36px; }
    .food-journal-date-jump,
    .food-journal-today-link { grid-row: 2; }
    .food-journal-date-jump { grid-column: 2; justify-self: start; }
    .food-journal-today-link { grid-column: 2; justify-self: end; }
    .food-journal-analytics__summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .food-journal-analytics__body { grid-template-columns: 1fr; }
    .food-journal-history-calendar__grid { grid-template-columns: repeat(7, minmax(34px, 1fr)); }
}

@media (max-width: 700px) {
    .food-journal-week-nav { grid-template-columns: 34px minmax(0, 1fr) 34px; padding: 7px; }
    .food-journal-week-tabs { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; }
    .food-journal-week-tab { flex: 0 0 64px; scroll-snap-align: center; }
    .food-journal-date-jump form { right: auto; left: 0; }
    .food-journal-analytics { padding: 11px; }
    .food-journal-analytics__header { align-items: start; flex-direction: column; gap: 4px; }
    .food-journal-week-chart__days { overflow-x: auto; grid-template-columns: repeat(7, 58px); }
    .food-journal-history-calendar__grid { grid-template-columns: repeat(7, minmax(32px, 1fr)); }
}

@media (max-width: 470px) {
    .food-journal-analytics__summary { grid-template-columns: 1fr 1fr; }
    .food-journal-analytics__summary article { padding: 9px; }
    .food-journal-week-averages dl > div { align-items: start; flex-direction: column; gap: 2px; }
    .food-journal-week-averages dd { text-align: left; }
}


/* Stage 4: compact optional account CTA and no duplicated local labels. */
.food-journal-account-cta {
    display: grid;
    gap: 12px;
    border-color: var(--journal-blue-200);
    background: linear-gradient(145deg, #fff, var(--journal-blue-50));
}
.food-journal-account-cta h2 { margin: 4px 0 5px; font-size: 17px; }
.food-journal-account-cta p { margin: 0; font-size: 12px; }
.food-journal-account-cta .button { width: 100%; justify-content: center; margin: 0; }

/* Stare jurnal gol: nu afișăm o interfață fără conținut după ștergerea datelor. */
.food-journal-empty-state[hidden],
.food-journal-page[hidden] { display: none !important; }
.food-journal-empty-state {
    width: min(720px, calc(100% - 32px));
    display: grid;
    justify-items: center;
    gap: 10px;
    margin: clamp(28px, 5vw, 70px) auto;
    padding: clamp(30px, 5vw, 52px);
    border: 1px solid var(--journal-border, #d8e5f1);
    border-radius: 6px;
    background: #fff;
    box-shadow: 0 14px 38px rgba(8, 48, 107, .08);
    text-align: center;
}
.food-journal-empty-state__icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: var(--journal-blue-700, #2379bd);
    background: var(--journal-blue-100, #e6f2fc);
    font-size: 30px;
    line-height: 1;
}
.food-journal-empty-state h2 {
    margin: 0;
    color: var(--journal-text, #0b2d54);
    font-size: clamp(22px, 3vw, 30px);
}
.food-journal-empty-state p {
    max-width: 540px;
    margin: 0 0 6px;
    color: var(--journal-muted, #6d8399);
    line-height: 1.55;
}


/* Journal blue palette hardening: the nutrition theme must not reintroduce green controls. */
body.food-journal-public-page,
body.food-journal-page-body {
    --accent: #2171b5 !important;
    --accent-dark: #08519c !important;
    --soft: #f1f7fc !important;
    --ink: #10253f !important;
    --text: #29435f !important;
    --muted: #66778b !important;
    --border: #d8e4ef !important;
    --page: #f7fbff !important;
    --nutrition-blue: #4292c6 !important;
    --nutrition-shadow: 0 18px 55px rgba(8, 48, 107, .11) !important;
    --nutrition-shadow-sm: 0 8px 28px rgba(8, 48, 107, .08) !important;
}

body.food-journal-public-page .site-header--nutrition .header-cta,
body.food-journal-public-page .primary-nav-mobile-actions .button,
body.food-journal-public-page .food-journal-page .button:not(.secondary),
body.food-journal-page-body .food-journal-page .button:not(.secondary) {
    border-color: var(--journal-blue-700) !important;
    color: #fff !important;
    background: var(--journal-blue-700) !important;
    box-shadow: 0 10px 25px rgba(33, 113, 181, .22) !important;
}

body.food-journal-public-page .site-header--nutrition .header-cta:hover,
body.food-journal-public-page .primary-nav-mobile-actions .button:hover,
body.food-journal-public-page .food-journal-page .button:not(.secondary):hover,
body.food-journal-page-body .food-journal-page .button:not(.secondary):hover {
    border-color: var(--journal-blue-900) !important;
    color: #fff !important;
    background: var(--journal-blue-900) !important;
}

body.food-journal-public-page .site-header--nutrition .primary-nav .menu-item > a,
body.food-journal-public-page .site-header--nutrition .header-link {
    color: var(--journal-text) !important;
}

body.food-journal-public-page .site-header--nutrition .primary-nav .menu-item > a::after {
    background: var(--journal-blue-700) !important;
}

body.food-journal-public-page .site-header--nutrition .primary-nav .menu-item > a:hover,
body.food-journal-public-page .site-header--nutrition .primary-nav .menu-item.is-active > a {
    color: var(--journal-blue-900) !important;
    background: var(--journal-blue-50) !important;
}

.food-journal-page .food-journal-week-tab.is-active {
    border-color: var(--journal-blue-700) !important;
    color: #fff !important;
    background: var(--journal-blue-700) !important;
}

.food-journal-page .food-journal-week-tab.is-today:not(.is-active) {
    border-color: var(--journal-blue-300) !important;
    box-shadow: inset 0 -2px 0 var(--journal-blue-600) !important;
}

.food-journal-page [data-confirm-day],
.food-journal-page .food-journal-day-actions .button.secondary {
    border-color: var(--journal-blue-300) !important;
    color: var(--journal-blue-900) !important;
    background: #fff !important;
    box-shadow: none !important;
}

.food-journal-page [data-confirm-day]:hover,
.food-journal-page .food-journal-day-actions .button.secondary:hover {
    border-color: var(--journal-blue-700) !important;
    color: var(--journal-blue-900) !important;
    background: var(--journal-blue-100) !important;
}

.food-journal-page .nutrition-picker-tabs button.is-active,
.food-journal-page .nutrition-picker-categories button.is-active,
.food-journal-page .nutrition-picker-food-actions > button,
.food-journal-page .food-journal-date-jump button {
    border-color: var(--journal-blue-700) !important;
    color: #fff !important;
    background: var(--journal-blue-700) !important;
}

.food-journal-page .food-journal-progress {
    background: conic-gradient(var(--journal-blue-700) var(--journal-progress), var(--journal-blue-100) 0) !important;
}
