@font-face {
  font-family: "VT Manrope";
  src: url("/fonts/vt-manrope-latin-variable.woff2?v=69") format("woff2-variations");
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

@font-face {
  font-family: "VT Space Grotesk";
  src: url("/fonts/vt-space-grotesk-latin-variable.woff2?v=69") format("woff2-variations");
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

@font-face {
  font-family: "VT IBM Plex Mono";
  src: url("/fonts/vt-ibm-plex-mono-latin-variable.woff2?v=69") format("woff2-variations");
  font-style: normal;
  font-weight: 100 700;
  font-display: swap;
  unicode-range: U+0020-007E,U+00A0-00FF,U+0131,U+0152-0153,U+02C6,U+02DA,U+02DC,U+2013-2014,U+2018-201A,U+201C-201E,U+2020-2022,U+2026,U+2030,U+2039-203A,U+2044,U+20AC,U+2122,U+2212,U+FB01-FB02;
}

:root {
  color-scheme: light;
  --vt-page-bg: #f7f5fb;
  --vt-bg: var(--vt-page-bg);
  --vt-bg-lavender: #f2efff;
  --vt-bg-grid: rgba(104, 84, 216, 0.065);
  --vt-surface: #fefdfe;
  --vt-surface-soft: #faf8fd;
  --vt-surface-lavender: #f2eefa;
  --vt-surface-violet: #ece8ff;
  --vt-ink: #0e0f16;
  --vt-ink-secondary: #414657;
  --vt-ink-muted: #697083;
  --vt-ink-disabled: #7f879a;
  --vt-sidebar: #1b1728;
  --vt-sidebar-raised: #272038;
  --vt-tech-surface: #211b31;
  --vt-tech-raised: #2b2340;
  --vt-tech-border: rgba(186, 170, 244, 0.18);
  --vt-night: var(--vt-tech-surface);
  --vt-night-raised: var(--vt-tech-raised);
  --vt-night-soft: #312846;
  --vt-night-border: var(--vt-tech-border);
  --vt-night-text: #f8f7ff;
  --vt-night-muted: #bbb3cf;
  --vt-violet: #7562d8;
  --vt-violet-hover: #6754ca;
  --vt-violet-bright: #9b89ee;
  --vt-violet-deep: #5b49bd;
  --vt-electric: #9b89ee;
  --vt-blue-violet: #758ce0;
  --vt-violet-soft: #eeeafe;
  --vt-border: #e4e1ec;
  --vt-border-strong: #d2ccdf;
  --vt-success: #17834f;
  --vt-success-soft: #eaf8f0;
  --vt-warning: #a85b11;
  --vt-warning-soft: #fff5e8;
  --vt-danger: #b42318;
  --vt-danger-soft: #fff0ee;
  --vt-info: #315fd3;
  --vt-info-soft: #edf3ff;
  --vt-shadow-xs: 0 1px 2px rgba(20, 16, 40, 0.04);
  --vt-shadow-sm: 0 4px 14px rgba(31, 24, 70, 0.065);
  --vt-shadow-md: 0 14px 40px rgba(37, 27, 83, 0.1);
  --vt-shadow-violet: 0 16px 44px rgba(100, 75, 220, 0.16);
  --vt-radius-sm: 8px;
  --vt-radius-md: 12px;
  --vt-radius-lg: 16px;
  --vt-radius-xl: 22px;
  --vt-focus: 0 0 0 4px rgba(109, 85, 230, 0.2);
  --vt-space-1: 4px;
  --vt-space-2: 8px;
  --vt-space-3: 12px;
  --vt-space-4: 16px;
  --vt-space-5: 20px;
  --vt-space-6: 24px;
  --vt-space-8: 32px;
  --vt-space-10: 40px;
  --font-ui: "VT Manrope", Manrope, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-display: "VT Space Grotesk", "VT Manrope", sans-serif;
  --font-mono: "VT IBM Plex Mono", "SFMono-Regular", Consolas, monospace;
  --vt-font: var(--font-ui);
  --vt-display: var(--font-ui);
  --vt-mono: var(--font-mono);
}

*, *::before, *::after { box-sizing: border-box; }
html { min-width: 0; max-width: 100%; overflow-x: clip; background: var(--vt-bg); font-family: var(--vt-font); font-synthesis: none; font-optical-sizing: auto; text-rendering: optimizeLegibility; -webkit-text-size-adjust: 100%; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
body, button, input, select, textarea, table, dialog, [role="tooltip"], .status-badge { font-family: inherit; font-synthesis: none; }
body { margin: 0; min-width: 0; max-width: 100%; min-height: 100vh; overflow-x: clip; background: var(--vt-bg); color: var(--vt-ink); font-size: 14px; line-height: 1.58; }
button, input, select, textarea { font-size: 1rem; }
button, a, input, select, textarea, summary { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }
button:not(:disabled), a[href], summary { cursor: pointer; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible, [tabindex]:focus-visible { outline: 0; box-shadow: var(--vt-focus); }
button:disabled, input:disabled, select:disabled, textarea:disabled { cursor: not-allowed; }
a { color: var(--vt-violet-deep); text-underline-offset: 3px; }
h1, h2, h3, h4, p { margin-top: 0; }
h1, h2, h3, h4 { color: var(--vt-ink); font-family: var(--font-ui); line-height: 1.15; letter-spacing: -0.015em; }
h1 { font-size: 28px; font-weight: 650; }
h2 { font-size: 19px; font-weight: 600; }
h3 { font-size: 16px; font-weight: 590; }
p { color: var(--vt-ink-secondary); }
code, pre, .keybox, .key-reveal, .model, [data-copy], .safe-id { font-family: var(--vt-mono); }
code, .keybox, .key-reveal, .metric strong, .stat-card strong, dd { font-variant-numeric: tabular-nums; }
img, svg { max-width: 100%; }
[hidden] { display: none !important; }
.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.safe-wrap, .model, code { overflow-wrap: anywhere; word-break: break-word; }

/* Controls */
.button, .public-button, button.button { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 10px 16px; border: 1px solid transparent; border-radius: var(--vt-radius-md); background: linear-gradient(135deg, var(--vt-violet), var(--vt-violet-deep)); color: #fff; font-weight: 580; line-height: 1.2; text-decoration: none; box-shadow: var(--vt-shadow-xs); transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease; }
.button:hover:not(:disabled), .public-button:hover { transform: translateY(-1px); box-shadow: var(--vt-shadow-violet); }
.button.subtle, .public-button-secondary { background: var(--vt-surface); color: var(--vt-ink); border-color: var(--vt-border-strong); box-shadow: var(--vt-shadow-xs); }
.button.quiet, .ghost { background: transparent; color: var(--vt-ink-secondary); border-color: transparent; box-shadow: none; }
.button.danger { background: var(--vt-danger); }
.danger-text { color: var(--vt-danger) !important; }
.button:disabled, .public-button:disabled { background: var(--vt-surface-violet); color: var(--vt-ink-disabled); border-color: var(--vt-border); box-shadow: none; transform: none; }
.field { min-width: 0; display: grid; gap: 7px; }
.field label, label { color: var(--vt-ink-secondary); font-size: 14px; font-weight: 520; }
.field small, .hint, small { color: var(--vt-ink-muted); font-size: 13px; line-height: 1.45; }
input:not([type="checkbox"]):not([type="radio"]), select, textarea { width: 100%; min-height: 44px; border: 1px solid var(--vt-border-strong); border-radius: var(--vt-radius-md); background: var(--vt-surface); color: var(--vt-ink); padding: 10px 12px; outline: 0; transition: border 160ms ease, box-shadow 160ms ease, background 160ms ease; }
textarea { min-height: 116px; resize: vertical; }
input:hover, select:hover, textarea:hover { border-color: #bbb3d2; }
input:focus, select:focus, textarea:focus { border-color: var(--vt-violet); box-shadow: var(--vt-focus); }
input::placeholder, textarea::placeholder { color: var(--vt-ink-disabled); }
input:disabled, select:disabled, textarea:disabled { background: var(--vt-surface-soft); color: var(--vt-ink-disabled); opacity: 1; }
input[type="checkbox"], input[type="radio"] { accent-color: var(--vt-violet); }
.error { min-height: 0; color: var(--vt-danger); font-size: 14px; }
.error:not(:empty) { margin-top: 8px; padding: 10px 12px; border-radius: var(--vt-radius-sm); background: var(--vt-danger-soft); }
.eyebrow, .section-heading span, .activation-panel-copy > span, .identity-form-heading > span { color: var(--vt-violet-deep); font-size: 12px; font-weight: 650; letter-spacing: 0.09em; text-transform: uppercase; }

/* Landing */
.public-site { min-height: 100vh; background: var(--vt-bg); background-image: linear-gradient(var(--vt-bg-grid) 1px, transparent 1px), linear-gradient(90deg, var(--vt-bg-grid) 1px, transparent 1px); background-size: 34px 34px; }
.public-header { position: sticky; z-index: 30; top: 0; width: min(1420px, calc(100% - 48px)); min-height: 76px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 24px; background: rgba(247, 246, 252, 0.88); backdrop-filter: blur(18px); border-bottom: 1px solid rgba(210, 204, 223, 0.7); }
.public-brand { display: inline-flex; align-items: baseline; gap: 8px; color: var(--vt-ink); text-decoration: none; }
.public-brand strong { font-size: 20px; font-weight: 680; letter-spacing: -0.03em; }
.public-brand span { color: var(--vt-ink-muted); font-size: 12px; }
.public-navigation { display: flex; align-items: center; gap: 32px; }
.public-navigation nav { display: flex; gap: 28px; }
.public-navigation nav a, .public-text-button { border: 0; background: transparent; color: var(--vt-ink-secondary); text-decoration: none; font-size: 14px; font-weight: 520; }
.public-header-actions { display: flex; align-items: center; gap: 12px; }
.public-button { min-height: 42px; padding: 10px 15px; }
.public-menu-toggle { display: none; width: 44px; height: 44px; border: 0; border-radius: var(--vt-radius-md); background: var(--vt-surface); }
.public-menu-toggle i { display: block; width: 18px; height: 2px; margin: 4px auto; background: var(--vt-ink); }
.public-session-notice { width: min(1320px, calc(100% - 48px)); margin: 16px auto 0; padding: 12px 16px; border: 1px solid var(--vt-border); border-radius: var(--vt-radius-md); background: var(--vt-surface); color: var(--vt-ink-secondary); }
.public-hero { width: min(1320px, calc(100% - 48px)); min-height: 680px; margin: 0 auto; padding: 92px 0 80px; display: grid; grid-template-columns: minmax(0, 0.95fr) minmax(480px, 1.05fr); align-items: center; gap: clamp(42px, 6vw, 96px); }
.public-kicker { display: flex; align-items: center; gap: 9px; margin-bottom: 22px; color: var(--vt-violet-deep); font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.public-kicker span, .public-engine-note span { width: 8px; height: 8px; border-radius: 50%; background: var(--vt-violet-bright); box-shadow: 0 0 18px rgba(128, 103, 243, .55); }
.public-hero h1 { max-width: 760px; margin-bottom: 26px; font-family: var(--font-display); font-size: clamp(52px, 6vw, 82px); font-weight: 660; letter-spacing: -0.055em; line-height: .98; }
.public-hero-heading-visual { display: block; }
.public-hero-phrase-stage { position: relative; display: grid; width: 100%; min-height: 2.08em; overflow: hidden; }
.public-hero-phrase { grid-area: 1 / 1; align-self: start; padding-block: .05em .1em; background: linear-gradient(105deg, var(--vt-violet), var(--vt-blue-violet)); background-clip: text; color: transparent; -webkit-background-clip: text; -webkit-text-fill-color: transparent; opacity: 0; transform: translateY(.18em); transition: opacity 360ms ease, transform 360ms cubic-bezier(.22,.72,.2,1); }
.public-hero-phrase.is-active { opacity: 1; transform: translateY(0); }
.public-hero-phrase.is-leaving { opacity: 0; transform: translateY(-.12em); }
.public-hero-copy > p { max-width: 620px; color: var(--vt-ink-secondary); font-size: 18px; line-height: 1.65; }
.public-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 30px 0; }
.public-engine-note { display: flex; align-items: center; gap: 9px; color: var(--vt-ink-muted); font-size: 13px; }
.public-hero-visual { position: relative; isolation: isolate; min-height: 510px; overflow: hidden; border: 1px solid var(--vt-tech-border); border-radius: 28px; background: radial-gradient(circle at 68% 20%, rgba(155, 137, 238, .12), transparent 38%), linear-gradient(145deg, var(--vt-tech-raised), var(--vt-tech-surface)); box-shadow: var(--vt-shadow-md), 0 40px 80px rgba(45, 32, 78, .12); }
.public-fluid-field { --fluid-x: 68%; --fluid-y: 24%; position: absolute; z-index: 0; inset: -18%; overflow: hidden; pointer-events: none; opacity: .74; transition: opacity 220ms ease; }
.public-fluid-field i { position: absolute; inset: 0; filter: url(#public-fluid-distortion) blur(18px); transform: translate3d(calc((var(--fluid-x) - 50%) * .045), calc((var(--fluid-y) - 50%) * .045), 0); transition: transform 420ms cubic-bezier(.22,.72,.2,1); }
.public-fluid-field i:first-child { background: radial-gradient(circle at var(--fluid-x) var(--fluid-y), rgba(155,137,238,.3), transparent 30%), radial-gradient(circle at 24% 70%, rgba(117,140,224,.16), transparent 34%); }
.public-fluid-field i:nth-child(2) { inset: 12% -8% -6% 18%; background: radial-gradient(ellipse at calc(100% - var(--fluid-x)) calc(100% - var(--fluid-y)), rgba(117,98,216,.2), transparent 38%); opacity: .72; transform: translate3d(calc((50% - var(--fluid-x)) * .03), calc((50% - var(--fluid-y)) * .03), 0) rotate(-7deg); }
.public-fluid-field svg { position: absolute; width: 0; height: 0; }
.public-routing-scene { position: absolute; z-index: 2; inset: 20px 12px 92px; display: grid; place-items: center; perspective: 900px; perspective-origin: 50% 42%; pointer-events: none; }
.public-routing-plane { position: relative; width: min(96%, 650px); aspect-ratio: 620 / 430; transform-style: preserve-3d; transform: rotateX(54deg) rotateZ(-4deg) translateY(-2%); animation: public-routing-plane-float 9s ease-in-out infinite; }
.public-routing-plane::before, .public-routing-plane::after { content: ""; position: absolute; inset: 7% 4%; border: 1px solid rgba(186,170,244,.13); border-radius: 24px; background: linear-gradient(rgba(155,137,238,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(155,137,238,.035) 1px, transparent 1px); background-size: 32px 32px; transform: translateZ(-18px); box-shadow: 0 28px 52px rgba(5,3,14,.2); }
.public-routing-plane::after { inset: 12% 8%; opacity: .62; transform: translateZ(-36px); }
.public-hero-flow { position: relative; z-index: 2; width: 100%; height: 100%; overflow: visible; transform: translateZ(18px); }
.ev-route { fill: none; stroke: url(#ev-line); stroke-width: 2.4; filter: url(#ev-glow); stroke-dasharray: 5 12; animation: route-flow 9s linear infinite; }
.ev-route-secondary { opacity: .42; animation-delay: -4.5s; }
.ev-pulse { fill: var(--vt-electric); filter: url(#ev-glow); offset-rotate: 0deg; opacity: 0; animation: ev-pulse-travel 9s cubic-bezier(.42,0,.58,1) infinite; }
.ev-pulse-primary { offset-path: path("M74 215 C150 215 172 135 242 135 S338 215 402 215 S478 125 552 125"); }
.ev-pulse-secondary { offset-path: path("M74 215 C168 215 182 292 270 292 S378 215 448 215 S494 304 552 304"); animation-delay: -4.5s; }
.ev-node rect, .ev-node circle { fill: var(--vt-night-raised); stroke: rgba(190, 178, 255, .45); }
.ev-node-policy circle { fill: rgba(117, 98, 216, .2); stroke: var(--vt-electric); transform-box: fill-box; transform-origin: center; animation: ev-policy-breathe 9s ease-in-out infinite; }
.ev-node text { fill: var(--vt-night-text); font-family: var(--vt-font); font-size: 14px; text-anchor: middle; }
.ev-node-muted { opacity: .72; }
.public-route-status { position: absolute; z-index: 4; left: 30px; right: 30px; bottom: 26px; display: grid; gap: 2px; padding: 18px 20px; border: 1px solid var(--vt-night-border); border-radius: var(--vt-radius-lg); background: rgba(21, 19, 33, .88); color: var(--vt-night-text); backdrop-filter: blur(12px); }
.public-route-status span { color: var(--vt-electric); font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
.public-route-status strong { font-size: 17px; }
.public-route-status small { color: var(--vt-night-muted); }
@keyframes route-flow { to { stroke-dashoffset: -100; } }
@keyframes ev-pulse-travel {
  0%, 7% { offset-distance: 0%; opacity: 0; }
  12% { opacity: .92; }
  47% { opacity: .92; }
  54%, 100% { offset-distance: 100%; opacity: 0; }
}
@keyframes ev-policy-breathe {
  0%, 100% { transform: scale(1); filter: drop-shadow(0 0 0 rgba(155,137,238,0)); }
  48%, 54% { transform: scale(1.035); filter: drop-shadow(0 0 7px rgba(155,137,238,.28)); }
}
@keyframes public-routing-plane-float {
  0%, 100% { transform: rotateX(54deg) rotateZ(-4deg) translate3d(0,-2%,0); }
  50% { transform: rotateX(56deg) rotateZ(-3.2deg) translate3d(0,1%,7px); }
}
@keyframes public-routing-plane-float-mobile {
  0%, 100% { transform: rotateX(46deg) rotateZ(-2.2deg) translate3d(0,-1%,0); }
  50% { transform: rotateX(48deg) rotateZ(-1.6deg) translate3d(0,1%,5px); }
}
.public-stack-sequence { position: relative; }
.public-stack-panel { position: relative; }
.public-hero-visual.is-offscreen .public-routing-plane,
.public-hero-visual.is-offscreen .ev-route,
.public-hero-visual.is-offscreen .ev-pulse,
.public-hero-visual.is-offscreen .ev-node-policy circle { animation-play-state: paused; }
.public-product-clarity, .public-capabilities, .public-integration, .public-final-cta { width: min(1320px, calc(100% - 48px)); margin: 0 auto 88px; }
.public-product-clarity { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; gap: 26px; align-items: center; }
.public-product-clarity article, .public-capability-list article { height: 100%; padding: 26px; border: 1px solid var(--vt-border); border-radius: var(--vt-radius-lg); background: rgba(255, 255, 255, .86); box-shadow: var(--vt-shadow-sm); }
.public-product-clarity article > span, .public-section-intro > span, .public-integration-copy > span, .public-final-cta span { color: var(--vt-violet-deep); font-size: 12px; font-weight: 650; letter-spacing: .08em; text-transform: uppercase; }
.public-product-clarity h2 { margin: 10px 0; }
.public-product-clarity i { color: var(--vt-violet); font-style: normal; }
.public-capabilities { display: grid; grid-template-columns: .75fr 1.25fr; gap: 64px; }
.public-section-intro h2, .public-integration h2, .public-final-cta h2 { margin: 12px 0 16px; font-family: var(--font-display); font-size: clamp(34px, 4vw, 54px); font-weight: 620; }
.public-section-intro p { max-width: 520px; font-size: 17px; }
.public-capability-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.public-capability-list article { display: grid; grid-template-columns: 32px 1fr; gap: 12px; }
.public-capability-list article > span { color: var(--vt-violet); font-family: var(--vt-mono); font-size: 12px; }
.public-integration { display: grid; grid-template-columns: .8fr 1.2fr; align-items: center; gap: 60px; padding: 54px; border-radius: 28px; background: var(--vt-surface-lavender); }
.public-integration-facts { display: grid; gap: 10px; color: var(--vt-ink-secondary); }
.public-integration-facts span { display: flex; align-items: center; gap: 9px; }
.public-integration-facts i { width: 7px; height: 7px; border-radius: 50%; background: var(--vt-violet); }
.public-code-panel, .code-panel, .core-code-panel { min-width: 0; overflow: hidden; border: 1px solid var(--vt-night-border); border-radius: var(--vt-radius-lg); background: var(--vt-night); color: var(--vt-night-text); box-shadow: var(--vt-shadow-md); }
.public-code-head, .code-panel header, .core-code-panel header { min-height: 48px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 16px; border-bottom: 1px solid var(--vt-night-border); color: var(--vt-night-muted); }
.public-code-head button, [data-copy] { min-height: 36px; border: 1px solid var(--vt-night-border); border-radius: var(--vt-radius-sm); background: var(--vt-night-raised); color: var(--vt-night-text); }
.public-code-panel pre, .code-panel pre, .core-code-panel pre { max-width: 100%; margin: 0; padding: 22px; overflow: auto; color: var(--vt-night-text); line-height: 1.65; }
.public-final-cta { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 54px; border: 1px solid var(--vt-tech-border); border-radius: 28px; background: radial-gradient(circle at 82% 20%, rgba(155,137,238,.14), transparent 32%), linear-gradient(130deg, var(--vt-tech-raised), var(--vt-tech-surface)); color: var(--vt-night-text); }
.public-final-cta h2 { margin-bottom: 0; color: var(--vt-night-text); }
.public-button-light { background: var(--vt-surface); color: var(--vt-ink); }
.public-footer { width: min(1320px, calc(100% - 48px)); margin: 0 auto; padding: 34px 0 42px; display: grid; grid-template-columns: auto 1fr auto; gap: 32px; border-top: 1px solid var(--vt-border); }
.public-footer p { margin: 0; }
.public-footer small { text-align: right; }

/* Landing marketing surfaces */
.public-stack-panel:not(.public-hero) { width: min(1320px, calc(100% - 48px)); margin-inline: auto; padding: clamp(42px, 5vw, 76px); align-content: center; }
.public-stack-panel.public-hero { margin-inline: auto; box-shadow: none; }
.public-stack-intro { max-width: 760px; margin-bottom: clamp(30px, 4vw, 52px); }
.public-stack-intro > span, .public-editorial-copy > span, .public-visibility-copy > span { color: var(--vt-violet-deep); font-size: 12px; font-weight: 650; letter-spacing: .1em; text-transform: uppercase; }
.public-stack-intro h2, .public-editorial-copy h2, .public-visibility-copy h2 { margin: 12px 0 16px; font-family: var(--font-display); font-size: clamp(36px, 4.4vw, 60px); font-weight: 620; letter-spacing: -.045em; line-height: 1.02; }
.public-stack-intro p, .public-editorial-copy > p, .public-visibility-copy > p { max-width: 660px; margin-bottom: 0; font-size: 17px; line-height: 1.65; }

.public-access-model { display: grid; grid-template-rows: auto auto auto; background: radial-gradient(circle at 88% 0%, rgba(155,137,238,.13), transparent 32rem), var(--vt-surface) !important; }
.public-access-cards { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.public-access-cards article { min-height: 208px; padding: 24px; border: 1px solid var(--vt-border); border-radius: var(--vt-radius-lg); background: rgba(255,255,255,.82); box-shadow: var(--vt-shadow-xs); }
.public-access-cards article > span { color: var(--vt-violet-deep); font-size: 11px; font-weight: 650; letter-spacing: .07em; text-transform: uppercase; }
.public-access-cards h3 { margin: 28px 0 10px; font-size: 20px; }
.public-access-cards p { margin: 0; line-height: 1.6; }
.public-access-connector { display: grid; grid-template-columns: auto minmax(38px,1fr) auto minmax(38px,1fr) auto; align-items: center; gap: 14px; margin-top: 30px; padding: 16px 20px; border: 1px solid var(--vt-border); border-radius: 999px; background: var(--vt-surface-lavender); color: var(--vt-ink-secondary); font-size: 13px; }
.public-access-connector strong { padding: 8px 15px; border-radius: 999px; background: var(--vt-tech-surface); color: var(--vt-night-text); font-weight: 600; }
.public-access-connector i { position: relative; height: 1px; overflow: hidden; background: rgba(117,98,216,.28); }
.public-access-connector i::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, transparent, var(--vt-electric), var(--vt-blue-violet), transparent); transform: translateX(-100%); }
.public-stack-access.is-layer-visible .public-access-connector i::after { animation: public-connector-enter 1.4s cubic-bezier(.22,.72,.2,1) 1 both; }
.public-stack-access.is-layer-visible .public-access-connector i:nth-of-type(2)::after { animation-delay: .22s; }

.public-product-value { display: grid; grid-template-columns: minmax(0,.88fr) minmax(0,1.12fr); align-items: center; gap: clamp(42px,6vw,86px); background: radial-gradient(circle at 10% 90%, rgba(155,137,238,.12), transparent 26rem), var(--vt-surface-lavender) !important; }
.public-editorial-copy { max-width: 540px; }
.public-value-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.public-value-list article { display: grid; grid-template-columns: 30px 1fr; gap: 12px; padding: 20px; border-top: 1px solid var(--vt-border-strong); background: rgba(254,253,254,.58); }
.public-value-list article > span { color: var(--vt-violet); font-family: var(--vt-mono); font-size: 12px; }
.public-value-list h3 { margin: 0 0 7px; font-size: 16px; }
.public-value-list p { margin: 0; font-size: 13px; line-height: 1.55; }

.public-factual-visibility { display: grid; grid-template-columns: minmax(0,1.08fr) minmax(0,.92fr); align-items: center; gap: clamp(40px,6vw,84px); background: var(--vt-surface) !important; }
.public-request-preview { min-width: 0; padding: 26px; border: 1px solid var(--vt-tech-border); border-radius: 24px; background: radial-gradient(circle at 85% 0%, rgba(155,137,238,.14), transparent 38%), linear-gradient(145deg, var(--vt-tech-raised), var(--vt-tech-surface)); color: var(--vt-night-text); box-shadow: var(--vt-shadow-md); }
.public-request-preview > header, .public-request-preview > footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.public-request-preview > header > span { color: var(--vt-electric); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
.public-request-preview > header > strong { padding: 6px 10px; border-radius: 999px; background: rgba(23,131,79,.2); color: #a8efc9; font-size: 12px; }
.public-example-id { display: grid; gap: 5px; margin: 22px 0; padding: 18px 0; border-block: 1px solid var(--vt-tech-border); }
.public-example-id small, .public-request-preview dt { color: var(--vt-night-muted); font-size: 11px; }
.public-example-id code { color: var(--vt-night-text); font-size: 16px; }
.public-request-preview dl { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0; margin: 0 0 20px; }
.public-request-preview dl > div { min-width: 0; padding: 13px 10px 13px 0; border-bottom: 1px solid var(--vt-tech-border); }
.public-request-preview dd { margin: 5px 0 0; overflow-wrap: anywhere; color: var(--vt-night-text); font-size: 13px; }
.public-request-preview > footer { justify-content: flex-start; color: var(--vt-night-muted); font-size: 11px; }
.public-request-preview > footer span { width: 7px; height: 7px; border-radius: 50%; background: var(--vt-success); }
.public-visibility-copy ol { display: grid; gap: 16px; margin: 26px 0 0; padding: 0; list-style: none; }
.public-visibility-copy li { display: grid; grid-template-columns: 30px 1fr; gap: 12px; }
.public-visibility-copy li > span { width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; background: var(--vt-violet-soft); color: var(--vt-violet-deep); font-family: var(--vt-mono); font-size: 11px; }
.public-visibility-copy h3 { margin: 2px 0 5px; font-size: 15px; }
.public-visibility-copy li p { margin: 0; font-size: 13px; }

.public-stack-panel.public-capabilities { width: min(1320px, calc(100% - 48px)); margin-inline: auto; padding: clamp(42px,5vw,76px); align-content: center; background: linear-gradient(135deg, rgba(254,253,254,.98), rgba(247,245,251,.98)) !important; }
.public-stack-panel.public-capabilities .public-capability-list article { min-height: 132px; }
.public-stack-panel.public-integration { width: min(1320px, calc(100% - 48px)); margin-inline: auto; padding: clamp(42px,5vw,76px); background: var(--vt-surface-lavender) !important; }
.public-stack-panel.public-final-cta { width: min(1320px, calc(100% - 48px)); margin-inline: auto; padding: clamp(42px,5vw,76px); background: radial-gradient(circle at 82% 20%, rgba(155,137,238,.16), transparent 32%), linear-gradient(130deg, var(--vt-tech-raised), var(--vt-tech-surface)) !important; }
.public-final-cta p { max-width: 700px; margin: 0; color: var(--vt-night-muted); font-size: 15px; line-height: 1.6; }
.public-final-actions { flex: 0 0 auto; display: grid; gap: 10px; }
.public-button-dark-ghost { border-color: var(--vt-tech-border); background: rgba(255,255,255,.04); color: var(--vt-night-text); box-shadow: none; }
.public-beta-status { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 24px; color: var(--vt-night-muted); font-size: 12px; }
.public-beta-status i { width: 7px; height: 7px; border-radius: 50%; background: var(--vt-electric); }
.public-beta-status b { color: rgba(190,178,255,.35); font-weight: 400; }

.public-footer-expanded { min-height: 176px; align-items: start; grid-template-columns: minmax(240px,1fr) auto auto; padding: 44px 0 56px; }
.public-footer-expanded > div { display: grid; gap: 12px; }
.public-footer-expanded > div p { max-width: 430px; color: var(--vt-ink-muted); font-size: 12px; }
.public-footer-expanded nav { display: grid; gap: 10px; }
.public-footer-expanded nav a { color: var(--vt-ink-secondary); font-size: 13px; text-decoration: none; }
.public-footer-expanded nav a:hover { color: var(--vt-violet-deep); }

@keyframes public-connector-enter {
  from { transform: translateX(-100%); opacity: .2; }
  to { transform: translateX(100%); opacity: 1; }
}
@keyframes public-connector-enter-mobile {
  from { transform: translateY(-100%); opacity: .2; }
  to { transform: translateY(100%); opacity: 1; }
}

/* Landing v72: normal vertical flow with one bounded lifecycle story. */
.public-stack-sequence { isolation: auto; }
.public-marketing-layer { position: relative; width: 100%; margin: 0 0 16px; padding: clamp(58px, 8vw, 112px) 0; opacity: .96; transform: translateY(16px) scale(.995); transition: opacity 520ms cubic-bezier(.22,1,.36,1), transform 520ms cubic-bezier(.22,1,.36,1); }
.public-marketing-layer.is-revealed { opacity: 1; transform: translateY(0) scale(1); }
.public-marketing-layer > .public-stack-panel { position: relative; top: auto; width: min(1320px, calc(100% - 48px)); min-height: 0; margin: 0 auto; padding: clamp(42px,5vw,76px); overflow: hidden; border: 0; border-radius: 0; background: transparent; box-shadow: none; transform: none; opacity: 1; filter: none; will-change: auto; }
.public-marketing-layer.public-stack-access { background: radial-gradient(circle at 88% 0%, rgba(155,137,238,.10), transparent 32rem), var(--vt-surface); }
.public-marketing-layer.public-stack-value { background: radial-gradient(circle at 10% 90%, rgba(155,137,238,.10), transparent 26rem), var(--vt-surface-lavender); }
.public-marketing-layer.public-stack-visibility { background: var(--vt-surface); }
.public-marketing-layer.public-stack-capabilities { background: linear-gradient(135deg, var(--vt-surface), var(--vt-page-bg)); }
.public-marketing-layer.public-stack-developer { background: var(--vt-surface-lavender); }
.public-marketing-layer.public-stack-cta { padding-bottom: clamp(58px,7vw,92px); background: var(--vt-page-bg); }
.public-marketing-layer :is(.public-stack-intro > span, .public-editorial-copy > span, .public-visibility-copy > span, .public-section-intro > span, .public-integration-copy > span, .public-final-cta > div > span) { transition-delay: 0ms; }
.public-marketing-layer :is(.public-stack-intro h2, .public-editorial-copy h2, .public-visibility-copy h2, .public-section-intro h2, .public-integration-copy h2, .public-final-cta h2) { transition-delay: 30ms; }
.public-marketing-layer :is(.public-stack-intro p, .public-editorial-copy > p, .public-visibility-copy > p, .public-section-intro > p, .public-integration-copy > p, .public-final-cta > div > p) { transition-delay: 60ms; }
.public-marketing-layer :is(.public-access-cards, .public-access-connector, .public-value-list, .public-request-preview, .public-visibility-copy ol, .public-capability-list, .public-integration-facts, .public-code-panel, .public-beta-status, .public-final-actions) { transition-delay: 90ms; }
.public-marketing-layer .public-access-connector i::after { animation: none; }
.public-marketing-layer.is-revealed .public-access-connector i::after { animation: public-connector-enter 1.4s cubic-bezier(.22,.72,.2,1) 1 both; }
.public-marketing-layer.is-revealed .public-access-connector i:nth-of-type(2)::after { animation-delay: .22s; }
.public-marketing-layer .public-stack-panel.public-capabilities,
.public-marketing-layer .public-stack-panel.public-integration,
.public-marketing-layer .public-stack-panel.public-final-cta { width: min(1320px, calc(100% - 48px)); margin: 0 auto; }
.public-marketing-layer .public-stack-panel.public-capabilities { background: transparent !important; }
.public-marketing-layer .public-stack-panel.public-integration { background: transparent !important; }
.public-marketing-layer .public-stack-panel.public-final-cta { border: 1px solid var(--vt-tech-border); border-radius: 28px; background: radial-gradient(circle at 82% 20%, rgba(155,137,238,.16), transparent 32%), linear-gradient(130deg, var(--vt-tech-raised), var(--vt-tech-surface)) !important; box-shadow: var(--vt-shadow-md); }
.public-hero { transition: transform 520ms cubic-bezier(.22,1,.36,1), opacity 520ms cubic-bezier(.22,1,.36,1); }
.public-hero.is-hero-exiting { transform: translateY(-10px) scale(.995); opacity: .97; }

.public-lifecycle-story { position: relative; min-height: 182vh; padding: 0 24px; background: linear-gradient(180deg, var(--vt-page-bg), var(--vt-surface-lavender) 48%, var(--vt-page-bg)); }
.public-lifecycle-stage { position: sticky; top: 92px; width: min(1320px, 100%); height: min(76vh, 760px); min-height: 590px; margin: 0 auto; display: grid; grid-template-columns: minmax(300px,.78fr) minmax(520px,1.22fr); align-items: stretch; gap: clamp(36px,6vw,82px); padding: clamp(34px,5vw,70px); overflow: hidden; border: 1px solid var(--vt-border); border-radius: 30px; background: var(--vt-surface); box-shadow: var(--vt-shadow-md); }
.public-lifecycle-narrative { min-width: 0; display: grid; grid-template-rows: 1fr auto; }
.public-lifecycle-copy-stack { position: relative; min-height: 260px; }
.public-lifecycle-step { position: absolute; inset: 0; display: grid; align-content: center; opacity: 0; transform: translateY(8px); pointer-events: none; transition: opacity 250ms cubic-bezier(.22,1,.36,1), transform 250ms cubic-bezier(.22,1,.36,1); }
.public-lifecycle-step:not(.is-active) { transform: translateY(-6px); transition-duration: 185ms; }
.public-lifecycle-step.is-active { opacity: 1; transform: translateY(0); pointer-events: auto; }
.public-lifecycle-step > span { color: var(--vt-violet-deep); font-size: 12px; font-weight: 650; letter-spacing: .1em; text-transform: uppercase; }
.public-lifecycle-step h2 { margin: 14px 0 18px; font-family: var(--font-display); font-size: clamp(38px,4vw,58px); font-weight: 620; letter-spacing: -.045em; line-height: 1.02; }
.public-lifecycle-step p { max-width: 520px; margin: 0; color: var(--vt-ink-secondary); font-size: 16px; line-height: 1.65; }
.public-lifecycle-progress { position: relative; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0; margin: 0; padding: 0; list-style: none; }
.public-lifecycle-progress::before, .public-lifecycle-progress::after { content: ""; position: absolute; top: 12px; left: 12px; height: 1px; pointer-events: none; }
.public-lifecycle-progress::before { right: 12px; background: var(--vt-border-strong); }
.public-lifecycle-progress::after { width: calc(var(--lifecycle-progress, 0) * (100% - 24px)); background: linear-gradient(90deg, var(--vt-violet), var(--vt-electric), var(--vt-blue-violet)); }
.public-lifecycle-progress li { position: relative; display: grid; justify-items: start; gap: 7px; color: var(--vt-ink-muted); font-size: 11px; }
.public-lifecycle-progress li > span { position: relative; z-index: 1; width: 24px; height: 24px; display: grid; place-items: center; border: 1px solid var(--vt-border-strong); border-radius: 50%; background: var(--vt-surface); font-family: var(--vt-mono); }
.public-lifecycle-progress li[aria-current="step"] { color: var(--vt-violet-deep); }
.public-lifecycle-progress li[aria-current="step"] > span { border-color: var(--vt-violet); background: var(--vt-violet); color: white; box-shadow: var(--vt-focus); }
.public-lifecycle-progress strong { font-weight: 580; }
.public-lifecycle-visual { position: relative; min-width: 0; overflow: hidden; display: grid; align-content: center; padding: clamp(26px,4vw,48px); border: 1px solid var(--vt-tech-border); border-radius: 24px; background: radial-gradient(circle at 78% 16%, rgba(155,137,238,.17), transparent 34%), linear-gradient(145deg, var(--vt-tech-raised), var(--vt-tech-surface)); color: var(--vt-night-text); box-shadow: var(--vt-shadow-md); isolation: isolate; }
.public-lifecycle-grid { position: absolute; inset: 0; z-index: -1; opacity: .28; transform: perspective(560px) rotateX(58deg) translateY(22%); transform-origin: 50% 100%; background-image: linear-gradient(rgba(155,137,238,.2) 1px, transparent 1px), linear-gradient(90deg, rgba(155,137,238,.2) 1px, transparent 1px); background-size: 34px 34px; mask-image: linear-gradient(to top, black, transparent 88%); }
.public-lifecycle-visual > ol { display: grid; gap: 16px; margin: 0; padding: 0; list-style: none; }
.public-lifecycle-visual > ol li { --lifecycle-emphasis: 0; position: relative; z-index: 2; min-height: 68px; display: grid; grid-template-columns: 34px 1fr; align-content: center; column-gap: 12px; padding: 12px 16px; border: 1px solid rgba(186,170,244,calc(.12 + (var(--lifecycle-emphasis) * .24))); border-radius: 14px; background: rgba(117,98,216,calc(.025 + (var(--lifecycle-emphasis) * .105))); color: var(--vt-night-muted); transition: color 180ms ease, transform 180ms ease; }
.public-lifecycle-visual > ol li::after { content: ""; position: absolute; top: 12px; right: 12px; width: 6px; height: 6px; border-radius: 50%; background: var(--vt-electric); opacity: 0; transition: opacity 180ms ease; }
.public-lifecycle-visual > ol li[data-progress-state="completed"]::after { opacity: .62; }
.public-lifecycle-visual > ol li[data-progress-state="approaching"] { color: rgba(248,247,255,.82); }
.public-lifecycle-visual li > span { grid-row: 1 / span 2; align-self: center; color: var(--vt-electric); font-family: var(--vt-mono); font-size: 11px; }
.public-lifecycle-visual li strong { font-size: 14px; font-weight: 580; }
.public-lifecycle-visual li small { font-size: 11px; }
.public-lifecycle-story[data-lifecycle-active="0"] [data-visual-state="0"],
.public-lifecycle-story[data-lifecycle-active="1"] [data-visual-state="1"],
.public-lifecycle-story[data-lifecycle-active="2"] [data-visual-state="2"],
.public-lifecycle-story[data-lifecycle-active="3"] [data-visual-state="3"] { border-color: rgba(155,137,238,.62); background: rgba(117,98,216,.18); color: var(--vt-night-text); transform: translateY(-2px); }
.public-lifecycle-route { position: absolute; z-index: 1; top: 50%; left: 56px; width: 2px; height: calc(100% - 128px); overflow: visible; transform: translateY(-50%); background: rgba(186,170,244,.16); }
.public-lifecycle-route::before { content: ""; position: absolute; inset: 0 0 auto; height: calc(var(--lifecycle-progress, 0) * 100%); background: linear-gradient(var(--vt-violet), var(--vt-electric), var(--vt-blue-violet)); }
.public-lifecycle-route i { position: absolute; top: calc(var(--lifecycle-progress, 0) * (100% - 10px)); left: -4px; width: 10px; height: 10px; border-radius: 50%; background: var(--vt-electric); box-shadow: 0 0 12px rgba(155,137,238,.55); }
.public-lifecycle-token { position: absolute; left: 13px; top: calc(var(--lifecycle-progress, 0) * (100% - 24px)); padding: 4px 7px; border: 1px solid var(--vt-tech-border); border-radius: 999px; background: var(--vt-tech-raised); color: var(--vt-electric); font-family: var(--vt-mono); font-size: 9px; transform: translateX(-100%); }
.public-lifecycle-visual > p { margin: 22px 0 0; color: var(--vt-night-muted); font-size: 11px; text-align: right; }

/* Shared public policy, legal, and support shell */
.public-legal-body { background: var(--vt-page-bg); }
.public-legal-shell { min-height: 100vh; display: flex; flex-direction: column; background: radial-gradient(circle at 86% 0%, rgba(155,137,238,.11), transparent 28rem), linear-gradient(var(--vt-bg-grid) 1px, transparent 1px), linear-gradient(90deg, var(--vt-bg-grid) 1px, transparent 1px), var(--vt-page-bg); background-size: auto, 38px 38px, 38px 38px, auto; }
.public-legal-header { width: min(1200px, calc(100% - 48px)); min-height: 76px; margin: 0 auto; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 32px; border-bottom: 1px solid var(--vt-border); }
.public-legal-header nav, .public-legal-footer nav { display: flex; align-items: center; justify-content: center; gap: 24px; }
.public-legal-header nav a, .public-legal-footer nav a { color: var(--vt-ink-secondary); font-size: 13px; font-weight: 520; text-decoration: none; }
.public-legal-header nav a:hover, .public-legal-header nav a[aria-current="page"], .public-legal-footer nav a:hover, .public-legal-footer nav a[aria-current="page"] { color: var(--vt-violet-deep); }
.public-legal-main { width: min(920px, calc(100% - 48px)); flex: 1; margin: 0 auto; padding: clamp(64px, 8vw, 104px) 0 84px; }
.public-legal-title { max-width: 760px; padding-bottom: 40px; border-bottom: 1px solid var(--vt-border-strong); }
.public-legal-title h1 { max-width: 720px; margin: 10px 0 16px; font-size: clamp(38px, 5vw, 58px); font-weight: 650; letter-spacing: -.04em; }
.public-legal-title > p:not(.eyebrow):not(.public-legal-meta) { max-width: 720px; margin-bottom: 18px; color: var(--vt-ink-secondary); font-size: 17px; line-height: 1.65; }
.public-legal-meta { margin: 0; color: var(--vt-ink-muted); font-size: 12px; }
.public-legal-document { max-width: 760px; padding-top: 14px; }
.public-legal-document section { padding: 34px 0; border-bottom: 1px solid var(--vt-border); }
.public-legal-document section:last-child { border-bottom: 0; }
.public-legal-document h2 { margin: 0 0 13px; font-size: 20px; font-weight: 620; }
.public-legal-document p { max-width: 72ch; margin: 0 0 14px; font-size: 15px; line-height: 1.75; }
.public-legal-document p:last-child { margin-bottom: 0; }
.public-legal-email { display: inline-flex; min-height: 28px; align-items: center; color: var(--vt-violet-deep); font-weight: 580; overflow-wrap: anywhere; }
.public-legal-callout { margin-top: 22px; padding: 18px 20px; border-left: 3px solid var(--vt-violet); border-radius: 0 var(--vt-radius-md) var(--vt-radius-md) 0; background: var(--vt-surface-lavender); }
.public-legal-callout p { margin: 5px 0 0; font-size: 14px; }
.public-legal-footer { width: min(1200px, calc(100% - 48px)); min-height: 96px; margin: 0 auto; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 32px; border-top: 1px solid var(--vt-border); }
.public-legal-footer small { color: var(--vt-ink-muted); text-align: right; }

/* Authentication */
.identity-page { min-height: 100vh; display: grid; grid-template-columns: minmax(480px, 1.05fr) minmax(480px, .95fr); background: var(--vt-bg); }
.identity-brand-panel { position: relative; min-height: 100vh; overflow: hidden; display: flex; flex-direction: column; justify-content: space-between; padding: clamp(32px, 5vw, 76px); background: var(--vt-bg-lavender); background-image: linear-gradient(var(--vt-bg-grid) 1px, transparent 1px), linear-gradient(90deg, var(--vt-bg-grid) 1px, transparent 1px); background-size: 32px 32px; }
.identity-wordmark, .identity-mobile-brand { display: inline-flex; align-items: baseline; gap: 8px; align-self: flex-start; color: var(--vt-ink); text-decoration: none; }
.identity-wordmark strong, .identity-mobile-brand strong { font-size: 22px; font-weight: 680; }
.identity-wordmark span, .identity-mobile-brand span { color: var(--vt-ink-muted); font-size: 12px; }
.identity-value { position: relative; z-index: 2; max-width: 700px; margin: auto 0; }
.identity-value > span { color: var(--vt-violet-deep); font-size: 13px; font-weight: 650; text-transform: uppercase; letter-spacing: .08em; }
.identity-value h1 { margin: 22px 0 26px; font-family: var(--font-display); font-size: clamp(44px, 5vw, 68px); font-weight: 660; letter-spacing: -.05em; }
.identity-value h1 em { color: var(--vt-violet); font-style: normal; }
.identity-value p { max-width: 610px; font-size: 17px; }
.identity-routing-flow { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin-top: 30px; }
.identity-routing-flow span { padding: 9px 12px; border: 1px solid var(--vt-border-strong); border-radius: 999px; background: rgba(255,255,255,.75); font-size: 13px; font-weight: 550; }
.identity-routing-flow i { color: var(--vt-violet); font-style: normal; }
.identity-fabric { position: absolute; inset: 0; pointer-events: none; opacity: .35; }
.identity-fabric::before, .identity-fabric::after { content: ""; position: absolute; right: -120px; bottom: 10%; width: 460px; height: 1px; background: linear-gradient(90deg, transparent, var(--vt-violet), transparent); transform: rotate(-28deg); box-shadow: 0 0 22px rgba(109,85,230,.35); }
.identity-fabric::after { bottom: 24%; transform: rotate(-12deg); }
.identity-form-panel { min-height: 100vh; display: grid; place-items: center; padding: clamp(24px, 5vw, 72px); background: var(--vt-surface-soft); }
.identity-mobile-brand { display: none; }
.identity-form-card { width: min(100%, 490px); padding: clamp(26px, 4vw, 42px); border: 1px solid var(--vt-border); border-radius: var(--vt-radius-xl); background: var(--vt-surface); box-shadow: var(--vt-shadow-md); }
.identity-form-heading h2 { margin: 10px 0 12px; font-size: 31px; }
.identity-form-heading p { margin-bottom: 24px; }
.identity-auth-tabs { display: grid; grid-template-columns: repeat(2, 1fr); padding: 4px; margin-bottom: 20px; border-radius: var(--vt-radius-md); background: var(--vt-surface-lavender); }
.identity-auth-tabs button { min-height: 40px; border: 0; border-radius: 9px; background: transparent; color: var(--vt-ink-secondary); font-weight: 550; }
.identity-auth-tabs button.active { background: var(--vt-surface); color: var(--vt-ink); box-shadow: var(--vt-shadow-xs); }
.identity-form-card form { display: grid; gap: 16px; }
.identity-form-footnote, .identity-switch, .activation-form-hint { font-size: 13px; }
.identity-switch { text-align: center; margin: 20px 0 8px; }
.identity-switch button, .identity-secondary-actions button, .auth-recovery-link { border: 0; background: transparent; color: var(--vt-violet-deep); font-weight: 550; }
.identity-secondary-actions { display: flex; justify-content: center; gap: 16px; }
.identity-legal-check { display: grid; grid-template-columns: auto 1fr; align-items: start; gap: 9px; }
.google-auth-button { width: 100%; min-height: 46px; margin-bottom: 16px; display: flex; align-items: center; justify-content: center; gap: 10px; border: 1px solid var(--vt-border-strong); border-radius: var(--vt-radius-md); background: var(--vt-surface); font-weight: 580; }
.identity-divider { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; color: var(--vt-ink-muted); font-size: 12px; }
.identity-divider::before, .identity-divider::after { content: ""; height: 1px; flex: 1; background: var(--vt-border); }

/* Console shell */
.app-shell { min-height: 100vh; display: grid; grid-template-columns: 248px minmax(0, 1fr); background: var(--vt-bg); }
.sidebar { position: sticky; z-index: 50; top: 0; height: 100vh; min-width: 0; display: flex; flex-direction: column; padding: 22px 16px; background: radial-gradient(circle at 30% -10%, rgba(117,98,216,.22), transparent 31%), var(--vt-sidebar); color: var(--vt-night-text); border-right: 1px solid var(--vt-tech-border); }
.sidebar-brand { min-height: 52px; display: flex; align-items: center; justify-content: space-between; padding: 0 8px; }
.sidebar-brand .brand { display: flex; align-items: center; gap: 11px; color: var(--vt-night-text); text-decoration: none; }
.sidebar-brand .brand > i { width: 32px; height: 32px; display: grid; place-items: center; border: 1px solid rgba(164,140,255,.45); border-radius: 10px; background: rgba(109,85,230,.16); color: var(--vt-electric); font-size: 15px; font-style: normal; font-weight: 700; box-shadow: 0 0 22px rgba(109,85,230,.13); }
.sidebar-brand .brand span { display: grid; line-height: 1.05; }
.sidebar-brand .brand strong { font-size: 18px; font-weight: 650; }
.sidebar-brand .brand small { margin-top: 5px; color: var(--vt-night-muted); font-size: 10px; font-weight: 500; }
.sidebar-close { display: none; width: 42px; height: 42px; border: 0; border-radius: 10px; background: var(--vt-night-raised); color: var(--vt-night-text); font-size: 24px; }
.sidebar-workspace { display: grid; gap: 2px; margin: 18px 4px; padding: 13px 12px; border: 1px solid var(--vt-night-border); border-radius: var(--vt-radius-md); background: rgba(255,255,255,.035); }
.sidebar-workspace span { color: var(--vt-night-text); font-size: 13px; font-weight: 560; }
.sidebar-workspace small { color: var(--vt-night-muted); font-size: 11px; }
.sidebar nav { display: grid; gap: 4px; }
.sidebar-link { position: relative; width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid transparent; border-radius: 10px; background: transparent; color: #c9c4da; text-align: left; font-size: 14px; font-weight: 500; }
.sidebar-link { display: flex; align-items: center; gap: 11px; }
.sidebar-link svg { width: 18px; height: 18px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.sidebar-link:hover { background: rgba(255,255,255,.045); color: var(--vt-night-text); }
.sidebar-link.active { border-color: var(--vt-night-border); background: linear-gradient(100deg, rgba(128,103,243,.18), rgba(255,255,255,.035)); color: var(--vt-night-text); box-shadow: inset 3px 0 var(--vt-electric); }
.sidebar-account { margin-top: auto; padding: 12px 0 0; border-top: 1px solid var(--vt-night-border); }
.sidebar-account > summary { min-height: 54px; display: grid; grid-template-columns: 34px minmax(0,1fr) 16px; align-items: center; gap: 10px; padding: 8px; border-radius: 11px; color: var(--vt-night-text); list-style: none; }
.sidebar-account > summary::-webkit-details-marker { display: none; }
.sidebar-account > summary:hover { background: rgba(255,255,255,.045); }
.sidebar-account > summary > span:nth-child(2) { min-width: 0; display: grid; }
.sidebar-account > summary strong { overflow: hidden; font-size: 12px; font-weight: 520; text-overflow: ellipsis; white-space: nowrap; }
.sidebar-account > summary small { color: var(--vt-night-muted); font-size: 11px; }
.sidebar-account > summary svg { width: 16px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.sidebar-account[open] > summary svg { transform: rotate(180deg); }
.sidebar-account-avatar { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid rgba(164,140,255,.34); border-radius: 10px; background: rgba(109,85,230,.16); color: var(--vt-electric); font-weight: 650; }
.sidebar-account-actions { display: grid; gap: 3px; padding: 4px 8px 0 52px; }
.sidebar-account-actions button { min-height: 38px; padding: 6px 8px; border: 0; border-radius: 8px; background: transparent; color: var(--vt-night-muted); text-align: left; font-size: 13px; }
.sidebar-account-actions button:hover { background: var(--vt-sidebar-raised); color: var(--vt-night-text); }
.sidebar-overlay { display: none; }
.app-main { position: relative; min-width: 0; isolation: isolate; }
.app-main::before { content: ""; position: fixed; z-index: -1; inset: 0 0 0 248px; pointer-events: none; background-image: radial-gradient(circle at 88% 0%, rgba(128,103,243,.115), transparent 31%), linear-gradient(rgba(104,84,216,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(104,84,216,.025) 1px, transparent 1px); background-size: auto, 36px 36px, 36px 36px; }
.app-header { max-width: 1360px; margin: 0 auto; padding: 28px clamp(32px, 3vw, 40px) 12px; }
.app-context-row { min-height: 30px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.sidebar-trigger { display: none; width: 44px; height: 44px; border: 1px solid var(--vt-border); border-radius: var(--vt-radius-md); background: var(--vt-surface); }
.app-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-top: 12px; }
.app-heading > div, .app-context-row > * { min-width: 0; max-width: 100%; }
.app-heading h1 { max-width: 100%; margin-bottom: 8px; overflow-wrap: anywhere; }
.app-heading p { margin: 0; color: var(--vt-ink-secondary); }
.app-content { width: 100%; max-width: 1360px; margin: 0 auto; padding: 16px clamp(32px, 3vw, 40px) 56px; container: app-content / inline-size; }

/* Shared product surfaces */
.panel, .card, .table-wrap, .activation-panel, .quality-card, .settings-card, .ledger-retention, .empty-state, .production-state, .notice, .documentation-section { min-width: 0; border: 1px solid var(--vt-border); border-radius: var(--vt-radius-lg); background: var(--vt-surface); color: var(--vt-ink); box-shadow: var(--vt-shadow-xs); }
.panel, .card, .activation-panel, .settings-card, .documentation-section { padding: clamp(20px, 2.2vw, 24px); }
.panel p, .card p, .activation-panel p, .settings-card p { color: var(--vt-ink-secondary); }
.panel:hover, .card:hover { border-color: var(--vt-border-strong); box-shadow: var(--vt-shadow-sm); }
.section-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.section-heading h2 { margin: 5px 0 5px; }
.section-heading p { margin: 0; }
.metrics, .attribution-summary, .quality-grid, .overview-metrics { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr)); gap: 16px; margin-bottom: 22px; }
.metric, .stat-card, .quality-card { position: relative; min-width: 0; min-height: 118px; overflow: hidden; padding: 18px; border: 1px solid var(--vt-border); border-radius: var(--vt-radius-lg); background: var(--vt-surface); box-shadow: var(--vt-shadow-xs); }
.metric::before, .stat-card::before { content: ""; position: absolute; inset: 0 18px auto; height: 2px; border-radius: 0 0 3px 3px; background: linear-gradient(90deg, transparent, rgba(109,85,230,.48), transparent); }
.metric span, .stat-card span, .quality-card span { display: block; color: var(--vt-ink-muted); font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.metric strong, .stat-card strong, .quality-card strong { display: block; margin: 9px 0 4px; color: var(--vt-ink); font-family: var(--vt-display); font-size: clamp(24px, 3cqi, 30px); font-weight: 620; letter-spacing: -.03em; overflow-wrap: anywhere; }
.metric-cost strong { font-size: clamp(22px, 2.4cqi, 30px); white-space: nowrap; }
.metrics[aria-label="Gateway activity"] .metric:nth-child(3) strong { font-size: clamp(22px, 2.4cqi, 30px); white-space: nowrap; }
.metric small, .stat-card small { color: var(--vt-ink-muted); }
.grid, .settings-grid, .core-onboarding-grid, .core-run-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); gap: 18px; }

/* Structured settings archetype */
.settings-layout { display: grid; grid-template-columns: 220px minmax(0, 820px); align-items: start; gap: 32px; }
.settings-nav { position: sticky; top: 24px; display: grid; gap: 4px; padding: 8px; border: 1px solid var(--vt-border); border-radius: var(--vt-radius-md); background: rgba(255,255,255,.78); box-shadow: var(--vt-shadow-xs); }
.settings-nav a { min-height: 40px; display: flex; align-items: center; padding: 8px 11px; border-radius: 9px; color: var(--vt-ink-secondary); font-weight: 500; text-decoration: none; }
.settings-nav a[aria-current="page"], .settings-nav a:hover { background: var(--vt-violet-soft); color: var(--vt-violet-deep); }
.settings-content { display: grid; gap: 24px; }
.settings-section { scroll-margin-top: 20px; overflow: hidden; border: 1px solid var(--vt-border); border-radius: var(--vt-radius-lg); background: var(--vt-surface); box-shadow: var(--vt-shadow-xs); }
.settings-section-heading { padding: 20px 22px 16px; border-bottom: 1px solid var(--vt-border); }
.settings-section-heading > span { color: var(--vt-violet-deep); font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.settings-section-heading h2 { margin: 5px 0 3px; }
.settings-section-heading p { margin: 0; font-size: 13px; }
.settings-rows { margin: 0; }
.settings-rows > div, .settings-action-rows > div, .settings-status-rows > div { min-height: 58px; display: grid; grid-template-columns: minmax(150px,.65fr) minmax(0,1.35fr); align-items: center; gap: 20px; padding: 12px 22px; border-bottom: 1px solid var(--vt-border); }
.settings-rows > div:last-child, .settings-action-rows > div:last-child, .settings-status-rows > div:last-child { border-bottom: 0; }
.settings-rows dt { color: var(--vt-ink-muted); font-weight: 500; }
.settings-rows dd { min-width: 0; display: flex; align-items: center; justify-content: flex-end; gap: 8px; margin: 0; }
.settings-value { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.settings-action-rows > div { grid-template-columns: minmax(0,1fr) auto; }
.settings-action-rows span { min-width: 0; display: grid; }
.settings-action-rows small { margin-top: 2px; }
.settings-status-rows > div { grid-template-columns: minmax(0,1fr) auto; }
.settings-status-rows strong { font-weight: 580; }
.settings-diagnostics { padding: 8px 22px; border-top: 1px solid var(--vt-border); background: var(--vt-surface-soft); }
.settings-diagnostics dl { margin: 0; padding: 8px 0; }
.settings-diagnostics dl div { display: flex; justify-content: space-between; gap: 16px; }
.button.compact { min-height: 34px; padding: 6px 9px; font-size: 12px; }
.status-chip, .status-badge, .flag { display: inline-flex; align-items: center; gap: 7px; width: fit-content; min-height: 28px; padding: 5px 10px; border: 1px solid var(--vt-border); border-radius: 999px; background: var(--vt-surface-soft); color: var(--vt-ink-secondary); font-size: 12px; font-weight: 580; white-space: nowrap; }
.status-chip i, .status-badge i, .dot { width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.status-valid, .status-success, .flag.success { border-color: #bce5cd; background: var(--vt-success-soft); color: var(--vt-success); }
.status-pending, .status-attention, .warning { border-color: #f2d3aa; background: var(--vt-warning-soft); color: var(--vt-warning); }
.status-error, .status-invalid, .flag.fail { border-color: #f3c6c0; background: var(--vt-danger-soft); color: var(--vt-danger); }
.notice { padding: 14px 16px; color: var(--vt-ink-secondary); }
.notice.success { border-color: #bce5cd; background: var(--vt-success-soft); }
.notice.warning { border-color: #f2d3aa; background: var(--vt-warning-soft); }
.production-state { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 18px; padding: 16px 18px; }
.production-state p { margin: 4px 0 0; }
.loading-state, .empty-state { min-height: 220px; display: grid; place-items: center; align-content: center; gap: 7px; padding: 28px; text-align: center; }
.spinner { width: 22px; height: 22px; border: 2px solid var(--vt-border); border-top-color: var(--vt-violet); border-radius: 50%; animation: spin .8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.activation-progress { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 8px; padding: 0; margin: 0 0 20px; list-style: none; }
.activation-progress button { width: 100%; min-height: 54px; display: flex; align-items: center; gap: 8px; border: 1px solid var(--vt-border); border-radius: var(--vt-radius-md); background: var(--vt-surface); color: var(--vt-ink-secondary); text-align: left; }
.activation-progress li.active button { border-color: #bdb3f3; background: var(--vt-violet-soft); color: var(--vt-violet-deep); }
.activation-progress i { width: 25px; height: 25px; display: grid; place-items: center; border-radius: 50%; background: var(--vt-surface-lavender); font-style: normal; font-size: 12px; }
.overview-header-status { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.period-chip { min-height: 28px; display: inline-flex; align-items: center; padding: 5px 10px; border: 1px solid var(--vt-border); border-radius: 999px; background: var(--vt-surface); color: var(--vt-ink-muted); font-size: 12px; }
.overview-kpis { grid-template-columns: repeat(4,minmax(0,1fr)); }
.overview-trend { margin-bottom: 22px; }
.overview-trend .analytics-card { width: 100%; }
.overview-status-row { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; margin-bottom: 22px; }
.overview-status-row .panel { display: flex; flex-direction: column; }
.overview-status-row .panel .button, .overview-status-row .panel .dialog-actions { margin-top: auto; }
.overview-stepper { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0; margin: 0; padding: 2px 0 0; list-style: none; }
.overview-stepper li { position: relative; min-width: 0; }
.overview-stepper li:not(:last-child)::after { content: ""; position: absolute; z-index: 0; top: 20px; left: calc(50% + 20px); right: calc(-50% + 20px); height: 1px; background: var(--vt-border-strong); }
.overview-stepper li.is-complete:not(:last-child)::after { background: rgba(109,85,230,.55); }
.overview-stepper button { position: relative; z-index: 1; width: 100%; min-height: 72px; display: flex; align-items: flex-start; gap: 10px; padding: 8px; border: 0; background: transparent; text-align: left; }
.overview-stepper i { width: 40px; height: 40px; flex: 0 0 40px; display: grid; place-items: center; border: 1px solid var(--vt-border-strong); border-radius: 50%; background: var(--vt-surface); color: var(--vt-ink-muted); font-style: normal; font-weight: 600; }
.overview-stepper span { min-width: 0; display: grid; padding-top: 1px; }
.overview-stepper strong { font-size: 14px; font-weight: 590; }
.overview-stepper small { margin-top: 2px; }
.overview-stepper .is-complete i { border-color: var(--vt-violet); background: var(--vt-violet-soft); color: var(--vt-violet-deep); }
.overview-stepper .is-current i { border-color: var(--vt-violet); background: var(--vt-violet); color: #fff; box-shadow: var(--vt-focus); }
.activation-panel { margin-bottom: 18px; }
.activation-form { display: grid; gap: 18px; }
.quick-test-advanced, .quick-test-manual, .ledger-filter-advanced, details { min-width: 0; }
.quick-test-advanced > summary, .quick-test-manual > summary, details > summary { min-height: 44px; display: flex; align-items: center; justify-content: space-between; gap: 10px; color: var(--vt-ink); font-weight: 580; }
.quick-test-advanced-body { display: grid; gap: 18px; padding-top: 16px; }
.quick-test-schema-panel[hidden] { display: none; }
.quick-test-schema-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.quick-test-guardrail-status { min-width: 0; overflow-wrap: anywhere; }
.quick-test-advanced-grid, .quick-test-setup-grid, .quick-test-schema-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); gap: 16px; }
.quick-test-route-card, .quick-test-check { min-width: 0; display: grid; grid-template-columns: auto 1fr; gap: 10px; padding: 14px; border: 1px solid var(--vt-border); border-radius: var(--vt-radius-md); background: var(--vt-surface-soft); }
.quick-test-route-card span, .quick-test-check span { min-width: 0; }
.quick-test-route-card strong, .quick-test-check strong { display: block; }
.quick-test-route-card small, .quick-test-check small { display: block; color: var(--vt-ink-muted); }
.quick-test-live-output, .key-reveal { max-width: 100%; overflow: auto; padding: 18px; border: 1px solid var(--vt-night-border); border-radius: var(--vt-radius-md); background: var(--vt-night); color: var(--vt-night-text); }
.quick-test-v68 { padding: 22px; border: 1px solid var(--vt-border); border-radius: var(--vt-radius-lg); background: rgba(255,255,255,.84); box-shadow: var(--vt-shadow-sm); }
.quick-test-v68 > .activation-panel-copy { margin-bottom: 18px; }
.quick-test-workbench { display: grid; grid-template-columns: minmax(0,58fr) minmax(320px,42fr); align-items: start; gap: 20px; }
.quick-test-builder { min-width: 0; display: grid; gap: 16px; }
.quick-test-builder > .field textarea { min-height: 104px; }
.quick-test-setup-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.explicit-model-status { min-height: 38px; display: flex; align-items: center; gap: 8px; padding: 8px 11px; border: 1px solid var(--vt-border); border-radius: var(--vt-radius-md); background: var(--vt-surface-lavender); }
.explicit-model-status i { width: 7px; height: 7px; border-radius: 50%; background: var(--vt-violet); }
.explicit-model-status strong { font-size: 13px; font-weight: 590; }
.explicit-model-status span { margin-left: auto; color: var(--vt-violet-deep); font-size: 12px; }
.quick-test-advanced { padding: 2px 12px; border: 1px solid var(--vt-border); border-radius: var(--vt-radius-md); background: var(--vt-surface-soft); }
.quick-test-advanced > summary i { color: var(--vt-ink-muted); font-size: 12px; font-style: normal; font-weight: 400; }
.quick-test-budget-estimate { display: grid; gap: 3px; padding: 12px 14px; border: 1px solid var(--vt-border); border-radius: var(--vt-radius-md); background: var(--vt-surface-lavender); }
.quick-test-budget-estimate > span { color: var(--vt-ink-muted); font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.quick-test-budget-estimate strong { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; font-family: var(--vt-display); font-size: 19px; font-weight: 620; }
.quick-test-budget-estimate strong small { font-family: var(--vt-font); font-weight: 500; }
.quick-test-budget-estimate p { margin: 0; font-size: 12px; }
.quick-test-submit { display: flex; justify-content: flex-end; }
.quick-test-result { position: sticky; top: 20px; min-width: 0; min-height: 420px; display: grid; align-content: start; gap: 14px; padding: 20px; border: 1px solid var(--vt-tech-border); border-radius: var(--vt-radius-lg); background: radial-gradient(circle at 82% 8%, rgba(155,137,238,.12), transparent 34%), linear-gradient(145deg,var(--vt-tech-raised),var(--vt-tech-surface)); color: var(--vt-night-text); box-shadow: var(--vt-shadow-md); }
.quick-test-result-empty { min-height: 360px; display: grid; place-items: center; align-content: center; text-align: center; }
.quick-test-result-empty > span { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid var(--vt-night-border); border-radius: 13px; color: var(--vt-electric); }
.quick-test-result-empty h3 { margin: 12px 0 4px; color: var(--vt-night-text); }
.quick-test-result-empty p { max-width: 300px; color: var(--vt-night-muted); font-size: 13px; }
.quick-test-result .quick-test-live-output { margin: 0; border: 0; background: transparent; }
.quick-test-result .error { color: #ffb4aa; }

/* Tables, requests, usage */
.table-wrap, .data-table { min-width: 0; overflow-x: auto; border: 1px solid var(--vt-border); border-radius: var(--vt-radius-lg); background: var(--vt-surface); box-shadow: var(--vt-shadow-xs); }
.table-wrap { padding: 0; }
table { width: 100%; min-width: 760px; border-collapse: separate; border-spacing: 0; color: var(--vt-ink); }
th { position: sticky; top: 0; z-index: 1; padding: 12px 14px; border-bottom: 1px solid var(--vt-border); background: var(--vt-surface-lavender); color: var(--vt-ink-muted); font-size: 12px; font-weight: 650; letter-spacing: .04em; text-align: left; text-transform: uppercase; }
td { max-width: 300px; padding: 13px 14px; border-bottom: 1px solid var(--vt-border); color: var(--vt-ink-secondary); vertical-align: middle; overflow-wrap: anywhere; }
td small { display: block; margin-top: 4px; color: var(--vt-ink-muted); line-height: 1.45; }
.ledger-table.compact table { min-width: 900px; table-layout: fixed; }
.ledger-table.compact th:nth-child(1) { width: 13%; }
.ledger-table.compact th:nth-child(2) { width: 21%; }
.ledger-table.compact th:nth-child(3) { width: 12%; }
.ledger-table.compact th:nth-child(4) { width: 19%; }
.ledger-table.compact th:nth-child(5) { width: 18%; }
.ledger-table.compact th:nth-child(6) { width: 9%; }
.ledger-table.compact th:nth-child(7) { width: 8%; }
.request-launch-table { position: relative; background: linear-gradient(90deg, var(--vt-surface) calc(100% - 34px), rgba(109,85,230,.12)); scrollbar-gutter: stable; }
.request-launch-table table { min-width: 1050px; table-layout: fixed; }
.request-launch-table th:nth-child(1) { width: 110px; }
.request-launch-table th:nth-child(2) { width: 185px; }
.request-launch-table th:nth-child(3) { width: 110px; }
.request-launch-table th:nth-child(4) { width: 190px; }
.request-launch-table th:nth-child(5) { width: 80px; }
.request-launch-table th:nth-child(6) { width: 90px; }
.request-launch-table th:nth-child(7) { width: 120px; }
.request-launch-table th:nth-child(8) { width: 75px; }
.request-launch-table th:nth-child(9) { width: 70px; }
.request-launch-table th:last-child, .request-launch-table td:last-child { position: sticky; right: 0; z-index: 2; background: var(--vt-surface); box-shadow: -10px 0 14px -14px rgba(25,18,56,.55); }
.request-launch-table th:last-child { z-index: 3; background: var(--vt-surface-lavender); }
.request-cost-cell { white-space: nowrap; }
.table-action .button { white-space: nowrap; }
.request-timeline ol { display: grid; gap: 8px; margin: 10px 0 20px; padding-left: 24px; }
.request-timeline li { padding-left: 3px; }
.request-timeline li strong, .request-timeline li span { display: block; }
.request-timeline li strong { color: var(--vt-ink); font-weight: 590; }
.request-timeline li span { margin-top: 2px; color: var(--vt-ink-muted); font-size: 12px; }
.ledger-attempts { display: grid; gap: 10px; }
.ledger-attempts article { display: grid; gap: 3px; padding: 12px 14px; border: 1px solid var(--vt-border); border-radius: var(--vt-radius-md); background: var(--vt-surface-soft); }
.ledger-attempts article > span, .ledger-attempts article > small { color: var(--vt-ink-muted); font-size: 12px; }
.ledger-attempts article > strong { color: var(--vt-ink); font-weight: 590; }
.copyable-identity { min-width: 0; display: flex; align-items: center; gap: 6px; }
.copyable-identity code { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.copyable-identity .button { flex: 0 0 48px; min-width: 48px; min-height: 36px; padding: 6px 8px; font-size: 12px; white-space: nowrap; overflow-wrap: normal; }
tbody tr:last-child td { border-bottom: 0; }
tbody tr:hover td { background: var(--vt-surface-soft); }
.ledger-filters { display: grid; grid-template-columns: minmax(150px,180px) minmax(220px,1fr) auto; align-items: end; gap: 12px; margin-bottom: 18px; padding: 14px; border: 1px solid var(--vt-border); border-radius: var(--vt-radius-lg); background: rgba(255,255,255,.78); box-shadow: var(--vt-shadow-xs); }
.ledger-filter-advanced { grid-column: 1 / -1; order: 4; }
.ledger-filter-advanced > summary { width: fit-content; min-height: 36px; padding: 4px 2px; color: var(--vt-violet-deep); }
.ledger-filter-advanced > summary i { transition: transform 180ms ease; }
.ledger-filter-advanced[open] > summary i { transform: rotate(180deg); }
.ledger-filter-extra { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); align-items: end; gap: 12px; padding-top: 12px; }
.ledger-filter-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.ledger-pagination { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 18px 0; }
.ledger-pagination span { color: var(--vt-ink-muted); font-size: 13px; text-align: center; }
.ledger-retention { display: flex; justify-content: space-between; gap: 20px; padding: 20px; }
.ledger-retention p { margin-bottom: 0; }
.usage-period-tabs, .identity-auth-tabs, .key-section-tabs { display: flex; flex-wrap: wrap; gap: 8px; }
.usage-period-tabs button, .key-section-tabs button { min-height: 40px; padding: 8px 13px; border: 1px solid var(--vt-border); border-radius: 9px; background: var(--vt-surface); }
.usage-period-tabs button.active, .key-section-tabs button.active { border-color: #bdb3f3; background: var(--vt-violet-soft); color: var(--vt-violet-deep); }

/* Keys, budgets, docs, settings */
.key-vault-grid, .key-sections, .budget-grid { display: grid; gap: 18px; }
.key-resource-tabs { width: fit-content; max-width: 100%; display: grid; grid-template-columns: repeat(2,minmax(190px,1fr)); gap: 4px; margin-bottom: 18px; padding: 4px; border: 1px solid var(--vt-border); border-radius: var(--vt-radius-md); background: var(--vt-surface-lavender); }
.key-resource-tabs button { min-height: 52px; display: grid; gap: 1px; padding: 8px 14px; border: 0; border-radius: 9px; background: transparent; color: var(--vt-ink-secondary); text-align: left; }
.key-resource-tabs button strong { font-size: 14px; font-weight: 590; }
.key-resource-tabs button small { font-size: 11px; }
.key-resource-tabs button.active { background: var(--vt-surface); color: var(--vt-ink); box-shadow: var(--vt-shadow-xs); }
.key-section { min-width: 0; margin-bottom: 22px; padding: clamp(20px, 2.5vw, 28px); border: 1px solid var(--vt-border); border-radius: var(--vt-radius-lg); background: var(--vt-surface); box-shadow: var(--vt-shadow-xs); }
.key-section .section-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; }
.key-revoked-filter { min-height: 40px; display: inline-flex; align-items: center; gap: 7px; padding: 7px 10px; border-radius: 9px; color: var(--vt-ink-secondary); font-size: 12px; }
.key-type-guide { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 18px; margin-bottom: 22px; padding: 20px; border: 1px solid var(--vt-border); border-radius: var(--vt-radius-lg); background: var(--vt-surface-lavender); }
.key-type-guide article { min-width: 0; }
.key-type-guide article > span { color: var(--vt-violet-deep); font-size: 12px; font-weight: 650; letter-spacing: .06em; text-transform: uppercase; }
.key-type-guide h2 { margin: 7px 0; font-size: 18px; }
.key-type-guide p { margin: 0; }
.key-type-guide > i { color: var(--vt-violet); font-style: normal; }
.key-manage-drawer { margin-top: 16px; padding: 8px 14px; border: 1px solid var(--vt-border); border-radius: var(--vt-radius-md); background: var(--vt-surface-soft); }
.endpoint-field { min-width: 0; display: flex; align-items: center; gap: 10px; padding: 10px; border: 1px solid var(--vt-border); border-radius: var(--vt-radius-md); background: var(--vt-surface-lavender); }
.endpoint-field code { min-width: 0; flex: 1; overflow-wrap: anywhere; }
.usage-toolbar { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.usage-toolbar .field { width: min(220px, 100%); }
.usage-kpis { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.usage-kpis .metric strong { white-space: nowrap; }
.analytics-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; margin-bottom: 24px; }
.analytics-card { min-width: 0; padding: 20px; border: 1px solid var(--vt-border); border-radius: var(--vt-radius-lg); background: var(--vt-surface); box-shadow: var(--vt-shadow-xs); }
.analytics-heading { min-height: 62px; display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.analytics-heading h2 { margin: 0 0 4px; font-size: 17px; }
.analytics-heading p { margin: 0; font-size: 12px; }
.analytics-legend { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px 12px; color: var(--vt-ink-muted); font-size: 11px; }
.analytics-legend span { display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; }
.analytics-legend i { width: 8px; height: 8px; border-radius: 3px; }
.analytics-plot { height: 190px; display: flex; align-items: stretch; gap: clamp(5px,1vw,12px); padding: 14px 4px 0; border-top: 1px solid var(--vt-border); background-image: linear-gradient(to bottom, rgba(109,85,230,.055) 1px, transparent 1px); background-size: 100% 25%; }
.analytics-day { min-width: 0; flex: 1; display: grid; grid-template-rows: minmax(0,1fr) auto; gap: 8px; color: var(--vt-ink-muted); font-size: 10px; text-align: center; }
.analytics-bars { min-height: 0; display: flex; align-items: end; justify-content: center; gap: 3px; }
.analytics-bar { width: min(14px,42%); min-height: 0; border-radius: 4px 4px 1px 1px; background: var(--vt-violet); }
.chart-success { background: var(--vt-violet); }
.chart-failure { background: #d5776e; }
.chart-input { background: var(--vt-blue-violet); }
.chart-output { background: var(--vt-electric); }
.chart-cost { background: #765ee8; }
.chart-latency { background: #5877d7; }
.chart-latency-high { background: #b6a7f6; }
.analytics-empty { min-height: 190px; display: grid; place-items: center; border-top: 1px solid var(--vt-border); color: var(--vt-ink-muted); }
.usage-secondary-metrics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin-bottom: 22px; }
.usage-secondary-metrics .metric { min-height: 104px; }
.ledger-privacy-note { color: var(--vt-ink-muted); font-size: 13px; }
.budget-summary { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 20px; padding: 24px; border: 1px solid var(--vt-border); border-radius: var(--vt-radius-lg); background: var(--vt-surface-lavender); }
.budget-policy-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 18px; }
.budget-warning-center { margin-top: 22px; padding: 24px; border: 1px solid var(--vt-border); border-radius: var(--vt-radius-lg); background: var(--vt-surface); }
.budget-policy-card { overflow: hidden; border: 1px solid var(--vt-border); border-radius: var(--vt-radius-lg); background: var(--vt-surface); box-shadow: var(--vt-shadow-xs); }
.budget-policy-head { min-height: 100px; display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 20px 22px; border-bottom: 1px solid var(--vt-border); background: var(--vt-surface-soft); }
.budget-policy-head h2 { margin: 0 0 4px; }
.budget-policy-head p { margin: 0 0 6px; font-size: 12px; }
.budget-policy-head div > span { color: var(--vt-ink-muted); font-size: 12px; text-transform: capitalize; }
.budget-policy-total { display: grid; gap: 4px; padding: 18px 22px 8px; }
.budget-policy-total > span { color: var(--vt-ink-muted); font-size: 12px; }
.budget-policy-total strong { color: var(--vt-ink); font-family: var(--vt-display); font-size: 24px; font-weight: 620; white-space: nowrap; }
.budget-policy-total strong small { color: var(--vt-ink-secondary); font-family: var(--vt-font); font-size: 13px; font-weight: 450; }
.budget-policy-stats { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0; margin: 8px 22px 18px; border: 1px solid var(--vt-border); border-radius: var(--vt-radius-md); background: var(--vt-surface-lavender); }
.budget-policy-stats > div { min-width: 0; padding: 13px; border-right: 1px solid var(--vt-border); border-bottom: 1px solid var(--vt-border); }
.budget-policy-stats > div:nth-child(3n) { border-right: 0; }
.budget-policy-stats > div:nth-last-child(-n+3) { border-bottom: 0; }
.budget-policy-stats dt { color: var(--vt-ink-muted); font-size: 11px; }
.budget-policy-stats dd { margin: 4px 0 0; color: var(--vt-ink); font-weight: 590; white-space: nowrap; }
.budget-disabled-reason { margin: 0; padding: 0 22px 16px; font-size: 12px; }
.budget-policy-actions { display: flex; justify-content: flex-end; gap: 8px; padding: 14px 22px; border-top: 1px solid var(--vt-border); background: var(--vt-surface-soft); }
.budget-spend-chart { margin-top: 18px; }
.budget-trend-plot { position: relative; height: 190px; display: flex; align-items: stretch; gap: 8px; padding: 18px 8px 0; border-top: 1px solid var(--vt-border); }
.budget-trend-day { min-width: 0; flex: 1; display: grid; grid-template-rows: minmax(0,1fr) auto; gap: 7px; color: var(--vt-ink-muted); font-size: 10px; text-align: center; }
.budget-trend-day i { align-self: end; min-height: 2px; border-radius: 4px 4px 1px 1px; background: linear-gradient(var(--vt-electric),var(--vt-violet)); }
.budget-limit-line { position: absolute; z-index: 2; left: 8px; right: 8px; height: 1px; border-top: 1px dashed var(--vt-danger); }
.budget-limit-line span { position: absolute; right: 0; bottom: 4px; color: var(--vt-danger); font-size: 10px; }
.budget-events { display: grid; }
.budget-events article { min-width: 0; display: grid; grid-template-columns: minmax(130px,.75fr) minmax(150px,1fr) minmax(180px,1.2fr) minmax(120px,.8fr) minmax(180px,1.2fr) auto; align-items: center; gap: 14px; padding: 14px 0; border-bottom: 1px solid var(--vt-border); }
.budget-events article:last-child { border-bottom: 0; }
.budget-event-policy, .budget-event-reason { min-width: 0; display: grid; }
.budget-event-policy small, .budget-event-reason small { font-size: 10px; text-transform: uppercase; letter-spacing: .06em; }
.budget-event-policy strong, .budget-event-reason code { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.budget-event-evidence { min-width: 0; display: grid; gap: 4px; }
.budget-event-evidence strong { font-weight: 590; white-space: nowrap; }
.ledger-distribution { display: grid; align-content: start; gap: 14px; }
.ledger-distribution-row { min-width: 0; display: grid; gap: 8px; }
.ledger-distribution-row > div { min-width: 0; display: flex; align-items: baseline; justify-content: space-between; gap: 16px; }
.ledger-distribution-row strong { min-width: 0; overflow: hidden; color: var(--vt-ink); font-size: 13px; font-weight: 580; text-overflow: ellipsis; white-space: nowrap; }
.ledger-distribution-row span { flex: 0 0 auto; color: var(--vt-ink-muted); font-size: 12px; white-space: nowrap; }
.ledger-distribution-row > i { height: 6px; overflow: hidden; border-radius: 999px; background: var(--vt-surface-violet); }
.ledger-distribution-row > i > b { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--vt-violet),var(--vt-blue-violet)); }
.keybox { max-width: 100%; overflow: auto; padding: 14px; border: 1px solid var(--vt-border); border-radius: var(--vt-radius-md); background: var(--vt-surface-lavender); color: var(--vt-ink); }
.provider-choice-grid, .funding-choice-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 12px; }
.provider-choice-card, .funding-choice-card { min-height: 128px; padding: 16px; border: 1px solid var(--vt-border); border-radius: var(--vt-radius-md); background: var(--vt-surface); text-align: left; }
.provider-choice-card { display: grid; grid-template-columns: 42px minmax(0, 1fr); align-items: start; gap: 8px 12px; }
.provider-choice-mark { display: grid; grid-row: 1 / span 2; place-items: center; width: 42px; height: 42px; border-radius: 11px; background: var(--vt-violet-soft); color: var(--vt-violet-deep); font-size: 13px; font-weight: 650; }
.provider-choice-card > span:not(.provider-choice-mark) { min-width: 0; display: grid; gap: 3px; }
.provider-choice-card strong, .provider-choice-card small { display: block; }
.provider-choice-card small { color: var(--vt-ink-muted); line-height: 1.4; }
.provider-choice-card em { grid-column: 2; color: var(--vt-ink-secondary); font-size: 13px; font-style: normal; }
.provider-choice-card:hover:not(:disabled), .funding-choice-card:hover:not(:disabled) { border-color: var(--vt-violet); box-shadow: var(--vt-shadow-sm); }
.provider-choice-card:disabled, .funding-choice-card:disabled { background: var(--vt-surface-soft); color: var(--vt-ink-disabled); }
.provider-credential-entry, .activation-existing { display: grid; gap: 14px; }
.provider-credential-heading, .activation-row-actions, .dialog-actions, .settings-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.settings-list { display: grid; gap: 0; margin: 0; }
.settings-list > div { display: grid; grid-template-columns: minmax(110px, .65fr) minmax(0, 1.35fr); gap: 16px; padding: 13px 0; border-bottom: 1px solid var(--vt-border); }
.settings-list dt { color: var(--vt-ink-muted); }
.settings-list dd { margin: 0; color: var(--vt-ink); text-align: right; }
.settings-method { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--vt-border); }
.settings-method p { margin: 3px 0 0; }
.access-list, .documentation-list, .core-status-list { list-style: none; padding: 0; margin: 0; }
.access-list li, .documentation-list li, .core-status-list li { display: flex; justify-content: space-between; gap: 18px; padding: 13px 0; border-bottom: 1px solid var(--vt-border); }
.documentation-section { margin-bottom: 18px; }
.documentation-layout { display: grid; grid-template-columns: 200px minmax(0,1fr) 180px; align-items: start; gap: 24px; }
.documentation-nav, .documentation-toc { position: sticky; top: 20px; display: grid; gap: 2px; padding: 8px; border-left: 1px solid var(--vt-border); }
.documentation-nav a, .documentation-toc a { min-height: 34px; display: flex; align-items: center; padding: 6px 10px; border-radius: 8px; color: var(--vt-ink-secondary); font-size: 12px; text-decoration: none; }
.documentation-nav a:first-child, .documentation-nav a:hover, .documentation-toc a:hover { background: var(--vt-violet-soft); color: var(--vt-violet-deep); }
.documentation-toc strong { padding: 5px 10px 8px; font-size: 12px; font-weight: 600; }
.documentation-content { min-width: 0; }
.documentation-content .documentation-section { scroll-margin-top: 20px; }
.documentation-section .code-panel { margin-top: 14px; }
.documentation-code { min-width: 0; max-width: 100%; margin-top: 14px; overflow: hidden; border: 1px solid var(--vt-night-border); border-radius: var(--vt-radius-md); background: var(--vt-night); color: var(--vt-night-text); }
.documentation-code > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 14px; border-bottom: 1px solid var(--vt-night-border); color: var(--vt-night-muted); }
.documentation-code > div strong { color: var(--vt-night-text); font-weight: 600; }
.documentation-code .button.quiet { color: var(--vt-night-text); border-color: var(--vt-night-border); background: var(--vt-night-raised); }
.documentation-code pre { display: block; max-width: 100%; margin: 0; padding: 20px; overflow-x: auto; overscroll-behavior-inline: contain; color: var(--vt-night-text); background: transparent; white-space: pre; }
.budget-card[aria-disabled="true"], .budget-card.disabled { opacity: 1; background: var(--vt-surface); color: var(--vt-ink); }

/* Modal */
.modal-backdrop { position: fixed; z-index: 100; inset: 0; display: grid; place-items: center; padding: 20px; overflow: auto; background: rgba(12, 11, 19, .58); backdrop-filter: blur(8px); }
.modal-dialog { position: relative; width: min(100%, 640px); min-width: 0; max-height: calc(100vh - 40px); overflow: auto; border: 1px solid var(--vt-border); border-radius: var(--vt-radius-xl); background: var(--vt-surface); box-shadow: 0 32px 100px rgba(12, 11, 19, .28); }
.dialog-content { min-width: 0; max-width: 100%; padding: clamp(24px, 4vw, 36px); }
.modal-close { position: sticky; z-index: 2; top: 12px; float: right; width: 42px; height: 42px; margin: 12px 12px -54px 0; border: 1px solid var(--vt-border); border-radius: 50%; background: var(--vt-surface); color: var(--vt-ink); font-size: 22px; }
.reveal-dialog .key-reveal { color: var(--vt-night-text); }
.toast { position: fixed; z-index: 150; right: 20px; bottom: 20px; max-width: min(420px, calc(100vw - 40px)); padding: 13px 16px; border: 1px solid var(--vt-border); border-radius: var(--vt-radius-md); background: var(--vt-night); color: var(--vt-night-text); box-shadow: var(--vt-shadow-md); }
.ordinary-request-detail { width: min(100%, 980px); min-width: 0; }
.request-detail-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.request-detail-header > div { min-width: 0; max-width: 100%; }
.request-detail-header h2 { max-width: 650px; margin: 5px 0; overflow: hidden; font-family: var(--vt-mono); font-size: 18px; text-overflow: ellipsis; white-space: nowrap; }
.request-detail-header > div:last-child { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.request-summary-row { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 1px; margin: 20px 0; overflow: hidden; border: 1px solid var(--vt-border); border-radius: var(--vt-radius-md); background: var(--vt-border); }
.request-summary-row > div { min-width: 0; display: grid; gap: 4px; padding: 13px; background: var(--vt-surface); }
.request-summary-row span { color: var(--vt-ink-muted); font-size: 11px; }
.request-summary-row strong { overflow: hidden; font-size: 13px; font-weight: 590; text-overflow: ellipsis; white-space: nowrap; }
.request-detail-tabs { display: flex; gap: 4px; overflow-x: auto; border-bottom: 1px solid var(--vt-border); }
.request-detail-tabs button { min-height: 42px; padding: 8px 12px; border: 0; border-bottom: 2px solid transparent; background: transparent; color: var(--vt-ink-muted); font-size: 13px; white-space: nowrap; }
.request-detail-tabs button.active { border-bottom-color: var(--vt-violet); color: var(--vt-violet-deep); }
.request-tab-panel { padding: 20px 0 4px; }
.request-advanced-disclosure { padding: 8px 14px; border: 1px solid var(--vt-border); border-radius: var(--vt-radius-md); background: var(--vt-surface-soft); }

/* Legacy/internal surfaces are not ordinary console navigation. Their colors
   remain neutral if reached by an authorized internal route. */
.auth, .shell, .dashboard { min-width: 0; }
.headline { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
.internal-validation-compact, .handoff-priority-banner, .execution-intelligence-hero { border-color: var(--vt-border); background: var(--vt-surface); color: var(--vt-ink); }
.quality-explanation { min-width: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 18px; }
.execution-intelligence-hero,
.agency-plan-preview,
.agency-execution-preview { min-width: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 18px; overflow-wrap: anywhere; }
.execution-intelligence-row-heading { min-width: 0; display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 12px; overflow-wrap: anywhere; }

/* Responsive shell */
@container app-content (max-width: 760px) {
  .app-heading, .section-heading, .ledger-retention, .production-state { align-items: flex-start; flex-direction: column; }
  .settings-list > div { grid-template-columns: 1fr; gap: 4px; }
  .settings-list dd { text-align: left; }
  .metric, .stat-card, .quality-card { min-height: 118px; }
}

@container app-content (max-width: 920px) {
  .budget-events article { grid-template-columns: minmax(130px, .8fr) minmax(160px, 1fr) minmax(180px, 1.2fr) auto; }
  .budget-events time, .budget-event-evidence { grid-column: 2 / span 2; }
}

@media (max-width: 1279px) and (min-width: 641px) {
  .overview-kpis, .usage-kpis { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .request-launch-table table { min-width: 920px; }
  .request-launch-table th:nth-child(1) { width: 92px; }
  .request-launch-table th:nth-child(2) { width: 150px; }
  .request-launch-table th:nth-child(3) { width: 104px; }
  .request-launch-table th:nth-child(4) { width: 166px; }
  .request-launch-table th:nth-child(5) { width: 68px; }
  .request-launch-table th:nth-child(6) { width: 82px; }
  .request-launch-table th:nth-child(7) { width: 112px; }
  .request-launch-table th:nth-child(8) { width: 68px; }
  .request-launch-table th:nth-child(9) { width: 68px; }
  .request-launch-table td:nth-child(3) small,
  .request-launch-table td:nth-child(7) small { display: none; }
}

@media (max-width: 1179px) {
  .app-shell { display: block; }
  .sidebar-trigger { display: inline-grid; place-items: center; }
  .sidebar { position: fixed; left: 0; top: 0; width: 0; height: 100dvh; padding-inline: 0; overflow: hidden; visibility: hidden; transition: width 190ms ease, padding 190ms ease, visibility 190ms ease; box-shadow: var(--vt-shadow-md); }
  .sidebar.is-open { width: min(340px, 88vw); padding-inline: 16px; visibility: visible; }
  .sidebar-close { display: grid; place-items: center; }
  .sidebar-overlay { position: fixed; z-index: 45; inset: 0; display: block; visibility: hidden; opacity: 0; background: rgba(12, 11, 19, .5); transition: opacity 190ms ease, visibility 190ms ease; }
  .sidebar-overlay.is-visible { visibility: visible; opacity: 1; }
  body.drawer-open { overflow: hidden; }
  .app-main::before { inset: 0; }
  .app-header { padding-top: 18px; }
  .public-hero { grid-template-columns: 1fr; padding-top: 70px; }
  .public-hero-copy { max-width: 780px; }
  .public-hero-visual { min-height: 460px; }
  .public-routing-scene { inset: 16px 12px 90px; }
  .public-capabilities { grid-template-columns: 1fr; }
  .public-stack-intro h2, .public-editorial-copy h2, .public-visibility-copy h2 { font-size: clamp(34px,5vw,52px); }
}

@media (max-width: 1023px) {
  .documentation-layout { grid-template-columns: 180px minmax(0,1fr); }
  .documentation-toc { display: none; }
  .settings-layout { grid-template-columns: 190px minmax(0,1fr); gap: 20px; }
  .analytics-grid { grid-template-columns: 1fr; }
  .overview-status-row { grid-template-columns: 1fr; }
  .budget-events article { grid-template-columns: minmax(130px,.8fr) minmax(160px,1fr) minmax(180px,1.2fr) auto; }
  .budget-events time, .budget-event-evidence { grid-column: 2 / span 2; }
}

@media (max-width: 900px) {
  .public-header { width: calc(100% - 32px); }
  .public-menu-toggle { display: block; }
  .public-navigation { position: fixed; z-index: 40; left: 16px; right: 16px; top: 70px; display: none; padding: 18px; border: 1px solid var(--vt-border); border-radius: var(--vt-radius-lg); background: var(--vt-surface); box-shadow: var(--vt-shadow-md); }
  .public-navigation.is-open { display: grid; }
  .public-navigation nav, .public-header-actions { display: grid; gap: 8px; }
  .public-navigation nav a, .public-text-button { min-height: 42px; display: flex; align-items: center; padding: 8px; }
  .public-hero, .public-product-clarity, .public-capabilities, .public-integration, .public-final-cta, .public-footer, .public-stack-panel:not(.public-hero) { width: calc(100% - 32px); }
  .public-product-clarity { grid-template-columns: 1fr; }
  .public-product-clarity > i { display: none; }
  .public-integration { grid-template-columns: 1fr; padding: 32px; }
  .public-product-value, .public-factual-visibility { grid-template-columns: 1fr; gap: 30px; }
  .public-editorial-copy { max-width: 760px; }
  .public-final-cta { align-items: flex-start; }
  .public-footer { grid-template-columns: 1fr; }
  .public-footer small { text-align: left; }
  .public-legal-header { grid-template-columns: 1fr auto; gap: 16px; }
  .public-legal-header nav { grid-column: 1 / -1; order: 3; justify-content: flex-start; padding: 0 0 14px; overflow-x: auto; }
  .public-legal-header nav a { white-space: nowrap; }
  .public-legal-footer { grid-template-columns: 1fr; gap: 14px; padding: 28px 0; }
  .public-legal-footer nav { justify-content: flex-start; flex-wrap: wrap; gap: 12px 20px; }
  .public-legal-footer small { text-align: left; }
  .identity-page { grid-template-columns: 1fr; }
  .identity-brand-panel { min-height: 420px; padding: 32px; }
  .identity-value { margin: 72px 0 30px; }
  .identity-form-panel { min-height: auto; padding: 32px 20px 60px; }
  .quick-test-workbench { grid-template-columns: 1fr; }
  .quick-test-result { position: static; min-height: 300px; }
  .quick-test-result-empty { min-height: 240px; }
  .quick-test-setup-grid { grid-template-columns: 1fr; }
  .settings-layout { grid-template-columns: 1fr; }
  .settings-nav { position: static; display: flex; overflow-x: auto; }
  .settings-nav a { white-space: nowrap; }
  .documentation-layout { grid-template-columns: 1fr; }
  .documentation-nav { position: static; display: flex; overflow-x: auto; border: 1px solid var(--vt-border); border-radius: var(--vt-radius-md); background: var(--vt-surface); }
  .documentation-nav a { white-space: nowrap; }
}

@media (max-width: 767px) {
  .public-marketing-layer { padding: 48px 0; transform: translateY(12px); }
  .public-marketing-layer > .public-stack-panel { width: calc(100% - 32px); padding: 30px 0; }
  .public-access-cards, .public-value-list { grid-template-columns: 1fr; }
  .public-access-cards article { min-height: 0; }
  .public-access-cards h3 { margin-top: 16px; }
  .public-access-connector { grid-template-columns: 1fr; justify-items: center; border-radius: 18px; }
  .public-access-connector i { width: 1px; height: 26px; }
  .public-access-connector i::after { background: linear-gradient(180deg, transparent, var(--vt-electric), var(--vt-blue-violet), transparent); transform: translateY(-100%); }
  .public-marketing-layer.is-revealed .public-access-connector i::after { animation-name: public-connector-enter-mobile; }
  .public-lifecycle-story { min-height: 0; padding: 52px 16px; }
  .public-lifecycle-stage { position: static; width: 100%; height: auto; min-height: 0; display: grid; grid-template-columns: 1fr; gap: 30px; padding: 0; overflow: visible; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
  .public-lifecycle-narrative { display: block; }
  .public-lifecycle-copy-stack { min-height: 0; display: grid; gap: 18px; }
  .public-lifecycle-step, .public-lifecycle-step:not(.is-active) { position: relative; inset: auto; display: block; padding: 24px; border: 1px solid var(--vt-border); border-radius: 18px; background: var(--vt-surface); opacity: .96; transform: translateY(12px); pointer-events: auto; }
  .public-lifecycle-story[data-lifecycle-mode="static"] .public-lifecycle-step { opacity: 1; transform: translateY(0); }
  .public-lifecycle-step h2 { font-size: clamp(30px,9vw,42px); }
  .public-lifecycle-progress { display: none; }
  .public-lifecycle-visual { min-height: 450px; padding: 26px; }
  .public-lifecycle-grid { transform: none; }
  .public-request-preview dl { grid-template-columns: 1fr; }
  .public-footer-expanded nav { grid-template-columns: repeat(2,minmax(0,auto)); justify-content: start; }
}

@media (max-width: 640px) {
  h1 { font-size: 27px; }
  .app-header { padding: 14px 16px 8px; }
  .app-content { padding: 14px 16px 40px; }
  .app-heading { align-items: flex-start; flex-direction: column; }
  .app-heading h1 { font-size: 27px; }
  .public-hero { min-height: auto; padding: 54px 0; }
  .public-hero h1 { font-size: clamp(46px, 14vw, 62px); }
  .public-hero-phrase-stage { min-height: 3.08em; }
  .public-hero-visual { min-height: 370px; border-radius: 20px; }
  .public-routing-scene { inset: 18px 4px 92px; perspective: 720px; }
  .public-routing-plane { width: 94%; animation-name: public-routing-plane-float-mobile; }
  .public-hero-flow { height: 100%; }
  .public-route-status { left: 14px; right: 14px; bottom: 14px; }
  .public-capability-list { grid-template-columns: 1fr; }
  .public-integration, .public-final-cta { padding: 24px; border-radius: 20px; }
  .public-final-cta { align-items: flex-start; flex-direction: column; }
  .public-legal-header, .public-legal-main, .public-legal-footer { width: calc(100% - 32px); }
  .public-legal-header { min-height: 68px; }
  .public-legal-home { min-height: 38px; padding: 8px 10px; font-size: 12px; }
  .public-legal-main { padding: 48px 0 56px; }
  .public-legal-title { padding-bottom: 30px; }
  .public-legal-title h1 { font-size: 36px; }
  .public-legal-title > p:not(.eyebrow):not(.public-legal-meta) { font-size: 15px; }
  .public-legal-document section { padding: 28px 0; }
  .identity-brand-panel { min-height: 390px; padding: 24px; }
  .identity-value { margin-top: 54px; }
  .identity-value h1 { font-size: clamp(42px, 13vw, 54px); }
  .identity-routing-flow i { display: none; }
  .identity-routing-flow span { flex: 1 1 42%; text-align: center; }
  .identity-form-panel { padding: 20px 14px 44px; }
  .identity-form-card { padding: 24px 18px; }
  .metrics, .attribution-summary, .quality-grid, .overview-metrics, .grid, .settings-grid, .overview-kpis, .usage-kpis, .usage-secondary-metrics { grid-template-columns: 1fr; }
  .ledger-filters { grid-template-columns: 1fr; }
  .usage-toolbar, .budget-summary, .key-type-guide { align-items: stretch; grid-template-columns: 1fr; flex-direction: column; }
  .key-type-guide > i { display: none; }
  .ledger-pagination { align-items: stretch; flex-direction: column; }
  .ledger-pagination .button { width: 100%; }
  .overview-header-status { justify-content: flex-start; }
  .overview-stepper { grid-template-columns: 1fr; gap: 6px; }
  .overview-stepper li:not(:last-child)::after { top: 48px; bottom: -12px; left: 28px; right: auto; width: 1px; height: auto; }
  .settings-rows > div, .settings-action-rows > div, .settings-status-rows > div { grid-template-columns: 1fr; gap: 7px; }
  .settings-rows dd { justify-content: flex-start; }
  .settings-action-rows > div > .button, .settings-status-rows > div > strong { justify-self: start; }
  .key-resource-tabs { width: 100%; grid-template-columns: 1fr 1fr; }
  .key-resource-tabs button { min-width: 0; padding: 8px 10px; }
  .budget-policy-stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .budget-policy-stats > div:nth-child(3n) { border-right: 1px solid var(--vt-border); }
  .budget-policy-stats > div:nth-child(2n) { border-right: 0; }
  .budget-policy-stats > div:nth-last-child(-n+3) { border-bottom: 1px solid var(--vt-border); }
  .budget-policy-stats > div:nth-last-child(-n+2) { border-bottom: 0; }
  .budget-policy-total strong { white-space: normal; }
  .budget-events article { grid-template-columns: 1fr; gap: 8px; }
  .budget-events time, .budget-event-evidence { grid-column: auto; }
  .request-summary-row { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .request-detail-header { flex-direction: column; }
  .request-detail-header h2 { max-width: 100%; }
  .modal-backdrop { padding: 10px; align-items: end; }
  .modal-dialog { max-height: calc(100dvh - 20px); border-radius: 20px 20px 14px 14px; }
      .dialog-actions > * { flex: 1 1 100%; }
      .quick-test-schema-actions .button { width: 100%; }
  table { min-width: 680px; }
  .request-launch-table, .ledger-table.compact { overflow: visible; border: 0; background: transparent; box-shadow: none; }
  .request-launch-table table, .ledger-table.compact table { min-width: 0; display: block; }
  .request-launch-table thead, .ledger-table.compact thead { display: none; }
  .request-launch-table tbody, .ledger-table.compact tbody { display: grid; gap: 12px; }
  .request-launch-table tr, .ledger-table.compact tr { display: grid; gap: 0; padding: 14px; border: 1px solid var(--vt-border); border-radius: var(--vt-radius-lg); background: var(--vt-surface); box-shadow: var(--vt-shadow-xs); }
  .request-launch-table td, .ledger-table.compact td { max-width: none; display: grid; grid-template-columns: minmax(96px, .7fr) minmax(0, 1.3fr); gap: 10px; padding: 9px 0; border-bottom: 1px solid var(--vt-border); }
  .request-launch-table td::before, .ledger-table.compact td::before { content: attr(data-label); color: var(--vt-ink-muted); font-size: 12px; font-weight: 600; }
  .request-launch-table td:last-child, .ledger-table.compact td:last-child { border-bottom: 0; }
  .request-launch-table .table-action, .ledger-table.compact .table-action { position: static; grid-template-columns: 1fr; box-shadow: none; }
  .request-launch-table .table-action::before, .ledger-table.compact .table-action::before { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .ev-route { stroke-dasharray: none; }
  .ev-pulse { display: none; }
  .ev-node-policy circle { transform: none; filter: none; }
  .public-hero-phrase { transition: none; }
  .public-hero-phrase:not(.is-active) { display: none; }
  .public-routing-plane { animation: none; transform: rotateX(54deg) rotateZ(-4deg) translateY(-2%); }
  .public-fluid-field i { transition: none; transform: none; }
  .public-access-connector i::after { display: none; }
  .public-marketing-layer { opacity: 1; transform: none; transition: none; }
  .public-hero, .public-hero.is-hero-exiting { transform: none; opacity: 1; }
  .public-lifecycle-story { min-height: 0; padding: 64px 24px; }
  .public-lifecycle-stage { position: static; width: min(1320px,100%); height: auto; min-height: 0; grid-template-columns: 1fr; padding: clamp(32px,5vw,60px); }
  .public-lifecycle-copy-stack { min-height: 0; display: grid; gap: 18px; }
  .public-lifecycle-step, .public-lifecycle-step:not(.is-active) { position: relative; inset: auto; padding: 24px; border: 1px solid var(--vt-border); border-radius: 18px; background: var(--vt-surface); opacity: 1; transform: none; pointer-events: auto; }
  .public-lifecycle-progress { display: none; }
}

@media (forced-colors: active) {
  .sidebar-link.active, .button, .status-badge { border: 1px solid CanvasText; }
}

/* Multi-Agent product surfaces reuse the accepted console system without
   exposing private routing evidence or introducing a parallel theme. */
.sidebar-workspace { display: grid; gap: 7px; }
.sidebar-workspace label { color: var(--vt-night-muted); font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.sidebar-workspace select { width: 100%; min-height: 36px; padding: 7px 30px 7px 9px; border-color: var(--vt-night-border); background-color: var(--vt-sidebar-raised); color: var(--vt-night-text); font-size: 13px; }
.sidebar-workspace button { min-height: 30px; padding: 0; border: 0; background: none; color: var(--vt-night-muted); font: inherit; font-size: 12px; text-align: left; cursor: pointer; }
.sidebar-workspace button:hover, .sidebar-workspace button:focus-visible { color: var(--vt-electric); }
.resource-table { max-width: 100%; overflow-x: auto; border: 1px solid var(--vt-border); border-radius: var(--vt-radius-lg); background: var(--vt-surface); box-shadow: var(--vt-shadow-xs); }
.resource-table table { min-width: 840px; margin: 0; }
.resource-table td strong, .resource-table td small { display: block; }
.resource-table td small { margin-top: 4px; color: var(--vt-ink-muted); }
.agent-step-cards { display: none; }
.projects-toolbar { display: flex; justify-content: flex-end; margin: 0 0 12px; }
.projects-toolbar .checkbox { min-height: 40px; }
.projects-table table { min-width: 700px; }
.project-row-actions { display: flex; align-items: center; justify-content: flex-end; gap: 6px; }
.project-row-actions .button { white-space: nowrap; }

@media (max-width: 767px) {
  .projects-toolbar { justify-content: flex-start; }
  .projects-table { overflow: visible; border: 0; background: transparent; box-shadow: none; }
  .projects-table table, .projects-table tbody { display: block; min-width: 0; }
  .projects-table thead { display: none; }
  .projects-table tbody { display: grid; gap: 12px; }
  .projects-table tr { display: block; overflow: hidden; border: 1px solid var(--vt-border); border-radius: var(--vt-radius-lg); background: var(--vt-surface); box-shadow: var(--vt-shadow-xs); }
  .projects-table td { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 48px; padding: 11px 14px; border-bottom: 1px solid var(--vt-border); text-align: right; }
  .projects-table td:last-child { border-bottom: 0; }
  .projects-table td::before { content: attr(data-label); flex: 0 0 88px; color: var(--vt-ink-muted); font-size: 11px; font-weight: 650; letter-spacing: .06em; text-align: left; text-transform: uppercase; }
  .projects-table td:first-child { display: grid; grid-template-columns: 88px minmax(0, 1fr); align-items: start; text-align: left; }
  .projects-table td:first-child::before { grid-row: 1 / span 2; }
  .projects-table td:first-child > strong, .projects-table td:first-child > small { grid-column: 2; min-width: 0; }
  .projects-table td:first-child > small { margin-top: 5px; }
  .agent-step-table { display: none; }
  .agent-step-cards { display: grid; gap: 12px; max-width: 100%; margin: 0; padding: 0; list-style: none; }
  .agent-step-card { min-width: 0; max-width: 100%; overflow: hidden; padding: 16px; border: 1px solid var(--vt-border); border-radius: var(--vt-radius-lg); background: var(--vt-surface); box-shadow: var(--vt-shadow-xs); }
  .agent-step-card header { min-width: 0; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }
  .agent-step-card header > span:first-child { color: var(--vt-violet-deep); font-family: var(--vt-mono); font-size: 11px; font-weight: 650; letter-spacing: .07em; text-transform: uppercase; }
  .agent-step-card h3 { max-width: 100%; margin: 14px 0; overflow-wrap: anywhere; }
  .agent-step-card dl { min-width: 0; display: grid; gap: 0; margin: 0; }
  .agent-step-card dl > div { min-width: 0; display: grid; grid-template-columns: minmax(88px,.7fr) minmax(0,1.3fr); gap: 12px; padding: 9px 0; border-top: 1px solid var(--vt-border); }
  .agent-step-card dt { color: var(--vt-ink-muted); font-size: 12px; }
  .agent-step-card dd { min-width: 0; margin: 0; color: var(--vt-ink); text-align: right; overflow-wrap: anywhere; }
  .agent-step-card dd code, .agent-step-card .copyable-identity { max-width: 100%; }
}
.resource-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 24px; padding: 5px; border: 1px solid var(--vt-border); border-radius: var(--vt-radius-md); background: var(--vt-surface-lavender); }
.resource-tabs a { min-height: 36px; display: inline-flex; align-items: center; padding: 0 12px; border-radius: 8px; color: var(--vt-ink-secondary); font-size: 13px; font-weight: 600; text-decoration: none; }
.resource-tabs a:hover, .resource-tabs a:focus-visible { background: var(--vt-surface); color: var(--vt-violet); box-shadow: var(--vt-shadow-xs); }
.agent-summary-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; margin-bottom: 24px; }
.agent-summary-grid .metric { min-height: 132px; }
.settings-form { display: grid; gap: 18px; max-width: 720px; }
.settings-form label { display: grid; gap: 7px; color: var(--vt-ink-secondary); font-size: 13px; font-weight: 600; }
.settings-form .button { justify-self: start; }

@media (max-width: 1179px) {
  .agent-summary-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 640px) {
  .agent-summary-grid { grid-template-columns: 1fr; }
  .resource-tabs { flex-wrap: nowrap; overflow-x: auto; }
  .resource-tabs a { flex: 0 0 auto; }
}
