/* Senior stays in the same chat/call engine; only navigation and geometry change. */
body.vobixSeniorMode { --senior-font:20px; }
body.vobixSeniorMode.seniorExtraLarge { --senior-font:24px; }
body.vobixSeniorMode .seniorHome {
  padding:calc(20px + var(--vobix-safe-top,0px)) max(16px,env(safe-area-inset-right)) calc(24px + var(--vobix-safe-bottom,0px)) max(16px,env(safe-area-inset-left));
  background:#eff8ff;color:#102c44;overscroll-behavior:contain;
}
.seniorHomeInner { max-width:760px;width:100%; }
.seniorBrand {color:#145984;font-size:clamp(30px,6vw,42px);letter-spacing:-1px;line-height:1.2;}
.seniorBrand strong {color:#007cc4;}
.seniorWelcomeNote {font-size:var(--senior-font,20px);margin:8px 0;color:#31516b;}
.seniorGreeting {font-size:var(--senior-font,20px);margin:16px 0;line-height:1.5;overflow-wrap:anywhere;}
.seniorSectionTitle {font-size:var(--senior-font,20px);margin:24px 0 12px;}
body.vobixSeniorMode .seniorActions {grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
body.vobixSeniorMode .seniorAction {
  min-height:124px;flex-direction:column;justify-content:center;gap:10px;padding:16px 10px;
  border:2px solid #a4cce5;border-radius:20px;background:#fff;color:#123a57;box-shadow:0 3px 0 #d1e5f2;
  font-size:var(--senior-font);line-height:1.3;text-align:center;overflow-wrap:anywhere;
}
body.vobixSeniorMode .seniorAction.emergency {border-color:#dfae38;color:#684400;background:#fff6df;box-shadow:0 3px 0 #f2e0b0;}
body.vobixSeniorMode:not(.seniorExtraLarge) #seniorVideoButton {font-size:18px;}
body.vobixSeniorMode .seniorAction>span {overflow-wrap:normal;word-break:normal;}
.seniorActionIcon {width:38px;height:38px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.seniorFavorites {grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.seniorFavorite {font-size:var(--senior-font,20px);padding:14px 10px;border-color:#a4cce5;color:#123a57;overflow-wrap:anywhere;line-height:1.35;}
.seniorFavoriteAvatar {background-color:#dceefa;color:#145984;flex:none;}
.seniorFavoritesEmpty {font-size:var(--senior-font,20px);line-height:1.5;color:#31516b;}
.seniorVoiceGuide,.seniorExit {padding:12px;font-size:var(--senior-font,20px);line-height:1.4;border-color:#a4cce5;color:#123a57;background:#fff;white-space:normal;}
.seniorSupportActions {display:grid;gap:12px;margin-top:24px;}
.seniorSupportActions .seniorVoiceGuide {margin:0;}
.seniorTools {margin-top:20px;}
.seniorTools summary {padding:16px 8px;min-height:56px;font-size:var(--senior-font,20px);cursor:pointer;}
.seniorChatToolbar {display:none;}
body.vobixSeniorMode.vobixSeniorTaskOpen .seniorChatToolbar {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:8px;flex:0 0 auto;background:#eff8ff;}
body.vobixSeniorMode .seniorChatToolbar button {position:static;inset:auto;z-index:auto;min-width:0;width:100%;min-height:56px;padding:10px 6px;border:2px solid #a4cce5;border-radius:14px;background:#fff;color:#123a57;box-shadow:none;font-size:18px;line-height:1.3;white-space:normal;overflow-wrap:anywhere;}
body.vobixSeniorMode .seniorChatToolbar .listening {background:#e7f3ff;color:#075fa6;border-color:#1476c8;}
body.vobixSeniorMode .vobixBrandbar {display:none;}
body.vobixSeniorMode .vobixTopbar {flex:0 0 auto;display:grid;grid-template-columns:48px minmax(0,1fr) repeat(3,48px);gap:4px;padding:8px;min-height:68px;}
body.vobixSeniorMode .vobixTopbar .avatar {display:none;}
body.vobixSeniorMode .vobixTopbar :is(.vobixIconButton,.vobixBackButton) {width:48px;height:48px;min-width:48px;min-height:48px;}
body.vobixSeniorMode .vobixIdentity {min-width:0;}
body.vobixSeniorMode .vobixIdentity strong {font-size:var(--senior-font);line-height:1.3;}
body.vobixSeniorMode .vobixIdentity #vobixConnectionStatus {font-size:14px;}
body.vobixSeniorMode .vobixComposer {flex:0 0 auto;padding:8px;gap:6px;min-height:72px;}
body.vobixSeniorMode .vobixMessageField {min-width:0;padding:2px;gap:0;min-height:56px;}
body.vobixSeniorMode .vobixMessageField #messageInput {width:0;min-width:0;min-height:48px;padding:10px 4px;max-height:96px;font-size:var(--senior-font);}
body.vobixSeniorMode .vobixMessageField .vobixComposerTool {flex:0 0 48px;width:48px;min-width:48px;height:48px;min-height:48px;}
body.vobixSeniorMode .vobixActionSlot {flex:0 0 56px;width:56px;min-width:56px;height:56px;}
body.vobixSeniorMode .vobixComposerAction {width:56px;min-width:56px;height:56px;min-height:56px;}
body.vobixSeniorMode .messageBubble {font-size:var(--senior-font);}
body.vobixSeniorMode .seniorHelpPanel {top:var(--vobix-menu-top,0px);bottom:auto;height:var(--vobix-menu-height,100dvh);padding:calc(12px + var(--vobix-safe-top,0px)) 12px calc(12px + var(--vobix-menu-safe-bottom,0px));box-sizing:border-box;}
body.vobixSeniorMode .seniorHelpPanel .notificationCard {width:min(100%,640px);max-height:100%;min-width:0;overflow-y:auto;padding:20px;overscroll-behavior:contain;}
body.vobixSeniorMode .seniorHelpPanel :is(.profileAction,.profileField,.settingName,.settingDescription,.notificationDescription,.seniorTutorialText) {font-size:var(--senior-font);line-height:1.45;white-space:normal;overflow-wrap:anywhere;}
body.vobixSeniorMode .seniorHelpPanel :is(button,input,textarea,a[role=button]) {min-height:56px;}
body.vobixSeniorMode .seniorHelpPanel .profileAction {width:100%;padding:12px;}
body.vobixSeniorMode .seniorHelpPanel .settingRow {gap:16px;align-items:center;}
body.vobixSeniorMode .seniorHelpPanel .settingInfo {min-width:0;flex:1;}
body.vobixSeniorMode .seniorHelpPanel .vobixSwitch {flex:0 0 60px;width:60px;min-width:60px;min-height:34px;height:34px;border:10px solid transparent;box-sizing:content-box;background-clip:padding-box;}
body.vobixSeniorMode .seniorHelpPanel .vobixSwitch::after {top:4px;left:4px;}
.seniorPanelHeader {display:flex;align-items:center;gap:12px;margin-bottom:12px;}
.seniorPanelHeader h2 {font-size:26px;line-height:1.3;margin:0;flex:1;min-width:0;overflow-wrap:anywhere;}
body.vobixSeniorMode .seniorPanelHeader button {width:auto;min-width:78px;flex:none;}
#seniorContactsHint {font-size:var(--senior-font,20px);line-height:1.5;}
.seniorContactList {display:grid;gap:12px;margin:16px 0;}
.seniorContactRow {display:grid;grid-template-columns:minmax(0,1fr) 56px;gap:8px;}
.seniorContactChoose,.seniorContactStar {padding:10px;border:2px solid #a4cce5;border-radius:16px;color:#123a57;background:white;min-width:0;min-height:64px;font-size:var(--senior-font,20px);}
.seniorContactChoose {display:flex;align-items:center;gap:12px;text-align:left;font-weight:700;line-height:1.4;}
.seniorContactChoose>span:last-child {min-width:0;overflow-wrap:anywhere;}
.seniorContactChoose .seniorFavoriteAvatar {margin:0;width:48px;height:48px;font-size:24px;}
.seniorContactStar {font-size:30px;}
.seniorContactStar[aria-pressed=true] {background:#fff2c7;color:#644300;border-color:#c49a37;}
body.vobixSeniorMode :is(.seniorHome,.seniorHelpPanel,.seniorChatToolbar) :is(button,a,input,summary):focus-visible {outline:3px solid #075fa6;outline-offset:3px;}
body.vobixSeniorMode.seniorHighContrast :is(.seniorHome,.seniorHelpPanel .notificationCard,.seniorChatToolbar,.vobixTopbar,.vobixComposer,.vobixApp,.messages) {background:#fff;color:#000;}
body.vobixSeniorMode.seniorHighContrast :is(.seniorBrand,.seniorBrand strong,.seniorWelcomeNote,.seniorFavoritesEmpty,.notificationDescription,.settingDescription,.seniorTutorialText,.seniorTutorialProgress) {color:#000;}
body.vobixSeniorMode.seniorHighContrast :is(.seniorAction,.seniorFavorite,.seniorVoiceGuide,.seniorExit,.seniorContactChoose,.seniorContactStar,.seniorChatToolbar button,.seniorHelpPanel .profileAction,.seniorHelpPanel .profileField) {background:#fff;color:#000;border:3px solid #000;box-shadow:none;}
body.vobixSeniorMode.seniorHighContrast .seniorHelpPanel .vobixSwitch {background-color:#666;}
body.vobixSeniorMode.seniorHighContrast .seniorHelpPanel .vobixSwitch.on {background-color:#000;}
body.vobixSeniorMode.seniorHighContrast .seniorContactStar[aria-pressed=true] {background:#000;color:#fff;}
body.appLocked :is(.seniorHome,.seniorHelpPanel) {visibility:hidden;}
body:has(#callVideoArea.open) :is(.seniorHome,.seniorHelpPanel,.seniorChatToolbar) {display:none!important;}
body:has(#incomingCallPanel.open) :is(.seniorHome,.seniorHelpPanel,.seniorChatToolbar) {display:none!important;}
/* Playback help belongs to a real playback failure, never permanently over video. */
body.vobixSeniorMode #callVideoArea .seniorCallAudioHelp {display:none;}
body.vobixSeniorMode #callVideoArea.seniorPlaybackBlocked .seniorCallAudioHelp {display:block;top:auto;bottom:calc(120px + var(--vobix-safe-bottom,0px));width:min(88%,360px);}
@media(min-width:600px) {.seniorFavorites {grid-template-columns:repeat(3,minmax(0,1fr));}.seniorSupportActions {grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:480px) {body.vobixSeniorMode.seniorExtraLarge .seniorActions {grid-template-columns:1fr;}body.vobixSeniorMode.seniorExtraLarge .seniorAction {flex-direction:row;justify-content:flex-start;min-height:96px;padding:18px;}}
@media(max-width:360px) {body.vobixSeniorMode .seniorActions {grid-template-columns:1fr;}body.vobixSeniorMode .seniorAction {flex-direction:row;justify-content:flex-start;min-height:86px;padding:16px;}}
@media(max-width:360px) {body.vobixSeniorMode .seniorHelpPanel .notificationCard {padding:14px;}.seniorContactChoose {gap:8px;padding:8px;}.seniorContactChoose .seniorFavoriteAvatar {width:40px;height:40px;}.seniorPanelHeader {flex-wrap:wrap;}}
@media(max-height:500px) {body.vobixSeniorMode .vobixTopbar {padding-block:3px;min-height:54px;}body.vobixSeniorMode .seniorChatToolbar {padding-block:3px;}body.vobixSeniorMode .seniorChatToolbar button {min-height:48px;padding-block:6px;}}

#seniorHome #seniorExitButton{display:block;width:100%;min-height:52px;margin:14px 0 0;border:2px solid #078de2;border-radius:16px;background:#fff;color:#075fa6;font-weight:700;}

/* Latido diario: una sola acción grande, sin presión ni rachas punitivas. */
.seniorHeartbeat{border-color:#078de2!important;color:#064b75!important;box-shadow:0 5px 0 #b7dff7!important}
.seniorHeartbeat.complete{border-color:#176c2a!important;color:#125522!important;background:#eaf8ed!important;box-shadow:none!important}
.seniorHeartbeat:disabled{opacity:1;cursor:default}
.seniorHeartbeatStatus{grid-column:1/-1;margin:-4px 2px 8px;padding:12px 14px;border-radius:14px;background:#eef8ff;color:#123d57;font-size:18px;font-weight:750;line-height:1.45;text-align:center}
body.vobixSeniorMode.seniorHighContrast .seniorHeartbeatStatus{background:#fff;color:#000;border:2px solid #000}
