/* Shared reading and touch sizes for the family and resident views. */
body{font-size:16px;line-height:1.6}
button,button.small,button.link,input:not([type=checkbox]):not([type=radio]),select{min-height:44px}
button{min-width:44px}input[type=checkbox],input[type=radio]{width:22px;height:22px;flex-shrink:0}
.checkline{min-height:48px;align-items:center}.field input,.field select,.field textarea{font-size:16px}
.content small,.content .pill,.content .calendar-weekdays,.dialog-body small,.dialog-body .hint,.dialog-body .notice{font-size:14px;line-height:1.6}
.content .organiser-title,.content .notification-title{min-height:44px!important}
.content .hint,.content .subtle-note,.content .device-times small,.content .device-check small,.content .room-row small,.content .brief-window,.content .brief-count,.content .brief-coverage,.content .home-map-caption small,.content .room-selection>small{font-size:14px;line-height:1.6}
.content .home-glance b{font-size:16px}.content .home-glance small{font-size:14px;line-height:1.5}.home-glance button{align-items:center;text-align:left;min-height:88px}
.content .home-quick-summary p{font-size:16px}.content .home-quick-summary .link{font-size:14px;min-height:44px}.content .home-quick-summary .eyebrow{font-size:12px}
.content .home-map-legend,.content .home-map-controls label,.content .room-live-readings b,.content .home-map-caption>.link,.content .admin-tile small{font-size:14px}
.content .home-map-views button{min-height:44px;font-size:14px}.home-model-canvas{min-height:340px}
.content .organiser-item-content small,.content .home-upcoming-item small,.content .organiser-kind,.content .organiser-row>.pill,.content .notification-row small{font-size:14px}
.network-notice{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px;border:1px solid #997127;background:var(--cream);border-radius:10px;margin-bottom:18px;font-size:15px}
[hidden]{display:none!important}.network-notice button{flex-shrink:0}.network-notice b{display:block}
.resident-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 20px}.resident-actions button{display:flex;align-items:center;justify-content:center;gap:10px;min-height:60px;white-space:normal}
.setup-resume{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px;background:var(--cream);border:1px solid var(--line);border-radius:12px;margin-bottom:20px}.setup-resume p{margin:5px 0 0;font-size:14px}.setup-resume button{flex-shrink:0}
.setup-checklist{margin-bottom:24px}.setup-checklist>p{font-size:15px}.setup-checklist ol,.notification-guide ol{padding:0;list-style:none;margin:20px 0 0;display:grid;gap:0}
.setup-checklist li{display:flex;align-items:flex-start;gap:16px;padding:18px 0;border-top:1px solid var(--line)}.setup-checklist li>div{min-width:0;flex:1}.setup-checklist h3{font-size:19px;margin:0}.setup-checklist li p{font-size:15px;margin:6px 0 12px}.setup-step-symbol{display:grid;place-items:center;width:34px;height:34px;background:var(--mist);color:var(--navy);border-radius:50%;flex-shrink:0;font-weight:700}.setup-checklist .complete .setup-step-symbol{background:#d9e8df;color:#214f43}.setup-checklist li[aria-current=step]{border-left:3px solid var(--navy);padding-left:12px}
.setup-complete{margin-bottom:24px}.setup-complete>summary{font-size:16px;min-height:48px}.setup-complete .setup-checklist{margin-top:12px}
.bulk-sensors{display:grid;gap:16px}.bulk-sensors fieldset{border:1px solid var(--line);border-radius:10px;padding:16px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.bulk-sensors legend{font-weight:600;padding:0 6px}.bulk-sensors legend label{display:flex;align-items:center;gap:10px;min-height:44px}.bulk-sensors small,.bulk-sensors [role=status]{grid-column:1/-1;overflow-wrap:anywhere;font-size:14px}
.map-fit-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.map-fit-actions button{font-size:14px;flex:1;white-space:normal}.map-room-list{padding:12px 0;border-top:1px solid var(--line)}.map-room-list summary{min-height:48px;font-size:16px}.map-room-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:320px;overflow-y:auto;padding:4px}.map-room-options button{display:flex;flex-direction:column;text-align:left;align-items:flex-start;gap:4px;min-height:70px;white-space:normal}.map-room-options b{font-size:16px}.map-room-options span{font-size:14px;font-weight:400}.map-room-options [aria-pressed=true]{background:var(--peach);border-color:var(--navy)}
.notification-guide li{padding:15px 0;border-top:1px solid var(--line);counter-increment:notification-step}.notification-guide ol{counter-reset:notification-step}.notification-guide li>b:before{content:counter(notification-step) '. ';color:var(--navy)}.notification-guide p{font-size:15px;margin:8px 0}.inline-icon{display:inline-block;width:25px;height:25px;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.future-connections{margin-top:22px;padding:18px;border:1px solid var(--line);border-radius:12px;background:#fff}.future-connections>summary{min-height:48px;font-size:18px;font-weight:600}.future-connections>p{font-size:15px}.future-connections .sharing-grid{margin-top:18px}
.family-access-check{padding:16px;background:var(--mist);border-radius:10px}.family-access-check p{font-size:15px;margin:12px 0 0}.family-access-readiness{margin-bottom:18px}.family-access-readiness h3{font-size:19px}
.tablet .content .home-quick-summary p,.tablet .content .home-glance b,.tablet .content .room-selection-state,.tablet .content .map-room-options b{font-size:18px}.tablet .content .home-glance small,.tablet .content .hint,.tablet .content .subtle-note,.tablet .content .home-map-caption small,.tablet .content .room-selection>small,.tablet .content .room-live-readings b,.tablet .content .map-room-options span{font-size:16px}.tablet .field input,.tablet .field select,.tablet .field textarea{font-size:18px}.tablet button{min-height:48px}
.tablet .content small,.tablet .content .pill{font-size:16px}body[data-layout=comfortable] #modal button,body[data-layout=comfortable] #modal select,body[data-layout=comfortable] #modal input:not([type=checkbox]):not([type=radio]){min-height:48px;font-size:18px}body[data-layout=comfortable] #modal textarea{font-size:18px}body[data-layout=comfortable] #modal small,body[data-layout=comfortable] #modal .hint,body[data-layout=comfortable] #modal .notice{font-size:16px}
:focus-visible{outline:3px solid var(--navy);outline-offset:3px}.content h1[tabindex='-1']:focus{outline:none}.notification-guide [tabindex='-1']:focus{outline:3px solid var(--navy)}
@media(max-width:760px){.content .home-quick-summary p{font-size:16px}.content .home-glance{grid-template-columns:1fr;gap:0}.content .home-glance button{padding:14px;min-height:75px;border-bottom:1px solid var(--line)}.content .home-glance button:last-child{border:0}.content .home-glance b{font-size:16px}.content .home-glance small{font-size:14px}.content .home-glance .glance-dot{width:10px;height:10px}.content .home-map-caption>.link{font-size:14px}.resident-actions{grid-template-columns:1fr}.setup-resume,.network-notice{align-items:flex-start;flex-direction:column}.setup-resume button,.network-notice button{width:100%}.bulk-sensors fieldset{grid-template-columns:1fr}.map-room-options{grid-template-columns:1fr}.content .home-upcoming-item b,.content .organiser-title{font-size:16px}.content .home-upcoming-item small,.content .organiser-item-content small{font-size:14px}.tablet .content .home-glance b{font-size:18px}.tablet .content .home-glance small{font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.map-fit-actions *{transition:none}}

.appliance-metric{flex:1 1 190px;min-width:0}.appliance-metric dd{font-size:1rem;line-height:1.5;overflow-wrap:anywhere}.appliance-metric small{display:block;color:#526174;font-size:.75rem;margin-top:3px}.appliance-metric .link{display:block;padding:8px 0;min-height:44px;font-size:.8rem;text-align:left}.appliance-settings{border:1px solid #dce4e9;border-radius:14px;padding:16px;min-width:0}.appliance-settings legend{padding:0 6px;font-weight:700}.appliance-settings input,.appliance-settings select{max-width:100%}
