/* ========================================================================== 
   Descubriendo Asia Hub — identidad visual 2.1
   Inspirada en descubriendoasia.es: negro editorial, rojo carmín y blanco.
   ========================================================================== */
:root{
  --brand-red:#c41230;
  --brand-red-deep:#9f0f27;
  --brand-red-soft:#f8e7eb;
  --brand-black:#080808;
  --brand-black-2:#151515;
  --brand-charcoal:#282526;
  --brand-paper:#f5f3f2;
  --brand-white:#ffffff;
  --brand-muted:#7d7678;
  --brand-line:#e5dfe1;
  --brand-shadow:0 18px 48px rgba(24,10,14,.09);
  --brand-shadow-strong:0 24px 70px rgba(24,10,14,.14);
}
html{background:var(--brand-paper)}
body{
  font-family:"Roboto",Arial,sans-serif!important;
  color:var(--brand-black);
  background:
    linear-gradient(90deg,rgba(196,18,48,.025) 1px,transparent 1px),
    linear-gradient(rgba(196,18,48,.025) 1px,transparent 1px),
    var(--brand-paper)!important;
  background-size:40px 40px!important;
}
body::before,body::after{display:none!important}
h1,h2,h3,h4,h5,h6,.topbar-title h1,.section-hero h2,.hero-copy h2,.panel-header h2,.brand-product,.button,.nav-link,.nav-section,.badge,.status-pill,.media-state,.eyebrow{
  font-family:"Roboto Condensed","Arial Narrow",Arial,sans-serif!important;
}
::selection{background:var(--brand-red);color:#fff}

/* Shell */
.app-shell{
  width:min(1880px,calc(100% - 18px))!important;
  min-height:calc(100vh - 18px)!important;
  margin:9px auto!important;
  padding:0!important;
  gap:0!important;
  border:1px solid #ded7d9!important;
  border-top:4px solid var(--brand-red)!important;
  border-radius:24px!important;
  background:var(--brand-white)!important;
  backdrop-filter:none!important;
  box-shadow:var(--brand-shadow-strong)!important;
  overflow:hidden;
}
.main-content{
  min-height:calc(100vh - 22px)!important;
  background:#f7f5f4!important;
  border-radius:0!important;
  overflow:hidden!important;
}

/* Brand / sidebar */
.sidebar{
  min-height:calc(100vh - 22px)!important;
  padding:19px 14px 16px!important;
  color:#fff!important;
  background:var(--brand-black)!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  scrollbar-color:#4b4144 transparent;
}
.sidebar-brand-row{align-items:flex-start!important;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:15px;margin-bottom:8px}
.brand-site{
  position:relative;
  display:flex!important;
  align-items:center!important;
  min-width:0;
  padding:0 4px!important;
  gap:9px!important;
}
.brand-wordmark{width:154px;height:auto;object-fit:contain;flex:0 1 auto}
.brand-emblem{display:none;width:48px;height:48px;object-fit:contain}
.brand-product{
  align-self:flex-end;
  margin:0 0 8px -3px;
  padding:3px 6px 2px;
  color:#fff;
  background:var(--brand-red);
  border-radius:4px;
  font-size:9px;
  line-height:1;
  font-weight:900;
  letter-spacing:.14em;
}
.sidebar-collapse{color:#aaa!important;border-color:rgba(255,255,255,.14)!important;background:rgba(255,255,255,.05)!important}
.sidebar-collapse:hover{color:#fff!important;background:rgba(196,18,48,.22)!important;border-color:rgba(196,18,48,.55)!important}
.nav-main{gap:2px!important}
.nav-section{
  margin:17px 12px 6px!important;
  color:#777173!important;
  font-size:9px!important;
  font-weight:800!important;
  letter-spacing:.17em!important;
}
.nav-link{
  position:relative;
  min-height:40px!important;
  padding:9px 12px!important;
  color:#c9c3c5!important;
  border-radius:8px!important;
  font-size:13px!important;
  font-weight:600!important;
  letter-spacing:.005em;
}
.nav-link svg{width:17px!important;height:17px!important;stroke-width:1.7!important}
.nav-link:hover{color:#fff!important;background:#191718!important;transform:none!important}
.nav-link.active{
  color:#fff!important;
  background:#1d191a!important;
  box-shadow:none!important;
  font-weight:800!important;
}
.nav-link.active::before{
  content:"";
  position:absolute;
  left:0;top:8px;bottom:8px;
  width:3px;
  border-radius:0 3px 3px 0;
  background:var(--brand-red);
}
.nav-badge{background:var(--brand-red)!important;color:#fff!important;border:0!important}
.sidebar-footer{border-top:1px solid rgba(255,255,255,.1);margin-top:auto!important;padding-top:14px!important}
.admin-link,.sidebar-version{color:#777173!important}
.user-card{background:#171516!important;border:1px solid rgba(255,255,255,.1)!important}
.avatar{background:var(--brand-red)!important;color:#fff!important}
.user-copy strong{color:#fff!important}.user-copy small{color:#8f888a!important}
.icon-button.inverse{color:#aaa!important;background:transparent!important;border-color:rgba(255,255,255,.1)!important}
.icon-button.inverse:hover{color:#fff!important;background:var(--brand-red)!important}

body.sidebar-collapsed .brand-wordmark,body.sidebar-collapsed .brand-product{display:none!important}
body.sidebar-collapsed .brand-emblem{display:block!important}
body.sidebar-collapsed .brand-site{justify-content:center!important}

/* Top bar */
.topbar{
  min-height:88px!important;
  padding:17px 27px!important;
  background:rgba(247,245,244,.96)!important;
  border-bottom:1px solid var(--brand-line)!important;
  box-shadow:0 1px 0 rgba(255,255,255,.9)!important;
}
.topbar-title .eyebrow{display:block!important;color:var(--brand-red)!important;font-size:9px!important;letter-spacing:.18em!important}
.topbar-title h1{
  margin-top:3px!important;
  color:var(--brand-black)!important;
  font-size:31px!important;
  line-height:1!important;
  letter-spacing:-.035em!important;
  font-weight:800!important;
}
.top-actions{gap:9px!important}
.page-content{padding:23px 27px 40px!important}

/* Buttons and controls */
.button{
  min-height:41px!important;
  border-radius:8px!important;
  font-size:12px!important;
  font-weight:800!important;
  letter-spacing:.01em;
}
.button-primary{background:var(--brand-black)!important;border-color:var(--brand-black)!important;color:#fff!important}
.button-primary:hover{background:var(--brand-red)!important;border-color:var(--brand-red)!important;box-shadow:0 9px 22px rgba(196,18,48,.2)!important}
.button-secondary{background:#fff!important;border-color:#ddd5d7!important;color:var(--brand-black)!important}
.button-secondary:hover{border-color:var(--brand-red)!important;color:var(--brand-red)!important;background:#fff!important}
.button-ghost{color:#6f696b!important}.button-ghost:hover{color:var(--brand-red)!important;background:var(--brand-red-soft)!important}
.button-light{background:#fff!important;color:var(--brand-black)!important;border-color:#fff!important}
.button-light:hover{color:var(--brand-red)!important}
.button-glass{background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.22)!important}
.button-danger{background:#fff!important;border-color:#e9b4bf!important;color:#a70e29!important}
.icon-button{border-radius:8px!important}.icon-button:hover{color:var(--brand-red)!important;background:var(--brand-red-soft)!important}
kbd{border-color:#ddd5d7!important;background:#f3efef!important;color:#6f696b!important}
input,select,textarea,.search-field{
  border-radius:8px!important;
  border-color:#ddd5d7!important;
  background:#fff!important;
}
input:focus,select:focus,textarea:focus{border-color:var(--brand-red)!important;box-shadow:0 0 0 3px rgba(196,18,48,.1)!important}

/* Cards / common surfaces */
.section-hero,.panel,.page-toolbar,.quick-kpi,.media-card,.library-card,.catalog-card,.catalog-section,.form-panel,.detail-card,.kanban-column,.launch-card,.empty-state,.metric-card,.table-shell{
  border-color:#e5dfe1!important;
  box-shadow:0 10px 30px rgba(30,10,15,.055)!important;
}
.section-hero{
  position:relative;
  overflow:hidden;
  background:#fff!important;
  border-radius:16px!important;
}
.section-hero::before{
  content:"";
  position:absolute;left:0;top:0;bottom:0;width:4px;
  background:var(--brand-red);
}
.section-hero h2{font-size:27px!important;font-weight:800!important;letter-spacing:-.025em!important}
.section-hero p{color:var(--brand-muted)!important;font-size:12px!important}
.panel,.quick-kpi,.page-toolbar{background:#fff!important;border-radius:14px!important}
.panel-header h2{font-size:19px!important;font-weight:800!important}
.eyebrow{color:var(--brand-red)!important;font-size:9px!important;font-weight:900!important;letter-spacing:.16em!important}
.text-link{color:var(--brand-red)!important;font-size:11px!important;font-weight:800!important}
.text-link:hover{text-decoration:underline}

/* Dashboard */
.dashboard-hero-grid{gap:15px!important}
.hero-card{border-radius:17px!important}
.hero-primary{
  background:
    radial-gradient(circle at 89% 18%,rgba(196,18,48,.28),transparent 28%),
    linear-gradient(135deg,#080808 0%,#171314 100%)!important;
  border:0!important;
  box-shadow:0 20px 50px rgba(8,8,8,.18)!important;
}
.hero-primary::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:var(--brand-red);
}
.hero-copy h2{font-size:43px!important;line-height:.95!important;font-weight:800!important;letter-spacing:-.04em!important}
.hero-copy p{font-size:13px!important;color:#c8c2c4!important}
.hero-focus{background:#fff!important;border-top:4px solid var(--brand-red)!important}
.focus-number{color:var(--brand-black)!important;font-family:"Roboto Condensed",sans-serif!important}
.gauge span,.bar-fill{background:var(--brand-red)!important}
.insight-link{background:#f3eeee!important;color:var(--brand-black)!important}
.insight-link:hover{color:var(--brand-red)!important}
.quick-kpi{border-top:2px solid transparent!important}
.quick-kpi:hover{border-top-color:var(--brand-red)!important;transform:translateY(-2px)!important}
.quick-kpi strong{font-family:"Roboto Condensed",sans-serif!important;font-weight:800!important}
.kpi-arrow{color:var(--brand-red)!important;background:var(--brand-red-soft)!important}
.review-index,.date-box{background:#f3eeee!important;color:var(--brand-red)!important}

/* Library / media */
.media-grid,.library-grid{gap:18px!important}
.media-card,.library-card{background:#fff!important;border-radius:14px!important}
.media-card:hover,.library-card:hover{border-color:rgba(196,18,48,.35)!important;box-shadow:0 18px 40px rgba(39,9,16,.11)!important}
.media-card h3,.library-card h3{font-family:"Roboto Condensed",sans-serif!important;font-size:18px!important;font-weight:800!important}
.media-cover,.library-cover{background:#eae5e6!important}
.favorite-mark{background:var(--brand-red)!important}
.badge,.status-pill,.media-state{font-size:9px!important;font-weight:800!important}
.badge:not(.badge-danger):not(.badge-success):not(.badge-warning),.status-pill{background:#f2edef!important;color:#4e484a!important}

/* Tables and lists */
.data-table thead th,.table-head{
  color:#766f71!important;
  background:#f7f3f4!important;
  font-family:"Roboto Condensed",sans-serif!important;
  font-size:10px!important;
  letter-spacing:.11em!important;
}
.data-table tbody tr:hover,.table-row:hover{background:#fff7f8!important}
.catalog-row,.review-row,.timeline-item{border-color:#eee8e9!important}
.catalog-row:hover{border-color:#e9bcc5!important;background:#fff8f9!important}

/* Ideas / production */
.idea-card,.content-card{border-radius:12px!important;background:#fff!important}
.idea-card:hover,.content-card:hover{border-color:#e5a6b3!important}
.kanban-column{background:#f1edef!important;border-radius:14px!important}
.kanban-column-header::before{background:var(--brand-red)!important}
.kanban-card{background:#fff!important;border-radius:10px!important;border-color:#e7dfe1!important}
.kanban-card:hover{border-color:#dc8c9d!important;box-shadow:0 12px 26px rgba(43,10,17,.09)!important}

/* Calendar */
.calendar-day.today{box-shadow:inset 0 0 0 2px var(--brand-red)!important}
.calendar-event{border-left-color:var(--brand-red)!important;background:var(--brand-red-soft)!important;color:#711023!important}

/* Modals / search */
.modal-backdrop{background:rgba(0,0,0,.7)!important;backdrop-filter:blur(7px)!important}
.modal-card,.search-dialog{border-radius:14px!important;border:1px solid #e2dadd!important;box-shadow:0 30px 90px rgba(10,4,6,.3)!important}
.search-dialog::before,.modal-card::before{content:"";display:block;height:4px;background:var(--brand-red)}
.search-result:hover,.search-result[aria-selected="true"]{background:#fff2f5!important}
.search-result-type{color:var(--brand-red)!important}

/* Login */
.login-page{
  min-height:100vh;
  background:
    linear-gradient(rgba(0,0,0,.58),rgba(0,0,0,.76)),
    radial-gradient(circle at 18% 20%,rgba(196,18,48,.45),transparent 28%),
    #080808!important;
}
.login-card{
  overflow:hidden;
  border-radius:18px!important;
  border:1px solid rgba(255,255,255,.12)!important;
  background:#fff!important;
  box-shadow:0 34px 100px rgba(0,0,0,.45)!important;
}
.login-brand-site{
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  align-items:flex-start;
  min-height:240px;
  padding:36px;
  background:linear-gradient(145deg,#080808,#1a1113);
  border-bottom:5px solid var(--brand-red);
}
.login-brand-site img{width:210px;height:auto}
.login-brand-site span{margin-top:15px;color:#fff;font-family:"Roboto Condensed",sans-serif;font-size:11px;font-weight:800;letter-spacing:.22em}
.login-copy .eyebrow{color:var(--brand-red)!important}
.login-copy h1{font-family:"Roboto Condensed",sans-serif!important;font-weight:900!important}
.login-note{color:#817a7c!important}

/* Scrollbars */
*{scrollbar-width:thin;scrollbar-color:#b5aaad transparent}
*::-webkit-scrollbar{width:8px;height:8px}
*::-webkit-scrollbar-track{background:transparent}
*::-webkit-scrollbar-thumb{background:#b5aaad;border:2px solid transparent;background-clip:padding-box;border-radius:999px}
*::-webkit-scrollbar-thumb:hover{background:var(--brand-red);border:2px solid transparent;background-clip:padding-box}

/* Responsive */
@media(max-width:1180px){
  .brand-wordmark{width:136px}
  .topbar-title h1{font-size:27px!important}
}
@media(max-width:860px){
  .app-shell{width:100%!important;min-height:100vh!important;margin:0!important;border:0!important;border-top:4px solid var(--brand-red)!important;border-radius:0!important}
  .sidebar{min-height:100vh!important}
  .main-content{min-height:100vh!important}
  .page-content{padding:18px 16px 34px!important}
  .topbar{padding:14px 16px!important}
  .topbar-title h1{font-size:25px!important}
  .brand-wordmark{width:150px}
}
@media(max-width:560px){
  .topbar-title .eyebrow{display:none!important}
  .topbar-title h1{font-size:23px!important}
  .hero-copy h2{font-size:35px!important}
  .section-hero h2{font-size:23px!important}
  .page-content{padding-inline:12px!important}
}

/* Login structure */
.login-card{grid-template-columns:minmax(300px,.9fr) minmax(360px,1.1fr)!important}
.login-brand-site{min-height:560px!important;padding:42px!important;justify-content:center!important}
.login-brand-site p{max-width:330px;margin:24px 0 0;color:#aaa2a5;font-size:13px;line-height:1.65}
.login-access-panel{display:flex;flex-direction:column;justify-content:center;padding:48px;background:#fff}
.login-access-panel .login-copy{padding:0 0 24px!important;background:transparent!important;color:var(--brand-black)!important}
.login-access-panel .login-copy h1{margin:5px 0 10px;color:var(--brand-black)!important;font-size:44px!important;line-height:1!important}
.login-access-panel .login-copy p{color:var(--brand-muted)!important;font-size:13px!important}
.login-access-panel .login-form{padding:0!important;background:transparent!important}
.login-access-panel .login-note{margin-top:18px}
@media(max-width:720px){
  .login-card{grid-template-columns:1fr!important}
  .login-brand-site{min-height:210px!important;padding:30px!important}
  .login-brand-site p{display:none}
  .login-access-panel{padding:32px 24px}
}

/* ========================================================================== 
   Descubriendo Asia Hub 2.1.1 — estabilidad del marco y navegación
   - elimina la franja roja superior
   - mantiene menú y cabecera visibles mientras se desplaza el contenido
   - evita el scroll doble de la página
   ========================================================================== */
@media (min-width:861px){
  html,
  body[data-design="v2"]{
    height:100%;
    min-height:100%;
    overflow:hidden!important;
  }

  body[data-design="v2"] .app-shell{
    height:calc(100dvh - 18px)!important;
    min-height:0!important;
    border:1px solid #ded7d9!important;
    border-top-color:#ded7d9!important;
    overflow:hidden!important;
  }

  body[data-design="v2"] .sidebar{
    position:relative!important;
    top:auto!important;
    height:100%!important;
    min-height:0!important;
    overflow:hidden!important;
  }

  body[data-design="v2"] .nav-main{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
  }

  body[data-design="v2"] .sidebar-footer{
    flex:0 0 auto!important;
  }

  body[data-design="v2"] .main-content{
    height:100%!important;
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain;
    scrollbar-gutter:stable;
  }

  body[data-design="v2"] .topbar{
    position:sticky!important;
    top:0!important;
    z-index:80!important;
    box-shadow:0 10px 28px rgba(24,10,14,.055)!important;
  }
}

/* La marca queda limpia: el isotipo solo aparece cuando el menú está contraído. */
body[data-design="v2"]:not(.sidebar-collapsed) .brand-emblem{display:none!important}
body[data-design="v2"]:not(.sidebar-collapsed) .brand-wordmark{display:block!important}
body[data-design="v2"] .sidebar-brand-row{position:relative}
body[data-design="v2"] .sidebar-collapse{
  position:absolute!important;
  top:1px!important;
  right:0!important;
  z-index:3!important;
  width:32px!important;
  height:32px!important;
  border-radius:8px!important;
}
body[data-design="v2"]:not(.sidebar-collapsed) .brand-site{padding-right:38px!important}
body[data-design="v2"].sidebar-collapsed .sidebar-brand-row{padding-right:0!important}

@media(max-width:860px){
  html,
  body[data-design="v2"]{
    height:100%;
    min-height:100%;
    overflow:hidden!important;
  }
  body[data-design="v2"] .app-shell{
    height:100dvh!important;
    min-height:0!important;
    border:0!important;
    border-top:0!important;
    overflow:hidden!important;
  }
  body[data-design="v2"] .main-content{
    height:100dvh!important;
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain;
  }
  body[data-design="v2"] .topbar{
    position:sticky!important;
    top:0!important;
    z-index:80!important;
  }
  body[data-design="v2"] .sidebar{
    height:100dvh!important;
    min-height:0!important;
  }
}
