/* ═══════════════════════════════════════════════════════════
   SKYAGENT LANDING TOKENS + NAV
   Source: /opt/aerospecai/landing/www/skyagent_landing.css (Hetzner)
   Used by: base_public.html (portal auth zone)
   ═══════════════════════════════════════════════════════════ */
:root {
  --bg:            #030712;
  --border:        #1a2850;
  --accent:        #3b82f6;
  --accent-h:      #2563eb;
  --text:          #f1f5fa;
  --muted:         #94a2b8;
  --dim:           #475769;
  --inner:         1280px;
  --r-btn:         8px;
  --t:             all .2s ease;
  --lift:          translateY(-2px);
  --shadow-accent: 0 6px 20px rgba(59,130,246,.35);
}
html.pub-page, html.pub-page body {
  font-family: 'Inter', sans-serif;
}
nav {
  position:fixed; top:0; left:0; right:0; height:48px; z-index:200;
  background:rgba(3,7,18,.60); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(255,255,255,.05);
  transition:background .3s, box-shadow .3s;
}
nav.scrolled { background:rgba(3,7,18,.95); box-shadow:0 4px 24px rgba(0,0,0,.40); }
.nav-inner {
  max-width:var(--inner); margin:0 auto; width:100%;
  padding:0 28px; display:flex; align-items:center;
  justify-content:space-between; height:100%; gap:12px;
}
.logo { display:flex; align-items:center; gap:10px; text-decoration:none; flex-shrink:0; }
.logo-icon { width:24px; height:24px; border-radius:6px; overflow:hidden; flex-shrink:0; transition:var(--t); }
.logo:hover .logo-icon { transform:var(--lift); box-shadow:0 4px 16px rgba(59,130,246,.50); }
.logo-icon img { width:24px; height:24px; display:block; }
.logo-name { font-size:14px; font-weight:700; color:var(--text); white-space:nowrap; }
.nav-right { display:flex; align-items:center; gap:12px; flex-shrink:0; }
.lang-sw { display:flex; background:rgba(255,255,255,.07); border-radius:20px; padding:2px; gap:2px; }
.lb { font-size:10px; font-weight:700; padding:3px 9px; border-radius:16px; border:none; cursor:pointer; transition:var(--t); }
.lb.on        { background:var(--accent); color:#fff; }
.lb.off       { background:transparent; color:var(--dim); }
.lb.off:hover { color:var(--muted); }
.btn { border:none; cursor:pointer; font-family:inherit; transition:var(--t); border-radius:var(--r-btn); font-weight:600; }
.btn-primary       { background:var(--accent); color:#fff; box-shadow:0 4px 20px rgba(59,130,246,.40); }
.btn-primary:hover { background:var(--accent-h); transform:var(--lift); box-shadow:var(--shadow-accent); }
.btn-login { font-size:13px; padding:7px 16px; }
/* Promo bar */
.pub-promo { position:fixed; top:48px; left:0; right:0; height:36px; z-index:190;
  background:#052e16; border-bottom:1px solid #14532d;
  display:flex; align-items:center; justify-content:center; gap:8px; }
.pub-promo-dot  { width:7px; height:7px; border-radius:50%; background:#22c55e; animation:sa-pulse 2s infinite; }
.pub-promo-text { font-size:12px; color:#86efac; white-space:nowrap; }
/* Page body offset */
.pub-body        { padding-top:84px; min-height:100vh; background:#f4f6fa; }
.pub-body--short { padding-top:48px; }
/* Auth card center */
.pub-scroll { padding:36px 16px 64px; display:flex; justify-content:center; align-items:flex-start; }
@media (max-width:768px) {
  nav { height:56px; }
  .nav-right { display:none; }
  .pub-body { padding-top:92px; }
}

/* Auth zone override: solid navbar (page bg is light, not dark like landing) */
html.pub-page nav {
  background: #080f29;
}
html.pub-page nav.scrolled {
  background: #080f29;
  box-shadow: 0 4px 24px rgba(0,0,0,.40);
}
