/* =====================================================================
   99EVS™ — app.css  (FINAL Public MVP — Mobility OS, consolidated)
   Single coherent stylesheet. No duplicate blocks.
   Display: Syne · Body: DM Sans · Navy command-center theme.
   ===================================================================== */

:root{
  --navy:#0D1B2E;
  --evs-bg:#0D1B2E; --evs-bg-2:#0A1626;
  --evs-surface:rgba(19,37,64,.66); --evs-surface-solid:#132540; --evs-surface-2:rgba(28,52,86,.45);
  --evs-border:rgba(255,255,255,.08); --evs-border-soft:rgba(255,255,255,.05);
  --evs-text:#F1F5F9; --evs-muted:#A8B6C8; --evs-faint:#64748B;
  --evs-accent:#00E676; --evs-accent2:#00C853; --evs-accent-2:#00C2FF; --evs-amber:#F59E0B;
  --evs-accent-dim:rgba(0,230,118,.12); --evs-accent-soft:rgba(0,230,118,.07);
  --evs-radius:22px; --evs-radius-sm:14px;
  --evs-shadow:0 24px 60px -28px rgba(0,0,0,.8); --evs-shadow-soft:0 10px 26px -16px rgba(0,0,0,.6);
  --bs-body-bg:var(--evs-bg); --bs-body-color:var(--evs-text);
  --bs-body-font-family:'DM Sans',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  background:var(--navy);color:var(--evs-text);font-family:var(--bs-body-font-family);
  line-height:1.55;min-height:100vh;padding-bottom:calc(72px + env(safe-area-inset-bottom));
}
@media (min-width:992px){ body{ padding-bottom:0; } }
body::before{
  content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;
  background-image:linear-gradient(rgba(0,230,118,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(0,230,118,.04) 1px,transparent 1px);
  background-size:40px 40px;
}
.evs-ambient{position:fixed;top:-180px;left:50%;transform:translateX(-50%);width:720px;height:720px;max-width:140vw;
  z-index:-1;pointer-events:none;background:radial-gradient(circle,rgba(0,230,118,.08) 0%,transparent 68%);}

h1,h2,h3,h4,.evs-brand{font-family:'Syne',system-ui,sans-serif;letter-spacing:-.02em;font-weight:700;line-height:1.12}
a{color:var(--evs-accent);text-decoration:none}
a:hover{color:#5cffab}

.evs-skip{position:fixed;top:8px;left:8px;z-index:1080;background:var(--evs-accent);color:#04150c;padding:8px 14px;border-radius:10px;font-weight:700}

/* ---------- Top bar ---------- */
.evs-topbar{position:sticky;top:0;z-index:1030;padding:6px 0;background:rgba(13,27,46,.9);
  backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);
  border-bottom:1px solid var(--evs-border);padding-top:env(safe-area-inset-top)}
.evs-brand{display:inline-flex;align-items:center;gap:9px;font-size:1.2rem;font-weight:800;color:var(--evs-text)}
.evs-brand:hover{color:var(--evs-text)}
.evs-brand .evs-tm{font-size:.62em;color:var(--evs-amber);vertical-align:super;font-style:italic}
.evs-dot{width:11px;height:11px;border-radius:50%;background:var(--evs-accent);box-shadow:0 0 0 4px var(--evs-accent-dim),0 0 12px var(--evs-accent)}
.evs-topbar .nav-link{color:var(--evs-muted);font-weight:600;padding:.5rem .85rem;border-radius:10px}
.evs-topbar .nav-link:hover,.evs-topbar .nav-link:focus{color:var(--evs-text);background:var(--evs-surface-2)}
.evs-nav-services{color:var(--evs-faint)}
.navbar-toggler{color:var(--evs-text)}
.navbar-toggler:focus{box-shadow:none}
.evs-region{display:inline-flex;align-items:center;gap:.35rem;font-size:.74rem;font-weight:600;color:var(--evs-muted);
  background:var(--evs-surface-solid);border:1px solid var(--evs-border);border-radius:999px;padding:.32rem .7rem;white-space:nowrap}
.evs-region:hover{color:var(--evs-accent);border-color:rgba(0,230,118,.4)}
.evs-region .bi{color:var(--evs-accent)}
.evs-region-label{max-width:120px;overflow:hidden;text-overflow:ellipsis}

/* ---------- Buttons ---------- */
.evs-btn-primary{
  background:#00E676 !important;
  color:#04150c !important;
  border:none !important;
  font-weight:700;
  border-radius:14px;
  padding:12px;
}

.evs-btn-primary:hover{
  background:#00C853 !important;
  color:#04150c !important;
}
.evs-btn-ghost{background:var(--evs-surface-solid);color:var(--evs-text);border:1px solid var(--evs-border);font-weight:700;border-radius:var(--evs-radius-sm)}
.evs-btn-ghost:hover{color:var(--evs-text);border-color:var(--evs-accent);transform:translateY(-2px)}
.btn-lg{padding:.85rem 1.5rem;font-size:1.05rem;border-radius:16px}
.btn-xl{padding:.9rem 1.8rem;font-size:1.06rem;font-weight:800;border-radius:16px}
.btn:focus-visible{outline:2px solid var(--evs-accent);outline-offset:2px}

/* ---------- Eyebrow / pulse / sections ---------- */
.evs-eyebrow{display:inline-block;color:var(--evs-accent);font-weight:700;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:.5rem}
.evs-eyebrow--live{display:inline-flex;align-items:center;gap:.45rem}
.evs-pulse{width:6px;height:6px;border-radius:50%;background:var(--evs-accent);box-shadow:0 0 6px var(--evs-accent);animation:evspulse 2.4s infinite}
@keyframes evspulse{0%,100%{box-shadow:0 0 0 0 rgba(0,230,118,.5)}50%{box-shadow:0 0 0 7px rgba(0,230,118,0)}}
.evs-section{padding:clamp(1.6rem,4.5vw,3rem) 0}
.evs-section--tight{padding:clamp(1rem,3vw,1.6rem) 0}
.evs-section-head{max-width:720px;margin:0 auto clamp(1rem,2.6vw,1.5rem);text-align:center}
.evs-section-title{font-size:clamp(1.6rem,4.6vw,2.4rem);margin-bottom:.5rem}
.evs-section-lead{color:var(--evs-muted);font-size:1.02rem;margin:0}
.evs-head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;text-align:left;max-width:none}
.evs-head-link{font-weight:700;font-size:.85rem;white-space:nowrap}

/* ---------- Cards (generic) ---------- */
.evs-card{position:relative;display:block;background:var(--evs-surface);backdrop-filter:blur(14px) saturate(130%);
  -webkit-backdrop-filter:blur(14px) saturate(130%);border:1px solid var(--evs-border);border-radius:22px;
  box-shadow:var(--evs-shadow-soft);padding:1.1rem;transition:transform .16s,border-color .16s,box-shadow .16s}
.evs-card:hover{transform:translateY(-3px);border-color:rgba(0,230,118,.35)}
.evs-family-icon{display:inline-grid;place-items:center;width:54px;height:54px;border-radius:16px;font-size:1.5rem;
  color:var(--evs-accent);background:var(--evs-accent-dim);border:1px solid rgba(0,230,118,.3)}
.evs-family-name{font-size:1.05rem;margin-bottom:.35rem}
.evs-family-desc{color:var(--evs-muted);font-size:.9rem;margin:0}
.evs-family-card{text-align:center;padding:1.4rem 1rem}
.evs-segment-icon{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:14px;font-size:1.35rem;
  color:var(--evs-accent);background:var(--evs-accent-dim);border:1px solid rgba(0,230,118,.28)}
.evs-segment-name{font-family:'Syne',sans-serif;font-weight:700;font-size:.95rem;color:var(--evs-text);line-height:1.2}
.evs-learnmore{font-size:.82rem;font-weight:700;display:inline-flex;align-items:center;gap:.3rem;color:var(--evs-accent)}
.evs-article h2{font-size:1.4rem;margin:1.2rem 0 .5rem}
.evs-article h3{font-size:1.1rem;margin:1rem 0 .4rem}
.evs-article p{color:var(--evs-text);margin:0 0 .8rem;line-height:1.7}
.evs-article ul{margin:0 0 1rem 1.1rem}
.evs-article li{margin:.3rem 0}
.evs-article blockquote{border-left:3px solid var(--evs-accent);padding:.4rem .9rem;margin:1rem 0;color:var(--evs-muted);background:var(--evs-surface-2);border-radius:0 12px 12px 0}
.evs-article code{background:var(--evs-surface-solid);border:1px solid var(--evs-border);border-radius:6px;padding:.1rem .35rem;font-size:.9em}

/* ---------- Hero ---------- */
.evs-hero{position:relative;overflow:hidden;text-align:center;padding:clamp(2rem,7vw,3.6rem) 0 clamp(1.4rem,4vw,2.4rem)}
.evs-hero-inner{position:relative;max-width:760px;margin:0 auto}
.evs-hero-emblem{display:block;position:relative;width:96px;height:96px;margin:0 auto 1.1rem;text-decoration:none}
.evs-emblem-ring{position:absolute;inset:-8px;border-radius:50%;border:1px solid rgba(0,230,118,.18);animation:evsspin 14s linear infinite}
.evs-emblem-ring::after{content:"";position:absolute;top:-3px;left:50%;width:7px;height:7px;border-radius:50%;background:var(--evs-accent);box-shadow:0 0 10px var(--evs-accent);transform:translateX(-50%)}
.evs-emblem-core{position:absolute;inset:0;display:grid;place-items:center;border-radius:50%;font-size:2rem;color:var(--evs-accent);
  background:radial-gradient(circle at 35% 35%,rgba(0,230,118,.18),rgba(0,230,118,.03) 60%,transparent 72%);border:1px solid rgba(0,230,118,.28)}
@keyframes evsspin{to{transform:rotate(360deg)}}
.evs-hero-title{font-family:'Syne',sans-serif;font-weight:800;font-size:clamp(2.1rem,7.5vw,3.6rem);line-height:1.08;margin-bottom:.5rem}
.evs-hero-title em{color:var(--evs-accent);font-style:normal}
.evs-hero-strap{color:var(--evs-muted);font-weight:600;letter-spacing:.03em;margin-bottom:.5rem}
.evs-hero-clarifier{color:var(--evs-muted);font-size:.92rem;max-width:42ch;margin:.2rem auto 1.2rem}
.evs-hero-clarifier strong{color:var(--evs-text)}
.evs-hero-cta{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:center}
.evs-hero-cta .btn{min-width:min(100%,230px)}
.evs-hero-pills{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;padding:0;margin:1.3rem 0 0}
.evs-hero-pills li{display:inline-flex;align-items:center;gap:.4rem;color:var(--evs-muted);font-size:.84rem;font-weight:600;
  background:var(--evs-surface-solid);border:1px solid var(--evs-border);padding:.4rem .8rem;border-radius:999px}
.evs-hero-pills i{color:var(--evs-accent)}

/* ---------- Trust banner ---------- */
.evs-trust{padding:0 0 clamp(.6rem,2vw,1rem)}
.evs-trust-row{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}
.evs-trust-item{display:inline-flex;align-items:center;gap:.45rem;font-size:.82rem;font-weight:600;color:var(--evs-text);
  background:var(--evs-surface-solid);border:1px solid var(--evs-border);border-radius:999px;padding:.45rem .9rem}
.evs-trust-item .bi{color:var(--evs-accent)}

/* ---------- Category tiles ---------- */
.evs-cat-grid [class*="col-"]{display:flex}
.evs-cat-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;width:100%;text-align:center;
  min-height:128px;padding:1.1rem .7rem;color:var(--evs-text);text-decoration:none;
  background:linear-gradient(160deg,var(--evs-surface-solid),rgba(28,52,86,.35));border:1px solid var(--evs-border);
  border-radius:20px;transition:transform .16s,border-color .16s,box-shadow .16s}
.evs-cat-tile:hover{transform:translateY(-3px);border-color:rgba(0,230,118,.45);box-shadow:0 18px 40px -20px rgba(0,0,0,.8),0 0 0 1px rgba(0,230,118,.14);color:var(--evs-text)}
.evs-cat-ico{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;font-size:1.85rem;color:var(--evs-accent);background:var(--evs-accent-dim);border:1px solid rgba(0,230,118,.3)}
.evs-cat-name{font-family:'Syne',sans-serif;font-weight:700;font-size:.92rem;line-height:1.15}

/* ---------- OS command panels ---------- */
.evs-os-panel{position:relative;overflow:hidden;text-align:center;max-width:720px;margin:0 auto;padding:clamp(1.6rem,4.5vw,2.6rem) 1.3rem;
  border-radius:26px;border:1px solid var(--evs-border);
  background:radial-gradient(130% 120% at 50% -10%,var(--evs-accent-soft),transparent 60%),linear-gradient(160deg,var(--evs-surface),var(--evs-surface-2));box-shadow:var(--evs-shadow)}
.evs-os-panel--split{display:flex;flex-wrap:wrap;align-items:center;gap:1.4rem;text-align:left;justify-content:center}
.evs-os-split-body{flex:1;min-width:240px}
.evs-os-title{font-family:'Syne',sans-serif;font-weight:800;font-size:clamp(1.45rem,4.2vw,2rem);margin:.3rem 0 .4rem}
.evs-os-sub{color:var(--evs-muted);font-size:1rem;max-width:48ch;margin:0 auto 1.2rem}
.evs-os-panel--split .evs-os-sub{margin-left:0}
.evs-os-orb{position:relative;width:86px;height:86px;margin:0 auto 1rem;display:grid;place-items:center;border-radius:50%;font-size:2.1rem;color:var(--evs-accent);
  background:radial-gradient(circle at 35% 35%,rgba(0,230,118,.2),rgba(0,230,118,.04) 55%,transparent 72%);border:1px solid rgba(0,230,118,.3)}
.evs-os-orb--sm{width:60px;height:60px;font-size:1.5rem;margin-bottom:.8rem}
.evs-os-orb-ring{position:absolute;inset:-9px;border-radius:50%;border:1px solid rgba(0,230,118,.16);animation:evsspin 12s linear infinite}
.evs-os-orb-ring::after{content:"";position:absolute;top:-3px;left:50%;width:6px;height:6px;border-radius:50%;background:var(--evs-accent);box-shadow:0 0 8px var(--evs-accent);transform:translateX(-50%)}
.evs-os-emergency{display:inline-flex;align-items:center;gap:.3rem;font-size:.88rem;color:var(--evs-text);margin:0 0 1.1rem}
.evs-os-emergency .bi{color:var(--evs-accent)}
.evs-os-emergency strong{color:var(--evs-accent)}

/* ---------- Chips ---------- */
.evs-chip-row{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:1.3rem}
.evs-chip{display:inline-flex;align-items:center;gap:.35rem;min-height:40px;font-size:.78rem;font-weight:600;text-decoration:none;
  color:var(--evs-muted);background:var(--evs-surface-solid);border:1px solid var(--evs-border);border-radius:999px;padding:.4rem .85rem;transition:.15s}
.evs-chip:hover{color:var(--evs-accent);border-color:rgba(0,230,118,.45)}
.evs-chip .bi{color:var(--evs-accent)}

/* ---------- Safety score ring (homepage preview) ---------- */
.evs-score-ring{flex:none;width:130px;height:130px;border-radius:50%;display:grid;place-items:center;position:relative;
  background:conic-gradient(var(--evs-accent) 0 78%,rgba(255,255,255,.08) 78% 100%)}
.evs-score-ring::before{content:"";position:absolute;inset:10px;border-radius:50%;background:var(--evs-surface-solid)}
.evs-score-core{position:relative;display:grid;place-items:center;text-align:center;color:var(--evs-accent)}
.evs-score-core .bi{font-size:1.8rem}
.evs-score-core span{font-family:'Syne',sans-serif;font-size:.72rem;font-weight:700;color:var(--evs-text);letter-spacing:.5px}

/* ---------- Learn tiles ---------- */
.evs-learn-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.55rem;height:100%;min-height:112px;text-align:center;
  padding:1rem .7rem;color:var(--evs-text);text-decoration:none;border-radius:18px;
  background:linear-gradient(160deg,var(--evs-surface-solid),rgba(28,52,86,.3));border:1px solid var(--evs-border);transition:.16s}
.evs-learn-tile:hover{transform:translateY(-3px);border-color:rgba(0,230,118,.4);color:var(--evs-text)}
.evs-learn-ico{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;font-size:1.4rem;color:var(--evs-accent);background:var(--evs-accent-dim);border:1px solid rgba(0,230,118,.28)}
.evs-learn-name{font-family:'Syne',sans-serif;font-weight:700;font-size:.85rem;line-height:1.15}

/* ---------- Verify (homepage entry) ---------- */
.evs-verify-fam{display:flex;align-items:center;gap:.6rem;padding:.7rem .8rem;border:1px solid var(--evs-border);border-radius:14px;background:var(--evs-surface-2);text-align:left}
.evs-verify-fam .evs-family-icon{width:40px;height:40px;font-size:1.05rem}
.evs-verify-fam span{font-weight:600;font-size:.92rem}

/* ---------- Privacy bar ---------- */
.evs-privacy-bar{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;justify-content:space-between;padding:1.1rem 1.3rem;border-radius:20px;
  border:1px solid var(--evs-border);background:linear-gradient(160deg,var(--evs-surface),var(--evs-surface-2))}
.evs-privacy-items{display:flex;flex-wrap:wrap;gap:.5rem}
.evs-privacy-item{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;font-weight:600;color:var(--evs-text);
  background:var(--evs-surface-solid);border:1px solid var(--evs-border);border-radius:999px;padding:.4rem .8rem}
.evs-privacy-item .bi{color:var(--evs-accent)}

/* ---------- Founder vision ---------- */
.evs-vision-panel{text-align:center;max-width:760px;margin:0 auto;padding:clamp(1.6rem,4.5vw,2.6rem) 1.2rem;border-radius:26px;border:1px solid var(--evs-border);
  background:radial-gradient(130% 120% at 50% -10%,rgba(245,158,11,.06),transparent 60%),linear-gradient(160deg,var(--evs-surface),var(--evs-surface-2))}
.evs-vision-quote{font-family:'Syne',sans-serif;font-weight:800;font-size:clamp(1.5rem,4.6vw,2.3rem);line-height:1.2;margin:.4rem 0 1rem}
.evs-vision-quote em{color:var(--evs-accent);font-style:normal}
.evs-vision-pills{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:1rem}
.evs-vision-pills span{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;font-weight:600;color:var(--evs-muted);
  background:var(--evs-surface-solid);border:1px solid var(--evs-border);border-radius:999px;padding:.4rem .8rem}
.evs-vision-pills .bi{color:var(--evs-accent)}
.evs-vision-by{color:var(--evs-muted);font-size:.92rem;margin:0}
.evs-vision-by strong{color:var(--evs-text)}

/* ---------- Services ---------- */
.evs-radius-row{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:1.1rem}
.evs-radius-chip{min-height:40px;display:inline-flex;align-items:center;font-size:.8rem;font-weight:700;color:var(--evs-muted);
  background:var(--evs-surface-solid);border:1px solid var(--evs-border);border-radius:999px;padding:.4rem .9rem}
.evs-radius-chip.is-active{color:#04150c;background:var(--evs-accent);border-color:var(--evs-accent)}
.evs-services-caption{color:var(--evs-muted);font-size:.86rem;margin:0 0 .6rem}
.evs-services-empty{font-weight:600;color:var(--evs-text);font-size:1.02rem;line-height:1.5;margin:.4rem 0 1.2rem}

/* ---------- Emergency strip / region note (verify + safety + ai/learn) ---------- */
.evs-emergency-strip{display:inline-flex;align-items:center;gap:.3rem;flex-wrap:wrap;justify-content:center;font-size:.85rem;color:var(--evs-text);
  background:var(--evs-surface-solid);border:1px solid var(--evs-border);border-radius:12px;padding:.5rem .9rem;margin:.2rem auto 0}
.evs-emergency-strip .bi{color:var(--evs-accent)}
.evs-emergency-strip a{font-weight:700;margin-left:.4rem}
.evs-region-note{display:inline-flex;align-items:center;gap:.3rem;font-size:.82rem;font-weight:600;color:var(--evs-accent);
  background:var(--evs-accent-soft);border:1px solid rgba(0,230,118,.3);border-radius:999px;padding:.3rem .8rem;margin:.2rem 0 0}

/* ---------- Score band (dashboard / safety) ---------- */
.evs-band{display:inline-flex;align-items:center;gap:.4rem;font-family:'Syne',sans-serif;font-weight:700;font-size:.82rem;
  color:var(--evs-accent);background:var(--evs-accent-soft);border:1px solid rgba(0,230,118,.4);border-radius:999px;padding:.3rem .85rem}
.evs-band .bi{color:var(--evs-accent)}

/* ---------- Footer ---------- */
.evs-footer{border-top:1px solid var(--evs-border);background:var(--evs-bg-2)}
.evs-footer--slim{padding:1.4rem 0 calc(1rem + env(safe-area-inset-bottom));margin-top:.4rem}
.evs-foot-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.7rem}
.evs-foot-links{display:flex;flex-wrap:wrap;gap:.9rem}
.evs-foot-links a{color:var(--evs-muted);font-size:.86rem;font-weight:600}
.evs-foot-links a:hover{color:var(--evs-accent)}
.evs-foot-base{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between;align-items:center;margin-top:.9rem;padding-top:.9rem;
  border-top:1px solid var(--evs-border);color:var(--evs-faint);font-size:.76rem}
.evs-foot-charter .bi{color:var(--evs-accent)}

/* ---------- Bottom nav (mobile) ---------- */
.evs-bottomnav{position:fixed;left:0;right:0;bottom:0;z-index:1040;display:flex;background:rgba(13,27,46,.92);
  backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);
  border-top:1px solid var(--evs-border);padding-bottom:env(safe-area-inset-bottom)}
.evs-bn-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:.55rem 0 .5rem;color:var(--evs-muted);font-size:.68rem;font-weight:600}
.evs-bn-item i{font-size:1.2rem}
.evs-bn-item:hover,.evs-bn-item.is-active{color:var(--evs-accent)}
.evs-bn-primary{color:var(--evs-accent)}

/* ---------- Focus visibility ---------- */
.evs-cat-tile:focus-visible,.evs-learn-tile:focus-visible,.evs-chip:focus-visible,.evs-region:focus-visible,.evs-hero-emblem:focus-visible{outline:2px solid var(--evs-accent);outline-offset:3px;border-radius:18px}

/* ---------- Responsive / motion ---------- */
@media (max-width:480px){
  .evs-os-panel--split{text-align:center}
  .evs-score-ring{margin:0 auto}
  .evs-head-row{flex-direction:column;align-items:flex-start;gap:.4rem}
  .evs-hero-emblem{width:80px;height:80px}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

.evs-privacy-head{flex:1 1 auto;text-align:left}

/* Educational/compliance notices (AI, Region, Safety, Trust Charter) */
.evs-notice{display:flex;align-items:flex-start;gap:.4rem;font-size:.8rem;line-height:1.5;color:var(--evs-muted);
  background:var(--evs-surface-2);border:1px solid var(--evs-border-soft);border-radius:12px;padding:.6rem .8rem;margin:.4rem 0 0}
.evs-notice .bi{color:var(--evs-accent);margin-top:.1rem;flex:none}

/* Audit P2: very-narrow header + horizontal-scroll safety net */
html,body{overflow-x:hidden}
@media (max-width:360px){
  .evs-region-label{max-width:84px}
  .evs-brand{font-size:1.06rem}
}

/* ---------- Index-57 Command Center (homepage hero) ---------- */
.evs-cmd{text-align:center;padding:clamp(1.6rem,5vw,3rem) 0 clamp(1.4rem,4vw,2.2rem)}
.evs-cmd-title{font-family:'Syne',sans-serif;font-weight:800;font-size:clamp(2rem,7vw,3.2rem);line-height:1.1;margin:.2rem 0 .5rem}
.evs-cmd-title em{color:var(--evs-accent);font-style:normal}
.evs-cmd-sub{color:var(--evs-muted);font-size:.95rem;margin:0 auto 1.6rem;max-width:420px}
.evs-orb-wrap{position:relative;display:block;width:200px;height:200px;margin:0 auto 1.6rem;text-decoration:none}
.evs-orb-ring{position:absolute;inset:-12px;border-radius:50%;border:1px solid rgba(0,230,118,.14);animation:evsspin 12s linear infinite}
.evs-orb-ring::after{content:"";position:absolute;top:0;left:50%;width:6px;height:6px;border-radius:50%;background:var(--evs-accent);box-shadow:0 0 8px var(--evs-accent);transform:translate(-50%,-50%)}
.evs-orb{position:absolute;inset:0;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  background:radial-gradient(circle at 35% 35%,rgba(0,230,118,.12),rgba(0,230,118,.03) 45%,transparent 70%);
  border:1px solid rgba(0,230,118,.22);transition:border-color .3s,box-shadow .3s}
.evs-orb-wrap:hover .evs-orb{border-color:rgba(0,230,118,.45);box-shadow:0 0 60px rgba(0,230,118,.12)}
.evs-orb-icon{font-size:2.4rem;line-height:1}
.evs-orb-name{font-family:'Syne',sans-serif;font-weight:700;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--evs-accent)}
.evs-orb-prompt{font-size:.64rem;color:var(--evs-muted);margin-top:2px}
.evs-seg-section{max-width:560px;margin:0 auto 1.2rem}
.evs-seg-label{font-family:'Syne',sans-serif;font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--evs-muted);margin-bottom:.5rem}
.evs-seg-chips{display:flex;flex-wrap:wrap;gap:.45rem;justify-content:center}
.evs-seg-chip{display:inline-flex;align-items:center;gap:.3rem;min-height:36px;background:var(--evs-surface-solid);
  border:1px solid var(--evs-border);color:var(--evs-muted);font-family:'Syne',sans-serif;font-size:.74rem;font-weight:600;
  padding:.35rem .8rem;border-radius:999px;cursor:pointer;transition:.16s}
.evs-seg-chip:hover{border-color:rgba(0,230,118,.4);color:var(--evs-text)}
.evs-seg-chip.is-active{border-color:var(--evs-accent);color:var(--evs-accent);background:var(--evs-accent-soft)}
.evs-input-section{max-width:540px;margin:0 auto 1rem}
.evs-input-wrap{display:flex;gap:.5rem;align-items:flex-end;background:var(--evs-surface-solid);
  border:1px solid var(--evs-border);border-radius:14px;padding:.5rem .5rem .5rem 1rem}
.evs-input-wrap:focus-within{border-color:rgba(0,230,118,.45)}
.evs-cmd-input{flex:1;background:transparent;border:none;outline:none;color:var(--evs-text);font-family:var(--bs-body-font-family);
  font-size:.9rem;resize:none;padding:.35rem 0;max-height:120px}
.evs-cmd-input::placeholder{color:var(--evs-muted)}
.evs-send-btn{width:40px;height:40px;border-radius:10px;background:var(--evs-accent);color:#04150c;border:none;
  font-size:1.1rem;font-weight:700;cursor:pointer;transition:.16s;flex:none}
.evs-send-btn:hover{background:var(--evs-accent2);transform:scale(1.05)}
.evs-detected{font-family:'Syne',sans-serif;font-size:.66rem;font-weight:700;color:var(--evs-accent);min-height:16px;margin-top:.5rem}
.evs-status-bar{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:space-between;align-items:center;max-width:560px;margin:1.4rem auto 0;
  padding-top:1rem;border-top:1px solid var(--evs-border);font-size:.68rem;color:var(--evs-muted)}
.evs-status-bar .evs-pulse{display:inline-block;margin-right:.3rem}
@media (max-width:480px){
  .evs-orb-wrap{width:168px;height:168px}
  .evs-orb-icon{font-size:2rem}
}

/* =====================================================================
   INDEX-57 MODEL — SITE-WIDE THEME LAYER
   Remaps Bootstrap to the 99EVS command-center palette so every page
   (forms, accordions, badges, lists, tables) reads as the 57 model,
   never a plain Bootstrap/documentation page. CSS only.
   ===================================================================== */

[data-bs-theme="dark"]{
  --bs-body-bg:var(--evs-bg);
  --bs-body-color:var(--evs-text);
  --bs-emphasis-color:var(--evs-text);
  --bs-secondary-color:var(--evs-muted);
  --bs-border-color:var(--evs-border);
  --bs-border-color-translucent:var(--evs-border);
  --bs-primary:var(--evs-accent);
  --bs-primary-rgb:0,230,118;
  --bs-link-color:var(--evs-accent);
  --bs-link-hover-color:#5cffab;
  --bs-secondary-bg:var(--evs-surface-solid);
  --bs-tertiary-bg:var(--evs-surface-2);
  --bs-heading-color:var(--evs-text);
}

/* Inputs / selects / textareas → command-center field */
.form-control,.form-select{
  background:var(--evs-surface-solid);
  border:1px solid var(--evs-border);
  color:var(--evs-text);
  border-radius:12px;
  padding:.7rem .9rem;
}
.form-control::placeholder{color:var(--evs-muted)}
.form-control:focus,.form-select:focus{
  background:var(--evs-surface-solid);
  border-color:transparent;
  color:var(--evs-text);
  outline:2px solid var(--evs-accent);
  box-shadow:0 0 0 4px var(--evs-accent-soft);
}
.form-select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2300E676'%3e%3cpath d='M8 11 3 6h10z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .8rem center;background-size:14px}
.form-label{color:var(--evs-muted);font-weight:600;font-size:.85rem;letter-spacing:.02em}
.form-text{color:var(--evs-faint)}

/* Accordion (Verify hub etc.) → dark command-center */
.accordion{--bs-accordion-bg:transparent;--bs-accordion-color:var(--evs-text);
  --bs-accordion-border-color:var(--evs-border);--bs-accordion-border-radius:16px;
  --bs-accordion-btn-color:var(--evs-text);--bs-accordion-btn-bg:var(--evs-surface-solid);
  --bs-accordion-active-color:var(--evs-accent);--bs-accordion-active-bg:var(--evs-surface-2);
  --bs-accordion-btn-focus-box-shadow:0 0 0 4px var(--evs-accent-soft);}
.accordion-item{background:var(--evs-surface);border:1px solid var(--evs-border);border-radius:16px;margin-bottom:.6rem;overflow:hidden}
.accordion-button{font-family:'Syne',sans-serif;font-weight:700;background:var(--evs-surface-solid);color:var(--evs-text)}
.accordion-button:not(.collapsed){color:var(--evs-accent);background:var(--evs-surface-2)}
.accordion-button:focus{border-color:transparent;box-shadow:0 0 0 4px var(--evs-accent-soft)}
.accordion-button::after{filter:hue-rotate(80deg) brightness(1.6)}
.accordion-body{background:var(--evs-surface);color:var(--evs-text)}

/* Badges → emerald */
.badge{background:var(--evs-accent-soft)!important;color:var(--evs-accent)!important;
  border:1px solid rgba(0,230,118,.35);font-weight:700;border-radius:999px;padding:.35rem .7rem}

/* Bootstrap .card fallback → command-center surface (in case any page uses it) */
.card{background:var(--evs-surface);border:1px solid var(--evs-border);border-radius:var(--evs-radius);color:var(--evs-text)}
.card-body{color:var(--evs-text)}

/* List groups / tables */
.list-group{--bs-list-group-bg:var(--evs-surface-solid);--bs-list-group-color:var(--evs-text);--bs-list-group-border-color:var(--evs-border)}
.table{--bs-table-bg:transparent;--bs-table-color:var(--evs-text);--bs-table-border-color:var(--evs-border)}

/* Ghost/outline buttons → command-center */
.btn-outline-secondary,.btn-outline-primary,.btn-secondary{
  background:var(--evs-surface-solid);border:1px solid var(--evs-border);color:var(--evs-text)}
.btn-outline-secondary:hover,.btn-outline-primary:hover,.btn-secondary:hover{
  background:var(--evs-surface-2);border-color:var(--evs-accent);color:var(--evs-text)}

/* Every page's main content sits above the ambient glow with breathing room */
#main{position:relative;z-index:1}

/* Section ambient accents so interior pages aren't flat */
.evs-section:nth-of-type(even)::before{content:none}

/* ---------- Homepage AI-section input width + chip-link polish ---------- */
.evs-os-panel .evs-input-section{max-width:480px;margin:0 auto 1.1rem}
.evs-chip{cursor:pointer}
.evs-section + .evs-section{padding-top:clamp(.8rem,2.5vw,1.4rem)}

/* ========================================================================== */
/* PATCH: Additional UI components for login, dashboard, and action buttons   */
/* ========================================================================== */

/* ---------- Status Bar (simple two-column, mobile responsive) ---------- */
.status-bar {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.5rem;
  border-top: 1px solid var(--evs-border);
  padding: 0.75rem 1.5rem;
  background: rgba(13, 27, 46, 0.7);
  font-size: 0.7rem;
  color: var(--evs-muted);
}
@media (max-width: 560px) {
  .status-bar {
    flex-direction: column;
    text-align: center;
    align-items: center;
  }
}

/* ---------- Action Buttons (Index‑57 style) ---------- */
.action-row {
  display: flex;
  gap: 0.75rem;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 0.5rem;
}
.action-btn {
  padding: 0.6rem 1.4rem;
  border-radius: 10px;
  font-family: 'Syne', sans-serif;
  font-size: 0.85rem;
  font-weight: 700;
  transition: all 0.2s ease;
  border: none;
  cursor: pointer;
  text-decoration: none;
  display: inline-block;
}
.action-primary {
  background: var(--evs-accent);
  color: #000;
}
.action-primary:hover {
  background: var(--evs-accent2);
  transform: translateY(-1px);
}
.action-ghost {
  background: transparent;
  border: 1px solid var(--evs-border);
  color: var(--evs-muted);
}
.action-ghost:hover {
  border-color: var(--evs-accent);
  color: var(--evs-accent);
}

/* ---------- Metric Cards (dashboard / analytics) ---------- */
.evs-metric-card {
  text-align: center;
  padding: 1.2rem 0.8rem;
}
.evs-metric-value {
  font-family: 'Syne', sans-serif;
  font-weight: 800;
  font-size: 1.8rem;
  color: var(--evs-accent);
  line-height: 1;
}
.evs-metric-lbl {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--evs-muted);
}
.evs-metric-tag {
  font-size: 0.7rem;
  color: rgba(148, 163, 184, 0.6);
}

/* ---------- Progress Bar (thin, emerald fill) ---------- */
.evs-progress {
  height: 8px;
  border-radius: 999px;
  background: var(--evs-border);
  overflow: hidden;
  margin-top: 0.75rem;
}
.evs-progress-fill {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, var(--evs-accent), var(--evs-accent2));
  width: 0%;
}

/* ---------- Glow Utility (optional emerald glow) ---------- */
.glow-emerald {
  box-shadow: 0 0 12px rgba(0, 230, 118, 0.3);
  transition: box-shadow 0.16s ease;
}
.glow-emerald:hover {
  box-shadow: 0 0 24px rgba(0, 230, 118, 0.5);
}

/* ---------- Login page specific utilities ---------- */
.login-brand {
  font-size: 2rem;
  margin-bottom: 0.5rem;
}
.login-title {
  font-size: 1.8rem;
}