:root {
  --ln-midnight: #0B1F3B;
  --ln-cyan: #00C2FF;
  --ln-cyan-strong: #007EA7;
  --ln-mint: #2EE6A6;
  --ln-success-soft: rgba(46, 230, 166, .18);
  --ln-danger: #B42318;
  --ln-danger-soft: #FDE7E5;
  --ln-slate: #64748B;
  --ln-border: #E9EEF4;
  --ln-cloud: #F8FAFC;
  --ln-white: #FFFFFF;
  --ln-display: "Manrope", "Inter", system-ui, sans-serif;
  --ln-body: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --ln-radius-md: 10px;
  --ln-radius-lg: 14px;
  --ln-radius-xl: 20px;
  --ln-shadow-sm: 0 1px 2px rgba(11, 31, 59, .06);
  --ln-shadow-md: 0 6px 18px rgba(11, 31, 59, .08);
  /* aliases para componentes legados em migração */
  --ink: var(--ln-midnight);
  --muted: var(--ln-slate);
  --paper: var(--ln-cloud);
  --card: var(--ln-white);
  --line: var(--ln-border);
  --green: #007EA7;
  --orange: var(--ln-midnight);
  --mint: rgba(46, 230, 166, .18);
  --brand-cta: var(--ln-midnight);
  --brand-hover: #1A3555;
  --font-family-primary: var(--ln-body);
  --font-family-heading: var(--ln-display);
  --font-family-mono: ui-monospace, SFMono-Regular, Menlo, monospace;
}

html { scroll-behavior: smooth; }
body { background: var(--ln-cloud) !important; color: var(--ln-midnight) !important; font-family: var(--ln-body) !important; }
h1, h2, h3, h4 { font-family: var(--ln-display) !important; color: var(--ln-midnight); }
a { color: #007EA7; }
button, input, select, textarea { font-family: var(--ln-body); }
button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, a:focus-visible {
  outline: 3px solid rgba(0, 194, 255, .55);
  outline-offset: 2px;
}

.ln-card, .card, .panel, .section-card {
  background: var(--ln-white);
  border: 1px solid var(--ln-border);
  border-radius: var(--ln-radius-lg);
  box-shadow: var(--ln-shadow-sm);
}
.ln-button, .button, .btn, .cta {
  min-height: 40px;
  border-radius: var(--ln-radius-md);
  font-family: var(--ln-body);
  font-weight: 600;
}
.ln-button--primary, .button:not(.secondary), .btn-primary, .cta {
  background: var(--ln-midnight);
  color: var(--ln-white);
}
.ln-button--primary:hover, .button:not(.secondary):hover, .btn-primary:hover { background: #1A3555; }
.ln-button--success { background: var(--ln-mint); color: var(--ln-midnight); }
.ln-badge { display: inline-flex; align-items: center; border-radius: 999px; padding: 4px 10px; font-size: 12px; font-weight: 600; }
.ln-badge--active { background: rgba(0, 194, 255, .14); color: var(--ln-midnight); }
.ln-badge--success { background: var(--ln-mint); color: var(--ln-midnight); }
.ln-badge--neutral { background: #EEF2F6; color: var(--ln-slate); }
.wrap > .brand { font-size: 0 !important; color: var(--ln-midnight) !important; }
.wrap > .brand::after { content: "leadsnuvem"; font-family: var(--ln-display); font-size: 1.35rem; font-weight: 700; letter-spacing: -.04em; }
.brand-wordmark { font-family: var(--ln-display); font-size: 1.35rem; font-weight: 700; letter-spacing: -.04em; color: var(--ln-midnight); }

.checkout-backdrop { background: rgba(11, 31, 59, .72); }
.checkout-modal { border-radius: var(--ln-radius-xl); box-shadow: 0 18px 40px rgba(11, 31, 59, .12); }
.checkout-modal h2 { font-family: var(--ln-display); }
.checkout-modal p, .checkout-modal small { color: var(--ln-slate); }
.checkout-review { margin-top: 16px; padding: 16px; border: 1px solid var(--ln-border); border-radius: var(--ln-radius-md); background: var(--ln-cloud); }
.checkout-review-segment { display: block; font-size: 18px; }
.checkout-review-meta { display: block; margin-top: 4px; color: var(--ln-slate); }
.checkout-review-amount { display: block; margin-top: 12px; font-size: 24px; }
.checkout-field--segment { margin-top: 16px; }
.checkout-field input, .checkout-field select { border-color: var(--ln-border); border-radius: var(--ln-radius-md); }
.checkout-continue, .checkout-submit { min-height: 46px; border: 0; border-radius: var(--ln-radius-md); padding: 12px 16px; background: var(--ln-midnight); color: var(--ln-white); font: inherit; font-weight: 700; cursor: pointer; }
.checkout-cancel { border-color: var(--ln-border); color: var(--ln-midnight); }
.checkout-status { background: var(--ln-success-soft); color: var(--ln-midnight); }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
