/* Mobile home: keep controls tappable while using the available width. */
@media(max-width:650px){
 .today-overview>.today-hero{padding:8px;border-radius:20px}
 .today-focus-grid{gap:12px}
 .today-focus-grid .onboarding-complete-content,.today-focus-grid .today-family-card{padding:12px}
 #main .today-focus-grid .today-family-card{padding:12px}
 .today-focus-grid .family-content-title,.today-focus-grid .today-family-card h2{font-size:18px;line-height:1.3}
 .today-focus-grid .family-tasks-intro{font-size:12px;line-height:1.45}
 .today-focus-grid .family-priority-caption{margin-top:10px}
 .today-focus-grid .family-priority-caption+.family-priority-scroll{margin-top:6px}
 .today-focus-grid .family-exam-task{padding:10px;gap:8px}
 .today-focus-grid .family-task-icon{width:28px;height:28px;flex:0 0 28px}
 .today-focus-grid .family-task-icon .icon{width:17px;height:17px}
 .today-focus-grid .family-exam-summary{gap:6px}
 .today-focus-grid .family-exam-summary h4{font-size:13px;line-height:1.35;margin-bottom:3px}
 .today-focus-grid .family-exam-eyebrow{font-size:9px;line-height:1.3;margin-bottom:4px}
 .today-focus-grid .family-exam-clinic{font-size:11px;line-height:1.4}
 .today-focus-grid .family-exam-summary .family-exam-datetime{font-size:12px;gap:3px}
 .today-focus-grid .family-task .family-exam-summary .family-exam-datetime>span{font-size:12px}
 .today-focus-grid .family-exam-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:8px}
 .today-focus-grid .family-exam-meta>span{font-size:11px}
 .today-focus-grid .family-exam-meta small{font-size:10px}
 .today-focus-grid .family-exam-commands{max-width:100px}
 .today-focus-grid .family-task .family-exam-book{font-size:11px;padding:7px 9px;min-height:44px;line-height:1.3}
 .today-focus-grid .family-exam-commands:has(.family-exam-done){grid-column:1/-1;max-width:none}
 .family-carousel-dots{margin:0 0 2px}
 .today-focus-grid .family-supply-tasks{margin:6px 0 10px}
 .today-focus-grid .family-supplies-heading{gap:6px;padding:10px 0 8px}
 .today-focus-grid .family-supplies-heading h4{font-size:10px;letter-spacing:.03em}
 .today-focus-grid .family-supply-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .today-focus-grid .family-supply-row{display:flex;flex-direction:column;align-items:stretch;gap:7px;padding:9px;border:1px solid #dce6df;border-radius:12px;background:#f8fbf9}
 .today-focus-grid .family-supply-photo{width:100%;height:82px;padding:5px;border-radius:9px}
 .today-focus-grid .family-supply-info{flex:1}
 .today-focus-grid .family-supply-info h5{font-size:12px;line-height:1.4;margin-bottom:4px;overflow-wrap:normal}
 .today-focus-grid .family-supply-info p{font-size:11px;line-height:1.4}
 .today-focus-grid .family-supply-days{font-size:11px;line-height:1.4;padding:3px 5px;margin-top:5px}
 .today-focus-grid .family-supply-price strong{font-size:15px!important}
 .today-focus-grid .family-supply-actions{flex-direction:column;align-items:stretch;justify-content:flex-end;gap:5px;margin-top:0}
 .today-focus-grid .family-supply-added{font-size:11px;gap:3px;min-height:28px}
 .today-focus-grid .family-supply-added .icon{width:12px;height:12px;flex:none}
 .today-focus-grid .family-supply-actions .btn{width:100%;min-height:44px;margin:0;font-size:12px;line-height:1.3;padding:7px 5px;gap:5px}
 .today-focus-grid .family-supply-buy .icon{width:14px;height:14px}
 .today-focus-grid .family-supply-note{font-size:10px;line-height:1.4;margin-top:6px}
 .today-focus-grid .onboarding-content-links{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding-top:10px}
 .today-focus-grid .onboarding-content-links a,.today-focus-grid .onboarding-content-links button{font-size:11px;margin:0;min-height:36px;display:inline-flex;align-items:center}
 .today-focus-grid .today-family-card>.row{flex-wrap:nowrap;gap:8px;align-items:center}
 .today-focus-grid .today-family-card>.row>.btn{font-size:11px;padding:8px 10px;min-height:44px;white-space:nowrap}
 .today-focus-grid .today-family{gap:8px;margin-top:8px}
 .today-focus-grid .today-family-person-head{grid-template-columns:32px minmax(0,1fr) 48px;gap:8px;padding:10px;min-height:0}
 .today-focus-grid .today-person-avatar,.today-focus-grid .today-person-avatar .avatar{width:32px;height:32px;min-width:32px;flex-basis:32px}
 .today-focus-grid .today-person-name{display:inline;font-size:13px}
 .today-focus-grid .today-person-name strong{display:inline}
 .today-focus-grid .today-person-info>small{display:inline;margin:0 0 0 5px;font-size:10px}
 .today-focus-grid .today-person-info .today-family-metrics{margin-top:6px;gap:5px 12px}
 .today-focus-grid .today-family-metrics dt{font-size:10px;line-height:1.3}
 .today-focus-grid .today-family-metrics dd{font-size:13px;line-height:1.4}
 .today-focus-grid .today-person-info .today-due-summary{margin-top:6px;font-size:11px;line-height:1.4}
 .today-focus-grid .today-family .today-stage-mini{width:48px;min-height:72px;border-radius:12px;gap:2px;padding:5px 3px}
 .today-focus-grid .today-stage-mini .month-art,.today-focus-grid .today-age-mini .child-age-art{width:26px;height:28px}
 .today-focus-grid .today-stage-mini strong{font-size:18px}
 .today-focus-grid .today-age-mini strong{font-size:13px;white-space:nowrap}
 .today-focus-grid .today-stage-mini strong small,.today-focus-grid .today-stage-mini>span{font-size:8px}
 .today-focus-grid .today-child-care{margin-top:5px;flex-wrap:nowrap;gap:6px}
 .today-focus-grid .today-family .today-child-care :is(a,button){padding:7px 8px;min-height:44px;font-size:11px;gap:4px}
 .today-focus-grid .today-child-care .icon{width:13px;height:13px;flex:none}
 .today-focus-grid .today-add-child{min-height:44px;padding:9px 10px;font-size:12px}
}
.family-section-tabs{display:flex;gap:8px;margin-bottom:16px}
@media(max-width:360px){.today-focus-grid .today-child-care{flex-wrap:wrap}.today-focus-grid .today-family-card>.row{flex-wrap:wrap}}
.family-section-tabs a{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:9px 16px;border-radius:12px;background:#e8efec;color:var(--accent);font-weight:650;font-size:13px;text-decoration:none}
.family-section-tabs a[aria-current=page]{background:var(--accent);color:#fff}
.family-photo-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}
.family-photo-preview a{aspect-ratio:1;border-radius:12px;overflow:hidden;display:block;background:#edf4ef}
.family-photo-preview img{width:100%;height:100%;object-fit:cover;display:block}
.family-photo-panel .row{gap:12px}.family-photo-panel .photo-upload{min-height:44px}
.calendar-visit-list{display:grid;gap:0;margin-top:12px}
.calendar-visit{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;padding:16px 0;text-decoration:none;color:var(--ink);border-top:1px solid #dce6df}
.calendar-visit:first-child{border-top:0;padding-top:4px}
.calendar-visit h3{font-size:16px;line-height:1.4;margin:0 0 5px}
.calendar-visit p{font-size:12px;line-height:1.5;margin:0;color:var(--muted)}
.calendar-visit time{font-size:13px;line-height:1.4;color:var(--accent);font-weight:650;text-align:right}
.calendar-visit time span{display:block;margin-top:4px}
.calendar-visit-status{grid-column:1/-1;font-size:11px;color:var(--accent)}
.calendar-visit:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:8px}
@media(max-width:650px){
 #main .calendar-visits{padding:16px}.calendar-visits h2{font-size:18px}
 .calendar-visits>.row{gap:8px;flex-wrap:nowrap}.calendar-visits>.row>.btn{font-size:11px;padding:8px 10px;min-height:44px;white-space:nowrap}
 .calendar-visit{grid-template-columns:1fr;padding:12px 0;gap:6px}
 .calendar-visit h3{font-size:14px}.calendar-visit time{grid-row:1;text-align:left;display:flex;justify-content:space-between;gap:8px}.calendar-visit time span{margin:0}
 .family-photo-panel{padding:16px}.family-photo-panel h2{font-size:18px}.family-photo-panel .row{align-items:center}
 .family-photo-panel .photo-upload{padding:8px 10px;font-size:12px}
}
