/* VobixChat — ajustes simples, originales y accesibles. Conserva los enlaces y formularios. */
body.vobixCompactNavigation .accountWrap,body.vobixCompactNavigation .phaseWrap,
body.vobixCompactNavigation .securityWrap{box-sizing:border-box;max-width:720px;width:100%;margin-inline:auto;padding-inline:clamp(12px,4vw,24px);overflow-wrap:anywhere}
body.vobixCompactNavigation :is(.accountLinks,.securityCentralLinks){max-width:100%;min-width:0}
body.vobixCompactNavigation .accountLinks>a{display:flex;align-items:center;min-height:52px;padding:13px 16px;gap:8px;border-bottom:1px solid #d9e8f2;text-decoration:none}
body.vobixCompactNavigation .accountLinks>a b{font-size:15px;line-height:1.3;font-weight:600}
body.vobixCompactNavigation :is(.accountLinks>a,.securityCentralLinks>a):focus-visible{outline:3px solid #168dcc;outline-offset:2px}
body.vobixCompactNavigation :is(input,select,textarea,button){max-width:100%;min-width:0}
body.vobixCompactNavigation :is(h1,h2){overflow-wrap:anywhere}
@media(max-width:600px){
 body.vobixCompactNavigation .accountLinks>a>span{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}
 body.vobixCompactNavigation .phaseHeader{min-height:54px}
 body.vobixCompactNavigation .accountWrap h1{font-size:22px;margin:12px 0}
}

/* Approved ivory/blue palette. Presentation only: no PIN, session or consent changes.
   security.html does not have the vobixCompactNavigation class. */
body:is(.securitySimple,:has(>main.accountWrap)):not(.seniorHighContrast):not(.contrast){
 --vobix-app-bg:#f4f0e8;
 --vobix-app-surface:#fbf8f2;
 --vobix-app-surface-2:#e9eff4;
 --vobix-app-line:#d1dce3;
 --vobix-app-text:#193b57;
 --vobix-app-muted:#486176;
 --vobix-app-accent:#0869c7;
 background:var(--vobix-app-bg)!important;
 color:var(--vobix-app-text)!important;
 color-scheme:light;
}
body:is(.securitySimple,:has(>main.accountWrap))>main{
 box-sizing:border-box;width:100%;max-width:720px;min-width:0;
 margin-inline:auto;padding-inline:clamp(12px,4vw,24px);
 overflow-wrap:anywhere;
}
body:is(.securitySimple,:has(>main.accountWrap)):not(.seniorHighContrast):not(.contrast)>header{
 background:var(--vobix-app-surface-2)!important;
 color:var(--vobix-app-text)!important;border-color:var(--vobix-app-line)!important;
}
body:is(.securitySimple,:has(>main.accountWrap)):not(.seniorHighContrast):not(.contrast)>header a{
 color:var(--vobix-app-accent)!important;
}
body:is(.securitySimple,:has(>main.accountWrap)):not(.seniorHighContrast):not(.contrast) :is(.accountLinks>a,.compactAccountSection,.securityGroup,.securityEntry,.phaseCard){
 background:var(--vobix-app-surface)!important;color:var(--vobix-app-text)!important;
 border-color:var(--vobix-app-line)!important;
}
body:is(.securitySimple,:has(>main.accountWrap)):not(.seniorHighContrast):not(.contrast) :is(.compactAccountSection,.securityGroup,.securityEntry)>summary{
 background:var(--vobix-app-surface)!important;color:var(--vobix-app-text)!important;
}
body:is(.securitySimple,:has(>main.accountWrap)):not(.seniorHighContrast):not(.contrast) :is(h1,h2,h3,label,.accountLinks b){color:var(--vobix-app-text)}
body:is(.securitySimple,:has(>main.accountWrap)):not(.seniorHighContrast):not(.contrast) :is(.phaseNote,.versionDetails dt){color:var(--vobix-app-muted)}
body:is(.securitySimple,:has(>main.accountWrap)) :is(input,select,textarea){box-sizing:border-box;min-width:0;max-width:100%}
body:is(.securitySimple,:has(>main.accountWrap)):not(.seniorHighContrast):not(.contrast) :is(input:not([type=checkbox]):not([type=radio]),select,textarea){
 background:var(--vobix-app-surface)!important;color:var(--vobix-app-text)!important;
 border-color:#7893a7!important;
}
body:is(.securitySimple,:has(>main.accountWrap)) :is(a,button,summary,input,select,textarea):focus-visible{
 outline:3px solid #0869c7;outline-offset:2px;
}

/* Approved ivory account view. Only presentation changes; all routes, consent
   controls, hidden forms, PIN constraints and event handlers stay unchanged. */
@layer vobixLight {
  body.vobixAccountPage:not(.seniorHighContrast):not(.contrast) {
    --vobix-account-ink: #193b57;
    --vobix-account-muted: #526777;
    --vobix-account-surface: #fbf9f5;
    --vobix-account-blue: #0668c7;
    background: #f4f0e8 !important;
    color: var(--vobix-account-ink) !important;
    color-scheme: light !important;
  }
  body.vobixAccountPage:not(.seniorHighContrast):not(.contrast) > .phaseHeader {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
    gap: 8px !important;
    align-items: center !important;
    background: #f1eee7 !important;
    color: var(--vobix-account-blue) !important;
    border-bottom: 1px solid #d6dde1 !important;
    padding: calc(8px + var(--vobix-safe-top, env(safe-area-inset-top, 0px))) 12px 8px !important;
  }
  body.vobixAccountPage:not(.seniorHighContrast):not(.contrast) > .phaseHeader > b {
    color: var(--vobix-account-blue) !important;
    text-align: center;
    font-size: 1.0625rem;
    line-height: 1.3;
  }
  body.vobixAccountPage > .phaseHeader > a:not([hidden]) {
    display: inline-flex !important;
    position: static !important;
    align-items: center !important;
    width: auto !important;
    height: auto !important;
    min-width: 44px !important;
    min-height: 44px !important;
    padding: 6px !important;
    margin: 0 !important;
    overflow: visible !important;
    clip: auto !important;
    clip-path: none !important;
    white-space: normal !important;
    text-decoration: none;
  }
  body.vobixAccountPage > .phaseHeader > a:first-child { justify-self: start; }
  body.vobixAccountPage > .phaseHeader > a:last-child { justify-self: end; }
  body.vobixAccountPage .accountWrap {
    max-width: 640px !important;
    padding-top: 16px !important;
    padding-bottom: calc(32px + var(--vobix-menu-safe-bottom, var(--vobix-safe-bottom, env(safe-area-inset-bottom, 0px)))) !important;
  }
  body.vobixAccountPage .accountWrap > h1 { text-align: center; }
  body.vobixAccountPage .accountLinks {
    border: 1px solid #d6dde1;
    border-radius: 16px;
    overflow: visible;
    margin-block: 18px;
  }
  body.vobixAccountPage .accountLinks > a {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 16px !important;
    align-items: center;
    gap: 4px 12px !important;
    min-height: 56px !important;
    border-radius: 0 !important;
    padding: 12px 16px !important;
  }
  body.vobixAccountPage .accountLinks > a:first-child { border-radius: 15px 15px 0 0 !important; }
  body.vobixAccountPage .accountLinks > a:last-child { border-radius: 0 0 15px 15px !important; border-bottom: 0 !important; }
  body.vobixAccountPage .accountLinks > a > b { grid-column: 1; font-size: 1rem !important; }
  body.vobixAccountPage .accountLinks > a::after {
    grid-column: 2;
    grid-row: 1 / span 2;
    content: '›';
    margin: 0 !important;
    justify-self: end;
    font-size: 1.5rem;
  }
  /* Brief descriptions remain available to assistive technology. Live account
     alerts are deliberately visible, not hidden along with the descriptions. */
  body.vobixAccountPage .accountLinks > a > span:not(#securityAlertCount) {
    display: block !important;
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
  }
  body.vobixAccountPage #securityAlertCount {
    display: block !important;
    position: static !important;
    grid-column: 1;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    overflow: visible !important;
    clip: auto !important;
    clip-path: none !important;
    white-space: normal !important;
    font-size: .875rem;
    line-height: 1.4;
  }
  body.vobixAccountPage:not(.seniorHighContrast):not(.contrast) .accountWrap :is(h1,h2,b,label) {
    color: var(--vobix-account-ink) !important;
  }
  body.vobixAccountPage:not(.seniorHighContrast):not(.contrast) .accountWrap :is(.phaseNote,.versionDetails dt,#securityAlertCount) {
    color: var(--vobix-account-muted) !important;
  }
  body.vobixAccountPage:not(.seniorHighContrast):not(.contrast) :is(.accountLinks > a,.compactAccountSection,.compactAccountSection > summary,.accountWrap .phaseCard) {
    background: var(--vobix-account-surface) !important;
    color: var(--vobix-account-ink) !important;
    border-color: #d6dde1 !important;
    box-shadow: none !important;
  }
  body.vobixAccountPage .compactAccountSection > summary {
    margin-top: 0 !important;
    min-height: 52px !important;
  }
  body.vobixAccountPage .accountWrap :is(section,input,button) {
    scroll-margin-top: calc(var(--security-header-height, 72px) + 12px);
  }
  body.vobixAccountPage:not(.seniorHighContrast):not(.contrast) .accountWrap input:not([type=checkbox]):not([type=radio]) {
    background: #fffdf9 !important;
    color: var(--vobix-account-ink) !important;
    border-color: #8297a5 !important;
    font-size: 1rem !important;
  }
  body.vobixAccountPage:not(.seniorHighContrast):not(.contrast) :is(.phaseHeader > a,.accountWrap a:not(.phaseButton)) {
    color: var(--vobix-account-blue) !important;
  }
  body.vobixAccountPage:not(.seniorHighContrast):not(.contrast) .phaseButton:not(.danger):not(.secondary) {
    background: var(--vobix-account-blue) !important;
    color: #fff !important;
  }
  body.vobixAccountPage:not(.seniorHighContrast):not(.contrast) .phaseButton.secondary {
    background: #e8f0f8 !important;
    color: #155586 !important;
    border-color: #bbcddd !important;
  }
  body.vobixAccountPage:not(.seniorHighContrast):not(.contrast) .accountLinks > a:active { background: #e8f0f8 !important; }
  body.vobixAccountPage :is(a,summary,input,button):focus-visible {
    outline: 3px solid #0668c7 !important;
    outline-offset: 2px !important;
  }
}
