/* NEXO · shared theme
   apps.montenebogroup.com/assets/nexo-theme.css

   Loaded LAST by every module (NexBugger, SMR Control, NexSender, NEXO and
   the portal's admin pages), after the module's own style.css. It does not
   change any layout: it swaps the Console B palette and fonts for the NEXO
   ones (the same as Home and NEXO Drive) and turns the dark top bar and
   the footer white. One file, so the whole suite changes together.

   Palette: Grupo Montenebo brand manual — Pantone 286 C deep blue,
   2925 C bright blue, 429 C silver, Black 6 C carbon.

   MTS – Managed Testing & Solutions · A Division of Montenebo Group. */

@import url("https://fonts.googleapis.com/css2?family=Sora:wght@500;600;700&family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap");

:root{
  --nx-ink:#101820; --nx-muted:#5B6976; --nx-line:#D9E1E8; --nx-page:#F3F6F9; --nx-surface:#FFFFFF;
  --nx-brand:#0033A0; --nx-brand2:#009CDE; --nx-silver:#A2AAAD;
  --nx-display:"Sora","Segoe UI",system-ui,sans-serif;
  --nx-body:"IBM Plex Sans","Segoe UI",system-ui,sans-serif;
  --nx-mono:"IBM Plex Mono",ui-monospace,Consolas,monospace;

  /* Console B tokens, remapped */
  --ink:var(--nx-ink); --ink-2:#2E3D4B; --muted:var(--nx-muted);
  --line:var(--nx-line); --line-2:#EAF0F5;
  --brand:var(--nx-brand); --brand-2:var(--nx-brand2);
  --appbar:#FFFFFF; --side:#FFFFFF;
}

/* ---------- type ---------- */
body{font-family:var(--nx-body)!important;color:var(--nx-ink)}
h1,h2,h3,.pt,.page-title,.mtitle h1{font-family:var(--nx-display)!important;letter-spacing:-.01em}
.mono,code,kbd,.tp-po,.kpi-n{font-family:var(--nx-mono)!important}
.kpi-n,.stat b,.kpi b{font-family:var(--nx-display)!important}
input,select,textarea,button{font-family:inherit}

/* ---------- top bar: white ---------- */
.appbar{
  background:#FFFFFF!important;color:var(--nx-ink)!important;
  border-bottom:1px solid var(--nx-line);box-shadow:none;
  position:sticky;top:0;z-index:30; /* below every app drawer (40+) and modal */
}
.appbar > div:has(> .bn){display:flex;align-items:center;gap:10px}
.appbar .bn{font-family:var(--nx-display);font-weight:700;font-size:17px;letter-spacing:.12em;color:var(--nx-ink)!important}
.appbar .bs{
  display:inline-flex!important;align-items:center;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:none;
  color:var(--nx-brand)!important;background:#E6EEFB;border-radius:999px;padding:3px 10px;white-space:nowrap
}
.appbar .bs:empty{display:none!important}
.appbar .lnk,.appbar a.lnk{color:var(--nx-muted)!important}
.appbar .lnk:hover{color:var(--nx-brand)!important;background:#EEF3F9!important}
.appbar .sep{background:var(--nx-line)!important}
.appbar .who{border-color:var(--nx-line)!important;color:var(--nx-ink)!important;background:transparent}
.appbar .who:hover{background:#EEF3F9!important}
.appbar .who .role,.who .role{color:var(--nx-muted)!important}
.appbar .av,.who .av{background:var(--nx-brand)!important;color:#fff!important}
.burger{color:var(--nx-ink)!important;border-color:var(--nx-line)!important}
.burger:hover{background:#EEF3F9!important}
.tohub{color:var(--nx-ink)!important;border-color:var(--nx-line)!important;background:#fff!important}
.tohub:hover{color:var(--nx-brand)!important;border-color:var(--nx-brand2)!important;background:#EEF3F9!important}
.appbar .pcdmark{width:34px;height:34px}

/* ---------- side menu ---------- */
.side{background:#FFFFFF}
.nav a.on,.nav a.active{background:var(--nx-brand)!important;color:#fff!important}
.nav a:hover:not(.on){color:var(--nx-brand)}

/* ---------- buttons and links ---------- */
.btn.primary,.btn-primary,.btn.pri,.btn-pri{background:var(--nx-brand)!important;border-color:var(--nx-brand)!important}
a{color:inherit}
.po-link,.lnk-blue{color:var(--nx-brand)}

/* ---------- footer: white ---------- */
.foot,footer.foot{
  background:#FFFFFF!important;color:var(--nx-muted)!important;
  border-top:1px solid var(--nx-line);text-align:center;font-size:12px;padding:18px 16px;
}
.foot .legal{opacity:1;font-size:12px}

/* ---------- global search (header box + drawer) ---------- */
.nx-search{display:flex;align-items:center;gap:8px;border:1px solid var(--nx-line);background:#fff;border-radius:10px;
  padding:6px 10px;width:min(300px,34vw);color:var(--nx-muted);cursor:text;font-size:13px}
.nx-search:hover{border-color:var(--nx-brand2)}
.nx-search svg{width:15px;height:15px;flex:none}
.nx-search span{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nx-search kbd{font-family:var(--nx-mono);font-size:11px;border:1px solid var(--nx-line);border-radius:5px;padding:0 6px;color:var(--nx-muted)}
@media (max-width:760px){.nx-search{width:auto}.nx-search span,.nx-search kbd{display:none}}

.nx-veil{position:fixed;inset:0;background:rgba(16,24,32,.35);z-index:900;opacity:0;transition:opacity .2s}
.nx-veil.on{opacity:1}
.nx-drawer{position:fixed;top:0;right:0;bottom:0;width:min(560px,100vw);background:#fff;z-index:901;
  display:flex;flex-direction:column;box-shadow:-12px 0 40px rgba(16,24,32,.18);
  transform:translateX(100%);transition:transform .28s cubic-bezier(.2,.7,.2,1);font-family:var(--nx-body);color:var(--nx-ink)}
.nx-drawer.on{transform:none}
.nx-drawer[hidden],.nx-veil[hidden]{display:none}
.nx-dh{padding:16px 18px 12px;border-bottom:1px solid var(--nx-line);display:flex;flex-direction:column;gap:10px}
.nx-dh-row{display:flex;align-items:center;gap:10px}
.nx-dh h2{font-family:var(--nx-display);font-size:18px;margin:0;flex:1}
.nx-x{border:0;background:none;font-size:22px;line-height:1;color:var(--nx-muted);cursor:pointer;padding:4px 8px;border-radius:8px}
.nx-x:hover{background:#EEF3F9;color:var(--nx-ink)}
.nx-q{display:flex;align-items:center;gap:8px;border:1.5px solid var(--nx-brand2);border-radius:10px;padding:9px 12px}
.nx-q svg{width:16px;height:16px;color:var(--nx-muted);flex:none}
.nx-q input{border:0;outline:none;flex:1;min-width:0;font-size:15px;background:none;color:var(--nx-ink)}
.nx-hint{font-size:12px;color:var(--nx-muted)}
.nx-body{flex:1;overflow-y:auto;padding:8px 0 24px}
.nx-group{padding:12px 18px 2px}
/* Group header = a slim version of the module's card on Home:
   same gradient, same contour lines, same drawing. */
.nx-gh{position:relative;overflow:hidden;display:flex;align-items:center;gap:10px;margin:4px 0 6px;
  padding:11px 52px 11px 14px;border-radius:12px;color:#fff;
  background:linear-gradient(150deg,var(--c1) 0%,var(--c2) 100%);
  font-family:var(--nx-display);font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.nx-gh::before{content:"";position:absolute;inset:-30px;opacity:.22;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='320' viewBox='0 0 320 320' fill='none' stroke='white' stroke-width='1.1'%3E%3Cpath d='M-20 250 C40 200 80 230 130 190 S220 120 260 140 340 90 340 90'/%3E%3Cpath d='M-20 275 C45 228 92 252 140 214 S230 150 270 166 340 120 340 120'/%3E%3Cpath d='M-20 225 C35 172 70 205 120 166 S210 92 250 112 340 60 340 60'/%3E%3Cpath d='M-20 200 C30 146 62 180 110 140 S200 64 240 86 340 30 340 30'/%3E%3C/svg%3E");
  background-size:260px 260px}
.nx-gh > *{position:relative}
.nx-gl{flex:0 1 auto}
.nx-gh i{font-style:normal;font-family:var(--nx-mono);font-size:11px;letter-spacing:0;background:rgba(255,255,255,.22);border-radius:999px;padding:1px 8px}
.nx-gi{position:absolute!important;right:12px;top:50%;width:30px;height:30px;transform:translateY(-50%) rotate(-6deg);opacity:.95}
.nx-hits{border-left:3px solid var(--c1);margin:0 0 6px 8px;padding-left:6px}
.nx-hit{display:flex;flex-direction:column;gap:1px;padding:9px 10px;border-radius:10px;text-decoration:none;color:inherit;border:1px solid transparent}
.nx-hit:hover,.nx-hit.sel{background:#F3F6F9;border-color:var(--nx-line)}
.nx-hit .t{font-weight:600;font-size:14px}
.nx-hit .s{font-size:12.5px;color:var(--nx-muted)}
.nx-hit mark{background:#FFF0B8;color:inherit;border-radius:3px;padding:0 1px}
.nx-more{font-size:12px;color:var(--nx-muted);padding:2px 10px 6px}
.nx-empty{padding:40px 18px;text-align:center;color:var(--nx-muted)}
.nx-empty b{display:block;color:var(--nx-ink);font-size:15px;margin-bottom:4px}
@media (prefers-reduced-motion:reduce){.nx-drawer,.nx-veil{transition:none}}

/* ---------- legal line under every footer ---------- */
.foot::after{
  content:"MTS and Montenebo Group are registered trademarks of Montenebo Group or its affiliates.";
  display:block;margin-top:4px;font-size:11px;color:var(--nx-muted);opacity:.85
}
