.family-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:12px 0}.family-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:16px;margin:20px 0}.family-card-grid>a{color:inherit;text-decoration:none}.family-preline{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65}.meal-week{display:grid;grid-template-columns:repeat(7,minmax(160px,1fr));gap:12px;overflow-x:auto;scroll-snap-type:x proximity;margin:20px 0;padding-bottom:10px}.meal-day{padding:16px;scroll-snap-align:start}.meal-day h2{font-size:17px}.meal-day h2 small{display:block;color:var(--muted,#65736e);font-size:13px;margin-top:6px}.meal-slot{padding:15px 0;border-top:1px solid #e3e9e5;min-height:125px}.meal-slot h3{font-size:15px;overflow-wrap:anywhere}.meal-slot .eyebrow{font-size:10px}.meal-slot button{font-size:12px;padding:6px 10px;min-height:36px}.module-settings-return{display:inline-flex;gap:8px;align-items:center;margin-bottom:18px}.family-mobile-title{display:none}@media(max-width:720px){.meal-week{grid-template-columns:repeat(7,minmax(230px,78vw))}.family-actions>a,.family-actions>button{min-height:44px;display:inline-flex;align-items:center}.family-card-grid{grid-template-columns:1fr}.filter-bar{align-items:stretch}.filter-bar label,.filter-bar input,.filter-bar select{max-width:100%}.family-mobile-title{display:block}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
[data-pwa-install][hidden]{display:none!important}@media(max-width:760px){body{font-size:15px}.sidebar nav a{font-size:13px;min-height:44px}.topbar{height:auto;min-height:48px;padding-top:7px;padding-bottom:7px}.module-grid{gap:14px}.module-card{margin-bottom:0}input,select,textarea{font-size:16px;min-height:44px;max-width:100%}button,.button,.secondary{min-height:44px;max-width:100%}.table-wrap{overflow-x:auto}.panel{min-width:0}.workspace{padding-bottom:env(safe-area-inset-bottom)}.module-settings-return{min-height:44px}.sidebar nav{margin-top:8px}.footer{font-size:11px}main{overflow-wrap:anywhere}}

/* Keep long family data within cards and make the primary meal actions clear. */
.emergency-card-top{max-width:100%;min-width:0}
.emergency-card-top .badge{max-width:100%;white-space:normal;overflow-wrap:anywhere}
a.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:11px 17px;border:1px solid transparent;border-radius:7px;background:var(--green);color:#fff;font-size:12px;font-weight:600;text-align:center;text-decoration:none}
a.button:hover{background:#184739}
a.button:focus-visible{outline:3px solid #739881;outline-offset:3px}
@media(max-width:760px){
  .sidebar .sidebar-bottom{display:flex;margin-top:8px;padding:4px 2px;min-height:48px}
  .sidebar .sidebar-bottom>div:not(.avatar){min-width:0;flex:1;overflow-wrap:anywhere}
  .sidebar .sidebar-bottom .avatar,.sidebar .sidebar-bottom form{flex-shrink:0}
  .sidebar .sidebar-bottom .logout{min-width:44px;min-height:44px}
  main .primary,main .secondary,main .button{max-width:100%;white-space:normal;overflow-wrap:anywhere;text-align:center;min-height:44px}
  .family-card-grid>*,.calendar-agenda article>div{min-width:0}
  .emergency-actions>a,.emergency-category-list li>a,.meal-slot>a,.family-card-grid article>a{display:inline-flex;align-items:center;min-height:44px}
  .calendar-grid .calendar-date{width:100%;min-height:44px;border-radius:7px}
  .calendar-grid .calendar-event{min-height:44px;justify-content:center}
  .calendar-grid .calendar-event small{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .calendar-grid .calendar-event span{font-size:11px;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .calendar-grid .calendar-more{min-height:32px;display:flex;align-items:center}
  .meal-slot button{min-height:44px}
}
