/* Patient journal: the same white cards and soft accents as Home/Analytics. */
#screen_logs { background: #f6faf8; padding: 16px 14px var(--mobile-scroll-bottom, 100px); }
body.is-mobile-app #screen_logs { padding: 16px 14px var(--mobile-scroll-bottom, 100px) !important; }
#screen_logs [hidden] { display: none !important; }
#screen_logs .screen-header { margin-bottom: 16px; }
#screen_logs .screen-title { font-family: var(--font-suisseintl, Arial, sans-serif); font-size: 25px; font-weight: 700; color: #124326; margin: 0; }
#screen_logs .logs-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-bottom: 16px; }
#screen_logs .log-btn { min-width: 0; padding: 10px 3px; gap: 7px; border-radius: 12px; background: #fff; border-color: #dce9e2; min-height: 85px; }
#screen_logs .log-btn i { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: #def3e7; color: #256c46; font-size: 20px; }
#screen_logs .log-btn span { font-size: 11px; font-weight: 600; }
#screen_logs .log-btn[data-form="carbs"] i { background: #fff0d6; color: #ae751b; }
#screen_logs .log-btn[data-form="sleep"] i { background: #e9e5fc; color: #645ac4; }
#screen_logs .log-btn[data-form="stress"] i { background: #fff0d6; color: #c58920; }
#screen_logs .log-btn[data-form="menstrual"] i { background: #fbe2e9; color: #c6667c; }
#screen_logs .log-btn.active { background: #eaf5ef; border-color: #4b8964; }
#screen_logs .card, #screen_logs .inline-log-form { border: 1px solid #dce9e2; border-radius: 12px; background: #fff; box-shadow: 0 2px 6px #1b513208; padding: 14px; margin-bottom: 16px; }
#screen_logs .card-title { color: #16472b; font: 700 17px var(--font-suisseintl, Arial, sans-serif); }
#screen_logs .form-group, #screen_logs .journal-time-label { display: flex; flex-direction: column; gap: 8px; margin-bottom: 14px; font-size: 13px; font-weight: 500; line-height: 1.4; }
#screen_logs .form-control { font-size: 16px; min-height: 46px; width: 100%; max-width: 100%; min-width: 0; box-sizing: border-box; border-radius: 10px; background: #fcfefd; border-color: #dce9e2; }
#screen_logs .btn { min-height: 44px; font-size: 13px; border-radius: 10px; }
#screen_logs .btn-primary { background: #246443; border-color: #246443; }
#screen_logs .btn-secondary, #screen_logs .journal-time-edit-button { background: #f0f7f3; color: #245b3d; border-color: #d9e8df; }
#screen_logs .entry-options { display: flex; flex-wrap: wrap; gap: 7px; border: 0; padding: 0; margin: 14px 0; min-width: 0; }
#screen_logs .entry-options legend { margin-bottom: 8px; font-size: 13px; font-weight: 500; line-height: 1.4; }
#screen_logs .entry-options label { display: flex; align-items: center; min-height: 44px; padding: 0 9px; border: 1px solid #dce9e2; border-radius: 10px; background: #f8fbf9; gap: 6px; font-size: 12px; cursor: pointer; }
#screen_logs .entry-options label:has(input:checked) { background: #e3f2e9; border-color: #649675; color: #16472b; }
#screen_logs .entry-options span { border: 0; padding: 0; min-height: 0; border-radius: 0; background: transparent; box-shadow: none; font-size: inherit; }
#screen_logs .entry-options input:checked + span { background: transparent; box-shadow: none; }
#screen_logs .entry-options input { position: static; opacity: 1; accent-color: #246443; width: 16px; height: 16px; flex-shrink: 0; }
#screen_logs .entry-note, #screen_logs .journal-time-hint { color: #626f67; font-size: 12px; line-height: 1.5; margin: 8px 0 14px; }
#screen_logs .entry-error { color: #a53232; font-size: 13px; line-height: 1.5; }
#screen_logs .entry-time { margin: 12px 0; padding: 10px; border-radius: 10px; background: #f4f8f6; font-size: 13px; }
#screen_logs .entry-time summary { min-height: 24px; cursor: pointer; color: #245b3d; }
#screen_logs .entry-time[open] summary { margin-bottom: 10px; }
#screen_logs .entry-presets { display: flex; gap: 7px; }
#screen_logs .entry-presets button { min-height: 44px; border: 1px solid #dce9e2; border-radius: 10px; padding: 0 12px; background: #f0f7f3; color: #245b3d; font-size: 13px; }
#screen_logs .lifestyle-entry > summary { font-size: 17px; color: #16472b; }
#screen_logs .lifestyle-actions { display: grid; grid-template-columns: 1fr; gap: 8px; }
#screen_logs .journal-lifestyle-history { border-top: 1px solid #e3ece6; margin-top: 16px; padding-top: 10px; }
#screen_logs .journal-lifestyle-history summary { display: flex; justify-content: space-between; align-items: center; min-height: 44px; font-size: 13px; font-weight: 600; color: #245b3d; cursor: pointer; }
#screen_logs .journal-lifestyle-history summary span { font-size: 11px; font-weight: 400; color: #626f67; }
#screen_logs .journal-lifestyle-history summary::after { content: '⌄'; }
#screen_logs .journal-lifestyle-history[open] summary::after { content: '⌃'; }
#screen_logs .journal-lifestyle-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 10px 0; border-top: 1px solid #e6ede9; }
#screen_logs .journal-lifestyle-row > div { display: flex; flex-direction: column; gap: 5px; min-width: 0; font-size: 12px; }
#screen_logs .journal-lifestyle-row span { color: #626f67; font-size: 11px; line-height: 1.4; }
#screen_logs .journal-history-filter button { font-size: 12px; border-color: #dce9e2; color: #245b3d; }
#screen_logs .journal-history-filter button[aria-pressed="true"] { background: #e4f2e9; border-color: #8cb49b; }
#screen_logs .recent-feed-container { font-size: 13px; line-height: 1.5; }
#screen_logs .journal-history-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
#screen_logs .journal-history-heading .card-title { margin: 0; }
#screen_logs .journal-history-heading .metric-help { width: 44px; height: 44px; flex-basis: 44px; }
#screen_logs .feed-item { grid-template-columns: minmax(0, 1fr) 44px; align-items: center; gap: 8px; padding: 7px 0; min-height: 58px; }
#screen_logs .feed-item-left { grid-column: 1; min-width: 0; gap: 8px; }
#screen_logs .feed-details { flex: 1; min-width: 0; gap: 3px; }
#screen_logs .feed-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 6px; flex-wrap: wrap; }
#screen_logs .feed-title { font-size: 12px; color: #16472b; }
#screen_logs .feed-time { font-size: 10px; white-space: nowrap; }
#screen_logs .feed-icon { width: 28px; height: 28px; flex-shrink: 0; background: #e4f3ea; }
#screen_logs .feed-val { font-size: 12px; max-width: none; text-align: left; line-height: 1.45; overflow-wrap: anywhere; }
#screen_logs .feed-item > .journal-time-edit-button { grid-column: 2; grid-row: 1; width: 44px; padding: 0; border-radius: 10px; font-size: 17px; }
#screen_logs .feed-item > .journal-time-editor { grid-column: 1 / -1; }
#screen_logs .feed-item:not(.journal-editable) { grid-template-columns: minmax(0, 1fr); }
#screen_logs .journal-source { font-size: 10px; line-height: 1.4; }
#screen_logs .entry-confirmation { background: #eaf5ef; border: 1px solid #d4e7dc; border-radius: 12px; padding: 12px; font-size: 13px; margin-bottom: 16px; }
#screen_logs :focus-visible { outline: 2px solid #246443; outline-offset: 3px; }
#screen_logs button:disabled { opacity: .55; cursor: default; }
@media (max-width: 350px) { #screen_logs .logs-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (prefers-reduced-motion: reduce) { #screen_logs .inline-log-form { animation: none; } }
