:root {
  --lt-brand: #00e6e6;
  --lt-brand-hover: #00cfcf;
  --lt-brand-soft: rgba(0, 230, 230, 0.12);
  --lt-brand-line: rgba(0, 160, 160, 0.24);
  --lt-ink: #083434;
  --lt-ink-soft: #123f42;
  --lt-muted: #4d6669;
  --lt-muted-2: #617a7c;
  --lt-surface: #ffffff;
  --lt-surface-soft: #f8ffff;
  --lt-surface-muted: #f7fbfb;
  --lt-line: rgba(8, 52, 52, 0.10);
  --lt-line-strong: rgba(8, 52, 52, 0.16);
  --lt-danger: #a72020;
  --lt-danger-bg: #fff0f0;
  --lt-radius-card: 8px;
  --lt-radius-control: 8px;
  --lt-radius-pill: 999px;
  --lt-space-1: 4px;
  --lt-space-2: 8px;
  --lt-space-3: 12px;
  --lt-space-4: 16px;
  --lt-space-5: 20px;
  --lt-space-6: 24px;
  --lt-space-7: 32px;
  --lt-shadow-card: 0 10px 26px rgba(8, 52, 52, 0.08);
  --lt-shadow-control: 0 8px 18px rgba(0, 180, 180, 0.18);
  --lt-control-font: 0.98rem;
  --lt-pill-font: 0.82rem;
  --lt-small-font: 0.92rem;
  --lt-body-font: 1rem;
  --lt-section-title: 1.35rem;
  --lt-page-title: 2.15rem;
}

@media (max-width: 1024px) {
  :root {
    --lt-control-font: 1.78rem;
    --lt-pill-font: 1.58rem;
    --lt-small-font: 1.72rem;
    --lt-body-font: 1.86rem;
    --lt-section-title: 2.1rem;
    --lt-page-title: 3rem;
  }
}

@media (max-width: 640px) {
  :root {
    --lt-control-font: 1.84rem;
    --lt-pill-font: 1.64rem;
    --lt-small-font: 1.78rem;
    --lt-body-font: 1.92rem;
    --lt-section-title: 2.06rem;
    --lt-page-title: 2.72rem;
  }
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  color: var(--lt-ink);
  letter-spacing: 0;
}

body h1,
body h2,
body h3,
body h4,
body h5,
body h6,
body button,
body .btn,
body input,
body select,
body textarea {
  letter-spacing: 0 !important;
}

body a {
  text-underline-offset: 0.18em;
}

/* Common page rhythm */
.page-content > :is(.result-page, .calc-page, .payment-flow-page, .action-overview-page, .projects-page, .auth, .settingsPage) {
  width: 100%;
}

:is(.result-page, .calc-page, .payment-flow-page, .action-overview-page, .projects-page) {
  color: var(--lt-ink);
}

:is(.result-title, .calc-hero-title, .payment-flow-title, .action-overview-hero h1, .projects-hero h1) {
  font-size: var(--lt-page-title) !important;
  line-height: 1.14 !important;
  font-weight: 950 !important;
  color: var(--lt-ink) !important;
}

:is(.result-card-title, .snapshot-title, .feedback-title, .structured-plan-title, .privacy-controls__title, .action-area-card h2, .action-overview-cta-card h2) {
  font-size: var(--lt-section-title) !important;
  line-height: 1.24 !important;
  color: var(--lt-ink-soft) !important;
}

:is(.result-subtitle, .result-card-sub, .result-map-hint, .snapshot-sub, .payment-flow-subtitle, .feedback-subsection-copy, .privacy-controls__copy, .structured-plan-copy, .action-overview-lead, .projects-lead) {
  color: var(--lt-muted) !important;
  line-height: 1.58 !important;
}

/* Cards and panels */
:is(
  .card,
  .result-card,
  .snapshot-card,
  .payment-flow-card,
  .feedback-section,
  .privacy-controls,
  .structured-plan-card,
  .structured-plan-block,
  .action-area-card,
  .action-overview-cta-card,
  .project-card,
  .profile-card,
  .projects-empty,
  .calc-entry
) {
  border-radius: var(--lt-radius-card) !important;
  border: 1px solid var(--lt-line-strong) !important;
  box-shadow: var(--lt-shadow-card) !important;
}

:is(
  .result-snapshot-metric,
  .list-snapshot-metric,
  .result-flow-stat,
  .result-range-step,
  .result-map-zone,
  .result-background-item,
  .result-mini-item,
  .result-driver-info-card,
  .result-driver-info-grid section,
  .result-driver-info-next,
  .ai-card,
  .feedback-score-box,
  .feedback-item,
  .feedback-subsection,
  .payment-flow-price-box,
  .payment-flow-teaser,
  .privacy-controls__grid form,
  .action-plan-item,
  .structured-plan-snapshot,
  .structured-plan-list,
  .structured-plan-quick-win,
  .structured-plan-callout,
  .projects-filter-card,
  .project-card__media
) {
  border-radius: var(--lt-radius-card) !important;
}

:is(.result-card, .snapshot-card, .feedback-section, .payment-flow-card, .privacy-controls) {
  background-color: var(--lt-surface) !important;
}

:is(.result-snapshot-metric, .list-snapshot-metric, .result-map-zone, .feedback-subsection, .payment-flow-teaser, .privacy-controls__grid form) {
  border-color: var(--lt-line) !important;
}

/* Buttons */
:is(
  .btn,
  button[type="submit"],
  input[type="submit"],
  .btn-primary,
  .payment-flow-btn,
  .result-inputs-btn,
  .inputs-btn,
  .result-reveal-btn,
  .list-reveal-btn,
  .result-mini-item-cta,
  .result-action-plan-entry-btn,
  .btn-ai-project,
  .privacy-controls__btn,
  .sort-btn,
  .projects-create,
  .projects-button,
  .action-overview-btn-primary,
  .action-overview-btn-secondary
) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: var(--lt-space-2) !important;
  max-width: 100% !important;
  min-height: 44px !important;
  border-radius: var(--lt-radius-control) !important;
  padding: 0.72rem 1.15rem !important;
  font-size: var(--lt-control-font) !important;
  line-height: 1.24 !important;
  font-weight: 900 !important;
  text-align: center !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  text-decoration: none !important;
  transition: transform 0.16s ease, box-shadow 0.16s ease, background-color 0.16s ease, border-color 0.16s ease !important;
}

:is(.btn, .btn--sub, .btn-primary):not(.btn--danger):not(.btn--main--outline):not(.btn--sub--outline) {
  background: var(--lt-brand) !important;
  color: var(--lt-ink) !important;
}

:is(.btn, .btn--sub, .btn-primary, .payment-flow-btn-primary, .result-reveal-btn, .list-reveal-btn, .result-mini-item-cta, .result-action-plan-entry-btn):not(.btn--danger):hover {
  background-color: var(--lt-brand-hover) !important;
  color: var(--lt-ink) !important;
  opacity: 1 !important;
  text-decoration: none !important;
  transform: translateY(-1px) !important;
  box-shadow: var(--lt-shadow-control) !important;
}

:is(.btn--danger, .btn-danger, button[data-action="delete"], .privacy-controls__btn--danger) {
  background: var(--lt-danger-bg) !important;
  color: var(--lt-danger) !important;
  border: 1px solid rgba(167, 32, 32, 0.22) !important;
}

:is(.btn--danger, .btn-danger, button[data-action="delete"], .privacy-controls__btn--danger):hover {
  background: #ffe4e4 !important;
  color: #8f1717 !important;
}

.privacy-controls__btn--secondary {
  background: var(--lt-brand) !important;
  color: var(--lt-ink) !important;
}

:is(.payment-flow-btn-secondary, .action-overview-btn-secondary) {
  background: var(--lt-brand-soft) !important;
  color: var(--lt-ink) !important;
  border: 1px solid var(--lt-brand-line) !important;
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid rgba(0, 230, 230, 0.42) !important;
  outline-offset: 3px !important;
}

/* Pills, badges and chips */
:is(
  .tag--pill,
  .payment-flow-badge,
  .result-eyebrow,
  .result-chip,
  .result-mini-item-role,
  .result-driver-info-gain,
  .result-driver-info-classification,
  .result-driver-info-burden,
  .result-driver-info-support,
  .feedback-value-explain span,
  .privacy-controls__count,
  .plan-meta-badge,
  .project-tag,
  .projects-eyebrow,
  .action-overview-eyebrow,
  .action-overview-cta-kicker
) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 30px !important;
  max-width: 100% !important;
  border-radius: var(--lt-radius-pill) !important;
  padding: 0.32rem 0.72rem !important;
  font-size: var(--lt-pill-font) !important;
  line-height: 1.22 !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

:is(.payment-flow-badge, .result-eyebrow, .result-chip, .result-mini-item-role, .feedback-value-explain span, .privacy-controls__count, .project-tag, .projects-eyebrow, .action-overview-eyebrow) {
  background: var(--lt-brand-soft) !important;
  border: 1px solid var(--lt-brand-line) !important;
  color: var(--lt-ink-soft) !important;
}

/* Dense repeated items */
:is(.result-mini-item, .result-background-item, .action-plan-item, .project-card, .feedback-item) {
  gap: var(--lt-space-3) !important;
}

:is(.result-mini-item-title, .result-background-title, .action-plan-copy h3, .project-card__title, .structured-plan-snapshot-value) {
  color: var(--lt-ink-soft) !important;
  font-weight: 900 !important;
}

:is(.result-mini-item-meta, .result-background-role, .result-background-move, .action-plan-copy p, .project-card__description, .structured-plan-snapshot-label, .payment-flow-price-note) {
  color: var(--lt-muted) !important;
  font-size: var(--lt-small-font) !important;
  line-height: 1.48 !important;
}

/* Account and auth surfaces */
.auth > .card {
  border-radius: var(--lt-radius-card) !important;
  padding: var(--lt-space-7) !important;
}

.auth__actions {
  gap: var(--lt-space-4) !important;
  align-items: center !important;
}

.auth__actions a {
  min-height: 44px !important;
  padding: 0 var(--lt-space-2) !important;
  color: var(--lt-ink-soft) !important;
  font-weight: 850 !important;
}

.settingsPage .card__body.dev {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--lt-space-3);
}

.settingsPage .dev__avatar {
  margin-top: var(--lt-space-5) !important;
}

.settingsPage .settings__btn + .btn--danger {
  margin-top: var(--lt-space-3) !important;
  margin-bottom: var(--lt-space-4) !important;
}

/* Responsive pressure points */
@media (max-width: 768px) {
  :is(.result-page, .calc-page, .payment-flow-page, .action-overview-page, .projects-page) {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  :is(.result-snapshot-main, .snapshot-head, .privacy-controls__head, .result-driver-info-head, .result-flow-head) {
    gap: var(--lt-space-4) !important;
  }

  :is(.result-mini-item, .result-background-item, .action-plan-item) {
    align-items: flex-start !important;
  }

  :is(.result-mini-item-right, .result-driver-info-badges) {
    align-items: flex-start !important;
  }

  :is(.auth > .card, .payment-flow-card, .result-card, .snapshot-card, .feedback-section, .privacy-controls) {
    padding: var(--lt-space-5) !important;
  }
}

@media (max-width: 430px) {
  :is(.result-inputs-btn, .inputs-btn, .list-reveal-btn, .result-reveal-btn, .payment-flow-btn, .btn-ai-project) {
    width: 100% !important;
    min-width: 0 !important;
  }

  .auth__actions {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .auth__actions .btn,
  .auth__actions input[type="submit"],
  .auth__actions a {
    width: 100% !important;
  }

  :is(.result-mini-item, .result-background-item) {
    flex-direction: column !important;
  }

  :is(.result-mini-item-right, .result-background-item strong) {
    width: 100% !important;
    max-width: 100% !important;
    text-align: left !important;
  }
}
