.illan-sidebar { position: fixed; top: 0; right: 0; width: 100vw; height: 100vh; z-index: var(--z-modal); pointer-events: none; visibility: hidden; } 
.illan-sidebar.is-active { pointer-events: auto; visibility: visible; } 
.sidebar-overlay { position: absolute; inset: 0; background: rgba(15, 23, 42, 0.4); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); opacity: 0; transition: opacity 0.3s ease; } 
.illan-sidebar.is-active .sidebar-overlay { opacity: 1; } 

.sidebar-content { position: absolute; top: 0; right: 0; width: 100%; max-width: 380px; height: 100%; background-color: var(--layout-color-background); border-left: 1px solid var(--layout-border-glass); display: flex; flex-direction: column; overflow-y: auto; transform: translateX(100%); transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); } 
.illan-sidebar.is-active .sidebar-content { transform: translateX(0); } 

/* CABECERA VIP */
.vip-sidebar-header { display: flex; align-items: center; justify-content: space-between; padding: var(--layout-margin-space); background: linear-gradient(135deg, var(--color-primary) 0%, #1e293b 100%); border-bottom: 2px solid var(--color-vip-gold); color: var(--color-vip-gold); flex-shrink: 0; }
.vip-brand { display: flex; align-items: center; gap: 0.75rem; }
.vip-icon { width: 1.75rem; height: 1.75rem; }
.vip-title { font-family: var(--title-font); font-size: var(--size-h5-title); font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; margin: 0; }

.btn-sidebar-close { background: transparent; border: none; color: var(--color-vip-gold); cursor: pointer; padding: 0.5rem; transition: var(--button-transition); border-radius: var(--button-radius); display: flex; align-items: center; justify-content: center; }
.btn-sidebar-close:hover { background: rgba(212, 175, 55, 0.1); color: var(--color-vip-gold-hover); transform: scale(1.05); }
.btn-sidebar-close svg { width: 20px; height: 20px; }

/* CONTENIDO Y NAVEGACIÓN */
.sidebar-navigation { padding: 1.5rem 1rem; border-bottom: 1px solid var(--layout-border-glass); flex-shrink: 0; } 
.sb-section { margin-bottom: 1.5rem; } 
.sb-section:last-child { margin-bottom: 0; } 
.sb-section-title { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 1px; color: var(--color-secondary); margin: 0 0 0.5rem 0.5rem; font-weight: 700; } 
.sb-link-list { list-style: none; padding: 0; margin: 0; } 
.sb-link { display: flex; align-items: center; gap: 1rem; padding: 0.75rem 1rem; color: var(--color-general-text); text-decoration: none; border-radius: var(--button-radius); font-weight: 500; font-size: 0.95rem; transition: var(--button-transition); } 
.sb-link:hover { background: var(--form-bg); color: var(--title-color); } 
.sb-icon { width: 20px; height: 20px; color: var(--color-secondary); display: flex; transition: var(--button-transition); } 
.sb-link:hover .sb-icon { color: var(--color-vip-gold); } 

.sidebar-widgets-container { display: flex; flex-direction: column; width: 100%; flex-shrink: 0; padding: 1.5rem; box-sizing: border-box; gap: 1rem; border-top: 1px solid var(--layout-border-glass); background: var(--layout-color-background); } 
.sb-widget-block { width: 100%; }