/* v4.9 · Navegación compartida con planificación, simulación y panel móvil. */
.app-header{position:sticky;top:0;z-index:100;background:#142238;border-bottom:1px solid #283951;color:#f7faff;box-shadow:0 2px 12px #14223812}
.app-header *,.app-header *::before,.app-header *::after{box-sizing:border-box}
.app-header-bar{display:flex;align-items:center;gap:26px;max-width:1560px;min-height:76px;margin:0 auto;padding:12px 28px}
.app-brand{display:flex;align-items:center;gap:11px;flex:0 0 auto;min-width:0;text-decoration:none;color:#fff}
.app-brand-mark{display:grid;grid-template-columns:repeat(2,8px);grid-template-rows:repeat(2,8px);gap:3px;padding:9px;background:#2a3c57;border:1px solid #405575;border-radius:11px}
.app-brand-mark i{border-radius:2px;background:#ecf4ff}.app-brand-mark i:last-child{background:#71b4fa}
.app-brand-copy{min-width:0}.app-brand-title{display:block;font-size:19px;font-weight:720;letter-spacing:-.04em;white-space:nowrap}
.app-brand-title b{font-weight:500;color:#92c6ff}.app-brand-account{display:none}
.app-nav-shell{display:flex;align-items:center;justify-content:space-between;flex:1;gap:20px;min-width:0}
.app-primary-nav{min-width:0}.app-nav-list{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0}
.app-nav-list>li{margin:0;padding:0;flex:0 0 auto}
.app-nav-list>li>a,.app-dropdown>summary{display:flex;align-items:center;justify-content:space-between;gap:9px;min-height:40px;padding:10px 11px;border:1px solid transparent;border-radius:9px;color:#c7d3e4;font-family:inherit;font-size:13px;font-weight:620;line-height:1.3;text-decoration:none;white-space:nowrap;cursor:pointer;list-style:none;user-select:none;transition:background .15s ease,color .15s ease}
.app-dropdown>summary::-webkit-details-marker{display:none}.app-dropdown>summary::marker{content:""}
.app-nav-list>li>a:hover,.app-dropdown>summary:hover,.app-dropdown[open]>summary{background:#223651;color:#fff}
.app-nav-list>li>a[aria-current="page"],.app-nav-list>li>a.is-section-active,.app-dropdown.is-section-active>summary{background:#294262;border-color:#375678;color:#fff}
.app-dropdown-chevron{display:block;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-3px;flex:0 0 6px;opacity:.75}
.app-dropdown[open]>summary .app-dropdown-chevron{transform:rotate(225deg);margin-top:3px}
.app-dropdown{position:relative}.app-dropdown-panel{position:absolute;top:calc(100% + 9px);left:0;z-index:110;min-width:215px;width:max-content;max-width:min(330px,calc(100vw - 32px));max-height:calc(100dvh - 100px);overflow-y:auto;overscroll-behavior:contain;margin:0;padding:7px;background:#fff;border:1px solid #dbe3ec;border-radius:12px;color:#24364b;list-style:none;box-shadow:0 14px 40px #0f172a26}
.app-dropdown:not([open])>.app-dropdown-panel{display:none}
.app-dropdown-panel li{margin:0;padding:0}.app-dropdown-panel a,.app-logout-form button{display:flex;align-items:center;width:100%;min-height:40px;border:0;border-radius:7px;background:transparent;padding:10px 11px;text-decoration:none;font-family:inherit;font-size:13px;font-weight:560;color:#34475e;line-height:1.4;cursor:pointer}
.app-dropdown-panel a:hover,.app-logout-form button:hover{background:#f0f5fc;color:#173f76}
.app-dropdown-panel a[aria-current="page"]{color:#1c54a0;background:#eaf2ff;font-weight:750}
.app-account-area{display:flex;align-items:center;gap:15px;flex:0 0 auto;min-width:0}
.app-account-switch{margin:0;padding:0;min-width:0}.app-account-switch label{display:block;margin-bottom:4px;color:#a7b8cf;font-size:10px;font-weight:600;letter-spacing:.035em;line-height:1.3}
.app-account-control{display:flex;align-items:center;gap:8px;min-width:0}
.app-account-switch select{display:block;width:220px;max-width:100%;height:34px;margin:0;padding:5px 28px 5px 9px;border:1px solid #425575;border-radius:8px;background:#20324c;color:#fff;color-scheme:dark;font-family:inherit;font-size:12px;font-weight:650;cursor:pointer;text-overflow:ellipsis}
.app-account-switch option{background:#20324c;color:#fff}.app-account-submit{height:34px;border:1px solid #506a90;border-radius:8px;padding:6px 10px;background:#2b486f;color:white;font-family:inherit;font-size:12px;cursor:pointer}
.app-nav-ready .app-account-submit{display:none}
.app-user-dropdown>summary{padding:4px;gap:7px;min-height:38px;border:0}.app-user-avatar{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:#334d70;color:#e4efff;text-transform:uppercase;font-size:12px;font-weight:750}
.app-user-mobile-name{display:none}.app-user-panel{left:auto;right:0;min-width:220px}
.app-session-card{padding:11px 12px 14px;margin-bottom:5px;border-bottom:1px solid #e5ebf2;max-width:285px;overflow-wrap:anywhere}
.app-session-card strong{display:block;font-size:13px;color:#24364b;font-weight:750}.app-session-card small{display:block;font-size:11px;color:#73839a;margin-top:3px}
.app-logout-form{margin:0;padding:0}.app-logout-form button{color:#9b3c3c;text-align:left}
.app-header :is(a,summary,button,select):focus-visible{outline:3px solid #9acaff;outline-offset:3px}.app-dropdown-panel :is(a,button):focus-visible{outline-color:#598fdb;outline-offset:-2px}
.app-menu-toggle,.app-drawer-heading,.app-menu-close,.app-menu-backdrop{display:none}.app-menu-backdrop[hidden]{display:none!important}
.app-skip-link{position:fixed;left:12px;top:8px;z-index:3001;padding:10px 16px;border-radius:8px;color:#142238;background:#fff;transform:translateY(-160%);font-weight:700}.app-skip-link:focus{transform:translateY(0)}
.app-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;clip-path:inset(50%)}
#mainContent{scroll-margin-top:98px}#mainContent:focus:not(:focus-visible){outline:none}

@media(min-width:1280px) and (max-width:1430px){
 .app-header-bar{gap:18px;padding-left:22px;padding-right:22px}.app-nav-shell{gap:14px}.app-nav-list>li>a,.app-nav-list>.app-nav-group>.app-dropdown>summary{padding-left:9px;padding-right:9px;font-size:12px}.app-account-area{gap:12px}.app-account-switch select{width:190px}.app-brand-title{font-size:18px}
}
@media(max-width:1279px){
 /* Sin JavaScript el menú permanece disponible dentro del flujo normal. */
 .app-header{position:relative}.app-header.app-nav-ready{position:sticky}
 .app-header-bar{flex-wrap:wrap;gap:14px;padding:12px 18px;min-height:74px}
 .app-brand{flex:1;min-width:0}.app-brand-title{font-size:18px}.app-brand-account{display:block;max-width:calc(100vw - 170px);margin-top:3px;font-size:11px;color:#b0c3dd;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .app-nav-shell{flex:0 0 100%;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:18px;width:100%}
 .app-primary-nav{order:2}.app-nav-list{flex-direction:column;align-items:stretch;gap:4px;width:100%}
 .app-nav-list>li>a,.app-dropdown>summary{min-height:46px;padding:12px 13px;font-size:15px;white-space:normal}
 .app-dropdown-panel{position:static;min-width:0;width:100%;max-width:none;max-height:none;margin:5px 0 6px;padding:4px 0 4px 13px;border:0;border-left:1px solid #405775;border-radius:0;background:transparent;box-shadow:none;overflow:visible;color:#c7d3e4}
 .app-dropdown-panel a{min-height:43px;color:#b9cbe3;padding:10px 12px;font-size:14px}.app-dropdown-panel a:hover,.app-dropdown-panel a[aria-current="page"]{background:#243d5e;color:#fff}
 .app-account-area{order:1;flex-direction:column;align-items:stretch;width:100%;gap:13px;border-bottom:1px solid #334762;padding-bottom:16px}
 .app-account-switch{width:100%}.app-account-switch label{font-size:11px;margin-bottom:7px}.app-account-control{width:100%}.app-account-switch select{width:100%;min-width:0;height:44px;font-size:16px;padding:8px 12px}.app-account-submit{height:44px}
 .app-user-dropdown>summary{justify-content:flex-start;padding:7px 8px;min-height:43px}.app-user-dropdown .app-dropdown-chevron{margin-left:auto}.app-user-mobile-name{display:block;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.app-user-avatar{flex:0 0 31px}
 .app-user-panel{padding-left:8px}.app-session-card{max-width:none;padding-top:8px;border-color:#334762}.app-session-card strong{color:#f0f5ff}.app-session-card small{color:#b0c3dd}.app-logout-form button{color:#fec5c5}.app-logout-form button:hover{background:#263c56;color:#fff}
 .app-nav-ready .app-menu-toggle{display:flex;align-items:center;justify-content:center;gap:9px;flex:0 0 auto;min-width:86px;min-height:44px;border:1px solid #425a7b;border-radius:10px;padding:10px 12px;background:#20324c;color:#f0f5ff;font-family:inherit;font-size:13px;font-weight:650;cursor:pointer}
 .app-hamburger{display:flex;flex-direction:column;gap:4px;width:18px}.app-hamburger span{display:block;width:18px;height:2px;border-radius:1px;background:currentColor}
 .app-nav-ready .app-nav-shell{display:none}.app-nav-ready.is-menu-open{z-index:2500}
 .app-nav-ready.is-menu-open .app-menu-backdrop{display:block;position:fixed;inset:0;z-index:1;background:#0913219c}
 .app-nav-ready.is-menu-open .app-nav-shell{display:flex;position:fixed;top:0;right:0;bottom:0;z-index:2;width:min(395px,calc(100% - 18px));height:100vh;height:100dvh;margin:0;padding:20px;padding-top:max(20px,env(safe-area-inset-top));padding-bottom:max(20px,env(safe-area-inset-bottom));background:#142238;border-left:1px solid #3c526f;box-shadow:-15px 0 50px #0004;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;animation:app-drawer-enter .16s ease-out}
 .app-nav-ready .app-drawer-heading{display:flex;order:0;align-items:center;justify-content:space-between;gap:14px;padding-bottom:16px;border-bottom:1px solid #334762}
 .app-drawer-kicker{display:block;color:#99b0ce;font-size:10px;font-weight:650;letter-spacing:.12em}.app-drawer-heading strong{display:block;margin-top:4px;color:#fff;font-size:20px}
 .app-nav-ready .app-menu-close{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border:1px solid #425a7b;border-radius:10px;padding:0;background:#20324c;color:#fff;font-family:inherit;font-size:27px;cursor:pointer}
 html.app-menu-open,html.app-menu-open body{overflow:hidden;overscroll-behavior:none}#mainContent{scroll-margin-top:95px}
}
@keyframes app-drawer-enter{from{transform:translateX(20px);opacity:.8}to{transform:translateX(0);opacity:1}}
@media(prefers-reduced-motion:reduce){.app-header *{transition:none!important;animation:none!important}}
