/* ==========================================================================
   ConciergeDeck site-v2 - the homepage (home-v2) design system carried across
   every other page. Loaded LAST on each page, after the existing stylesheets,
   which stay in place (rollback = restore the previous HTML files).
   Scope: everything is prefixed with body.sv2 (class added to <body>).
   Fonts: Bricolage Grotesque (display) + Inter (text), self-hosted in /assets/home-v2/fonts.
   Themes: light + dark, driven by the existing html[data-theme] attribute that
   /assets/conciergedeck-ui.js stamps (storage key "conciergedeck-theme"; unchanged).
   ========================================================================== */
@font-face { font-family: 'Bricolage Grotesque'; font-style: normal; font-weight: 500 800; font-stretch: 100%; font-display: swap;
  src: url(/assets/home-v2/fonts/BricolageGrotesque-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Bricolage Grotesque'; font-style: normal; font-weight: 500 800; font-stretch: 100%; font-display: swap;
  src: url(/assets/home-v2/fonts/BricolageGrotesque-latin.woff2) format('woff2');
  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: 'Inter'; font-style: normal; font-weight: 400 700; font-display: swap;
  src: url(/assets/home-v2/fonts/Inter-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 400 700; font-display: swap;
  src: url(/assets/home-v2/fonts/Inter-latin.woff2) format('woff2');
  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; }

/* ---------- Tokens: light (default) ---------- */
:root:root {
  --sv-ink: #06110d; --sv-ink-2: #0a1914; --sv-ink-3: #0e221b;
  --sv-brand: #123b2f; --sv-brand-2: #17533f; --sv-brand-3: #1f6e53;
  --sv-mint: #bfe8d2; --sv-mint-2: #d9f3e5; --sv-mint-3: #ecf8f1; --sv-glow: #7fe3b0;
  --sv-bg: #f5f7f4; --sv-bg-2: #edf2ee; --sv-surface: #ffffff; --sv-surface-2: #f3f6f4;
  --sv-line: #e1e7e2; --sv-line-strong: #cdd6cf;
  --sv-text: #0b1a14; --sv-text-2: #33443c; --sv-muted: #56665e;
  --sv-accent: #17533f; --sv-accent-hover: #123b2f; --sv-accent-fg: #ffffff; --sv-accent-soft: #ecf8f1; --sv-link: #17533f;
  --sv-ok: #1d7a4f; --sv-ok-bg: #e3f4ea; --sv-warn: #8a5a00; --sv-warn-bg: #fdf1d8;
  --sv-bad: #b42318; --sv-bad-bg: #fde8e6; --sv-info: #1f4f8a; --sv-info-bg: #e5eefb;
  --sv-d-text: #eef6f1; --sv-d-text-2: #b9c9c0; --sv-d-muted: #8fa398; --sv-d-line: rgba(191, 232, 210, .12); --sv-d-line-strong: rgba(191, 232, 210, .22);
  --sv-font-display: "Bricolage Grotesque", ui-sans-serif, system-ui, sans-serif;
  --sv-font-text: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --sv-radius-s: 10px; --sv-radius-m: 16px; --sv-radius-l: 24px; --sv-radius-xl: 32px;
  --sv-container: 1200px; --sv-gutter: clamp(20px, 4vw, 40px);
  --sv-shadow-1: 0 1px 2px rgba(6, 17, 13, .06), 0 1px 1px rgba(6, 17, 13, .04);
  --sv-shadow-2: 0 2px 4px rgba(6, 17, 13, .04), 0 12px 32px -8px rgba(6, 17, 13, .14);
  --sv-shadow-3: 0 30px 80px -20px rgba(6, 17, 13, .45), 0 12px 24px -12px rgba(6, 17, 13, .35);
  --sv-ease: cubic-bezier(.16, 1, .3, 1);
  --sv-hero-bg: radial-gradient(1100px 520px at 78% -10%, rgba(127, 227, 176, .16), transparent 62%), radial-gradient(800px 480px at -10% 110%, rgba(31, 110, 83, .35), transparent 60%), #06110d;

  /* Re-point the existing site tokens (conciergedeck-site-v1.css and friends) at the new palette */
  --ink: #0b1a14; --paper: #f5f7f4; --paper-2: #edf2ee; --surface: #ffffff; --surface-soft: #f8faf8;
  --pine: #123b2f; --mint: #17533f; --mint-2: #1f6e53; --mint-line: #bfe8d2;
  --amber: #8a5a00; --cobalt: #1f4f8a; --coral: #b42318;
  --dark: #06110d; --dark-2: #0a1914; --dark-3: #0e221b;
  --line: #e1e7e2; --muted: #56665e;
  --shadow-soft: 0 2px 4px rgba(6, 17, 13, .04), 0 12px 32px -8px rgba(6, 17, 13, .12);
  --shadow-deep: 0 30px 80px -20px rgba(6, 17, 13, .35);
  /* admin-console.css */
  --admin-ink: #0b1a14; --admin-ink-soft: #33443c; --admin-muted: #56665e; --admin-line: #e1e7e2; --admin-line-soft: #ebefec; --admin-line-strong: #cdd6cf;
  --admin-surface: #ffffff; --admin-canvas: #f5f7f4; --admin-canvas-deep: #edf2ee; --admin-chip-bg: #edf2ee; --admin-nav: #06110d;
  --admin-green: #17533f; --admin-green-soft: #e3f4ea; --admin-mint: #bfe8d2; --admin-blue: #1f4f8a; --admin-blue-soft: #e5eefb; --admin-blue-ink: #1f4f8a;
  --admin-coral: #b42318; --admin-coral-soft: #fde8e6; --admin-amber: #8a5a00; --admin-amber-soft: #fdf1d8; --admin-amber-ink: #6b4600;
  --admin-table-head-bg: #f3f6f4; --admin-table-head-ink: #56665e;
  color-scheme: light;
}
/* ---------- Tokens: dark ---------- */
:root:root[data-theme="dark"] {
  --sv-bg: #06110d; --sv-bg-2: #0a1914; --sv-surface: #0c1c16; --sv-surface-2: #10241c;
  --sv-line: rgba(191, 232, 210, .12); --sv-line-strong: rgba(191, 232, 210, .22);
  --sv-text: #eef6f1; --sv-text-2: #c4d3ca; --sv-muted: #93a79c;
  --sv-accent: #bfe8d2; --sv-accent-hover: #d9f3e5; --sv-accent-fg: #06110d; --sv-accent-soft: rgba(127, 227, 176, .1); --sv-link: #9fe9c4;
  --sv-ok: #7fe3b0; --sv-ok-bg: rgba(127, 227, 176, .12); --sv-warn: #f3c969; --sv-warn-bg: rgba(243, 201, 105, .12);
  --sv-bad: #ff9d8f; --sv-bad-bg: rgba(255, 120, 100, .12); --sv-info: #9cc2f0; --sv-info-bg: rgba(156, 194, 240, .12);
  --sv-shadow-1: 0 1px 2px rgba(0, 0, 0, .4);
  --sv-shadow-2: 0 2px 4px rgba(0, 0, 0, .3), 0 16px 40px -12px rgba(0, 0, 0, .6);
  --ink: #eef6f1; --paper: #06110d; --paper-2: #0a1914; --surface: #0c1c16; --surface-soft: #0e2019;
  --mint: #9fe9c4; --mint-2: #bfe8d2; --mint-line: rgba(191, 232, 210, .22);
  --amber: #f3c969; --cobalt: #9cc2f0; --coral: #ff9d8f;
  --line: rgba(191, 232, 210, .12); --muted: #93a79c;
  --shadow-soft: 0 2px 4px rgba(0, 0, 0, .3), 0 16px 40px -12px rgba(0, 0, 0, .55);
  --shadow-deep: 0 30px 80px -20px rgba(0, 0, 0, .7);
  color-scheme: dark;
}
@media (prefers-color-scheme: dark) {
  /* admin.html has no theme toggle; it follows the system like before */
  :root:root:not([data-theme="light"]) {
    --admin-ink: #eef6f1; --admin-ink-soft: #c4d3ca; --admin-muted: #93a79c; --admin-line: rgba(191, 232, 210, .12); --admin-line-soft: rgba(191, 232, 210, .08); --admin-line-strong: rgba(191, 232, 210, .24);
    --admin-surface: #0c1c16; --admin-canvas: #06110d; --admin-canvas-deep: #040c09; --admin-chip-bg: #13291f; --admin-nav: #040c09;
    --admin-green: #7fe3b0; --admin-green-soft: rgba(127, 227, 176, .12); --admin-blue: #9cc2f0; --admin-blue-soft: rgba(156, 194, 240, .12); --admin-blue-ink: #c5dbf6;
    --admin-coral: #ff9d8f; --admin-coral-soft: rgba(255, 120, 100, .12); --admin-amber: #f3c969; --admin-amber-soft: rgba(243, 201, 105, .12); --admin-amber-ink: #f7dc9d;
    --admin-table-head-bg: #0a1914; --admin-table-head-ink: #93a79c;
  }
}

/* ---------- Base ---------- */
html { -webkit-text-size-adjust: 100%; }
body.sv2 { font-family: var(--sv-font-text); color: var(--sv-text); background: var(--sv-bg); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; font-feature-settings: "cv11", "ss01"; overflow-x: clip; }
body.sv2 :is(input, select, textarea, button) { font-family: inherit; }
body.sv2 :is(h1, h2, h3, h4) { font-family: var(--sv-font-display); color: inherit; letter-spacing: -0.02em; text-wrap: balance; }
body.sv2 h1 { font-weight: 700; letter-spacing: -0.035em; line-height: 1.04; font-variation-settings: "opsz" 96; }
body.sv2 h2 { font-weight: 650; letter-spacing: -0.028em; line-height: 1.08; font-variation-settings: "opsz" 72; }
body.sv2 h3 { font-weight: 620; letter-spacing: -0.015em; line-height: 1.2; }
body.sv2 h4 { font-weight: 600; letter-spacing: -0.01em; }
body.sv2 :focus-visible { outline: 2px solid var(--sv-glow); outline-offset: 3px; }
body.sv2 ::selection { background: var(--sv-mint); color: var(--sv-ink); }
body.sv2 a { text-underline-offset: .18em; }
body.sv2 .eyebrow { display: inline-flex; align-items: center; gap: 10px; font-family: var(--sv-font-text); font-size: .8125rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--sv-brand-3); }
body.sv2 .eyebrow::before { content: ""; width: 18px; height: 2px; border-radius: 2px; background: currentColor; opacity: .8; flex: none; }
:root[data-theme="dark"] body.sv2 .eyebrow { color: var(--sv-glow); }
body.sv2 code { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }

/* ---------- Header: same ink bar as the live homepage. Keeps the live .public-nav contract
   (public-session.js injects .nav-menu-toggle, .mobile-nav-cta and .session-signout) and the
   [data-theme-toggle] button that conciergedeck-ui.js listens for. ---------- */
.sv2.sv2.sv2 .public-nav {
  position: sticky; top: 0; inset-inline: 0; z-index: 60; display: flex; align-items: center; gap: 24px;
  height: 72px; min-height: 72px; margin: 0; max-width: none; width: auto; border-radius: 0;
  padding: 0 max(var(--sv-gutter), calc((100% - var(--sv-container)) / 2));
  background: rgba(6, 17, 13, .92); backdrop-filter: saturate(160%) blur(16px); -webkit-backdrop-filter: saturate(160%) blur(16px);
  border: 0; border-bottom: 1px solid var(--sv-d-line); box-shadow: none; color: var(--sv-d-text);
}
.sv2.sv2.sv2 .public-nav [hidden] { display: none !important; }
.sv2.sv2.sv2 .public-nav .brand { display: inline-flex; align-items: center; gap: 10px; color: var(--sv-d-text); text-decoration: none; font-family: var(--sv-font-display); font-weight: 650; font-size: 1.125rem; letter-spacing: -0.02em; flex: none; }
.sv2.sv2.sv2 .public-nav .brand .brand-logo, .sv2.sv2.sv2 .public-nav .brand svg { width: 30px; height: 30px; flex: none; display: block; }
.sv2.sv2.sv2 .public-nav .brand .brand-logo svg { width: 30px; height: 30px; }
.sv2.sv2.sv2 .public-nav .nav-links { display: flex; align-items: center; gap: 4px; flex: 1; min-width: 0; margin: 0 0 0 8px; padding: 0; background: none; border: 0; box-shadow: none; position: static; }
.sv2.sv2.sv2 .public-nav .nav-links > a:not(.button), .sv2.sv2.sv2 .public-nav .session-signout {
  color: var(--sv-d-text-2); text-decoration: none; font: 500 .9375rem/1.2 var(--sv-font-text); padding: 8px 12px; border-radius: 999px; min-height: 0;
  background: transparent; border: 0; box-shadow: none; cursor: pointer; transition: color .2s, background-color .2s; white-space: nowrap; letter-spacing: 0; width: auto; }
.sv2.sv2.sv2 .public-nav .nav-links > a:not(.button)::after { display: none; }
.sv2.sv2.sv2 .public-nav .nav-links > a:not(.button):hover, .sv2.sv2.sv2 .public-nav .session-signout:hover { color: var(--sv-d-text); background: rgba(191, 232, 210, .08); }
.sv2.sv2.sv2 .public-nav .nav-links > a[aria-current="page"], .sv2.sv2.sv2 .public-nav .nav-links > a.is-current { color: var(--sv-d-text); background: rgba(191, 232, 210, .1); }
.sv2.sv2.sv2 .public-nav .nav-links > a[href="/account"] { margin-left: auto; }
.sv2.sv2.sv2 .public-nav .session-signout:disabled { opacity: .6; cursor: default; }
.sv2.sv2.sv2 .public-nav > .nav-cta, .sv2.sv2.sv2 .public-nav .nav-links .mobile-nav-cta {
  flex: none; display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: 0 18px; border-radius: 999px; border: 1px solid transparent;
  background: var(--sv-mint); color: var(--sv-ink); font: 600 .875rem/1 var(--sv-font-text); text-decoration: none; box-shadow: none; white-space: nowrap; transition: transform .3s var(--sv-ease), box-shadow .3s var(--sv-ease); }
.sv2.sv2.sv2 .public-nav > .nav-cta:hover { transform: translateY(-1px); box-shadow: 0 10px 30px -8px rgba(127, 227, 176, .45); background: var(--sv-mint); color: var(--sv-ink); }
.sv2.sv2.sv2 .public-nav > .nav-cta[hidden] { display: none; }
.sv2.sv2.sv2 .public-nav .nav-links .mobile-nav-cta { display: none; }
/* theme toggle (hooks unchanged: [data-theme-toggle], .icon-moon / .icon-sun) */
.sv2.sv2.sv2 .public-nav .theme-toggle { order: 0; flex: none; display: inline-grid; place-items: center; width: 40px; height: 40px; padding: 0; margin: 0; border-radius: 999px;
  border: 1px solid var(--sv-d-line-strong); background: rgba(191, 232, 210, .04); color: var(--sv-d-text-2); cursor: pointer; box-shadow: none; transition: color .2s, border-color .2s, background-color .2s; }
.sv2.sv2.sv2 .public-nav .theme-toggle:hover { color: var(--sv-d-text); border-color: rgba(191, 232, 210, .42); background: rgba(191, 232, 210, .08); }
.sv2.sv2.sv2 .public-nav .theme-toggle svg { width: 18px; height: 18px; }
.sv2.sv2.sv2 .theme-toggle .icon-sun { display: none; }
.sv2.sv2.sv2 .theme-toggle .icon-moon { display: block; }
:root[data-theme="dark"] .sv2.sv2.sv2 .theme-toggle .icon-sun { display: block; }
:root[data-theme="dark"] .sv2.sv2.sv2 .theme-toggle .icon-moon { display: none; }
/* mobile menu (public-session.js toggles .nav-open) */
.sv2.sv2.sv2 .public-nav .nav-menu-toggle { display: none; flex: none; margin-left: auto; width: 44px; height: 44px; padding: 0; border-radius: 12px; border: 1px solid var(--sv-d-line-strong); background: transparent; color: var(--sv-d-text); cursor: pointer; position: relative; box-shadow: none; }
.sv2.sv2.sv2 .public-nav .nav-menu-toggle::before, .sv2.sv2.sv2 .public-nav .nav-menu-toggle::after { display: none; content: none; }
.sv2.sv2.sv2 .public-nav .nav-menu-toggle span { display: block; position: static; width: 18px; height: 2px; margin: 4px auto; background: currentColor; border-radius: 2px; opacity: 1; transform: none; transition: transform .3s var(--sv-ease), opacity .2s; }
.sv2.sv2.sv2 .public-nav.nav-open .nav-menu-toggle span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.sv2.sv2.sv2 .public-nav.nav-open .nav-menu-toggle span:nth-child(2) { opacity: 0; }
.sv2.sv2.sv2 .public-nav.nav-open .nav-menu-toggle span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
@media (max-width: 900px) {
  .sv2.sv2.sv2 .public-nav { gap: 12px; }
  .sv2.sv2.sv2 .public-nav .nav-menu-toggle { display: block; order: 2; margin-left: 0; }
  .sv2.sv2.sv2 .public-nav .theme-toggle { order: 1; margin-left: auto; }
  .sv2.sv2.sv2 .public-nav .nav-links, .sv2.sv2.sv2 .public-nav > .nav-cta { display: none; }
  .sv2.sv2.sv2 .public-nav.nav-open { flex-wrap: wrap; height: auto; padding-bottom: 20px; gap: 0 12px; background: rgba(6, 17, 13, .98); }
  .sv2.sv2.sv2 .public-nav.nav-open > .brand, .sv2.sv2.sv2 .public-nav.nav-open > .theme-toggle, .sv2.sv2.sv2 .public-nav.nav-open > .nav-menu-toggle { margin-top: 14px; margin-bottom: 14px; }
  .sv2.sv2.sv2 .public-nav.nav-open .nav-links { display: flex; flex-direction: column; align-items: stretch; flex: 0 0 100%; margin: 0; order: 3; gap: 0; }
  .sv2.sv2.sv2 .public-nav.nav-open .nav-links > a:not(.button), .sv2.sv2.sv2 .public-nav.nav-open .session-signout { display: block; padding: 14px 4px; border-bottom: 1px solid var(--sv-d-line); border-radius: 0; font-size: 1.0625rem; text-align: left; margin: 0; }
  .sv2.sv2.sv2 .public-nav.nav-open .nav-links .mobile-nav-cta { display: inline-flex; margin-top: 16px; min-height: 48px; }
}

/* ---------- Footer (same markup and look as the live homepage footer, plus the app badges) ---------- */
.sv2.sv2 .site-footer.sv-footer { display: block; max-width: none; width: auto; margin: 0; padding: 64px 0 28px; background: var(--sv-ink); color: var(--sv-d-text); border: 0; border-top: 1px solid var(--sv-d-line); border-radius: 0; font-size: 1rem; text-align: left; }
.sv-footer .sv-container { width: min(100% - var(--sv-gutter) * 2, var(--sv-container)); margin-inline: auto; }
.sv-footer .site-footer__inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 48px; }
.sv-footer .brand { display: inline-flex; align-items: center; gap: 10px; color: var(--sv-d-text); text-decoration: none; font-family: var(--sv-font-display); font-weight: 650; font-size: 1.125rem; letter-spacing: -0.02em; }
.sv-footer .brand svg { width: 30px; height: 30px; display: block; }
.sv-footer .site-footer__brand p { margin: 16px 0 0; color: var(--sv-d-muted); font-size: .875rem; line-height: 1.55; max-width: 26em; }
.sv-footer .site-footer__mail a { color: var(--sv-d-text-2); }
.sv-footer .site-footer__apps { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.sv-footer .site-footer__apps a { display: inline-block; border-radius: 8px; }
.sv-footer .site-footer__apps img { display: block; width: 120px; height: 40px; }
.sv-footer .site-footer__cols { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.sv-footer .site-footer__cols p { margin: 0 0 14px; color: var(--sv-d-text); font-weight: 600; font-size: .875rem; }
.sv-footer .site-footer__cols a { display: block; color: var(--sv-d-muted); text-decoration: none; font-size: .875rem; padding: 5px 0; transition: color .2s; }
.sv-footer .site-footer__cols a:hover { color: var(--sv-d-text); }
.sv-footer .site-footer__base { display: flex; justify-content: space-between; gap: 12px; margin-top: 56px; padding-top: 24px; border-top: 1px solid var(--sv-d-line); color: var(--sv-d-muted); font-size: .8125rem; }
@media (max-width: 900px) { .sv-footer .site-footer__inner { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .sv-footer .site-footer__cols { grid-template-columns: 1fr 1fr; } .sv-footer .site-footer__base { flex-direction: column; gap: 6px; } }

/* ---------- Cookie notice (cookie-notice-20260712-v2.js) - identical to the homepage ---------- */
.sv2.sv2 .cookie-notice { position: fixed; z-index: 1000; left: max(18px, calc((100vw - 1164px) / 2)); right: max(18px, calc((100vw - 1164px) / 2)); bottom: 18px; top: auto; width: auto; max-width: none; transform: none; margin: 0;
  display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 22px; align-items: center; padding: 20px 22px;
  background: rgba(10, 25, 20, .96); color: var(--sv-d-text); border: 1px solid var(--sv-d-line-strong); border-radius: var(--sv-radius-m);
  box-shadow: 0 24px 60px -20px rgba(0,0,0,.55); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); font-family: var(--sv-font-text); }
.sv2.sv2 .cookie-notice[hidden] { display: none; }
.sv2.sv2 .cookie-notice-copy { max-width: 760px; }
.sv2.sv2 .cookie-notice-copy strong { display: block; font: 600 1rem/1.3 var(--sv-font-display); margin-bottom: 5px; color: #fff; }
.sv2.sv2 .cookie-notice-copy p { margin: 0; color: var(--sv-d-text-2); font-size: .875rem; line-height: 1.55; }
.sv2.sv2 .cookie-notice-actions { display: flex; align-items: center; gap: 10px; }
.sv2.sv2 .cookie-notice-actions a { color: var(--sv-mint); font-size: .875rem; font-weight: 600; padding: 10px 6px; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.sv2.sv2 .cookie-notice-actions button { min-height: 44px; padding: 0 18px; border-radius: 999px; border: 0; background: var(--sv-mint); color: var(--sv-ink); font: 600 .875rem/1 var(--sv-font-text); cursor: pointer; transition: background-color .2s; box-shadow: none; }
.sv2.sv2 .cookie-notice-actions button:hover { background: var(--sv-mint-2); }
@media (max-width: 760px) {
  .sv2.sv2 .cookie-notice { left: 10px; right: 10px; bottom: 10px; grid-template-columns: 1fr; gap: 15px; padding: 16px; }
  .sv2.sv2 .cookie-notice-actions a { flex: 0 0 auto; }
  .sv2.sv2 .cookie-notice-actions button { flex: 1 1 auto; min-width: 0; }
}

/* ---------- Buttons: .button (primary), .button.secondary, .button.danger, text buttons ---------- */
.sv2.sv2 main .button, .sv2.sv2 dialog .button, .sv2.sv2 .button:not(.nav-cta) {
  position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 46px; padding: 0 22px; border-radius: 999px; border: 1px solid transparent;
  background: var(--sv-accent); color: var(--sv-accent-fg); font: 600 .9375rem/1.1 var(--sv-font-text); letter-spacing: -0.005em;
  text-decoration: none; cursor: pointer; white-space: nowrap; box-shadow: none; text-transform: none;
  transition: transform .35s var(--sv-ease), box-shadow .35s var(--sv-ease), background-color .2s, border-color .2s, color .2s; }
.sv2.sv2 main .button:hover, .sv2.sv2 dialog .button:hover, .sv2.sv2 .button:not(.nav-cta):hover { background: var(--sv-accent-hover); color: var(--sv-accent-fg); transform: translateY(-1px); box-shadow: 0 10px 24px -10px rgba(18, 59, 47, .55); }
.sv2.sv2 .button:active { transform: translateY(0) scale(.98); }
.sv2.sv2 main .button.secondary, .sv2.sv2 dialog .button.secondary, .sv2.sv2 .button.secondary:not(.nav-cta) { background: transparent; color: var(--sv-text); border-color: var(--sv-line-strong); }
.sv2.sv2 main .button.secondary:hover, .sv2.sv2 dialog .button.secondary:hover, .sv2.sv2 .button.secondary:not(.nav-cta):hover { background: var(--sv-surface-2); border-color: var(--sv-text); color: var(--sv-text); box-shadow: none; }
.sv2.sv2 main .button.danger, .sv2.sv2 dialog .button.danger { background: var(--sv-bad); color: #fff; border-color: transparent; }
:root[data-theme="dark"] .sv2.sv2 main .button.danger, :root[data-theme="dark"] .sv2.sv2 dialog .button.danger { color: #1a0703; }
.sv2.sv2 main .button.danger:hover, .sv2.sv2 dialog .button.danger:hover { background: var(--sv-bad); filter: brightness(1.08); box-shadow: 0 10px 24px -10px rgba(180, 35, 24, .55); }
.sv2.sv2 .button:disabled, .sv2.sv2 .button[aria-disabled="true"] { opacity: .5; cursor: not-allowed; transform: none; box-shadow: none; }
.sv2.sv2 .account-text-button { background: none; border: 0; padding: 4px 0; min-height: 0; color: var(--sv-link); font: 600 .875rem/1.3 var(--sv-font-text); cursor: pointer; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; box-shadow: none; }
.sv2.sv2 .account-text-button:hover { color: var(--sv-text); }
/* buttons rendered on dark bands */
.sv2.sv2 .sv-on-dark .button:not(.secondary) { background: var(--sv-mint); color: var(--sv-ink); }
.sv2.sv2 .sv-on-dark .button:not(.secondary):hover { background: var(--sv-mint-2); color: var(--sv-ink); box-shadow: 0 10px 30px -8px rgba(127, 227, 176, .45); }
.sv2.sv2 .sv-on-dark .button.secondary { background: rgba(191, 232, 210, .06); color: var(--sv-d-text); border-color: var(--sv-d-line-strong); }
.sv2.sv2 .sv-on-dark .button.secondary:hover { background: rgba(191, 232, 210, .1); border-color: rgba(191, 232, 210, .45); color: var(--sv-d-text); }

/* ---------- Form controls ---------- */
.sv2.sv2 main :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="range"]), select, textarea),
.sv2.sv2 dialog :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea) {
  min-height: 46px; padding: 0 14px; border-radius: 12px; border: 1px solid var(--sv-line-strong); background: var(--sv-surface); color: var(--sv-text);
  font: 400 .9375rem/1.4 var(--sv-font-text); box-shadow: inset 0 1px 1px rgba(6, 17, 13, .03); transition: border-color .2s, box-shadow .2s, background-color .2s; }
.sv2.sv2 main textarea, .sv2.sv2 dialog textarea { padding: 12px 14px; min-height: 96px; }
.sv2.sv2 main :is(input, select, textarea)::placeholder, .sv2.sv2 dialog :is(input, select, textarea)::placeholder { color: var(--sv-muted); opacity: .8; }
.sv2.sv2 main :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea):hover, .sv2.sv2 dialog :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea):hover { border-color: var(--sv-muted); }
.sv2.sv2 main :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea):focus, .sv2.sv2 dialog :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea):focus { outline: none; border-color: var(--sv-brand-3); box-shadow: 0 0 0 4px rgba(127, 227, 176, .28); }
:root[data-theme="dark"] .sv2.sv2 main :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea), :root[data-theme="dark"] .sv2.sv2 dialog :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea) { background: #08160f; }
:root[data-theme="dark"] .sv2.sv2 main :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea):focus, :root[data-theme="dark"] .sv2.sv2 dialog :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea):focus { border-color: var(--sv-glow); }
.sv2.sv2 main :is(input, select, textarea):disabled, .sv2.sv2 dialog :is(input, select, textarea):disabled { opacity: .55; cursor: not-allowed; }
.sv2.sv2 main :is(input, select, textarea)[aria-invalid="true"], .sv2.sv2 dialog :is(input, select, textarea)[aria-invalid="true"] { border-color: var(--sv-bad); box-shadow: 0 0 0 3px var(--sv-bad-bg); }
.sv2.sv2 :is(input[type="checkbox"], input[type="radio"]) { accent-color: var(--sv-brand-3); }
:root[data-theme="dark"] .sv2.sv2 :is(input[type="checkbox"], input[type="radio"]) { accent-color: var(--sv-glow); }
.sv2.sv2 main label, .sv2.sv2 dialog label { color: var(--sv-text-2); font-weight: 550; font-size: .875rem; }
/* password show/hide (public-session.js [data-password-toggle]) */
.sv2.sv2 .password-input { position: relative; display: flex; align-items: stretch; }
.sv2.sv2 .password-input input { flex: 1; min-width: 0; padding-right: 72px; width: 100%; }
.sv2.sv2 .password-input button { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); min-height: 34px; padding: 0 12px; border-radius: 999px; border: 1px solid var(--sv-line); background: var(--sv-surface-2); color: var(--sv-text-2); font: 600 .8125rem/1 var(--sv-font-text); cursor: pointer; box-shadow: none; }
.sv2.sv2 .password-input button:hover { color: var(--sv-text); border-color: var(--sv-line-strong); }

/* ---------- Status messages (checkout-status [data-state] / [data-tone]) ---------- */
.sv2.sv2 .checkout-status { font: 500 .875rem/1.5 var(--sv-font-text); color: var(--sv-muted); }
.sv2.sv2 .checkout-status:empty { display: none; }
.sv2.sv2 .checkout-status:is([data-state="error"], [data-tone="error"]) { color: var(--sv-bad); }
.sv2.sv2 .checkout-status:is([data-state="success"], [data-tone="success"]) { color: var(--sv-ok); }
.sv2.sv2 .checkout-status:is([data-state="loading"], [data-tone="loading"]) { color: var(--sv-text-2); }
.sv2.sv2 .account-notice { border-radius: var(--sv-radius-m); border: 1px solid var(--sv-line); background: var(--sv-surface); color: var(--sv-text); box-shadow: var(--sv-shadow-1); padding: 14px 18px; font-weight: 500; }
.sv2.sv2 .account-notice[data-state="success"] { background: var(--sv-ok-bg); border-color: transparent; color: var(--sv-ok); }
.sv2.sv2 .account-notice[data-state="error"] { background: var(--sv-bad-bg); border-color: transparent; color: var(--sv-bad); }
.sv2.sv2 .account-notice[data-state="loading"] { background: var(--sv-info-bg); border-color: transparent; color: var(--sv-info); }

/* ---------- Dialogs (.owner-dialog) ---------- */
.sv2.sv2 dialog.owner-dialog { border: 1px solid var(--sv-line); border-radius: var(--sv-radius-l); background: var(--sv-surface); color: var(--sv-text); box-shadow: var(--sv-shadow-3); padding: 0; width: min(560px, calc(100vw - 32px)); max-height: calc(100vh - 48px); overflow: auto; }
.sv2.sv2 dialog.owner-dialog::backdrop { background: rgba(6, 17, 13, .55); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.sv2.sv2 dialog.owner-dialog form { padding: 28px; display: grid; gap: 16px; }
.sv2.sv2 dialog.owner-dialog .dialog-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; }
.sv2.sv2 dialog.owner-dialog .dialog-head h2 { font-size: 1.5rem; margin: 0; }
.sv2.sv2 dialog.owner-dialog .dialog-head span, .sv2.sv2 dialog.owner-dialog .dialog-head p { color: var(--sv-muted); }
.sv2.sv2 dialog.owner-dialog .dialog-close { width: 38px; height: 38px; border-radius: 999px; border: 1px solid var(--sv-line); background: var(--sv-surface-2); color: var(--sv-text-2); cursor: pointer; display: grid; place-items: center; flex: none; padding: 0; font-size: 1.1rem; }
.sv2.sv2 dialog.owner-dialog .dialog-close:hover { color: var(--sv-text); border-color: var(--sv-line-strong); }
.sv2.sv2 dialog.owner-dialog .dialog-actions { display: flex; justify-content: flex-end; gap: 10px; flex-wrap: wrap; padding-top: 8px; border-top: 1px solid var(--sv-line); margin-top: 4px; padding-top: 18px; }
.sv2.sv2 dialog.owner-dialog .dialog-copy { color: var(--sv-text-2); }
.sv2.sv2 dialog .setting-toggle { border: 1px solid var(--sv-line); border-radius: var(--sv-radius-m); background: var(--sv-surface-2); padding: 14px 16px; }
.sv2.sv2 dialog .setting-toggle-danger { border-color: rgba(180, 35, 24, .25); background: var(--sv-bad-bg); }
.sv2.sv2 .plan-gate-note { color: var(--sv-warn); }
.sv2.sv2 .site-access-result { display: grid; gap: 12px; }
.sv2.sv2 .site-access-result > span { color: var(--sv-brand-3); font-weight: 600; font-size: .8125rem; letter-spacing: .06em; text-transform: uppercase; }
:root[data-theme="dark"] .sv2.sv2 .site-access-result > span { color: var(--sv-glow); }
.sv2.sv2 .site-secret-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.sv2.sv2 .site-secret-grid > div { border: 1px solid var(--sv-line); border-radius: 12px; padding: 12px 14px; background: var(--sv-surface-2); display: grid; gap: 4px; }
.sv2.sv2 .site-secret-grid small { color: var(--sv-muted); font-size: .75rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
.sv2.sv2 .site-secret-grid code { font-size: 1.0625rem; font-weight: 600; color: var(--sv-text); word-break: break-all; }
.sv2.sv2 .site-secret-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.sv2.sv2 .site-secret-actions button { min-height: 38px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--sv-line-strong); background: var(--sv-surface); color: var(--sv-text); font: 600 .8125rem/1 var(--sv-font-text); cursor: pointer; }
.sv2.sv2 .site-secret-actions button:hover { border-color: var(--sv-text); }

/* ---------- Generic chips ---------- */
.sv2.sv2 .sv-chip { display: inline-flex; align-items: center; gap: 6px; height: 26px; padding: 0 10px; border-radius: 999px; font-size: .75rem; font-weight: 600; background: var(--sv-accent-soft); color: var(--sv-brand-2); border: 1px solid rgba(31, 110, 83, .14); white-space: nowrap; }

/* ==========================================================================
   Owner account (account.html): sign-in / create account / reset, and the dashboard.
   account.js toggles body.account-authenticated; nothing here depends on new hooks.
   ========================================================================== */
/* ---------- Signed-out entry, reset-password and verify-email: ink stage like the homepage hero ---------- */
body.sv2.account-body:not(.account-authenticated):not(.checkout-body),
body.sv2.result-page-body, body.sv2.not-found-body { background: var(--sv-hero-bg); background-color: var(--sv-ink); color: var(--sv-d-text); }
body.sv2.account-body:not(.account-authenticated):not(.checkout-body) .account-shell,
body.sv2.result-page-body .result-page-shell, body.sv2.not-found-body .not-found-shell { background: transparent; color: var(--sv-d-text); }
body.sv2.account-body:not(.account-authenticated):not(.checkout-body) .account-hero :is(h1, p:not(.eyebrow)),
body.sv2.result-page-body .result-page-shell h1 { color: var(--sv-d-text); }
body.sv2.account-body:not(.account-authenticated):not(.checkout-body) .account-hero p:not(.eyebrow) { color: var(--sv-d-text-2); }
body.sv2.account-body:not(.account-authenticated):not(.checkout-body) .account-hero .eyebrow { color: var(--sv-glow); }
.sv2.sv2 .account-hero h1 { font-size: clamp(2.25rem, 1.6rem + 2.4vw, 3.5rem); margin-top: 8px; }
.sv2.sv2 .account-hero p:not(.eyebrow) { font-size: 1.0625rem; line-height: 1.6; }
.sv2.sv2.account-body:not(.account-authenticated):not(.checkout-body) .account-layout { gap: 28px; align-items: start; }
/* the auth card */
.sv2.sv2 .account-auth-entry { background: var(--sv-surface); color: var(--sv-text); border: 1px solid var(--sv-line); border-radius: var(--sv-radius-l); box-shadow: var(--sv-shadow-3); padding: 10px; overflow: hidden; }
:root[data-theme="dark"] .sv2.sv2 .account-auth-entry { background: #0b1a14; border-color: var(--sv-d-line-strong); box-shadow: 0 30px 80px -20px rgba(0, 0, 0, .7), 0 0 0 1px rgba(127, 227, 176, .05); }
.sv2.sv2 .account-auth-mode { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; padding: 4px; margin: 0; border-radius: 999px; background: var(--sv-surface-2); border: 1px solid var(--sv-line); }
.sv2.sv2 .account-auth-mode button { min-height: 40px; border-radius: 999px; border: 0; background: transparent; color: var(--sv-muted); font: 600 .9rem/1 var(--sv-font-text); cursor: pointer; box-shadow: none; transition: background-color .2s, color .2s, box-shadow .2s; }
.sv2.sv2 .account-auth-mode button:hover { color: var(--sv-text); }
.sv2.sv2 .account-auth-mode button.is-active { background: var(--sv-surface); color: var(--sv-text); box-shadow: var(--sv-shadow-1), 0 0 0 1px var(--sv-line); }
:root[data-theme="dark"] .sv2.sv2 .account-auth-mode button.is-active { background: var(--sv-mint); color: var(--sv-ink); box-shadow: none; }
.sv2.sv2 .account-login { display: grid; gap: 14px; padding: 26px 22px 22px; background: transparent; border: 0; box-shadow: none; margin: 0; }
.sv2.sv2 .account-login > span:first-child { color: var(--sv-brand-3); font: 600 .75rem/1.2 var(--sv-font-text); letter-spacing: .08em; text-transform: uppercase; }
:root[data-theme="dark"] .sv2.sv2 .account-login > span:first-child { color: var(--sv-glow); }
.sv2.sv2 .account-login > strong { font: 700 1.75rem/1.1 var(--sv-font-display); letter-spacing: -0.03em; color: var(--sv-text); margin-bottom: 4px; }
.sv2.sv2 .account-login label { display: grid; gap: 7px; color: var(--sv-text-2); font-weight: 550; font-size: .875rem; }
.sv2.sv2 .account-login .button[type="submit"] { width: 100%; min-height: 50px; margin-top: 4px; font-size: 1rem; }
.sv2.sv2 .account-login .account-text-button { justify-self: start; }
.sv2.sv2 .account-helper, .sv2.sv2 .account-consent { color: var(--sv-muted); font-size: .875rem; line-height: 1.55; margin: 0; }
.sv2.sv2 .account-consent a { color: var(--sv-link); }
.sv2.sv2 .registration-plan-summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; border-radius: var(--sv-radius-m); background: var(--sv-accent-soft); border: 1px solid rgba(31, 110, 83, .16); }
.sv2.sv2 .registration-plan-summary span { color: var(--sv-muted); font-size: .75rem; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; }
.sv2.sv2 .registration-plan-summary strong { display: block; font: 650 1.125rem/1.2 var(--sv-font-display); color: var(--sv-text); }
.sv2.sv2 .registration-plan-summary p { margin: 2px 0 0; color: var(--sv-text-2); font-size: .875rem; }
.sv2.sv2 .registration-plan-summary a { color: var(--sv-link); font-weight: 600; font-size: .875rem; }
/* context column next to the card */
.sv2.sv2.account-body:not(.account-authenticated) .account-entry-context { background: rgba(191, 232, 210, .04); border: 1px solid var(--sv-d-line); border-radius: var(--sv-radius-l); padding: 28px; color: var(--sv-d-text-2); box-shadow: none; }
.sv2.sv2.account-body:not(.account-authenticated) .account-entry-context > div { border-color: var(--sv-d-line); }
.sv2.sv2.account-body:not(.account-authenticated) .account-entry-context > div + div { border-top: 1px solid var(--sv-d-line); margin-top: 22px; padding-top: 22px; }
.sv2.sv2.account-body:not(.account-authenticated) .account-entry-context span { color: var(--sv-glow); font: 600 .75rem/1.2 var(--sv-font-text); letter-spacing: .08em; text-transform: uppercase; }
.sv2.sv2.account-body:not(.account-authenticated) .account-entry-context strong { display: block; color: var(--sv-d-text); font: 650 1.375rem/1.2 var(--sv-font-display); letter-spacing: -0.02em; margin: 8px 0; }
.sv2.sv2.account-body:not(.account-authenticated) .account-entry-context .site-login-note strong { font-size: 1.125rem; }
.sv2.sv2.account-body:not(.account-authenticated) .account-entry-context p { color: var(--sv-d-text-2); line-height: 1.6; }
.sv2.sv2.account-body:not(.account-authenticated) .account-entry-context .button.secondary { background: rgba(191, 232, 210, .06); color: var(--sv-d-text); border-color: var(--sv-d-line-strong); margin: 6px 8px 0 0; }
.sv2.sv2.account-body:not(.account-authenticated) .account-entry-context .button.secondary:hover { background: rgba(191, 232, 210, .12); border-color: rgba(191, 232, 210, .45); }
.sv2.sv2.account-body:not(.account-authenticated) .account-notice { background: rgba(191, 232, 210, .08); border-color: var(--sv-d-line-strong); color: var(--sv-d-text); }
.sv2.sv2.account-body:not(.account-authenticated) .account-notice[data-state="success"] { background: rgba(127, 227, 176, .14); color: var(--sv-mint); }
.sv2.sv2.account-body:not(.account-authenticated) .account-notice[data-state="error"] { background: rgba(255, 120, 100, .14); color: #ffb4a8; }

/* ---------- Dashboard ---------- */
.sv2.sv2 .account-dashboard-head { padding: 8px 0 4px; border: 0; background: none; }
.sv2.sv2 #account-owner { color: var(--sv-muted); font: 500 .875rem/1.4 var(--sv-font-text); }
.sv2.sv2 #account-workspace { display: block; margin: 6px 0 14px; color: var(--sv-text); font: 700 clamp(2rem, 1.5rem + 1.8vw, 2.875rem)/1.05 var(--sv-font-display); letter-spacing: -0.035em; }
.sv2.sv2 .account-head-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.sv2.sv2 .account-chip { display: inline-flex; align-items: center; gap: 6px; height: 28px; padding: 0 12px; border-radius: 999px; font: 600 .75rem/1 var(--sv-font-text); background: var(--sv-accent-soft); color: var(--sv-brand-2); border: 1px solid rgba(31, 110, 83, .16); }
.sv2.sv2 .account-chip::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.sv2.sv2 .account-chip.is-warn { background: var(--sv-warn-bg); color: var(--sv-warn); border-color: rgba(138, 90, 0, .2); }
:root[data-theme="dark"] .sv2.sv2 .account-chip { color: var(--sv-mint); border-color: rgba(127, 227, 176, .2); }
:root[data-theme="dark"] .sv2.sv2 .account-chip.is-warn { color: var(--sv-warn); border-color: rgba(243, 201, 105, .25); }
/* tabs */
.sv2.sv2 .account-tabs { display: flex; gap: 4px; margin: 26px 0 30px; padding: 5px; border: 1px solid var(--sv-line); border-radius: 999px; background: var(--sv-surface); box-shadow: var(--sv-shadow-1); width: max-content; max-width: 100%; overflow-x: auto; scrollbar-width: none; }
.sv2.sv2 .account-tabs::-webkit-scrollbar { display: none; }
.sv2.sv2 .account-tabs button { flex: none; min-height: 40px; padding: 0 18px; border: 0; border-radius: 999px; background: transparent; color: var(--sv-muted); font: 600 .9rem/1 var(--sv-font-text); cursor: pointer; box-shadow: none; transition: background-color .2s, color .2s; }
.sv2.sv2 .account-tabs button::after { display: none; }
.sv2.sv2 .account-tabs button:hover { color: var(--sv-text); background: var(--sv-surface-2); }
.sv2.sv2 .account-tabs button.is-active { background: var(--sv-ink); color: var(--sv-d-text); }
:root[data-theme="dark"] .sv2.sv2 .account-tabs button.is-active { background: var(--sv-mint); color: var(--sv-ink); }
/* panel heads */
.sv2.sv2 .account-panel-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 22px; }
.sv2.sv2 .account-panel-head span { color: var(--sv-brand-3); font: 600 .75rem/1.2 var(--sv-font-text); letter-spacing: .08em; text-transform: uppercase; }
:root[data-theme="dark"] .sv2.sv2 .account-panel-head span { color: var(--sv-glow); }
.sv2.sv2 .account-panel-head h2 { font-size: clamp(1.625rem, 1.3rem + 1vw, 2.125rem); margin: 6px 0 0; color: var(--sv-text); }
.sv2.sv2 .account-panel-head p { color: var(--sv-muted); }
/* cards */
.sv2.sv2 :is(.dash-kpi, .dash-card, .billing-summary, .account-plan-picker, .site-create-panel, .account-profile, .account-danger-zone, .account-attention, .site-capacity-note) {
  background: var(--sv-surface); border: 1px solid var(--sv-line); border-radius: 20px; box-shadow: var(--sv-shadow-1); color: var(--sv-text); }
.sv2.sv2 .dash-kpis { gap: 14px; }
.sv2.sv2 .dash-kpi { padding: 20px 20px 18px; }
.sv2.sv2 .dash-kpi > span { color: var(--sv-muted); font: 600 .8125rem/1.2 var(--sv-font-text); }
.sv2.sv2 .dash-kpi > strong { display: block; margin: 10px 0 4px; font: 700 2rem/1 var(--sv-font-display); letter-spacing: -0.03em; color: var(--sv-text); font-variant-numeric: tabular-nums; }
.sv2.sv2 .dash-kpi > strong.dash-plan-strong { font-size: 1.5rem; line-height: 1.15; }
.sv2.sv2 :is(.dash-sub, .dash-card-sub) { color: var(--sv-muted); font-size: .8125rem; line-height: 1.5; }
.sv2.sv2 .capacity-bar { height: 6px; border-radius: 999px; background: var(--sv-surface-2); border: 0; overflow: hidden; margin-top: 12px; }
:root[data-theme="dark"] .sv2.sv2 .capacity-bar { background: rgba(191, 232, 210, .1); }
.sv2.sv2 .capacity-bar i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--sv-brand-3), #2f9a72); }
:root[data-theme="dark"] .sv2.sv2 .capacity-bar i { background: linear-gradient(90deg, #52c493, var(--sv-glow)); }
.sv2.sv2 .dash-cols { gap: 18px; margin-top: 18px; }
.sv2.sv2 .dash-card { padding: 22px; }
.sv2.sv2 .dash-card + .dash-card { margin-top: 18px; }
.sv2.sv2 .dash-card-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.sv2.sv2 .dash-card-head h3, .sv2.sv2 .dash-card > h3 { font: 650 1.125rem/1.25 var(--sv-font-display); letter-spacing: -0.015em; color: var(--sv-text); margin: 0; display: flex; align-items: center; gap: 8px; }
.sv2.sv2 .dash-count { display: inline-grid; place-items: center; min-width: 24px; height: 24px; padding: 0 7px; border-radius: 999px; background: var(--sv-bad-bg); color: var(--sv-bad); font: 700 .75rem/1 var(--sv-font-text); }
.sv2.sv2 .tile-link { background: none; border: 0; padding: 0; color: var(--sv-link); font: 600 .875rem/1.2 var(--sv-font-text); cursor: pointer; box-shadow: none; }
.sv2.sv2 .tile-link:hover { color: var(--sv-text); text-decoration: underline; text-underline-offset: 4px; }
/* attention rows (rendered by account.js: .dash-att > .ic.{tone} + .bd + .go) */
.sv2.sv2 .dash-att { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 14px 0; border-top: 1px solid var(--sv-line); }
.sv2.sv2 .dash-att:first-child { border-top: 0; }
.sv2.sv2 .dash-att .ic { width: 36px; height: 36px; border-radius: 12px; display: grid; place-items: center; background: var(--sv-surface-2); color: var(--sv-text-2); }
.sv2.sv2 .dash-att .ic.bad { background: var(--sv-bad-bg); color: var(--sv-bad); }
.sv2.sv2 .dash-att .ic.warn { background: var(--sv-warn-bg); color: var(--sv-warn); }
.sv2.sv2 .dash-att .ic.info { background: var(--sv-info-bg); color: var(--sv-info); }
.sv2.sv2 .dash-att .bd b { display: block; font-weight: 600; font-size: .9375rem; color: var(--sv-text); }
.sv2.sv2 .dash-att .bd p { margin: 2px 0 0; color: var(--sv-muted); font-size: .8125rem; line-height: 1.5; }
.sv2.sv2 .dash-att .go, .sv2.sv2 .dash-more { min-height: 34px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--sv-line-strong); background: var(--sv-surface); color: var(--sv-text); font: 600 .8125rem/1 var(--sv-font-text); cursor: pointer; white-space: nowrap; box-shadow: none; }
.sv2.sv2 .dash-att .go:hover, .sv2.sv2 .dash-more:hover { border-color: var(--sv-text); background: var(--sv-surface-2); }
.sv2.sv2 .dash-att-more { color: var(--sv-muted); font-size: .8125rem; margin: 8px 0 0; }
/* site rows on overview (.dash-site > .bdge.{ok|warn|paused} + .nfo + .chev) */
.sv2.sv2 .dash-site { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 12px 10px; margin: 0 -10px; border-radius: 14px; border-top: 0; cursor: pointer; transition: background-color .2s; }
.sv2.sv2 .dash-site + .dash-site { box-shadow: 0 -1px 0 var(--sv-line); }
.sv2.sv2 .dash-site:hover { background: var(--sv-surface-2); }
.sv2.sv2 .dash-site .bdge { width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; font-weight: 700; font-size: .875rem; background: var(--sv-ok-bg); color: var(--sv-ok); }
.sv2.sv2 .dash-site .bdge.warn { background: var(--sv-warn-bg); color: var(--sv-warn); }
.sv2.sv2 .dash-site .bdge.paused { background: var(--sv-surface-2); color: var(--sv-muted); }
.sv2.sv2 .dash-site .nfo b { font-weight: 600; font-size: .9375rem; color: var(--sv-text); }
.sv2.sv2 .dash-site .tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 5px; }
.sv2.sv2 .dash-site .chev { color: var(--sv-muted); font-size: 1.25rem; }
.sv2.sv2 .dash-tag { display: inline-flex; align-items: center; height: 22px; padding: 0 9px; border-radius: 999px; font: 600 .6875rem/1 var(--sv-font-text); background: var(--sv-surface-2); color: var(--sv-muted); border: 1px solid var(--sv-line); }
.sv2.sv2 .dash-tag.on { background: var(--sv-ok-bg); color: var(--sv-ok); border-color: transparent; }
.sv2.sv2 .dash-tag.bad { background: var(--sv-bad-bg); color: var(--sv-bad); border-color: transparent; }
.sv2.sv2 .dash-plan-row { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 12px; }
.sv2.sv2 .dash-plan-row strong { display: block; font: 650 1.25rem/1.2 var(--sv-font-display); color: var(--sv-text); }
.sv2.sv2 .dash-plan-row .button { min-height: 40px; padding: 0 18px; }
.sv2.sv2 .dash-clear { border-color: transparent; background: var(--sv-ok-bg); color: var(--sv-ok); }
.sv2.sv2 .dash-clear strong { font: 650 1.125rem/1.2 var(--sv-font-display); }
.sv2.sv2 .dash-cloud { background: var(--sv-hero-bg); background-color: var(--sv-ink); color: var(--sv-d-text); border-color: var(--sv-d-line); }
.sv2.sv2 .dash-cloud h3 { color: var(--sv-d-text); font: 650 1.25rem/1.2 var(--sv-font-display); }
.sv2.sv2 .dash-cloud p { color: var(--sv-d-text-2); }
.sv2.sv2 .dash-cloud .tile-link { color: var(--sv-mint); }
.sv2.sv2 .account-attention { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 20px; margin-top: 16px; background: var(--sv-warn-bg); border-color: rgba(138, 90, 0, .18); box-shadow: none; }
.sv2.sv2 .account-attention strong { color: var(--sv-text); font-weight: 650; }
.sv2.sv2 .account-attention p { color: var(--sv-text-2); margin: 2px 0 0; }
.sv2.sv2 .account-cloud-retention { background: var(--sv-info-bg); border-color: transparent; }

/* ---------- Sites tab ---------- */
.sv2.sv2 .site-panel-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.sv2.sv2 .site-panel-actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.sv2.sv2 #site-usage { color: var(--sv-muted); font-weight: 500; font-size: .875rem; }
.sv2.sv2 .site-create-panel { padding: 24px; margin: 16px 0; }
.sv2.sv2 .site-create-heading strong, .sv2.sv2 .site-create-heading h3 { font: 650 1.25rem/1.2 var(--sv-font-display); color: var(--sv-text); }
.sv2.sv2 .site-access-form label { display: grid; gap: 7px; }
.sv2.sv2 .site-advanced { border: 1px dashed var(--sv-line-strong); border-radius: 14px; padding: 12px 14px; background: var(--sv-surface-2); }
.sv2.sv2 .site-advanced summary { cursor: pointer; font-weight: 600; color: var(--sv-text-2); }
.sv2.sv2 .site-list-toolbar { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin: 16px 0 12px; }
.sv2.sv2 .site-list-toolbar #site-list-summary { color: var(--sv-muted); font-size: .8125rem; margin-left: auto; }
.sv2.sv2 .site-access-list { display: grid; gap: 10px; }
.sv2.sv2 .site-access-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 18px; background: var(--sv-surface); border: 1px solid var(--sv-line); border-radius: 18px; box-shadow: var(--sv-shadow-1); transition: border-color .2s, box-shadow .2s; }
.sv2.sv2 .site-access-row:hover { border-color: var(--sv-line-strong); box-shadow: var(--sv-shadow-2); }
.sv2.sv2 .site-access-row.is-inactive { opacity: .72; }
.sv2.sv2 .site-access-row-title { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.sv2.sv2 .site-access-row-title strong { font: 650 1.0625rem/1.25 var(--sv-font-display); letter-spacing: -0.01em; color: var(--sv-text); }
.sv2.sv2 .site-access-row-copy small { display: block; color: var(--sv-muted); font-size: .8125rem; margin-top: 4px; }
.sv2.sv2 .site-email-state.is-enabled { color: var(--sv-ok); }
.sv2.sv2 .site-state { display: inline-flex; align-items: center; gap: 6px; height: 24px; padding: 0 10px; border-radius: 999px; font: 600 .75rem/1 var(--sv-font-text); background: var(--sv-ok-bg); color: var(--sv-ok); border: 0; }
.sv2.sv2 .site-state::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.sv2.sv2 .site-state.is-attention { background: var(--sv-warn-bg); color: var(--sv-warn); }
.sv2.sv2 .site-state.is-plan-limit { background: var(--sv-bad-bg); color: var(--sv-bad); }
.sv2.sv2 .site-state:is(.is-paused, .is-inactive) { background: var(--sv-surface-2); color: var(--sv-muted); }
.sv2.sv2 .site-access-row-actions { display: flex; align-items: center; gap: 8px; flex: none; }
.sv2.sv2 :is(.site-copy-button, .site-manage-button), .sv2.sv2 .site-row-menu summary { min-height: 36px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--sv-line-strong); background: var(--sv-surface); color: var(--sv-text); font: 600 .8125rem/34px var(--sv-font-text); cursor: pointer; box-shadow: none; list-style: none; display: inline-flex; align-items: center; }
.sv2.sv2 .site-row-menu summary::-webkit-details-marker { display: none; }
.sv2.sv2 .site-manage-button { background: var(--sv-accent); color: var(--sv-accent-fg) !important; border-color: transparent !important; }
.sv2.sv2 :is(.site-copy-button, .site-row-menu summary):hover { border-color: var(--sv-text); }
.sv2.sv2 .site-manage-button:hover { background: var(--sv-accent-hover); }
.sv2.sv2 .site-row-menu { position: relative; }
.sv2.sv2 .site-row-menu-panel { position: absolute; right: 0; top: calc(100% + 6px); z-index: 5; min-width: 180px; padding: 6px; border-radius: 14px; background: var(--sv-surface); border: 1px solid var(--sv-line); box-shadow: var(--sv-shadow-2); }
.sv2.sv2 .site-row-menu-panel button { width: 100%; text-align: left; min-height: 38px; padding: 0 12px; border-radius: 10px; border: 0; background: none; color: var(--sv-text); font: 500 .875rem/1 var(--sv-font-text); cursor: pointer; }
.sv2.sv2 .site-row-menu-panel button:hover { background: var(--sv-surface-2); }
.sv2.sv2 .site-row-menu-panel button:disabled { opacity: .5; cursor: not-allowed; }
.sv2.sv2 .site-access-empty { padding: 36px 24px; text-align: center; border: 1px dashed var(--sv-line-strong); border-radius: 20px; background: var(--sv-surface); color: var(--sv-muted); display: grid; justify-items: center; gap: 8px; }
.sv2.sv2 .site-access-empty strong { font: 650 1.25rem/1.2 var(--sv-font-display); color: var(--sv-text); }
.sv2.sv2 .site-access-empty p { margin: 0; }
.sv2.sv2 .site-capacity-note { padding: 14px 18px; background: var(--sv-warn-bg); border-color: transparent; box-shadow: none; }

/* ---------- Billing ---------- */
.sv2.sv2 .billing-summary { padding: 24px; }
.sv2.sv2 #account-billing-plan { display: block; font: 700 1.75rem/1.1 var(--sv-font-display); letter-spacing: -0.03em; color: var(--sv-text); }
.sv2.sv2 #account-billing-copy { color: var(--sv-text-2); }
.sv2.sv2 .account-plan-picker { padding: 24px; margin-top: 18px; }
.sv2.sv2 .account-selected-plan { border: 1px solid var(--sv-line); border-radius: 16px; background: var(--sv-surface-2); padding: 16px 18px; }
.sv2.sv2 #account-selected-plan-name { font: 650 1.25rem/1.2 var(--sv-font-display); color: var(--sv-text); }
.sv2.sv2 .account-checkout-note { color: var(--sv-muted); font-size: .8125rem; }

/* ---------- Devices ---------- */
.sv2.sv2 .account-device-list { display: grid; gap: 10px; }
.sv2.sv2 .account-device-row { background: var(--sv-surface); border: 1px solid var(--sv-line); border-radius: 18px; box-shadow: var(--sv-shadow-1); overflow: hidden; }
.sv2.sv2 .account-device-button { width: 100%; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 14px 18px; background: none; border: 0; color: var(--sv-text); text-align: left; cursor: pointer; font: inherit; box-shadow: none; }
.sv2.sv2 .account-device-button:hover { background: var(--sv-surface-2); }
.sv2.sv2 .account-device-icon { width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; background: var(--sv-accent-soft); color: var(--sv-brand-2); font: 700 .9375rem/1 var(--sv-font-display); }
:root[data-theme="dark"] .sv2.sv2 .account-device-icon { color: var(--sv-mint); }
.sv2.sv2 .account-device-primary strong { display: block; font: 650 1rem/1.25 var(--sv-font-display); color: var(--sv-text); }
.sv2.sv2 .account-device-primary small { display: block; color: var(--sv-muted); font-size: .8125rem; margin-top: 2px; }
.sv2.sv2 .account-device-button i { font-style: normal; display: inline-flex; align-items: center; gap: 6px; height: 26px; padding: 0 11px; border-radius: 999px; font: 600 .75rem/1 var(--sv-font-text); background: var(--sv-ok-bg); color: var(--sv-ok); }
.sv2.sv2 .account-device-button i::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.sv2.sv2 .account-device-row[data-state="quiet"] .account-device-button i { background: var(--sv-warn-bg); color: var(--sv-warn); }
.sv2.sv2 .account-device-row[data-state="plan-limit"] .account-device-button i { background: var(--sv-bad-bg); color: var(--sv-bad); }
.sv2.sv2 .account-device-row[data-state="inactive"] .account-device-button i { background: var(--sv-surface-2); color: var(--sv-muted); }
.sv2.sv2 .account-device-details { border-top: 1px solid var(--sv-line); padding: 16px 18px; background: var(--sv-surface-2); }
.sv2.sv2 .account-device-detail-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px 18px; }
.sv2.sv2 .account-device-detail span { display: block; color: var(--sv-muted); font-size: .75rem; font-weight: 600; letter-spacing: .03em; text-transform: uppercase; }
.sv2.sv2 .account-device-detail strong { display: block; color: var(--sv-text); font-weight: 600; font-size: .875rem; margin-top: 3px; }
.sv2.sv2 .account-device-actions { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--sv-line); }
.sv2.sv2 .account-device-actions p { margin: 0; color: var(--sv-muted); font-size: .8125rem; }
.sv2.sv2 .account-device-remove { flex: none; min-height: 38px; padding: 0 16px; border-radius: 999px; border: 1px solid rgba(180, 35, 24, .35); background: transparent; color: var(--sv-bad); font: 600 .8125rem/1 var(--sv-font-text); cursor: pointer; }
.sv2.sv2 .account-device-remove:hover:not(:disabled) { background: var(--sv-bad-bg); }
.sv2.sv2 .account-device-remove:disabled { opacity: .5; cursor: not-allowed; }
@media (max-width: 640px) { .sv2.sv2 .account-device-detail-grid { grid-template-columns: 1fr 1fr; } .sv2.sv2 .account-device-actions { flex-direction: column; align-items: stretch; } }

/* ---------- Setup ---------- */
.sv2.sv2 .setup-steps { display: grid; gap: 10px; padding: 0; list-style: none; counter-reset: none; }
.sv2.sv2 .setup-steps > li { background: var(--sv-surface); border: 1px solid var(--sv-line); border-radius: 18px; box-shadow: var(--sv-shadow-1); padding: 16px 18px; }
.sv2.sv2 .setup-steps > li[data-state="complete"] { border-color: rgba(29, 122, 79, .25); }
.sv2.sv2 .setup-steps > li[data-state="current"] { border-color: var(--sv-brand-3); box-shadow: 0 0 0 3px rgba(127, 227, 176, .25); }
.sv2.sv2 .launch-check-status { display: inline-flex; align-items: center; height: 24px; padding: 0 10px; border-radius: 999px; font: 600 .75rem/1 var(--sv-font-text); background: var(--sv-surface-2); color: var(--sv-muted); }
.sv2.sv2 [data-state="complete"] .launch-check-status { background: var(--sv-ok-bg); color: var(--sv-ok); }
.sv2.sv2 [data-state="current"] .launch-check-status { background: var(--sv-info-bg); color: var(--sv-info); }

/* ---------- Account tab ---------- */
.sv2.sv2 :is(.account-profile, .account-danger-zone) { padding: 24px; }
.sv2.sv2 .account-danger-zone { border-color: rgba(180, 35, 24, .28); background: linear-gradient(var(--sv-bad-bg), var(--sv-bad-bg)) top / 100% 4px no-repeat, var(--sv-surface); }
.sv2.sv2 .account-block-eyebrow { color: var(--sv-brand-3); font: 600 .75rem/1.2 var(--sv-font-text); letter-spacing: .08em; text-transform: uppercase; }
:root[data-theme="dark"] .sv2.sv2 .account-block-eyebrow { color: var(--sv-glow); }
.sv2.sv2 .account-profile-block + .account-profile-block { border-top: 1px solid var(--sv-line); }
.sv2.sv2 .account-security-note { color: var(--sv-muted); }

/* ---------- Help (help-steps-20261008.css) ---------- */
.sv2.sv2 .hs-toc { background: var(--sv-surface); border: 1px solid var(--sv-line); border-radius: 20px; box-shadow: var(--sv-shadow-1); }
.sv2.sv2 .hs-article { border-color: var(--sv-line); }
.sv2.sv2 .hs-phone { background: #0b1511; box-shadow: var(--sv-shadow-2); }
.sv2.sv2 .hs-caption { color: var(--sv-muted); }
.sv2.sv2 .hs-zoom { box-shadow: 0 0 0 1px var(--sv-line-strong), var(--sv-shadow-2); }
.sv2.sv2 .hs-step-button { font-family: var(--sv-font-text); }
/* ring + close-up positions for the help screenshots swapped to non-PII captures (see NOTES.md) */
.sv2 #admin-setup [data-pane="1"] .hs-ring { left: 3%; top: 11.5%; width: 94%; height: 18.5%; }
.sv2 #admin-setup [data-pane="1"] .hs-zoom-img { width: 100%; left: 0%; top: -10.15%; }
.sv2 #admin-setup [data-pane="1"] .hs-zoom-ring { left: 3%; top: 23.19%; width: 94%; height: 53.63%; }
.sv2 #admin-setup [data-pane="2"] .hs-ring { left: 3.5%; top: 35.5%; width: 93%; height: 25%; }
.sv2 #admin-setup [data-pane="2"] .hs-zoom-img { width: 100%; left: 0%; top: -81.56%; }
.sv2 #admin-setup [data-pane="2"] .hs-zoom-ring { left: 3.5%; top: 15.73%; width: 93%; height: 68.53%; }
.sv2 #settings-cloud [data-pane="2"] .hs-ring { left: 73.5%; top: 31.5%; width: 17%; height: 5.5%; }
.sv2 #settings-cloud [data-pane="2"] .hs-zoom-img { width: 200%; left: -100%; top: -148.57%; }
.sv2 #settings-cloud [data-pane="2"] .hs-zoom-ring { left: 47%; top: 34.06%; width: 34%; height: 31.88%; }
.sv2 #settings-cloud [data-pane="3"] .hs-ring { left: 3.5%; top: 44.5%; width: 93%; height: 7.5%; }
.sv2 #settings-cloud [data-pane="3"] .hs-zoom-img { width: 100%; left: 0%; top: -82.24%; }
.sv2 #settings-cloud [data-pane="3"] .hs-zoom-ring { left: 3.5%; top: 39.72%; width: 93%; height: 20.56%; }
/* panel heads stay left-aligned on phones; the action keeps its natural width */
.sv2.sv2.sv2 .account-panel-head > div { text-align: left; justify-self: start; margin-right: auto; }
@media (max-width: 640px) {
  .sv2.sv2.sv2 .account-panel-head { display: flex; flex-direction: row; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; }
  .sv2.sv2.sv2 .account-panel-head > :is(.button, button) { width: auto; flex: none; min-height: 40px; }
}

/* ==========================================================================
   Page families: result pages (reset / verify / 404), checkout, pricing,
   SEO + solutions pages, guide library, legal + contact, admin console.
   ========================================================================== */

/* ---------- Buttons on ink surfaces (hero photos, dark bands, ink stages) ---------- */
.sv2.sv2.sv2 :is(.seo-hero, .seo-dark-band, .seo-cta, .not-found-shell, .account-entry-context) .button:not(.secondary) { background: var(--sv-mint); color: var(--sv-ink); border-color: transparent; }
.sv2.sv2.sv2 :is(.seo-hero, .seo-dark-band, .seo-cta, .not-found-shell, .account-entry-context) .button:not(.secondary):hover { background: var(--sv-mint-2); color: var(--sv-ink); box-shadow: 0 10px 30px -8px rgba(127, 227, 176, .45); }
.sv2.sv2.sv2 :is(.seo-hero, .seo-dark-band, .seo-cta, .not-found-shell, .account-entry-context) .button.secondary { background: rgba(191, 232, 210, .06); color: var(--sv-d-text); border-color: var(--sv-d-line-strong); }
.sv2.sv2.sv2 :is(.seo-hero, .seo-dark-band, .seo-cta, .not-found-shell, .account-entry-context) .button.secondary:hover { background: rgba(191, 232, 210, .12); border-color: rgba(191, 232, 210, .45); color: var(--sv-d-text); }
.sv2.sv2.account-body:not(.account-authenticated) .account-entry-context > :first-child { border-top: 0; padding-top: 0; margin-top: 0; }

/* ---------- Reset password + verify email: card on the ink stage ---------- */
.sv2.sv2 .reset-shell { padding-block: clamp(48px, 7vw, 96px) clamp(64px, 8vw, 120px); }
.sv2.sv2.sv2 .reset-card { max-width: 480px; background: var(--sv-surface); color: var(--sv-text); border: 1px solid var(--sv-line); border-radius: var(--sv-radius-l); box-shadow: var(--sv-shadow-3); padding: 30px 28px 26px; margin-top: 28px; }
:root[data-theme="dark"] .sv2.sv2.sv2 .reset-card { background: #0b1a14; border-color: var(--sv-d-line-strong); box-shadow: 0 30px 80px -20px rgba(0, 0, 0, .7); }
.sv2.sv2.sv2 .reset-card label { color: var(--sv-text-2); }
.sv2.sv2.sv2 .reset-card .checkout-status:empty { display: none; }
.sv2.sv2 .result-page-shell { min-height: calc(100vh - 72px); display: grid; place-items: center; padding: clamp(48px, 8vw, 112px) var(--sv-gutter); }
.sv2.sv2.sv2 .verification-result-card { width: min(100%, 520px); background: var(--sv-surface); color: var(--sv-text); border: 1px solid var(--sv-line); border-radius: var(--sv-radius-l); box-shadow: var(--sv-shadow-3); padding: 36px 32px 32px; display: grid; justify-items: start; gap: 14px; }
:root[data-theme="dark"] .sv2.sv2.sv2 .verification-result-card { background: #0b1a14; border-color: var(--sv-d-line-strong); box-shadow: 0 30px 80px -20px rgba(0, 0, 0, .7); }
.sv2.sv2.sv2 .verification-result-card h1 { color: var(--sv-text); font-size: clamp(1.75rem, 1.4rem + 1.2vw, 2.25rem); margin: 6px 0 0; }
.sv2.sv2.sv2 .verification-result-card p { color: var(--sv-text-2); margin: 0; line-height: 1.6; }
.sv2.sv2.sv2 .verification-result-card .button { margin-top: 8px; }
.sv2.sv2.sv2 .verification-result-mark { width: 56px; height: 56px; border-radius: 16px; display: grid; place-items: center; background: var(--sv-brand); box-shadow: none; }
.sv2.sv2.sv2 .verification-result-mark:not(.success) { background: var(--sv-bad); }

/* ---------- 404 ---------- */
.sv2.sv2 .not-found-shell { min-height: calc(100vh - 72px); display: grid; align-items: center; padding: clamp(56px, 9vw, 128px) var(--sv-gutter); }
.sv2.sv2 .not-found-content { width: min(100%, var(--sv-container)); margin-inline: auto; max-width: 760px; margin-left: max(0px, calc((100% - var(--sv-container)) / 2)); }
.sv2.sv2.sv2 .not-found-code { display: inline-flex; align-items: center; gap: 10px; color: var(--sv-glow); font: 600 .8125rem/1 var(--sv-font-text); letter-spacing: .06em; text-transform: uppercase; background: none; border: 0; padding: 0; }
.sv2.sv2.sv2 .not-found-code::before { content: ""; width: 18px; height: 2px; border-radius: 2px; background: currentColor; }
.sv2.sv2.sv2 .not-found-content h1 { color: var(--sv-d-text); font-size: clamp(2.5rem, 1.6rem + 3.6vw, 4.5rem); margin: 18px 0 16px; }
.sv2.sv2.sv2 .not-found-content p { color: var(--sv-d-text-2); font-size: 1.125rem; line-height: 1.6; max-width: 60ch; }
.sv2.sv2 .not-found-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }

/* ---------- Checkout (Stripe Elements keep their own appearance from checkout.js) ---------- */
.sv2.sv2 .cdpay-shell { padding-block: clamp(40px, 6vw, 80px) clamp(56px, 7vw, 96px); }
.sv2.sv2 .cdpay-shell .account-hero { margin-bottom: 36px; }
.sv2.sv2 .cdpay-layout { gap: 24px; align-items: start; }
.sv2.sv2.sv2 .cdpay-surface { background: var(--sv-surface); border: 1px solid var(--sv-line); border-radius: var(--sv-radius-l); box-shadow: var(--sv-shadow-2); padding: 26px; }
.sv2.sv2.sv2 .cdpay-surface h2, .sv2.sv2.sv2 .cdpay-heading { font: 650 1.125rem/1.2 var(--sv-font-display); letter-spacing: -0.015em; color: var(--sv-text); }
.sv2.sv2.sv2 .account-payment-summary { background: var(--sv-surface-2); border: 1px solid var(--sv-line); border-radius: var(--sv-radius-m); }
.sv2.sv2.sv2 .account-payment-submit { width: 100%; min-height: 52px; font-size: 1rem; }
.sv2.sv2.sv2 .account-payment-secure { color: var(--sv-muted); }

/* ---------- Pricing ---------- */
.sv2.sv2 .pricing-page-hero h1 { font-size: clamp(2.5rem, 1.6rem + 3.4vw, 4.25rem); }
.sv2.sv2.sv2 .plan-card { border-radius: var(--sv-radius-l); border: 1px solid var(--sv-line); background: var(--sv-surface); box-shadow: var(--sv-shadow-1); transition: transform .3s var(--sv-ease), box-shadow .3s var(--sv-ease); }
.sv2.sv2.sv2 .plan-card:hover { transform: translateY(-2px); box-shadow: var(--sv-shadow-2); }
.sv2.sv2.sv2 .plan-card.featured { background: var(--sv-ink); color: var(--sv-d-text); border-color: var(--sv-ink); box-shadow: var(--sv-shadow-3); background-image: radial-gradient(420px 260px at 80% -10%, rgba(127, 227, 176, .18), transparent 65%); }
:root[data-theme="dark"] .sv2.sv2.sv2 .plan-card.featured { background-color: #0f2a20; border-color: rgba(127, 227, 176, .35); }
.sv2.sv2.sv2 .plan-card.featured :is(h2, h3, strong, .price-block, .price-block *) { color: var(--sv-d-text); }
.sv2.sv2.sv2 .plan-card.featured :is(p, li, small, .plan-fit) { color: var(--sv-d-text-2); }
.sv2.sv2.sv2 .plan-card.featured .plan-top span { background: rgba(127, 227, 176, .14); color: var(--sv-glow); border-color: transparent; }
.sv2.sv2.sv2 .plan-card.featured :is(hr, ul) { border-color: var(--sv-d-line); }
.sv2.sv2.sv2 .plan-card.featured .button.plan-select { background: var(--sv-mint); color: var(--sv-ink); border-color: transparent; }
.sv2.sv2.sv2 .plan-card.featured .button.plan-select:hover { background: var(--sv-mint-2); }
.sv2.sv2 .price-block strong, .sv2.sv2 .price-block .price { font-family: var(--sv-font-display); letter-spacing: -0.04em; }
.sv2.sv2 .pricing-comparison table { border-collapse: separate; border-spacing: 0; }
.sv2.sv2 .comparison-scroll { border: 1px solid var(--sv-line); border-radius: var(--sv-radius-m); background: var(--sv-surface); }
.sv2.sv2 .pricing-comparison :is(th, td) { border-color: var(--sv-line); }
.sv2.sv2 .pricing-comparison thead th { font: 600 .75rem/1.2 var(--sv-font-text); letter-spacing: .06em; text-transform: uppercase; color: var(--sv-muted); background: var(--sv-surface-2); }
.sv2.sv2 .comparison-check { color: var(--sv-ok); font-weight: 600; }
.sv2.sv2.sv2 .pricing-enterprise-band { background: var(--sv-hero-bg); background-color: var(--sv-ink); color: var(--sv-d-text); border: 0; border-radius: var(--sv-radius-xl); }
.sv2.sv2.sv2 .pricing-enterprise-band :is(h2, h3, strong) { color: var(--sv-d-text); }
.sv2.sv2.sv2 .pricing-enterprise-band p:not(.eyebrow) { color: var(--sv-d-text-2); }
.sv2.sv2.sv2 .pricing-enterprise-band .eyebrow { color: var(--sv-glow); }
.sv2.sv2.sv2 .pricing-enterprise-band .button:not(.secondary) { background: var(--sv-mint); color: var(--sv-ink); }
.sv2.sv2.sv2 .pricing-enterprise-band .button.secondary { background: transparent; color: var(--sv-d-text); border-color: var(--sv-d-line-strong); }
.sv2.sv2 :is(.pricing-faq-list, .seo-faq) details { border-color: var(--sv-line); }
.sv2.sv2 :is(.pricing-faq-list, .seo-faq) summary { font: 600 1rem/1.4 var(--sv-font-text); color: var(--sv-text); cursor: pointer; }

/* ---------- SEO + solutions pages ---------- */
.sv2.seo-page.seo-page { background: var(--sv-bg); }
.sv2.sv2 .seo-hero h1 { font-size: clamp(2.5rem, 1.5rem + 3.6vw, 4.5rem); letter-spacing: -0.04em; }
.sv2.sv2 .seo-hero .eyebrow { color: var(--sv-glow); }
.sv2.sv2 .seo-hero-scrim { background: linear-gradient(90deg, rgba(6, 17, 13, .92) 0%, rgba(6, 17, 13, .78) 42%, rgba(6, 17, 13, .2) 100%), linear-gradient(0deg, rgba(6, 17, 13, .5), transparent 40%); }
.sv2.sv2.sv2 .seo-proof-strip { background: var(--sv-surface); border: 1px solid var(--sv-line); border-radius: var(--sv-radius-m); box-shadow: var(--sv-shadow-2); overflow: hidden; }
.sv2.sv2 .seo-proof-strip span { color: var(--sv-brand-3); }
:root[data-theme="dark"] .sv2.sv2 .seo-proof-strip span { color: var(--sv-glow); }
.sv2.sv2.sv2 .seo-blue-band { background: var(--sv-bg-2); border-color: var(--sv-line); }
:root[data-theme="dark"] .sv2.sv2.sv2 .seo-blue-band { background: var(--sv-ink-2); border-color: var(--sv-d-line); }
.sv2.sv2.sv2 .seo-dark-band { background: var(--sv-hero-bg); background-color: var(--sv-ink); border-color: var(--sv-d-line); }
:root[data-theme="dark"] .sv2.sv2.sv2 .seo-dark-band { background: radial-gradient(900px 420px at 85% 0%, rgba(127, 227, 176, .1), transparent 60%), #0a1914; }
.sv2.sv2 .seo-dark-band .eyebrow, .sv2.sv2 .seo-access-list span { color: var(--sv-glow); }
.sv2.sv2.sv2 .seo-phone-pair::before { background: var(--sv-mint-3); border-color: var(--sv-line); border-radius: var(--sv-radius-l); }
:root[data-theme="dark"] .sv2.sv2.sv2 .seo-phone-pair::before { background: var(--sv-surface); border-color: var(--sv-d-line); }
.sv2.sv2.sv2 :is(.seo-phone, .seo-phone-single, .seo-screen-run) img { border: 7px solid #0b1512; border-radius: 36px; box-shadow: 0 30px 60px -24px rgba(6, 17, 13, .45), 0 0 0 1px rgba(6, 17, 13, .06); background: var(--sv-surface-2); }
:root[data-theme="dark"] .sv2.sv2.sv2 :is(.seo-phone, .seo-phone-single, .seo-screen-run) img { border-color: #1b2b25; box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .7), 0 0 0 1px rgba(191, 232, 210, .1); }
.sv2.sv2 :is(.seo-phone, .seo-screen-run) figcaption strong { color: var(--sv-text); }
.sv2.sv2 :is(.seo-phone, .seo-screen-run, .seo-phone-single) figcaption, .sv2.sv2 :is(.seo-phone, .seo-screen-run) figcaption span { color: var(--sv-muted); }
.sv2.sv2.sv2 .seo-cta { background: var(--sv-hero-bg); background-color: var(--sv-ink); color: var(--sv-d-text); border: 0; border-radius: var(--sv-radius-xl); box-shadow: var(--sv-shadow-3); }
:root[data-theme="dark"] .sv2.sv2.sv2 .seo-cta { background: radial-gradient(700px 360px at 85% 0%, rgba(127, 227, 176, .16), transparent 60%), #0f2a20; border: 1px solid rgba(127, 227, 176, .22); }
.sv2.sv2.sv2 .seo-cta :is(h2, h3) { color: var(--sv-d-text); }
.sv2.sv2.sv2 .seo-cta p:not(.eyebrow) { color: var(--sv-d-text-2); }
.sv2.sv2.sv2 .seo-cta .eyebrow { color: var(--sv-glow); }
.sv2.sv2.sv2 .seo-related { background: var(--sv-bg-2); }
:root[data-theme="dark"] .sv2.sv2.sv2 .seo-related { background: var(--sv-ink-2); }
.sv2.sv2 .seo-related-links { border-color: var(--sv-line-strong); }
.sv2.sv2 .seo-related-links a { color: var(--sv-text); transition: color .2s; }
.sv2.sv2 .seo-related-links a:hover { color: var(--sv-link); }
.sv2.sv2.sv2 .seo-related-links a + a { border-color: var(--sv-line-strong); }
.sv2.sv2 .seo-text-link { color: var(--sv-link); font-weight: 600; }
.sv2.sv2 .seo-dark-band .seo-text-link { color: var(--sv-mint); }
:root[data-theme="dark"] .sv2.sv2 .seo-subnav { background: rgba(6, 17, 13, .92); }
:root[data-theme="dark"] .sv2.sv2.sv2 .seo-page .seo-card, :root[data-theme="dark"] .sv2.sv2.sv2 .seo-proof-strip { background: var(--sv-surface); }

/* ---------- Guide library (guide.html, guides-import-residents.html) ---------- */
.sv2.sv2 .guides-hero h1 { font-size: clamp(2.5rem, 1.5rem + 3.4vw, 4.25rem); letter-spacing: -0.04em; }
.sv2.sv2.sv2 .guide-workflow > img { display: block; width: min(100%, 320px); height: auto; justify-self: center; align-self: center; border: 8px solid #0b1512; border-radius: 44px; background: var(--sv-surface-2); box-shadow: 0 40px 80px -30px rgba(6, 17, 13, .5), 0 0 0 1px rgba(6, 17, 13, .06); }
:root[data-theme="dark"] .sv2.sv2.sv2 .guide-workflow > img { border-color: #1b2b25; box-shadow: 0 40px 80px -24px rgba(0, 0, 0, .75), 0 0 0 1px rgba(191, 232, 210, .1); }
.sv2.sv2 .guide-number { font-family: var(--sv-font-display); color: var(--sv-muted); }
.sv2.sv2 .guide-key-steps li strong { color: var(--sv-text); }
.sv2.sv2 .guide-key-steps li span { color: var(--sv-muted); }
.sv2.sv2.sv2 .resource-grid article { border-radius: var(--sv-radius-m); background: var(--sv-surface); border-color: var(--sv-line); }
.sv2.sv2.sv2 .resource-grid h3 a { color: var(--sv-text); }
.sv2.sv2.sv2 .resource-grid p { color: var(--sv-muted); }
.sv2.sv2.sv2 .compare-table thead th { background: var(--sv-brand); }
:root[data-theme="dark"] .sv2.sv2.sv2 .compare-table :is(th, td) { background: var(--sv-surface); border-color: var(--sv-line); }
:root[data-theme="dark"] .sv2.sv2.sv2 .compare-table thead th { background: #0f2a20; }
:root[data-theme="dark"] .sv2.sv2.sv2 .compare-table tbody tr:nth-child(odd) td { background: var(--sv-surface-2); }

/* ---------- Legal + contact ---------- */
.sv2.sv2 .legal-hero h1 { font-size: clamp(2.25rem, 1.5rem + 2.8vw, 3.75rem); letter-spacing: -0.035em; }
.sv2.sv2 .legal-nav a { border-radius: 999px; padding: 6px 12px; color: var(--sv-muted); text-decoration: none; transition: background-color .2s, color .2s; }
.sv2.sv2 .legal-nav a:hover { background: var(--sv-surface-2); color: var(--sv-text); }
.sv2.sv2 .legal-content h2 { font-size: clamp(1.375rem, 1.2rem + .6vw, 1.75rem); }
.sv2.sv2 .legal-content :is(p, li) { color: var(--sv-text-2); line-height: 1.7; }
.sv2.sv2 .legal-content a { color: var(--sv-link); }
.sv2.sv2.sv2 :is(.contact-primary > *, .contact-specialists) { border-radius: var(--sv-radius-l); }
.sv2.sv2.sv2 .contact-primary > :is(article, div, section) { background: var(--sv-surface); border: 1px solid var(--sv-line); box-shadow: var(--sv-shadow-1); padding: 28px; }
.sv2.sv2.sv2 .contact-specialists a { color: var(--sv-link); font-weight: 600; }
.sv2.sv2.sv2 .contact-privacy-note { border-radius: var(--sv-radius-m); border-color: var(--sv-line); background: var(--sv-surface-2); color: var(--sv-muted); }

/* ---------- Admin console (admin.html; follows the system theme as before) ---------- */
.sv2.admin-body { background: var(--admin-canvas); }
.sv2.sv2.admin-body button:not(.admin-detail-tabs button):not(.dialog-close) { border-radius: 999px; padding-inline: 16px; background: var(--admin-green); border-color: var(--admin-green); color: var(--admin-surface); font-weight: 600; }
.sv2.sv2.admin-body button:not(.admin-detail-tabs button):not(.dialog-close):hover:not(:disabled) { filter: brightness(1.08); }
.sv2.sv2.sv2.admin-body :is(.admin-secondary-button, .admin-back-button, .admin-sidebar-actions button) { background: transparent; color: var(--admin-ink-soft); border-color: var(--admin-line-strong); }
.sv2.sv2.sv2.admin-body .admin-sidebar-actions button { color: #eef6f1; border-color: rgba(191, 232, 210, .3); }
.sv2.sv2.sv2.admin-body .admin-danger-button { background: transparent; color: var(--admin-coral); border-color: var(--admin-coral); }
.sv2.sv2.sv2.admin-body .admin-confirm-danger { background: var(--admin-coral); border-color: var(--admin-coral); color: #fff; }
.sv2.sv2.admin-body :is(input, select, textarea) { border-radius: 12px; min-height: 44px; }
.sv2.sv2 .admin-login { background: var(--sv-hero-bg); background-color: var(--sv-ink); }
.sv2.sv2 .admin-login-panel { border-radius: var(--sv-radius-l); padding: 34px 32px; box-shadow: var(--sv-shadow-3); }
.sv2.sv2 .admin-login-panel h1 { font-size: 1.875rem; letter-spacing: -0.03em; }
.sv2.sv2 .admin-login-panel form button { width: 100%; min-height: 48px; }
.sv2.sv2 .admin-sidebar { background: var(--sv-ink); background-image: radial-gradient(400px 300px at 0% 0%, rgba(127, 227, 176, .08), transparent 70%); }
.sv2.sv2 .admin-primary-nav a { border-radius: 999px; padding-inline: 14px; }
.sv2.sv2 .admin-primary-nav a[aria-current="page"] { background: rgba(127, 227, 176, .14); color: #fff; }
.sv2.sv2 .admin-eyebrow { color: var(--admin-green); letter-spacing: .06em; }
.sv2.sv2 :is(.admin-metric-grid > *, .admin-table-wrap, .admin-detail-panel) { border-radius: var(--sv-radius-m); }
.sv2.sv2 .admin-metric-grid strong, .sv2.sv2 .admin-metric-grid .num { font-family: var(--sv-font-display); letter-spacing: -0.03em; }
.sv2.sv2 .admin-dialog { border-radius: var(--sv-radius-l); border: 1px solid var(--admin-line); box-shadow: var(--sv-shadow-3); }
.sv2.sv2 .admin-dialog::backdrop { background: rgba(6, 17, 13, .55); backdrop-filter: blur(4px); }
