
:root{
  --bg:#0a0b0d; --panel:#101216; --panel-2:#15181d; --line:rgba(255,255,255,.075);
  --text:#f4f5f7; --muted:#969da8; --yellow:#ffc400; --green:#5edb91;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--bg);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--text)}
body{min-height:100vh;overflow:hidden}
a{text-decoration:none;color:inherit}
.portal{height:100vh;display:grid;grid-template-columns:minmax(390px,43%) 1fr;overflow:hidden}

/* LEFT */
.identity-panel{position:relative;overflow:hidden;background:
radial-gradient(circle at 25% 20%,rgba(255,196,0,.12),transparent 35%),
linear-gradient(145deg,#111318,#090a0c 72%);border-right:1px solid var(--line);
padding:42px 48px;display:flex;flex-direction:column;justify-content:space-between}
.grid-overlay{position:absolute;inset:0;background-image:
linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
background-size:42px 42px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.7),transparent 90%);pointer-events:none}
.ambient{position:absolute;border-radius:50%;filter:blur(1px);pointer-events:none}
.ambient-a{width:330px;height:330px;left:-100px;bottom:-100px;background:radial-gradient(circle,rgba(255,196,0,.16),transparent 66%)}
.ambient-b{width:240px;height:240px;right:-80px;top:30%;background:radial-gradient(circle,rgba(255,255,255,.045),transparent 70%)}
.identity-top,.identity-content,.identity-bottom{position:relative;z-index:2}
.brand{display:flex;align-items:center;gap:14px}
.brand-mark{width:48px;height:48px;border:1px solid rgba(255,196,0,.28);border-radius:15px;background:rgba(255,255,255,.035);display:grid;place-items:center}
.brand-mark svg{width:30px;fill:white}.brand-mark .accent{fill:var(--yellow)}
.brand strong{display:block;font-size:16px;letter-spacing:.14em}.brand span{display:block;margin-top:5px;color:var(--muted);font-size:11px}
.eyebrow{font-size:10px;font-weight:800;letter-spacing:.19em;color:#d4d7dc;display:flex;align-items:center;gap:10px}
.eyebrow span{width:25px;height:2px;background:var(--yellow)}
h1{font-size:clamp(42px,4.2vw,66px);line-height:1;letter-spacing:-.05em;margin:16px 0 20px}
h1 em{font-style:normal;color:var(--yellow)}
.identity-content>p{max-width:560px;font-size:15px;line-height:1.7;color:#aeb4bd;margin:0}
.metrics{display:flex;gap:12px;margin-top:30px}
.metrics div{min-width:130px;padding:15px 16px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.025)}
.metrics strong{display:block;color:var(--yellow);font-size:24px}.metrics span{font-size:10px;color:var(--muted)}
.identity-bottom{font-size:11px;color:#9ca3ad;display:flex;align-items:center;gap:9px}
.status-dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 5px rgba(94,219,145,.08)}

/* RIGHT */
.links-panel{background:linear-gradient(180deg,#0e1013,#0b0c0e);padding:34px 38px 24px;display:flex;flex-direction:column;min-width:0}
.links-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:20px}
.micro{font-size:9px;letter-spacing:.18em;color:var(--yellow);font-weight:800}
.links-head h2{margin:5px 0 0;font-size:27px;letter-spacing:-.035em}
.legend{display:flex;gap:13px;color:#7e8590;font-size:9px;text-transform:uppercase;letter-spacing:.08em}
.legend i{width:6px;height:6px;border-radius:50%;display:inline-block;margin-right:5px}.legend .live{background:var(--green)}.legend .admin{background:#8d94a0}

.links-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));gap:10px;flex:1;min-height:0}
.link-card{position:relative;overflow:hidden;min-width:0;border:1px solid var(--line);border-radius:18px;background:
linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.015));
padding:14px 15px;display:flex;align-items:center;justify-content:space-between;gap:14px;
transition:transform .25s ease,border-color .25s ease,background .25s ease,box-shadow .25s ease}
.link-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--mx,80%) var(--my,50%),rgba(255,196,0,.12),transparent 34%);opacity:0;transition:.25s}
.link-card:hover{transform:translateY(-2px);border-color:rgba(255,196,0,.32);background:linear-gradient(145deg,rgba(255,255,255,.062),rgba(255,255,255,.02));box-shadow:0 14px 35px rgba(0,0,0,.2)}
.link-card:hover:before{opacity:1}
.link-card.soon{opacity:.62;cursor:default}.link-card.soon:hover{transform:none;border-color:var(--line);box-shadow:none}
.link-left{position:relative;z-index:2;display:flex;align-items:center;gap:12px;min-width:0}
.icon{flex:0 0 auto;width:42px;height:42px;border-radius:13px;background:#1c2026;border:1px solid rgba(255,255,255,.07);display:grid;place-items:center;color:var(--yellow);font-size:11px;font-weight:900;letter-spacing:.04em}
.copy{min-width:0}.title-row{display:flex;align-items:center;gap:7px;min-width:0}
.copy h3{margin:0;font-size:15px;letter-spacing:-.015em;white-space:nowrap}
.copy p{margin:4px 0 0;font-size:10px;color:#858c97;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tag{font-size:7px;text-transform:uppercase;letter-spacing:.09em;font-weight:800;border-radius:999px;padding:4px 6px;border:1px solid var(--line);white-space:nowrap}
.tag-live{color:#9be9bc;border-color:rgba(94,219,145,.17);background:rgba(94,219,145,.045)}
.tag-admin{color:#b7bdc6;background:rgba(255,255,255,.025)}
.tag-soon{color:#ffe27b;border-color:rgba(255,196,0,.18);background:rgba(255,196,0,.045)}
.tag-public{color:#afd2ff;border-color:rgba(110,169,255,.16);background:rgba(110,169,255,.045)}

.flow-arrow{position:relative;z-index:2;display:flex;align-items:center;gap:2px;flex:0 0 auto;padding-left:5px}
.flow-arrow span{width:8px;height:8px;border-top:1.6px solid var(--yellow);border-right:1.6px solid var(--yellow);transform:rotate(45deg);opacity:.18;animation:flow 1.35s infinite}
.flow-arrow span:nth-child(2){animation-delay:.14s}.flow-arrow span:nth-child(3){animation-delay:.28s}
.link-card:hover .flow-arrow span{animation-duration:.72s}
.flow-arrow.muted span{border-color:#777;animation:none;opacity:.2}
@keyframes flow{
  0%{opacity:.12;transform:translateX(-3px) rotate(45deg)}
  45%{opacity:1}
  100%{opacity:.12;transform:translateX(3px) rotate(45deg)}
}
.links-foot{padding-top:15px;display:flex;justify-content:space-between;color:#5f6670;font-size:9px;letter-spacing:.05em}

/* Responsive */
@media(max-width:1080px){
  body{overflow:auto}
  .portal{min-height:100vh;height:auto;grid-template-columns:1fr}
  .identity-panel{min-height:310px;padding:30px 34px}
  .identity-content{margin:35px 0}.metrics{display:none}
  .links-panel{min-height:620px}
}
@media(max-width:680px){
  .identity-panel{min-height:285px;padding:24px 20px}
  .identity-top .brand span{display:none}
  h1{font-size:42px}.identity-content>p{font-size:13px}
  .links-panel{padding:25px 16px 20px}
  .links-head{align-items:flex-start;flex-direction:column}.legend{display:none}
  .links-grid{grid-template-columns:1fr;grid-template-rows:none}
  .link-card{min-height:76px}
  .links-foot{margin-top:12px}
}

/* Identidad corporativa original */
.brand-logo{display:block}
.brand-logo img{
  display:block;
  width:min(245px,72%);
  height:auto;
  border-radius:10px;
  mix-blend-mode:normal;
}
@media(max-width:680px){
  .brand-logo img{width:190px}
}


/* V4 - logo oficial integrado sin fondo */
.brand-logo{
  display:flex !important;
  align-items:center;
  justify-content:flex-start;
  width:100%;
}
.brand-logo img{
  display:block;
  width:min(330px,78%) !important;
  max-height:185px;
  object-fit:contain;
  object-position:left center;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  filter:drop-shadow(0 10px 28px rgba(0,0,0,.22));
}
.identity-top{
  padding-top:2px;
}
@media(max-width:1080px){
  .brand-logo img{width:280px !important;max-height:155px}
}
@media(max-width:680px){
  .brand-logo img{width:220px !important;max-height:125px}
}

/* V5 - logo más compacto, nítido y dinámico */
.brand-logo{
  width:auto !important;
  display:inline-flex !important;
  align-items:center;
  justify-content:flex-start;
  position:relative;
}
.brand-logo img{
  width:190px !important;
  max-height:none !important;
  height:auto !important;
  object-fit:contain;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.20)) !important;
  transform-origin:left center;
  animation:lambdaLogoIn .7s cubic-bezier(.2,.8,.2,1) both;
}
.brand-logo:after{
  content:"";
  position:absolute;
  left:0;
  bottom:-11px;
  width:44px;
  height:2px;
  border-radius:99px;
  background:var(--yellow);
  box-shadow:0 0 14px rgba(255,196,0,.22);
}
@keyframes lambdaLogoIn{
  from{opacity:0;transform:translateY(-6px) scale(.97)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
@media(max-width:1080px){
  .brand-logo img{width:175px !important}
}
@media(max-width:680px){
  .brand-logo img{width:155px !important}
}


/* ==========================================================
   V6 - corrección final logo / nitidez / textos sin recortes
   ========================================================== */

/* Logo mucho más compacto. Usamos el PNG original a resolución completa
   y dejamos que el navegador reduzca, lo que mejora la nitidez. */
.brand-logo{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  width:auto !important;
  max-width:100% !important;
  overflow:visible !important;
  position:relative;
  padding:0 !important;
}

.brand-logo img{
  display:block !important;
  width:158px !important;
  height:auto !important;
  max-width:158px !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:left center !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  filter:drop-shadow(0 6px 13px rgba(0,0,0,.18)) !important;
  image-rendering:auto !important;
  transform:none !important;
  animation:lambdaLogoV6 .55s cubic-bezier(.2,.8,.2,1) both !important;
}

/* Línea decorativa más corta y sutil, acorde al nuevo tamaño */
.brand-logo:after{
  left:8px !important;
  bottom:-6px !important;
  width:30px !important;
  height:2px !important;
  opacity:.9;
}

.identity-top{
  overflow:visible !important;
  min-height:120px;
}

/* Aseguramos que ningún texto de tarjeta sea cortado */
.link-card,
.link-left,
.copy,
.title-row{
  overflow:visible;
}

.copy{
  min-width:0;
  padding:2px 0;
}

.copy h3{
  line-height:1.22 !important;
  overflow:visible !important;
  text-overflow:clip !important;
}

.copy p{
  line-height:1.35 !important;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* Etiquetas no deben invadir/cortar el nombre */
.title-row{
  flex-wrap:wrap;
  row-gap:4px;
}

.tag{
  line-height:1 !important;
}

/* Mejora de altura útil en pantallas de notebook */
.links-grid{
  align-content:stretch;
}

.link-card{
  min-height:0;
}

@keyframes lambdaLogoV6{
  from{opacity:0;transform:translateY(-4px)}
  to{opacity:1;transform:translateY(0)}
}

@media(max-width:1080px){
  .brand-logo img{
    width:145px !important;
    max-width:145px !important;
  }
  .identity-top{min-height:105px}
}

@media(max-width:680px){
  .brand-logo img{
    width:128px !important;
    max-width:128px !important;
  }
  .identity-top{min-height:92px}
}


/* ==========================================================
   V7 - UNA SOLA PANTALLA / LOGO MINI / SIN TEXTOS CORTADOS
   ========================================================== */
html,body{
  width:100%;
  height:100%;
  min-height:100%;
}
body{
  overflow:hidden !important;
}
.portal{
  height:100vh !important;
  min-height:0 !important;
  overflow:hidden !important;
  grid-template-columns:minmax(300px,35%) 1fr !important;
}

/* Panel izquierdo más compacto */
.identity-panel{
  padding:22px 30px 18px !important;
  min-height:0 !important;
  height:100vh !important;
}

/* Logo pequeño y bien arriba */
.identity-top{
  min-height:0 !important;
  height:auto !important;
  padding:0 !important;
  margin:0 !important;
  overflow:visible !important;
}
.brand-logo{
  margin:0 !important;
  padding:0 !important;
}
.brand-logo img{
  width:102px !important;
  max-width:102px !important;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
  display:block !important;
  filter:drop-shadow(0 4px 9px rgba(0,0,0,.15)) !important;
}
.brand-logo:after{
  width:24px !important;
  left:5px !important;
  bottom:-3px !important;
}

/* Texto central más compacto para que nada se corte */
.identity-content{
  margin:0 !important;
  padding:0 !important;
}
.eyebrow{
  font-size:9px !important;
  letter-spacing:.16em !important;
}
h1{
  font-size:clamp(34px,3.4vw,52px) !important;
  line-height:1.01 !important;
  margin:12px 0 14px !important;
}
.identity-content>p{
  font-size:13px !important;
  line-height:1.55 !important;
  max-width:430px !important;
}
.metrics{
  margin-top:18px !important;
  gap:8px !important;
}
.metrics div{
  padding:11px 13px !important;
  min-width:108px !important;
}
.metrics strong{font-size:20px !important}
.identity-bottom{
  font-size:9px !important;
}

/* Derecha: usar todo el alto disponible sin scroll */
.links-panel{
  height:100vh !important;
  min-height:0 !important;
  overflow:hidden !important;
  padding:22px 26px 15px !important;
}
.links-head{
  margin-bottom:12px !important;
  flex:0 0 auto !important;
}
.links-head h2{
  font-size:23px !important;
  margin-top:3px !important;
}
.links-grid{
  min-height:0 !important;
  height:auto !important;
  flex:1 1 auto !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  grid-template-rows:repeat(4,minmax(0,1fr)) !important;
  gap:8px !important;
}
.link-card{
  min-height:0 !important;
  height:auto !important;
  padding:10px 13px !important;
  border-radius:15px !important;
}
.icon{
  width:37px !important;
  height:37px !important;
  border-radius:11px !important;
  font-size:10px !important;
}
.link-left{gap:10px !important}
.title-row{
  flex-wrap:nowrap !important;
  overflow:visible !important;
  gap:6px !important;
}
.copy h3{
  font-size:13.5px !important;
  line-height:1.15 !important;
  white-space:nowrap !important;
  overflow:visible !important;
}
.copy p{
  font-size:9px !important;
  margin-top:3px !important;
  line-height:1.2 !important;
}
.tag{
  font-size:6.5px !important;
  padding:3px 5px !important;
}
.flow-arrow span{
  width:7px !important;
  height:7px !important;
}
.links-foot{
  padding-top:9px !important;
  font-size:8px !important;
  flex:0 0 auto !important;
}

/* Notebooks con poca altura: todavía más compacto */
@media (min-width:1081px) and (max-height:760px){
  .identity-panel{padding:16px 24px 14px !important}
  .brand-logo img{width:86px !important;max-width:86px !important}
  h1{font-size:38px !important;margin:8px 0 10px !important}
  .identity-content>p{font-size:11.5px !important}
  .metrics{margin-top:12px !important}
  .metrics div{padding:8px 10px !important}
  .metrics strong{font-size:17px !important}
  .links-panel{padding:15px 20px 10px !important}
  .links-head{margin-bottom:8px !important}
  .links-head h2{font-size:20px !important}
  .link-card{padding:8px 11px !important}
  .icon{width:33px !important;height:33px !important}
  .copy h3{font-size:12.5px !important}
  .copy p{font-size:8.5px !important}
  .links-foot{padding-top:6px !important}
}

/* En tablet/móvil sí permitimos scroll natural */
@media(max-width:1080px){
  body{overflow:auto !important}
  .portal{
    height:auto !important;
    min-height:100vh !important;
    grid-template-columns:1fr !important;
    overflow:visible !important;
  }
  .identity-panel{
    height:auto !important;
    min-height:250px !important;
  }
  .links-panel{
    height:auto !important;
    min-height:600px !important;
    overflow:visible !important;
  }
  .brand-logo img{
    width:92px !important;
    max-width:92px !important;
  }
}
@media(max-width:680px){
  .links-grid{
    grid-template-columns:1fr !important;
    grid-template-rows:none !important;
  }
}
