:root{
  --bg-1:#352359;
  --bg-2:#8f78b8;
  --bg-3:#e6c0b0;
  --card-bg:rgba(255,255,255,.16);
  --card-stroke:rgba(255,255,255,.28);
  --glass-bg:rgba(255,255,255,.14);
  --glass-strong:rgba(255,255,255,.22);
  --white-card:#f6f2f7;
  --text-main:#fff;
  --text-dark:#221735;
  --text-soft:rgba(255,255,255,.82);
  --pink:#ff4eb3;
  --pink-strong:#ff2aa2;
  --violet:#8b6ad6;
  --blue:#2fc0ff;
  --deep-blue:#17286d;
  --shadow-lg:0 18px 44px rgba(28,17,51,.16);
  --shadow-md:0 10px 24px rgba(28,17,51,.12);
  --radius-xl:28px;
  --radius-lg:22px;
  --radius-md:16px;
  --radius-sm:12px;

  --glass-pane:
    linear-gradient(180deg, rgba(255,255,255,.16) 0%, rgba(255,255,255,.09) 100%);
  --glass-pane-strong:
    linear-gradient(180deg, rgba(255,255,255,.20) 0%, rgba(255,255,255,.11) 100%);
  --glass-pane-soft:
    linear-gradient(180deg, rgba(255,255,255,.14) 0%, rgba(255,255,255,.08) 100%);
  --glass-stroke:rgba(255,255,255,.30);
  --glass-stroke-strong:rgba(255,255,255,.38);
  --glass-inner-stroke:rgba(255,255,255,.52);
  --glass-shadow-premium:
    0 14px 30px rgba(24,16,44,.08),
    0 4px 12px rgba(24,16,44,.04),
    inset 0 1px 0 rgba(255,255,255,.22);
  --glass-shadow-soft:
    0 10px 22px rgba(24,16,44,.06),
    0 3px 8px rgba(24,16,44,.03),
    inset 0 1px 0 rgba(255,255,255,.18);
  --glass-blur:blur(18px) saturate(135%);
}

*{box-sizing:border-box}
html,body{max-width:100%;overflow-x:hidden}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:linear-gradient(135deg,var(--bg-1),var(--bg-2));color:var(--text-main);min-height:100vh}
a{text-decoration:none}
img{max-width:100%;display:block}
canvas{display:block;max-width:100%}

.app-navbar{background:rgba(31,21,55,.82);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08);box-shadow:0 8px 22px rgba(14,9,28,.16)}
.app-brand{display:flex;align-items:center;min-height:38px;padding:0;margin-right:12px}
.app-brand-logo{width:auto;height:22px;max-width:min(265px,52vw)}
.app-navbar-toggler{padding:.34rem .5rem;border-radius:10px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.92);box-shadow:0 8px 18px rgba(16,16,24,.12)}
.app-navbar-toggler .navbar-toggler-icon{width:1.2em;height:1.2em}
.app-season-switcher .btn{border-radius:14px;padding:.35rem .85rem;font-weight:700}
.app-nav-links .nav-link{font-weight:600}
.app-user-pill{padding:.38rem .65rem;border-radius:999px;background:rgba(255,255,255,.08)}
.app-main{min-height:calc(100vh - 70px)}

.login-page{
  background:#320166;
}

.login-page .app-main{
  min-height:calc(100vh - 70px);
  background:#320166;
  overflow:hidden;
}

.login-page .app-main > .container-fluid{
  max-width:none;
  padding:0 !important;
}

.login-shell{
  position:relative;
  width:100%;
  min-height:calc(100vh - 70px);
  margin:0;
  display:grid;
  place-items:center;
  padding:clamp(24px,2.2vw,36px);
  overflow:hidden;
  isolation:isolate;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
}

.login-shell::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:
    linear-gradient(180deg,rgba(255,255,255,.04) 0%, rgba(255,255,255,0) 22%),
    linear-gradient(180deg,rgba(0,0,0,0) 58%, rgba(0,0,0,.10) 100%);
  pointer-events:none;
}

.login-bg-stage{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
  pointer-events:none;
}

.login-lines-art{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:center center;
  transform-origin:center center;
  opacity:.88;
  filter:drop-shadow(0 0 30px rgba(255,53,139,.10));
}

.login-card{
  position:relative;
  z-index:2;
  max-width:520px;
  width:100%;
  border-radius:14px;
  overflow:hidden;
  background:linear-gradient(180deg,rgba(255,255,255,.16) 0%, rgba(255,255,255,.10) 100%);
  border:1px solid rgba(255,255,255,.20) !important;
  box-shadow:0 18px 42px rgba(10,4,34,.16) !important;
  backdrop-filter:blur(16px) saturate(120%);
  -webkit-backdrop-filter:blur(16px) saturate(120%);
}

.login-title{font-weight:800;letter-spacing:.02em}

.login-title-image{
  display:block;
  width:min(100%,320px);
  height:auto;
  margin:0 auto 14px;
}

.login-subtitle{
  max-width:360px;
  margin-inline:auto;
  text-align:center;
  color:rgba(255,255,255,.92);
  font-size:1rem;
  line-height:1.5;
  text-shadow:0 1px 1px rgba(8,4,26,.10);
}

.login-shell{
  font-family:"Bahnschrift","DIN Alternate","Arial Narrow",Arial,sans-serif;
}

.login-card form.vstack{
  gap:1.18rem !important;
}

.login-card .text-center{
  margin-bottom:1.55rem !important;
}

.login-subtitle{
  max-width:360px;
  margin:0 auto .25rem;
  text-align:center;
  color:rgba(255,255,255,.92);
  font-size:1rem;
  line-height:1.5;
  text-shadow:0 1px 1px rgba(8,4,26,.10);
}

.login-card .form-label{
  display:block;
  margin:0 0 .55rem;
  color:rgba(255,255,255,.96);
  font-size:.98rem;
  font-weight:700;
  letter-spacing:.01em;
  text-shadow:0 1px 1px rgba(8,4,26,.12);
}

.login-password-wrap{
  position:relative;
}

.login-card .form-control{
  height:58px;
  padding-left:18px;
  padding-right:56px;
  border-radius:16px;
  background:linear-gradient(180deg,rgba(245,248,255,.92) 0%, rgba(228,234,246,.82) 100%);
  border:1px solid rgba(255,255,255,.34);
  color:#171b23;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.38),
    0 10px 22px rgba(17,8,43,.10);
  backdrop-filter:blur(10px) saturate(120%);
  -webkit-backdrop-filter:blur(10px) saturate(120%);
}

.login-card input[name="username"]{
  padding-right:18px;
}

.login-card .form-control::placeholder{
  color:rgba(23,27,35,.42);
}

.login-card .form-control:focus{
  background:linear-gradient(180deg,rgba(250,252,255,.96) 0%, rgba(235,240,248,.88) 100%);
  border-color:rgba(255,255,255,.48);
  color:#11161f;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.42),
    0 0 0 .20rem rgba(255,255,255,.12),
    0 14px 28px rgba(17,8,43,.14);
}

.login-password-toggle{
  position:absolute;
  top:50%;
  right:14px;
  transform:translateY(-50%);
  width:32px;
  height:32px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
  border:0;
  border-radius:999px;
  background:transparent;
  color:rgba(33,38,49,.62);
  cursor:pointer;
  transition:
    color .18s ease,
    background-color .18s ease,
    transform .18s ease;
}

.login-password-toggle:hover{
  color:rgba(19,24,34,.82);
  background:rgba(64,44,120,.08);
}

.login-password-toggle:focus-visible{
  outline:none;
  color:rgba(19,24,34,.84);
  background:rgba(64,44,120,.10);
  box-shadow:0 0 0 .16rem rgba(79,56,151,.16);
}

.login-password-toggle svg{
  width:20px;
  height:20px;
  display:block;
}

.login-password-toggle-icon{
  display:none;
  line-height:0;
}

.login-password-toggle[aria-pressed="false"] .login-password-toggle-icon-closed{
  display:block;
}

.login-password-toggle[aria-pressed="true"] .login-password-toggle-icon-open{
  display:block;
}

.login-card .btn-dark{
  height:58px;
  margin-top:.35rem;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.16);
  background:linear-gradient(180deg,rgba(27,31,43,.94) 0%, rgba(20,24,35,.88) 100%);
  color:#fff;
  font-weight:700;
  letter-spacing:.01em;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.06),
    0 16px 28px rgba(12,5,32,.24);
}

.login-card .btn-dark:hover,
.login-card .btn-dark:focus{
  border-color:rgba(255,255,255,.24);
  background:linear-gradient(180deg,rgba(37,41,56,.96) 0%, rgba(24,28,40,.90) 100%);
  color:#fff;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 18px 32px rgba(12,5,32,.28);
}

.dashboard-body.theme-general{background:linear-gradient(90deg,#B9BABF 0%, #D8C2B6 52%, #F1BFA4 100%)}
.dashboard-body.theme-vogue{background:linear-gradient(90deg,#9074AB 0%, #D57BAE 100%)}
.dashboard-body.theme-kotex{background:linear-gradient(90deg,#AB74CA 0%, #ED7EBB 100%)}
.dashboard-body.theme-higienicos{background:linear-gradient(90deg,#7E87A3 0%, #B074EA 100%)}

.menu-body{
  overflow-x:hidden;
  background:#320166;
}

.menu-body .app-main{
  min-height:calc(100vh - 70px);
  overflow-x:hidden;
  background:#320166;
}

.menu-body .app-main > .container-fluid{
  padding-top:10px !important;
  padding-bottom:12px !important;
}

.menu-body .app-navbar{
  background:rgba(34,9,72,.88);
  border-bottom:1px solid rgba(255,255,255,.06);
  box-shadow:0 8px 22px rgba(10,5,24,.18);
}

.menu-hero{
  min-height:calc(100vh - 92px);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}

.menu-stage{
  position:relative;
  width:min(100%,1820px);
  min-height:calc(100vh - 104px);
  padding:clamp(18px,1.9vw,28px);
  border-radius:36px;
  overflow:hidden;
  isolation:isolate;
  background:#320166;
  border:1px solid rgba(255,255,255,.06);
  box-shadow:0 24px 60px rgba(12,5,32,.26);
}

.menu-stage::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:
    linear-gradient(180deg,rgba(255,255,255,.04) 0%, rgba(255,255,255,0) 22%),
    linear-gradient(180deg,rgba(0,0,0,0) 58%, rgba(0,0,0,.10) 100%);
  pointer-events:none;
}

.menu-stage-bg{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
  pointer-events:none;
}

.menu-layout{
  position:relative;
  z-index:2;
  min-height:calc(100vh - 160px);
}

.menu-layout-col{
  position:relative;
  z-index:2;
}

.menu-layout-col-nav,
.menu-layout-col-visual{
  display:flex;
  align-items:center;
}

.menu-layout-col-nav{
  justify-content:flex-start;
}

.menu-layout-col-visual{
  justify-content:center;
}

.menu-nav{
  position:relative;
  z-index:3;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:18px;
  width:100%;
  min-height:100%;
  padding-left:clamp(6px,1.4vw,18px);
}

.menu-season-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:.58rem 1.08rem;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.20);
  box-shadow:0 12px 26px rgba(19,7,48,.12), inset 0 1px 0 rgba(255,255,255,.18);
  color:#FFFFFF;
  font-family:"Bahnschrift","DIN Alternate","Arial Narrow",Arial,sans-serif;
  font-size:.88rem;
  font-weight:700;
  letter-spacing:.11em;
  text-transform:uppercase;
  backdrop-filter:blur(8px);
  opacity:0;
  animation:menuFadeInUp .78s cubic-bezier(.22,1,.36,1) .05s forwards;
}

.menu-button-stack{
  display:flex;
  flex-direction:column;
  gap:clamp(12px,1.2vw,18px);
  width:min(100%,500px);
}

.menu-art-button{
  position:relative;
  display:block;
  width:100%;
  text-decoration:none;
  transform-origin:left center;
  opacity:0;
  animation:menuButtonIn .82s cubic-bezier(.22,1,.36,1) forwards;
}

.menu-art-button:nth-child(1){animation-delay:.14s}
.menu-art-button:nth-child(2){animation-delay:.24s}
.menu-art-button:nth-child(3){animation-delay:.34s}
.menu-art-button:nth-child(4){animation-delay:.44s}

.menu-art-button::after{
  content:"";
  position:absolute;
  left:28px;
  right:58px;
  bottom:8px;
  height:24px;
  border-radius:999px;
  background:radial-gradient(circle at center, rgba(255,208,233,.30) 0%, rgba(255,208,233,0) 72%);
  opacity:0;
  transition:opacity .28s ease;
  pointer-events:none;
}

.menu-art-button img{
  display:block;
  width:100%;
  height:auto;
  filter:drop-shadow(0 14px 24px rgba(16,7,42,.24));
  transition:transform .30s cubic-bezier(.22,1,.36,1), filter .30s cubic-bezier(.22,1,.36,1);
}

.menu-art-button:hover img,
.menu-art-button:focus-visible img{
  transform:translateY(-3px) scale(1.028);
  filter:drop-shadow(0 20px 30px rgba(16,7,42,.30)) saturate(1.04) brightness(1.03);
}

.menu-art-button:hover::after,
.menu-art-button:focus-visible::after{
  opacity:1;
}

.menu-art-button:focus-visible{
  outline:none;
}

.menu-lines-art,
.menu-master-visual-image{
  user-select:none;
  pointer-events:none;
}

.menu-lines-art{
  position:absolute;
  inset:0;
  width:100% !important;
  height:100% !important;
  max-width:none;
  object-fit:cover;
  object-position:center center;
  transform-origin:center center;
  opacity:0;
  filter:drop-shadow(0 0 30px rgba(255,53,139,.10));
  animation:
    menuLinesIn 1.08s cubic-bezier(.22,1,.36,1) .02s forwards,
    menuLinesDrift 14s ease-in-out 1.35s infinite alternate;
}

.menu-master-visual{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:clamp(380px,46vw,700px);
}

.menu-master-picture{
  display:block;
  width:min(100%,1120px);
  margin-inline:auto;
}

.menu-master-visual-image{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
  opacity:1;
  filter:drop-shadow(0 24px 38px rgba(11,5,30,.22));
  animation:none;
}

@keyframes menuFadeInUp{
  0%{
    opacity:0;
    transform:translate3d(0,16px,0);
    filter:blur(6px);
  }
  100%{
    opacity:1;
    transform:translate3d(0,0,0);
    filter:blur(0);
  }
}

@keyframes menuButtonIn{
  0%{
    opacity:0;
    transform:translate3d(-34px,0,0) scale(.965);
    filter:blur(8px);
  }
  100%{
    opacity:1;
    transform:translate3d(0,0,0) scale(1);
    filter:blur(0);
  }
}

@keyframes menuLinesIn{
  0%{
    opacity:0;
    transform:translate3d(-28px,20px,0) scale(1.06);
    filter:blur(12px);
  }
  100%{
    opacity:.88;
    transform:translate3d(0,0,0) scale(1);
    filter:blur(0);
  }
}

@keyframes menuMasterIn{
  0%{
    opacity:0;
    transform:translate3d(34px,28px,0) scale(.92);
    filter:blur(14px);
  }
  100%{
    opacity:1;
    transform:translate3d(0,0,0) scale(1);
    filter:blur(0);
  }
}

@keyframes menuFloatMaster{
  0%,100%{transform:translate3d(0,0,0)}
  50%{transform:translate3d(0,-8px,0)}
}

@keyframes menuLinesDrift{
  0%{transform:translate3d(0,0,0) scale(1)}
  100%{transform:translate3d(14px,-10px,0) scale(1.02)}
}

@media (max-width: 1599.98px){
  .menu-button-stack{
    width:min(100%,470px);
  }

  .menu-master-picture{
    width:min(100%,1000px);
  }

  .menu-lines-art{
    width:min(1460px,108vw);
  }
}

@media (max-width: 1399.98px){
  .menu-stage{
    min-height:calc(100vh - 108px);
  }

  .menu-layout{
    min-height:calc(100vh - 166px);
  }

  .menu-button-stack{
    width:min(100%,450px);
  }

  .menu-master-picture{
    width:min(100%,920px);
  }

  .menu-lines-art{
    width:min(1360px,114vw);
  }
}

@media (max-width: 1199.98px){
  .menu-stage{
    min-height:auto;
    padding:20px 18px 22px;
  }

  .menu-layout{
    min-height:auto;
  }

  .menu-nav{
    gap:16px;
    padding-left:0;
  }

  .menu-button-stack{
    width:min(100%,420px);
    gap:12px;
  }

  .menu-master-visual{
    min-height:430px;
  }

  .menu-master-picture{
    width:min(100%,760px);
  }

  .menu-lines-art{
    width:min(1280px,122vw);
  }
}

@media (max-width: 991.98px){
  .menu-hero{
    min-height:auto;
  }

  .menu-stage{
    min-height:auto;
    padding:18px 16px 20px;
    border-radius:28px;
  }

  .menu-layout{
    min-height:auto;
  }

  .menu-layout-col-nav,
  .menu-layout-col-visual{
    justify-content:center;
  }

  .menu-nav{
    align-items:center;
    text-align:center;
  }

  .menu-season-pill{
    margin-inline:auto;
  }

  .menu-button-stack{
    width:min(100%,410px);
    align-items:center;
  }

  .menu-art-button{
    transform-origin:center center;
  }

  .menu-master-visual{
    min-height:330px;
  }

  .menu-master-picture{
    width:min(100%,700px);
  }

  .menu-lines-art{
    width:min(1180px,150vw);
  }
}

@media (max-width: 767.98px){
  .menu-stage{
    padding:16px 14px 18px;
    border-radius:24px;
  }

  .menu-season-pill{
    min-height:36px;
    padding:.48rem .88rem;
    font-size:.76rem;
    letter-spacing:.09em;
  }

  .menu-button-stack{
    width:min(100%,380px);
    gap:10px;
  }

  .menu-master-visual{
    min-height:280px;
  }

  .menu-master-picture{
    width:min(100%,560px);
  }

  .menu-lines-art{
    width:min(1080px,180vw);
    opacity:.84;
  }
}

@media (max-width: 575.98px){
  .menu-stage{
    padding:14px 12px 16px;
    border-radius:20px;
  }

  .menu-layout{
    row-gap:16px;
  }

  .menu-button-stack{
    width:min(100%,330px);
  }

  .menu-master-visual{
    min-height:240px;
  }

  .menu-master-picture{
    width:min(100%,460px);
  }

  .menu-lines-art{
    width:min(980px,210vw);
  }

  .menu-art-button img{
    filter:drop-shadow(0 10px 16px rgba(16,7,42,.22));
  }
}

@media (max-height: 820px) and (min-width: 992px){
  .menu-stage{
    min-height:calc(100vh - 98px);
    padding-top:16px;
    padding-bottom:16px;
  }

  .menu-layout{
    min-height:calc(100vh - 150px);
  }

  .menu-nav{
    gap:14px;
  }

  .menu-button-stack{
    width:min(100%,440px);
    gap:10px;
  }

  .menu-master-visual{
    min-height:360px;
  }

  .menu-master-picture{
    width:min(100%,900px);
  }

  .menu-lines-art{
    width:min(1260px,98vw);
  }
}

@media (max-height: 720px) and (min-width: 992px){
  .menu-stage{
    min-height:calc(100vh - 92px);
    padding-top:14px;
    padding-bottom:14px;
  }

  .menu-layout{
    min-height:calc(100vh - 144px);
  }

  .menu-season-pill{
    min-height:36px;
    padding:.44rem .84rem;
    font-size:.76rem;
  }

  .menu-button-stack{
    width:min(100%,410px);
    gap:8px;
  }

  .menu-master-visual{
    min-height:320px;
  }

  .menu-master-picture{
    width:min(100%,820px);
  }
}

@media (min-width: 992px){
  .menu-layout-col-nav{
    justify-content:center;
  }

  .menu-nav{
    align-items:center;
    text-align:center;
    padding-left:0;
  }

  .menu-button-stack{
    width:min(100%,300px);
    margin-inline:auto;
    align-items:center;
  }
}

/* =========================================================
   MENU — quitar tarjeta interna y usar el canvas principal
   ========================================================= */
.menu-body .app-main{
  background:#320166;
}

.menu-body .app-main > .container-fluid{
  padding:0 !important;
  max-width:none;
}

.menu-hero{
  min-height:calc(100vh - 70px);
  align-items:stretch;
  justify-content:flex-start;
  padding:0;
}

.menu-stage{
  width:100%;
  max-width:none;
  min-height:calc(100vh - 70px);
  padding:clamp(18px,1.9vw,28px) clamp(18px,2.2vw,32px);
  border-radius:0;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
}

.menu-stage::before{
  content:none !important;
}

@media (max-width: 1399.98px){
  .menu-stage{
    min-height:calc(100vh - 70px);
    border-radius:0;
  }
}

@media (max-width: 1199.98px){
  .menu-stage{
    min-height:calc(100vh - 70px);
    padding:20px 18px 22px;
    border-radius:0;
  }
}

@media (max-width: 991.98px){
  .menu-stage{
    min-height:calc(100vh - 70px);
    padding:18px 16px 20px;
    border-radius:0;
  }
}

@media (max-width: 767.98px){
  .menu-stage{
    padding:16px 14px 18px;
    border-radius:0;
  }
}

@media (max-width: 575.98px){
  .menu-stage{
    padding:14px 12px 16px;
    border-radius:0;
  }
}

@media (max-height: 820px) and (min-width: 992px){
  .menu-stage{
    min-height:calc(100vh - 70px);
    border-radius:0;
  }
}

@media (max-height: 720px) and (min-width: 992px){
  .menu-stage{
    min-height:calc(100vh - 70px);
    border-radius:0;
  }
}

@media (prefers-reduced-motion: reduce){
  .menu-season-pill,
  .menu-art-button,
  .menu-lines-art,
  .menu-master-visual-image{
    animation:none !important;
    opacity:1 !important;
    transform:none !important;
    filter:none !important;
  }

  .menu-art-button img{
    transition:none !important;
  }
}

.dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .mobile-page-switcher-wrap,
.dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .page-toolbar-general,
.dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .kpi-shell,
.dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .side-nav,
.dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .hero-left,
.dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .hero-right,
.dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .hero-detail-trigger-general,
.dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .hero-detail-trigger-vogue,
.dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .hero-cta-trigger,
.dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .analytics-grid-general .panel-card{
  opacity:0;
  will-change:transform, opacity, filter;
}

.dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .mobile-page-switcher-wrap,
.dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .page-toolbar-general{
  animation:dashboardPremiumFadeInUp .82s cubic-bezier(.22,1,.36,1) .05s forwards;
}

.dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .kpi-shell{
  animation:dashboardPremiumFadeInUp .78s cubic-bezier(.22,1,.36,1) forwards;
}

.dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .kpi-shell:nth-child(1){animation-delay:.12s}
.dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .kpi-shell:nth-child(2){animation-delay:.18s}
.dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .kpi-shell:nth-child(3){animation-delay:.24s}
.dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .kpi-shell:nth-child(4){animation-delay:.30s}
.dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .kpi-shell:nth-child(5){animation-delay:.36s}
.dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .kpi-shell:nth-child(6){animation-delay:.42s}

.dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .side-nav-left{
  animation:dashboardPremiumSideInLeft .84s cubic-bezier(.22,1,.36,1) .22s forwards;
}

.dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .side-nav-right{
  animation:dashboardPremiumSideInRight .84s cubic-bezier(.22,1,.36,1) .22s forwards;
}

.dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .hero-left{
  animation:dashboardPremiumCardIn .92s cubic-bezier(.22,1,.36,1) .34s forwards;
}

.dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .hero-right{
  animation:dashboardPremiumCardIn .96s cubic-bezier(.22,1,.36,1) .44s forwards;
}

.dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .hero-detail-trigger-general,
.dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .hero-detail-trigger-vogue{
  animation:dashboardPremiumFadeInUp .74s cubic-bezier(.22,1,.36,1) .68s forwards;
}

.dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .hero-cta-trigger{
  animation:dashboardPremiumFadeInUp .72s cubic-bezier(.22,1,.36,1) forwards;
}

.dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .hero-cta-trigger:nth-child(1){animation-delay:.56s}
.dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .hero-cta-trigger:nth-child(2){animation-delay:.64s}
.dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .hero-cta-trigger:nth-child(3){animation-delay:.72s}
.dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .hero-cta-trigger:nth-child(4){animation-delay:.80s}

.dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .analytics-grid-general .panel-card{
  animation:dashboardPremiumFadeInUp .84s cubic-bezier(.22,1,.36,1) forwards;
}

.dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .analytics-grid-general .panel-card:nth-child(1){animation-delay:.62s}
.dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .analytics-grid-general .panel-card:nth-child(2){animation-delay:.72s}
.dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .analytics-grid-general .panel-card:nth-child(3){animation-delay:.82s}

@keyframes dashboardPremiumFadeInUp{
  0%{
    opacity:0;
    transform:translate3d(0,18px,0) scale(.985);
    filter:blur(10px);
  }
  100%{
    opacity:1;
    transform:translate3d(0,0,0) scale(1);
    filter:blur(0);
  }
}

@keyframes dashboardPremiumCardIn{
  0%{
    opacity:0;
    transform:translate3d(0,24px,0) scale(.978);
    filter:blur(12px);
  }
  100%{
    opacity:1;
    transform:translate3d(0,0,0) scale(1);
    filter:blur(0);
  }
}

@keyframes dashboardPremiumSideInLeft{
  0%{
    opacity:0;
    transform:translate3d(-18px,-50%,0) scale(.965);
    filter:blur(8px);
  }
  100%{
    opacity:1;
    transform:translate3d(0,-50%,0) scale(1);
    filter:blur(0);
  }
}

@keyframes dashboardPremiumSideInRight{
  0%{
    opacity:0;
    transform:translate3d(18px,-50%,0) scale(.965);
    filter:blur(8px);
  }
  100%{
    opacity:1;
    transform:translate3d(0,-50%,0) scale(1);
    filter:blur(0);
  }
}

@media (prefers-reduced-motion: reduce){
  .dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .mobile-page-switcher-wrap,
  .dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .page-toolbar-general,
  .dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .kpi-shell,
  .dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .side-nav,
  .dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .hero-left,
  .dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .hero-right,
  .dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .hero-detail-trigger-general,
  .dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .hero-detail-trigger-vogue,
  .dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .hero-cta-trigger,
  .dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .analytics-grid-general .panel-card{
    animation:none !important;
    opacity:1 !important;
    transform:none !important;
    filter:none !important;
  }
}
.worldcup-choice-popup{
  width:min(92vw,540px);
  border-radius:22px;
  padding:1.6rem 1.4rem 1.2rem;
  background:
    linear-gradient(180deg,rgba(255,255,255,.16) 0%, rgba(255,255,255,.10) 100%);
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 24px 56px rgba(10,4,34,.24);
  -webkit-backdrop-filter:blur(16px) saturate(120%);
  backdrop-filter:blur(16px) saturate(120%);
}

.worldcup-choice-icon{
  width:92px !important;
  height:92px !important;
  margin:0 auto 12px !important;
  border:2px solid rgba(255,255,255,.26) !important;
  background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.06));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.18),
    0 14px 28px rgba(10,4,34,.18);
  color:transparent !important;
}

.worldcup-choice-icon .swal2-icon-content{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  padding:0;
}

.worldcup-choice-symbol{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:54px;
  height:54px;
  color:#FFFFFF;
  filter:drop-shadow(0 8px 16px rgba(91,67,188,.22));
}

.worldcup-choice-symbol svg{
  display:block;
  width:54px;
  height:54px;
}

.worldcup-choice-symbol .wc-choice-card{
  fill:rgba(255,255,255,.14);
  stroke:rgba(255,255,255,.94);
  stroke-width:1.5;
}

.worldcup-choice-symbol .wc-choice-divider{
  stroke:rgba(255,255,255,.72);
  stroke-width:1.4;
  stroke-linecap:round;
}

.worldcup-choice-symbol .wc-choice-image{
  fill:none;
  stroke:#FFFFFF;
  stroke-width:1.65;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.worldcup-choice-symbol .wc-choice-grid{
  fill:#FFFFFF;
}

.worldcup-choice-symbol .wc-choice-spark{
  fill:#B88CFF;
}

.worldcup-choice-title{
  color:#FFFFFF !important;
  font-family:"Bahnschrift","DIN Alternate","Arial Narrow",Arial,sans-serif;
  font-weight:800;
  letter-spacing:.01em;
}

.worldcup-choice-html{
  color:rgba(255,255,255,.86) !important;
  font-family:"Bahnschrift","DIN Alternate","Arial Narrow",Arial,sans-serif;
  font-size:1rem;
}

.worldcup-choice-copy{
  margin-top:.2rem;
}

.worldcup-choice-actions{
  gap:.7rem;
  margin-top:1.2rem;
}

.worldcup-choice-btn{
  min-width:150px;
  min-height:48px;
  padding:.78rem 1.1rem;
  border:0;
  border-radius:14px;
  font-family:"Bahnschrift","DIN Alternate","Arial Narrow",Arial,sans-serif;
  font-size:1rem;
  font-weight:700;
  letter-spacing:.01em;
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    filter .18s ease;
}

.worldcup-choice-btn:hover{
  transform:translateY(-1px);
}

.worldcup-choice-btn:focus{
  outline:none;
  box-shadow:0 0 0 .16rem rgba(255,255,255,.14);
}

.worldcup-choice-btn-image{
  color:#FFFFFF;
  background:linear-gradient(180deg,#6D57CB 0%, #4F3CB0 100%);
  box-shadow:0 14px 26px rgba(63,40,140,.24);
}

.worldcup-choice-btn-table{
  color:#FFFFFF;
  background:linear-gradient(180deg,rgba(27,31,43,.94) 0%, rgba(20,24,35,.88) 100%);
  box-shadow:0 14px 26px rgba(12,5,32,.22);
}

.worldcup-choice-close{
  color:rgba(255,255,255,.86) !important;
  transition:transform .18s ease, opacity .18s ease;
}

.worldcup-choice-close:hover{
  transform:scale(1.06);
  opacity:1 !important;
}
.dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .hero-actions,
.dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .hero-action,
.dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .hero-detail-btn,
.dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .hero-page-visual,
.dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .artboard,
.dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .artboard .art{
  opacity:0;
  will-change:transform, opacity, filter;
}

.dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .hero-actions{
  animation:dashboardPremiumFadeInUp .78s cubic-bezier(.22,1,.36,1) .50s forwards;
}

.dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .hero-action{
  animation:dashboardPremiumFadeInUp .72s cubic-bezier(.22,1,.36,1) forwards;
}

.dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .hero-action:nth-child(1){animation-delay:.58s}
.dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .hero-action:nth-child(2){animation-delay:.66s}
.dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .hero-action:nth-child(3){animation-delay:.74s}
.dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .hero-action:nth-child(4){animation-delay:.82s}

.dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .hero-detail-btn{
  animation:dashboardPremiumFadeInUp .74s cubic-bezier(.22,1,.36,1) .68s forwards;
}

.dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .hero-page-visual,
.dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .artboard{
  animation:dashboardPremiumCardIn .96s cubic-bezier(.22,1,.36,1) .42s forwards;
}

.dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .artboard .art{
  animation:dashboardPremiumFadeInUp .82s cubic-bezier(.22,1,.36,1) forwards;
}

.dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .artboard .art:nth-child(1){animation-delay:.52s}
.dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .artboard .art:nth-child(2){animation-delay:.60s}
.dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .artboard .art:nth-child(3){animation-delay:.68s}
.dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .artboard .art:nth-child(4){animation-delay:.76s}
.dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .artboard .art:nth-child(5){animation-delay:.84s}
.dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .artboard .art:nth-child(6){animation-delay:.92s}
.dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .artboard .art:nth-child(7){animation-delay:1.00s}
.dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .artboard .art:nth-child(8){animation-delay:1.08s}

@media (prefers-reduced-motion: reduce){
  .dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .hero-actions,
  .dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .hero-action,
  .dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .hero-detail-btn,
  .dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .hero-page-visual,
  .dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .artboard,
  .dashboard-body:is(.theme-general,.theme-vogue,.theme-kotex,.theme-higienicos) .artboard .art{
    animation:none !important;
    opacity:1 !important;
    transform:none !important;
    filter:none !important;
  }
}
.dashboard-shell{position:relative}
.dashboard-shell-general{padding-inline:74px}

.mobile-page-switcher-wrap{
  display:none;
}

.mobile-page-switcher{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  width:100%;
  padding:5px 7px;
  border-radius:16px;
  background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,.10));
  border:1px solid rgba(255,255,255,.30);
  box-shadow:0 10px 22px rgba(29,18,51,.10), inset 0 1px 0 rgba(255,255,255,.22);
  -webkit-backdrop-filter:blur(14px) saturate(135%);
  backdrop-filter:blur(14px) saturate(135%);
  transform:translate3d(0,0,0);
  transform-origin:center top;
  will-change:transform,opacity,filter;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  transition:box-shadow .22s ease,border-color .22s ease,background .22s ease,filter .22s ease,opacity .22s ease;
}

.mobile-page-switcher::before{
  content:"";
  position:absolute;
  left:12px;
  right:12px;
  top:0;
  height:2px;
  border-radius:999px;
  opacity:.95;
  pointer-events:none;
}

.dashboard-body.theme-general .mobile-page-switcher::before{
  background:linear-gradient(90deg,#B9BABF 0%,#F1BFA4 100%);
}

.dashboard-body.theme-vogue .mobile-page-switcher::before{
  background:linear-gradient(90deg,#9074AB 0%,#D57BAE 100%);
}

.dashboard-body.theme-kotex .mobile-page-switcher::before{
  background:linear-gradient(90deg,#AB74CA 0%,#ED7EBB 100%);
}

.dashboard-body.theme-higienicos .mobile-page-switcher::before{
  background:linear-gradient(90deg,#7E87A3 0%,#B074EA 100%);
}

.mobile-page-switcher__arrow{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  flex:0 0 30px;
  border-radius:10px;
  background:linear-gradient(180deg,rgba(255,255,255,.54),rgba(255,255,255,.28));
  border:1px solid rgba(255,255,255,.44);
  box-shadow:0 10px 18px rgba(31,20,53,.10), inset 0 1px 0 rgba(255,255,255,.58);
  -webkit-backdrop-filter:blur(18px) saturate(180%);
  backdrop-filter:blur(18px) saturate(180%);
  transition:transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease, opacity .18s ease;
}

.mobile-page-switcher__arrow:hover{
  transform:translateY(-1px);
  background:rgba(255,255,255,.88);
  border-color:rgba(255,255,255,.72);
  box-shadow:0 10px 18px rgba(31,20,53,.14);
}

.mobile-page-switcher__arrow:active{
  transform:translateY(0);
}

.mobile-page-switcher__arrow-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
}

.mobile-page-switcher__arrow-icon svg{
  width:18px;
  height:18px;
}

.mobile-page-switcher__arrow-icon path{
  stroke:#4A3F67;
  stroke-width:2.35;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.mobile-page-switcher__current{
  min-width:0;
  flex:1 1 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:0 12px 1px;
  border-radius:11px;
  background:linear-gradient(180deg,rgba(255,255,255,.60),rgba(255,255,255,.34));
  border:1px solid rgba(255,255,255,.46);
  box-shadow:0 6px 14px rgba(31,20,53,.06), inset 0 1px 0 rgba(255,255,255,.62);
  -webkit-backdrop-filter:blur(18px) saturate(180%);
  backdrop-filter:blur(18px) saturate(180%);
  overflow:hidden;
}

.mobile-page-switcher__current-text{
  display:block;
  min-width:0;
  color:#3B3837;
  font-family:"Bahnschrift","DIN Alternate","Arial Narrow",Arial,sans-serif;
  font-size:.88rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-align:center;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.mobile-page-switcher.is-floating{
  position:fixed;
  left:12px;
  right:12px;
  top:var(--mobile-page-switcher-top,72px);
  width:auto;
  z-index:1035;
  opacity:1;
  transform:translate3d(0,0,0) scale(1);
  filter:none;
  box-shadow:0 18px 34px rgba(21,14,41,.16), inset 0 1px 0 rgba(255,255,255,.24);
}

.mobile-page-switcher.is-floating.is-floating-ready{
  animation:mobilePageSwitcherFloatIn .56s cubic-bezier(.22,.86,.24,1.06);
}

.mobile-page-switcher.is-floating-leaving{
  opacity:0;
  transform:translate3d(0,-12px,0) scale(.985);
  filter:blur(.3px);
  transition:opacity .20s ease, transform .20s cubic-bezier(.4,0,.2,1), filter .20s ease;
}

@keyframes mobilePageSwitcherFloatIn{
  0%{
    opacity:0;
    transform:translate3d(0,var(--mobile-page-switcher-enter-from-y,-22px),0) scaleX(.94) scaleY(.968);
    filter:blur(.55px);
  }
  58%{
    opacity:1;
    transform:translate3d(0,8px,0) scaleX(.978) scaleY(.99);
    filter:blur(0);
  }
  78%{
    opacity:1;
    transform:translate3d(0,-2px,0) scaleX(1.004) scaleY(1.002);
  }
  100%{
    opacity:1;
    transform:translate3d(0,0,0) scale(1);
    filter:none;
  }
}

.page-toolbar{
  display:flex;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}

.page-toolbar-general{
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  gap:14px;
  width:100%;
  padding:6px;
  margin-bottom:16px;
  background:var(--glass-pane-strong);
  border:1px solid var(--glass-stroke-strong);
  border-radius:12px;
  box-shadow:var(--glass-shadow-soft);
  -webkit-backdrop-filter:var(--glass-blur);
  backdrop-filter:var(--glass-blur);
}

.filter-group{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}

.filter-group-periods{
  justify-content:flex-start;
}

.filter-group-months{
  justify-content:flex-end;
}

.filter-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:6px 18px;
  border-radius:7px;
  background:rgba(255,255,255,.90);
  border:1px solid rgba(255,255,255,.56);
  box-shadow:none;
  font-family:"Bahnschrift","DIN Alternate","Arial Narrow",Arial,sans-serif;
  font-size:.96rem;
  font-weight:500;
  letter-spacing:.01em;
  text-transform:uppercase;
  color:#3B3837;
  transition:background .16s ease,color .16s ease,border-color .16s ease,transform .16s ease;
}

.filter-chip:hover{
  transform:none;
  background:#3B3837;
  color:#fff;
  border-color:#3B3837;
  box-shadow:none;
}

.filter-chip.is-active{
  background:#3B3837;
  color:#fff;
  border-color:#3B3837;
  box-shadow:none;
}

.filter-chip-clear{
  background:rgba(255,255,255,.18);
  color:#3B3837;
  border:1px solid rgba(59,56,55,.28);
  box-shadow:none;
  margin-left:4px;
}

.filter-chip-clear:hover{
  background:#3B3837;
  color:#fff;
  border-color:#3B3837;
}

.kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.kpi-grid-five{grid-template-columns:repeat(5,minmax(0,1fr))}
.kpi-grid-general{gap:16px}
.kpi-shell{
  position:relative;
  min-width:0;
  border-radius:12px;
  overflow:hidden;
}
.kpi-shell-general{padding:0}

.kpi-backdrop{
  position:absolute;
  inset:0;
  border-radius:12px;
  background:var(--glass-pane-strong);
  border:1px solid var(--glass-stroke-strong);
  box-shadow:var(--glass-shadow-soft);
  -webkit-backdrop-filter:var(--glass-blur);
  backdrop-filter:var(--glass-blur);
}

.kpi-card{
  position:relative;
  z-index:1;
  background:#fff;
  color:#111;
  border-radius:8px;
  padding:10px 14px;
  min-height:86px;
  border:none;
  box-shadow:none;
}

.kpi-card-general{
  margin:6px;
  min-height:84px;
  background:#fff;
}

.kpi-layout{
  display:grid;
  grid-template-columns:46px minmax(0,1fr);
  gap:6px;
  align-items:center;
  min-height:64px;
}

.kpi-icon-col{
  display:flex;
  align-items:center;
  justify-content:center;
  align-self:center;
}

.kpi-icon-art{
  width:44px;
  height:44px;
  object-fit:contain;
  display:block;
}

.kpi-content{
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  gap:9px;
}

.kpi-title-row{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:22px;
}

.kpi-title-image{
  width:auto;
  height:23px;
  max-width:100%;
  object-fit:contain;
  object-position:center;
  display:block;
}

.kpi-title-top1{height:21px}
.kpi-title-clientes{height:22px}
.kpi-title-tickets{height:22px}

.kpi-value-wrap{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-top:2px;
}

.kpi-value{
  font-family:"Bahnschrift","DIN Alternate","Arial Narrow",Arial,sans-serif;
  font-size:1.32rem;
  font-weight:500;
  color:#111;
  line-height:1;
  display:flex;
  flex-wrap:wrap;
  gap:4px;
  align-items:baseline;
  justify-content:center;
  letter-spacing:.005em;
}

.kpi-value-sm{
  font-size:1.14rem;
  font-weight:500;
}

.kpi-subvalue{
  font-size:.86em;
  color:#4c4456;
  font-weight:600;
}

.kpi-label{
  text-transform:uppercase;
  font-size:.84rem;
  font-weight:700;
  color:#ff3eaa;
  letter-spacing:.03em;
  text-align:center;
}

.dashboard-main{position:relative}
.dashboard-main-general{padding-inline:0}
.side-nav{
  position:fixed;
  top:50%;
  transform:translateY(-50%);
  width:68px;
  height:68px;
  display:grid;
  place-items:center;
  background:transparent;
  border:none;
  box-shadow:none;
  z-index:90;
  text-decoration:none;
  transition:transform .22s ease, filter .22s ease, opacity .22s ease;
}

.side-nav-image{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  filter:
    drop-shadow(0 8px 20px rgba(34,20,58,.16))
    brightness(.98);
  transition:transform .22s ease, filter .22s ease, opacity .22s ease;
  transform:translateY(0) scale(1);
  pointer-events:none;
}

.side-nav:hover{
  transform:translateY(calc(-50% - 4px));
}

.side-nav:hover .side-nav-image{
  transform:translateY(-1px) scale(1.045);
  filter:
    drop-shadow(0 14px 28px rgba(34,20,58,.24))
    brightness(1)
    saturate(1.06);
}

.side-nav:active .side-nav-image{
  transform:translateY(0) scale(.985);
  filter:
    drop-shadow(0 7px 16px rgba(34,20,58,.18))
    brightness(1.02);
}

.side-nav-left{left:18px}
.side-nav-right{right:18px}

.hero-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:18px;align-items:stretch}
.hero-card-general{
  gap:18px;
  align-items:start;
  padding-inline:18px;
  box-sizing:border-box;
}
.hero-left,.hero-right,.panel-card{
  position:relative;
  background:var(--glass-pane);
  border:1px solid var(--glass-stroke);
  -webkit-backdrop-filter:var(--glass-blur);
  backdrop-filter:var(--glass-blur);
  border-radius:30px;
  box-shadow:var(--glass-shadow-soft);
  overflow:hidden;
}
.hero-left{padding:18px;display:flex;flex-direction:column;justify-content:space-between;min-width:0}
.hero-right{padding:18px 18px 18px 34px;min-width:0}
.hero-left-general{
  background:transparent;
  border:none;
  box-shadow:none;
  backdrop-filter:none;
  padding:0 0 18px 0;
  overflow:visible;
}

.hero-right-general{
  background:transparent;
  border:none;
  box-shadow:none;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  padding:0;
  margin-top:18px;
  margin-right:18px;
  min-height:456px;
  overflow:visible;
}
.hero-summary-window{position:relative;background:linear-gradient(180deg,rgba(255,255,255,.26),rgba(255,255,255,.14));border-radius:30px;padding:16px;border:1px solid rgba(255,255,255,.22);min-height:320px}
.hero-summary-window-general{
  position:relative;
  min-height:540px;
  padding:0;
  background:transparent;
  border:none;
  box-shadow:none;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  overflow:visible;
}

.hero-summary-glass{
  position:absolute;
  inset:18px 18px 66px 18px;
  border-radius:24px;
  background:var(--glass-pane-strong);
  border:1px solid var(--glass-stroke-strong);
  box-shadow:var(--glass-shadow-premium);
  -webkit-backdrop-filter:blur(24px) saturate(200%);
  backdrop-filter:blur(24px) saturate(200%);
}

.hero-summary-frame{
  position:absolute;
  z-index:1;
  inset:24px 24px 72px 24px;
  border-radius:18px;
  padding:0;
  background:linear-gradient(180deg,#f7f7f8 0%, #efeff1 100%);
  border:1px solid rgba(255,255,255,.92);
  box-shadow:0 10px 22px rgba(29,18,51,.06), inset 0 1px 0 rgba(255,255,255,.96);
  overflow:hidden;
}

.hero-summary-frame::before{
  content:"";
  position:absolute;
  inset:5px;
  border-radius:11px;
  border:1.5px solid rgba(168,132,121,.42);
  pointer-events:none;
}

.hero-left-vogue{
  background:transparent;
  border:none;
  box-shadow:none;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  padding:0 0 18px 0;
  overflow:visible;
}

.hero-right-vogue{
  background:transparent;
  border:none;
  box-shadow:none;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  padding:0;
  margin-top:18px;
  min-height:456px;
  overflow:visible;
}

.hero-summary-window-top3{
  min-height:540px;
}

.hero-summary-frame-top3{
  display:flex;
  align-items:stretch;
}

.hero-summary-content-top3{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  justify-content:flex-start;
  gap:18px;
  padding:22px 18px 18px;
}

.hero-top3-title-art{
  display:block;
  width:min(100%,300px);
  max-width:100%;
  height:auto;
  margin:0 auto;
  object-fit:contain;
}

.hero-top3-table-wrap{
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  padding-right:4px;
  scrollbar-width:thin;
  scrollbar-color:rgba(108,92,132,.82) transparent;
}

.hero-top3-table-wrap::-webkit-scrollbar{
  width:8px;
}

.hero-top3-table-wrap::-webkit-scrollbar-track{
  background:transparent;
  border-radius:999px;
}

.hero-top3-table-wrap::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,rgba(92,78,114,.88),rgba(176,164,197,.82));
  border-radius:999px;
  border:none;
}

.hero-top3-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  color:#4A3A59;
  font-family:"Bahnschrift","DIN Alternate","Arial Narrow",Arial,sans-serif;
}

.hero-top3-table thead th{
  padding:10px 12px;
  background:#867BCC;
  color:#fff;
  font-size:.95rem;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  border:none;
}

.hero-top3-table thead th:first-child{
  border-top-left-radius:12px;
}

.hero-top3-table thead th:last-child{
  border-top-right-radius:12px;
}

.hero-top3-table tbody td{
  padding:12px 12px;
  border-bottom:1px solid #ECE4EF;
  font-size:1rem;
  font-weight:700;
  color:#4A3A59;
  vertical-align:top;
  background:#fff;
}

.hero-top3-table tfoot td{
  padding:12px 12px;
  background:#F5F1FE;
  color:#4B3B5B;
  font-size:1rem;
  font-weight:800;
  border:none;
}

.hero-top3-client-cell{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:10px;
  align-items:start;
}

.hero-top3-rank{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:34px;
  min-height:28px;
  padding:2px 8px;
  border-radius:999px;
  background:#FFE4F5;
  color:#B4247D;
  font-size:.78rem;
  font-weight:800;
  line-height:1;
}

.hero-top3-client-name{
  display:block;
  line-height:1.15;
  color:#4A3A59;
}

.hero-top3-empty{
  text-align:center;
  color:#7A688F !important;
  font-weight:700;
}

@media (min-width: 992px){
  .hero-summary-window-top3 .hero-summary-frame-top3{
    overflow:visible;
  }

  .hero-summary-window-top3 .hero-summary-content-top3{
    position:relative;
    padding:154px 18px 18px;
    gap:12px;
    overflow:visible;
  }

  .hero-summary-window-top3 .hero-top3-title-art{
    position:absolute;
    top:-68px;
    left:50%;
    transform:translateX(-50%);
    z-index:4;
    width:min(100%,380px);
    max-width:100%;
    margin:0;
  }
}

.hero-page-visual{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:100%;
}

.hero-page-visual-image{
  display:block;
  width:min(100%,1160px);
  max-width:none;
  height:auto;
  object-fit:contain;
  transform:scale(1.14);
  transform-origin:center center;
}

.hero-right-vogue .hero-page-visual-image{
  width:min(100%,1260px);
  transform:scale(1.18);
  transform-origin:center center;
}

.hero-page-visual-image-mobile{
  display:none;
}

.hero-summary-content{
  position:relative;
  z-index:2;
  width:100%;
  height:100%;
  max-width:none;
  margin:0;
  padding:18px 16px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.hero-summary-bars{
  --summary-cols:7;
  --summary-gap:12px;
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  justify-content:center;
  gap:var(--summary-gap);
  width:100%;
  max-width:none;
  min-height:100%;
  height:auto;
  margin:0 auto;
  padding:0 8px;
}

.summary-bar-row{
  flex:0 1 min(96px, calc((100% - ((var(--summary-cols) - 1) * var(--summary-gap))) / var(--summary-cols)));
  width:min(96px, calc((100% - ((var(--summary-cols) - 1) * var(--summary-gap))) / var(--summary-cols)));
  display:grid;
  grid-template-rows:auto 252px auto;
  align-content:center;
  justify-items:center;
  gap:8px;
  min-width:0;
  height:auto;
}

.summary-bar-top{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-end;
  gap:2px;
  min-height:0;
  width:100%;
  text-align:center;
  padding-bottom:16px;
}

.summary-amount{
  font-size:.84rem;
  font-weight:900;
  color:#6d607a;
  line-height:1.05;
  letter-spacing:.01em;
  white-space:nowrap;
}

.summary-share{
  font-size:.84rem;
  font-weight:900;
  color:#9b8da7;
  line-height:1;
  text-align:center;
}

.summary-participation-top{
  display:block;
  font-size:.84rem;
  font-weight:900;
  color:#9b8da7;
  line-height:1;
  text-align:center;
}

.summary-share-mobile{
  display:none;
}

.summary-meta-desktop{
  display:block;
}

.summary-meta-mobile{
  display:none;
}

.summary-bar-track{
  position:relative;
  width:60px;
  height:252px;
  border-radius:32px;
  background:linear-gradient(180deg,rgba(114,98,128,.10),rgba(114,98,128,.04));
  box-shadow:inset 0 0 0 1px rgba(114,98,128,.10);
  overflow:hidden;
}

.summary-bar-fill{
  position:absolute;
  inset:auto 0 0 0;
  width:100% !important;
  height:var(--bar-fill);
  border-radius:32px;
}

.summary-bar-value{
  display:none;
}

.summary-bar-bottom{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:3px;
  min-height:0;
  width:100%;
  text-align:center;
  padding-top:2px;
}

.summary-month{
  font-size:1rem;
  font-weight:900;
  letter-spacing:.02em;
  color:#726280;
  line-height:1.04;
  text-shadow:none;
}

.summary-clients{
  font-size:.78rem;
  color:#b0a2af;
  font-weight:800;
  line-height:1.04;
  text-shadow:none;
}

.summary-meta{
  font-size:.78rem;
  color:#b0a2af;
  font-weight:800;
  line-height:1.04;
  text-shadow:none;
}

.summary-period{
  font-size:.72rem;
  color:#b8aebb;
  font-weight:800;
  line-height:1.02;
  text-shadow:none;
}

.summary-bar-row:nth-child(1) .summary-bar-fill{background:linear-gradient(180deg,#36c8f5 0%,#22a7d6 100%)}
.summary-bar-row:nth-child(2) .summary-bar-fill{background:linear-gradient(180deg,#9b85ff 0%,#745be0 100%)}
.summary-bar-row:nth-child(3) .summary-bar-fill{background:linear-gradient(180deg,#4b88f0 0%,#2f63c9 100%)}
.summary-bar-row:nth-child(4) .summary-bar-fill{background:linear-gradient(180deg,#e2a7ae 0%,#cf9199 100%)}
.summary-bar-row:nth-child(5) .summary-bar-fill{background:linear-gradient(180deg,#9fc4f3 0%,#77a8e6 100%)}
.summary-bar-row:nth-child(6) .summary-bar-fill{background:linear-gradient(180deg,#c8b8f1 0%,#ae9adf 100%)}
.summary-bar-row:nth-child(7) .summary-bar-fill{background:linear-gradient(180deg,#6a5f80 0%,#4e4563 100%)}
.summary-bar-track{
  transition:transform .22s ease, box-shadow .22s ease, filter .22s ease;
  transform-origin:center bottom;
}

.summary-bar-fill{
  transition:filter .22s ease, transform .22s ease;
}

.summary-bar-row:hover .summary-bar-track{
  transform:translateY(-4px) scale(1.03);
  box-shadow:
    inset 0 0 0 1px rgba(114,98,128,.12),
    0 14px 26px rgba(71,56,99,.16);
}

.summary-bar-row:hover .summary-bar-fill{
  filter:saturate(1.08) brightness(1.04);
}

.summary-bar-row:hover .summary-month,
.summary-bar-row:hover .summary-amount{
  color:#5f5370;
}
.top3-badge{position:absolute;left:-24px;top:-24px;width:min(270px,56%)}
.hero-detail-btn{align-self:center;background:linear-gradient(90deg,#10214b,#1e2f63);color:#fff;border:none;border-radius:16px;padding:13px 24px;font-weight:800;box-shadow:0 10px 22px rgba(18,33,75,.22)}
.hero-detail-btn:hover{background:linear-gradient(90deg,#0f1d42,#223679);color:#fff}

.hero-left-general .hero-detail-trigger-general,
.hero-left-vogue .hero-detail-trigger-vogue{
  align-self:center;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:-96px !important;
  padding:0;
  border:none;
  background:transparent;
  box-shadow:none;
  position:relative;
  z-index:5;
  line-height:0;
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
  transition:transform .18s ease, filter .18s ease;
}

.hero-left-general .hero-detail-trigger-general:hover,
.hero-left-vogue .hero-detail-trigger-vogue:hover{
  transform:translateY(-1px);
  filter:brightness(1.02);
}

.hero-left-general .hero-detail-trigger-general:focus-visible,
.hero-left-vogue .hero-detail-trigger-vogue:focus-visible{
  outline:none;
  box-shadow:0 0 0 4px rgba(123,72,201,.18);
  border-radius:18px;
}

.hero-detail-trigger-image{
  display:block;
  width:clamp(180px, 22vw, 255px);
  max-width:100%;
  height:auto;
  pointer-events:none;
  user-select:none;
  -webkit-user-drag:none;
}

.hero-general-stage{
  display:grid;
  grid-template-columns:minmax(220px,1fr) minmax(0,2fr);
  align-items:center;
  gap:26px;
  width:100%;
  min-height:100%;
}

.hero-general-stage-single{
  grid-template-columns:minmax(0,1fr);
  gap:0;
}

.hero-general-visual-single{
  justify-content:center;
}

.hero-general-visual-image-vogue{
  width:min(100%, 980px);
  max-width:100%;
  transform:scale(1);
  transform-origin:center center;
}

.hero-general-visual-image-vogue-mobile{
  width:min(100%, 620px);
  max-width:100%;
  transform:none;
}

.hero-general-buttons{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:16px;
  width:100%;
}

.hero-cta-trigger{
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  width:100%;
  padding:0;
  border:none;
  background:transparent;
  box-shadow:none;
  line-height:0;
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
  transition:transform .18s ease, filter .18s ease;
}

.hero-cta-trigger:hover{
  transform:translateY(-1px);
  filter:brightness(1.02);
}

.hero-cta-trigger:focus-visible{
  outline:none;
  box-shadow:0 0 0 4px rgba(123,72,201,.16);
  border-radius:18px;
}

.hero-cta-image{
  display:block;
  width:min(100%, 220px);
  max-width:100%;
  height:auto;
  pointer-events:none;
  user-select:none;
  -webkit-user-drag:none;
}

.hero-general-visual{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-width:0;
}

.hero-general-visual-image{
  display:block;
  width:min(100%, 940px);
  max-width:100%;
  height:auto;
  object-fit:contain;
  transform:scale(1.06);
  transform-origin:center center;
}

.hero-general-visual-image-mobile{
  display:none;
}

.hero-actions{position:absolute;z-index:16;display:flex;flex-direction:column;gap:10px}
.hero-actions-general{left:-4px;top:80px}
.hero-action{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:42px;border:none;border-radius:999px;padding:6px 6px 6px 18px;font-weight:900;text-transform:uppercase;font-size:.79rem;letter-spacing:.02em;background:#fff;box-shadow:0 10px 18px rgba(36,24,58,.12);border:2px solid transparent;white-space:nowrap}
.hero-action-arrow{width:30px;height:30px;border-radius:999px;display:grid;place-items:center;font-size:1.45rem;line-height:1;background:rgba(255,255,255,.92)}
.action-invalid{width:164px;border-color:#bb56ff;color:#bb56ff}
.action-invalid .hero-action-arrow{background:#bb56ff;color:#fff}
.action-competition{width:146px;border-color:#6a6a72;color:#4b4b55}
.action-competition .hero-action-arrow{background:#6a6a72;color:#fff}
.action-inputs{width:128px;border-color:#18b9ff;color:#18b9ff}
.action-inputs .hero-action-arrow{background:#18b9ff;color:#fff}

.artboard{position:relative;min-height:420px;height:100%}
.artboard-general-premium{min-height:394px}
.art{position:absolute;display:block;max-width:100%;height:auto;filter:drop-shadow(0 18px 28px rgba(0,0,0,.13))}
.art-title{filter:none}
.art-title-main{max-width:56%}
.artboard-general .art-title-main{top:8px;right:10px;width:58%;z-index:6}
.art-title-kotex{top:118px;left:52%;width:20%;z-index:4}
.art-title-cottonelle{top:153px;left:46%;width:22%;z-index:4}
.art-title-suavel{top:215px;left:63%;width:18%;z-index:5}
.art-title-petalo{top:248px;left:75%;width:15%;z-index:5}
.product-cottonelle{bottom:24px;left:38px;width:39%;z-index:1}
.product-vogue{bottom:30px;left:188px;width:19%;z-index:4}
.product-kotex{bottom:12px;left:264px;width:16%;z-index:3}
.product-suavel{bottom:12px;left:255px;width:31%;z-index:2}
.product-petalo{bottom:6px;left:418px;width:19%;z-index:5}
.vogue-title{top:18px;right:28px;width:52%}
.vogue-product{bottom:28px;left:90px;width:42%;z-index:2}
.vogue-support{bottom:24px;right:-6px;width:42%;z-index:1}
.kotex-title{top:18px;right:8px;width:58%}
.kotex-product{bottom:18px;left:120px;width:42%;z-index:2}
.kotex-support{bottom:16px;right:16px;width:28%;z-index:1}
.hig-title-petalo{top:18px;left:22%;width:22%}
.hig-title-suavel{top:18px;left:50%;width:25%}
.hig-title-cottonelle{top:90px;left:36%;width:34%}
.hig-product-cottonelle{bottom:26px;left:84px;width:38%;z-index:1}
.hig-product-suavel{bottom:18px;left:286px;width:22%;z-index:2}
.hig-product-petalo{bottom:10px;left:224px;width:16%;z-index:3}
.hig-support{bottom:20px;right:0;width:24%;z-index:1}

.analytics-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,.9fr);gap:18px}
.analytics-grid-general{align-items:stretch;gap:22px;padding-top:54px}
.panel-card{padding:20px;min-height:300px}
.analytics-grid-general .panel-card{
  position:relative;
  margin-top:20px;
  padding:24px 20px 20px;
  background:var(--glass-pane-strong);
  border:1px solid var(--glass-stroke-strong);
  box-shadow:var(--glass-shadow-premium);
  -webkit-backdrop-filter:var(--glass-blur);
  backdrop-filter:var(--glass-blur);
  border-radius:24px;
  overflow:visible;
}
.analytics-grid-general .panel-card::before{
  content:none;
}
.panel-card-scrollable,.panel-card-brand{min-height:420px}
.analytics-grid-general .panel-card-brand{overflow:visible}

@media (min-width: 768px){
  .analytics-grid-general{
    --analytics-card-height:400px;
  }

  .analytics-grid-general .panel-card-scrollable,
  .analytics-grid-general .panel-card-brand{
    height:var(--analytics-card-height);
    min-height:var(--analytics-card-height);
  }

  .analytics-grid-general .panel-card-scrollable{
    display:flex;
    flex-direction:column;
  }

  .analytics-grid-general .panel-card-scrollable .panel-scroll-body-general{
    flex:1 1 auto;
    min-height:0;
    max-height:none;
    overflow:auto;
    display:flex;
    flex-direction:column;
    padding-top:14px;
    padding-bottom:14px;
  }

  .analytics-grid-general .panel-card-scrollable .bar-list{
    width:100%;
    margin-block:auto;
  }

  .analytics-grid-general .panel-card-brand{
    display:flex;
    align-items:center;
    justify-content:center;
  }

  .analytics-grid-general .panel-card-brand .chart-wrap-general{
    height:100%;
    min-height:0;
    max-height:none;
    margin-top:0;
  }
}
.panel-title{font-size:1.2rem;font-weight:900;text-transform:uppercase;margin-bottom:14px;line-height:1.1}
.panel-title-image{
  min-height:0;
  display:flex;
  align-items:center;
  justify-content:center;
  position:absolute;
  left:50%;
  top:-56px;
  transform:translateX(-50%);
  width:calc(100% - 32px);
  margin:0;
  padding:0 12px 10px;
  z-index:3;
}
.panel-title-art{width:auto;height:39px;object-fit:contain;object-position:center center;display:block;max-width:100%}
.panel-title-art-wide{height:42px;max-width:min(100%,420px)}
.panel-title-art-short{height:39px;max-width:min(100%,240px)}
.panel-title-art-shorter{height:38px;max-width:min(100%,240px)}
.panel-scroll-body{
  max-height:330px;
  overflow:auto;
  padding-right:6px;
  scrollbar-width:thin;
  scrollbar-color:rgba(108,92,132,.82) transparent;
}

.panel-scroll-body-general{
  padding-top:12px;
  padding-right:6px;
}

.panel-scroll-body::-webkit-scrollbar{
  width:8px;
}

.panel-scroll-body::-webkit-scrollbar-track{
  background:transparent;
  border-radius:999px;
}

.panel-scroll-body::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,rgba(92,78,114,.88),rgba(176,164,197,.82));
  border-radius:999px;
  border:none;
}

.panel-scroll-body::-webkit-scrollbar-thumb:hover{
  background:linear-gradient(180deg,rgba(78,65,100,.94),rgba(162,150,184,.88));
}

.panel-scroll-body::-webkit-scrollbar-button{
  display:none;
  width:0;
  height:0;
}
.bar-list{display:flex;flex-direction:column;gap:12px}
.bar-row{display:grid;grid-template-columns:145px minmax(0,1fr) auto;gap:12px;align-items:center}
.bar-label{font-size:.95rem;font-weight:800;color:#fff}
.bar-track{height:16px;border-radius:999px;background:rgba(255,255,255,.14);overflow:hidden;min-width:0}
.bar-fill{height:100%;background:linear-gradient(90deg,#57505f,#ffffffb8)}
.bar-value{font-size:.86rem;text-align:right;font-weight:800;color:#fff;white-space:nowrap}

.bar-track-majorista{position:relative}
.bar-amount-inline{display:none}
.bar-value-majorista .bar-value-percent{opacity:.78}

@media (min-width: 768px){
  .bar-row-majorista{
    grid-template-columns:1fr;
    grid-template-areas:
      "label"
      "track"
      "value";
    gap:6px;
    align-items:start;
    padding:4px 0;
    transition:transform .18s ease;
  }

  .bar-label-majorista{
    grid-area:label;
    font-family:"Bahnschrift","DIN Alternate","Arial Narrow",Arial,sans-serif;
    font-size:1.08rem;
    font-weight:700;
    letter-spacing:.01em;
    line-height:1.08;
    color:#3C3837;
  }

  .bar-track-majorista{
    grid-area:track;
    position:relative;
    width:100%;
    height:18px;
    border-radius:999px;
    background:linear-gradient(90deg,rgba(255,255,255,.22),rgba(255,255,255,.10));
    box-shadow:inset 0 0 0 1px rgba(114,98,128,.10);
    overflow:hidden;
    transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
  }

  .bar-fill-majorista{
    height:100%;
    border-radius:999px;
    background:linear-gradient(90deg,#5b4c72 0%,#8a78aa 52%,#ddd7e8 100%);
    transition:filter .18s ease, transform .18s ease;
  }

  .bar-amount-inline{
    display:none;
  }

  .bar-value-majorista{
    grid-area:value;
    min-width:0;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:4px;
    text-align:left;
    font-family:"Bahnschrift","DIN Alternate","Arial Narrow",Arial,sans-serif;
    font-size:1.12rem;
    font-weight:700;
    color:#3C3837;
    line-height:1.05;
  }

  .bar-value-majorista .bar-value-money{
    display:inline;
  }

  .bar-value-majorista .bar-value-percent{
    opacity:.82;
  }

  .bar-row-majorista:hover .bar-track-majorista{
    transform:translateY(-1px);
    box-shadow:
      inset 0 0 0 1px rgba(114,98,128,.14),
      0 10px 18px rgba(71,56,99,.12);
  }

  .bar-row-majorista:hover .bar-fill-majorista{
    filter:saturate(1.08) brightness(1.03);
  }

  .bar-row-majorista:hover .bar-label-majorista,
  .bar-row-majorista:hover .bar-value-majorista{
    color:#2F2B2A;
  }
}

.bar-track-cliente{position:relative}
.bar-value-cliente .bar-value-percent{opacity:.78}

@media (min-width: 768px){
  .bar-row-cliente{
    grid-template-columns:1fr;
    grid-template-areas:
      "label"
      "track"
      "value";
    gap:6px;
    align-items:start;
    padding:4px 0;
    transition:transform .18s ease;
  }

  .bar-label-cliente{
    grid-area:label;
    font-family:"Bahnschrift","DIN Alternate","Arial Narrow",Arial,sans-serif;
    font-size:1.08rem;
    font-weight:700;
    letter-spacing:.01em;
    line-height:1.15;
    color:#3C3837;
  }

  .bar-track-cliente{
    grid-area:track;
    position:relative;
    width:100%;
    height:18px;
    border-radius:999px;
    background:linear-gradient(90deg,rgba(255,255,255,.22),rgba(255,255,255,.10));
    box-shadow:inset 0 0 0 1px rgba(114,98,128,.10);
    overflow:hidden;
    transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
  }

  .bar-fill-cliente{
    height:100%;
    border-radius:999px;
    background:linear-gradient(90deg,#5b4c72 0%,#8a78aa 52%,#ddd7e8 100%);
    transition:filter .18s ease, transform .18s ease;
  }

  .bar-value-cliente{
    grid-area:value;
    min-width:0;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:4px;
    text-align:left;
    font-family:"Bahnschrift","DIN Alternate","Arial Narrow",Arial,sans-serif;
    font-size:1.12rem;
    font-weight:700;
    color:#3C3837;
    line-height:1.05;
  }

  .bar-value-cliente .bar-value-money{
    display:inline;
  }

  .bar-value-cliente .bar-value-percent{
    opacity:.82;
  }

  .bar-row-cliente:hover .bar-track-cliente{
    transform:translateY(-1px);
    box-shadow:
      inset 0 0 0 1px rgba(114,98,128,.14),
      0 10px 18px rgba(71,56,99,.12);
  }

  .bar-row-cliente:hover .bar-fill-cliente{
    filter:saturate(1.08) brightness(1.03);
  }

  .bar-row-cliente:hover .bar-label-cliente,
  .bar-row-cliente:hover .bar-value-cliente{
    color:#2F2B2A;
  }
}

.bar-track-sku{position:relative}
.bar-value-sku .bar-value-percent{opacity:.78}

@media (min-width: 768px){
  .bar-row-sku{
    grid-template-columns:1fr;
    grid-template-areas:
      "label"
      "track"
      "value";
    gap:6px;
    align-items:start;
    padding:4px 0;
    transition:transform .18s ease;
  }

  .bar-label-sku{
    grid-area:label;
    font-family:"Bahnschrift","DIN Alternate","Arial Narrow",Arial,sans-serif;
    font-size:1.08rem;
    font-weight:700;
    letter-spacing:.01em;
    line-height:1.15;
    color:#3C3837;
  }

  .bar-track-sku{
    grid-area:track;
    position:relative;
    width:100%;
    height:18px;
    border-radius:999px;
    background:linear-gradient(90deg,rgba(255,255,255,.22),rgba(255,255,255,.10));
    box-shadow:inset 0 0 0 1px rgba(114,98,128,.10);
    overflow:hidden;
    transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
  }

  .bar-fill-sku{
    height:100%;
    border-radius:999px;
    background:linear-gradient(90deg,#5b4c72 0%,#8a78aa 52%,#ddd7e8 100%);
    transition:filter .18s ease, transform .18s ease;
  }

  .bar-value-sku{
    grid-area:value;
    min-width:0;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:4px;
    text-align:left;
    font-family:"Bahnschrift","DIN Alternate","Arial Narrow",Arial,sans-serif;
    font-size:1.12rem;
    font-weight:700;
    color:#3C3837;
    line-height:1.05;
  }

  .bar-value-sku .bar-value-money{
    display:inline;
  }

  .bar-value-sku .bar-value-percent{
    opacity:.82;
  }

  .bar-row-sku:hover .bar-track-sku{
    transform:translateY(-1px);
    box-shadow:
      inset 0 0 0 1px rgba(114,98,128,.14),
      0 10px 18px rgba(71,56,99,.12);
  }

  .bar-row-sku:hover .bar-fill-sku{
    filter:saturate(1.08) brightness(1.03);
  }

  .bar-row-sku:hover .bar-label-sku,
  .bar-row-sku:hover .bar-value-sku{
    color:#2F2B2A;
  }
}

.dashboard-body.theme-vogue .bar-track-majorista,
.dashboard-body.theme-vogue .bar-track-cliente,
.dashboard-body.theme-vogue .bar-track-sku{
  background:linear-gradient(90deg,rgba(255,255,255,.26),rgba(255,255,255,.12));
  box-shadow:inset 0 0 0 1px rgba(95,63,114,.12);
}

.dashboard-body.theme-vogue .bar-fill-majorista,
.dashboard-body.theme-vogue .bar-fill-cliente,
.dashboard-body.theme-vogue .bar-fill-sku{
  background:linear-gradient(90deg,#4F2963 0%,#9E4C8F 52%,#FFD2E7 100%);
}

.dashboard-body.theme-kotex .bar-track-majorista,
.dashboard-body.theme-kotex .bar-track-cliente,
.dashboard-body.theme-kotex .bar-track-sku{
  background:linear-gradient(90deg,rgba(255,255,255,.26),rgba(255,255,255,.12));
  box-shadow:inset 0 0 0 1px rgba(122,63,111,.14);
}

.dashboard-body.theme-kotex .bar-fill-majorista,
.dashboard-body.theme-kotex .bar-fill-cliente,
.dashboard-body.theme-kotex .bar-fill-sku{
  background:linear-gradient(90deg,#5A234D 0%,#A64282 52%,#FFD8EA 100%);
}

.dashboard-body.theme-higienicos .bar-track-majorista,
.dashboard-body.theme-higienicos .bar-track-cliente,
.dashboard-body.theme-higienicos .bar-track-sku{
  background:linear-gradient(90deg,rgba(255,255,255,.26),rgba(255,255,255,.12));
  box-shadow:inset 0 0 0 1px rgba(71,84,131,.14);
}

.dashboard-body.theme-higienicos .bar-fill-majorista,
.dashboard-body.theme-higienicos .bar-fill-cliente,
.dashboard-body.theme-higienicos .bar-fill-sku{
  background:linear-gradient(90deg,#32446B 0%,#6F4AC0 52%,#E2D7FF 100%);
}

.panel-card-breakdown{
  display:flex;
  flex-direction:column;
}

.chart-wrap{
  position:relative;
  width:100%;
  height:320px;
  min-height:320px;
  max-height:320px;
}

.chart-wrap-general{
  width:100%;
  height:320px;
  min-height:320px;
  max-height:320px;
  margin-top:12px;
}

@media (min-width: 768px){
  .panel-card-brand .chart-wrap-general{
    height:340px;
    min-height:340px;
    max-height:340px;
    margin-top:18px;
  }
}

.chart-wrap canvas,
.chart-wrap-general canvas,
.js-donut-chart{
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-height:100% !important;
}
.update-note{font-size:.92rem;color:rgba(255,255,255,.9)}
.input-image{max-height:70vh;object-fit:contain;background:#101010}

.upload-shell{
  position:relative;
  min-height:calc(100vh - 70px);
  margin:-1rem -1rem;
  padding:clamp(22px,2vw,34px) clamp(14px,1.8vw,28px);
  overflow:hidden;
  isolation:isolate;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  font-family:"Bahnschrift","DIN Alternate","Arial Narrow",Arial,sans-serif;
}

@media (min-width: 992px){
  .upload-shell{
    margin:-1rem -1.5rem;
  }
}

.upload-shell::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:
    linear-gradient(180deg,rgba(255,255,255,.04) 0%, rgba(255,255,255,0) 22%),
    linear-gradient(180deg,rgba(0,0,0,0) 58%, rgba(0,0,0,.10) 100%);
  pointer-events:none;
}

.upload-bg-stage{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
  pointer-events:none;
}

.upload-lines-art{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:center center;
  transform-origin:center center;
  opacity:.88;
  filter:drop-shadow(0 0 30px rgba(255,53,139,.10));
}

.upload-layout{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:24px;
}

@media (min-width: 992px){
  .upload-layout{
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:start;
  }

  .upload-layout-card-files{
    grid-column:1;
    grid-row:1;
  }

  .upload-layout-card-config{
    grid-column:2;
    grid-row:1;
  }

  .upload-layout-card-current{
    grid-column:2;
    grid-row:2;
  }

  .upload-layout-worldcup-active .upload-layout-card-worldcup{
    grid-column:2;
    grid-row:3;
  }

  .upload-layout:not(.upload-layout-worldcup-active) .upload-layout-card-history{
    grid-column:1;
    grid-row:2;
  }

  .upload-layout-worldcup-active .upload-layout-card-history{
    grid-column:1;
    grid-row:2 / span 2;
  }
}

.upload-panel-card{
  position:relative;
  min-height:100%;
  border-radius:14px;
  overflow:hidden;
  background:linear-gradient(180deg,rgba(255,255,255,.16) 0%, rgba(255,255,255,.10) 100%);
  border:1px solid rgba(255,255,255,.20) !important;
  box-shadow:0 18px 42px rgba(10,4,34,.16) !important;
  -webkit-backdrop-filter:blur(16px) saturate(120%);
  backdrop-filter:blur(16px) saturate(120%);
}

.upload-panel-card::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,0));
  pointer-events:none;
}

.upload-panel-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}

.upload-panel-head-with-actions{
  align-items:center;
}

.upload-panel-kicker{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:26px;
  padding:4px 12px;
  border-radius:999px;
  margin-bottom:10px;
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.28);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16);
  color:#FFFFFF;
  font-family:"Bahnschrift","DIN Alternate","Arial Narrow",Arial,sans-serif;
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.upload-primary-btn{
  min-height:52px;
  font-weight:700;
  letter-spacing:.01em;
  box-shadow:0 12px 22px rgba(27,18,49,.12);
}

.upload-history-table{
  max-height:100%;
}

.users-shell,
.users-shell .form-label,
.users-shell .form-control,
.users-shell .form-select,
.users-shell .form-text,
.users-shell .table,
.users-shell .btn{
  font-family:"Bahnschrift","DIN Alternate","Arial Narrow",Arial,sans-serif;
}

.users-layout{
  position:relative;
  z-index:1;
}

.users-shell .upload-panel-card{
  min-height:100%;
}

.users-admin-table{
  max-height:520px;
}

.users-shell .users-admin-table thead th:last-child,
.users-shell .users-admin-table tbody td:last-child{
  text-align:right;
}

.users-secondary-btn{
  color:#FFFFFF;
  border-color:rgba(255,255,255,.42);
  background:rgba(255,255,255,.08);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10);
}

.users-secondary-btn:hover,
.users-secondary-btn:focus{
  color:#2A1844;
  border-color:rgba(255,255,255,.92);
  background:rgba(255,255,255,.92);
}

.users-action-btn{
  min-height:34px;
  padding:.34rem .92rem;
  border-radius:999px;
  font-family:"Bahnschrift","DIN Alternate","Arial Narrow",Arial,sans-serif;
  font-weight:700;
  line-height:1;
}

.users-action-btn-edit{
  color:#24193A;
  border:1px solid rgba(36,25,58,.26);
  background:rgba(255,255,255,.74);
}

.users-action-btn-edit:hover,
.users-action-btn-edit:focus{
  color:#24193A;
  border-color:rgba(36,25,58,.40);
  background:#FFFFFF;
}

.users-action-btn-delete{
  color:#D94A70;
  border:1px solid rgba(217,74,112,.40);
  background:rgba(255,255,255,.74);
}

.users-action-btn-delete:hover,
.users-action-btn-delete:focus{
  color:#C53461;
  border-color:rgba(197,52,97,.52);
  background:#FFFFFF;
}

.users-admin-username{
  font-family:"Bahnschrift","DIN Alternate","Arial Narrow",Arial,sans-serif;
  font-weight:800;
  letter-spacing:.01em;
}

.upload-shell .card-body{
  color:#FFFFFF;
}

.upload-shell .card-body p,
.upload-shell .card-body li,
.upload-shell .card-body small,
.upload-shell .card-body span:not(.badge){
  color:inherit;
}

.upload-shell .text-secondary{
  color:rgba(255,255,255,.82) !important;
}

.upload-shell .form-label{
  color:#FFFFFF;
  font-weight:700;
}

.upload-shell .form-text{
  color:rgba(255,255,255,.72);
  font-weight:500;
}

.upload-shell .form-control,
.upload-shell .form-select,
.upload-shell .btn,
.upload-shell .table{
  font-family:"Bahnschrift","DIN Alternate","Arial Narrow",Arial,sans-serif;
}

.upload-shell .card h1,
.upload-shell .card h2,
.upload-shell .card h3,
.upload-shell .card h4{
  color:#FFFFFF;
  font-weight:800;
}

.upload-shell .table{
  --bs-table-bg:rgba(255,255,255,.82);
  --bs-table-striped-bg:rgba(255,255,255,.68);
  --bs-table-striped-color:#2F2345;
  --bs-table-color:#2F2345;
  --bs-table-border-color:rgba(49,37,74,.08);
}

.upload-shell .table thead th{
  background:rgba(255,255,255,.92);
  color:#24193A;
}

.upload-history-table thead th{
  position:sticky;
  top:0;
  z-index:1;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(10px);
}

.inputs-manager-card.is-busy{
  opacity:.78;
}

.upload-count-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:8px 14px;
  border-radius:14px;
  background:rgba(255,255,255,.62);
  border:1px solid rgba(255,255,255,.50);
  color:#4A3A59;
  font-family:"Bahnschrift","DIN Alternate","Arial Narrow",Arial,sans-serif;
  font-size:.92rem;
  font-weight:700;
  white-space:nowrap;
}

.inputs-toolbar{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.inputs-toolbar-btn{
  min-height:42px;
  padding-inline:16px;
  border-radius:14px;
  font-weight:700;
}

.input-sort-list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:12px;
}

.input-sort-item{
  display:grid;
  grid-template-columns:44px 34px 72px minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  padding:12px;
  border-radius:18px;
  background:rgba(255,255,255,.56);
  border:1px solid rgba(255,255,255,.54);
  box-shadow:0 10px 18px rgba(24,16,44,.06);
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.input-sort-item:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 26px rgba(24,16,44,.10);
}

.input-sort-item-ghost{
  opacity:.58;
}

.input-sort-item-chosen{
  box-shadow:0 16px 30px rgba(24,16,44,.12);
}

.input-sort-item-drag{
  transform:rotate(.2deg);
}

.input-sort-handle{
  width:44px;
  height:44px;
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  border:none;
  border-radius:14px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(255,255,255,.56);
  box-shadow:0 8px 16px rgba(24,16,44,.06);
  cursor:grab;
}

.input-sort-handle:active{
  cursor:grabbing;
}

.input-sort-handle span{
  display:block;
  width:16px;
  height:2px;
  border-radius:999px;
  background:#6B5A79;
}

.input-sort-check{
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0;
}

.input-sort-check .form-check-input{
  width:20px;
  height:20px;
  margin:0;
  cursor:pointer;
}

.input-sort-thumb{
  display:block;
  width:72px;
  height:72px;
  border-radius:18px;
  overflow:hidden;
  background:rgba(255,255,255,.70);
  border:1px solid rgba(255,255,255,.56);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.52);
  text-decoration:none;
  cursor:zoom-in;
}

.input-sort-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.input-sort-meta{
  min-width:0;
}

.input-sort-name{
  font-family:"Bahnschrift","DIN Alternate","Arial Narrow",Arial,sans-serif;
  font-size:1rem;
  font-weight:700;
  color:#3B3837;
  line-height:1.14;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.input-sort-submeta{
  margin-top:4px;
  font-size:.86rem;
  color:#6C6175;
  line-height:1.2;
}

.input-sort-delete{
  min-height:40px;
  padding-inline:14px;
  border-radius:12px;
  font-weight:700;
}

@media (max-width: 991.98px){
  .upload-panel-head,
  .upload-panel-head-with-actions{
    flex-direction:column;
    align-items:flex-start;
  }

  .input-sort-item{
    grid-template-columns:40px 30px 64px minmax(0,1fr);
    grid-template-areas:
      "drag check thumb meta"
      "drag . . actions";
    align-items:start;
  }

  .input-sort-handle{grid-area:drag;width:40px;height:40px}
  .input-sort-check{grid-area:check}
  .input-sort-thumb{grid-area:thumb;width:64px;height:64px}
  .input-sort-meta{grid-area:meta}
  .input-sort-delete{
    grid-area:actions;
    justify-self:start;
    margin-left:106px;
  }
}

@media (max-width: 575.98px){
  .input-sort-item{
    grid-template-columns:38px 58px minmax(0,1fr);
    grid-template-areas:
      "drag thumb meta"
      "check check check"
      "actions actions actions";
    gap:10px;
  }

  .input-sort-check{
    justify-content:flex-start;
  }

  .input-sort-delete{
    width:100%;
    margin-left:0;
  }

  .input-sort-name{
    white-space:normal;
    overflow:visible;
    text-overflow:clip;
  }
}
.table-responsive{max-height:70vh}
.form-control,.form-select{border-radius:16px;padding:.8rem 1rem}
.btn{border-radius:14px}
.detail-matrix-modal .modal-content{background:transparent;border:none;box-shadow:none}
/* Base del fondo: blanco tenue con desenfoque */
/* Control unificado del fondo: blanco tenue con desenfoque */
.modal-backdrop {
  background-color: rgba(255, 255, 255, 0.1) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
}
/* Forzamos que la opacidad sea siempre 1 cuando Bootstrap añade la clase .show */
.modal-backdrop.show {
  opacity: 1 !important;
}
/* Forzamos el ancho en escritorio */
@media (min-width: 1200px) {
  .detail-matrix-modal .modal-dialog {
    max-width: 96%;
    width: 1600px;
  }
}
/* Aseguramos que el modal esté por encima de la capa de desenfoque y sea nítido */
.detail-matrix-modal {
  z-index: 1060 !important;
}
.detail-matrix-modal .modal-dialog {
  z-index: 1061 !important;
}
/* Liberamos todos los contenedores padres del botón */
.detail-modal-content,
.detail-modal-shell {
  position: relative;
  overflow: visible !important;
}

.detail-modal-shell {
  padding: 20px;
}

.detail-modal-panel-backdrop {
  position: absolute;
  inset: 10px;
  border-radius: 20px;
  background: var(--glass-pane-strong);
  border: 1px solid var(--glass-stroke-strong);
  -webkit-backdrop-filter: blur(24px) saturate(200%);
  backdrop-filter: blur(24px) saturate(200%);
  box-shadow: var(--glass-shadow-premium);
  z-index: 0;
}
.detail-modal-panel{position:relative;z-index:1;background:#ffffff;color:#3b2752;border-radius:20px;padding:18px 18px 14px 18px;box-shadow:none;overflow:hidden}
.detail-modal-close {
  position: absolute;
  top: -8px;
  right: -8px;
  z-index: 9999;
  width: 32px;
  height: 32px;
  border: none;
  border-radius: 8px;
  background: #1d1c21;
  color: #fff;
  font-size: 1.2rem;
  line-height: 1;
  display: grid;
  place-items: center;
  box-shadow: 0 4px 10px rgba(0,0,0,0.3);
  transition: transform 0.2s ease, background 0.2s ease;
}

@media (min-width: 768px) {
  .detail-modal-close {
    width: 44px;
    height: 44px;
    top: 16px;
    right: 16px;
    font-size: 1.7rem;
    border-radius: 4px;
    box-shadow: none;
  }
}

@media (min-width: 1200px) {
  .detail-modal-close {
    top: -10px;
    right: -10px;
    border-radius: 10px;
    box-shadow: 0 6px 15px rgba(0,0,0,0.35);
  }
}

.detail-modal-close:hover {
  transform: translateY(-3px);
  background: #333;
}
.detail-modal-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px;padding-right:56px}
.detail-modal-title-wrap{display:flex;align-items:center;min-height:56px;min-width:0}
.detail-modal-title-art{display:block;height:50px;width:auto;max-width:min(100%,380px);object-fit:contain}
.detail-level-switcher{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end}
.detail-level-btn {
  border: 1px solid #FFE4F5;
  border-radius: 7px;
  padding: 6px 16px;
  min-height: 36px;
  background: #FFE4F5;
  color: #FF4EB9;
  font-family: "Bahnschrift","DIN Alternate","Arial Narrow",Arial,sans-serif;
  font-weight: 700;
  font-size: .82rem;
  line-height: 1;
  box-shadow: 0 2px 5px rgba(255, 78, 185, 0.1);
  transition: background .18s ease, color .18s ease, border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.detail-level-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 12px rgba(255, 78, 185, 0.2);
  background: #fff0f9;
}

.detail-level-btn.is-active {
  background: #FF4EB9;
  color: #fff;
  border-color: #FF4EB9;
  box-shadow: 0 4px 10px rgba(255, 78, 185, 0.3);
}

.detail-level-btn.is-active:hover {
  background: #ff2aa2; /* Usando tu variable --pink-strong */
}

.detail-matrix-wrap{position:relative;overflow:auto;max-height:68vh;border-radius:0;background:#fff}
.detail-matrix-loading{padding:48px 16px;text-align:center;color:#6e587f;font-weight:700}
.detail-matrix-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;font-size:.90rem;background:#fff;border-radius:0;overflow:visible;font-family:"Bahnschrift","DIN Alternate","Arial Narrow",Arial,sans-serif;--detail-name-col-width:320px;--detail-head-row-1-height:40px;--detail-head-row-2-height:34px}
.detail-matrix-table.is-measuring{visibility:hidden}
.detail-matrix-table.is-ready{visibility:visible}
.detail-matrix-table col.detail-col-name{width:var(--detail-name-col-width)}
.detail-matrix-table col.detail-col-metric{width:92px}
.detail-matrix-table.detail-matrix-table-compact col.detail-col-metric{width:var(--detail-metric-col-width,92px);min-width:var(--detail-metric-col-width,92px);max-width:var(--detail-metric-col-width,92px)}
.detail-matrix-table thead{position:relative;z-index:8}
.detail-matrix-table thead th{position:sticky;z-index:2;color:#fff;border-right:1px solid rgba(255,255,255,.20);white-space:nowrap;font-family:"Bahnschrift","DIN Alternate","Arial Narrow",Arial,sans-serif;text-transform:uppercase}
.detail-matrix-table thead tr:first-child th{top:0;z-index:5;padding:10px 10px 9px;background:#958CD6;font-size:.86rem;font-weight:800;letter-spacing:.05em;border-bottom:1px solid rgba(255,255,255,.16);text-align:center}
.detail-matrix-table thead tr:nth-child(2) th{top:var(--detail-head-row-1-height);z-index:4;padding:7px 8px;background:#A79EE1;font-size:.74rem;font-weight:700;letter-spacing:.04em;text-align:center}
.detail-matrix-table thead th.name-head{left:0;position:sticky;min-width:var(--detail-name-col-width);width:var(--detail-name-col-width);max-width:var(--detail-name-col-width);background:#867BCC !important;background-clip:padding-box;box-shadow:10px 0 18px rgba(31,17,47,.10)}
.detail-matrix-table thead tr:first-child th.name-head-top {
  top: 0;
  left: auto !important;
  position: sticky !important;
  z-index: 20 !important;
  background: #867BCC !important;
  text-align: center !important;
  padding-left: 14px !important;
  padding-right: 14px !important;
  vertical-align: middle;
  border-bottom: 1px solid rgba(255,255,255,.16);
  background-clip: padding-box !important;
}

@media (min-width: 768px) {
  .detail-matrix-table thead tr:first-child th.name-head-top {
    position: sticky !important;
    left: 0 !important;
  }
}
.detail-matrix-table thead th.name-head-sub{top:var(--detail-head-row-1-height);z-index:13;height:var(--detail-head-row-2-height);min-height:var(--detail-head-row-2-height);max-height:var(--detail-head-row-2-height);padding:7px 8px !important;color:transparent !important;border-right:1px solid rgba(255,255,255,.20)}
.detail-matrix-table thead th.month-group-head{background:#958CD6}
.detail-matrix-table thead th.total-group{background:#8F85D1 !important}
.detail-matrix-table thead th.metric-subhead{background:#A79EE1;min-width:92px;width:92px;text-align:center}
.detail-matrix-table thead th.total-col-head{background:#A79EE1 !important;min-width:92px;width:92px;text-align:center}
.detail-matrix-table.detail-matrix-table-compact thead th.metric-subhead,
.detail-matrix-table.detail-matrix-table-compact thead th.total-col-head{min-width:var(--detail-metric-col-width,92px);width:var(--detail-metric-col-width,92px)}
.detail-matrix-table tbody td{padding:9px 10px;border-bottom:1px solid #ece4ef;color:#4a3a59;background:#fff;vertical-align:middle;font-family:"Bahnschrift","DIN Alternate","Arial Narrow",Arial,sans-serif;font-size:.94rem;font-weight:400;line-height:1.08}
.detail-matrix-table tbody tr.row-parent>td{font-weight:400}
.detail-matrix-table tbody td.name-col{font-weight:800}
.detail-matrix-table tbody tr.row-depth-1 td.name-col{background:#fcf9fd}
.detail-matrix-table tbody tr.row-depth-2 td.name-col{background:#faf6fb}
.detail-matrix-table tbody tr.row-depth-3 td.name-col{background:#f6eff9}
.detail-matrix-table tbody tr:hover td{background:#faf4fc}
.detail-matrix-table tbody tr:hover td.name-col{background:#faf4fc}
.detail-matrix-table tbody td:not(.name-col){min-width:92px;width:92px;text-align:center;font-weight:400;padding-left:6px;padding-right:6px}
.detail-matrix-table.detail-matrix-table-compact tbody td:not(.name-col),
.detail-matrix-table.detail-matrix-table-compact tfoot td:not(.name-col){min-width:var(--detail-metric-col-width,92px);width:var(--detail-metric-col-width,92px)}
.detail-matrix-table .name-col{min-width:var(--detail-name-col-width);width:var(--detail-name-col-width);max-width:var(--detail-name-col-width);position:relative;left:auto;z-index:7;background:#fff;overflow:hidden;background-clip:padding-box}

@media (min-width: 768px) {
  .detail-matrix-table .name-col {
    position: sticky;
    left: 0;
  }
}
.detail-matrix-table tbody td.name-col{box-shadow:10px 0 18px rgba(31,17,47,.06);background-clip:padding-box}
.detail-matrix-modal-no-sticky-name .detail-matrix-table thead th.name-head,
.detail-matrix-modal-no-sticky-name .detail-matrix-table thead th.name-head-top,
.detail-matrix-modal-no-sticky-name .detail-matrix-table thead th.name-head-sub{
  left:auto !important;
  border-right:1px solid rgba(255,255,255,.18) !important;
  box-shadow:10px 0 18px rgba(31,17,47,.10) !important;
  background-clip:padding-box !important;
}

.detail-matrix-modal-no-sticky-name .detail-matrix-table tbody td.name-col{
  position:static !important;
  left:auto !important;
  border-right:1px solid #D9D0E6 !important;
  box-shadow:10px 0 18px rgba(31,17,47,.06) !important;
  background-clip:padding-box !important;
}
.detail-toggle{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-right:8px;border-radius:4px;border:1px solid #c9bfd4;background:#fff;color:#6b5a79;font-size:.9rem;line-height:1;cursor:pointer;vertical-align:middle;flex:0 0 18px}
.detail-toggle.is-open{background:#f2e9fa}
.detail-label{display:inline-flex;align-items:center;min-height:22px;max-width:calc(var(--detail-name-col-width) - 44px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:top}
.detail-matrix-table tbody tr.row-depth-1 td.name-col .detail-label,
.detail-matrix-table tbody tr.row-depth-2 td.name-col .detail-label,
.detail-matrix-table tbody tr.row-depth-3 td.name-col .detail-label,
.detail-matrix-table tbody tr.row-depth-4 td.name-col .detail-label{
  display:inline-block;
  max-width:calc(var(--detail-name-col-width) - 44px);
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
  overflow-wrap:anywhere;
  word-break:break-word;
  line-height:1.18;
}
.detail-label-wrap{display:inline-flex;flex-direction:column;align-items:flex-start;gap:4px;max-width:calc(var(--detail-name-col-width) - 44px);vertical-align:top}
.detail-label-main{display:inline-flex;align-items:center;max-width:100%;font-weight:800}
.detail-label-badges{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.detail-meta-badge{display:inline-flex;align-items:center;justify-content:center;min-height:20px;padding:2px 8px;border-radius:999px;font-size:.68rem;font-weight:800;letter-spacing:.05em;line-height:1;text-transform:uppercase}
.detail-meta-badge-rank{background:#F5F1FE;color:#5C4FA2;border:1px solid rgba(92,79,162,.18)}
.detail-meta-badge-status{background:#FFE4F5;color:#B4247D;border:1px solid rgba(180,36,125,.14)}
.detail-label-meta{display:block;max-width:100%;font-size:.70rem;font-weight:700;line-height:1.2;color:#7A688F;white-space:normal}
.detail-label-meta-secondary{color:#8A7A9D}
.detail-sob{position:relative;min-width:92px;width:92px;text-align:center;font-weight:400;padding:9px 6px !important;vertical-align:middle;overflow:hidden;background-clip:padding-box}
.detail-sob-bar{position:absolute;left:6px;top:50%;transform:translateY(-50%);height:18px;border-radius:0;background:#FBCEE9}
.detail-sob-text{position:relative;z-index:1;display:inline-block;width:100%;padding-right:0;line-height:1.1}
.detail-number-total{font-weight:800;font-style:normal;color:#4b3b5b}
.detail-group-spacer{background:#fff}
.detail-matrix-table tbody td.month-total-cell{background:#F5F1FE !important}
.detail-matrix-empty{padding:28px 16px;text-align:center;color:#715d84;font-weight:700}

/* =========================================
   NUEVO: ESTILOS PARA LA FILA DE TOTALES (FOOTER)
   ========================================= */
.detail-matrix-table tfoot td {
  position: sticky;
  bottom: -1px; 
  background: #F5F1FE !important; 
  font-weight: 800;
  color: #3b2752;
  border-top: 2px solid #C9BFD4;
  border-bottom: none;
  z-index: 10; 
  font-size: 17px; /* <--- NUEVO: Aquí controlas el tamaño de toda la fila. Puedes subirlo a 17px o 18px si lo quieres aún más grande */
}

.detail-matrix-table tfoot td.name-col {
  left: 0;
  position: sticky;
  z-index: 12; /* Pasa por encima del resto del footer en scroll horizontal */
  background: #EAE6F9 !important; /* Ligeramente más oscuro para diferenciar la celda ancla */
  box-shadow: 10px -4px 18px rgba(31,17,47,.08);
  background-clip: padding-box;
  font-size: 16px; /* Ajuste fino: Fuente ligeramente más grande */
  padding-left: 20px !important; /* Ajuste fino: Separación de la orilla */
}

.detail-matrix-modal-no-sticky-name .detail-matrix-table tfoot td.name-col{
  left:auto !important;
  bottom:-1px !important;
  position:sticky !important;
  z-index:12 !important;
  border-right:1px solid #D9D0E6 !important;
  background:#EAE6F9 !important;
  box-shadow:
    10px -4px 18px rgba(31,17,47,.08),
    10px 0 18px rgba(31,17,47,.06) !important;
  background-clip:padding-box !important;
}

@media (min-width: 1200px) and (max-width: 1599.98px){
  .hero-card{
    grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
    gap:16px;
  }

  .hero-right-general{
    display:flex;
    align-items:center;
  }

  .hero-general-stage{
    grid-template-columns:minmax(160px,.70fr) minmax(0,1.30fr);
    align-items:center;
    gap:6px;
    width:100%;
  }

  .hero-general-buttons{
    gap:14px;
  }

  .hero-cta-image{
    width:min(100%, 175px);
  }

  .hero-general-visual{
    justify-content:flex-start;
    margin-left:-12px;
  }

  .hero-general-visual-image{
    width:min(100%, 1120px);
    max-width:none;
    transform:scale(1.21);
    transform-origin:left center;
  }

  .hero-right-vogue{
    display:flex;
    align-items:center;
    justify-content:center;
  }

  .hero-right-vogue .hero-general-stage.hero-general-stage-single{
    grid-template-columns:minmax(0,1fr);
    gap:0;
    width:100%;
  }

  .hero-right-vogue .hero-general-visual.hero-general-visual-single{
    justify-content:center;
    margin-left:0;
  }

  .hero-right-vogue .hero-general-visual-image-vogue{
    width:min(100%, 1020px);
    max-width:100%;
    transform:scale(1.02);
    transform-origin:center center;
  }

  .hero-right-vogue .hero-page-visual-image{
    width:min(100%, 1280px);
    transform:scale(1.23);
    transform-origin:center center;
  }

  .hero-summary-bars{
    --summary-gap:10px;
  }

  .summary-bar-row{
    flex:0 1 min(84px, calc((100% - ((var(--summary-cols) - 1) * var(--summary-gap))) / var(--summary-cols)));
    width:min(84px, calc((100% - ((var(--summary-cols) - 1) * var(--summary-gap))) / var(--summary-cols)));
    grid-template-rows:auto 236px auto;
    gap:6px;
  }

  .summary-bar-track{
    width:54px;
    height:236px;
  }

  .summary-bar-top{
    padding-bottom:12px;
  }

  .summary-amount{
    font-size:.78rem;
  }

  .summary-share{
    font-size:.78rem;
  }

  .summary-participation-top{
    font-size:.78rem;
  }

  .summary-month{
    font-size:.90rem;
  }

  .summary-clients{
    font-size:.74rem;
  }

  .summary-meta{
    font-size:.74rem;
  }

  .summary-period{
    font-size:.68rem;
  }
}

@media (min-width: 1600px){
  .dashboard-body.theme-vogue .hero-card,
  .dashboard-body.theme-kotex .hero-card,
  .dashboard-body.theme-higienicos .hero-card{
    grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
    gap:16px;
  }

  .dashboard-body.theme-vogue .hero-right-vogue,
  .dashboard-body.theme-kotex .hero-right-vogue,
  .dashboard-body.theme-higienicos .hero-right-vogue{
    display:flex;
    align-items:center;
    justify-content:center;
  }

  .dashboard-body.theme-vogue .hero-right-vogue .hero-general-stage.hero-general-stage-single,
  .dashboard-body.theme-kotex .hero-right-vogue .hero-general-stage.hero-general-stage-single,
  .dashboard-body.theme-higienicos .hero-right-vogue .hero-general-stage.hero-general-stage-single{
    grid-template-columns:minmax(0,1fr);
    gap:0;
    width:100%;
  }

  .dashboard-body.theme-vogue .hero-right-vogue .hero-general-visual.hero-general-visual-single,
  .dashboard-body.theme-kotex .hero-right-vogue .hero-general-visual.hero-general-visual-single,
  .dashboard-body.theme-higienicos .hero-right-vogue .hero-general-visual.hero-general-visual-single{
    justify-content:center;
    margin-left:0;
  }

  .dashboard-body.theme-vogue .hero-right-vogue .hero-general-visual-image.hero-general-visual-image-vogue,
  .dashboard-body.theme-kotex .hero-right-vogue .hero-general-visual-image.hero-general-visual-image-vogue,
  .dashboard-body.theme-higienicos .hero-right-vogue .hero-general-visual-image.hero-general-visual-image-vogue{
    width:min(100%, 1080px) !important;
    max-width:100%;
    transform:scale(.94) !important;
    transform-origin:center center;
  }
}

@media (max-width: 1399.98px){
  .dashboard-shell-general{padding-inline:60px}
  .kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .hero-card{grid-template-columns:1fr}
  .hero-right-general{margin-top:0;margin-right:0;min-height:auto}
  .hero-actions-general{left:18px;top:18px;flex-direction:row;flex-wrap:wrap}
  .product-cottonelle{left:48px}
  .analytics-grid-general{gap:20px;padding-top:48px}
  .analytics-grid-general .panel-card{margin-top:18px;padding:22px 18px 18px}
  .panel-title-image{top:-50px}
  .panel-title-art-wide{height:38px;max-width:min(100%,380px)}
  .panel-title-art-short{height:35px;max-width:min(100%,220px)}
  .panel-title-art-shorter{height:34px;max-width:min(100%,220px)}
}

@media (max-width: 1199.98px){
  .dashboard-shell-general{padding-inline:18px}
  .analytics-grid{grid-template-columns:1fr}
  .analytics-grid-general{padding-top:42px;gap:18px}
  .analytics-grid-general .panel-card{margin-top:18px;padding:22px 18px 18px}
  .analytics-grid-general .panel-card::before{inset:5px;border-radius:16px}
  .panel-card-scrollable,.panel-card-brand{min-height:340px}
  .panel-title-image{top:-46px;width:calc(100% - 24px)}
  .panel-title-art-wide{height:36px;max-width:min(100%,360px)}
  .panel-title-art-short{height:33px;max-width:min(100%,220px)}
  .panel-title-art-shorter{height:32px;max-width:min(100%,220px)}
  .panel-scroll-body{max-height:260px}
  .panel-scroll-body-general{padding-top:8px;padding-right:8px}
  .chart-wrap-general{
    height:280px;
    min-height:280px;
    max-height:280px;
    margin-top:8px;
  }
}

@media (max-width: 991.98px){
  .side-nav{display:none}
  .app-user-pill{display:none}

  .mobile-page-switcher-wrap{
    display:block;
    margin:6px 0 14px;
    padding-inline:4px;
  }

  .page-toolbar-general{grid-template-columns:1fr;padding:6px}
  .filter-group-periods,.filter-group-months{justify-content:center;width:100%}
  .kpi-grid-general{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero-right{padding:18px}
  .hero-right-general{padding:0;margin-top:0;margin-right:0;min-height:auto}
  .hero-right-vogue{padding:0;margin-top:0;margin-right:0;min-height:auto}
  .hero-general-stage{grid-template-columns:1fr;gap:18px}
  .hero-general-buttons{align-items:center}
  .hero-general-visual-image-desktop{display:none}
  .hero-general-visual-image-mobile{display:block}
  .hero-page-visual-image-desktop{display:none}
  .hero-page-visual-image-mobile{display:block;width:min(100%,620px);max-width:100%;transform:none}
  .hero-actions-general{position:relative;left:auto;top:auto;margin-bottom:14px;justify-content:center}
  .hero-left-general{padding:0 0 12px 0}
  .hero-card-general{padding-inline:10px}
  .hero-summary-window-general{min-height:500px}
  .hero-summary-glass{inset:16px 16px 62px 16px;border-radius:22px}
  .hero-summary-frame{inset:22px 22px 68px 22px;border-radius:16px;padding:0}
  .hero-summary-frame::before{content:"";position:absolute;inset:5px;border-radius:9px;border:1.5px solid rgba(168,132,121,.40);pointer-events:none}
  .hero-summary-content{max-width:none;padding:10px 10px 10px 10px;display:flex;align-items:center;justify-content:center}
  .hero-left-general .hero-detail-trigger-general,
  .hero-left-vogue .hero-detail-trigger-vogue{margin-top:-34px !important}
  .analytics-grid-general{padding-top:36px;gap:18px}
  .analytics-grid-general .panel-card{margin-top:18px;padding:20px 18px 18px;border-radius:20px}
  .analytics-grid-general .panel-card::before{inset:5px;border-radius:14px}
  .panel-title-image{top:-40px;width:calc(100% - 20px)}
  .panel-title-art-wide{height:32px;max-width:min(100%,320px)}
  .panel-title-art-short{height:30px;max-width:min(100%,210px)}
  .panel-title-art-shorter{height:29px;max-width:min(100%,210px)}
  .bar-row{grid-template-columns:1fr;gap:6px}
  .bar-value{text-align:left}
  .detail-modal-title-art{height:44px;max-width:min(100%,320px)}
  .detail-matrix-modal .modal-dialog {
    width: auto;
    max-width: none;
    margin: 10px;
  }
  .menu-layout-col-nav{
    justify-content:center;
  }

  .menu-nav{
    align-items:center;
    text-align:center;
    padding-left:0;
  }

  .menu-button-stack{
    width:min(100%,300px);
    margin-inline:auto;
    align-items:center;
  }
}

@media (max-width: 767.98px){
  .app-brand-logo{max-width:180px;height:16px}
  .dashboard-shell-general{padding-inline:0}

  .mobile-page-switcher-wrap{
      display:block;
      margin:0 0 10px;
      padding-inline:2px;
  }

  .mobile-page-switcher{
    gap:8px;
    padding:5px 6px;
    border-radius:14px;
  }

  .mobile-page-switcher__arrow{
    width:29px;
    height:29px;
    flex:0 0 29px;
    border-radius:9px;
  }

  .mobile-page-switcher__arrow-icon{
    width:17px;
    height:17px;
  }

  .mobile-page-switcher__arrow-icon svg{
    width:17px;
    height:17px;
  }

  .mobile-page-switcher__current{
    min-height:29px;
    padding:0 10px 1px;
    border-radius:10px;
  }

  .mobile-page-switcher__current-text{
    font-size:.84rem;
    letter-spacing:.07em;
  }

  .mobile-page-switcher.is-floating{
    left:10px;
    right:10px;
  }

  .filter-group-periods,.filter-group-months{justify-content:center}
  .filter-chip{min-height:36px;padding:8px 14px;font-size:.92rem}
  .filter-chip-clear{width:100%}
  .kpi-grid-general{grid-template-columns:1fr}
  .kpi-shell-general{padding:0}
  .hero-card-general{padding-inline:0 !important}
  .hero-left-general{padding:0}
  .hero-summary-window-general{
    min-height:auto;
    height:auto;
    padding:0;
    overflow:visible;
  }

  .hero-summary-glass{
    inset:3px;
    border-radius:18px;
  }

  .hero-summary-frame{
    position:relative;
    inset:auto;
    margin:0px 0px 0px 0px;
    border-radius:12px;
    padding:0;
    overflow:visible;
    min-height:auto;
    height:auto;
  }

  .hero-summary-frame::before{
    content:"";
    position:absolute;
    inset:3px;
    border-radius:8px;
    border:1.5px solid rgba(168,132,121,.40);
    pointer-events:none;
  }

  .hero-summary-content{
    max-width:none;
    height:auto;
    min-height:auto;
    padding:12px 12px 14px 12px;
    display:flex;
    align-items:stretch;
    justify-content:flex-start;
  }

  .hero-summary-bars{
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
    align-items:stretch;
    gap:12px;
    width:100%;
    max-width:none;
    min-height:0;
    height:auto;
    margin:0;
    padding:8px 10px 14px 10px;
  }

  .summary-bar-row{
    flex:0 0 auto;
    width:100%;
    max-width:none;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-rows:auto auto;
    grid-template-areas:
      "bottom bottom"
      "track top";
    align-items:center;
    gap:8px 12px;
    min-width:0;
    min-height:0;
    height:auto;
    padding:0 4px;
  }

  .summary-bar-top{
    grid-area:top;
    display:flex;
    align-items:flex-start;
    justify-content:flex-end;
    min-height:18px;
    width:auto;
    text-align:right;
    padding-top:2px;
  }

  .summary-amount{
    display:none;
  }

  .summary-participation-top{
    display:none;
  }

  .summary-share-mobile{
    display:block;
    font-size:.70rem;
    font-weight:900;
    color:#7a6a89;
    text-align:right;
  }

  .summary-share{
    display:none;
  }

  .summary-bar-bottom{
    grid-area:bottom;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-start;
    gap:2px;
    min-height:0;
    width:100%;
    text-align:left;
    padding-top:2px;
  }

  .summary-month{
    font-size:.78rem;
    color:#726280;
    line-height:1.02;
  }

  .summary-month::after{
    display:none;
  }

  .summary-meta{
    font-size:.68rem;
    color:#a897a5;
    line-height:1.04;
  }

  .summary-meta-desktop{
    display:none;
  }

  .summary-meta-mobile{
    display:block;
  }

  .summary-period{
    font-size:.64rem;
    color:#b8aebb;
    line-height:1.02;
  }

  .summary-bar-track{
    grid-area:track;
    position:relative;
    width:100%;
    height:18px;
    border-radius:999px;
    background:linear-gradient(90deg,rgba(114,98,128,.10),rgba(114,98,128,.04));
    box-shadow:inset 0 0 0 1px rgba(114,98,128,.10);
    overflow:hidden;
  }

  .summary-bar-fill{
    position:absolute;
    inset:0 auto 0 0;
    width:var(--bar-fill) !important;
    height:100%;
    border-radius:999px;
  }

  .summary-bar-value{
    position:relative;
    z-index:1;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    padding-left:8px;
    padding-right:0;
    font-size:.62rem;
    font-weight:900;
    color:#fff;
    white-space:nowrap;
    text-shadow:0 1px 2px rgba(59,46,82,.28);
  }

  .hero-left-general .hero-detail-trigger-general,
  .hero-left-vogue .hero-detail-trigger-vogue{
    margin-top:38px !important;
    align-self:center;
  }

  .hero-detail-trigger-image{
    width:min(210px,70vw);
  }
  .hero-left,.hero-right,.panel-card{border-radius:26px}
  .hero-right-general,
  .hero-right-vogue{
    padding:0;
    margin-top:0;
    margin-right:0;
    width:100%;
    min-height:auto;
    box-sizing:border-box;
  }
  .hero-general-stage{
    grid-template-columns:1fr;
    gap:26px;
  }

  .hero-general-buttons{
    width:100%;
    align-items:center;
    justify-content:center;
    gap:12px;
  }

  .hero-cta-trigger{
    width:auto;
    justify-content:center;
    align-self:center;
  }

  .hero-cta-image{
    width:min(210px,64vw);
  }

  .hero-general-visual{
    justify-content:center;
  }

  .hero-general-visual-image-desktop{
    display:none;
  }

  .hero-general-visual-image-mobile{
    display:block;
    width:min(100%, 560px);
  }
  .hero-page-visual-image-mobile{
    display:block;
    width:min(100%, 560px);
    max-width:100%;
    transform:none;
  }

  .hero-summary-content-top3{
    gap:14px;
    padding:16px 12px 14px;
  }

  .hero-top3-title-art{
    width:min(100%,240px);
  }

  .hero-top3-table thead th,
  .hero-top3-table tbody td,
  .hero-top3-table tfoot td{
    padding:10px 10px;
  }

  .hero-top3-table tbody td{
    font-size:.92rem;
  }

  .hero-top3-rank{
    min-width:30px;
    min-height:24px;
    font-size:.72rem;
  }
  .hero-actions-general{justify-content:center}
  .hero-action{width:auto;min-width:120px;padding-left:14px}
  .artboard{min-height:auto;display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:8px}
  .art{position:static !important;width:auto !important;max-width:44%;margin:0 auto 0;filter:drop-shadow(0 12px 18px rgba(0,0,0,.12))}
  .art-title{max-width:72% !important;flex:0 0 100%;filter:none}
  .art-title-main{max-width:90% !important}
  .art-title-cottonelle,.art-title-kotex,.art-title-suavel,.art-title-petalo{max-width:42% !important;flex:0 0 auto}
  .product-cottonelle,.product-vogue,.product-kotex,.product-suavel,.product-petalo{max-width:31% !important}
  .analytics-grid-general{padding-top:30px;gap:50px}
  .analytics-grid-general .panel-card{margin-top:32px;padding:18px 16px 16px;border-radius:18px}
  .analytics-grid-general .panel-card::before{inset:4px;border-radius:12px}
  .panel-title-image{top:-54px;width:calc(100% - 18px);padding:0 8px 10px}
  .panel-title-art-wide{max-width:100%;height:32px}
  .panel-title-art-short{height:30px;max-width:min(100%,210px)}
  .panel-title-art-shorter{height:29px;max-width:min(100%,210px)}
  .panel-card-scrollable,.panel-card-brand{min-height:auto}
  .panel-scroll-body{max-height:none;overflow:visible}
  .panel-scroll-body-general{padding-top:6px;padding-right:6px}
  .chart-wrap-general{
    height:240px;
    min-height:240px;
    max-height:240px;
    margin-top:6px;
  }
  .detail-modal-shell{padding:12px}
  .detail-modal-panel-backdrop{inset:6px;border-radius:20px}
  .detail-modal-panel{padding:36px 12px 12px 12px}
  .detail-modal-close{top:10px;right:10px;width:28px;height:28px;font-size:1.1rem;border-radius:6px}
  .detail-modal-head{padding-right:0;gap:15px;align-items:center;flex-direction:column}
  .detail-modal-title-wrap{width:100%;justify-content:center;min-height:44px}
  .detail-modal-title-art{height:42px;max-width:100%}
  .detail-level-switcher{width:100%;flex-direction:column}
  .detail-level-btn{width:100%;flex:1 1 auto;text-align:center;justify-content:center}
  .detail-matrix-wrap{max-height:72vh}
  .detail-matrix-table .name-col{min-width:240px}
  .detail-matrix-table tfoot td.name-col{left:auto !important;box-shadow:none}
  .detail-matrix-modal-no-sticky-name .detail-matrix-table tfoot td.name-col{
    left:auto !important;
    bottom:-1px !important;
    position:sticky !important;
    border-right:1px solid #D9D0E6 !important;
    box-shadow:
      10px -4px 18px rgba(31,17,47,.08),
      10px 0 18px rgba(31,17,47,.06) !important;
  }
  .menu-layout-col-nav{
    justify-content:center;
  }

  .menu-nav{
    align-items:center;
    text-align:center;
    padding-left:0;
  }

  .menu-button-stack{
    width:min(100%,300px);
    margin-inline:auto;
    align-items:center;
  }
}

@media (max-width: 575.98px){
  .container-fluid.px-3.px-lg-4.py-3{padding-left:12px !important;padding-right:12px !important}
  .page-toolbar-general{gap:12px}
  .hero-card-general,.analytics-grid-general{gap:22px}
  .hero-left,.hero-right,.panel-card{padding:14px}
  .analytics-grid-general{padding-top:26px;gap:50px}
  .analytics-grid-general .panel-card{margin-top:30px;padding:16px 14px 14px}
  .panel-title-image{top:-50px}
  .panel-title-art-wide{height:30px}
  .panel-title-art-short{height:28px}
  .panel-title-art-shorter{height:27px}
  .hero-left-general{padding:0}
  .hero-summary-window{padding:12px;border-radius:24px}
  .hero-summary-inner{padding:12px;border-radius:18px}
  .detail-level-btn{flex:1 1 100%}
  .menu-layout-col-nav{
    justify-content:center;
  }

  .menu-nav{
    align-items:center;
    text-align:center;
    padding-left:0;
  }

  .menu-button-stack{
    width:min(100%,300px);
    margin-inline:auto;
    align-items:center;
  }
}

/* ==========================================================================
   FANCYBOX
   - Oculta caption en todas las vistas
   - Oculta flechas laterales sólo en móvil
   ========================================================================== */

.fancybox__container .fancybox__caption,
.fancybox__container .f-carousel__caption,
.fancybox__container .fancybox__footer .fancybox__caption {
  display: none !important;
}

@media (max-width: 991.98px) {
  .fancybox__container .f-button.is-prev,
  .fancybox__container .f-button.is-next,
  .fancybox__container button.is-prev,
  .fancybox__container button.is-next,
  .fancybox__container .f-carousel__button.is-prev,
  .fancybox__container .f-carousel__button.is-next,
  .fancybox__container [data-carousel-prev],
  .fancybox__container [data-carousel-next],
  .fancybox__container [data-fancybox-prev],
  .fancybox__container [data-fancybox-next] {
    display: none !important;
    pointer-events: none !important;
  }
}

/* ==========================================================================
   PREMIUM NAVBAR
   ========================================================================== */

.app-navbar{
  background:rgba(34,13,72,.88);
  backdrop-filter:blur(16px) saturate(130%);
  -webkit-backdrop-filter:blur(16px) saturate(130%);
  border-bottom:1px solid rgba(255,255,255,.08);
  box-shadow:0 12px 32px rgba(12,6,32,.20);
}

.app-navbar > .container-fluid{
  align-items:center;
}

.app-brand{
  position:relative;
  z-index:3;
}

.app-brand-logo{
  display:block;
  width:auto;
  height:18px;
  max-width:100%;
  object-fit:contain;
  filter:drop-shadow(0 1px 0 rgba(255,255,255,.04));
}

.app-navbar-toggler{
  position:relative;
  width:42px;
  height:42px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition:
    opacity .24s cubic-bezier(.22,1,.36,1),
    transform .24s cubic-bezier(.22,1,.36,1);
}

.app-navbar-toggler:hover{
  transform:none;
  opacity:.88;
  box-shadow:none;
  background:transparent;
}

.app-navbar-toggler:focus{
  box-shadow:none;
  background:transparent;
}

.app-navbar-toggler:focus:not(:focus-visible){
  box-shadow:none;
}

.app-navbar-toggler .navbar-toggler-icon{
  display:none;
}

.app-navbar-toggler-box{
  position:relative;
  width:26px;
  height:18px;
  display:block;
}

.app-navbar-toggler-line{
  position:absolute;
  left:0;
  right:0;
  height:2.25px;
  border-radius:999px;
  background:rgba(255,255,255,.96);
  transform-origin:center;
  transition:
    top .32s cubic-bezier(.22,1,.36,1),
    transform .32s cubic-bezier(.22,1,.36,1),
    opacity .18s ease,
    background .28s cubic-bezier(.22,1,.36,1);
}

.app-navbar-toggler-line:nth-child(1){
  top:0;
}

.app-navbar-toggler-line:nth-child(2){
  top:7.5px;
}

.app-navbar-toggler-line:nth-child(3){
  top:15px;
}

.app-navbar-toggler[aria-expanded="true"]{
  background:transparent;
  border-color:transparent;
  box-shadow:none;
}

.app-navbar-toggler[aria-expanded="true"] .app-navbar-toggler-line{
  background:rgba(255,255,255,.96);
}

.app-navbar-toggler[aria-expanded="true"] .app-navbar-toggler-line:nth-child(1){
  top:7.5px;
  transform:rotate(45deg);
}

.app-navbar-toggler[aria-expanded="true"] .app-navbar-toggler-line:nth-child(2){
  opacity:0;
  transform:scaleX(.35);
}

.app-navbar-toggler[aria-expanded="true"] .app-navbar-toggler-line:nth-child(3){
  top:7.5px;
  transform:rotate(-45deg);
}

.app-season-switcher{
  gap:10px;
}

.app-season-switcher .btn{
  min-width:60px;
  min-height:38px;
  border-radius:16px;
  padding:.45rem .9rem;
  font-family:"Bahnschrift","DIN Alternate","Arial Narrow",Arial,sans-serif;
  font-size:.92rem;
  font-weight:800;
  letter-spacing:.02em;
  transition:
    transform .24s cubic-bezier(.22,1,.36,1),
    background .24s cubic-bezier(.22,1,.36,1),
    border-color .24s cubic-bezier(.22,1,.36,1),
    box-shadow .24s cubic-bezier(.22,1,.36,1),
    color .24s cubic-bezier(.22,1,.36,1);
}

.app-season-switcher .btn:hover{
  transform:translateY(-1px);
}

.app-season-switcher .btn.btn-outline-light{
  border-color:rgba(255,255,255,.68);
  background:transparent;
  color:#fff;
}

.app-season-switcher .btn.btn-light{
  background:linear-gradient(180deg,#ffffff 0%, #f2f1f7 100%);
  border-color:rgba(255,255,255,.88);
  color:#26174a !important;
  box-shadow:0 10px 20px rgba(10,8,24,.12);
}

.app-nav-links{
  gap:8px;
}

.app-nav-links .nav-item{
  display:flex;
  align-items:center;
}

.app-nav-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:.55rem .95rem !important;
  border-radius:999px;
  color:rgba(255,255,255,.94) !important;
  font-family:"Bahnschrift","DIN Alternate","Arial Narrow",Arial,sans-serif;
  font-size:.98rem;
  font-weight:700;
  letter-spacing:.01em;
  border:1px solid transparent;
  background:transparent;
  transition:
    transform .24s cubic-bezier(.22,1,.36,1),
    background .24s cubic-bezier(.22,1,.36,1),
    border-color .24s cubic-bezier(.22,1,.36,1),
    color .24s cubic-bezier(.22,1,.36,1),
    box-shadow .24s cubic-bezier(.22,1,.36,1);
}

.app-nav-link:hover,
.app-nav-link:focus-visible{
  background:rgba(255,255,255,.10);
  border-color:rgba(255,255,255,.14);
  color:#fff !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}

.app-user-pill{
  padding:.45rem .78rem;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.10);
  color:rgba(255,255,255,.88);
  font-family:"Bahnschrift","DIN Alternate","Arial Narrow",Arial,sans-serif;
  font-weight:600;
}

.app-logout-button{
  min-height:40px;
  border-radius:999px;
  padding:.5rem .95rem;
  font-weight:700;
  border-color:rgba(255,255,255,.72) !important;
  background:transparent;
  color:#fff !important;
  transition:
    transform .24s cubic-bezier(.22,1,.36,1),
    background .24s cubic-bezier(.22,1,.36,1),
    border-color .24s cubic-bezier(.22,1,.36,1),
    box-shadow .24s cubic-bezier(.22,1,.36,1);
}

.app-logout-button:hover,
.app-logout-button:focus-visible{
  transform:translateY(-1px);
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.88) !important;
  box-shadow:0 10px 22px rgba(10,8,24,.14);
  color:#fff !important;
}

@media (max-width: 991.98px){
  .app-navbar > .container-fluid{
    padding-top:6px;
    padding-bottom:6px;
    row-gap:8px;
  }

  .app-brand{
    min-height:34px;
  }

  .app-brand-logo{
    max-width:min(220px, 100%);
    height:18px;
  }

  .app-navbar-toggler{
    width:42px;
    height:42px;
    border-radius:0;
    margin-left:auto;
  }

  .app-navbar-collapse{
    width:100%;
    margin-top:12px;
    padding:14px 10px 12px;
    border-radius:24px;
    background:linear-gradient(180deg,rgba(255,255,255,.12) 0%, rgba(255,255,255,.08) 100%);
    border:1px solid rgba(255,255,255,.12);
    box-shadow:0 18px 36px rgba(9,4,23,.16), inset 0 1px 0 rgba(255,255,255,.10);
    backdrop-filter:blur(14px) saturate(120%);
    -webkit-backdrop-filter:blur(14px) saturate(120%);
  }

  .app-season-switcher{
    justify-content:center;
    width:100%;
    margin:0 0 10px 0 !important;
  }

  .app-season-switcher .btn{
    min-width:64px;
    min-height:42px;
  }

  .app-nav-links{
    width:100%;
    align-items:center !important;
    gap:10px !important;
  }

  .app-nav-links .nav-item{
    width:100%;
    justify-content:center;
  }

  .app-nav-link,
  .app-logout-button{
    width:min(100%,280px);
    min-height:48px;
    border-radius:18px;
    padding:.75rem 1rem !important;
  }

  .app-nav-link{
    background:linear-gradient(180deg,rgba(255,255,255,.12) 0%, rgba(255,255,255,.07) 100%);
    border-color:rgba(255,255,255,.14);
    box-shadow:0 10px 22px rgba(14,7,32,.12), inset 0 1px 0 rgba(255,255,255,.12);
  }

  .app-nav-link:hover,
  .app-nav-link:focus-visible{
    background:linear-gradient(180deg,rgba(255,255,255,.16) 0%, rgba(255,255,255,.10) 100%);
    border-color:rgba(255,255,255,.20);
    box-shadow:0 12px 26px rgba(14,7,32,.16), inset 0 1px 0 rgba(255,255,255,.15);
  }

  .app-user-pill{
    margin-top:2px;
    background:rgba(255,255,255,.08);
  }
}

@media (min-width: 992px){
  .app-navbar > .container-fluid{
    min-height:48px;
  }

  .app-navbar-collapse{
    display:flex !important;
    align-items:center;
  }
}

/* ==========================================================================
   EXPORT CONTEXT MENU
   ========================================================================== */

.export-context-menu{
  position:fixed;
  left:0;
  top:0;
  z-index:2000;
  width:min(280px, calc(100vw - 20px));
  padding:10px;
  border-radius:14px;
  background:rgba(31,22,58,.94);
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 18px 40px rgba(8,6,18,.28);
  backdrop-filter:blur(18px) saturate(130%);
  -webkit-backdrop-filter:blur(18px) saturate(130%);
  color:#fff;
}

.export-context-menu[hidden]{
  display:none !important;
}

.export-context-menu__header{
  padding:4px 6px 10px;
  margin-bottom:8px;
  border-bottom:1px solid rgba(255,255,255,.08);
}

.export-context-menu__eyebrow{
  font-size:.72rem;
  line-height:1;
  letter-spacing:.10em;
  text-transform:uppercase;
  color:rgba(255,255,255,.56);
  margin-bottom:6px;
}

.export-context-menu__title{
  font-family:"Bahnschrift","DIN Alternate","Arial Narrow",Arial,sans-serif;
  font-size:1rem;
  font-weight:700;
  line-height:1.2;
  color:#fff;
}

.export-context-menu__actions{
  display:flex;
  flex-direction:column;
  gap:6px;
}

.export-context-menu__divider{
  height:1px;
  margin:6px 4px 2px;
  background:rgba(255,255,255,.10);
  border:0;
  pointer-events:none;
}

.export-context-menu__item{
  width:100%;
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:10px 12px;
  border:0;
  border-radius:10px;
  background:transparent;
  color:#fff;
  text-align:left;
  transition:
    background .20s ease,
    transform .20s ease,
    box-shadow .20s ease;
}

.export-context-menu__item:hover,
.export-context-menu__item:focus-visible{
  background:linear-gradient(180deg,rgba(255,255,255,.08) 0%, rgba(255,255,255,.04) 100%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.07);
  transform:translateY(-1px);
}

.export-context-menu__icon{
  flex:0 0 auto;
  width:18px;
  height:18px;
  margin-top:2px;
  color:#ff56bc;
}

.export-context-menu__icon svg{
  width:18px;
  height:18px;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
  display:block;
}

.export-context-menu__copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:2px;
}

.export-context-menu__label{
  display:block;
  font-family:"Bahnschrift","DIN Alternate","Arial Narrow",Arial,sans-serif;
  font-size:.96rem;
  font-weight:700;
  line-height:1.15;
  color:#fff;
}

.export-context-menu__hint{
  display:block;
  font-size:.78rem;
  line-height:1.2;
  color:rgba(255,255,255,.62);
}

[data-exportable][data-export-target].is-export-capturing,
[data-exportable][data-export-target].is-export-capturing *{
  animation:none !important;
  transition:none !important;
}

[data-exportable][data-export-target].is-export-capturing .panel-scroll-body{
  scrollbar-width:none;
}

[data-exportable][data-export-target].is-export-capturing .panel-scroll-body::-webkit-scrollbar{
  display:none;
}

@media (hover:hover) and (pointer:fine){
  [data-exportable][data-export-target]{
    cursor:context-menu;
  }
}

@media (max-width: 575.98px){
  .export-context-menu{
    width:min(250px, calc(100vw - 16px));
    padding:8px;
    border-radius:12px;
  }

  .export-context-menu__header{
    padding:4px 5px 9px;
    margin-bottom:6px;
  }

  .export-context-menu__item{
    padding:10px 11px;
    border-radius:9px;
  }

  .export-context-menu__label{
    font-size:.92rem;
  }

  .export-context-menu__hint{
    font-size:.76rem;
  }
}
