.shell{display:grid;grid-template-columns:240px 1fr;grid-template-rows:56px 1fr;grid-template-areas:"sidebar header" "sidebar main";min-height:100vh;background:var(--modulia-color-surface-muted,#f6f7f9);font-family:var(--modulia-font-family);color:var(--modulia-color-text,#1a1a2e)}.shell-sidebar{grid-area:sidebar;display:flex;flex-direction:column;background:#ffffff;border-right:1px solid var(--modulia-color-border,#e2e5e9);padding:0;overflow-y:auto}.shell-sidebar-brand{display:flex;align-items:center;gap:var(--modulia-space-2,8px);padding:var(--modulia-space-4,16px) var(--modulia-space-4,16px);min-height:56px;background:var(--modulia-brand-night,#0f172a);border-bottom:1px solid var(--modulia-color-border,#e2e5e9);position:relative}.shell-sidebar-brand:after{content:"";position:absolute;inset:auto 0 0 0;height:3px;background:var(--modulia-brand-gradient)}.shell-sidebar-brand-name{font-size:14px;font-weight:700;letter-spacing:.5px;color:var(--modulia-color-text,#1a1a2e)}.shell-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.shell-sidebar-section{padding:var(--modulia-space-3,12px) var(--modulia-space-2,8px)}.shell-sidebar-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--modulia-color-text-muted,#6b7280);padding:0 var(--modulia-space-2,8px) var(--modulia-space-1,4px)}.shell-nav-link{display:flex;align-items:center;gap:var(--modulia-space-2,8px);padding:var(--modulia-space-2,8px) var(--modulia-space-3,12px);min-height:44px;border-radius:var(--modulia-radius,6px);font-size:14px;font-weight:500;color:var(--modulia-color-text-muted,#4b5563);text-decoration:none;transition:background-color .15s,color .15s;cursor:pointer;border:none;background:none;width:100%;text-align:left;font-family:inherit}.shell-nav-link:hover{background:var(--modulia-color-surface-muted,#f3f4f6);color:var(--modulia-color-text,#1a1a2e)}.shell-nav-link:focus-visible{outline:2px solid var(--modulia-color-primary,#1d4ed8);outline-offset:2px}.shell-nav-link[aria-current=page]{background:var(--modulia-color-surface-muted,#eef2ff);color:var(--modulia-color-primary,#1d4ed8);font-weight:600}.shell-nav-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:16px}.shell-sidebar-footer{margin-top:auto;padding:var(--modulia-space-3,12px) var(--modulia-space-3,12px);border-top:1px solid var(--modulia-color-border,#e2e5e9);font-size:12px;color:var(--modulia-color-text-muted,#6b7280)}.shell-flag{display:flex;align-items:center;gap:var(--modulia-space-1,4px);padding:var(--modulia-space-1,4px) 0}.shell-flag-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.shell-flag-dot.on{background:#15803d}.shell-flag-dot.off{background:#d1d5db}.shell-header{grid-area:header;justify-content:space-between;padding:0 var(--modulia-space-4,16px);background:#ffffff;border-bottom:1px solid var(--modulia-color-border,#e2e5e9);height:56px}.shell-header,.shell-header-left{display:flex;align-items:center;gap:var(--modulia-space-3,12px);min-width:0}.shell-header-institution{font-size:15px;font-weight:600;color:var(--modulia-color-text,#1a1a2e);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.shell-header-role{display:inline-flex;align-items:center;padding:2px 10px;border-radius:999px;font-size:13px;font-weight:600;background:var(--modulia-color-surface-muted,#eef2ff);color:var(--modulia-color-primary,#1d4ed8);white-space:nowrap}.shell-header-right,.shell-header-user{display:flex;align-items:center;gap:var(--modulia-space-2,8px)}.shell-header-user{font-size:14px;color:var(--modulia-color-text-muted,#4b5563)}.shell-header-avatar{width:32px;height:32px;border-radius:50%;background:var(--modulia-color-primary,#1d4ed8);color:#ffffff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;flex-shrink:0}.shell-header-btn{display:inline-flex;align-items:center;gap:var(--modulia-space-1,4px);min-height:44px;padding:0 var(--modulia-space-3,12px);border-radius:var(--modulia-radius,6px);border:1px solid var(--modulia-color-border,#d1d5db);background:#ffffff;color:var(--modulia-color-text,#374151);font-size:14px;font-weight:500;cursor:pointer;font-family:inherit;transition:background-color .15s;text-decoration:none;white-space:nowrap}.shell-header-btn:hover{background:var(--modulia-color-surface-muted,#f9fafb)}.shell-header-btn:focus-visible{outline:2px solid var(--modulia-color-primary,#1d4ed8);outline-offset:2px}.shell-header-btn.danger{color:#b91c1c;border-color:#fecaca}.shell-header-btn.danger:hover{background:#fef2f2}.shell-main{grid-area:main;padding:var(--modulia-space-6,24px);overflow-y:auto;min-width:0}.shell-bottom-nav,.shell-brand-rail,.shell-header-avatar-btn,.shell-header-back,.shell-header-isotipo{display:none}.shell-brand-full,.shell-demo-badge{display:inline-flex}.shell-demo-badge{align-items:center;gap:6px;margin-left:10px;padding:3px 10px;border-radius:999px;background:var(--modulia-status-info-bg,#eff6ff);border:1px solid var(--modulia-status-info-border,#bfdbfe);color:var(--modulia-color-primary,#1d4ed8);font-size:12px;font-weight:600;letter-spacing:.3px;white-space:nowrap}.shell-demo-badge__punto{width:8px;height:8px;border-radius:50%;background:var(--modulia-color-accent,#ea580c)}@media (max-width:767px){.shell-demo-badge{font-size:11px;padding:2px 8px;margin-left:6px}}@media (min-width:768px) and (max-width:1023px){.shell{grid-template-columns:72px 1fr}.shell-sidebar{align-items:stretch}.shell-sidebar-brand{justify-content:center;padding:var(--modulia-space-3,12px) var(--modulia-space-1,4px)}.shell-brand-full{display:none}.shell-brand-rail{display:block}.shell-sidebar-section{padding:var(--modulia-space-2,8px) var(--modulia-space-1,4px)}.shell-sidebar-label{display:none}.shell-nav-link{flex-direction:column;gap:var(--modulia-space-1,4px);padding:var(--modulia-space-2,8px) var(--modulia-space-1,4px);font-size:11px;text-align:center;justify-content:center;min-height:56px}.shell-sidebar-footer{display:none}}@media (max-width:767px){.shell{grid-template-columns:1fr;grid-template-rows:56px 1fr;grid-template-areas:"header" "main";min-height:100dvh;padding-bottom:calc(64px + env(safe-area-inset-bottom, 0px))}.shell-sidebar{display:none}.shell-header{padding:0 var(--modulia-space-2,8px);padding-top:env(safe-area-inset-top,0);height:auto;min-height:56px}.shell-header-back,.shell-header-isotipo{display:inline-flex;min-width:44px;justify-content:center}.shell-header-isotipo{align-items:center;min-height:44px;margin-left:calc(-1 * var(--modulia-space-1, 4px))}.shell-header-isotipo:focus-visible{outline:2px solid var(--modulia-color-primary,#1d4ed8);outline-offset:2px;border-radius:var(--modulia-radius,6px)}.shell-header-btn-desktop,.shell-header-role,.shell-header-user{display:none}.shell-header-avatar-btn{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:4px;border:none;background:none;border-radius:50%;cursor:pointer}.shell-header-avatar-btn:focus-visible{outline:2px solid var(--modulia-color-primary,#1d4ed8);outline-offset:2px}.shell-main{padding:var(--modulia-space-3,12px)}.shell-bottom-nav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:90;background:#ffffff;border-top:1px solid var(--modulia-color-border,#e2e5e9);padding-bottom:env(safe-area-inset-bottom,0);justify-content:stretch}.shell-bottom-item{flex:1 1 0;min-width:64px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:56px;padding:var(--modulia-space-1,4px) 0;font-size:11px;font-weight:500;color:var(--modulia-color-text-muted,#4b5563);text-decoration:none;font-family:inherit;background:none;border:none;cursor:pointer;position:relative}.shell-bottom-item:focus-visible{outline:2px solid var(--modulia-color-primary,#1d4ed8);outline-offset:-2px;border-radius:var(--modulia-radius,6px)}.shell-bottom-item.activa:before{content:"";position:absolute;top:0;left:25%;right:25%;height:3px;border-radius:0 0 3px 3px;background:var(--modulia-brand-gradient)}.shell-bottom-item.activa{color:var(--modulia-color-primary,#1d4ed8);font-weight:600}}.shell-mas{gap:var(--modulia-space-3,12px)}.shell-mas,.shell-mas-grupo{display:flex;flex-direction:column}.shell-mas-grupo{gap:var(--modulia-space-1,4px)}.shell-mas-item{display:flex;align-items:center;gap:var(--modulia-space-3,12px);min-height:48px;padding:var(--modulia-space-2,8px) var(--modulia-space-2,8px);border-radius:var(--modulia-radius,6px);font-size:15px;font-weight:500;color:var(--modulia-color-text,#1a1a2e);text-decoration:none;border:none;background:none;cursor:pointer;font-family:inherit;text-align:left;width:100%}.shell-mas-item:hover{background:var(--modulia-color-surface-muted,#f3f4f6)}.shell-mas-item:focus-visible{outline:2px solid var(--modulia-color-primary,#1d4ed8);outline-offset:2px}.shell-usuario-info{padding:var(--modulia-space-2,8px) 0;border-bottom:1px solid var(--modulia-color-border,#e2e5e9)}.shell-usuario-email{margin:0;font-size:15px;font-weight:600;color:var(--modulia-color-text,#1a1a2e);word-break:break-all}.shell-usuario-contexto{margin:var(--modulia-space-1,4px) 0 0;font-size:13px;color:var(--modulia-color-text-muted,#6b7280)}@media (prefers-reduced-motion:reduce){.shell-bottom-item,.shell-header-btn,.shell-mas-item,.shell-nav-link{transition:none}}