/* ========================================================================
   ADJL v11.6 - CORRECCION DEFINITIVA DE ADMIN ANGOSTO / SUBDOMINIOS
   Cargar este archivo DESPUES de style.css. No usa :has(), funciona en Firefox,
   Chrome y Edge. Tambien evita que el body grid antiguo deje el panel reducido.
   ======================================================================== */
*, *::before, *::after { box-sizing: border-box !important; }
html { width:100% !important; min-width:0 !important; max-width:none !important; overflow-x:auto !important; }
body.admin-body,
body.admin-body-pro,
body[class*="admin-body"] {
  display:block !important;
  grid-template-columns:none !important;
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  margin:0 !important;
  overflow-x:auto !important;
  background:#f4f7fb !important;
}
body.admin-body > .admin-layout,
body.admin-body-pro > .admin-layout,
.admin-layout {
  display:flex !important;
  flex-direction:row !important;
  align-items:stretch !important;
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  min-height:100vh !important;
  overflow:visible !important;
  background:#f4f7fb !important;
}
.admin-sidebar,
aside.admin-sidebar {
  flex:0 0 300px !important;
  width:300px !important;
  min-width:300px !important;
  max-width:300px !important;
  height:100vh !important;
  max-height:100vh !important;
  position:sticky !important;
  top:0 !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  padding:20px 16px !important;
  background:linear-gradient(180deg,#050914 0%,#0f172a 50%,#2a2109 100%) !important;
  color:#e5e7eb !important;
  scrollbar-width:thin;
  z-index:20 !important;
}
.admin-main,
main.admin-main {
  flex:1 1 auto !important;
  display:block !important;
  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
  padding:32px 34px !important;
  overflow-x:auto !important;
  overflow-y:visible !important;
  background:#f4f7fb !important;
}
.admin-main > * { max-width:none !important; }
.admin-topbar,
.admin-section,
.admin-card,
.table-card,
.settings-grid,
.dashboard-grid,
.stats-grid,
.field-grid,
.info-grid,
.feature-grid,
.card-grid,
.news-grid,
.pricing-grid,
.module-board,
.split,
.form-card {
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
}
.admin-section { display:block !important; margin-bottom:24px !important; }
.admin-section + .admin-section { margin-top:26px !important; }
.admin-topbar { display:flex !important; justify-content:space-between !important; align-items:flex-start !important; gap:18px !important; flex-wrap:wrap !important; margin-bottom:22px !important; }
.stats-grid,
.dashboard-grid { display:grid !important; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)) !important; gap:18px !important; }
.settings-grid,
.admin-two-col { display:grid !important; grid-template-columns:repeat(auto-fit,minmax(min(430px,100%),1fr)) !important; gap:22px !important; }
.field-grid,
.info-grid { display:grid !important; grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr)) !important; gap:16px !important; }
.feature-grid,.card-grid,.module-board,.pricing-grid { display:grid !important; grid-template-columns:repeat(auto-fit,minmax(min(285px,100%),1fr)) !important; gap:20px !important; }
.admin-card,
.stat-card,
.admin-kpi,
.feature-card,
.form-card,
.info-box,
.module-card,
.pricing-card,
.search-card,
.table-card {
  min-width:0 !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
}
.table-card {
  overflow-x:auto !important;
  overflow-y:visible !important;
  -webkit-overflow-scrolling:touch !important;
}
.admin-table,
table.admin-table {
  width:100% !important;
  min-width:1080px !important;
  table-layout:auto !important;
  border-collapse:collapse !important;
}
.admin-table.compact-table { min-width:900px !important; }
.admin-table th,
.admin-table td {
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
  vertical-align:top !important;
  padding:12px 14px !important;
}
.admin-table th { background:#f8fafc !important; color:#0f172a !important; }
.admin-nav { display:grid !important; gap:7px !important; padding-bottom:28px !important; }
.admin-nav a {
  display:flex !important;
  align-items:center !important;
  min-height:40px !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  line-height:1.22 !important;
  padding:10px 12px !important;
  border-radius:13px !important;
  font-size:.93rem !important;
  color:#dbe4f0 !important;
  text-decoration:none !important;
}
.admin-nav a.active,
.admin-nav a:hover { background:rgba(212,175,55,.18) !important; color:#fff !important; }
.admin-brand,.brand-admin { display:flex !important; gap:12px !important; align-items:center !important; margin-bottom:16px !important; color:#fff !important; text-decoration:none !important; }
.admin-brand img,.brand-admin img { width:56px !important; height:56px !important; min-width:56px !important; object-fit:contain !important; background:#fff !important; border-radius:14px !important; }
.admin-brand strong,.brand-admin strong { color:#fff !important; font-size:.98rem !important; line-height:1.2 !important; }
.admin-brand span,.brand-admin span { color:#cbd5e1 !important; font-size:.82rem !important; }
form.stack-form, .stack-form { display:grid !important; gap:14px !important; }
input, textarea, select { max-width:100% !important; }
textarea { min-height:80px !important; }
.btn { white-space:normal !important; text-align:center !important; }
.flash .container, .flash { max-width:none !important; }
.button-row,.mini-actions,.form-row-actions { display:flex !important; gap:10px !important; flex-wrap:wrap !important; }
.v116-alert { padding:14px 16px; border:1px solid #bfdbfe; background:#eff6ff; color:#1e3a8a; border-radius:16px; margin-bottom:18px; }
.v116-ok { background:#ecfdf5; border-color:#bbf7d0; color:#166534; }
.v116-warn { background:#fff7ed; border-color:#fed7aa; color:#9a3412; }
@media (max-width:1080px) {
  body.admin-body > .admin-layout,
  body.admin-body-pro > .admin-layout,
  .admin-layout { flex-direction:column !important; }
  .admin-sidebar { position:relative !important; flex:0 0 auto !important; width:100% !important; min-width:0 !important; max-width:none !important; height:auto !important; max-height:none !important; }
  .admin-main { width:100% !important; padding:20px !important; }
  .admin-table { min-width:820px !important; }
}
@media (max-width:760px) {
  .admin-main { padding:16px !important; }
  .admin-table { min-width:720px !important; font-size:.9rem !important; }
  .settings-grid,.dashboard-grid,.stats-grid,.field-grid,.info-grid,.feature-grid,.card-grid,.module-board,.pricing-grid { grid-template-columns:1fr !important; }
}


/* ADJL v11.7 - refuerzo menús contenido/diseño/servicios */
.admin-main-pro .admin-section { width: 100%; max-width: 1520px; margin-left: auto; margin-right: auto; }
.admin-main-pro .admin-card { width: 100%; }
.admin-main-pro textarea { min-height: 92px; }
.admin-sidebar .admin-nav a { white-space: normal; line-height: 1.25; }
.status-chip.status-pausado, .public-service-status.status-pausado { background:#fff7ed; color:#9a3412; }
.status-chip.status-proximamente, .public-service-status.status-proximamente { background:#eff6ff; color:#1d4ed8; }
.status-chip.status-oculto, .public-service-status.status-oculto { background:#f1f5f9; color:#475569; }
.inline-form.mt-2 { margin-top: .75rem; }
.service-hero-panel .detail-image { max-height: 360px; object-fit: contain; }
@media (max-width: 900px) { .admin-main-pro { padding: 1rem; } .admin-top-actions { flex-direction: column; align-items: stretch; } }
