/* ============================================================
   XION APP CORE LAYOUT BASE — RESTAURA SHELL / SIDEBAR / DASHBOARD
   Pegar al INICIO de assets/css/xion-app.css
   ============================================================ */

html,
body {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  min-height: 100% !important;
  overflow-x: hidden !important;
  background: #05000a !important;
}

body {
  color: #ffffff !important;
}

body.admin-bar {
  margin-top: 0 !important;
}

#wpadminbar,
.site-header,
.site-footer,
.elementor-location-header,
.elementor-location-footer {
  display: none !important;
}

.xion-app-shell {
  width: 100vw !important;
  min-height: 100vh !important;
  display: grid !important;
  grid-template-columns: 292px minmax(0, 1fr) !important;
  background:
    radial-gradient(circle at 8% 5%, rgba(139, 61, 255, .22), transparent 28%),
    radial-gradient(circle at 95% 95%, rgba(255, 106, 0, .20), transparent 30%),
    #05000a !important;
  overflow: hidden !important;
}

.xion-sidebar {
  position: sticky !important;
  top: 0 !important;
  height: 100vh !important;
  padding: 32px 24px !important;
  background:
    linear-gradient(180deg, rgba(46, 11, 79, .95), rgba(16, 0, 32, .95)) !important;
  border-right: 1px solid rgba(255,255,255,.09) !important;
  overflow: hidden !important;
  z-index: 20 !important;
}

.xion-sidebar-top {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  margin-bottom: 40px !important;
}

.xion-brand {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  text-decoration: none !important;
  color: #fff !important;
}

.xion-logo-mark {
  width: 52px !important;
  height: 52px !important;
  min-width: 52px !important;
  border-radius: 18px !important;
  display: grid !important;
  place-items: center !important;
  overflow: hidden !important;
  background: linear-gradient(135deg, #9b45ff, #ff3d91, #ff6a18) !important;
  box-shadow: 0 0 28px rgba(155,69,255,.35) !important;
}

.xion-logo-mark img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  display: block !important;
}

.xion-brand-name,
.xion-logo-text {
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
}

.xion-sidebar-toggle,
.xion-menu-btn {
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  padding: 0 !important;
  border-radius: 14px !important;
  border: 1px solid rgba(255, 47, 126, .65) !important;
  background: rgba(255,255,255,.035) !important;
  color: #ff3c86 !important;
  display: grid !important;
  place-items: center !important;
  cursor: pointer !important;
}

.xion-sidebar-nav,
.xion-nav {
  display: grid !important;
  gap: 14px !important;
}

.xion-sidebar-nav a,
.xion-nav-item {
  min-height: 54px !important;
  padding: 0 18px !important;
  border-radius: 18px !important;
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  color: rgba(255,255,255,.68) !important;
  text-decoration: none !important;
  font-size: 15px !important;
  font-weight: 800 !important;
}

.xion-sidebar-nav a span,
.xion-nav-item span {
  width: 20px !important;
  min-width: 20px !important;
  text-align: center !important;
  color: #caa8ff !important;
}

.xion-sidebar-nav a strong,
.xion-nav-item strong {
  color: inherit !important;
  font: inherit !important;
}

.xion-sidebar-nav a:hover,
.xion-nav-item:hover {
  color: #fff !important;
  background: rgba(255,255,255,.055) !important;
}

.xion-sidebar-nav a.active,
.xion-nav-item.is-active,
.xion-nav-item.active {
  color: #fff !important;
  background: rgba(255,255,255,.11) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.08) !important;
}

.xion-dashboard-main,
.xion-main,
.xion-app-main,
.xion-calendar-main {
  min-width: 0 !important;
}

.xion-dashboard-main,
.xion-main,
.xion-app-main {
  height: 100vh !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 46px 48px 90px !important;
  position: relative !important;
}

.xion-topbar {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  gap: 24px !important;
  margin-bottom: 44px !important;
}

.xion-eyebrow {
  display: block !important;
  color: #b78cff !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  margin-bottom: 14px !important;
}

.xion-topbar h1 {
  margin: 0 0 12px !important;
  color: #fff !important;
  font-size: clamp(44px, 5vw, 78px) !important;
  line-height: .95 !important;
  letter-spacing: -.055em !important;
}

.xion-topbar p {
  margin: 0 !important;
  color: rgba(255,255,255,.65) !important;
  font-size: 18px !important;
}

.xion-topbar-actions {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

.xion-mini-stat,
.xion-user-pill {
  width: 58px !important;
  min-width: 58px !important;
  height: 58px !important;
  border-radius: 20px !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  background: rgba(255,255,255,.045) !important;
  display: grid !important;
  place-items: center !important;
  color: #fff !important;
  font-weight: 900 !important;
}

.xion-dashboard-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 22px !important;
}

.xion-card {
  min-height: 190px !important;
  padding: 30px !important;
  border-radius: 28px !important;
  border: 1px solid rgba(255,255,255,.105) !important;
  background:
    radial-gradient(circle at 100% 100%, rgba(255,106,0,.16), transparent 38%),
    linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.028)) !important;
  box-shadow: 0 24px 80px rgba(0,0,0,.32) !important;
  backdrop-filter: blur(22px) !important;
  color: #fff !important;
}

.xion-card-orb {
  grid-column: span 2 !important;
  min-height: 260px !important;
}

.xion-card-label {
  display: block !important;
  color: #b78cff !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  margin-bottom: 18px !important;
}

.xion-card h2,
.xion-card h3 {
  margin: 0 0 12px !important;
  color: #fff !important;
}

.xion-card h2 {
  font-size: clamp(34px, 4vw, 58px) !important;
  line-height: .95 !important;
}

.xion-card h3 {
  font-size: 26px !important;
}

.xion-card p {
  color: rgba(255,255,255,.66) !important;
  margin: 0 !important;
}

.xion-actions-card a,
.xion-action-btn,
.xion-card .xion-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 48px !important;
  padding: 0 18px !important;
  border-radius: 14px !important;
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 800 !important;
  background: linear-gradient(135deg, #9b45ff, #ff3d91, #ff6a18) !important;
}

@media (max-width: 1100px) {
  .xion-app-shell {
    grid-template-columns: 96px minmax(0, 1fr) !important;
  }

  .xion-sidebar {
    padding: 24px 16px !important;
  }

  .xion-sidebar-nav a {
    justify-content: center !important;
    padding: 0 !important;
  }

  .xion-sidebar-nav a strong,
  .xion-brand-name,
  .xion-logo-text {
    display: none !important;
  }

  .xion-dashboard-grid {
    grid-template-columns: 1fr !important;
  }

  .xion-card-orb {
    grid-column: span 1 !important;
  }
}

@media (max-width: 720px) {
  .xion-app-shell {
    display: block !important;
  }

  .xion-sidebar {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    top: auto !important;
    width: 100% !important;
    height: 76px !important;
    padding: 8px 10px !important;
    border-right: 0 !important;
    border-top: 1px solid rgba(255,255,255,.10) !important;
    z-index: 9999 !important;
  }

  .xion-sidebar-top {
    display: none !important;
  }

  .xion-sidebar-nav {
    display: flex !important;
    gap: 6px !important;
    overflow-x: auto !important;
    height: 100% !important;
  }

  .xion-sidebar-nav a {
    min-width: 72px !important;
    height: 58px !important;
    justify-content: center !important;
    padding: 0 !important;
  }

  .xion-sidebar-nav a strong {
    display: none !important;
  }

  .xion-dashboard-main,
  .xion-main,
  .xion-app-main {
    height: auto !important;
    min-height: 100vh !important;
    padding: 28px 18px 110px !important;
  }

  .xion-topbar {
    flex-direction: column !important;
  }
}



/* ================================
   XION HABIT TRACKER PRO - FIX OVERRIDES
   Mantener al FINAL del archivo.
================================ */

.xion-app-shell .xion-habits-main{
    flex:1!important;
    height:100vh!important;
    padding:38px 38px 90px!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
}

.xion-app-shell .xion-habits-hero{
    position:relative!important;
    overflow:hidden!important;
    border-radius:34px!important;
    padding:30px!important;
    margin-bottom:22px!important;
    background:
        linear-gradient(135deg, rgba(255,255,255,.11), rgba(255,255,255,.035)),
        radial-gradient(circle at 85% 0%, rgba(255,106,0,.22), transparent 34%),
        radial-gradient(circle at 10% 100%, rgba(139,61,255,.32), transparent 42%)!important;
    border:1px solid rgba(255,255,255,.13)!important;
    box-shadow:0 24px 90px rgba(139,61,255,.20)!important;
    backdrop-filter:blur(24px)!important;
    display:flex!important;
    justify-content:space-between!important;
    gap:28px!important;
    align-items:flex-end!important;
}

.xion-app-shell .xion-habits-hero h1{
    font-size:clamp(38px,4vw,58px)!important;
    line-height:.95!important;
    margin:10px 0 14px!important;
    color:#fff!important;
}

.xion-app-shell .xion-habits-hero p{
    color:rgba(255,255,255,.72)!important;
    max-width:620px!important;
    margin:0!important;
}

.xion-app-shell .xion-habits-stats{
    display:grid!important;
    grid-template-columns:repeat(3,120px)!important;
    gap:10px!important;
}

.xion-app-shell .xion-habits-stats div,
.xion-app-shell .xion-score-badge{
    padding:15px 12px!important;
    border-radius:22px!important;
    background:rgba(0,0,0,.22)!important;
    border:1px solid rgba(255,255,255,.12)!important;
    text-align:center!important;
}

.xion-app-shell .xion-habits-stats strong,
.xion-app-shell .xion-score-badge strong{
    display:block!important;
    font-size:26px!important;
    color:#fff!important;
    line-height:1!important;
}

.xion-app-shell .xion-habits-stats span,
.xion-app-shell .xion-score-badge span{
    display:block!important;
    color:rgba(255,255,255,.55)!important;
    font-size:11px!important;
    margin-top:4px!important;
}

.xion-app-shell .xion-date-strip{
    display:flex!important;
    flex-direction:row!important;
    gap:10px!important;
    overflow-x:auto!important;
    padding:2px 0 18px!important;
    margin-bottom:8px!important;
    scrollbar-width:none!important;
}

.xion-app-shell .xion-date-strip::-webkit-scrollbar{display:none!important;}

.xion-app-shell .xion-date-btn{
    min-width:64px!important;
    padding:12px 10px!important;
    border-radius:20px!important;
    background:rgba(255,255,255,.06)!important;
    border:1px solid rgba(255,255,255,.11)!important;
    color:rgba(255,255,255,.75)!important;
    text-align:center!important;
}

.xion-app-shell .xion-date-btn small{
    display:block!important;
    font-size:11px!important;
    color:rgba(255,255,255,.45)!important;
    margin-bottom:4px!important;
}

.xion-app-shell .xion-date-btn strong{
    display:block!important;
    font-size:16px!important;
}

.xion-app-shell .xion-date-btn.active{
    color:#fff!important;
    border-color:rgba(255,106,0,.45)!important;
    background:linear-gradient(135deg, rgba(139,61,255,.32), rgba(255,106,0,.14))!important;
}

.xion-app-shell .xion-habits-layout{
    display:grid!important;
    grid-template-columns:1.5fr .9fr!important;
    gap:18px!important;
    margin-bottom:26px!important;
}

.xion-app-shell .xion-chart-card,
.xion-app-shell .xion-ai-panel,
.xion-app-shell .xion-week-matrix{
    border-radius:28px!important;
    padding:24px!important;
    background:linear-gradient(145deg, rgba(255,255,255,.085), rgba(255,255,255,.032))!important;
    border:1px solid rgba(255,255,255,.105)!important;
    backdrop-filter:blur(22px)!important;
    box-shadow:0 24px 80px rgba(0,0,0,.36)!important;
}

.xion-app-shell .xion-chart-top{
    display:flex!important;
    justify-content:space-between!important;
    gap:20px!important;
    margin-bottom:18px!important;
}

.xion-app-shell .xion-chart-top h3,
.xion-app-shell .xion-ai-panel h3,
.xion-app-shell .xion-section-head h3{
    color:#fff!important;
    margin:0 0 8px!important;
}

.xion-app-shell .xion-chart-top p,
.xion-app-shell .xion-ai-panel p{
    color:rgba(255,255,255,.62)!important;
    margin:0!important;
}

.xion-app-shell .xion-bars{
    height:180px!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:flex-end!important;
    gap:8px!important;
    padding:16px 10px 8px!important;
    border-radius:22px!important;
    background:rgba(0,0,0,.18)!important;
    border:1px solid rgba(255,255,255,.08)!important;
}

.xion-app-shell .xion-bar-wrap{
    flex:1!important;
    height:100%!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-end!important;
    align-items:center!important;
    gap:7px!important;
}

.xion-app-shell .xion-bar{
    width:100%!important;
    max-width:24px!important;
    min-height:8px!important;
    border-radius:999px 999px 5px 5px!important;
    background:linear-gradient(180deg,#ff6a00,#c46bff,#8b3dff)!important;
    box-shadow:0 0 18px rgba(139,61,255,.35)!important;
    opacity:.75!important;
}

.xion-app-shell .xion-bar.today{
    opacity:1!important;
    box-shadow:0 0 24px rgba(255,106,0,.5)!important;
}

.xion-app-shell .xion-bar-wrap span{
    font-size:10px!important;
    color:rgba(255,255,255,.5)!important;
}

.xion-app-shell .xion-ai-panel{
    position:relative!important;
    overflow:hidden!important;
}

.xion-app-shell .xion-ai-panel > span{
    display:block!important;
    color:#ff8a2a!important;
    font-size:11px!important;
    letter-spacing:2px!important;
    text-transform:uppercase!important;
    margin-bottom:12px!important;
}

.xion-app-shell .xion-section-head{
    display:flex!important;
    justify-content:space-between!important;
    align-items:flex-end!important;
    margin:28px 2px 14px!important;
}

.xion-app-shell .xion-section-head span{
    color:rgba(255,255,255,.58)!important;
    font-size:13px!important;
}

.xion-app-shell .xion-habit-list{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
}

.xion-app-shell .xion-habit-row{
    display:grid!important;
    grid-template-columns:auto 1fr auto!important;
    gap:14px!important;
    align-items:center!important;
    padding:16px!important;
    border-radius:24px!important;
    background:rgba(255,255,255,.07)!important;
    border:1px solid rgba(255,255,255,.12)!important;
    backdrop-filter:blur(18px)!important;
}

.xion-app-shell .xion-habit-row.done{
    background:linear-gradient(135deg, rgba(85,255,183,.13), rgba(255,255,255,.045))!important;
    border-color:rgba(85,255,183,.28)!important;
}

.xion-app-shell .xion-habit-icon{
    width:44px!important;
    height:44px!important;
    border-radius:16px!important;
    display:grid!important;
    place-items:center!important;
    background:rgba(255,255,255,.08)!important;
    border:1px solid rgba(255,255,255,.12)!important;
    font-size:20px!important;
}

.xion-app-shell .xion-habit-info strong{
    display:block!important;
    color:#fff!important;
    font-size:15px!important;
}

.xion-app-shell .xion-habit-info span{
    display:block!important;
    color:rgba(255,255,255,.62)!important;
    font-size:13px!important;
    margin-top:4px!important;
}

.xion-app-shell .xion-habit-info small{
    display:block!important;
    color:rgba(255,255,255,.75)!important;
    font-size:12px!important;
    margin-top:7px!important;
    font-weight:700!important;
}

.xion-app-shell .xion-check-form{
    margin:0!important;
}

.xion-app-shell .xion-check-btn,
.xion-app-shell .xion-check-static{
    width:34px!important;
    height:34px!important;
    border-radius:50%!important;
    border:1px solid rgba(255,255,255,.28)!important;
    background:rgba(255,255,255,.06)!important;
    cursor:pointer!important;
    padding:0!important;
}

.xion-app-shell .xion-check-btn:hover{
    background:linear-gradient(135deg,#8b3dff,#ff6a00)!important;
    box-shadow:0 0 22px rgba(139,61,255,.45)!important;
}

.xion-app-shell .xion-check-static{
    display:grid!important;
    place-items:center!important;
    background:linear-gradient(135deg,#55ffb7,#8b3dff)!important;
    color:#06110d!important;
    font-weight:900!important;
}

.xion-app-shell .xion-week-matrix{
    display:grid!important;
    grid-template-columns:1.3fr repeat(7,1fr)!important;
    gap:7px!important;
}

.xion-app-shell .xion-matrix-name,
.xion-app-shell .xion-matrix-dot{
    min-height:30px!important;
    border-radius:10px!important;
    display:grid!important;
    align-items:center!important;
    font-size:11px!important;
    color:rgba(255,255,255,.62)!important;
    background:rgba(255,255,255,.055)!important;
    border:1px solid rgba(255,255,255,.08)!important;
}

.xion-app-shell .xion-matrix-name{
    justify-content:start!important;
    padding-left:10px!important;
}

.xion-app-shell .xion-matrix-dot{
    place-items:center!important;
}

.xion-app-shell .xion-matrix-dot.on{
    background:linear-gradient(135deg, rgba(85,255,183,.75), rgba(139,61,255,.52))!important;
    color:#06110d!important;
    font-weight:900!important;
}

.xion-app-shell .xion-habit-alert{
    margin:0 0 18px!important;
    padding:14px 16px!important;
    border-radius:16px!important;
    border:1px solid rgba(255,255,255,.12)!important;
}

.xion-app-shell .xion-habit-alert-success{
    background:rgba(85,255,183,.1)!important;
    color:#b9ffe0!important;
}

.xion-app-shell .xion-habit-alert-error{
    background:rgba(255,91,126,.1)!important;
    color:#ffc1cd!important;
}

@media(max-width:1100px){
    .xion-app-shell .xion-habits-hero{flex-direction:column!important;align-items:stretch!important}
    .xion-app-shell .xion-habits-stats{grid-template-columns:repeat(3,1fr)!important}
    .xion-app-shell .xion-habits-layout{grid-template-columns:1fr!important}
    .xion-app-shell .xion-habit-list{grid-template-columns:1fr!important}
}

@media(max-width:680px){
    .xion-app-shell .xion-habits-main{padding:24px 18px 80px!important}
    .xion-app-shell .xion-habits-hero{padding:22px!important;border-radius:28px!important}
    .xion-app-shell .xion-habits-hero h1{font-size:34px!important}
    .xion-app-shell .xion-habits-stats{grid-template-columns:repeat(3,1fr)!important}
    .xion-app-shell .xion-habits-stats strong{font-size:21px!important}
    .xion-app-shell .xion-bars{height:150px!important}
    .xion-app-shell .xion-week-matrix{overflow-x:auto!important;grid-template-columns:90px repeat(7,34px)!important}
}
/* XION FIX — margen exterior */
html,
body {
  margin: 0 !important;
  padding: 0 !important;
}

.xion-app-shell {
  margin: 0 !important;
  width: 100vw !important;
  min-height: 100vh !important;
}

.xion-dashboard-main,
.xion-main,
.xion-app-main {
  padding-top: 36px !important;
}


/* ============================================================
   XION APP FIX — SIDEBAR SLIDE + MARGEN + DOBLE SCROLL
   Mantener al FINAL de assets/css/xion-app.css
   ============================================================ */

/* Margen exterior real */
html,
body {
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: hidden !important;
  background: #05000a !important;
}

body .xion-app-shell,
#xionAppShell {
  margin: 0 !important;
  width: 100vw !important;
  min-height: 100vh !important;
}

/* Quitar franja superior visual */
.xion-dashboard-main,
.xion-main,
.xion-app-main,
.xion-habits-main {
  padding-top: 36px !important;
}

/* Estructura con transición del sidebar */
.xion-app-shell,
#xionAppShell {
  display: grid !important;
  grid-template-columns: 292px minmax(0, 1fr) !important;
  transition: grid-template-columns .28s ease !important;
}

/* Scroll limpio: solo debe scrollear el contenido principal */
.xion-app-shell {
  height: 100vh !important;
  overflow: hidden !important;
}

.xion-dashboard-main,
.xion-main,
.xion-app-main,
.xion-habits-main {
  height: 100vh !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}

/* Sidebar base */
.xion-sidebar {
  width: 292px !important;
  transition: width .28s ease, padding .28s ease, transform .28s ease !important;
}

.xion-sidebar-nav a,
.xion-nav-item {
  transition: background .18s ease, color .18s ease, padding .28s ease, justify-content .28s ease !important;
}

/* Estado colapsado */
.xion-app-shell.xion-sidebar-collapsed,
#xionAppShell.xion-sidebar-collapsed {
  grid-template-columns: 104px minmax(0, 1fr) !important;
}

.xion-app-shell.xion-sidebar-collapsed .xion-sidebar,
#xionAppShell.xion-sidebar-collapsed .xion-sidebar {
  width: 104px !important;
  padding-left: 18px !important;
  padding-right: 18px !important;
}

.xion-app-shell.xion-sidebar-collapsed .xion-brand-name,
.xion-app-shell.xion-sidebar-collapsed .xion-logo-text,
.xion-app-shell.xion-sidebar-collapsed .xion-sidebar-nav a strong,
.xion-app-shell.xion-sidebar-collapsed .xion-nav-item strong,
#xionAppShell.xion-sidebar-collapsed .xion-brand-name,
#xionAppShell.xion-sidebar-collapsed .xion-logo-text,
#xionAppShell.xion-sidebar-collapsed .xion-sidebar-nav a strong,
#xionAppShell.xion-sidebar-collapsed .xion-nav-item strong {
  display: none !important;
}

.xion-app-shell.xion-sidebar-collapsed .xion-sidebar-nav a,
.xion-app-shell.xion-sidebar-collapsed .xion-nav-item,
#xionAppShell.xion-sidebar-collapsed .xion-sidebar-nav a,
#xionAppShell.xion-sidebar-collapsed .xion-nav-item {
  justify-content: center !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.xion-app-shell.xion-sidebar-collapsed .xion-sidebar-top,
#xionAppShell.xion-sidebar-collapsed .xion-sidebar-top {
  justify-content: center !important;
}

/* En colapsado dejamos solo el botón visible arriba */
.xion-app-shell.xion-sidebar-collapsed .xion-brand,
#xionAppShell.xion-sidebar-collapsed .xion-brand {
  display: none !important;
}

.xion-app-shell.xion-sidebar-collapsed .xion-sidebar-toggle,
.xion-app-shell.xion-sidebar-collapsed .xion-menu-btn,
#xionAppShell.xion-sidebar-collapsed .xion-sidebar-toggle,
#xionAppShell.xion-sidebar-collapsed .xion-menu-btn {
  margin: 0 auto !important;
}

/* Estado mobile: menú inferior, no colapsar con grid */
@media (max-width: 720px) {
  .xion-app-shell,
  #xionAppShell {
    display: block !important;
  }

  .xion-app-shell.xion-sidebar-collapsed,
  #xionAppShell.xion-sidebar-collapsed {
    display: block !important;
  }

  .xion-sidebar {
    width: 100% !important;
  }
}
/* XION FIX — eliminar márgenes de WordPress / Elementor en /app */

body:has(.xion-app-shell),
html:has(.xion-app-shell) {
  margin: 0 !important;
  padding: 0 !important;
  background: #05000a !important;
  overflow: hidden !important;
}

body:has(.xion-app-shell) #page,
body:has(.xion-app-shell) .site,
body:has(.xion-app-shell) .site-content,
body:has(.xion-app-shell) .content-area,
body:has(.xion-app-shell) .entry-content,
body:has(.xion-app-shell) .page-content,
body:has(.xion-app-shell) .elementor,
body:has(.xion-app-shell) .elementor-section,
body:has(.xion-app-shell) .elementor-container,
body:has(.xion-app-shell) .elementor-widget-wrap,
body:has(.xion-app-shell) .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
  max-width: none !important;
  width: 100% !important;
}

body:has(.xion-app-shell) .xion-app-shell {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  min-height: 100vh !important;
}

body:has(.xion-app-shell) .xion-sidebar {
  height: 100vh !important;
}

body:has(.xion-app-shell) .xion-dashboard-main,
body:has(.xion-app-shell) .xion-main,
body:has(.xion-app-shell) .xion-app-main,
body:has(.xion-app-shell) .xion-habits-main {
  height: 100vh !important;
}
/* ============================================================
   XION APP MOBILE DRAWER PATCH V1.2
   Pegar al FINAL de assets/css/xion-app.css
   ============================================================ */

/* Botón flotante móvil: fuera del sidebar para que siempre sea accesible */
.xion-mobile-menu-toggle {
  display: none !important;
}

.xion-sidebar-overlay {
  display: none !important;
}

@media (max-width: 720px) {
  html:has(.xion-app-shell),
  body:has(.xion-app-shell) {
    overflow: hidden !important;
  }

  body:has(.xion-app-shell) .xion-app-shell,
  .xion-app-shell,
  #xionAppShell {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    display: block !important;
    overflow: hidden !important;
    background:
      radial-gradient(circle at 8% 5%, rgba(139, 61, 255, .20), transparent 30%),
      radial-gradient(circle at 95% 95%, rgba(255, 106, 0, .18), transparent 32%),
      #05000a !important;
  }

  .xion-dashboard-main,
  .xion-main,
  .xion-app-main,
  .xion-habits-main,
  .xion-calendar-page,
  body:has(.xion-app-shell) .xion-dashboard-main,
  body:has(.xion-app-shell) .xion-main,
  body:has(.xion-app-shell) .xion-app-main,
  body:has(.xion-app-shell) .xion-habits-main {
    position: relative !important;
    width: 100vw !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding: 82px 16px 112px !important;
    margin: 0 !important;
    -webkit-overflow-scrolling: touch !important;
  }

  /* Sidebar como drawer lateral, no barra inferior */
  .xion-sidebar,
  body:has(.xion-app-shell) .xion-sidebar {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    bottom: 0 !important;
    right: auto !important;
    width: min(82vw, 318px) !important;
    height: 100dvh !important;
    padding: 22px 18px 28px !important;
    border-right: 1px solid rgba(255,255,255,.12) !important;
    border-top: 0 !important;
    z-index: 100020 !important;
    transform: translateX(-104%) !important;
    transition: transform .28s cubic-bezier(.2,.82,.2,1), box-shadow .28s ease !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    background:
      radial-gradient(circle at 15% 0%, rgba(155,69,255,.30), transparent 36%),
      linear-gradient(180deg, rgba(46, 11, 79, .98), rgba(11, 0, 24, .98)) !important;
    box-shadow: 0 0 0 rgba(0,0,0,0) !important;
  }

  .xion-app-shell.xion-sidebar-open .xion-sidebar,
  #xionAppShell.xion-sidebar-open .xion-sidebar {
    transform: translateX(0) !important;
    box-shadow: 28px 0 90px rgba(0,0,0,.55), 0 0 36px rgba(155,69,255,.18) !important;
  }

  .xion-sidebar-top {
    display: flex !important;
    margin-bottom: 24px !important;
  }

  .xion-brand-name,
  .xion-logo-text,
  .xion-sidebar-nav a strong,
  .xion-nav-item strong {
    display: inline !important;
  }

  .xion-logo-mark {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    border-radius: 15px !important;
  }

  .xion-brand-name {
    font-size: 12px !important;
    letter-spacing: .16em !important;
  }

  .xion-sidebar-toggle,
  .xion-menu-btn {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    display: grid !important;
  }

  .xion-sidebar-nav,
  .xion-nav {
    display: grid !important;
    gap: 10px !important;
    height: auto !important;
    overflow: visible !important;
  }

  .xion-sidebar-nav a,
  .xion-nav-item {
    min-width: 0 !important;
    width: 100% !important;
    min-height: 50px !important;
    height: auto !important;
    justify-content: flex-start !important;
    padding: 0 16px !important;
    border-radius: 16px !important;
  }

  .xion-sidebar-nav a span,
  .xion-nav-item span {
    width: 22px !important;
    min-width: 22px !important;
  }

  .xion-mobile-menu-toggle {
    position: fixed !important;
    top: max(14px, env(safe-area-inset-top)) !important;
    left: 14px !important;
    z-index: 100040 !important;
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    padding: 0 !important;
    display: grid !important;
    place-items: center !important;
    gap: 0 !important;
    border-radius: 16px !important;
    border: 1px solid rgba(255,61,145,.62) !important;
    background:
      radial-gradient(circle at 20% 0%, rgba(155,69,255,.36), transparent 42%),
      rgba(9, 4, 20, .78) !important;
    color: #fff !important;
    backdrop-filter: blur(16px) !important;
    box-shadow: 0 14px 34px rgba(0,0,0,.32), 0 0 24px rgba(155,69,255,.16) !important;
  }

  .xion-mobile-menu-toggle span {
    display: block !important;
    width: 20px !important;
    height: 2px !important;
    border-radius: 999px !important;
    background: #fff !important;
    transition: transform .22s ease, opacity .22s ease !important;
  }

  .xion-mobile-menu-toggle span + span {
    margin-top: -10px !important;
  }

  .xion-mobile-menu-toggle span:nth-child(3) {
    margin-top: -10px !important;
  }

  .xion-app-shell.xion-sidebar-open .xion-mobile-menu-toggle span:nth-child(1) {
    transform: translateY(10px) rotate(45deg) !important;
  }

  .xion-app-shell.xion-sidebar-open .xion-mobile-menu-toggle span:nth-child(2) {
    opacity: 0 !important;
  }

  .xion-app-shell.xion-sidebar-open .xion-mobile-menu-toggle span:nth-child(3) {
    transform: translateY(-10px) rotate(-45deg) !important;
  }

  .xion-sidebar-overlay {
    position: fixed !important;
    inset: 0 !important;
    z-index: 100010 !important;
    display: block !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    background: rgba(0,0,0,.58) !important;
    backdrop-filter: blur(7px) !important;
    transition: opacity .24s ease, visibility .24s ease !important;
  }

  .xion-app-shell.xion-sidebar-open .xion-sidebar-overlay,
  #xionAppShell.xion-sidebar-open .xion-sidebar-overlay {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  html.xion-sidebar-mobile-open,
  body.xion-sidebar-mobile-open {
    overflow: hidden !important;
    touch-action: none !important;
  }

  /* Evitar que el colapsado desktop afecte móvil */
  .xion-app-shell.xion-sidebar-collapsed,
  #xionAppShell.xion-sidebar-collapsed {
    display: block !important;
  }

  .xion-app-shell.xion-sidebar-collapsed .xion-sidebar,
  #xionAppShell.xion-sidebar-collapsed .xion-sidebar {
    width: min(82vw, 318px) !important;
    padding: 22px 18px 28px !important;
  }

  .xion-app-shell.xion-sidebar-collapsed .xion-brand,
  #xionAppShell.xion-sidebar-collapsed .xion-brand {
    display: inline-flex !important;
  }

  .xion-app-shell.xion-sidebar-collapsed .xion-sidebar-nav a,
  .xion-app-shell.xion-sidebar-collapsed .xion-nav-item,
  #xionAppShell.xion-sidebar-collapsed .xion-sidebar-nav a,
  #xionAppShell.xion-sidebar-collapsed .xion-nav-item {
    justify-content: flex-start !important;
    padding: 0 16px !important;
  }
}

@media (min-width: 721px) {
  .xion-sidebar-overlay,
  .xion-mobile-menu-toggle {
    display: none !important;
  }
}
/* Ocultar la X grande del botón flotante cuando el drawer está abierto */
@media (max-width: 720px) {
  .xion-app-shell.xion-mobile-sidebar-open .xion-mobile-menu-toggle {
    display: none !important;
  }

  .xion-app-shell.xion-mobile-sidebar-open .xion-sidebar-toggle {
    display: grid !important;
  }
}
html,
body {
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}

html::-webkit-scrollbar,
body::-webkit-scrollbar {
  display: none !important;
  width: 0 !important;
}