
/* Navegación del portal. Los permisos y destinos se conservan en los controladores existentes. */
body:not(.in-module) .portal { grid-template-columns:244px minmax(0,1fr); }
body:not(.in-module) .portal aside.enterprise-sidebar { padding:32px 18px 24px;background:linear-gradient(165deg,#112a47,#0e2138 70%);border-right:1px solid #ffffff0b;gap:0; }
body:not(.in-module) .enterprise-sidebar .brand { padding:0 8px 29px;margin:0 0 30px;border-bottom:1px solid #ffffff12;gap:12px; }
body:not(.in-module) .enterprise-sidebar .brand img { width:44px;height:44px;border-radius:12px; }
body:not(.in-module) .enterprise-sidebar .brand > span { font-size:23px;line-height:1.2;letter-spacing:1.1px; }
body:not(.in-module) .enterprise-sidebar .brand small { font-size:7px;letter-spacing:3px;color:#a8bed6;margin-top:6px; }
.enterprise-sidebar .sidebar-section-heading { display:flex;align-items:center;gap:12px;padding:0 12px;margin-bottom:17px; }
.enterprise-sidebar .nav-caption { color:#8ca5c2;font-size:8px;font-weight:600;letter-spacing:1.4px;line-height:1.6; }
.sidebar-section-line { flex:1;height:1px;background:#ffffff13; }
.enterprise-sidebar .sidebar-navigation { display:flex;flex-direction:column;gap:9px; }
body:not(.in-module) .enterprise-sidebar .sidebar-navigation :is(#home-nav,#general-nav) { position:relative;display:flex;align-items:center;gap:12px;min-height:67px;padding:13px 12px;margin:0;background:transparent;border:1px solid transparent;border-radius:11px;color:#9eb3ce;box-shadow:none;text-decoration:none;transition:background .15s,color .15s,border-color .15s; }
.sidebar-icon { display:grid;place-items:center;flex:none;width:33px;height:33px;border:1px solid #ffffff0b;border-radius:9px;background:#ffffff04;color:inherit; }
.enterprise-sidebar svg { width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round; }
.sidebar-link-label { display:flex;flex-direction:column;min-width:0;gap:5px; }
.sidebar-link-label strong { color:inherit;font-size:12px;line-height:1.4;font-weight:600;letter-spacing:.05px; }
.sidebar-link-label small { color:#8ca5c1;font-size:9px;line-height:1.4;font-weight:400; }
.sidebar-chevron { margin-left:auto;color:#718caa;font-size:21px;line-height:1;font-family:system-ui,sans-serif;font-weight:300; }
body:not(.in-module) .enterprise-sidebar .sidebar-navigation :is(#home-nav,#general-nav):hover { background:#ffffff08;color:#f0f6ff;border-color:#ffffff0a; }
body:not(.in-module) .enterprise-sidebar .sidebar-navigation #home-nav.nav-active,body:not(.in-module) .enterprise-sidebar .sidebar-navigation #general-nav[aria-current="page"] { background:#24496e;border-color:#385d81;color:#f5f9ff;box-shadow:0 3px 10px #00000008; }
.sidebar-navigation #home-nav.nav-active::before,.sidebar-navigation #general-nav[aria-current="page"]::before { content:"";position:absolute;width:3px;left:-1px;top:21px;bottom:21px;border-radius:4px;background:#85b8ff; }
.enterprise-sidebar .sidebar-navigation #home-nav.nav-active .sidebar-icon,.enterprise-sidebar .sidebar-navigation #general-nav[aria-current="page"] .sidebar-icon { color:#c5dfff;background:#ffffff09;border-color:#ffffff10; }
body:not(.in-module) .enterprise-sidebar:has(#general-nav[aria-current="page"]) .sidebar-navigation #home-nav { background:transparent;border-color:transparent;box-shadow:none;color:#9eb3ce; }
.enterprise-sidebar:has(#general-nav[aria-current="page"]) #home-nav::before { display:none; }
.enterprise-sidebar:has(#general-nav[aria-current="page"]) #home-nav .sidebar-icon { color:inherit;background:#ffffff04;border-color:#ffffff0b; }
body:not(.in-module) .enterprise-sidebar .aside-bottom { display:block;margin-top:auto;padding:24px 10px 0; }
.sidebar-session { display:flex;align-items:center;gap:11px;border-top:1px solid #ffffff12;padding:22px 0 0; }
.sidebar-session-icon { color:#81a5c8;display:grid;place-items:center; }
.sidebar-session-icon svg { width:23px;height:23px;stroke-width:1.4; }
.sidebar-session > div { display:flex;flex-direction:column;gap:7px; }
.sidebar-session strong { color:#b6c8dd;font-size:10px;font-weight:500; }
.sidebar-session > div > span { display:flex;align-items:center;color:#7e9ab9;font-size:9px; }
.sidebar-session .live-dot { width:5px;height:5px;background:#65cdb2;margin-right:6px; }
.enterprise-sidebar .aside-bottom > small { display:block;padding-top:22px;margin:0;color:#6987a6;font-size:7px;letter-spacing:1.6px;line-height:1.8; }
.enterprise-sidebar .aside-bottom > small > span { display:block;color:#617f9d;font-size:8px;letter-spacing:0;margin-top:4px; }
body:not(.in-module) .enterprise-sidebar .sidebar-navigation a:focus-visible { outline:3px solid #89b8ff;outline-offset:3px; }
@media(min-width:801px) and (max-width:1200px) { body:not(.in-module) .portal { grid-template-columns:220px minmax(0,1fr); } body:not(.in-module) .portal aside.enterprise-sidebar { padding-left:12px;padding-right:12px; } .sidebar-link-label strong { font-size:11px; } .sidebar-link-label small { font-size:8px; } body:not(.in-module) .enterprise-sidebar .sidebar-navigation :is(#home-nav,#general-nav) { gap:9px; } }
@media(max-width:800px) { body:not(.in-module) .portal { grid-template-columns:minmax(0,1fr); } body:not(.in-module) .portal aside.enterprise-sidebar { display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:16px;padding:18px 20px;position:static;height:auto; } body:not(.in-module) .enterprise-sidebar .brand { padding:0;margin:0;border:0; } body:not(.in-module) .enterprise-sidebar .brand img { width:38px;height:38px; } body:not(.in-module) .enterprise-sidebar .brand > span { font-size:20px; } body:not(.in-module) .enterprise-sidebar .brand small { font-size:6px;margin-top:4px; } .enterprise-sidebar .sidebar-section-heading,body:not(.in-module) .enterprise-sidebar .aside-bottom { display:none; } .enterprise-sidebar .sidebar-navigation { flex-direction:row;gap:8px;margin-left:auto; } body:not(.in-module) .enterprise-sidebar .sidebar-navigation :is(#home-nav,#general-nav) { min-height:46px;gap:8px;padding:9px 11px;border-color:#ffffff10;background:#ffffff03; } .sidebar-icon { width:25px;height:25px;background:none;border:0; } .sidebar-link-label small,.sidebar-chevron { display:none; } .sidebar-link-label strong { font-size:11px; } .sidebar-navigation #home-nav.nav-active::before,.sidebar-navigation #general-nav[aria-current="page"]::before { top:auto;bottom:-1px;left:14px;right:14px;width:auto;height:2px; } }
@media(max-width:480px) { body:not(.in-module) .portal aside.enterprise-sidebar { padding:16px;gap:16px; } .enterprise-sidebar .sidebar-navigation { flex:1 0 100%;display:grid;grid-template-columns:1fr 1fr; } body:not(.in-module) .enterprise-sidebar .sidebar-navigation :is(#home-nav,#general-nav) { justify-content:center;padding:11px 9px;min-height:48px; } .sidebar-link-label strong { font-size:11px; } }
@media(prefers-reduced-motion:reduce) { body:not(.in-module) .enterprise-sidebar .sidebar-navigation a { transition:none; } }
