/*
  DragonLord Layout Stability Fix
  Objetivo: corregir páginas internas con módulos desalineados, footer lateral,
  tablas largas y grids UserCP que se salen del contenedor.
  No toca lógica PHP ni SQL.
*/

:root{
  --dl-bg:#04080f;
  --dl-panel:#071222;
  --dl-panel2:#0b1b31;
  --dl-line:rgba(126,160,207,.18);
  --dl-line2:rgba(245,164,48,.32);
  --dl-gold:#f0b75b;
  --dl-orange:#ff7a12;
  --dl-blue:#3c75b5;
  --dl-text:#d9e7f6;
  --dl-muted:#6f89aa;
}

html,body{
  min-width:0!important;
  max-width:100%!important;
  overflow-x:hidden!important;
}

body{
  background-color:var(--dl-bg)!important;
  display:block!important;
}

*,*::before,*::after{box-sizing:border-box;}

/* Header y navegación: evita que el logo/menú generen espacio lateral raro */
#navbar{
  position:relative!important;
  z-index:1000!important;
  width:100%!important;
  min-height:46px!important;
  overflow:visible!important;
}
.iv-navbar-inner{
  max-width:1240px!important;
  width:calc(100% - 28px)!important;
  margin:0 auto!important;
}
#navbar ul{margin:0!important; padding-left:0!important;}
#header{
  position:relative!important;
  z-index:2!important;
  width:100%!important;
  min-height:150px!important;
  padding:46px 0 32px!important;
  text-align:center!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
#header a{display:inline-flex!important;align-items:center!important;justify-content:center!important;}
#header img,.webengine-mu-logo{
  max-width:230px!important;
  max-height:130px!important;
  width:auto!important;
  height:auto!important;
  object-fit:contain!important;
}
#header::after{
  pointer-events:none!important;
  max-width:100%!important;
  overflow:hidden!important;
}

/* Contenedor principal de todas las páginas */
#container{
  position:relative!important;
  z-index:5!important;
  width:calc(100% - 36px)!important;
  max-width:1180px!important;
  margin:34px auto 90px!important;
  padding:0!important;
  clear:both!important;
}
#container::after,
#content::after,
.row::after{
  content:''!important;
  display:table!important;
  clear:both!important;
}
#content{
  width:100%!important;
  max-width:100%!important;
  min-height:auto!important;
  overflow:visible!important;
  padding:32px 36px!important;
  margin:0 auto!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,rgba(6,12,23,.92),rgba(3,7,14,.84))!important;
  border:1px solid rgba(240,183,91,.18)!important;
  box-shadow:0 28px 90px rgba(0,0,0,.48), inset 0 1px 0 rgba(255,255,255,.03)!important;
}
#content > .col-xs-12,
#content > .col-sm-12,
#content > .col-md-12{
  float:none!important;
  width:100%!important;
  padding-left:0!important;
  padding-right:0!important;
  min-height:0!important;
}
#content > .col-xs-8{padding-left:0!important;}
#content > .col-xs-4{padding-right:0!important;}

/* Páginas internas: título y módulo más legible */
.page-title{
  margin:0 0 24px!important;
  padding:0 0 14px!important;
  border-bottom:1px solid rgba(240,183,91,.18)!important;
}
.page-title span,
.iv-ucp-pagetitle,
.module-title span{
  font-family:'Cinzel',serif!important;
  color:var(--dl-text)!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
  text-shadow:0 0 20px rgba(255,122,18,.12)!important;
}

/* Rankings: evita tablas flotantes y mejora scroll responsive */
.rankings_menu{
  width:100%!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  white-space:normal!important;
  padding-bottom:8px!important;
  margin-bottom:18px!important;
}
.rankings_menu a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:28px!important;
  margin:3px!important;
}
.rankings-class-filter{
  max-width:560px!important;
  width:100%!important;
  margin:18px auto 22px!important;
  overflow-x:auto!important;
  white-space:nowrap!important;
}
.rankings-class-filter ul,
.rankings-class-filter li{white-space:nowrap!important;}
.rankings-table,
table.rankings-table{
  width:100%!important;
  max-width:100%!important;
  margin:18px auto 0!important;
  table-layout:auto!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  background:rgba(4,10,20,.72)!important;
  border:1px solid rgba(126,160,207,.22)!important;
  border-radius:13px!important;
  overflow:hidden!important;
}
.rankings-table tr:first-child td,
.rankings-table thead th{
  background:linear-gradient(180deg,rgba(12,27,49,.96),rgba(7,15,30,.96))!important;
  color:#dbe8fa!important;
  font-size:11px!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
}
.rankings-table td,
.rankings-table th{
  padding:12px 14px!important;
  border-color:rgba(126,160,207,.10)!important;
  text-align:center!important;
  vertical-align:middle!important;
}
.rankings-table img{max-height:34px!important; width:auto!important; object-fit:contain!important;}
.rankings-table-place{font-size:15px!important;color:#d8b45e!important;}

/* Información del servidor: bloques alineados y tablas limpias */
.we-page-info #content,
.we-page-rankings #content,
.we-page-usercp #content,
.we-page-downloads #content,
.we-page-news #content,
.we-page-donation #content,
.we-page-register #content,
.we-page-login #content{
  max-width:1080px!important;
}
.we-page-info .panel,
.we-page-info .table,
.we-page-info .well{
  width:100%!important;
}
.we-page-info .row{margin-left:0!important;margin-right:0!important;}
.we-page-info [class^="col-"],
.we-page-info [class*=" col-"]{padding-left:8px!important;padding-right:8px!important;}

/* UserCP: convierte el dashboard en un panel completo sin que los grupos queden fuera */
.we-page-usercp #content{
  padding:34px!important;
}
.iv-ucp-wrap{
  width:100%!important;
  max-width:100%!important;
  display:block!important;
  clear:both!important;
  padding:0 0 8px!important;
}
.iv-ucp-wrap::after{content:'';display:table;clear:both;}
.iv-ucp-pagetitle{margin:0 0 26px!important;}
.iv-ucp-sep{margin:28px 0 14px!important;clear:both!important;}
.iv-ucp-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
  width:100%!important;
  clear:both!important;
}
.iv-ucp-card{
  min-height:110px!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  border-radius:12px!important;
}
.iv-card-credits{grid-column:span 2!important;}

/* Formularios y paneles: evita cajas gigantes o fuera de línea */
.panel,.panel-sidebar,.module-content,.webengine-module,.well,.table-responsive{
  max-width:100%!important;
  overflow:visible!important;
}
.table-responsive{
  overflow-x:auto!important;
  border:0!important;
  background:transparent!important;
}
form{max-width:100%!important;}
input,select,textarea,.form-control{max-width:100%!important;}

/* Footer: siempre debajo del contenido, ancho completo y sin aparecer al costado */
footer.iv-ft,
.iv-ft{
  clear:both!important;
  display:block!important;
  position:relative!important;
  z-index:3!important;
  width:100vw!important;
  max-width:100vw!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  margin-top:80px!important;
  float:none!important;
}
.iv-ft-body{
  max-width:1180px!important;
  width:calc(100% - 36px)!important;
  margin:0 auto!important;
  grid-template-columns:1.2fr .9fr .9fr!important;
}
.iv-ft-bar-inner{
  max-width:1180px!important;
  width:calc(100% - 36px)!important;
}

/* El botón AdminCP flotante no debe tapar contenido */
a[href*="admincp"], .admincp-button, .admincp-float{
  max-width:calc(100vw - 24px)!important;
}

/* Responsive */
@media (max-width:1199px){
  #container{max-width:calc(100% - 24px)!important;width:calc(100% - 24px)!important;}
  #content{padding:24px!important;}
  .iv-ucp-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media (max-width:767px){
  #header{min-height:110px!important;padding:24px 0 18px!important;}
  #header img,.webengine-mu-logo{max-width:170px!important;max-height:92px!important;}
  #container{width:calc(100% - 14px)!important;max-width:calc(100% - 14px)!important;margin-top:20px!important;margin-bottom:50px!important;}
  #content{padding:16px!important;border-radius:14px!important;}
  #content > .col-xs-8,#content > .col-xs-4,#content > .col-xs-12{float:none!important;width:100%!important;padding:0!important;}
  .rankings_menu{white-space:nowrap!important;}
  .rankings-table{font-size:12px!important;min-width:620px!important;}
  .rankings-table td,.rankings-table th{padding:9px 10px!important;}
  .iv-ucp-grid{grid-template-columns:1fr!important;}
  .iv-card-credits{grid-column:span 1!important;}
  .iv-ft-body{grid-template-columns:1fr!important;padding:38px 18px!important;width:100%!important;}
  .iv-ft-col2,.iv-ft-col3{border-left:0!important;padding-left:0!important;}
}
