/* 3 EJES v10.4 — Poppins global + admin compacto + front con personalidad */
html,body,button,input,select,textarea,a,table,th,td,summary,details{font-family:'Poppins',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif!important}

/* FRONT: Poppins con jerarquía de campaña. No hereda compactación del admin. */
.public-site .title-display,.public-site .font-display,.public-site [class*="title-display"]{font-family:'Poppins',sans-serif!important;font-weight:900!important;letter-spacing:-.045em!important;line-height:1!important}
.public-site .hero-title-strong{font-weight:900!important;letter-spacing:-.055em!important;line-height:.98!important;text-shadow:0 8px 30px rgba(0,0,0,.12)}
.public-site h1{letter-spacing:-.035em}
.public-site h2{letter-spacing:-.025em}
@media (min-width:1024px){
  .public-site .hero-title-strong{font-size:5.15rem!important;line-height:.98!important}
  .public-site .title-display.text-6xl,.public-site .title-display[class*="sm:text-6xl"]{font-size:3.75rem!important;line-height:1!important}
  .public-site .title-display.text-5xl,.public-site .title-display[class*="sm:text-5xl"]{font-size:3.25rem!important;line-height:1.02!important}
  .public-site .title-display.text-4xl{font-size:2.65rem!important;line-height:1.04!important}
}
@media (max-width:640px){
  .public-site .hero-title-strong{font-size:2.75rem!important;line-height:1.02!important}
}

/* ADMIN: densidad profesional */

.adm-main-content{padding:20px 28px!important}
.adm-main-content>div{max-width:1500px}
.adm-main-content h1{font-size:30px!important;line-height:1.15!important;font-weight:800!important;letter-spacing:-.025em!important}
.adm-main-content h2{font-size:20px!important;line-height:1.25!important;font-weight:750!important;letter-spacing:-.015em!important}
.adm-main-content h3{font-size:16px!important;line-height:1.3!important;font-weight:700!important}
.adm-main-content p{line-height:1.55}
.adm-main-content [class~="text-4xl"]{font-size:30px!important;line-height:1.15!important}
.adm-main-content [class~="text-3xl"]{font-size:25px!important;line-height:1.18!important}
.adm-main-content [class~="text-2xl"]{font-size:20px!important;line-height:1.22!important}
.adm-main-content [class~="text-xl"]{font-size:17px!important;line-height:1.3!important}
.adm-main-content [class~="text-lg"]{font-size:15px!important}

/* Cards / spacing */
.adm-main-content [class~="p-12"],.adm-main-content [class~="p-10"]{padding:24px!important}
.adm-main-content [class~="p-8"]{padding:20px!important}
.adm-main-content [class~="p-7"]{padding:18px!important}
.adm-main-content [class~="p-6"]{padding:16px!important}
.adm-main-content [class~="p-5"]{padding:14px!important}
.adm-main-content [class~="py-12"],.adm-main-content [class~="py-10"]{padding-top:24px!important;padding-bottom:24px!important}
.adm-main-content [class~="py-8"]{padding-top:20px!important;padding-bottom:20px!important}
.adm-main-content [class~="gap-8"]{gap:20px!important}
.adm-main-content [class~="gap-6"]{gap:16px!important}
.adm-main-content [class~="space-y-8"]>:not([hidden])~:not([hidden]){margin-top:20px!important}
.adm-main-content [class~="space-y-6"]>:not([hidden])~:not([hidden]){margin-top:16px!important}
.adm-main-content [class~="rounded-3xl"]{border-radius:18px!important}
.adm-main-content [class~="rounded-2xl"]{border-radius:14px!important}

/* Inputs */
.adm-main-content input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.adm-main-content select{min-height:42px!important;padding:9px 12px!important;font-size:14px!important;border-radius:10px!important}
.adm-main-content textarea{padding:10px 12px!important;font-size:14px!important;border-radius:10px!important;line-height:1.5!important}
.adm-main-content label{font-size:12px!important;line-height:1.35!important}
.adm-main-content button,.adm-main-content a[class*="px-"]{font-size:13px!important}
.adm-main-content button[class*="py-3"],.adm-main-content a[class*="py-3"]{padding-top:10px!important;padding-bottom:10px!important}
.adm-main-content button[class*="py-4"],.adm-main-content a[class*="py-4"]{padding-top:11px!important;padding-bottom:11px!important}

/* Tablas */
.adm-main-content table{font-size:13px!important}
.adm-main-content th{font-size:11px!important;text-transform:uppercase;letter-spacing:.04em;padding:10px 14px!important}
.adm-main-content td{padding:11px 14px!important;vertical-align:middle}

/* Botones: altura contenida */
.adm-main-content .adm-primary-btn,.adm-main-content button[type="submit"]{min-height:40px!important;border-radius:10px!important}

/* Sidebar ligeramente más compacto */
.adm-sidebar{width:260px!important}
.adm-main-content{margin-left:260px!important}
.adm-nav-link{padding:9px 13px!important;gap:11px!important;font-size:15px!important;border-radius:10px!important}
.adm-nav-group-toggle{padding:11px 13px 6px!important;font-size:16px!important;font-weight:750!important}
.adm-sidebar-logo{padding:14px 16px!important}

/* Academia / auth también Poppins */
.academy-head,.login-glass{font-family:'Poppins',sans-serif!important}

/* === Responsive hardening v10.7 === */
html,body{max-width:100%;overflow-x:hidden}
img,svg,video,canvas{max-width:100%;height:auto}
iframe{max-width:100%}
.public-site main,.admin-site .adm-main-content{min-width:0}
.public-site table,.admin-site table{max-width:100%}
.public-site input,.public-site select,.public-site textarea,.admin-site input,.admin-site select,.admin-site textarea{max-width:100%}

/* Public header / mobile navigation */
@media (max-width:1023px){
  .public-site .glass-header .max-w-7xl{padding-left:16px!important;padding-right:16px!important}
  .public-site .glass-header img{max-width:132px!important;height:38px!important}
  .public-site .glass-header .h-16{height:58px!important}
}
@media (max-width:480px){
  .public-site .glass-header .max-w-7xl{padding-left:12px!important;padding-right:12px!important}
  .public-site .glass-header img{max-width:108px!important;height:34px!important}
}

/* Public content spacing and typography */
@media (max-width:767px){
  .public-site section{scroll-margin-top:74px}
  .public-site .brand-headline-lg{font-size:clamp(2.35rem,11vw,3.4rem)!important;line-height:.98!important}
  .public-site .brand-headline-md{font-size:clamp(2rem,9vw,3rem)!important;line-height:1!important}
  .public-site .brand-headline-sm{font-size:clamp(1.75rem,8vw,2.55rem)!important;line-height:1.02!important}
  .public-site .title-display{overflow-wrap:anywhere}
  .public-site p{overflow-wrap:anywhere}
  .public-site .brand-glass-dark,.public-site .brand-glass-light{border-radius:20px!important}
  .brand-ticker-track{gap:1.5rem!important}
}

/* Academy player/header */
@media (max-width:640px){
  .academy-head{height:auto!important;min-height:56px;padding:6px 0}
  .academy-head .academy-brand{font-size:12px}
  .academy-head .max-w-\[55vw\]{max-width:38vw!important}
  .academy-head button{padding:.45rem .6rem!important}
}
@media (max-width:420px){
  .academy-head .min-w-0>div:last-child{display:none}
}

/* Admin mobile drawer */
.adm-mobile-menu-button{display:none;position:fixed;left:14px;top:14px;z-index:130;width:42px;height:42px;border:1px solid rgba(180,112,75,.28);border-radius:12px;background:rgba(255,253,251,.94);color:#6F432F;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(65,42,29,.12);backdrop-filter:blur(12px)}
.adm-sidebar-backdrop{display:none;position:fixed;inset:0;background:rgba(26,16,12,.42);z-index:109;opacity:0;transition:opacity .2s ease}
@media (max-width:1023px){
  .adm-mobile-menu-button{display:flex}
  .adm-sidebar-shell{transform:translateX(-105%);transition:transform .22s ease;width:min(86vw,280px)!important;z-index:120!important}
  .adm-sidebar-shell.is-mobile-open{transform:translateX(0)}
  .adm-sidebar-backdrop.is-visible{display:block;opacity:1}
  .admin-nav-open{overflow:hidden}
  .adm-main-content{margin-left:0!important;padding:72px 20px 24px!important;width:100%!important;max-width:100vw!important;overflow-x:hidden}
}
@media (max-width:640px){
  .adm-main-content{padding:68px 14px 20px!important}
  .adm-main-content h1{font-size:1.65rem!important;line-height:1.15!important}
  .adm-main-content h2{font-size:1.1rem!important}
  .adm-main-content .rounded-3xl{border-radius:18px!important}
  .adm-main-content .p-6{padding:1rem!important}
  .adm-main-content .px-6{padding-left:1rem!important;padding-right:1rem!important}
  .adm-main-content .py-4{padding-top:.75rem!important;padding-bottom:.75rem!important}
  .adm-main-content .gap-6{gap:1rem!important}
  .adm-main-content .mb-8{margin-bottom:1.25rem!important}
  .adm-main-content .overflow-x-auto table{min-width:680px}
  .adm-main-content .overflow-x-auto{max-width:100%;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
  .adm-main-content button,.adm-main-content a{max-width:100%}
  .adm-main-content form.grid{grid-template-columns:minmax(0,1fr)!important}
}

/* Long content and cards */
@media (max-width:767px){
  .public-site .grid,.admin-site .grid{min-width:0}
  .public-site [class*="max-w-"],.admin-site [class*="max-w-"]{min-width:0}
  .public-site pre,.public-site code,.admin-site pre,.admin-site code{max-width:100%;overflow-x:auto}
}
@media (max-width:1023px){
  .academy-head + .min-h-\[calc\(100vh-4rem\)\]{min-height:auto!important}
  .academy-head + .min-h-\[calc\(100vh-4rem\)\] > .w-full.lg\:w-96{border-left:0!important;border-top:1px solid #e5e7eb}
  .academy-head + .min-h-\[calc\(100vh-4rem\)\] > .w-full.lg\:w-96 .max-h-\[calc\(100vh-12rem\)\]{max-height:none!important}
}
@media (max-width:640px){
  .academy-head + .min-h-\[calc\(100vh-4rem\)\] > .flex-1{padding:14px!important}
  .academy-head + .min-h-\[calc\(100vh-4rem\)\] > .flex-1 > .bg-white{padding:16px!important;border-radius:16px!important}
  .academy-head + .min-h-\[calc\(100vh-4rem\)\] > .w-full.lg\:w-96{padding:16px!important}
}

/* === Admin UX grid / centered workspace v10.8 ===
   El sidebar define navegación; el contenido respira dentro del espacio restante. */
@media (min-width:1024px){
  .adm-main-content{
    margin-left:260px!important;
    width:calc(100% - 260px)!important;
    padding:28px clamp(34px,3.2vw,54px) 40px!important;
    box-sizing:border-box!important;
  }
  .adm-main-content > *{
    width:100%;
    max-width:1400px;
    margin-left:auto;
    margin-right:auto;
    box-sizing:border-box;
  }
  /* Varias vistas antiguas traían padding propio además del layout global. */
  .adm-main-content > .p-6,
  .adm-main-content > .p-8,
  .adm-main-content > .p-10,
  .adm-main-content > [class*="lg:p-10"]{
    padding-left:0!important;
    padding-right:0!important;
  }
}

/* Jerarquía operativa: importante, pero sin competir con el front comercial. */
.adm-main-content h1{
  font-size:27px!important;
  line-height:1.14!important;
  letter-spacing:-.026em!important;
  margin-top:0!important;
}
.adm-main-content [class~="text-4xl"],
.adm-main-content [class~="text-3xl"]{
  font-size:27px!important;
  line-height:1.14!important;
}
.adm-main-content > .mb-8,
.adm-main-content > [class*="mb-8"]{
  margin-bottom:22px!important;
}

/* Los estados vacíos no deben convertirse en banners gigantes. */
.adm-main-content .admin-empty-state,
.adm-main-content .p-16.text-center{
  padding-top:38px!important;
  padding-bottom:38px!important;
}

/* Laptop: mantener aire sin desperdiciar espacio. */
@media (min-width:1024px) and (max-width:1365px){
  .adm-main-content{
    padding-left:30px!important;
    padding-right:30px!important;
  }
  .adm-main-content > *{max-width:1220px}
}

/* Tablet y móvil: el drawer desaparece y el grid conserva margen seguro. */
@media (max-width:1023px){
  .adm-main-content{
    width:100%!important;
    margin-left:0!important;
    padding-left:clamp(16px,4vw,28px)!important;
    padding-right:clamp(16px,4vw,28px)!important;
  }
  .adm-main-content > *{
    width:100%;
    max-width:100%;
    margin-left:auto;
    margin-right:auto;
  }
}


/* === Admin frame v10.12: marco central real === */
@media (min-width:1024px){
  .adm-main-content{
    margin-left:260px!important;
    width:calc(100% - 260px)!important;
    padding:34px 44px 48px!important;
    box-sizing:border-box!important;
  }
  .adm-content-shell{
    width:100%!important;
    max-width:1360px!important;
    margin:0 auto!important;
    box-sizing:border-box!important;
  }
  /* headers legacy y nuevos: misma altura y misma guía */
  .adm-content-shell > .adm-page-header,
  .adm-content-shell > .db-header,
  .adm-content-shell > .mb-8.flex,
  .adm-content-shell > .mb-7.flex,
  .adm-content-shell > .space-y-7 > .adm-page-header,
  .adm-content-shell > .space-y-5 > .adm-page-header,
  .adm-content-shell > .space-y-7 > :first-child:not(section),
  .adm-content-shell > .space-y-8 > :first-child:not(section){
    min-height:68px!important;
    margin-top:0!important;
    margin-bottom:22px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:24px!important;
    box-sizing:border-box!important;
  }
  .adm-content-shell h1,
  .adm-content-shell .adm-page-title,
  .adm-content-shell .db-header h1{
    font-size:26px!important;
    line-height:1.12!important;
    letter-spacing:-.024em!important;
    margin-top:0!important;
  }
  .adm-content-shell .adm-page-subtitle,
  .adm-content-shell .db-header p,
  .adm-content-shell > .mb-8.flex p,
  .adm-content-shell > .mb-7.flex p{
    font-size:13.5px!important;
    line-height:1.45!important;
    margin-top:5px!important;
  }
  /* el CTA pertenece al header, no al borde del navegador */
  .adm-content-shell > .mb-8.flex > a,
  .adm-content-shell > .mb-7.flex > a,
  .adm-content-shell .adm-page-header > a{
    flex:0 0 auto!important;
    min-height:40px!important;
    padding-top:9px!important;
    padding-bottom:9px!important;
  }
  /* estados vacíos: compactos y centrados dentro del mismo marco */
  .adm-content-shell .p-16.text-center,
  .adm-content-shell .admin-empty-state{
    min-height:220px!important;
    padding:44px 24px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
  }
}
@media (min-width:1024px) and (max-width:1365px){
  .adm-main-content{padding-left:32px!important;padding-right:32px!important}
  .adm-content-shell{max-width:1180px!important}
}
@media (max-width:1023px){
  .adm-content-shell{width:100%!important;max-width:none!important;margin:0!important}
}

/* CSS final del sidebar: categorías 16px, submenús 15px. */
body.admin-site .adm-nav-group-toggle,body.admin-site .adm-nav-group-toggle>span{font-size:16px!important;line-height:1.45!important;letter-spacing:0!important}
body.admin-site .adm-nav-link,body.admin-site .adm-nav-link>span:not(.adm-nav-icon){font-size:15px!important;line-height:1.45!important}
