/* ══════════════ TecXPaneL · sitio corporativo ══════════════ */
:root{
  --ink:#0C0D0F;
  --surface:#15171C;
  --surface-2:#1B1E25;
  --border:#242833;
  --border-2:#2E3240;
  --amber:#E8A020;
  --amber-bright:#F5B841;
  --amber-glow:rgba(232,160,32,0.14);
  --green:#3FB950;
  --red:#F85149;
  --text:#EEEEF0;
  --muted:#8B8FA8;
  --muted-2:#6A6F82;
  --display:'Space Grotesk',system-ui,sans-serif;
  --body:'Inter',system-ui,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,monospace;
  --wrap:1160px;
  --r:14px;
  --r-sm:8px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--body);background:var(--ink);color:var(--text);
  font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;
  overflow-x:clip;
}
::selection{background:var(--amber);color:#0C0D0F}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.prompt{font-family:var(--mono);color:var(--amber);font-weight:500}
.mono{font-family:var(--mono)}
em{font-style:normal;color:var(--amber)}

/* ── botones ── */
.btn{
  display:inline-flex;align-items:center;gap:.5rem;
  font-family:var(--display);font-weight:600;font-size:15px;
  padding:13px 22px;border-radius:var(--r-sm);cursor:pointer;
  border:1px solid transparent;transition:.16s ease;white-space:nowrap;
}
.btn-meta{font-family:var(--mono);font-weight:400;font-size:12px;opacity:.7}
.btn-primary{background:var(--amber);color:#0C0D0F;box-shadow:0 0 0 0 var(--amber-glow)}
.btn-primary:hover{background:var(--amber-bright);transform:translateY(-2px);box-shadow:0 12px 30px -8px var(--amber-glow)}
.btn-ghost{background:transparent;color:var(--text);border-color:var(--border-2)}
.btn-ghost:hover{border-color:var(--amber);color:var(--amber-bright)}

/* ══════════════ TOPBAR ══════════════ */
.topbar{
  position:sticky;top:0;z-index:50;
  background:rgba(12,13,15,.72);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--border);
}
.topbar-inner{display:flex;align-items:center;gap:2rem;height:66px}
.brand{display:flex;flex-direction:column;line-height:1;gap:3px}
.brand-word{font-family:var(--display);font-weight:700;font-size:20px;letter-spacing:-.01em}
.brand-word .dot{color:var(--amber)}
.brand-sub{font-family:var(--mono);font-size:9px;letter-spacing:.28em;color:var(--muted-2);text-transform:uppercase}
.nav{display:flex;gap:1.6rem;margin-left:auto}
.nav a{font-size:14.5px;color:var(--muted);font-weight:500;transition:color .15s}
.nav a:hover{color:var(--text)}
.topbar-cta .btn{padding:9px 16px;font-size:14px}

/* ══════════════ HERO ══════════════ */
.hero{position:relative;padding:88px 0 40px;overflow:hidden}
.hero::before{
  content:"";position:absolute;top:-220px;left:50%;transform:translateX(-50%);
  width:900px;height:520px;background:radial-gradient(ellipse at center,var(--amber-glow),transparent 68%);
  pointer-events:none;z-index:0;
}
.hero-inner{position:relative;z-index:1;text-align:center}
.eyebrow{
  font-family:var(--mono);font-size:12.5px;letter-spacing:.02em;color:var(--muted);
  text-transform:uppercase;margin-bottom:26px;
}
.eyebrow .prompt{margin-right:.55rem}
.hero-title{
  font-family:var(--display);font-weight:700;letter-spacing:-.025em;
  font-size:clamp(2.4rem,6.4vw,4.6rem);line-height:1.04;margin-bottom:26px;
}
.hero-lead{
  max-width:640px;margin:0 auto 34px;color:var(--muted);
  font-size:clamp(1rem,1.6vw,1.18rem);line-height:1.65;
}
.hero-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:30px}

/* comando copiable */
.install-chip{
  display:inline-flex;align-items:center;gap:12px;max-width:100%;
  background:var(--surface);border:1px solid var(--border-2);border-radius:var(--r-sm);
  padding:11px 11px 11px 16px;margin:0 auto 62px;overflow:hidden;
}
.install-chip code{
  font-family:var(--mono);font-size:13px;color:var(--muted);
  white-space:nowrap;overflow-x:auto;scrollbar-width:none;
}
.install-chip code::-webkit-scrollbar{display:none}
.copy-btn{
  flex:none;font-family:var(--mono);font-size:12px;font-weight:500;
  background:var(--surface-2);color:var(--text);border:1px solid var(--border-2);
  padding:7px 13px;border-radius:6px;cursor:pointer;transition:.15s;
}
.copy-btn:hover{border-color:var(--amber);color:var(--amber-bright)}
.copy-btn.done{color:var(--green);border-color:var(--green)}

/* captura hero en chrome de navegador */
.hero-shot{max-width:1000px;margin:0 auto;perspective:1600px}
.browser{
  border:1px solid var(--border-2);border-radius:var(--r);overflow:hidden;
  background:var(--surface);box-shadow:0 40px 90px -40px rgba(0,0,0,.9),0 0 0 1px rgba(232,160,32,.06);
}
.browser-bar{
  display:flex;align-items:center;gap:8px;padding:11px 16px;
  background:var(--surface-2);border-bottom:1px solid var(--border);
}
.tl{width:11px;height:11px;border-radius:50%;background:var(--border-2)}
.browser-bar .tl:first-child{background:#3a2a12;box-shadow:inset 0 0 0 1px rgba(232,160,32,.4)}
.browser-url{
  margin:0 auto;font-family:var(--mono);font-size:12px;color:var(--muted-2);
  background:var(--ink);padding:4px 18px;border-radius:20px;
}
.browser img{width:100%}

/* ══════════════ STATS ══════════════ */
.stats{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface)}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.stat{padding:38px 24px;text-align:center;border-right:1px solid var(--border)}
.stat:last-child{border-right:none}
.stat-num{display:block;font-family:var(--display);font-weight:700;font-size:2.5rem;letter-spacing:-.03em;line-height:1}
.stat-u{font-size:1.1rem;color:var(--amber);margin-left:2px}
.stat-label{display:block;margin-top:10px;font-family:var(--mono);font-size:11.5px;letter-spacing:.05em;color:var(--muted);text-transform:uppercase}

/* ══════════════ SECTION genérica ══════════════ */
.section{padding:96px 0}
.section-alt{background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.section-head{max-width:680px;margin-bottom:52px}
.section-eyebrow{font-family:var(--mono);font-size:12.5px;color:var(--muted);margin-bottom:16px}
.section-title{font-family:var(--display);font-weight:700;letter-spacing:-.02em;font-size:clamp(1.8rem,3.6vw,2.7rem);line-height:1.1;margin-bottom:16px}
.section-sub{color:var(--muted);font-size:1.06rem;max-width:600px}

/* ══════════════ BENTO FEATURES ══════════════ */
.bento{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.feat{
  background:var(--surface);border:1px solid var(--border);border-radius:var(--r);
  padding:26px;transition:.2s ease;position:relative;overflow:hidden;
}
.feat::after{content:"";position:absolute;inset:0 0 auto 0;height:2px;background:var(--amber);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.feat:hover{border-color:var(--border-2);transform:translateY(-3px)}
.feat:hover::after{transform:scaleX(1)}
.feat-lg{grid-column:span 2}
.feat-ic{
  display:inline-flex;align-items:center;justify-content:center;
  width:40px;height:40px;border-radius:10px;margin-bottom:16px;
  background:var(--amber-glow);color:var(--amber-bright);font-size:20px;
}
.feat h3{font-family:var(--display);font-weight:600;font-size:1.22rem;margin-bottom:9px;letter-spacing:-.01em}
.feat p{color:var(--muted);font-size:.96rem;line-height:1.6}
.feat code{font-family:var(--mono);font-size:.85em;color:var(--amber-bright);background:var(--ink);padding:1px 6px;border-radius:4px}

/* ══════════════ CAPTURAS ══════════════ */
.shots{display:flex;flex-direction:column;gap:44px;max-width:940px;margin:0 auto}
.shot{border-radius:var(--r);overflow:hidden;background:var(--surface);border:1px solid var(--border-2);box-shadow:0 30px 70px -40px rgba(0,0,0,.9)}
.shot .browser-bar{display:flex;align-items:center;gap:8px;padding:11px 16px;background:var(--surface-2);border-bottom:1px solid var(--border)}
.shot .browser-bar .tl:first-child{background:#3a2a12;box-shadow:inset 0 0 0 1px rgba(232,160,32,.4)}
.shot img{width:100%;display:block}
.shot figcaption{padding:16px 20px;font-size:.95rem;color:var(--muted);font-family:var(--mono);border-top:1px solid var(--border)}
.shot figcaption b{color:var(--text);font-family:var(--display);font-weight:600;margin-right:.35rem}

/* ══════════════ INSTALACIÓN ══════════════ */
.install-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:56px;align-items:center}
.checklist{list-style:none;margin:26px 0;display:flex;flex-direction:column;gap:14px}
.checklist li{position:relative;padding-left:30px;color:var(--muted);font-size:1rem}
.checklist li::before{
  content:"✓";position:absolute;left:0;top:1px;color:var(--green);
  font-family:var(--mono);font-weight:700;
}
.checklist code{font-family:var(--mono);font-size:.85em;color:var(--amber-bright);background:var(--surface);padding:2px 7px;border-radius:5px}
.link-arrow{font-family:var(--display);font-weight:600;color:var(--amber-bright)}
.link-arrow:hover{text-decoration:underline}

.term{
  background:#0A0B0D;border:1px solid var(--border-2);border-radius:var(--r);
  overflow:hidden;box-shadow:0 30px 70px -35px rgba(0,0,0,.9);
}
.term-bar{display:flex;align-items:center;gap:8px;padding:11px 16px;background:var(--surface-2);border-bottom:1px solid var(--border)}
.term-bar .tl:first-child{background:#3a2a12;box-shadow:inset 0 0 0 1px rgba(232,160,32,.4)}
.term-title{margin-left:8px;font-family:var(--mono);font-size:12px;color:var(--muted-2)}
.term-body{
  font-family:var(--mono);font-size:13.5px;line-height:1.85;padding:22px 22px 26px;
  overflow-x:auto;color:var(--muted);
}
.term-body .l{color:var(--text)}
.term-body .c{color:var(--amber);font-weight:700;margin-right:8px}
.term-body .o{color:var(--muted-2)}
.term-body .ok{color:var(--green)}
.caret{color:var(--amber);animation:blink 1.1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}

/* ══════════════ DOCS CTA ══════════════ */
.docs-cta{
  display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap;
  background:var(--ink);border:1px solid var(--border-2);border-radius:var(--r);
  padding:44px 48px;position:relative;overflow:hidden;
}
.docs-cta::before{content:"";position:absolute;top:-120px;left:-60px;width:340px;height:340px;background:radial-gradient(circle,var(--amber-glow),transparent 70%)}
.docs-cta>div{position:relative;z-index:1;max-width:620px}
.docs-cta .section-eyebrow{margin-bottom:14px}
.docs-cta .section-title{margin-bottom:12px}
.docs-cta .section-sub{margin:0}
.docs-cta .btn{position:relative;z-index:1;flex:none}

/* ══════════════ DESCARGA ══════════════ */
.download{
  background:linear-gradient(135deg,var(--surface),var(--surface-2));
  border:1px solid var(--border-2);border-radius:var(--r);
  padding:52px;display:grid;grid-template-columns:1.5fr 1fr;gap:44px;align-items:center;
  position:relative;overflow:hidden;
}
.download::before{content:"";position:absolute;top:-120px;right:-80px;width:360px;height:360px;background:radial-gradient(circle,var(--amber-glow),transparent 70%)}
.download-main{position:relative;z-index:1}
.download-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.download-facts{list-style:none;position:relative;z-index:1;border-left:1px solid var(--border-2);padding-left:32px;display:flex;flex-direction:column;gap:18px}
.download-facts li{display:flex;flex-direction:column;gap:3px}
.download-facts span{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2)}
.download-facts b{font-family:var(--display);font-weight:600;font-size:1.15rem}

/* ══════════════ FOOTER ══════════════ */
.footer{border-top:1px solid var(--border);background:var(--surface);padding:64px 0 30px}
.footer-inner{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;padding-bottom:44px;border-bottom:1px solid var(--border)}
.footer-brand .brand-word{font-family:var(--display);font-weight:700;font-size:22px}
.footer-brand p{color:var(--muted);margin-top:14px;max-width:360px;font-size:.95rem}
.footer-brand a{color:var(--amber-bright)}
.footer-nav{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.footer-nav h4{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-2);margin-bottom:14px}
.footer-nav a{display:block;color:var(--muted);font-size:.95rem;padding:5px 0;transition:color .15s}
.footer-nav a:hover{color:var(--amber-bright)}
.footer-base{display:flex;justify-content:space-between;align-items:center;padding-top:26px;font-size:13px;color:var(--muted-2)}
.footer-base .mono{font-family:var(--mono)}

/* ══════════════ REVEAL ══════════════ */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:none}

/* ══════════════ RESPONSIVE ══════════════ */
@media(max-width:900px){
  .nav{display:none}
  .install-layout{grid-template-columns:1fr;gap:36px}
  .download{grid-template-columns:1fr;gap:32px;padding:36px}
  .download-facts{border-left:none;border-top:1px solid var(--border-2);padding-left:0;padding-top:28px;flex-direction:row;flex-wrap:wrap;gap:24px 40px}
  .footer-inner{grid-template-columns:1fr;gap:32px}
}
@media(max-width:760px){
  .bento,.doc-grid{grid-template-columns:1fr}
  .feat-lg{grid-column:span 1}
  .shots{grid-template-columns:1fr}
  .stats-grid{grid-template-columns:1fr 1fr}
  .stat:nth-child(2){border-right:none}
  .stat:nth-child(1),.stat:nth-child(2){border-bottom:1px solid var(--border)}
  .hero{padding:56px 0 20px}
  .section{padding:68px 0}
}
@media(max-width:460px){
  .topbar-cta{display:none}
  .footer-nav{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none;transition:none}
  .caret{animation:none}
  .btn-primary:hover,.feat:hover,.shot:hover,.doc-card:hover{transform:none}
}

/* ══════════════════════════════════════════════════════
   PÁGINA MANUAL (manual.html) — layout de app con sidebar fija
   ══════════════════════════════════════════════════════ */
body.manual{overflow-x:clip}
.app{display:flex;min-height:100vh}

/* ─── barra lateral fija (espeja el sidebar del panel) ─── */
.app-side{
  position:fixed;top:0;left:0;width:264px;height:100vh;z-index:60;
  background:var(--ink);border-right:1px solid var(--border);
  display:flex;flex-direction:column;
  transition:transform .25s ease;
}
.side-logo{padding:22px 24px 20px;border-bottom:1px solid var(--border)}
.side-logo .brand-word{font-family:var(--display);font-weight:700;font-size:21px;letter-spacing:-.01em;display:block}
.side-logo .brand-word .dot{color:var(--amber)}
.side-logo .brand-sub{font-family:var(--mono);font-size:9px;letter-spacing:.26em;color:var(--amber);text-transform:uppercase;margin-top:5px;display:block}
.side-scroll{flex:1;overflow-y:auto;padding:16px 0 24px;scrollbar-width:thin}
.side-scroll::-webkit-scrollbar{width:6px}
.side-scroll::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:3px}
.side-group{margin-bottom:14px}
.side-group h4{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted-2);padding:0 24px;margin:14px 0 6px}
.side-link{
  display:flex;align-items:center;gap:11px;padding:9px 24px;font-size:14px;color:var(--muted);
  border-left:2px solid transparent;transition:.14s;white-space:nowrap;
}
.side-link i{font-size:17px;flex:none;width:18px;text-align:center;opacity:.85}
.side-link:hover{color:var(--text);background:rgba(255,255,255,.02)}
.side-link.active{color:var(--amber-bright);border-left-color:var(--amber);background:linear-gradient(90deg,var(--amber-glow),transparent)}
.side-link.active i{opacity:1}
.side-foot{padding:14px 24px;border-top:1px solid var(--border)}
.side-foot a{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--muted);transition:color .15s}
.side-foot a:hover{color:var(--amber-bright)}

/* ─── zona principal a la derecha ─── */
.app-main{flex:1;margin-left:264px;min-width:0;display:flex;flex-direction:column}
.app-top{
  position:sticky;top:0;z-index:40;height:60px;display:flex;align-items:center;gap:14px;
  padding:0 32px;background:rgba(12,13,15,.82);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--border);
}
.app-top .crumb{font-family:var(--mono);font-size:13px;color:var(--muted)}
.app-top .crumb b{color:var(--text);font-family:var(--display);font-weight:600}
.app-top .spacer{flex:1}
.app-top .btn{padding:8px 15px;font-size:13.5px}
.burger{
  display:none;background:none;border:1px solid var(--border-2);border-radius:var(--r-sm);
  width:38px;height:38px;color:var(--text);cursor:pointer;align-items:center;justify-content:center;
}
.burger i{font-size:20px}

/* contenido */
.man-content{max-width:860px;padding:40px 32px 120px}
.man-content .man-title{margin-bottom:36px}
.man-content .man-title .eyebrow{font-family:var(--mono);font-size:12.5px;color:var(--muted);margin-bottom:14px}
.man-content .man-title h1{font-family:var(--display);font-weight:700;letter-spacing:-.025em;font-size:clamp(1.9rem,4vw,2.8rem);line-height:1.06;margin-bottom:14px}
.man-content .man-title p{color:var(--muted);font-size:1.06rem;max-width:640px}

/* backdrop del cajón en móvil */
.side-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.55);opacity:0;visibility:hidden;transition:.25s;z-index:55}
.side-backdrop.show{opacity:1;visibility:visible}

.doc-sec{scroll-margin-top:80px;padding-top:26px;margin-bottom:52px;border-top:1px solid var(--border);}
.doc-sec:first-child{border-top:none;padding-top:0}
.doc-sec>.doc-eyebrow{font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--amber);margin-bottom:10px;display:block}
.doc-sec h2{font-family:var(--display);font-weight:700;font-size:1.85rem;letter-spacing:-.02em;margin-bottom:6px}
.doc-sec .lead{font-size:1.1rem;color:var(--text);margin-bottom:20px}
.doc-sec h3{font-family:var(--display);font-weight:600;font-size:1.12rem;margin:26px 0 10px;color:var(--text)}
.doc-sec p{color:var(--muted);margin-bottom:14px}
.doc-sec ul,.doc-sec ol{color:var(--muted);margin:0 0 16px 0;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:9px}
.doc-sec ul li{position:relative;padding-left:22px}
.doc-sec ul li::before{content:"▸";position:absolute;left:2px;top:0;color:var(--amber);font-size:.8em}
.doc-sec ol{counter-reset:step}
.doc-sec ol li{position:relative;padding-left:34px;counter-increment:step}
.doc-sec ol li::before{content:counter(step);position:absolute;left:0;top:-1px;width:22px;height:22px;border-radius:6px;background:var(--surface-2);border:1px solid var(--border-2);color:var(--amber-bright);font-family:var(--mono);font-size:11px;display:flex;align-items:center;justify-content:center}
.doc-sec strong{color:var(--text);font-weight:600}
.doc-sec code{font-family:var(--mono);font-size:.85em;color:var(--amber-bright);background:var(--surface);border:1px solid var(--border);padding:1px 6px;border-radius:5px;overflow-wrap:anywhere;word-break:break-word}
.doc-sec a{color:var(--amber-bright);text-decoration:underline;text-underline-offset:2px}
.doc-shot{margin:22px 0;border-radius:var(--r);overflow:hidden;border:1px solid var(--border-2);background:var(--surface)}
.doc-shot .browser-bar{display:flex;gap:7px;padding:9px 14px;background:var(--surface-2);border-bottom:1px solid var(--border)}
.doc-shot .browser-bar .tl:first-child{background:#3a2a12;box-shadow:inset 0 0 0 1px rgba(232,160,32,.4)}
.doc-shot img{width:100%;display:block}

/* avisos */
.note{
  border-radius:var(--r-sm);padding:14px 16px 14px 18px;margin:16px 0;
  font-size:.95rem;border:1px solid var(--border-2);background:var(--surface);
  border-left:3px solid var(--muted-2);color:var(--muted);
}
.note b{color:var(--text)}
.note.info{border-left-color:var(--amber);background:rgba(232,160,32,.05)}
.note.warn{border-left-color:var(--red);background:rgba(248,81,73,.06)}
.note.ok{border-left-color:var(--green);background:rgba(63,185,80,.06)}

/* ─── móvil: la sidebar se convierte en cajón deslizable ─── */
@media(max-width:920px){
  .app-side{transform:translateX(-100%);box-shadow:0 0 60px rgba(0,0,0,.6)}
  .app-side.open{transform:translateX(0)}
  .app-main{margin-left:0}
  .burger{display:inline-flex}
  .man-content{padding:30px 22px 90px}
}
