/* ===== BotVigiBot · cabecera y pie (compartidos por la web y /herramientas/) ===== */
:root{
  --vh-bg:rgba(255,255,255,.86); --vh-solid:#fff; --vh-ink:#142832; --vh-steel:#5c6f78; --vh-rule:#dde4e7;
  --vh-brand:#164e63; --vh-brand-ink:#fff; --vh-hover:#eef3f5; --vh-live:#1f9d5c;
  --vh-font:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif; --vh-disp:Sora,Inter,system-ui,sans-serif;
}
:root[data-theme="dark"]{
  --vh-bg:rgba(14,26,33,.86); --vh-solid:#13222a; --vh-ink:#e9f1f4; --vh-steel:#9db0b8; --vh-rule:#25363f;
  --vh-brand:#8fd0e2; --vh-brand-ink:#0b1c23; --vh-hover:#1b2c35; --vh-live:#4cd38a;
}
.vh-i{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.vh-salta{position:absolute;left:12px;top:-60px;z-index:200;background:var(--vh-brand);color:var(--vh-brand-ink);padding:10px 14px;border-radius:8px;font:600 14px var(--vh-font)}
.vh-salta:focus{top:10px}

/* ---- Cabecera ---- */
.vh{position:sticky;top:0;z-index:90;background:var(--vh-bg);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);
  border-bottom:1px solid var(--vh-rule);font-family:var(--vh-font);color:var(--vh-ink);transition:box-shadow .2s}
.vh.scroll{box-shadow:0 6px 24px -12px rgba(10,30,40,.25)}
.vh-in{position:relative;max-width:1240px;margin:0 auto;height:68px;padding:0 24px;display:flex;align-items:center;gap:28px}
.vh a{color:inherit;text-decoration:none}
.vh-marca{display:flex;align-items:center;gap:10px;font:700 19px/1 var(--vh-disp);letter-spacing:-.03em;color:var(--vh-ink)!important;text-decoration:none!important;flex:none}
.vh-marca img{width:36px;height:36px;border-radius:10px;background:#07120f;object-fit:cover}
.vh-nav{display:flex;align-items:center;gap:4px;flex:1;min-width:0;height:100%}
.vh-nav>a,.vh-ddb{position:relative;display:flex;align-items:center;gap:4px;height:100%;padding:0 12px;font-size:15px;font-weight:500;color:var(--vh-steel);
  background:none;border:0;cursor:pointer;font-family:inherit;white-space:nowrap}
.vh-nav>a:hover,.vh-ddb:hover,.vh-dd.abierto>.vh-ddb{color:var(--vh-ink)}
.vh-nav>a.on,.vh-ddb.on{color:var(--vh-ink)}
.vh-nav>a.on::after,.vh-ddb.on::after{content:"";position:absolute;left:12px;right:12px;bottom:-1px;height:2px;background:var(--vh-brand);border-radius:2px}
.vh-ddb .vh-i{width:15px;height:15px;transition:transform .2s}
.vh-dd.abierto>.vh-ddb .vh-i,.vh-dd.abierto>.vh-user>.vh-i:last-child{transform:rotate(180deg)}
.vh-dd{position:relative;height:100%;display:flex;align-items:center}
.vh-acc{display:flex;align-items:center;gap:8px;flex:none}
.vh-emp{font-size:14.5px;font-weight:500;color:var(--vh-steel)!important;padding:0 10px}
.vh-emp:hover{color:var(--vh-ink)!important}
.vh-ic{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;border:1px solid var(--vh-rule);background:transparent;color:var(--vh-ink);cursor:pointer}
.vh-ic:hover{background:var(--vh-hover)}
.vh-btn{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 18px;border-radius:10px;background:var(--vh-brand);color:var(--vh-brand-ink)!important;font:600 14.5px var(--vh-font);text-decoration:none!important;white-space:nowrap}
.vh-btn:hover{filter:brightness(1.08)}
.vh-user{display:flex;align-items:center;gap:8px;height:40px;padding:0 10px 0 6px;border-radius:10px;border:1px solid var(--vh-rule);background:transparent;color:var(--vh-ink);font:600 14px var(--vh-font);cursor:pointer}
.vh-user>.vh-i:first-child{width:28px;height:28px;padding:5px;border-radius:7px;background:var(--vh-brand);color:var(--vh-brand-ink)}
.vh-user>.vh-i:last-child{width:15px;height:15px;color:var(--vh-steel);transition:transform .2s}
.vh-user:hover{background:var(--vh-hover)}

/* Desplegable de herramientas (menú ancho) */
.vh-nav .vh-dd{position:static}
.vh-mega{position:absolute;top:100%;left:24px;right:24px;padding-top:6px;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .16s,transform .16s,visibility .16s}
.vh-dd.abierto>.vh-mega,.vh-dd.abierto>.vh-menu{opacity:1;visibility:visible;transform:none}
.vh-mega-in{width:100%;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px 18px;padding:22px;background:var(--vh-solid);border:1px solid var(--vh-rule);border-radius:14px;box-shadow:0 24px 60px -20px rgba(10,30,40,.35)}
.vh-mg-t{font-size:12.5px;font-weight:600;color:var(--vh-steel);padding:0 10px 8px}
.vh-mg a{display:block;padding:8px 10px;border-radius:8px}
.vh-mg a b{display:block;font-size:14px;font-weight:600;color:var(--vh-ink)}
.vh-mg a small{display:block;font-size:12.5px;color:var(--vh-steel);margin-top:1px}
.vh-mg a:hover,.vh-mg a.on{background:var(--vh-hover)}
.vh-mg a.on b{color:var(--vh-brand)}

/* Menú de usuario */
.vh-menu{position:absolute;top:calc(100% - 8px);right:0;width:290px;padding:8px;background:var(--vh-solid);border:1px solid var(--vh-rule);border-radius:12px;box-shadow:0 24px 60px -20px rgba(10,30,40,.35);
  opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .16s,transform .16s,visibility .16s}
.vh-menu a,.vh-menu button,.vh-cg button{display:flex;align-items:center;gap:10px;width:100%;padding:10px;border-radius:8px;border:0;background:none;color:var(--vh-ink);font:500 14.5px var(--vh-font);text-align:left;cursor:pointer}
.vh-menu a:hover,.vh-menu button:hover,.vh-cg button:hover{background:var(--vh-hover)}
.vh-menu .vh-i{color:var(--vh-steel)}
.vh-menu hr{border:0;border-top:1px solid var(--vh-rule);margin:6px 0}
.vh-sw span{flex:1;min-width:0}
.vh-sw small{display:block;font-size:12px;color:var(--vh-steel);font-weight:400;margin-top:1px}
.vh-sw i{width:34px;height:20px;border-radius:20px;background:var(--vh-rule);position:relative;flex:none;transition:background .2s}
.vh-sw i::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .2s}
.vh-sw[aria-checked="true"] i{background:var(--vh-live)}
.vh-sw[aria-checked="true"] i::after{transform:translateX(14px)}

/* Cajón del móvil */
.vh-burger{display:none}
.vh-cajon{position:fixed;inset:68px 0 0;background:var(--vh-solid);color:var(--vh-ink);overflow:auto;padding:12px 20px 40px;z-index:89;font-family:var(--vh-font);border-top:1px solid var(--vh-rule)}
.vh-cajon a{text-decoration:none}
.vh-cajon[hidden]{display:none}
.vh-cg{padding:12px 0;border-bottom:1px solid var(--vh-rule)}
.vh-cg:last-child{border-bottom:0}
.vh-cg .vh-mg-t{padding:4px 0 6px}
.vh-cg a{display:block;padding:9px 0;font-size:16px;font-weight:500;color:var(--vh-ink)}
.vh-cg a.on{color:var(--vh-brand)}
.vh-cg button{padding:10px 0;font-size:16px}
.vh-btn-b{width:100%;height:48px;font-size:16px}
html.vh-bloq{overflow:hidden}
@media (max-width:1100px){.vh-emp{display:none}.vh-nav>a,.vh-ddb{padding:0 9px;font-size:14.5px}.vh-in{gap:16px}}
@media (max-width:900px){
  .vh-nav,.vh-dd-r,.vh-acc>.vh-btn{display:none}
  .vh-burger{display:grid}
  .vh-in{height:64px;padding:0 16px;justify-content:space-between}
  .vh-cajon{inset:64px 0 0}
}

/* ---- Pie ---- */
.vf{background:#0d1f28;color:#b6c6cd;font-family:var(--vh-font);margin-top:80px}
.vf a{color:#dfe9ed;text-decoration:none}
.vf a:hover{color:#fff;text-decoration:underline}
.vf-in{max-width:1240px;margin:0 auto;padding:56px 24px 40px;display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px}
.vf .vh-marca{color:#fff!important}
.vf-marca p{margin:16px 0 20px;max-width:34ch;font-size:14.5px;line-height:1.6}
.vf-tg{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px;border-radius:10px;border:1px solid #2b4450;font:600 14px var(--vh-font)}
.vf-tg:hover{background:#15303c;text-decoration:none!important}
.vf-col h2{font:600 14px var(--vh-font);color:#fff;margin:6px 0 14px;letter-spacing:0}
.vf-col a{display:block;font-size:14.5px;padding:5px 0;color:#b6c6cd}
.vf-base{max-width:1240px;margin:0 auto;padding:20px 24px 28px;border-top:1px solid #1f3640;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 20px;font-size:13px;color:#7f969f}
@media (max-width:900px){.vf-in{grid-template-columns:1fr 1fr;gap:32px 24px;padding:44px 20px 32px}.vf-marca{grid-column:1/-1}.vf{margin-top:56px}}
@media (max-width:480px){.vf-in{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.vh *,.vh{transition:none!important}}
