/* Distribución del portal y del panel en ventanas reducidas. */
dialog.nvx-arrival-notice[open]{
  inset:auto!important;top:50%!important;left:50%!important;margin:0!important;
  transform:translate(-50%,-50%)!important;box-sizing:border-box;
  width:min(760px,calc(100vw - 24px))!important;max-width:calc(100vw - 24px)!important;
  height:auto!important;min-height:0!important;max-height:calc(100dvh - 24px)!important;
  display:flex!important;flex-direction:column;overflow:hidden!important;
}
.nvx-arrival-header{flex:none;min-width:0}
.nvx-arrival-close{flex:0 0 44px}
.nvx-arrival-content{min-height:0;overflow-y:auto;overscroll-behavior:contain;overflow-wrap:anywhere}
.portal-modal:not(.hidden):not([hidden]),.admin-modal:not([hidden]),.pro-confirm-modal:not([hidden]){
  position:fixed;inset:0;box-sizing:border-box;display:grid;place-items:center;
  padding:12px;overflow:hidden;max-width:100vw;max-height:100dvh;
}
.portal-modal-card,.admin-modal-panel,.pro-confirm-panel{
  box-sizing:border-box;width:min(600px,100%);max-width:100%;min-width:0;
  max-height:calc(100dvh - 24px);overflow-y:auto;margin:0;overflow-wrap:anywhere;
}
.portal-modal-backdrop,.admin-modal-backdrop{position:absolute;inset:0;max-height:none;max-width:none}
.module-selector-heading{align-items:center;gap:16px;padding:22px 24px}
.module-selector-heading h2{font-size:clamp(21px,2.3vw,28px)!important;line-height:1.25;margin:7px 0 0;letter-spacing:-.015em}
.module-selector-heading .section-overline{font-family:inherit;font-size:12px;font-weight:700;letter-spacing:.08em}
.module-selector-heading p{font-size:14px;line-height:1.5;margin:0;max-width:370px}
#mainPanelWrapper .sector-title{
  min-height:0;padding:0 0 12px!important;margin:0 0 16px!important;
  font-family:inherit;line-height:1.4;letter-spacing:.04em;border-radius:0;box-shadow:none;
}
#mainPanelWrapper .sector-title::before,#mainPanelWrapper .sector-title::after{content:none!important;display:none!important}
.sub-title-label{font-family:inherit;font-weight:700;letter-spacing:.015em}
.nvx-form-heading h3{line-height:1.25;font-size:clamp(21px,2vw,27px)}
.portal-card,.tracking-search-card,.tracking-layout>*,.profile-institutional-grid>*,
.security-institutional-grid>*,.security-middle-column,.security-right-column,
.portal-card-head>*,.card-icon-title>div{min-width:0}
.portal-card,.tracking-search-card{max-width:100%;box-sizing:border-box}
.portal-table-wrap{min-width:0;max-width:100%;-webkit-overflow-scrolling:touch}
.portal-card-head{flex-wrap:wrap}
.nvx-admin-menu-toggle,.nvx-admin-menu-backdrop{display:none}
.admin-main,.admin-card,.admin-card-head,.nvx-essalud-editor,.nvx-essalud-preview{min-width:0}
.admin-table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
/* Cierre de la sesión actual desde la cabecera administrativa. */
.admin-body #adminLogout{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;flex-shrink:0;
  min-height:44px;max-width:100%;padding:10px 12px!important;font-size:12px!important;
  line-height:1.4;white-space:normal;
}
.admin-body #adminLogout svg{
  width:18px;height:18px;flex:0 0 18px;fill:none;stroke:currentColor;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round;
}
.admin-body #adminLogout:focus-visible{outline:3px solid #8ec9ff;outline-offset:3px}
@media(max-width:600px){.admin-body #adminLogout{flex-basis:100%;width:100%}}
@media(max-width:1100px){
  #mobileMenuButton{display:flex!important;flex-shrink:0}
  .outer-app-frame.panel-card--primary{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto auto minmax(0,1fr)!important}
  .institutional-header,.institutional-session-bar,.dashboard-home,#mainPanelWrapper,#docsSection,.portal-view-section{grid-column:1!important;min-width:0}
  .institutional-header{padding-left:62px;grid-template-columns:minmax(0,1fr) auto!important}
  .security-institutional-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .security-password-card{grid-row:auto}
  #portalSidebar{position:fixed!important;inset:0 auto 0 0!important;z-index:990!important;
    width:min(286px,calc(100vw - 48px))!important;height:100dvh!important;min-height:0!important;box-sizing:border-box;
    transform:translateX(-105%)!important;transition:transform .2s ease;overflow-y:auto!important}
  #portalSidebar.is-mobile-open,#portalSidebar.mobile-open{transform:translateX(0)!important}
  #portalSidebar .sidebar-link>span,#portalSidebar .sidebar-brand-row>div,#portalSidebar .sidebar-section-title,#portalSidebar .sidebar-institutional-footer{display:initial!important}
  #portalSidebar .sidebar-link{justify-content:flex-start}
  #mobileSidebarOverlay:not(.hidden){position:fixed;inset:0;z-index:980!important}
}
@media(max-width:950px){
  .admin-body .admin-app{display:block!important;min-width:0}
  .nvx-admin-menu-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;
    min-height:44px;padding:9px 12px;background:#122539;color:#e6f1fb;border:1px solid #38556f;
    border-radius:9px;font:600 14px/1.2 system-ui;cursor:pointer}
  .nvx-admin-menu-toggle svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
  .admin-body .admin-sidebar{position:fixed!important;inset:0 auto 0 0!important;
    width:min(290px,calc(100vw - 48px))!important;height:100dvh!important;
    z-index:1000!important;display:flex!important;flex-direction:column!important;
    padding:20px 16px!important;transform:translateX(-105%)!important;
    transition:transform .2s ease;overflow:hidden!important;border-right:1px solid #31465b}
  .admin-body .admin-sidebar.nvx-mobile-open{transform:translateX(0)!important}
  .admin-body .admin-sidebar .admin-nav{display:flex!important;flex-direction:column!important;
    flex:1;min-height:0;width:100%;overflow-y:auto!important;overflow-x:hidden!important;
    white-space:normal;gap:5px!important}
  .admin-body .admin-sidebar .admin-nav a{font-size:14px!important;min-height:44px!important;padding:12px!important;white-space:normal}
  .admin-body .admin-sidebar-brand.nvx18-brand{width:100%;max-width:100%;min-height:0!important;margin:0 0 16px!important;padding:13px 10px!important}
  .admin-body .admin-sidebar-brand.nvx18-brand img{max-height:68px!important}
  .admin-body .admin-sidebar-foot{display:flex!important;flex-direction:column;padding-top:12px;flex-shrink:0}
  .nvx-admin-menu-backdrop:not([hidden]){display:block;position:fixed;inset:0;z-index:999;
    border:0;background:rgba(3,14,25,.65);backdrop-filter:blur(2px)}
  body.nvx-admin-menu-open{overflow:hidden}
  .admin-body .admin-main{width:100%;box-sizing:border-box;margin-left:0!important;padding:12px!important}
  .admin-topbar{display:flex!important;gap:10px!important;flex-wrap:wrap!important}
  .admin-global-search{flex:1;min-width:140px;width:auto!important}
  .admin-topbar-actions{width:100%;min-width:0}
  .admin-metrics,.admin-stats,.admin-dashboard-grid,.creator-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .nvx-trusted-device-card{flex-wrap:wrap;gap:14px}
  .nvx-trusted-device-main,.nvx-trusted-device-main>div{min-width:0}
  .nvx-trusted-device-side{margin-left:auto}
  .nvx-trusted-device-main dl{flex-wrap:wrap;gap:12px}
}
@media(max-width:820px){
  .institutional-header{
    position:relative;min-height:0;padding:12px!important;
    grid-template-columns:44px minmax(0,1fr)!important;gap:10px 14px;
  }
  .institutional-header #mobileMenuButton{
    position:static;grid-column:1;grid-row:1;width:44px;height:44px;min-height:44px;
    align-items:center;justify-content:center;align-self:center;
  }
  .institutional-header .institutional-brand-zone{grid-column:2;grid-row:1;min-width:0}
  .institutional-header .institutional-minsa-logo{width:min(180px,100%);max-width:100%;height:44px;max-height:44px}
  .institutional-header .institutional-separator,.institutional-header .institutional-portal-copy,
  .institutional-header .institutional-secondary-mark{display:none}
  .institutional-header .institutional-account-zone.nvx-session-summary{
    grid-column:1/-1;grid-row:2;justify-self:stretch;width:100%;max-width:100%;
    align-items:flex-start;text-align:left;padding:10px 0 0;border-top:1px solid #e1e9f0;gap:8px;
  }
  .nvx-session-summary .nvx-session-identity{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:6px;width:100%}
  .nvx-session-summary #nvxSessionName{font-size:14px;line-height:1.45;max-width:100%;white-space:normal}
  .nvx-session-summary #nvxSessionRole{font-size:12px;max-width:100%;white-space:normal;overflow-wrap:anywhere}
  .nvx-session-summary .nvx-session-datetime{font-size:12px;justify-content:flex-start;line-height:1.5}
  .institutional-session-bar{flex-direction:column;align-items:stretch;gap:8px;padding:10px 12px}
  .institutional-session-bar>span{display:none}
  .institutional-session-bar>div{width:100%;min-width:0;justify-content:flex-start;flex-wrap:wrap;white-space:normal;gap:6px}
  .institutional-session-bar .session-separator{display:none}
  .institutional-session-bar #lastAccessText{flex-basis:100%;font-size:11px;line-height:1.5;overflow-wrap:anywhere}
  .institutional-session-bar #nvxCreditStrip{width:100%;gap:10px;flex-wrap:wrap}
  .institutional-session-bar #nvxCreditStrip>div{min-width:0;flex-wrap:wrap}
  .institutional-session-bar #nvxCreditStrip [data-nvx-support]{white-space:normal;overflow-wrap:anywhere}
}
@media(max-width:700px){
  .tracking-layout,.security-institutional-grid,.profile-institutional-grid{grid-template-columns:minmax(0,1fr)}
  .security-middle-column,.security-right-column{grid-template-columns:minmax(0,1fr);grid-column:1}
  .security-activity-card,.profile-activity-card{grid-column:1}
  .portal-page-title>div:last-child,.page-heading-main>div{min-width:0}
  #trackingSection .portal-page-title h2{font-size:clamp(22px,6vw,28px);line-height:1.25;overflow-wrap:anywhere}
  .tracking-search-row{flex-direction:column}
  .tracking-search-row input{min-width:0;max-width:100%;font-size:16px}
  #securitySection .portal-card{padding:16px;border-radius:10px}
  #securitySection .card-icon-title h3{font-size:17px;line-height:1.35}
  #securitySection .card-icon-title p,#securitySection .portal-card>p,
  #securitySection .password-support-box p,#securitySection .security-questions-card p{font-size:14px;line-height:1.6}
  #securitySection .password-support-box{min-width:0;padding:14px}
  #securitySection .security-state{min-width:0;gap:6px;margin-bottom:12px}
  #securitySection .security-state strong,#securitySection .security-state span{font-size:13px;line-height:1.5}
  #securitySection :is(p,strong,small,summary,label,a){overflow-wrap:anywhere;white-space:normal}
  #securitySection input{min-width:0;max-width:100%;font-size:16px}
  #securitySection .device-row{grid-template-columns:28px minmax(0,1fr);gap:8px;padding:12px}
  #securitySection .device-row>div{min-width:0}
  #securitySection .device-row strong{font-size:14px}
  #securitySection .device-row small{font-size:12px;line-height:1.5}
  #securitySection .device-row .status-badge{grid-column:2;justify-self:start;max-width:100%}
  #securitySection .security-questions-card summary{font-size:15px;line-height:1.5;padding:10px 0}
  #securitySection .security-support-link{display:inline-block;font-size:14px;line-height:1.5}
  #securitySection .security-activity-card .portal-card-head h3{font-size:17px;line-height:1.4}
  #securitySection .security-activity-card .portal-card-head p{font-size:14px;line-height:1.6}
  #securitySection button,.tracking-search-row button,.nvx-home-actions button{
    max-width:100%;min-height:44px;white-space:normal;overflow-wrap:anywhere;line-height:1.4;
  }
  #securitySection .portal-danger-outline,#securityTwoFactorButton{width:100%;text-align:center}
  .nvx-home-actions{width:100%;flex-wrap:wrap}
  .nvx-home-actions button{flex:1 1 180px;min-width:0}
  #mainPanelWrapper{padding:12px!important}
  #mainPanelWrapper .module-selector-heading{padding:18px 16px}
  #mainPanelWrapper .sector-card{margin:12px!important;padding:12px!important}
  #mainPanelWrapper .sector-columns{grid-template-columns:minmax(0,1fr)!important;gap:12px}
  #mainPanelWrapper .sub-title-label{font-size:14px!important;line-height:1.45;overflow-wrap:anywhere}
  #mainPanelWrapper .nav-btn{width:100%;white-space:normal;overflow-wrap:anywhere}
  .nvx-portal-table,.nvx-portal-table tbody{display:block;width:100%;min-width:0!important;max-width:100%;overflow:visible}
  .nvx-portal-table thead{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .nvx-portal-table tbody tr{
    display:grid;grid-template-columns:minmax(0,1fr);gap:12px;width:100%;margin:0 0 12px;padding:14px;
    border:1px solid #dbe5ed;border-radius:8px;background:#fff;
  }
  .nvx-portal-table tbody td{display:block;padding:0!important;border:0!important;min-width:0;max-width:100%;white-space:normal!important;overflow-wrap:anywhere;font-size:14px;line-height:1.5}
  .nvx-portal-table tbody td[data-label]::before{content:attr(data-label);display:block;margin-bottom:3px;color:#617b90;font-size:12px;line-height:1.4;font-weight:600}
  .nvx-portal-table tbody td[colspan]{text-align:center}
  .nvx-portal-table button{min-height:44px;max-width:100%;white-space:normal}
  .nvx-portal-table .actions-cell{display:flex;flex-wrap:wrap;gap:8px}
}
@media(max-width:600px){
  .module-selector-heading{display:block!important;text-align:left!important;padding:18px 16px}
  .module-selector-heading p{margin-top:12px;max-width:none}
  .sector-columns{grid-template-columns:minmax(0,1fr)!important}
  .sector-card,.module-card{padding:14px!important;min-width:0}
  .btn-row{gap:8px!important;flex-wrap:wrap}.btn-row .nav-btn{max-width:100%;white-space:normal;min-height:44px}
  .nvx-essalud-layout,.nvx-essalud-grid{grid-template-columns:minmax(0,1fr)!important}
  .nvx-essalud-editor input,.nvx-essalud-editor select,.nvx-essalud-editor textarea{font-size:16px}
  .admin-card-head{padding:16px!important;flex-wrap:wrap;gap:12px}
  .admin-card-head h2,.admin-card-head h3{font-size:20px;line-height:1.3}
  .admin-card-head p{font-size:13px;line-height:1.6}
  .admin-metrics,.admin-stats,.admin-dashboard-grid,.creator-grid{grid-template-columns:minmax(0,1fr)!important}
  .admin-profile{max-width:100%;min-width:0}.admin-profile strong{white-space:normal;overflow-wrap:anywhere}
  .admin-modal-panel,.pro-confirm-panel{padding:20px!important}
  .nvx-arrival-header{padding:12px 14px!important;gap:8px!important}
  .nvx-arrival-brands{min-width:0;gap:10px!important}
  .nvx-arrival-brands img:first-child{max-width:min(170px,44vw)!important;height:42px!important}
  .nvx-arrival-brands img:last-child{width:32px!important;height:42px!important}
  .nvx-arrival-content{padding:18px 16px!important}
  .nvx-arrival-content h2{font-size:22px!important;line-height:1.25}
  .nvx-arrival-content p{font-size:14px!important;line-height:1.6!important}
  .nvx-trusted-device-card{padding:14px!important}
  .nvx-trusted-device-main dl{display:grid!important;grid-template-columns:minmax(0,1fr)!important}
  .nvx-trusted-device-title{flex-wrap:wrap;gap:6px}.nvx-trusted-device-owner{overflow-wrap:anywhere}
  .nvx-account-table,.nvx-account-table tbody{display:block;width:100%;min-width:0!important}
  .nvx-account-table thead{display:none}
  .nvx-account-table tbody tr{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;padding:16px;border-bottom:1px solid #ffffff18}
  .nvx-account-table tbody td{display:block!important;padding:0!important;border:0!important;min-width:0;overflow-wrap:anywhere;white-space:normal!important}
  .nvx-account-table tbody td[data-label]::before{content:attr(data-label);display:block;margin:0 0 5px;font-size:11px;line-height:1.3;font-weight:700;letter-spacing:.04em;color:#93a9bf}
  .nvx-account-table tbody td small{white-space:normal}
  .nvx-account-table button{min-height:44px;white-space:normal}
}
@media(prefers-reduced-motion:reduce){#portalSidebar,.admin-sidebar{transition:none!important}}

/* Acceso al cierre de sesión desde la cabecera de la cuenta. */
.nvx-session-summary .nvx-session-controls{
  display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;
  gap:10px 12px;width:100%;min-width:0;
}
.nvx-session-summary .nvx-header-logout{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  min-height:44px;max-width:100%;padding:9px 12px;border:1px solid #c8d7e4;
  border-radius:6px;background:#f5f8fb;color:#244867;cursor:pointer;
  font-family:inherit;font-size:12px;line-height:1.4;font-weight:600;white-space:normal;
}
.nvx-session-summary .nvx-header-logout svg{
  width:18px;height:18px;flex:0 0 18px;fill:none;stroke:currentColor;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round;
}
.nvx-session-summary .nvx-header-logout:hover{background:#eaf1f7;border-color:#95afc5}
.nvx-session-summary .nvx-header-logout:focus-visible{outline:3px solid #397cae;outline-offset:3px}
@media(max-width:820px){.nvx-session-summary .nvx-session-controls{justify-content:flex-start}}
@media(max-width:550px){.nvx-session-summary .nvx-header-logout{width:100%}}
