.dva-flash-root {
  --dva-flash-bg: var(--dv-color-surface, #fff);
  --dva-flash-panel: var(--dv-color-surface-elevated, #f7f7fc);
  --dva-flash-text: var(--dv-color-text, #101226);
  --dva-flash-muted: var(--dv-color-text-muted, #596078);
  --dva-flash-border: var(--dv-color-border, #d7daea);
  --dva-flash-violet: var(--dv-color-brand, #6d38f5);
  --dva-flash-cyan: var(--dv-color-accent, #22c9ee);
  --dva-flash-success: var(--dv-color-success, #16845b);
  --dva-flash-final: var(--dv-color-warning, #b87816);
  --dva-flash-radius: var(--dv-radius-lg, 16px);
  --dva-flash-shadow: var(--dv-shadow-xl, 0 24px 64px rgba(15, 18, 38, .24));
  color: var(--dva-flash-text);
  font: inherit;
  letter-spacing: 0;
}
.dva-flash-live { position: absolute !important; inline-size: 1px !important; block-size: 1px !important; overflow: hidden !important; clip: rect(1px, 1px, 1px, 1px) !important; white-space: nowrap !important; }

[data-theme="dark"] .dva-flash-root {
  --dva-flash-bg: var(--dv-color-surface, #111426);
  --dva-flash-panel: var(--dv-color-surface-elevated, #181c32);
  --dva-flash-text: var(--dv-color-text, #f7f8ff);
  --dva-flash-muted: var(--dv-color-text-muted, #b7bdd1);
  --dva-flash-border: var(--dv-color-border, #343b5b);
}

html.dva-flash-open { overflow: hidden; }
.dva-flash-backdrop { position: fixed; inset: 0; z-index: 999990; background: color-mix(in srgb, #080a18 72%, transparent); }
.dva-flash-dialog { position: fixed; z-index: 999991; left: 50%; top: 50%; width: min(920px, calc(100vw - 32px)); max-height: min(760px, calc(100dvh - 32px)); transform: translate(-50%, -50%); display: grid; grid-template-columns: minmax(230px, .78fr) minmax(320px, 1.22fr); overflow: auto; border: 1px solid var(--dva-flash-border); border-radius: var(--dva-flash-radius); background: var(--dva-flash-bg); box-shadow: var(--dva-flash-shadow); }
.dva-flash-close { position: absolute; z-index: 2; top: 16px; right: 16px; inline-size: 44px; block-size: 44px; display: grid; place-items: center; padding: 0; border: 1px solid var(--dva-flash-border); border-radius: 50%; color: var(--dva-flash-text); background: var(--dva-flash-panel); font: inherit; font-size: 25px; line-height: 1; cursor: pointer; }
.dva-flash-close:hover, .dva-flash-close:focus-visible { border-color: var(--dva-flash-violet); outline: 3px solid color-mix(in srgb, var(--dva-flash-violet) 28%, transparent); outline-offset: 2px; }
.dva-flash-visual { position: relative; min-height: 520px; overflow: hidden; border-radius: calc(var(--dva-flash-radius) - 1px) 0 0 calc(var(--dva-flash-radius) - 1px); background: linear-gradient(145deg, color-mix(in srgb, var(--dva-flash-violet) 78%, #11142a), color-mix(in srgb, var(--dva-flash-cyan) 55%, #12152e)); }
.dva-flash-visual::before, .dva-flash-visual::after, .dva-flash-visual span, .dva-flash-visual i, .dva-flash-visual b { content: ""; position: absolute; border: 1px solid rgba(255,255,255,.42); border-radius: 50%; }
.dva-flash-visual::before { inset: 17% -32% auto 20%; aspect-ratio: 1; }
.dva-flash-visual::after { inset: auto 14% 15% -28%; aspect-ratio: 1; }
.dva-flash-visual span { inline-size: 112px; block-size: 112px; left: 50%; top: 43%; transform: translate(-50%,-50%); border-width: 2px; box-shadow: 0 0 42px rgba(255,255,255,.22); }
.dva-flash-visual i { inline-size: 18px; block-size: 18px; left: 27%; top: 29%; background: rgba(255,255,255,.9); box-shadow: 0 0 22px rgba(255,255,255,.75); }
.dva-flash-visual b { inline-size: 34px; block-size: 34px; right: 22%; bottom: 24%; background: color-mix(in srgb, var(--dva-flash-cyan) 74%, white); box-shadow: 0 0 28px var(--dva-flash-cyan); }
.dva-flash-visual > strong { position: absolute; left: 50%; top: 43%; transform: translate(-50%, -50%); color: #fff; font-size: clamp(52px, 6vw, 78px); line-height: 1; font-variant-numeric: tabular-nums; text-shadow: 0 6px 28px rgba(7, 9, 25, .32); }
.dva-flash-visual > strong small { font-size: .42em; }
.dva-flash-stage-2 .dva-flash-visual { background: linear-gradient(145deg, color-mix(in srgb, var(--dva-flash-final) 78%, #171327), color-mix(in srgb, var(--dva-flash-violet) 68%, #11142a)); }
.dva-flash-stage-2 .dva-flash-eyebrow { color: color-mix(in srgb, var(--dva-flash-final) 86%, var(--dva-flash-text)); border-color: color-mix(in srgb, var(--dva-flash-final) 42%, var(--dva-flash-border)); background: color-mix(in srgb, var(--dva-flash-final) 10%, var(--dva-flash-bg)); }
.dva-flash-content { display: flex; flex-direction: column; justify-content: center; min-width: 0; padding: 68px 56px 48px; }
.dva-flash-eyebrow { display: inline-flex; align-self: flex-start; padding: 7px 11px; border: 1px solid color-mix(in srgb, var(--dva-flash-violet) 35%, var(--dva-flash-border)); border-radius: 999px; color: var(--dva-flash-violet); background: color-mix(in srgb, var(--dva-flash-violet) 9%, var(--dva-flash-bg)); font-size: 12px; font-weight: 700; }
.dva-flash-content h2 { max-width: 13ch; margin: 18px 0 12px; color: var(--dva-flash-text); font-size: clamp(32px, 4vw, 48px); line-height: 1.04; letter-spacing: 0; }
.dva-flash-content p, .dva-flash-rail p, .dva-flash-pricing p { margin: 0; color: var(--dva-flash-muted); font-size: 16px; line-height: 1.55; }
.dva-flash-content ul { display: grid; gap: 10px; margin: 24px 0; padding: 0; list-style: none; }
.dva-flash-content li { position: relative; padding-left: 28px; color: var(--dva-flash-text); font-size: 14px; }
.dva-flash-content li::before { content: "✓"; position: absolute; left: 0; top: -2px; inline-size: 20px; block-size: 20px; display: grid; place-items: center; border-radius: 50%; color: var(--dva-flash-success); background: color-mix(in srgb, var(--dva-flash-success) 12%, transparent); font-weight: 800; }
.dva-flash-timer { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 0 0 16px; padding: 12px 14px; border: 1px solid var(--dva-flash-border); border-radius: 8px; background: var(--dva-flash-panel); color: var(--dva-flash-muted); font-size: 13px; }
.dva-flash-timer strong, .dva-flash-rail > strong, .dva-flash-pricing [data-flash-countdown] { color: var(--dva-flash-text); font-variant-numeric: tabular-nums; font-size: 22px; }
.dva-flash-primary, .dva-flash-secondary { min-height: 48px; border-radius: 8px; font: inherit; font-weight: 650; cursor: pointer; }
.dva-flash-primary { border: 1px solid transparent; color: #fff; background: linear-gradient(100deg, var(--dva-flash-violet), color-mix(in srgb, var(--dva-flash-cyan) 72%, var(--dva-flash-violet))); box-shadow: 0 12px 28px color-mix(in srgb, var(--dva-flash-violet) 22%, transparent); }
.dva-flash-primary:hover { filter: brightness(1.06); transform: translateY(-1px); }
.dva-flash-primary:focus-visible, .dva-flash-secondary:focus-visible, .dva-flash-rail-dismiss:focus-visible { outline: 3px solid color-mix(in srgb, var(--dva-flash-cyan) 55%, transparent); outline-offset: 3px; }
.dva-flash-primary:disabled { cursor: wait; opacity: .62; transform: none; }
.dva-flash-secondary { margin-top: 10px; border: 1px solid var(--dva-flash-border); color: var(--dva-flash-text); background: transparent; }
.dva-flash-secondary:hover { border-color: var(--dva-flash-violet); background: color-mix(in srgb, var(--dva-flash-violet) 7%, transparent); }
.dva-flash-error { margin: 12px 0 0 !important; padding: 10px 12px; border: 1px solid color-mix(in srgb, var(--dv-color-error, #b4233d) 42%, var(--dva-flash-border)); border-radius: 8px; color: var(--dv-color-error, #b4233d) !important; background: color-mix(in srgb, var(--dv-color-error, #b4233d) 8%, var(--dva-flash-bg)); font-size: 13px !important; line-height: 1.45 !important; }
.dva-flash-reassurance { margin-top: 14px !important; font-size: 12px !important; line-height: 1.45 !important; text-align: center; }
.dva-flash-rail { position: fixed; z-index: 99980; right: max(16px, env(safe-area-inset-right)); bottom: max(16px, env(safe-area-inset-bottom)); width: min(370px, calc(100vw - 32px)); padding: 24px; border: 1px solid var(--dva-flash-border); border-radius: var(--dva-flash-radius); background: var(--dva-flash-bg); box-shadow: var(--dva-flash-shadow); }
.dva-flash-rail h2 { margin: 14px 34px 8px 0; color: var(--dva-flash-text); font-size: 24px; line-height: 1.12; }
.dva-flash-rail > strong { display: block; margin: 18px 0 12px; }
.dva-flash-rail .dva-flash-primary { width: 100%; }
.dva-flash-rail-dismiss { position: absolute; top: 12px; right: 12px; inline-size: 44px; block-size: 44px; border: 0; color: var(--dva-flash-text); background: transparent; font-size: 22px; cursor: pointer; }
.dva-flash-pricing { max-width: min(1180px, calc(100% - 32px)); margin: 20px auto; padding: 20px 24px; display: flex; align-items: center; justify-content: space-between; gap: 24px; border: 1px solid color-mix(in srgb, var(--dva-flash-violet) 38%, var(--dva-flash-border)); border-radius: var(--dva-flash-radius); background: var(--dva-flash-bg); box-shadow: var(--dva-flash-shadow); }
.dva-flash-pricing > div:last-child { display: flex; align-items: center; gap: 16px; }
.dva-flash-pricing strong { display: block; margin: 8px 0 4px; color: var(--dva-flash-text); font-size: 20px; }
.dva-flash-pricing .dva-flash-primary { padding-inline: 24px; }
[data-dva-offer-state] [data-dva-price-display] { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.dva-flash-base-price { color: var(--dva-flash-muted); font-size: .78em; text-decoration: line-through; }
.dva-flash-offer-price { color: var(--dva-flash-violet); font: inherit; }

@media (max-width: 720px) {
  .dva-flash-dialog { grid-template-columns: 1fr; width: min(430px, calc(100vw - 20px)); max-height: calc(100dvh - 20px); }
  .dva-flash-visual { min-height: 142px; border-radius: calc(var(--dva-flash-radius) - 1px) calc(var(--dva-flash-radius) - 1px) 0 0; }
  .dva-flash-visual span { inline-size: 74px; block-size: 74px; }
  .dva-flash-visual > strong { font-size: 52px; }
  .dva-flash-content { padding: 30px 22px 22px; }
  .dva-flash-content h2 { margin-top: 14px; font-size: clamp(28px, 9vw, 38px); }
  .dva-flash-content p { font-size: 15px; }
  .dva-flash-content ul { margin: 18px 0; }
  .dva-flash-close { top: 10px; right: 10px; background: color-mix(in srgb, var(--dva-flash-bg) 82%, transparent); }
  .dva-flash-pricing { align-items: stretch; flex-direction: column; }
  .dva-flash-pricing > div:last-child { justify-content: space-between; }
}

@media (prefers-reduced-motion: reduce) {
  .dva-flash-root *, .dva-flash-root *::before, .dva-flash-root *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
  .dva-flash-primary:hover { transform: none; }
}

@media (forced-colors: active) {
  .dva-flash-dialog, .dva-flash-rail, .dva-flash-pricing, .dva-flash-primary, .dva-flash-secondary { border: 1px solid CanvasText; }
  .dva-flash-primary { color: ButtonText; background: ButtonFace; }
}
