/* Shared interaction baseline. Screen layouts and business handlers remain local. */
html[data-ui-foundation] {
  --ui-touch: 44px;
  --ui-control-radius: 12px;
  --ui-focus-ring: #325b49;
  --ui-error-ink: #a6382a;
}
html[data-ui-foundation] [hidden] { display: none !important; }
html[data-ui-foundation] :is(button, input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]), select, textarea) {
  min-block-size: var(--ui-touch);
  min-inline-size: 0;
  font-family: inherit;
}
html[data-ui-foundation] button { min-inline-size: var(--ui-touch); touch-action: manipulation; }
html[data-ui-foundation] :is(input:not([type=checkbox]):not([type=radio]):not([type=range]), select, textarea) {
  max-inline-size: 100%;
  box-sizing: border-box;
  border-radius: var(--ui-control-radius);
}
html[data-ui-foundation] :is(button, a, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--ui-focus-ring);
  outline-offset: 3px;
}
html[data-ui-foundation] :is(button, input, select, textarea):disabled { cursor: default; }
html[data-ui-foundation] :is(h1,h2,h3) { text-wrap: pretty; }
html[data-ui-foundation] :is(p,dd,.sectionNote,.muted,.subtle) { overflow-wrap: anywhere; }
html[data-ui-foundation] .ui-scroll-region { overflow-x: auto; max-inline-size: 100%; }
html[data-ui-foundation] .ui-scroll-region:focus-visible { outline-offset: -3px; }
html[data-ui-foundation] .ui-inline-checkbox { display: inline-flex; align-items: center; gap: 8px; min-block-size: var(--ui-touch); }
html[data-ui-foundation] .ui-inline-checkbox input { flex-shrink: 0; }
html[data-ui-foundation] [data-ui-keyboard] { min-block-size: var(--ui-touch); cursor: pointer; }
html[data-ui-foundation] .monthItem .m[data-ui-keyboard] { display: inline-flex; align-items: center; min-inline-size: var(--ui-touch); }
html[data-ui-foundation] :is(.primary-link,.button,.back-link) { min-block-size: var(--ui-touch); }
html[data-ui-foundation] :is(.annualInputRow,.monthlyInputRow) { flex-wrap: wrap; }
html[data-ui-foundation] :is(.annualInputRow,.monthlyInputRow) input { flex: 1 1 100px; width: auto; }
html[data-ui-foundation] .categoryNote { white-space: normal; }
html[data-ui-foundation] .eventActions { display: flex; flex-wrap: wrap; gap: 8px; }
html[data-ui-foundation] .eventActions > .annualInputRow { flex: 1 1 100%; }
html[data-ui-foundation] .eventActions > button { flex: 1 1 auto; white-space: normal; }
html[data-ui-foundation] .header-actions #openBrowser { min-block-size: var(--ui-touch); }
html[data-ui-foundation] :is(.annualCat,.row2,.formRow,.rangeRow,.fld,.field) { min-inline-size: 0; }
html[data-ui-foundation] .compact-table .thHead { flex-wrap: wrap; }
html[data-ui-foundation] .filterBtn { line-height: 1.2; }
html[data-ui-foundation] .ui-unavailable { box-sizing: border-box; max-width: 600px; margin: 24px auto; padding: 24px; border: 1px solid #e0e5db; border-radius: 20px; background: #fffefb; color: #23352e; font: 16px/1.7 system-ui,sans-serif; }
html[data-ui-foundation] .ui-unavailable a { color: #325b49; }
@media(max-width:760px) {
  html[data-ui-foundation] :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea) { font-size: 16px; }
  html[data-ui-foundation] :is(.tabs,.meal-tabs,.toolbar,.actions,.buttons) { gap: 8px; }
  html[data-ui-foundation] .home-overview .card-head { gap: 8px; }
}
@media(prefers-reduced-motion:reduce) {
  html[data-ui-foundation] *,html[data-ui-foundation] *::before,html[data-ui-foundation] *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
