/* Navigation only: page content keeps its existing layout. */
.menu-link { display:flex; align-items:center; gap:10px; min-height:44px; padding:9px 12px; border-radius:8px; color:var(--ink); font-size:13px; line-height:1.4; text-decoration:none; }
.menu-link > span { flex:1; min-width:0; overflow-wrap:anywhere; }
.menu-link > .navigation-icon { flex:0 0 18px; width:18px; height:18px; color:var(--muted); }
.menu-link:hover { background:#f5f1fc; color:var(--purple); text-decoration:none; }
.menu-link[aria-current], .menu-link.is-current { color:var(--purple); background:#eee6fc; font-weight:650; }
.menu-link[aria-current] > .navigation-icon, .menu-link.is-current > .navigation-icon { color:var(--purple); }
.menu-count { display:inline-flex; align-items:center; justify-content:center; min-width:22px; height:22px; border-radius:7px; padding:0 5px; color:#6636ad; background:#eee6fa; font-size:11px; font-weight:650; }
.menu-section-label { display:block; padding:8px 12px 4px; color:var(--muted); font-size:10px; font-weight:650; letter-spacing:.6px; text-transform:uppercase; }
.menu-chevron { flex:0 0 auto!important; font-size:16px; color:var(--muted); }
.workspace-menu { display:block; width:100%; }
.workspace-menu-group { margin:0 0 10px; padding:0; }
.workspace-menu-group > summary, .menu-space-switch > summary, .menu-mobile-section > summary { display:flex; align-items:center; gap:10px; min-height:44px; padding:9px 12px; font-size:12px; font-weight:650; color:var(--ink); list-style:none; border-radius:8px; cursor:pointer; }
.workspace-menu-group > summary::-webkit-details-marker, .menu-space-switch > summary::-webkit-details-marker, .menu-mobile-section > summary::-webkit-details-marker { display:none; }
.workspace-menu-group > summary > span:first-of-type, .menu-space-switch > summary > span:first-of-type, .menu-mobile-section > summary > span:first-of-type { flex:1; min-width:0; overflow-wrap:anywhere; }
.workspace-menu-group > summary > .navigation-icon, .menu-space-switch > summary > .navigation-icon, .menu-mobile-section > summary > .navigation-icon { width:18px; height:18px; color:var(--muted); }
.workspace-menu-group[open] > summary > .menu-chevron, .menu-space-switch[open] > summary > .menu-chevron, .menu-mobile-section[open] > summary > .menu-chevron { transform:rotate(180deg); }
.workspace-menu-items { padding:2px 0 4px 12px; }
.workspace-menu-items .menu-link { font-size:12px; }
.workspace-context-group { border:1px solid #e4d7f8; border-radius:10px; background:#fcfaff; }
.workspace-context-group > summary { color:var(--purple); }
.workspace-context-group .workspace-menu-items { padding-right:5px; }
.workspace-sidebar-bottom { margin-top:auto; padding-top:14px; border-top:1px solid var(--line); }
.workspace-sidebar-bottom .menu-link, .workspace-sidebar-bottom summary { font-size:12px; }
.menu-space-switch { margin:0; }
.menu-space-switch > div { padding:0 0 4px 8px; }
.admin-shell .admin-workspace { grid-template-columns:256px minmax(0,1fr); }
.admin-shell .admin-sidebar { padding:22px 14px 16px; background:#fff; color:var(--ink); border-color:var(--line); }
.admin-shell .admin-sidebar .admin-brand { padding:0 10px 22px; color:var(--ink); }
.admin-shell .admin-sidebar .admin-brand small { color:var(--muted); font-size:11px; }
.admin-shell .admin-sidebar nav.workspace-menu { display:block; padding:0; }
.admin-shell .admin-sidebar a:focus-visible, .menu-link:focus-visible, .workspace-menu summary:focus-visible, .menu-space-switch summary:focus-visible, .menu-mobile-section summary:focus-visible { outline:2px solid var(--purple); outline-offset:2px; }
.admin-shell .admin-topbar { position:sticky; top:0; z-index:25; min-height:68px; }
.admin-shell :is(#eventos-organizacion, #perfil-organizacion, #equipo-organizacion) { scroll-margin-top:88px; }
.account-panel { padding:8px; border-radius:14px; width:300px; }
.account-menu-section { margin:8px 0 0; padding-top:4px; border-top:1px solid var(--line); }
.account-panel .account-identity { padding:10px 12px; border-radius:9px; background:#f8f5fc; }
.account-panel .account-identity strong { font-size:13px; }
.account-panel .menu-link { font-size:12px; }
.account-panel .account-logout button { min-height:44px; }
.personal-section-navigation { display:flex; gap:20px; margin:0 0 24px; border-bottom:1px solid var(--line); }
.personal-section-navigation a { display:flex; align-items:center; gap:7px; min-height:44px; padding:10px 2px; border-bottom:2px solid transparent; color:var(--muted); font-size:13px; text-decoration:none; }
.personal-section-navigation a[aria-current] { color:var(--purple); border-bottom-color:var(--purple); font-weight:650; }
.mobile-top-panel .menu-mobile-section { margin:0; }
@media(max-width:980px) {
 body:has(.personal-space) > .site-header { background:#fff; border-bottom:1px solid var(--line); box-shadow:none; }
 body:has(.personal-space) > .site-header .brand-logo { filter:none; }
 body:has(.personal-space) > .site-header .mobile-top-navigation:not([open]) > .mobile-menu-toggle { background:#fff; border-color:var(--line); color:var(--purple); }
 .admin-shell .admin-workspace { display:block; }
 .admin-shell .admin-sidebar { display:none; }
 .admin-shell .admin-topbar { min-height:64px; padding:10px 16px; }
 .admin-shell .admin-breadcrumb { flex-wrap:wrap; gap:6px; min-width:0; }
 .admin-shell .admin-topbar-actions { gap:6px; flex-shrink:0; }
 .admin-topbar [data-account-navigation]:not([data-mobile-navigation]), .site-header .main-navigation { display:none; }
 .mobile-top-navigation { display:block; margin:0; }
 .mobile-menu-toggle { display:flex; align-items:center; justify-content:center; width:44px; height:44px; padding:0; list-style:none; border:1px solid var(--line); border-radius:10px; color:var(--purple); background:#fff; }
 .mobile-menu-toggle::-webkit-details-marker { display:none; }
 .mobile-menu-close-icon { display:none; }
 .mobile-top-navigation[open] .mobile-menu-open-icon { display:none; }
 .mobile-top-navigation[open] .mobile-menu-close-icon { display:block; }
 .mobile-top-navigation[open] > .mobile-menu-toggle { position:fixed; top:max(14px,env(safe-area-inset-top)); right:16px; z-index:222; color:var(--ink); background:#fff; border-color:var(--line); }
 .mobile-top-panel { position:fixed; inset:0; z-index:220; display:flex; flex-direction:column; align-items:stretch; flex-wrap:nowrap; gap:8px; width:100%; height:100dvh; max-height:none; padding:76px max(16px,calc((100vw - 520px)/2)) max(20px,env(safe-area-inset-bottom)); overflow:auto; overscroll-behavior:contain; background:#fff; color:var(--ink); border:0; border-radius:0; }
 .mobile-top-panel > * { flex-shrink:0; min-width:0; width:100%; max-width:100%; }
 .mobile-top-panel .mobile-menu-heading { display:flex; flex-direction:column; gap:4px; padding:0 12px 14px; border-bottom:1px solid var(--line); }
 .mobile-menu-heading > span { color:var(--purple); font-size:12px; font-weight:650; }
 .mobile-menu-heading > strong { font-size:19px; line-height:1.3; overflow-wrap:anywhere; }
 .mobile-top-panel .workspace-menu { margin:0; }
 .mobile-top-panel .workspace-menu-group { margin:0 0 6px; }
 .mobile-top-panel .menu-link, .mobile-top-panel summary { width:100%; min-height:44px; font-size:13px; }
 .mobile-top-panel .menu-link { color:var(--ink); }
 .mobile-top-panel .menu-link[aria-current], .mobile-top-panel .menu-link.is-current { color:var(--purple); }
 .mobile-top-panel .menu-mobile-section { border-top:1px solid var(--line); padding-top:4px; }
 .mobile-top-panel .menu-mobile-section > div { padding:0 0 6px 10px; }
 .mobile-top-panel .account-menu-section { margin:0; border:0; }
 .mobile-top-panel .account-menu-section > .menu-section-label { display:none; }
 .mobile-top-panel .account-logout { border-color:var(--line); }
 .mobile-top-panel .account-logout button { color:#943336; min-height:44px; }
 .mobile-menu-access { border-top:1px solid var(--line); padding-top:8px; }
 .mobile-top-panel .menu-guide-link { font-size:12px; color:var(--muted); }
 .mobile-top-panel .mobile-menu-install { background:transparent; border:0; text-align:left; }
 body.mobile-navigation-open { overflow:hidden; }
 body:has([data-mobile-navigation][open]) > .site-header, .admin-topbar:has([data-mobile-navigation][open]) { z-index:230; }
 .personal-section-navigation { gap:0; }
 .personal-section-navigation a { justify-content:center; flex:1; gap:6px; padding-inline:4px; font-size:12px; }
 .personal-section-navigation .navigation-icon { width:16px; height:16px; }
}
