html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

:root {
  --nv-ink: #122033;
  --nv-muted: #607089;
  --nv-blue: #2563eb;
  --nv-cyan: #06b6d4;
  --nv-panel: #f7f9fc;
  --nv-border: #e4e9f2;
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem rgba(37, 99, 235, .35);
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 80px;
  color: var(--nv-ink);
  background:
    radial-gradient(circle at top left, rgba(37, 99, 235, .10), transparent 32rem),
    radial-gradient(circle at top right, rgba(6, 182, 212, .12), transparent 28rem),
    #ffffff;
}

.navbar-brand {
  font-weight: 800;
  letter-spacing: -.03em;
}

.footer {
  background: #fff;
  line-height: 60px;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
  text-align: start;
}

.hero-section {
  min-height: 560px;
}

.app-vertex-hero {
  min-height: auto;
  margin: clamp(1rem, 2.5vw, 2rem) 0 clamp(1.25rem, 3vw, 2.5rem);
  border: 1px solid rgba(37,99,235,.16);
  border-radius: clamp(1.25rem, 2vw, 2rem);
  background:
    radial-gradient(circle at 12% 20%, rgba(37,99,235,.16), transparent 24rem),
    radial-gradient(circle at 88% 8%, rgba(6,182,212,.16), transparent 22rem),
    linear-gradient(135deg, rgba(255,255,255,.98), rgba(239,246,255,.9));
  box-shadow: 0 28px 90px rgba(15,23,42,.08);
  padding-left: clamp(1.2rem, 4vw, 3.25rem);
  padding-right: clamp(1.2rem, 4vw, 3.25rem);
  overflow: hidden;
}

.app-vertex-command-card pre {
  margin-bottom: 0;
}

.eyebrow {
  color: var(--nv-blue);
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: .78rem;
}

.lead {
  color: var(--nv-muted);
}

.hero-proof {
  border-left: 4px solid var(--nv-blue);
  background: rgba(37, 99, 235, .07);
  border-radius: .9rem;
  color: #1e3a8a;
  padding: 1rem 1.1rem;
}

.endpoint-card,
.feature-card,
.mini-card,
.step-card,
.example-card {
  border: 1px solid var(--nv-border);
  border-radius: 1.25rem;
  background: rgba(255,255,255,.88);
}

.endpoint-card {
  padding: 1.5rem;
  backdrop-filter: blur(12px);
}

.endpoint-card-header {
  color: var(--nv-muted);
  font-size: .85rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  margin-bottom: .75rem;
}

.endpoint-card code,
.step-card code {
  display: block;
  color: #0f766e;
  background: #ecfeff;
  border-radius: .75rem;
  padding: .8rem;
  overflow-x: auto;
}

pre {
  color: #dbeafe;
  background: #0f172a;
  border-radius: 1rem;
  padding: 1rem;
  overflow-x: auto;
  margin-top: 1rem;
}

.feature-card,
.mini-card,
.step-card,
.example-card {
  padding: 1.4rem;
  box-shadow: 0 18px 45px rgba(15, 23, 42, .06);
}

.feature-card h2,
.step-card h2 {
  font-size: 1.35rem;
  font-weight: 800;
}

.feature-card p,
.mini-card p,
.step-card p,
.example-card p {
  color: var(--nv-muted);
}

.split-section {
  border-top: 1px solid var(--nv-border);
  border-bottom: 1px solid var(--nv-border);
}

.capability-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
}

.capability-grid span {
  border: 1px solid var(--nv-border);
  border-radius: 999px;
  padding: .75rem 1rem;
  background: #fff;
  font-weight: 700;
  color: #24364f;
}

.step-number {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--nv-blue), var(--nv-cyan));
  color: #fff;
  font-weight: 900;
  margin-bottom: 1rem;
}

.cta-panel {
  color: #fff;
  background: linear-gradient(135deg, #1d4ed8, #0891b2);
  border-radius: 1.5rem;
  padding: 3rem;
  box-shadow: 0 22px 70px rgba(37, 99, 235, .25);
}

.cta-panel p {
  color: rgba(255,255,255,.82);
  max-width: 760px;
}

@media (max-width: 767px) {
  .display-3 { font-size: 2.6rem; }
  .capability-grid { grid-template-columns: 1fr; }
  .cta-panel { padding: 2rem; }
}

.pricing-card {
  border: 1px solid var(--nv-border);
  border-radius: 1.25rem;
  background: #fff;
  padding: 1.6rem;
  box-shadow: 0 18px 45px rgba(15, 23, 42, .06);
}

.pricing-card.featured {
  border-color: rgba(37, 99, 235, .45);
  box-shadow: 0 22px 60px rgba(37, 99, 235, .16);
  transform: translateY(-.35rem);
}

.pricing-card h3 {
  font-weight: 900;
}

.price {
  font-size: 1.8rem;
  font-weight: 900;
  color: var(--nv-blue);
  margin: .5rem 0 1rem;
}

.pricing-card li {
  margin-bottom: .4rem;
}

.mini-card code {
  display: inline-block;
  color: #0f766e;
  background: #ecfeff;
  border-radius: .6rem;
  padding: .35rem .55rem;
  margin-top: .25rem;
}

.auth-shell {
  min-height: 620px;
}

.auth-card,
.info-form {
  border: 1px solid var(--nv-border);
  border-radius: 1.25rem;
  background: rgba(255,255,255,.92);
  padding: 2rem;
  box-shadow: 0 22px 65px rgba(15, 23, 42, .08);
}

.plan-kicker {
  color: var(--nv-muted);
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .11em;
  text-transform: uppercase;
  margin-bottom: .45rem;
}

.pricing-card h2 {
  font-size: 1.25rem;
  font-weight: 900;
}

.price span {
  color: var(--nv-muted);
  font-size: 1rem;
  font-weight: 700;
}

.business-plan {
  border-color: rgba(124, 58, 237, .35);
}

.enterprise-plan {
  border-color: rgba(220, 38, 38, .35);
}

.large-list {
  font-size: 1.15rem;
  line-height: 1.9;
}

/* Admin dashboard */
.admin-shell { padding: 1.5rem 0 3rem; }
.admin-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  color: #fff;
  background: linear-gradient(135deg, #0f172a, #1d4ed8 55%, #0891b2);
  border-radius: 1.6rem;
  padding: 2rem;
  box-shadow: 0 28px 80px rgba(15, 23, 42, .22);
  margin-bottom: 1.25rem;
}
.admin-hero h1 { font-weight: 950; letter-spacing: -.04em; margin: 0 0 .45rem; }
.admin-hero p { color: rgba(255,255,255,.82); margin: 0; max-width: 760px; }
.admin-hero .eyebrow { color: #a5f3fc; }
.admin-actions { display: flex; gap: .75rem; flex-wrap: wrap; }
.admin-stat-grid { display: grid; grid-template-columns: repeat(7, minmax(0,1fr)); gap: .9rem; margin: 1.25rem 0; }
.admin-stat-card {
  border: 1px solid rgba(226,232,240,.9);
  background: rgba(255,255,255,.94);
  border-radius: 1.15rem;
  padding: 1rem;
  box-shadow: 0 16px 45px rgba(15, 23, 42, .06);
}
.admin-stat-card span { display: block; color: var(--nv-muted); font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.admin-stat-card strong { display: block; font-size: 2rem; line-height: 1.1; margin-top: .35rem; color: var(--nv-ink); }
.admin-stat-card.good strong { color: #059669; }
.admin-stat-card.warn strong { color: #d97706; }
.admin-stat-card.danger strong { color: #dc2626; }
.admin-stat-card.muted strong { color: #64748b; }
.admin-grid-main { display: grid; grid-template-columns: minmax(0, 1.9fr) minmax(320px, .8fr); gap: 1rem; align-items: start; }
.admin-panel {
  border: 1px solid var(--nv-border);
  background: rgba(255,255,255,.94);
  border-radius: 1.25rem;
  padding: 1.35rem;
  box-shadow: 0 18px 50px rgba(15, 23, 42, .07);
}
.admin-panel.wide { overflow: hidden; }
.panel-title-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.panel-title-row h1,
.panel-title-row h2,
.admin-panel h2 { font-weight: 900; letter-spacing: -.03em; margin: 0; }
.small-link { color: var(--nv-blue); font-weight: 800; text-decoration: none; }
.admin-table-wrap { overflow-x: auto; }
.admin-table { width: 100%; border-collapse: separate; border-spacing: 0; min-width: 920px; }
.admin-table th {
  color: #64748b;
  font-size: .75rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  padding: .85rem .75rem;
  border-bottom: 1px solid var(--nv-border);
  white-space: nowrap;
}
.admin-table td { padding: .9rem .75rem; border-bottom: 1px solid #eef2f7; vertical-align: middle; }
.admin-table td a { color: #0f172a; text-decoration: none; }
.admin-table td code { display: block; margin-top: .25rem; color: #0f766e; background: #ecfeff; border-radius: .45rem; padding: .25rem .4rem; width: fit-content; }
.admin-table td small,
.admin-table td span { color: var(--nv-muted); }
.status-pill { display: inline-flex; align-items: center; border-radius: 999px; padding: .32rem .62rem; font-weight: 900; font-size: .78rem; }
.status-pill.on { color: #047857; background: #d1fae5; }
.status-pill.off { color: #9f1239; background: #ffe4e6; }
.status-pill.auth { color: #1d4ed8; background: #dbeafe; }
.activity-list { display: grid; gap: .7rem; margin-top: 1rem; }
.activity-item { border: 1px solid #eef2f7; border-radius: .95rem; padding: .8rem; background: #fbfdff; }
.activity-item strong { display: block; }
.activity-item small { color: var(--nv-muted); }
.event-type { display: inline-flex; color: #1d4ed8; background: #dbeafe; border-radius: 999px; padding: .2rem .5rem; font-size: .72rem; font-weight: 900; margin-bottom: .35rem; }
.app-traffic-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 1rem; margin-top: 1rem; }
.app-traffic-card { border: 1px solid #e2e8f0; border-radius: 1.15rem; padding: 1rem; background: linear-gradient(135deg, #fff, #f8fbff); box-shadow: 0 16px 40px rgba(15,23,42,.05); }
.app-traffic-card-head { display: flex; justify-content: space-between; gap: .8rem; align-items: flex-start; }
.app-traffic-card h3 { margin: 0 0 .25rem; font-weight: 950; letter-spacing: -.03em; }
.app-traffic-card code { color: #0f766e; background: #ecfeff; border-radius: .45rem; padding: .25rem .45rem; }
.app-traffic-target { margin: .8rem 0; color: #64748b; font-weight: 800; word-break: break-all; }
.app-traffic-metrics { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: .55rem; margin: .9rem 0; }
.app-traffic-metrics div { border: 1px solid #e5edf6; border-radius: .85rem; padding: .65rem; background: #fff; }
.app-traffic-metrics span { display: block; color: #64748b; font-size: .7rem; text-transform: uppercase; font-weight: 900; letter-spacing: .08em; }
.app-traffic-metrics strong { display: block; color: #0f172a; font-size: 1.1rem; margin-top: .15rem; }
.app-events-table code { color: #0f766e; background: #ecfeff; border-radius: .35rem; padding: .18rem .35rem; }
@media (max-width: 1100px) { .admin-stat-grid { grid-template-columns: repeat(3, minmax(0,1fr)); } .admin-grid-main { grid-template-columns: 1fr; } }
@media (max-width: 700px) { .admin-hero, .panel-title-row { flex-direction: column; align-items: flex-start; } .admin-stat-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }

/* Compact top navigation */
.nv-topnav {
  backdrop-filter: blur(14px);
  background: rgba(255,255,255,.94) !important;
}
.nv-brand {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  font-weight: 900;
  letter-spacing: -.035em;
  white-space: nowrap;
}
.nv-brand-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: .65rem;
  color: #fff;
  background: linear-gradient(135deg, var(--nv-blue), var(--nv-cyan));
  font-size: .78rem;
  font-weight: 950;
  letter-spacing: -.02em;
}
.nv-primary-nav {
  gap: .15rem;
  margin-left: 1.25rem;
}
.nv-primary-nav .nav-link,
.nv-account-nav .nav-link {
  color: #334155;
  font-weight: 750;
  border-radius: 999px;
  padding: .5rem .78rem;
}
.nv-primary-nav .nav-link:hover,
.nv-account-nav .nav-link:hover,
.nv-primary-nav .nav-link:focus,
.nv-account-nav .nav-link:focus {
  color: var(--nv-blue);
  background: #eff6ff;
}
.nv-dropdown {
  border: 1px solid var(--nv-border);
  border-radius: .95rem;
  box-shadow: 0 18px 50px rgba(15, 23, 42, .12);
  padding: .45rem;
}
.nv-dropdown .dropdown-item {
  border-radius: .65rem;
  font-weight: 700;
  padding: .55rem .8rem;
}
.nv-dropdown .dropdown-item:hover { background: #eff6ff; color: var(--nv-blue); }
.nv-account-nav {
  align-items: center;
  gap: .3rem;
}
.nv-nav-cta {
  border-radius: 999px;
  font-weight: 850;
  padding: .48rem .95rem;
  box-shadow: 0 10px 25px rgba(37, 99, 235, .18);
}
.nv-dashboard-link {
  color: #fff !important;
  background: linear-gradient(135deg, var(--nv-blue), var(--nv-cyan));
  box-shadow: 0 10px 25px rgba(37, 99, 235, .16);
}
.nv-dashboard-link:hover,
.nv-dashboard-link:focus {
  color: #fff !important;
  background: linear-gradient(135deg, #1d4ed8, #0891b2) !important;
}
@media (max-width: 991px) {
  .nv-primary-nav { margin-left: 0; padding-top: .75rem; }
  .nv-account-nav { align-items: stretch; border-top: 1px solid var(--nv-border); margin-top: .5rem; padding-top: .75rem; }
  .nv-account-nav .nav-item, .nv-nav-cta { width: 100%; text-align: center; }
}

/* Lifecycle controls */
.lifecycle-actions { min-width: 360px; }
.inline-lifecycle-form { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; margin-bottom: .45rem; }
.inline-lifecycle-form select,
.inline-lifecycle-form input { border: 1px solid rgba(148,163,184,.45); border-radius: .55rem; padding: .35rem .5rem; font-size: .82rem; max-width: 150px; background: #fff; }
.inline-lifecycle-form input::placeholder { color: #94a3b8; }
.vertex-firewall-intro { border: 1px solid rgba(37,99,235,.16); border-radius: 1rem; background: linear-gradient(135deg, rgba(239,246,255,.95), rgba(236,254,255,.92)); padding: 1rem; margin-bottom: 1rem; }
.vertex-firewall-intro h2 { font-size: 1.25rem; margin: 0 0 .35rem; font-weight: 950; letter-spacing: -.03em; }
.vertex-firewall-intro p:last-child { margin: 0; color: var(--nv-muted); max-width: 920px; }
.firewall-actions { min-width: 430px; }
.inline-firewall-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; align-items: end; }
.inline-firewall-form label { display: grid; gap: .2rem; margin: 0; }
.inline-firewall-form label span { font-size: .68rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; color: #64748b; }
.inline-firewall-form select,
.inline-firewall-form input[type="text"],
.inline-firewall-form input:not([type]) { border: 1px solid rgba(148,163,184,.45); border-radius: .55rem; padding: .38rem .5rem; font-size: .82rem; background: #fff; width: 100%; }
.firewall-checkbox { display: flex !important; flex-direction: row; align-items: center; gap: .4rem !important; align-self: center; }
.firewall-checkbox span { text-transform: none !important; letter-spacing: 0 !important; font-size: .8rem !important; }
.integration-wizard-note { margin-top: .85rem; border: 1px solid rgba(37,99,235,.16); border-radius: .85rem; background: #eff6ff; color: #1e3a8a; padding: .75rem .85rem; font-size: .9rem; }

/* Vertex Auth statement card fixes */
.nv-hero,
.nv-section,
.nv-cta { border-radius: 1.6rem; margin: 1.25rem 0; }
.nv-hero { color:#fff; background:radial-gradient(circle at 12% 20%, rgba(6,182,212,.32), transparent 26rem), radial-gradient(circle at 88% 10%, rgba(124,58,237,.30), transparent 24rem), linear-gradient(135deg,#020617,#172554 52%,#0e7490); padding:clamp(2.25rem,5vw,5rem); box-shadow:0 30px 90px rgba(15,23,42,.28); overflow:hidden; }
.nv-hero h1 { max-width:980px; font-weight:950; letter-spacing:-.055em; line-height:.95; font-size:clamp(3rem,8vw,6.4rem); }
.nv-hero .lead { color:rgba(255,255,255,.82); max-width:880px; font-size:clamp(1.15rem,2vw,1.45rem); }
.nv-eyebrow { color:#67e8f9; font-weight:950; letter-spacing:.14em; text-transform:uppercase; font-size:.78rem; margin-bottom:.8rem; }
.nv-section { border:1px solid rgba(226,232,240,.9); background:rgba(255,255,255,.92); padding:clamp(1.5rem,4vw,3rem); box-shadow:0 22px 65px rgba(15,23,42,.07); }
.nv-section h2 { font-weight:930; letter-spacing:-.04em; margin-bottom:1rem; }
.nv-grid-2 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.2rem; align-items:start; }
.nv-code-card,.nv-flow { display:block; border:1px solid rgba(103,232,249,.22); background:#020617; color:#dbeafe; border-radius:1.1rem; padding:1.15rem; box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 16px 45px rgba(2,6,23,.18); overflow-x:auto; }
.nv-code-card code { display:block; margin-top:.8rem; color:#67e8f9; white-space:pre-wrap; }
.feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.feature-card code { display:inline-block; background:#ecfeff; color:#0f766e; border-radius:.55rem; padding:.28rem .45rem; max-width:100%; overflow-wrap:anywhere; }
.big-statements { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.big-statements > div { min-height:8rem; display:flex; align-items:center; border:1px solid rgba(37,99,235,.20); border-radius:1.3rem; padding:1.35rem; color:#fff; background:radial-gradient(circle at top right, rgba(103,232,249,.24), transparent 12rem), linear-gradient(135deg,#0f172a,#1d4ed8); font-size:clamp(1.25rem,2.3vw,2rem); font-weight:950; letter-spacing:-.035em; line-height:1.05; box-shadow:0 20px 55px rgba(37,99,235,.16); }
.big-statements > div:last-child { grid-column:1 / -1; min-height:7rem; background:radial-gradient(circle at top left, rgba(34,211,238,.28), transparent 16rem), linear-gradient(135deg,#111827,#7c3aed 48%,#0891b2); }
.nv-cta { color:#fff; background:linear-gradient(135deg,#111827,#1d4ed8 55%,#0891b2); padding:clamp(2rem,5vw,4rem); box-shadow:0 28px 80px rgba(37,99,235,.22); }
.nv-cta h2 { font-weight:950; letter-spacing:-.045em; }
.nv-cta p { color:rgba(255,255,255,.82); font-size:1.2rem; }
.auth-vertex-shell { min-height:620px; display:grid; place-items:center; padding:2rem 0; }
.auth-vertex-card { max-width:720px; border:1px solid var(--nv-border); border-radius:1.5rem; background:rgba(255,255,255,.95); padding:2rem; box-shadow:0 26px 80px rgba(15,23,42,.12); }
@media (max-width:900px){ .nv-grid-2,.feature-grid,.big-statements{grid-template-columns:1fr;} .big-statements > div:last-child{grid-column:auto;} }
.polygon-graph{position:relative;min-height:360px;border:1px dashed #cbd5e1;border-radius:1rem;background:linear-gradient(180deg,#f8fafc,#fff);overflow:auto}.polygon-node{position:absolute;width:170px;min-height:76px;border-radius:1rem;padding:1rem;background:#fff;border:2px solid #93c5fd;box-shadow:0 14px 35px rgba(15,23,42,.1)}.polygon-node strong,.polygon-node small{display:block}.polygon-node.humanapproval{border-color:#facc15}.polygon-node.terminal{border-color:#22c55e}.polygon-node.validateschema{border-color:#a78bfa}.run-completed{border-color:#22c55e}.run-available,.run-waitingforinput{border-color:#eab308}.run-failed{border-color:#ef4444}.run-notstarted{opacity:.72}.run-expired,.run-burned{background:#e5e7eb}.run-disabled{background:#111827;color:#fff}
/* Vertex Polygons hero polish */
.polygon-hero { position: relative; }
.polygon-hero::after { content:""; position:absolute; inset:auto -5rem -8rem auto; width:22rem; height:22rem; border-radius:999px; background:rgba(103,232,249,.16); filter:blur(20px); pointer-events:none; }
.polygon-hero h1 { max-width: 820px; }
.polygon-hero-principle { display:inline-flex; align-items:center; gap:.5rem; margin:1.2rem 0 0; padding:.65rem .9rem; border:1px solid rgba(255,255,255,.22); border-radius:999px; background:rgba(255,255,255,.10); color:#fff; font-weight:900; box-shadow:inset 0 1px 0 rgba(255,255,255,.14); }
/* Form Vertex iframe embedding */
.form-vertex-frame{width:100%;min-height:720px;border:0;border-radius:0;background:transparent;box-shadow:none;display:block}
.form-vertex-embed{background:transparent}.form-vertex-embed .admin-panel{box-shadow:none;border-color:rgba(148,163,184,.25)}
@media(max-width:700px){.form-vertex-frame{min-height:840px}}
.form-vertex-callout{position:relative;border:1px solid rgba(6,182,212,.30);border-radius:1rem;background:linear-gradient(135deg,rgba(236,254,255,.96),rgba(255,255,255,.94));padding:1rem 1.1rem;box-shadow:0 16px 45px rgba(8,145,178,.08)}.form-vertex-callout strong,.form-vertex-callout span{display:block}.form-vertex-callout span{color:#475569;margin-top:.25rem}.form-vertex-callout-arrow::after{content:"↓";position:absolute;left:50%;bottom:-2.35rem;transform:translateX(-50%);width:2.35rem;height:2.35rem;border-radius:999px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--nv-blue),var(--nv-cyan));font-size:1.45rem;font-weight:950;box-shadow:0 14px 34px rgba(37,99,235,.24);z-index:2}.form-vertex-received{font-size:1.15rem;border-radius:1rem;padding:1.2rem}
.form-vertex-callout-arrow-right::after{content:"→";position:absolute;right:-2.35rem;top:50%;transform:translateY(-50%);width:2.35rem;height:2.35rem;border-radius:999px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--nv-blue),var(--nv-cyan));font-size:1.45rem;font-weight:950;box-shadow:0 14px 34px rgba(37,99,235,.24);z-index:2}
@media(max-width:991px){.form-vertex-callout-arrow-right::after{content:"↓";right:auto;left:50%;top:auto;bottom:-2.35rem;transform:translateX(-50%)}}

.payment-page { min-height: 100vh; display:flex; align-items:center; justify-content:center; padding:3rem 1rem; background: radial-gradient(circle at top left, rgba(37,99,235,.16), transparent 34rem), #f8fafc; }
.payment-card { width:min(760px,100%); border:1px solid var(--nv-border); border-radius:1.5rem; background:#fff; padding:2.5rem; box-shadow:0 28px 90px rgba(15,23,42,.14); }
.payment-card h1 { font-weight:900; letter-spacing:-.04em; }
.payment-card .price { font-size:2.35rem; font-weight:950; color:var(--nv-blue); }
.payment-wizard h2 { font-size:1.25rem; font-weight:900; margin-bottom:1rem; }
.feature-card.muted { opacity:.72; background:#f8fafc; }
.concept-table td,.concept-table th { vertical-align:middle; }

/* Navigation layering and compact payment hero */
header { position: relative; z-index: 2000; }
.nv-topnav { position: relative; z-index: 2050; }
.nv-topnav .dropdown-menu { z-index: 3000; background: #fff; }
.nv-dropdown { background: #fff; }
.payment-hero { min-height: auto; padding-top: 3rem !important; padding-bottom: 2.25rem !important; background: transparent; position: relative; z-index: 1; }
.payment-hero .hero-proof { max-width: 760px; }
/* Integrations */
.integration-card .panel-title-row{align-items:flex-start}.integration-icon{width:2.6rem;height:2.6rem;border-radius:.85rem;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--nv-blue),var(--nv-cyan));font-weight:950;margin-bottom:.65rem}.integration-meta{display:grid;grid-template-columns:max-content 1fr;gap:.35rem .75rem;color:#64748b}.integration-meta dt{font-weight:900;color:#334155}.empty-state{border:1px dashed #cbd5e1;border-radius:1rem;padding:1.5rem;background:#f8fafc}.status-pill.muted{color:#475569;background:#e2e8f0}
/* Pricing request modal and stronger Form Vertex notice */
.form-vertex-emphasis,.form-vertex-callout strong{font-size:1.18rem;font-weight:950;color:#0f172a;letter-spacing:-.015em}.pricing-modal .modal-content{border:0;border-radius:1.35rem;box-shadow:0 32px 110px rgba(15,23,42,.28)}.pricing-modal .modal-header{border-bottom:1px solid var(--nv-border);padding:1.25rem 1.5rem}.pricing-modal .modal-body{padding:1.25rem 1.5rem 1.5rem}.pricing-form-frame{min-height:760px}.pricing-card .price{font-size:1.55rem}

/* Vertex Filter editor: compact summary with first-column actions and modal editing */
.vertex-filter-editor .panel-title-row{margin-bottom:.85rem}.vertex-filter-quick-select{padding:1rem}.vertex-filter-summary{padding:1rem}.vertex-filter-table{min-width:820px}.vertex-filter-actions-col{width:132px;position:sticky;left:0;background:#fff;z-index:2;box-shadow:8px 0 14px rgba(15,23,42,.04)}.vertex-filter-table thead .vertex-filter-actions-col{z-index:3}.vertex-filter-table td strong{display:block;color:#0f172a}.vertex-filter-table td small{display:block;margin-top:.25rem}.vertex-filter-editor .modal-content{border:0;border-radius:1.15rem;box-shadow:0 30px 100px rgba(15,23,42,.26)}.vertex-filter-editor .modal-header{border-bottom:1px solid var(--nv-border);padding:1.1rem 1.25rem}.vertex-filter-editor .modal-body{padding:1.25rem}.vertex-filter-editor .modal-footer{border-top:1px solid var(--nv-border);padding:1rem 1.25rem}.vertex-condition-table{min-width:980px}.vertex-event-list li{padding:.75rem 0;border-bottom:1px solid #eef2f7}.vertex-event-list li:last-child{border-bottom:0}.vertex-event-list strong,.vertex-event-list span,.vertex-event-list small{display:block}.vertex-event-list small{word-break:break-word;color:var(--nv-muted)}@media (max-width: 700px){.vertex-filter-table{min-width:700px}.vertex-filter-actions-col{width:112px}.vertex-filter-editor .lead{font-size:1rem}}

/* Image Vertex creation and previews */
.image-vertex-preview,.image-vertex-result-preview{max-width:min(520px,100%);max-height:320px;border:1px solid var(--nv-border);border-radius:1rem;background:#fff;box-shadow:0 16px 40px rgba(15,23,42,.12);object-fit:contain;padding:.35rem}.image-vertex-result-preview{max-height:240px}.value-create-panel h3{font-weight:900;letter-spacing:-.025em}

/* Unified Create Vertex image selection */
.image-drop-zone{border:2px dashed #93c5fd;border-radius:1.1rem;background:linear-gradient(135deg,#eff6ff,#fff);padding:1.25rem;text-align:center;transition:.18s ease}.image-drop-zone strong{display:block;color:#0f172a;font-size:1.05rem}.image-drop-zone span{display:block;color:var(--nv-muted);margin-top:.25rem}.image-drop-zone.drag-over{border-color:#2563eb;background:#dbeafe;box-shadow:0 18px 50px rgba(37,99,235,.18)}

/* Vertices registry compact action-first layout */
.vertices-table-wrap{overflow-x:visible}.vertices-compact-table{min-width:0;width:100%;table-layout:fixed}.vertices-compact-table th,.vertices-compact-table td{vertical-align:top}.vertices-actions-col{width:132px}.vertices-url-cell{width:34%}.vertices-url-cell code{white-space:normal;overflow-wrap:anywhere}.vertices-compact-table td small{display:block;margin-top:.25rem}.vertices-compact-table .modal small{display:inline}.vertices-registry .modal-content{border:0;border-radius:1.15rem;box-shadow:0 30px 100px rgba(15,23,42,.26)}.vertices-registry .modal-header{border-bottom:1px solid var(--nv-border);padding:1.1rem 1.25rem}.vertices-registry .modal-body{padding:1.25rem}.vertices-registry .modal-footer{border-top:1px solid var(--nv-border);padding:1rem 1.25rem}.vertex-firewall-intro.compact{padding:1.1rem 1.25rem;margin-bottom:1rem}.vertex-firewall-intro.compact p{margin-bottom:0}@media (max-width: 900px){.vertices-compact-table,.vertices-compact-table thead,.vertices-compact-table tbody,.vertices-compact-table tr,.vertices-compact-table th,.vertices-compact-table td{display:block;width:100%}.vertices-compact-table thead{display:none}.vertices-compact-table tr{border:1px solid var(--nv-border);border-radius:1rem;margin-bottom:1rem;padding:1rem;background:#fff}.vertices-compact-table td{border-bottom:0!important;padding:.5rem 0}.vertices-actions-col{width:100%}.vertices-actions-col .d-grid{grid-template-columns:repeat(2,minmax(0,1fr));display:grid!important}.vertices-url-cell{width:100%}}

/* Admin context navigation and compact vertex row actions */
.vertices-compact-table td{padding-top:.9rem;padding-bottom:.9rem}.vertices-actions-col{width:118px}.vertex-row-actions{display:grid;grid-template-columns:1fr;gap:.35rem;max-width:6.6rem}.vertex-row-actions .btn{--bs-btn-padding-y:.23rem;--bs-btn-padding-x:.48rem;--bs-btn-font-size:.78rem;border-radius:.52rem;font-weight:800;line-height:1.15;min-height:1.85rem}.vertices-compact-table .status-pill{padding:.38rem .65rem;font-size:.8rem}.vertices-url-cell strong{line-height:1.15}.vertices-url-cell code{font-size:.9rem;padding:.45rem .6rem}.nv-account-nav .nav-link{white-space:nowrap}@media (max-width:900px){.vertex-row-actions{grid-template-columns:repeat(3,minmax(0,1fr));max-width:none}.vertices-actions-col .vertex-row-actions{display:grid!important}}

/* Polygon Designer */
.polygon-designer-grid{display:grid;grid-template-columns:220px minmax(0,1fr) 320px;gap:1rem;align-items:stretch}.designer-library,.designer-config{min-height:620px}.designer-canvas-wrap{min-height:620px;overflow:hidden}.designer-canvas-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.designer-canvas{position:relative;min-height:560px;overflow:auto;border:1px dashed #cbd5e1;border-radius:1rem;background:radial-gradient(circle at 1px 1px,#dbeafe 1px,transparent 0);background-size:24px 24px}.designer-canvas svg{position:absolute;inset:0;width:1800px;height:760px;pointer-events:none}.designer-node{position:absolute;width:175px;min-height:86px;border:2px solid #bfdbfe;border-radius:1rem;background:#fff;padding:.85rem;box-shadow:0 16px 42px rgba(15,23,42,.12);cursor:grab;z-index:2}.designer-node.selected{border-color:#2563eb;box-shadow:0 0 0 4px rgba(37,99,235,.13),0 18px 48px rgba(15,23,42,.16)}.designer-node strong,.designer-node small,.designer-node code{display:block}.designer-node small{color:#64748b;text-transform:uppercase;font-weight:900;font-size:.68rem;letter-spacing:.08em}.designer-node code{margin-top:.35rem;background:#ecfeff;color:#0f766e;border-radius:.4rem;padding:.2rem .35rem;white-space:normal;overflow-wrap:anywhere}.designer-node button{position:absolute;right:.45rem;top:.45rem;border:0;border-radius:999px;background:#2563eb;color:#fff;width:1.55rem;height:1.55rem}.code-textarea{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.execution-row{border-bottom:1px solid #e2e8f0;padding:.55rem 0}.execution-row small{display:block;color:#64748b}@media(max-width:1100px){.polygon-designer-grid{grid-template-columns:1fr}.designer-library,.designer-config,.designer-canvas-wrap{min-height:auto}.designer-canvas{min-height:520px}}

/* Admin shell: immersive left rail with large touch-friendly navigation. */
.nv-admin-body .nv-topnav {
  margin-bottom: 0 !important;
  position: sticky;
  top: 0;
  z-index: 1040;
  min-height: 6.1rem;
  box-shadow: 0 1px 0 rgba(15,23,42,.06), 0 18px 48px rgba(15,23,42,.04);
}

.nv-admin-body .nv-topnav .container {
  max-width: none;
  padding-left: clamp(1.5rem, 4vw, 4.8rem);
  padding-right: clamp(1.5rem, 4vw, 4.8rem);
}

.nv-admin-body .nv-brand {
  font-size: clamp(1.55rem, 2vw, 2.05rem);
}

.nv-admin-body .nv-brand-mark {
  width: 3.9rem;
  height: 3.9rem;
  border-radius: 1rem;
  font-size: 1.45rem;
}

.nv-admin-body .nv-account-nav .nav-link {
  font-size: clamp(1.05rem, 1.35vw, 1.35rem);
  font-weight: 900;
}

.nv-admin-layout {
  display: grid;
  grid-template-columns: clamp(340px, 16vw, 600px) minmax(0, 1fr);
  gap: 0;
  min-height: calc(100vh - 6.1rem);
}

.nv-admin-sidebar {
  position: sticky;
  top: 6.1rem;
  align-self: start;
  height: calc(100vh - 6.1rem);
  overflow-y: auto;
  padding: clamp(1.25rem, 2vw, 2rem) clamp(1rem, 1.6vw, 1.65rem) 2rem;
  border-right: 1px solid var(--nv-border);
  background:
    linear-gradient(180deg, rgba(255,255,255,.985), rgba(248,250,252,.965)),
    radial-gradient(circle at top left, rgba(37,99,235,.12), transparent 20rem),
    radial-gradient(circle at bottom right, rgba(6,182,212,.08), transparent 18rem);
  box-shadow: 24px 0 70px rgba(15, 23, 42, .055);
}

.nv-admin-main {
  min-width: 0;
  padding: 2rem clamp(1rem, 3vw, 3rem);
}

.nv-sidebar-section {
  padding: 1.05rem 0 1.25rem;
  border-bottom: 1px solid rgba(226, 232, 240, .9);
}

.nv-sidebar-section:last-child {
  border-bottom: 0;
}

.nv-sidebar-heading {
  color: #71809a;
  font-size: clamp(.82rem, .95vw, 1rem);
  font-weight: 950;
  letter-spacing: .16em;
  text-transform: uppercase;
  padding: .45rem 1.35rem .8rem;
}

.nv-sidebar-link {
  display: flex;
  align-items: center;
  gap: 1.05rem;
  min-height: 4.1rem;
  margin: .28rem 0;
  padding: .62rem 1rem;
  border-radius: 1.15rem;
  color: #24364f;
  text-decoration: none;
  font-weight: 900;
  font-size: clamp(1.05rem, 1.18vw, 1.32rem);
  letter-spacing: -.02em;
  transition: background .15s ease, color .15s ease, transform .15s ease, box-shadow .15s ease;
}

.nv-sidebar-link:hover,
.nv-sidebar-link:focus {
  color: #153fb5;
  background: rgba(37,99,235,.075);
  box-shadow: 0 12px 28px rgba(37,99,235,.08);
  transform: translateX(3px);
}

.nv-sidebar-icon {
  width: clamp(3.05rem, 3.1vw, 3.75rem);
  height: clamp(3.05rem, 3.1vw, 3.75rem);
  border-radius: 1.05rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #1d4ed8;
  background: linear-gradient(135deg, rgba(219,234,254,.95), rgba(207,250,254,.9));
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.74), 0 10px 24px rgba(37,99,235,.08);
  font-size: clamp(1.25rem, 1.38vw, 1.65rem);
  font-weight: 950;
  flex: 0 0 auto;
}

.nv-admin-footer {
  margin-left: clamp(340px, 16vw, 600px);
}

@media (max-width: 991px) {
  .nv-admin-layout {
    display: block;
  }
  .nv-admin-sidebar {
    position: static;
    height: auto;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: .5rem 1rem;
    border-right: 0;
    border-bottom: 1px solid var(--nv-border);
  }
  .nv-sidebar-section {
    border-bottom: 0;
  }
  .nv-admin-main {
    padding: 1.25rem .85rem;
  }
  .nv-admin-footer {
    margin-left: 0;
  }
}

/* VerText public page polish */
.vertext-hero {
  min-height: auto;
  margin: 1.25rem 0 2rem;
}
.vertext-hero-copy,
.vertext-note {
  color: rgba(255,255,255,.82);
  max-width: 820px;
  font-size: 1.08rem;
}
.vertext-note {
  font-weight: 700;
}
.vertext-section {
  margin: 2rem 0;
}
.vertext-phone-card {
  border: 1px solid rgba(255,255,255,.20);
  border-radius: 1.35rem;
  background: rgba(255,255,255,.12);
  padding: 1rem;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.16), 0 24px 70px rgba(2,6,23,.26);
  backdrop-filter: blur(12px);
}
.vertext-phone-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  margin-bottom: .8rem;
}
.vertext-phone-header small {
  color: rgba(255,255,255,.72);
  font-weight: 800;
}
.vertext-mini-chat,
.vertext-chat-body {
  display: grid;
  gap: .75rem;
}
.vertext-bubble {
  max-width: 82%;
  border-radius: 1rem;
  padding: .75rem .9rem;
  line-height: 1.35;
  box-shadow: 0 12px 28px rgba(15,23,42,.10);
}
.vertext-bubble small {
  display: block;
  margin-bottom: .25rem;
  color: inherit;
  opacity: .72;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .06em;
  font-size: .68rem;
}
.vertext-bubble.sender {
  justify-self: start;
  color: #0f172a;
  background: #fff;
}
.vertext-bubble.recipient {
  justify-self: end;
  color: #fff;
  background: linear-gradient(135deg, var(--nv-blue), var(--nv-cyan));
}
.vertext-bubble.system {
  justify-self: center;
  max-width: 92%;
  color: #1e3a8a;
  background: #dbeafe;
  font-size: .9rem;
  text-align: center;
}
.vertext-incoming-card {
  display: grid;
  gap: 1rem;
  border: 1px solid rgba(37,99,235,.16);
  border-radius: 1.15rem;
  background: linear-gradient(135deg, #eff6ff, #fff);
  padding: 1.25rem;
}
.vertext-capability-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem;
}
.vertext-capability-grid span {
  border: 1px solid rgba(37,99,235,.16);
  border-radius: 999px;
  background: #eff6ff;
  color: #1e3a8a;
  padding: .75rem 1rem;
  font-weight: 900;
  text-align: center;
}
.vertext-demo-modal .modal-content {
  border: 0;
  border-radius: 1.25rem;
  box-shadow: 0 32px 110px rgba(15,23,42,.28);
  overflow: hidden;
}
.vertext-demo-modal .modal-header,
.vertext-demo-modal .modal-footer {
  border-color: var(--nv-border);
}
.vertext-endpoint-box {
  display: grid;
  gap: .4rem;
  border: 1px solid rgba(6,182,212,.24);
  border-radius: 1rem;
  background: #ecfeff;
  padding: .9rem 1rem;
}
.vertext-endpoint-box span {
  color: #155e75;
  font-size: .74rem;
  font-weight: 950;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.vertext-endpoint-box code {
  color: #0f766e;
  overflow-wrap: anywhere;
  font-size: 1rem;
}
.vertext-chat-window {
  border: 1px solid var(--nv-border);
  border-radius: 1.1rem;
  overflow: hidden;
  background: #f8fafc;
}
.vertext-chat-topbar {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: .9rem 1rem;
  background: #fff;
  border-bottom: 1px solid var(--nv-border);
}
.vertext-chat-topbar span {
  color: var(--nv-muted);
  font-weight: 800;
  font-size: .9rem;
}
.vertext-chat-body {
  padding: 1rem;
}
.vertext-chat-input {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .8rem;
  margin: 0 1rem 1rem;
  border: 1px solid var(--nv-border);
  border-radius: 999px;
  background: #fff;
  padding: .55rem .65rem .55rem 1rem;
}
.vertext-chat-input span {
  color: #94a3b8;
}
@media (max-width: 900px) {
  .vertext-capability-grid { grid-template-columns: 1fr; }
  .vertext-chat-topbar { display: grid; }
  .vertext-bubble { max-width: 94%; }
}

/* VerText modal attachment and upload affordances */
.vertext-bubble-with-attachment {
  max-width: min(92%, 32rem);
}
.vertext-file-preview {
  position: relative;
  display: grid;
  grid-template-columns: 5.2rem minmax(0, 1fr);
  gap: .75rem;
  align-items: center;
  margin-top: .8rem;
  border: 1px solid rgba(148,163,184,.28);
  border-radius: .9rem;
  background: linear-gradient(135deg, #f8fafc, #fff);
  padding: .75rem;
  overflow: hidden;
}
.vertext-file-preview::after {
  content: "";
  position: absolute;
  inset: auto -1.5rem -2.8rem auto;
  width: 8rem;
  height: 8rem;
  border-radius: 999px;
  background: rgba(37,99,235,.08);
  pointer-events: none;
}
.vertext-file-ribbon {
  position: absolute;
  top: .65rem;
  left: .65rem;
  z-index: 2;
  border-radius: .45rem;
  background: #dc2626;
  color: #fff;
  padding: .18rem .38rem;
  font-size: .66rem;
  font-weight: 950;
  letter-spacing: .06em;
}
.vertext-file-page {
  position: relative;
  min-height: 6.5rem;
  border: 1px solid #e2e8f0;
  border-radius: .65rem;
  background: #fff;
  padding: 1.75rem .55rem .55rem;
  box-shadow: 0 10px 24px rgba(15,23,42,.08);
  overflow: hidden;
}
.vertext-file-title {
  height: .6rem;
  width: 72%;
  border-radius: 999px;
  background: #0f172a;
  opacity: .82;
  text-indent: -999px;
  overflow: hidden;
  margin-bottom: .55rem;
}
.vertext-file-line {
  height: .32rem;
  border-radius: 999px;
  background: #cbd5e1;
  margin-bottom: .38rem;
}
.vertext-file-signature {
  display: inline-flex;
  margin-top: .45rem;
  border: 1px dashed #f59e0b;
  border-radius: .45rem;
  color: #92400e;
  background: #fffbeb;
  padding: .22rem .35rem;
  font-size: .62rem;
  font-weight: 950;
}
.vertext-file-meta {
  min-width: 0;
  position: relative;
  z-index: 1;
}
.vertext-file-meta strong,
.vertext-file-meta span {
  display: block;
}
.vertext-file-meta strong {
  overflow-wrap: anywhere;
}
.vertext-file-meta span {
  color: #64748b;
  margin-top: .2rem;
  font-size: .84rem;
}
.vertext-upload-control {
  display: grid;
  place-items: center;
  gap: .25rem;
  margin-top: .8rem;
  border: 1.5px dashed rgba(255,255,255,.72);
  border-radius: .9rem;
  background: rgba(255,255,255,.16);
  padding: .85rem;
  cursor: pointer;
  text-align: center;
  transition: background .15s ease, transform .15s ease;
}
.vertext-upload-control:hover,
.vertext-upload-control:focus-within {
  background: rgba(255,255,255,.25);
  transform: translateY(-1px);
}
.vertext-upload-control input {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  opacity: 0;
  pointer-events: none;
}
.vertext-upload-control strong,
.vertext-upload-control em {
  display: block;
}
.vertext-upload-control em {
  font-style: normal;
  color: rgba(255,255,255,.82);
  font-size: .82rem;
}
.vertext-upload-icon {
  display: grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  color: #1d4ed8;
  background: #fff;
  font-weight: 950;
}
@media (max-width: 640px) {
  .vertext-file-preview { grid-template-columns: 1fr; }
  .vertext-file-page { max-width: 8rem; }
}

/* VerText chat upload should appear as its own pre-reply action */
.vertext-upload-message {
  justify-self: end;
  width: min(92%, 24rem);
}
.vertext-upload-message .vertext-upload-control {
  margin-top: 0;
  border-color: rgba(37,99,235,.42);
  background: linear-gradient(135deg, #eff6ff, #ecfeff);
  color: #0f172a;
  box-shadow: 0 14px 32px rgba(37,99,235,.12);
}
.vertext-upload-message .vertext-upload-control:hover,
.vertext-upload-message .vertext-upload-control:focus-within {
  background: linear-gradient(135deg, #dbeafe, #cffafe);
}
.vertext-upload-message .vertext-upload-control em {
  color: #64748b;
}
.vertext-upload-message .vertext-upload-icon {
  color: #fff;
  background: linear-gradient(135deg, var(--nv-blue), var(--nv-cyan));
}

/* Features remains one menu, with internal secondary groups. Developers stays separate. */
.nv-features-mega {
  width: min(920px, calc(100vw - 2rem));
  grid-template-columns: 1.05fr repeat(4, minmax(0, 1fr));
  gap: .45rem;
  padding: .75rem;
}
.nv-features-mega.show,
.nv-hover-dropdown:hover > .nv-features-mega,
.nv-hover-dropdown:focus-within > .nv-features-mega {
  display: grid;
}
.nv-menu-group {
  min-width: 0;
  border-radius: .85rem;
  padding: .25rem;
}
.nv-menu-group-overview {
  background: linear-gradient(135deg, rgba(37,99,235,.08), rgba(6,182,212,.08));
}
.nv-menu-group-overview .dropdown-item.fw-bold {
  color: var(--nv-blue);
}
.nv-menu-group + .nv-menu-group {
  border-left: 1px solid rgba(226,232,240,.9);
}
.nv-menu-group .dropdown-item {
  white-space: normal;
  line-height: 1.15;
}
@media (max-width: 991px) {
  .nv-features-mega,
  .nv-features-mega.show,
  .nv-hover-dropdown:hover > .nv-features-mega,
  .nv-hover-dropdown:focus-within > .nv-features-mega {
    display: block;
    width: 100%;
  }
  .nv-menu-group + .nv-menu-group {
    border-left: 0;
    border-top: 1px solid rgba(226,232,240,.9);
    margin-top: .4rem;
    padding-top: .6rem;
  }
}

/* MCP replacement page: compact hero and section spacing */
.mcp-replacement-hero {
  min-height: auto;
  padding: clamp(2.25rem, 5vw, 4rem) 0 1.25rem;
  margin-bottom: 1.25rem;
}
.mcp-replacement-hero h1 {
  max-width: 900px;
  font-weight: 950;
  letter-spacing: -.05em;
  line-height: .98;
  font-size: clamp(2.8rem, 7vw, 5.6rem);
}
.mcp-replacement-hero .hero-subtitle {
  max-width: 860px;
  color: var(--nv-muted);
  font-size: clamp(1.1rem, 2vw, 1.35rem);
  margin-top: 1rem;
}
.mcp-replacement-hero + .content-section {
  margin-top: 0;
}
.content-section {
  margin: 1.35rem 0;
}

/* App Vertex Localhost to Globalhost page */
.app-dark-section {
  color: #e5f2ff;
  background:
    radial-gradient(circle at top left, rgba(34,211,238,.20), transparent 24rem),
    radial-gradient(circle at bottom right, rgba(37,99,235,.26), transparent 22rem),
    linear-gradient(135deg, #020617, #0f172a 48%, #172554);
  border-radius: 1.6rem;
  padding: clamp(1.5rem, 4vw, 3rem);
  box-shadow: 0 28px 85px rgba(15,23,42,.22);
}
.app-dark-section p { color: rgba(226,242,255,.82); }
.app-flow-diagram,
.app-polygon-diagram {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem;
}
.app-flow-diagram span,
.app-polygon-diagram span {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 3rem;
  padding: .75rem 1rem;
  border-radius: 999px;
  color: #0f172a;
  background: #ecfeff;
  border: 1px solid rgba(103,232,249,.45);
  font-weight: 900;
  box-shadow: 0 14px 32px rgba(8,145,178,.10);
}
.app-flow-diagram span:not(:last-child)::after,
.app-polygon-diagram span:not(:last-child)::after {
  content: "→";
  margin-left: .75rem;
  color: #67e8f9;
  font-weight: 950;
}
.app-use-case-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1rem;
}
.app-summon-section {
  border: 1px solid rgba(37,99,235,.16);
  border-radius: 1.6rem;
  padding: clamp(1.5rem, 4vw, 3rem);
  background:
    radial-gradient(circle at 88% 10%, rgba(6,182,212,.18), transparent 22rem),
    linear-gradient(135deg, rgba(239,246,255,.98), rgba(255,255,255,.94));
}
.app-killer-line {
  display: inline-flex;
  margin-top: .75rem;
  padding: .85rem 1rem;
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(135deg, #1d4ed8, #06b6d4);
  font-weight: 950;
  box-shadow: 0 18px 45px rgba(37,99,235,.20);
}
.app-target-card { min-height: 100%; }
.comparison-table { overflow-x: auto; }
.comparison-table table { width: 100%; border-collapse: collapse; }
.comparison-table th,
.comparison-table td { padding: 1rem; border-bottom: 1px solid var(--nv-border); vertical-align: top; }
.comparison-table th { color: #64748b; font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; }
@media (max-width: 1200px) { .app-use-case-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 767px) { .app-use-case-grid { grid-template-columns: 1fr; } .app-flow-diagram span, .app-polygon-diagram span { width: 100%; justify-content: space-between; } }

/* Quick vertex pruning */
.vertex-prune-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin: 0 0 1rem;
  padding: .85rem 1rem;
  border: 1px solid rgba(239,68,68,.18);
  border-radius: .95rem;
  background: linear-gradient(135deg, rgba(254,242,242,.96), rgba(255,255,255,.96));
}
.vertex-prune-toolbar strong,
.vertex-prune-toolbar span { display: block; }
.vertex-prune-toolbar span { color: var(--nv-muted); font-size: .9rem; }
.vertex-prune-select {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .35rem;
  min-height: 1.85rem;
  padding: .23rem .48rem;
  border: 1px solid rgba(148,163,184,.55);
  border-radius: .52rem;
  color: #334155;
  background: #fff;
  font-size: .78rem;
  font-weight: 800;
  line-height: 1.15;
}
.vertex-prune-select input { margin: 0; }

/* App Vertex analytics visual */
.app-analytics-showcase {
  border: 1px solid rgba(37,99,235,.14);
  border-radius: 1.6rem;
  padding: clamp(1.5rem, 4vw, 3rem);
  background:
    radial-gradient(circle at 10% 0%, rgba(37,99,235,.12), transparent 25rem),
    radial-gradient(circle at 94% 4%, rgba(6,182,212,.13), transparent 24rem),
    rgba(255,255,255,.94);
  box-shadow: 0 24px 70px rgba(15,23,42,.07);
}
.app-analytics-mock {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}
.app-analytics-stat,
.app-analytics-card {
  border: 1px solid var(--nv-border);
  border-radius: 1.25rem;
  background: rgba(255,255,255,.92);
  box-shadow: 0 18px 45px rgba(15,23,42,.06);
}
.app-analytics-stat {
  min-height: 8.5rem;
  padding: 1.3rem;
}
.app-analytics-stat span {
  display: block;
  color: #64748b;
  font-size: .78rem;
  font-weight: 950;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.app-analytics-stat strong {
  display: block;
  margin-top: .8rem;
  color: #0f172a;
  font-size: clamp(2.1rem, 4vw, 3.4rem);
  font-weight: 950;
  line-height: 1;
}
.app-analytics-card {
  position: relative;
  padding: 1.35rem;
  min-height: 15rem;
}
.app-analytics-card-wide { grid-column: span 2; }
.app-analytics-card h3 {
  margin: 0 0 .55rem;
  font-size: clamp(1.55rem, 3vw, 2.6rem);
  font-weight: 950;
  letter-spacing: -.04em;
}
.app-analytics-card code,
.app-analytics-card small { display: block; }
.app-analytics-card code {
  width: fit-content;
  max-width: 100%;
  overflow-wrap: anywhere;
  color: #0f766e;
  background: #ecfeff;
  border-radius: .75rem;
  padding: .45rem .65rem;
}
.app-analytics-card small { color: var(--nv-muted); margin-top: .75rem; font-weight: 800; }
.app-analytics-card .status-pill { position: absolute; top: 1.35rem; right: 1.35rem; }
.app-analytics-card-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .7rem;
  margin-top: 1.25rem;
}
.app-analytics-card-stats span {
  border: 1px solid var(--nv-border);
  border-radius: .8rem;
  padding: .75rem;
  background: #fff;
  color: #475569;
}
.app-analytics-card-stats b { display: block; color: #0f172a; font-size: 1.3rem; }
@media (max-width: 1100px) { .app-analytics-mock { grid-template-columns: repeat(2, minmax(0, 1fr)); } .app-analytics-card-wide { grid-column: span 2; } }
@media (max-width: 700px) { .vertex-prune-toolbar { align-items: stretch; flex-direction: column; } .app-analytics-mock { grid-template-columns: 1fr; } .app-analytics-card-wide { grid-column: auto; } .app-analytics-card .status-pill { position: static; margin: .5rem 0; display: inline-flex; } .app-analytics-card-stats { grid-template-columns: 1fr; } }

/* Create Vertex image-first defaults */
.suggested-vertex-key {
  border-color: rgba(37,99,235,.55);
  background: linear-gradient(135deg, #eff6ff, #ffffff);
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-weight: 900;
  color: #0f766e;
}
.suggested-vertex-key:focus {
  border-color: #2563eb;
  box-shadow: 0 0 0 .25rem rgba(37,99,235,.18);
}

/* Production vertex management grid */
.vertex-grid-controls{display:grid;grid-template-columns:minmax(260px,1fr) 190px 190px;gap:.75rem;align-items:center;margin:1rem 0}.vertex-search-box{display:flex;align-items:center;gap:.55rem;border:1px solid var(--nv-border);border-radius:.9rem;background:#fff;padding:.58rem .75rem;box-shadow:0 10px 28px rgba(15,23,42,.04)}.vertex-search-box span{font-weight:950;color:#64748b}.vertex-search-box input{border:0;outline:0;width:100%;font:inherit;color:#0f172a}.vertex-bulk-toolbar{position:sticky;top:6.65rem;z-index:50;display:none;align-items:center;gap:.65rem;margin:.75rem 0;padding:.7rem .85rem;border:1px solid rgba(37,99,235,.22);border-radius:1rem;background:rgba(255,255,255,.96);box-shadow:0 20px 55px rgba(15,23,42,.14);backdrop-filter:blur(16px)}.vertex-bulk-toolbar.show{display:flex}.vertex-bulk-toolbar>div{margin-right:auto}.vertex-bulk-toolbar strong,.vertex-bulk-toolbar span{display:block}.vertex-bulk-toolbar span{font-size:.82rem;color:#64748b}.vertex-management-grid{font-size:.92rem}.vertex-management-grid thead th{position:sticky;top:0;z-index:5;background:#fff;border-bottom:1px solid #dbe4f0;box-shadow:0 1px 0 #e2e8f0}.vertex-management-grid th.sortable{cursor:pointer;user-select:none}.vertex-management-grid th.sortable::after{content:'↕';font-size:.7rem;margin-left:.35rem;color:#94a3b8}.vertex-management-grid th.sortable[data-dir='asc']::after{content:'↑';color:#2563eb}.vertex-management-grid th.sortable[data-dir='desc']::after{content:'↓';color:#2563eb}.vertex-management-grid td{padding:.58rem .65rem!important;vertical-align:middle!important}.vertex-management-grid tbody tr{transition:background .15s ease}.vertex-management-grid tbody tr:hover{background:#f8fbff}.vertex-select-col{width:42px;text-align:center}.vertex-management-grid .vertices-actions-col{width:74px;text-align:right}.vertex-action-menu .dropdown-toggle{width:2.1rem;height:2.1rem;border-radius:.7rem;padding:0;font-size:1.2rem;line-height:1;font-weight:950}.vertex-action-menu .dropdown-toggle::after{display:none}.vertex-action-menu .dropdown-menu{border:1px solid var(--nv-border);border-radius:.85rem;box-shadow:0 24px 70px rgba(15,23,42,.18);padding:.4rem;min-width:170px}.vertex-action-menu .dropdown-item{border-radius:.55rem;font-weight:750;padding:.48rem .65rem}.vertex-type-badge{display:inline-flex;align-items:center;border:1px solid #dbeafe;border-radius:999px;background:#eff6ff;color:#1d4ed8!important;padding:.24rem .55rem;font-size:.76rem;font-weight:900}.vertex-management-grid .status-pill{padding:.25rem .52rem!important;font-size:.74rem!important}.vertex-management-grid .vertices-url-cell strong{display:block;font-size:.98rem;line-height:1.1;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vertex-management-grid .vertices-url-cell code{display:inline-block;font-size:.78rem;padding:.22rem .42rem;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vertex-management-grid td small{display:block;margin-top:.18rem;font-size:.76rem;color:#64748b;line-height:1.25}.vertex-metric-strip{display:grid;grid-template-columns:repeat(4,minmax(46px,1fr));gap:.25rem;max-width:280px}.vertex-metric-strip span{display:block;border:1px solid #e2e8f0;border-radius:.55rem;padding:.25rem .35rem;background:#fff;color:#64748b!important;font-size:.68rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.vertex-metric-strip b{display:block;color:#0f172a;font-size:.95rem;letter-spacing:0}.vertex-last-hit{font-size:.84rem;color:#475569}.vertices-table-wrap{overflow-x:auto!important;max-height:calc(100vh - 17rem);border:1px solid #edf2f7;border-radius:1rem}.vertex-management-grid{min-width:1080px!important;table-layout:fixed}.vertex-management-grid th:nth-child(2){width:25%}.vertex-management-grid th:nth-child(3){width:9%}.vertex-management-grid th:nth-child(4){width:13%}.vertex-management-grid th:nth-child(5){width:13%}.vertex-management-grid th:nth-child(6){width:20%}.vertex-management-grid th:nth-child(7){width:12%}@media(max-width:900px){.vertex-grid-controls{grid-template-columns:1fr}.vertex-bulk-toolbar{top:6.2rem;flex-wrap:wrap}.vertex-management-grid{min-width:980px!important}.vertices-table-wrap{max-height:none}.vertex-management-grid thead{display:table-header-group!important}.vertex-management-grid tr{display:table-row!important;border:0!important;padding:0!important}.vertex-management-grid th,.vertex-management-grid td{display:table-cell!important;width:auto!important}}

/* Vertex grid requested column ordering and visible selection rail */
.vertex-management-grid .vertex-select-col{background:linear-gradient(180deg,#eff6ff,#e0f2fe)!important;border-right:1px solid #bfdbfe!important}.vertex-management-grid thead .vertex-select-col{background:linear-gradient(180deg,#dbeafe,#cffafe)!important}.vertex-management-grid .vertex-select-col .form-check-input{width:1.08rem;height:1.08rem;border:2px solid #2563eb;background-color:#fff;box-shadow:0 0 0 .18rem rgba(37,99,235,.08)}.vertex-management-grid .vertex-select-col .form-check-input:checked{background-color:#2563eb;border-color:#1d4ed8}.vertex-management-grid tbody tr:has(.vertex-row-check:checked){background:#f0f7ff}.vertex-management-grid .vertices-actions-col{background:#fff!important;border-right:1px solid #eef2f7}.vertex-management-grid th:nth-child(2){width:74px}.vertex-management-grid th:nth-child(3){width:25%}.vertex-management-grid th:nth-child(4){width:9%}.vertex-management-grid th:nth-child(5){width:13%}.vertex-management-grid th:nth-child(6){width:13%}.vertex-management-grid th:nth-child(7){width:20%}.vertex-management-grid th:nth-child(8){width:12%}

/* Vertex registry: keep row action menus usable even when the table has very few rows. */
.vertices-registry .admin-panel.wide,
.vertices-panel {
  overflow: visible;
}
.vertices-registry .vertices-table-wrap {
  overflow: visible !important;
  max-height: none !important;
  min-height: 30rem;
  padding-bottom: 12rem;
}
.vertices-registry .vertex-management-grid {
  overflow: visible;
}
.vertices-registry .vertex-action-menu .dropdown-menu {
  z-index: 4000;
}
@media (max-width: 900px) {
  .vertices-registry .vertices-table-wrap {
    min-height: 36rem;
    padding-bottom: 14rem;
  }
}
