/* One finishing layer for public, auth, seller and admin V2 surfaces. */
:root { --sah-surface-depth: inset 0 1px 0 oklch(1 0 0 / .9), 0 8px 28px -16px oklch(.3 .08 255 / .2); --sah-footer-ink: oklch(.2 .04 255); --sah-footer-text: oklch(.91 .015 250); }
:where(.v2-body, .v2-app-body) { -webkit-font-smoothing: antialiased; }
:where(.v2-body, .v2-app-body) :focus-visible { outline: 2px solid var(--c-focus); outline-offset: 4px; }
:where(.v2-body, .v2-app-body) a, :where(.v2-body, .v2-app-body) button { -webkit-tap-highlight-color: transparent; }
.v2-body .v2-ambient-bg, .v2-app-body .v2-app-ambient { display: none; }
.v2-body :is(.v2-btn-primary, .v2-nav-cta, .v2-nav-mobile-cta, .v2-price-cta-featured, .ext-btn-primary), .v2-auth-page :is(.v2-auth-submit, .v2-auth-submit-btn) { background: var(--c-gradient) !important; color: var(--c-on-accent) !important; border: 1px solid oklch(1 0 0 / .4) !important; border-radius: var(--radius-pill) !important; font-weight: 700 !important; box-shadow: inset 0 1px 0 oklch(1 0 0 / .45), 0 6px 20px -2px oklch(.62 .22 256 / .3); }
.v2-body :is(.v2-btn-primary, .v2-nav-cta, .ext-btn-primary):hover { transform: translateY(-2px); filter: brightness(1.06); box-shadow: inset 0 1px 0 oklch(1 0 0 / .6), 0 10px 28px -2px oklch(.62 .22 256 / .4); }
.v2-body :is(.v2-btn-secondary, .ext-btn-secondary) { border-radius: var(--radius-pill); backdrop-filter: blur(12px); box-shadow: inset 0 1px 0 oklch(1 0 0 / .9), var(--shadow-sm); }
.v2-body .v2-container { max-width: 1248px; }
.v2-nav { width: min(1280px, calc(100% - 48px)); }
.v2-nav-inner { padding: var(--space-2) var(--space-3) var(--space-2) var(--space-6); box-shadow: var(--sah-surface-depth); }
.v2-nav-links { gap: var(--space-6); }
.v2-nav-logo { gap: var(--space-3); }
.v2-nav-cta { padding-inline: var(--space-5); font-size: 12px; }
.v2-body :is(.v2-card, .ext-feature-card, .ext-definition-card, .v2-faq-item) { background: var(--card-gradient); border-color: var(--c-border); box-shadow: var(--sah-surface-depth); }
.v2-body .v2-section-title { letter-spacing: -.045em; }
.v2-body .v2-section-subtitle { line-height: 1.75; }
.v2-body .ext-detail-hero h1 { letter-spacing: -.045em; line-height: 1.15; }
.v2-body .ext-preview { box-shadow: var(--shadow-lg); border-color: var(--c-border); }
.v2-body :is(.ext-detail-hero, .ext-storefront-hero) { background: var(--soft-gradient); }
.v2-body :is(.ext-preview-row, .ext-preview-metrics) { font-variant-numeric: tabular-nums; }
.v2-body :is(.v2-blog-card, .v2-blog-featured-card, .v2-blog-spotlight-card) { box-shadow: var(--sah-surface-depth); border-color: var(--c-border); }
.v2-body :is(.v2-blog-card, .v2-tool-card) img { max-width: 100%; }
.v2-body :is(.trust-page, .v2-trust-page) { line-height: 1.75; }
/* Financial work surfaces stay compact; tokens never alter chart data or totals. */
.v2-app-body :is(.v2-panel, .v2-pane, .v2-page-frame, .v2-payments-panel, .v2-rep-panel, .v2-settings-card, .v2-inventory-card) { border-color: var(--c-border); box-shadow: var(--sah-surface-depth); }
.v2-app-body .v2-topbar { box-shadow: var(--sah-surface-depth); backdrop-filter: blur(18px); }
.v2-app-body :is(.v2-pane-title, .v2-rep-command-title, .v2-inventory-command-title, .v2-sku-hero-title, .v2-ord-command-title, .v2-overview-command-title, .v2-page-title) { letter-spacing: -.035em; }
.v2-app-body :is(table, .v2-kpi-value, .v2-metric-value) { font-variant-numeric: tabular-nums; }
.v2-app-body :is(th, td) { vertical-align: middle; }
.v2-app-body :is(input, select, textarea):focus-visible { outline-offset: 2px; }
.v2-app-body :is(.v2-page-shell-content, .v2-app-reveal) > * { min-width: 0; }
.v2-auth-page .v2-auth-stage { box-shadow: var(--shadow-lg); }
.v2-auth-page .v2-auth-form-card { box-shadow: var(--sah-surface-depth); background: var(--c-surface-glass-strong); }
.v2-auth-page .v2-auth-hero-title { letter-spacing: -.045em; }
.v2-auth-page .v2-auth-dashboard-frame { box-shadow: var(--shadow-lg); }
/* Footer is a bounded ink stage, keeping the main product light. */
.sah-footer { padding: var(--space-6) var(--space-6); background: var(--sah-footer-ink); border: 0; color: var(--sah-footer-text); }
.sah-footer .v2-container { max-width: 1280px; padding: 0; }
.sah-footer .v2-footer-inner { padding: var(--space-16) var(--space-8) var(--space-6); background: transparent; border: 0; border-radius: 0; overflow: hidden; }
.sah-footer-top { display: flex; align-items: center; justify-content: space-between; gap: var(--space-6); border-bottom: 1px solid oklch(1 0 0 / .15); padding-bottom: var(--space-12); margin-bottom: var(--space-12); }
.sah-footer-top h2 { font-family: var(--font-display); font-size: clamp(24px, 3vw, 36px); line-height: 1.2; letter-spacing: -.04em; }
.sah-footer .sah-eyebrow { color: var(--sah-footer-text); }
.sah-footer .v2-footer-grid { grid-template-columns: 1.5fr repeat(4, 1fr); gap: var(--space-8); margin-bottom: var(--space-8); }
.sah-footer :is(.v2-nav-logo, .v2-footer-col h2) { color: var(--c-on-accent); }
.sah-footer :is(.v2-footer-col-about p, .v2-footer-links a, .sah-footer-contact, .v2-footer-bottom) { color: var(--sah-footer-text); }
.sah-footer .v2-footer-col h2 { margin-bottom: var(--space-5); font-size: 11px; }
.sah-footer .v2-footer-links { gap: var(--space-3); }
.sah-footer .v2-footer-links a { font-size: 12px; }
.sah-footer-contact { font-size: 11px; overflow-wrap: anywhere; }
.sah-footer-wordmark { font-family: var(--font-display); font-size: clamp(36px, 6.4vw, 92px); letter-spacing: -.06em; font-weight: 800; color: oklch(1 0 0 / .13); white-space: nowrap; padding-block: var(--space-8); user-select: none; }
.sah-footer .v2-footer-bottom { border-color: oklch(1 0 0 / .15); padding-top: var(--space-6); font-size: 11px; gap: var(--space-4); }
.sah-footer .v2-footer-links a:hover, .sah-footer-back:hover { color: var(--c-on-accent); text-decoration: underline; }
@media (max-width: 1100px) { .v2-nav-links { gap: var(--space-3); } .sah-footer .v2-footer-grid { grid-template-columns: repeat(4, 1fr); } .sah-footer .v2-footer-col-about { grid-column: 1 / -1; max-width: 380px; } }
@media (max-width: 820px) { .sah-footer-top { flex-direction: column; align-items: flex-start; } }
@media (max-width: 600px) {
 .v2-nav { width: calc(100% - 24px); top: 12px; } .v2-nav-inner { padding: var(--space-2) var(--space-3); }
 .v2-nav-logo { font-size: 12px; gap: var(--space-2); } .v2-nav-logo-icon { width: 30px; height: 30px; }
 .v2-nav-cta { font-size: 10px; padding-inline: var(--space-3); }
 .sah-footer { padding: var(--space-3); } .sah-footer .v2-footer-inner { padding: var(--space-10) var(--space-4) var(--space-5); }
 .sah-footer .v2-footer-grid { grid-template-columns: 1fr 1fr; gap: var(--space-8) var(--space-5); }
 .sah-footer .v2-footer-links { gap: 0; } .sah-footer .v2-footer-links a { min-height: 44px; display: flex; align-items: center; }
 .sah-footer-wordmark { white-space: normal; line-height: 1; }
 .v2-app-body :is(button, .v2-btn) { touch-action: manipulation; }
}
@media (prefers-reduced-motion: reduce) { .v2-body *, .v2-app-body * { scroll-behavior: auto !important; } .v2-body .v2-nav { animation: none; opacity: 1; } }
.sah-footer-top h2 { color: var(--c-on-accent); }
.v2-body .v2-trust-card { box-shadow: var(--sah-surface-depth); }
@media (prefers-reduced-motion: reduce) { .sah-home *, .sah-final-cta * { animation: none !important; transition: none !important; } }
/* Featured plans remain readable on the shared translucent card surface. */
.v2-body .v2-price-card-featured :is(.v2-price-name, .v2-price-val-amount, .v2-price-features li, .v2-price-features span) { color: var(--c-text); }
.v2-body .v2-price-card-featured :is(.v2-price-period, .v2-price-strike) { color: var(--c-text-dim); }
.v2-body .v2-price-card-featured .v2-price-badge { background: var(--c-accent-soft); color: var(--c-accent); border: 1px solid var(--c-border); }
.v2-body .v2-price-card-featured .v2-price-features i { color: var(--c-success); }
.v2-body section[id] { scroll-margin-top: var(--space-28); }
.sah-eyebrow { display: inline-flex; align-items: center; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--c-accent); margin-bottom: var(--space-4); }
