/*
  PayLink Direct visual theme adapter for AccountNet OnlinePayment.
  Source directions: supplied myPayLinkDirect theme handoff (Clarity, Everyday,
  Harbor, Switchboard, Open Road, Fieldnotes, Link Studio, Nocturne,
  Wayfinder, Kinetic) plus the existing AccountNet/PDF baseline.

  IMPORTANT: this file changes presentation only. ViewModels, routes, API calls,
  validation and payment behavior remain unchanged.
*/

html[data-theme="accountnet"] {
    --theme-page: #efefef;
    --theme-surface: #ffffff;
    --theme-panel: #ffffff;
    --theme-panel-alt: #fafcfa;
    --theme-ink: #102d31;
    --theme-muted: #607073;
    --theme-accent: #abf480;
    --theme-on-accent: #142715;
    --theme-line: #dfe6e2;
    --theme-heading: Arial, Helvetica, sans-serif;
    --theme-body: Arial, Helvetica, sans-serif;
    --theme-radius: 20px;
    --theme-control-radius: 8px;
    --theme-button-radius: 9px;
    --theme-shadow: 0 1px 0 rgba(0,0,0,.04);
    --theme-hero-bg: #072928;
    --theme-hero-ink: #ffffff;
    --theme-hero-muted: #b9cfca;
    --theme-step-bg: #133b39;
    --theme-step-line: rgba(255,255,255,.08);
    --theme-step-index-bg: #1e504d;
    --theme-step-index-ink: #abf480;
    --theme-primary: #abf480;
    --theme-primary-ink: #142715;
    --theme-focus: #507a42;
    --theme-focus-ring: rgba(112,157,32,.14);
    --theme-help-bg: #e9fbdf;
    --theme-help-line: #d7f1c8;
    --theme-help-ink: #526a50;
    --theme-success: #4b9c27;
    --theme-header-bg: #ffffff;
    --theme-footer-bg: #ffffff;
}

/* 01 - Clarity: clean / familiar / direct */
html[data-theme="clarity"] {
    --theme-page: #ffffff;
    --theme-surface: #ffffff;
    --theme-panel: #ffffff;
    --theme-panel-alt: #f5f7f0;
    --theme-ink: #182c31;
    --theme-muted: #566668;
    --theme-accent: #527421;
    --theme-on-accent: #ffffff;
    --theme-line: #dae2dc;
    --theme-heading: Arial, Helvetica, sans-serif;
    --theme-body: Arial, Helvetica, sans-serif;
    --theme-radius: 6px;
    --theme-control-radius: 6px;
    --theme-button-radius: 6px;
    --theme-shadow: 0 12px 36px rgba(20,41,39,.08);
    --theme-hero-bg: #f5f7f0;
    --theme-hero-ink: #182c31;
    --theme-hero-muted: #566668;
    --theme-step-bg: #ffffff;
    --theme-step-line: #dae2dc;
    --theme-step-index-bg: #edf2e5;
    --theme-step-index-ink: #527421;
    --theme-primary: #527421;
    --theme-primary-ink: #ffffff;
    --theme-focus: #527421;
    --theme-focus-ring: rgba(82,116,33,.16);
    --theme-help-bg: #f5f7f0;
    --theme-help-line: #dae2dc;
    --theme-help-ink: #4f6256;
    --theme-success: #527421;
    --theme-header-bg: #ffffff;
    --theme-footer-bg: #ffffff;
}

/* 02 - Everyday: friendly / soft / reassuring */
html[data-theme="everyday"] {
    --theme-page: #f8faf4;
    --theme-surface: #fffdf8;
    --theme-panel: #fffdf8;
    --theme-panel-alt: #e9eee1;
    --theme-ink: #214940;
    --theme-muted: #526a60;
    --theme-accent: #2f725c;
    --theme-on-accent: #ffffff;
    --theme-line: #d3dfce;
    --theme-heading: Arial, Helvetica, sans-serif;
    --theme-body: Arial, Helvetica, sans-serif;
    --theme-radius: 25px;
    --theme-control-radius: 14px;
    --theme-button-radius: 999px;
    --theme-shadow: 0 18px 42px rgba(33,73,64,.08);
    --theme-hero-bg: #e9eee1;
    --theme-hero-ink: #214940;
    --theme-hero-muted: #526a60;
    --theme-step-bg: #fffdf8;
    --theme-step-line: #d3dfce;
    --theme-step-index-bg: #c6d98e;
    --theme-step-index-ink: #214940;
    --theme-primary: #2f725c;
    --theme-primary-ink: #ffffff;
    --theme-focus: #2f725c;
    --theme-focus-ring: rgba(47,114,92,.16);
    --theme-help-bg: #eef4e7;
    --theme-help-line: #d3dfce;
    --theme-help-ink: #365a4c;
    --theme-success: #2f725c;
    --theme-header-bg: #f8faf4;
    --theme-footer-bg: #eef3e8;
}

/* 03 - Harbor: welcoming / airy / people-first */
html[data-theme="harbor"] {
    --theme-page: #ffffff;
    --theme-surface: #ffffff;
    --theme-panel: #ffffff;
    --theme-panel-alt: #eef4ed;
    --theme-ink: #193c45;
    --theme-muted: #52656a;
    --theme-accent: #224d43;
    --theme-on-accent: #ffffff;
    --theme-line: #dae4df;
    --theme-heading: "Trebuchet MS", Arial, sans-serif;
    --theme-body: Arial, Helvetica, sans-serif;
    --theme-radius: 16px;
    --theme-control-radius: 12px;
    --theme-button-radius: 9px;
    --theme-shadow: none;
    --theme-hero-bg: #edf3e9;
    --theme-hero-ink: #193c45;
    --theme-hero-muted: #52656a;
    --theme-step-bg: #ffffff;
    --theme-step-line: #dae4df;
    --theme-step-index-bg: #d5ebad;
    --theme-step-index-ink: #224d43;
    --theme-primary: #224d43;
    --theme-primary-ink: #ffffff;
    --theme-focus: #436440;
    --theme-focus-ring: rgba(67,100,64,.16);
    --theme-help-bg: #fcf1e3;
    --theme-help-line: #efd9bb;
    --theme-help-ink: #5f5541;
    --theme-success: #436440;
    --theme-header-bg: #ffffff;
    --theme-footer-bg: #f6f8f4;
}

/* 04 - Switchboard: useful / modular / task-first */
html[data-theme="switchboard"] {
    --theme-page: #eef2f1;
    --theme-surface: #ffffff;
    --theme-panel: #ffffff;
    --theme-panel-alt: #e2e9e5;
    --theme-ink: #102d31;
    --theme-muted: #566668;
    --theme-accent: #006454;
    --theme-on-accent: #ffffff;
    --theme-line: #c8d6d1;
    --theme-heading: Arial, Helvetica, sans-serif;
    --theme-body: Arial, Helvetica, sans-serif;
    --theme-radius: 14px;
    --theme-control-radius: 10px;
    --theme-button-radius: 10px;
    --theme-shadow: none;
    --theme-hero-bg: #103f38;
    --theme-hero-ink: #ffffff;
    --theme-hero-muted: #c8ded8;
    --theme-step-bg: rgba(255,255,255,.07);
    --theme-step-line: rgba(255,255,255,.13);
    --theme-step-index-bg: #d1ef8d;
    --theme-step-index-ink: #103f38;
    --theme-primary: #d1ef8d;
    --theme-primary-ink: #103f38;
    --theme-focus: #006454;
    --theme-focus-ring: rgba(0,100,84,.18);
    --theme-help-bg: #e8d8bd;
    --theme-help-line: #dcc8a7;
    --theme-help-ink: #594b36;
    --theme-success: #006454;
    --theme-header-bg: #ffffff;
    --theme-footer-bg: #e2e9e5;
}

/* 05 - Open Road: immersive / photographic / bold */
html[data-theme="open-road"] {
    --theme-page: #fbfaf6;
    --theme-surface: #fffef9;
    --theme-panel: #fffef9;
    --theme-panel-alt: #efeee6;
    --theme-ink: #2b302e;
    --theme-muted: #656a63;
    --theme-accent: #a33f22;
    --theme-on-accent: #ffffff;
    --theme-line: #dddcd2;
    --theme-heading: Arial, Helvetica, sans-serif;
    --theme-body: Arial, Helvetica, sans-serif;
    --theme-radius: 3px;
    --theme-control-radius: 3px;
    --theme-button-radius: 3px;
    --theme-shadow: none;
    --theme-hero-bg: linear-gradient(115deg,#172727 0%,#243934 62%,#4f5b4f 100%);
    --theme-hero-ink: #ffffff;
    --theme-hero-muted: #eff3e8;
    --theme-step-bg: rgba(239,237,218,.10);
    --theme-step-line: rgba(239,237,218,.20);
    --theme-step-index-bg: #efedda;
    --theme-step-index-ink: #25332c;
    --theme-primary: #efedda;
    --theme-primary-ink: #25332c;
    --theme-focus: #a33f22;
    --theme-focus-ring: rgba(163,63,34,.16);
    --theme-help-bg: #efeee6;
    --theme-help-line: #dddcd2;
    --theme-help-ink: #5e5f58;
    --theme-success: #67764b;
    --theme-header-bg: #fbfaf6;
    --theme-footer-bg: #efeee6;
}

/* 06 - Fieldnotes: tactile / asymmetric / thoughtful */
html[data-theme="fieldnotes"] {
    --theme-page: #f0eee3;
    --theme-surface: #fffdf5;
    --theme-panel: #fffdf5;
    --theme-panel-alt: #e4e2d3;
    --theme-ink: #34352b;
    --theme-muted: #626355;
    --theme-accent: #5d653b;
    --theme-on-accent: #ffffff;
    --theme-line: #c9c9b9;
    --theme-heading: Georgia, "Times New Roman", serif;
    --theme-body: Arial, Helvetica, sans-serif;
    --theme-radius: 0px;
    --theme-control-radius: 0px;
    --theme-button-radius: 0px;
    --theme-shadow: none;
    --theme-hero-bg: #e4e2d3;
    --theme-hero-ink: #34352b;
    --theme-hero-muted: #626355;
    --theme-step-bg: transparent;
    --theme-step-line: #c9c9b9;
    --theme-step-index-bg: #d0d5a6;
    --theme-step-index-ink: #343a23;
    --theme-primary: #5d653b;
    --theme-primary-ink: #ffffff;
    --theme-focus: #5d653b;
    --theme-focus-ring: rgba(93,101,59,.16);
    --theme-help-bg: #e4e2d3;
    --theme-help-line: #c9c9b9;
    --theme-help-ink: #525346;
    --theme-success: #5d653b;
    --theme-header-bg: rgba(240,238,227,.92);
    --theme-footer-bg: #e4e2d3;
}

/* 07 - Link Studio: playful / geometric / interactive */
html[data-theme="link-studio"] {
    --theme-page: #fffdf4;
    --theme-surface: #fffef9;
    --theme-panel: #fffef9;
    --theme-panel-alt: #eae4f3;
    --theme-ink: #34234b;
    --theme-muted: #65586f;
    --theme-accent: #584184;
    --theme-on-accent: #ffffff;
    --theme-line: #d7cce2;
    --theme-heading: Arial, Helvetica, sans-serif;
    --theme-body: Arial, Helvetica, sans-serif;
    --theme-radius: 40px;
    --theme-control-radius: 18px;
    --theme-button-radius: 999px;
    --theme-shadow: 0 18px 40px rgba(52,35,75,.08);
    --theme-hero-bg: #d9cbed;
    --theme-hero-ink: #34234b;
    --theme-hero-muted: #65586f;
    --theme-step-bg: rgba(255,253,244,.78);
    --theme-step-line: #c7b6da;
    --theme-step-index-bg: #d8f184;
    --theme-step-index-ink: #34234b;
    --theme-primary: #584184;
    --theme-primary-ink: #ffffff;
    --theme-focus: #584184;
    --theme-focus-ring: rgba(88,65,132,.18);
    --theme-help-bg: #d8f184;
    --theme-help-line: #bfd66c;
    --theme-help-ink: #3f4822;
    --theme-success: #5c7732;
    --theme-header-bg: #fffdf4;
    --theme-footer-bg: #eae4f3;
}

/* 08 - Nocturne: atmospheric / dark / connected */
html[data-theme="nocturne"] {
    color-scheme: dark;
    --theme-page: #0d191f;
    --theme-surface: #15272b;
    --theme-panel: #15272b;
    --theme-panel-alt: #172b2d;
    --theme-ink: #e8eee9;
    --theme-muted: #a0b5b9;
    --theme-accent: #ace1c1;
    --theme-on-accent: #0d2825;
    --theme-line: #294046;
    --theme-heading: Arial, Helvetica, sans-serif;
    --theme-body: Arial, Helvetica, sans-serif;
    --theme-radius: 7px;
    --theme-control-radius: 7px;
    --theme-button-radius: 7px;
    --theme-shadow: 0 18px 54px rgba(0,0,0,.24);
    --theme-hero-bg: radial-gradient(circle at 72% 42%,rgba(41,99,83,.38),transparent 34%),#102327;
    --theme-hero-ink: #e8eee9;
    --theme-hero-muted: #a0b5b9;
    --theme-step-bg: #172b2d;
    --theme-step-line: #294046;
    --theme-step-index-bg: #203d39;
    --theme-step-index-ink: #ace1c1;
    --theme-primary: #ace1c1;
    --theme-primary-ink: #0d2825;
    --theme-focus: #ace1c1;
    --theme-focus-ring: rgba(172,225,193,.18);
    --theme-help-bg: #172b2d;
    --theme-help-line: #294046;
    --theme-help-ink: #bfd1d1;
    --theme-success: #ace1c1;
    --theme-header-bg: #0f1f24;
    --theme-footer-bg: #0f1f24;
}

/* 09 - Wayfinder: interactive / diagrammatic / unexpected */
html[data-theme="wayfinder"] {
    --theme-page: #f5f0e8;
    --theme-surface: #fbf7f0;
    --theme-panel: #fbf7f0;
    --theme-panel-alt: #eae1d5;
    --theme-ink: #302d3d;
    --theme-muted: #6e6571;
    --theme-accent: #624678;
    --theme-on-accent: #ffffff;
    --theme-line: #d4c8bb;
    --theme-heading: Arial, Helvetica, sans-serif;
    --theme-body: Arial, Helvetica, sans-serif;
    --theme-radius: 4px;
    --theme-control-radius: 4px;
    --theme-button-radius: 4px;
    --theme-shadow: none;
    --theme-hero-bg: #f5f0e8;
    --theme-hero-ink: #302d3d;
    --theme-hero-muted: #6e6571;
    --theme-step-bg: transparent;
    --theme-step-line: #d4c8bb;
    --theme-step-index-bg: #f5f0e8;
    --theme-step-index-ink: #302d3d;
    --theme-primary: #624678;
    --theme-primary-ink: #ffffff;
    --theme-focus: #624678;
    --theme-focus-ring: rgba(98,70,120,.17);
    --theme-help-bg: #eae1d5;
    --theme-help-line: #d4c8bb;
    --theme-help-ink: #5c5262;
    --theme-success: #307666;
    --theme-header-bg: #f5f0e8;
    --theme-footer-bg: #eae1d5;
}

/* 10 - Kinetic: experimental / high-impact / energetic */
html[data-theme="kinetic"] {
    color-scheme: dark;
    --theme-page: #131612;
    --theme-surface: #22271d;
    --theme-panel: #22271d;
    --theme-panel-alt: #1a1e17;
    --theme-ink: #f3f1e7;
    --theme-muted: #b7bcb0;
    --theme-accent: #c2f53b;
    --theme-on-accent: #192211;
    --theme-line: #454c3b;
    --theme-heading: Arial, Helvetica, sans-serif;
    --theme-body: Arial, Helvetica, sans-serif;
    --theme-radius: 0px;
    --theme-control-radius: 0px;
    --theme-button-radius: 0px;
    --theme-shadow: none;
    --theme-hero-bg: #171b14;
    --theme-hero-ink: #f3f1e7;
    --theme-hero-muted: #b7bcb0;
    --theme-step-bg: #22271d;
    --theme-step-line: #454c3b;
    --theme-step-index-bg: #c2f53b;
    --theme-step-index-ink: #192211;
    --theme-primary: #c2f53b;
    --theme-primary-ink: #192211;
    --theme-focus: #c2f53b;
    --theme-focus-ring: rgba(194,245,59,.20);
    --theme-help-bg: #c2f53b;
    --theme-help-line: #c2f53b;
    --theme-help-ink: #192211;
    --theme-success: #c2f53b;
    --theme-header-bg: #131612;
    --theme-footer-bg: #131612;
}

/* -------------------------------------------------------------------------- */
/* Shared theme application. All rules below are presentation-only adapters. */
/* -------------------------------------------------------------------------- */

html,
body {
    background: var(--theme-page) !important;
    color: var(--theme-ink) !important;
    font-family: var(--theme-body) !important;
}

body {
    transition: background-color .18s ease, color .18s ease;
}

h1,h2,h3,.page-title,.summary-panel h2,.single-card h2 {
    font-family: var(--theme-heading);
    color: inherit;
}

.masthead {
    background: var(--theme-header-bg) !important;
    border-bottom-color: var(--theme-line) !important;
    box-shadow: var(--theme-shadow) !important;
}

.header-meta,
.site-footer,
.eyebrow,
.lead,
.processing,
.detail-list dt,
.account-strip span,
.summary-list span,
.review-summary span {
    color: var(--theme-muted) !important;
}

.site-footer {
    background: var(--theme-footer-bg) !important;
    border-top-color: var(--theme-line) !important;
}

.page-title {
    color: var(--theme-ink) !important;
}

.access-card {
    border-radius: var(--theme-radius) !important;
    box-shadow: var(--theme-shadow) !important;
}

.summary-panel {
    background: var(--theme-hero-bg) !important;
    color: var(--theme-hero-ink) !important;
}

.summary-panel > p,
.step-row span {
    color: var(--theme-hero-muted) !important;
}

.security-tag {
    border-color: var(--theme-step-line) !important;
    background: color-mix(in srgb, var(--theme-step-bg) 82%, transparent) !important;
    color: var(--theme-hero-ink) !important;
}

.step-row {
    background: var(--theme-step-bg) !important;
    border-color: var(--theme-step-line) !important;
    border-radius: calc(var(--theme-radius) * .7 + 2px) !important;
}

.step-number {
    background: var(--theme-step-index-bg) !important;
    color: var(--theme-step-index-ink) !important;
    border-radius: calc(var(--theme-radius) * .48 + 2px) !important;
}

.form-panel,
.single-card,
.account-strip > div,
.review-summary > div {
    background: var(--theme-panel) !important;
    color: var(--theme-ink) !important;
}

.form-panel h2,
.single-card h2,
.section-heading,
.account-strip strong,
.summary-list strong,
.review-summary strong,
.detail-list dd {
    color: var(--theme-ink) !important;
}

.single-card {
    border-color: var(--theme-line) !important;
    border-radius: var(--theme-radius) !important;
    box-shadow: var(--theme-shadow) !important;
}

.account-strip,
.review-summary {
    background: var(--theme-line) !important;
    border-color: var(--theme-line) !important;
    border-radius: calc(var(--theme-radius) * .72 + 2px) !important;
}

.choice-panel,
.method-panel,
.disclosure,
.mock-credentials {
    background: var(--theme-panel-alt) !important;
    border-color: var(--theme-line) !important;
    color: var(--theme-ink) !important;
    border-radius: calc(var(--theme-radius) * .65 + 4px) !important;
}

.choice-panel > div:first-child span,
.radio-row,
.checkbox-row,
.disclosure,
.mock-credentials {
    color: var(--theme-muted) !important;
}

.mock-credentials strong {
    color: var(--theme-ink) !important;
}

.text-input,
.select-input,
.theme-picker {
    background: var(--theme-surface) !important;
    color: var(--theme-ink) !important;
    border-color: var(--theme-line) !important;
    border-radius: var(--theme-control-radius) !important;
}

.text-input:focus,
.select-input:focus,
.theme-picker:focus {
    border-color: var(--theme-focus) !important;
    box-shadow: 0 0 0 3px var(--theme-focus-ring) !important;
}

.primary-button,
.primary-link-button {
    background: var(--theme-primary) !important;
    color: var(--theme-primary-ink) !important;
    border-radius: var(--theme-button-radius) !important;
}

.secondary-button {
    background: transparent !important;
    color: var(--theme-ink) !important;
    border-color: var(--theme-line) !important;
    border-radius: var(--theme-button-radius) !important;
}

.help-message {
    background: var(--theme-help-bg) !important;
    border-color: var(--theme-help-line) !important;
    color: var(--theme-help-ink) !important;
}

.help-message strong {
    color: inherit !important;
}

.status-line {
    color: var(--theme-success) !important;
}

.status-pill {
    background: color-mix(in srgb, var(--theme-primary) 18%, var(--theme-panel)) !important;
    color: var(--theme-ink) !important;
}

.detail-list > div,
.summary-list > div {
    border-bottom-color: var(--theme-line) !important;
}

.or-row:before,
.or-row:after {
    background: var(--theme-line) !important;
}

.and-row {
    color: var(--theme-accent) !important;
}

.mode-badge {
    background: color-mix(in srgb, var(--theme-primary) 22%, var(--theme-header-bg)) !important;
    color: var(--theme-ink) !important;
}

/* Theme selector */
.theme-controls {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-left: 8px;
    padding-left: 12px;
    border-left: 1px solid var(--theme-line);
}

.theme-controls label {
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--theme-muted);
}

.theme-picker {
    min-height: 34px;
    padding: 0 30px 0 10px;
    font-size: 12px;
    font-weight: 700;
    outline: none;
    cursor: pointer;
}

/* -------------------------------------------------------------------------- */
/* Theme-specific composition accents. No markup or behavioral dependencies. */
/* -------------------------------------------------------------------------- */

/* Clarity */
html[data-theme="clarity"] .access-card {
    border: 1px solid var(--theme-line);
    overflow: visible;
}
html[data-theme="clarity"] .summary-panel {
    border-right: 1px solid var(--theme-line);
}
html[data-theme="clarity"] .security-tag {
    color: var(--theme-accent) !important;
}
html[data-theme="clarity"] .form-panel {
    border-radius: 0 var(--theme-radius) var(--theme-radius) 0;
}
html[data-theme="clarity"] .page-title {
    font-weight: 600;
    letter-spacing: -.045em;
}

/* Everyday */
html[data-theme="everyday"] .access-card {
    gap: 18px;
    overflow: visible;
    box-shadow: none !important;
}
html[data-theme="everyday"] .summary-panel,
html[data-theme="everyday"] .form-panel {
    border: 1px solid var(--theme-line);
    border-radius: 30px;
}
html[data-theme="everyday"] .summary-panel {
    border-radius: 90px 30px 30px 30px;
}
html[data-theme="everyday"] .summary-panel h2 {
    font-size: 38px;
    font-weight: 600;
}
html[data-theme="everyday"] .security-tag,
html[data-theme="everyday"] .status-pill {
    border-radius: 999px !important;
}
html[data-theme="everyday"] .step-number {
    border-radius: 50% !important;
}
html[data-theme="everyday"] .page-title::after {
    content: "";
    display: inline-block;
    width: 14px;
    height: 14px;
    margin-left: 10px;
    border-radius: 50%;
    background: #edcdbc;
    vertical-align: .2em;
}

/* Harbor */
html[data-theme="harbor"] .access-card {
    gap: 18px;
    overflow: visible;
    box-shadow: none !important;
}
html[data-theme="harbor"] .summary-panel {
    border-radius: 26px 26px 26px 6px;
}
html[data-theme="harbor"] .form-panel {
    border: 1px solid var(--theme-line);
    border-radius: 6px 26px 26px 26px;
}
html[data-theme="harbor"] .help-message {
    border-radius: 6px 22px 22px 22px !important;
}
html[data-theme="harbor"] .page-title {
    font-weight: 700;
    letter-spacing: -.045em;
}

/* Switchboard */
html[data-theme="switchboard"] .access-card {
    grid-template-columns: 1.08fr .92fr;
    gap: 14px;
    overflow: visible;
    box-shadow: none !important;
}
html[data-theme="switchboard"] .summary-panel,
html[data-theme="switchboard"] .form-panel {
    border-radius: 14px;
}
html[data-theme="switchboard"] .form-panel {
    background: #d9e9dc !important;
    border: 1px solid var(--theme-line);
}
html[data-theme="switchboard"] .form-panel .text-input,
html[data-theme="switchboard"] .form-panel .select-input {
    background: #ffffff !important;
}
html[data-theme="switchboard"] .form-panel .help-message {
    background: #e8d8bd !important;
}
html[data-theme="switchboard"] .step-row {
    min-height: 70px;
}
html[data-theme="switchboard"] .step-number {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

/* Open Road */
html[data-theme="open-road"] .access-card {
    border-radius: 3px;
    position: relative;
    overflow: hidden;
    border: 1px solid var(--theme-line);
}
html[data-theme="open-road"] .summary-panel {
    position: relative;
    overflow: hidden;
    padding-top: 58px;
}
html[data-theme="open-road"] .summary-panel::after {
    content: "";
    position: absolute;
    top: 12%;
    bottom: 8%;
    right: 9%;
    width: 2px;
    border-left: 2px dashed rgba(239,237,218,.34);
    transform: rotate(18deg);
    transform-origin: center;
    pointer-events: none;
}
html[data-theme="open-road"] .summary-panel > * {
    position: relative;
    z-index: 1;
}
html[data-theme="open-road"] .summary-panel h2 {
    font-size: 42px;
}
html[data-theme="open-road"] .form-panel {
    background: #fffef9 !important;
}
html[data-theme="open-road"] .eyebrow {
    color: #a33f22 !important;
}
html[data-theme="open-road"] .primary-button,
html[data-theme="open-road"] .primary-link-button {
    border: 1px solid #d7d3bf;
}

/* Fieldnotes */
html[data-theme="fieldnotes"],
html[data-theme="fieldnotes"] body {
    background-image: radial-gradient(#504b3715 .65px, transparent .65px) !important;
    background-size: 5px 5px !important;
}
html[data-theme="fieldnotes"] .masthead {
    box-shadow: none !important;
    border-bottom: 1px solid #34352b !important;
}
html[data-theme="fieldnotes"] .page-title,
html[data-theme="fieldnotes"] .summary-panel h2,
html[data-theme="fieldnotes"] .single-card h2,
html[data-theme="fieldnotes"] .form-panel h2 {
    font-family: Georgia, "Times New Roman", serif !important;
    font-weight: 400;
}
html[data-theme="fieldnotes"] .eyebrow,
html[data-theme="fieldnotes"] .security-tag,
html[data-theme="fieldnotes"] .theme-controls label,
html[data-theme="fieldnotes"] .account-strip span,
html[data-theme="fieldnotes"] .summary-list span,
html[data-theme="fieldnotes"] .review-summary span {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    letter-spacing: .1em;
}
html[data-theme="fieldnotes"] .access-card {
    border: 1px solid #34352b;
    overflow: visible;
}
html[data-theme="fieldnotes"] .summary-panel {
    border-right: 1px solid #34352b;
}
html[data-theme="fieldnotes"] .step-row {
    border-width: 0 0 1px;
    padding-left: 0;
    padding-right: 0;
}
html[data-theme="fieldnotes"] .step-number {
    border-radius: 50% !important;
}
html[data-theme="fieldnotes"] .text-input,
html[data-theme="fieldnotes"] .select-input,
html[data-theme="fieldnotes"] .theme-picker {
    border-color: #8d8e7b !important;
}

/* Link Studio */
html[data-theme="link-studio"] .summary-panel {
    position: relative;
    overflow: hidden;
    border-radius: 120px 40px 40px 40px;
}
html[data-theme="link-studio"] .summary-panel::before,
html[data-theme="link-studio"] .summary-panel::after {
    content: "";
    position: absolute;
    width: 150px;
    height: 70px;
    border: 20px solid #584184;
    border-radius: 999px;
    opacity: .18;
    pointer-events: none;
}
html[data-theme="link-studio"] .summary-panel::before {
    right: -38px;
    top: 50px;
    transform: rotate(-38deg);
}
html[data-theme="link-studio"] .summary-panel::after {
    right: 12px;
    top: 132px;
    border-color: #b3cb4f;
    transform: rotate(-38deg);
}
html[data-theme="link-studio"] .summary-panel > * {
    position: relative;
    z-index: 1;
}
html[data-theme="link-studio"] .form-panel {
    border-radius: 40px;
    border: 1px solid var(--theme-line);
}
html[data-theme="link-studio"] .access-card {
    gap: 18px;
    overflow: visible;
    box-shadow: none !important;
}
html[data-theme="link-studio"] .page-title {
    font-weight: 600;
    letter-spacing: -.055em;
}
html[data-theme="link-studio"] .page-title::after {
    content: "";
    display: inline-block;
    width: 17px;
    height: 17px;
    margin-left: 10px;
    border-radius: 50%;
    background: #fb9d72;
    vertical-align: .15em;
}

/* Nocturne */
html[data-theme="nocturne"] .brand-logo {
    filter: brightness(0) invert(1);
}
html[data-theme="nocturne"] .masthead {
    box-shadow: none !important;
}
html[data-theme="nocturne"] .access-card,
html[data-theme="nocturne"] .single-card {
    border: 1px solid var(--theme-line);
}
html[data-theme="nocturne"] .summary-panel {
    position: relative;
    overflow: hidden;
}
html[data-theme="nocturne"] .summary-panel::before,
html[data-theme="nocturne"] .summary-panel::after {
    content: "";
    position: absolute;
    border: 1px solid rgba(116,177,157,.3);
    border-radius: 50%;
    pointer-events: none;
}
html[data-theme="nocturne"] .summary-panel::before {
    width: 330px;
    height: 330px;
    right: -180px;
    top: 40px;
}
html[data-theme="nocturne"] .summary-panel::after {
    width: 245px;
    height: 245px;
    right: -136px;
    top: 82px;
    border-style: dashed;
}
html[data-theme="nocturne"] .summary-panel > * {
    position: relative;
    z-index: 1;
}
html[data-theme="nocturne"] .form-panel,
html[data-theme="nocturne"] .account-strip > div,
html[data-theme="nocturne"] .review-summary > div {
    border-color: var(--theme-line);
}
html[data-theme="nocturne"] .text-input::placeholder {
    color: #769095;
}
html[data-theme="nocturne"] .error-message {
    background: #311c1f !important;
    border-color: #6c343b !important;
    color: #f0bec2 !important;
}
html[data-theme="nocturne"] .warning-message {
    background: #2d2919 !important;
    border-color: #5a5125 !important;
    color: #e4d69c !important;
}

/* Wayfinder */
html[data-theme="wayfinder"] .access-card {
    border: 2px solid #302d3d;
    overflow: visible;
}
html[data-theme="wayfinder"] .summary-panel {
    border-right: 2px solid #302d3d;
}
html[data-theme="wayfinder"] .steps {
    position: relative;
    padding-left: 3px;
}
html[data-theme="wayfinder"] .steps::before {
    content: "";
    position: absolute;
    left: 19px;
    top: 20px;
    bottom: 20px;
    width: 6px;
    background: #302d3d;
    z-index: 0;
}
html[data-theme="wayfinder"] .step-row {
    position: relative;
    z-index: 1;
    border: 0;
    padding: 10px 0;
    grid-template-columns: 44px 1fr;
}
html[data-theme="wayfinder"] .step-number {
    width: 44px;
    height: 44px;
    border-radius: 50% !important;
    border: 6px solid #302d3d;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    background: #f5f0e8 !important;
}
html[data-theme="wayfinder"] .step-row:nth-child(1) .step-number { border-color: #b74728; color: #a23519 !important; }
html[data-theme="wayfinder"] .step-row:nth-child(2) .step-number { border-color: #6e507e; }
html[data-theme="wayfinder"] .step-row:nth-child(3) .step-number { border-color: #307666; }
html[data-theme="wayfinder"] .form-panel {
    background: #eae1d5 !important;
}
html[data-theme="wayfinder"] .eyebrow {
    padding-left: 12px;
    border-left: 6px solid #b74728;
}

/* Kinetic */
html[data-theme="kinetic"] .brand-logo {
    filter: brightness(0) invert(1);
}
html[data-theme="kinetic"] .masthead {
    border-bottom-color: #747d5a !important;
    box-shadow: none !important;
}
html[data-theme="kinetic"] .page-title,
html[data-theme="kinetic"] .summary-panel h2,
html[data-theme="kinetic"] .single-card h2,
html[data-theme="kinetic"] .form-panel h2 {
    text-transform: uppercase;
    font-weight: 900;
    letter-spacing: -.055em;
}
html[data-theme="kinetic"] .page-title {
    font-size: clamp(36px,5vw,64px);
    line-height: .94;
}
html[data-theme="kinetic"] .page-title::after {
    content: "*";
    display: inline-block;
    margin-left: 12px;
    color: #c2f53b;
    font-weight: 400;
    animation: paylink-theme-slow-turn 35s linear infinite;
}
html[data-theme="kinetic"] .eyebrow,
html[data-theme="kinetic"] .security-tag,
html[data-theme="kinetic"] .theme-controls label,
html[data-theme="kinetic"] .account-strip span,
html[data-theme="kinetic"] .summary-list span,
html[data-theme="kinetic"] .review-summary span {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    text-transform: uppercase;
}
html[data-theme="kinetic"] .access-card,
html[data-theme="kinetic"] .single-card,
html[data-theme="kinetic"] .account-strip,
html[data-theme="kinetic"] .review-summary {
    border: 1px solid var(--theme-line);
}
html[data-theme="kinetic"] .summary-panel {
    border-right: 1px solid var(--theme-line);
}
html[data-theme="kinetic"] .form-panel {
    background: #1a1e17 !important;
}
html[data-theme="kinetic"] .help-message {
    font-weight: 700;
}
html[data-theme="kinetic"] .error-message {
    background: #311b19 !important;
    border-color: #733b31 !important;
    color: #ffd0c7 !important;
}
html[data-theme="kinetic"] .warning-message {
    background: #2d2a15 !important;
    border-color: #6f6324 !important;
    color: #f3e6a4 !important;
}

@keyframes paylink-theme-slow-turn {
    to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
    body { transition: none; }
    html[data-theme="kinetic"] .page-title::after { animation: none; }
}

@media (max-width: 920px) {
    .theme-controls label { display: none; }
    .theme-picker { max-width: 145px; }
    html[data-theme="switchboard"] .access-card { grid-template-columns: 1fr; }
}

@media (max-width: 820px) {
    html[data-theme="clarity"] .summary-panel,
    html[data-theme="fieldnotes"] .summary-panel,
    html[data-theme="wayfinder"] .summary-panel,
    html[data-theme="kinetic"] .summary-panel {
        border-right: 0;
        border-bottom: 1px solid var(--theme-line);
    }
    html[data-theme="clarity"] .form-panel { border-radius: 0 0 var(--theme-radius) var(--theme-radius); }
    html[data-theme="everyday"] .summary-panel,
    html[data-theme="everyday"] .form-panel,
    html[data-theme="harbor"] .summary-panel,
    html[data-theme="harbor"] .form-panel,
    html[data-theme="link-studio"] .summary-panel,
    html[data-theme="link-studio"] .form-panel {
        border-radius: var(--theme-radius);
    }
}

@media (max-width: 620px) {
    .masthead-inner { gap: 10px; }
    .theme-controls { margin-left: 0; padding-left: 8px; }
    .theme-picker { width: 126px; max-width: 126px; font-size: 11px; }
    html[data-theme="everyday"] .summary-panel { border-radius: 60px 25px 25px 25px; }
    html[data-theme="link-studio"] .summary-panel { border-radius: 70px 30px 30px 30px; }
    html[data-theme="open-road"] .summary-panel h2 { font-size: 34px; }
    html[data-theme="wayfinder"] .steps::before { left: 18px; }
}


/* -------------------------------------------------------------------------- */
/* v7.47 - theme-aware links watermark + personalized confirmation celebration */
/* Purely presentational: no routes, validation, payment logic, or API behavior. */
/* -------------------------------------------------------------------------- */
.summary-panel { position: relative; }
.links-watermark {
    position: absolute !important;
    left: 50%;
    bottom: 34px;
    width: 190px;
    height: 155px;
    transform: translateX(-50%);
    color: var(--theme-step-index-ink) !important;
    opacity: .075;
    pointer-events: none;
    user-select: none;
    z-index: 0 !important;
}
.links-watermark-link {
    position: absolute;
    width: 112px;
    height: 58px;
    border: 17px solid currentColor;
    border-radius: 999px;
    box-sizing: border-box;
    transform: rotate(-45deg);
}
.links-watermark-link-a { left: 58px; top: 18px; }
.links-watermark-link-b { left: 20px; top: 79px; color: var(--theme-hero-muted) !important; }
.summary-panel > :not(.links-watermark) { position: relative; z-index: 1; }
html[data-theme="link-studio"] .links-watermark { opacity: .06; }
html[data-theme="nocturne"] .links-watermark,
html[data-theme="kinetic"] .links-watermark { opacity: .09; }

.success-card { position: relative; overflow: hidden; }
.confirmation-body { position: relative; z-index: 2; }
.confirmation-title { display: grid; gap: 2px; }
.confirmation-name-line { color: var(--theme-ink) !important; }
.confirmation-thankyou {
    border-color: color-mix(in srgb, var(--theme-success) 50%, var(--theme-line)) !important;
    background: linear-gradient(135deg,
        color-mix(in srgb, var(--theme-primary) 12%, var(--theme-panel)) 0%,
        var(--theme-panel) 52%,
        color-mix(in srgb, var(--theme-success) 9%, var(--theme-panel)) 100%) !important;
    box-shadow: 0 18px 40px color-mix(in srgb, var(--theme-success) 14%, transparent) !important;
}
.confirmation-thankyou:before,
.confirmation-thankyou:after { background: var(--theme-primary) !important; }
.confirmation-thankyou-sparkles,
.confirmation-thankyou-kicker { color: var(--theme-success) !important; }
.confirmation-thankyou p { color: var(--theme-muted) !important; }

/* Celebration spans the full success card, using theme-derived colors. */
.confirmation-confetti { position: absolute; inset: 0; pointer-events: none; overflow: hidden; z-index: 1; }
.confetti-piece {
    --confetti-drift: 18px;
    --confetti-spin: 540deg;
    position: absolute;
    top: -9%;
    width: 10px;
    height: 18px;
    border-radius: 3px;
    opacity: 0;
    color: var(--theme-primary);
    animation: paylink-confetti-fall 5.4s cubic-bezier(.18,.63,.32,1) infinite;
    filter: drop-shadow(0 2px 1px color-mix(in srgb, var(--theme-ink) 10%, transparent));
}
.confetti-piece:before { content: ""; position: absolute; inset: 0; border-radius: inherit; background: currentColor; }
.piece-1{left:3%;animation-delay:-.4s;animation-duration:5.0s;--confetti-drift:24px}.piece-2{left:8%;animation-delay:-2.1s;animation-duration:6.1s;color:var(--theme-success);border-radius:50%;width:13px;height:13px;--confetti-drift:-18px}.piece-3{left:13%;animation-delay:-3.7s;animation-duration:5.6s;color:color-mix(in srgb,var(--theme-primary) 58%,#ffd166);--confetti-spin:680deg}.piece-4{left:18%;animation-delay:-1.0s;animation-duration:6.5s;color:color-mix(in srgb,var(--theme-success) 68%,#ff8f70);width:8px;height:21px;--confetti-drift:32px}.piece-5{left:23%;animation-delay:-4.2s;animation-duration:5.8s;color:color-mix(in srgb,var(--theme-primary) 65%,#9f86ff);border-radius:50%;width:12px;height:12px}.piece-6{left:28%;animation-delay:-2.8s;animation-duration:6.4s;color:var(--theme-accent);--confetti-drift:-30px}.piece-7{left:33%;animation-delay:-.7s;animation-duration:5.3s;color:color-mix(in srgb,var(--theme-success) 62%,#ffd166);width:14px;height:8px;--confetti-spin:720deg}.piece-8{left:38%;animation-delay:-3.0s;animation-duration:6.0s;color:var(--theme-primary);--confetti-drift:28px}.piece-9{left:43%;animation-delay:-1.5s;animation-duration:5.7s;color:color-mix(in srgb,var(--theme-accent) 60%,#59c3c3);border-radius:50%;width:11px;height:11px}.piece-10{left:48%;animation-delay:-4.6s;animation-duration:6.6s;color:color-mix(in srgb,var(--theme-success) 60%,#ff7f7f);width:9px;height:20px;--confetti-drift:-22px}.piece-11{left:53%;animation-delay:-2.0s;animation-duration:5.4s;color:var(--theme-accent);--confetti-spin:760deg}.piece-12{left:58%;animation-delay:-.2s;animation-duration:6.2s;color:color-mix(in srgb,var(--theme-primary) 55%,#ffc857);border-radius:50%;width:13px;height:13px;--confetti-drift:35px}.piece-13{left:63%;animation-delay:-3.4s;animation-duration:5.9s;color:var(--theme-success);width:8px;height:22px;--confetti-drift:-34px}.piece-14{left:68%;animation-delay:-1.2s;animation-duration:6.3s;color:color-mix(in srgb,var(--theme-primary) 64%,#b892ff)}.piece-15{left:73%;animation-delay:-4.0s;animation-duration:5.5s;color:color-mix(in srgb,var(--theme-success) 62%,#ffd166);border-radius:50%;width:12px;height:12px;--confetti-drift:26px}.piece-16{left:78%;animation-delay:-2.5s;animation-duration:6.7s;color:var(--theme-accent);width:8px;height:20px;--confetti-spin:700deg}.piece-17{left:83%;animation-delay:-.9s;animation-duration:5.6s;color:color-mix(in srgb,var(--theme-primary) 62%,#ff9075);--confetti-drift:-24px}.piece-18{left:88%;animation-delay:-3.1s;animation-duration:6.0s;color:var(--theme-success);border-radius:50%;width:13px;height:13px}.piece-19{left:93%;animation-delay:-1.7s;animation-duration:5.2s;color:color-mix(in srgb,var(--theme-accent) 60%,#ffd166);width:9px;height:22px;--confetti-drift:-28px}.piece-20{left:97%;animation-delay:-4.4s;animation-duration:6.5s;color:var(--theme-primary);--confetti-drift:-42px}.piece-21{left:15%;animation-delay:-5.1s;animation-duration:7.0s;color:var(--theme-success);width:7px;height:16px;--confetti-drift:38px}.piece-22{left:36%;animation-delay:-5.4s;animation-duration:6.8s;color:color-mix(in srgb,var(--theme-primary) 55%,#ffd166);border-radius:50%;width:10px;height:10px;--confetti-drift:-28px}.piece-23{left:66%;animation-delay:-5.8s;animation-duration:7.2s;color:color-mix(in srgb,var(--theme-accent) 62%,#9f86ff);width:8px;height:18px;--confetti-drift:30px}.piece-24{left:86%;animation-delay:-5.0s;animation-duration:6.9s;color:var(--theme-success);width:14px;height:8px;--confetti-drift:-32px}
@keyframes paylink-confetti-fall {
    0% { transform: translate3d(0,-30px,0) rotate(0deg) scale(.72); opacity: 0; }
    8% { opacity: .96; }
    82% { opacity: .9; }
    100% { transform: translate3d(var(--confetti-drift),920px,0) rotate(var(--confetti-spin)) scale(1); opacity: 0; }
}
.confirmation-thankyou-sparkles { animation: paylink-celebration-pulse 1.8s ease-in-out infinite; }
@keyframes paylink-celebration-pulse { 0%,100%{transform:scale(1);opacity:.8} 50%{transform:scale(1.12);opacity:1} }

@media (max-width:820px) {
    .links-watermark { position: relative !important; left: auto; bottom: auto; transform: none; margin: 24px auto -4px; width: 150px; height: 112px; }
    .links-watermark-link { width: 88px; height: 46px; border-width: 14px; }
    .links-watermark-link-a { left: 46px; top: 8px; }
    .links-watermark-link-b { left: 15px; top: 55px; }
}
@media (max-width:620px) {
    .links-watermark { width: 132px; height: 96px; opacity: .06; }
    .links-watermark-link { width: 76px; height: 40px; border-width: 12px; }
    .links-watermark-link-a { left: 42px; top: 6px; }
    .links-watermark-link-b { left: 13px; top: 47px; }
    .confirmation-title { font-size: 27px !important; }
}
@media (prefers-reduced-motion: reduce) {
    .confetti-piece { animation: none !important; opacity: .18; top: auto; bottom: 8%; }
    .confirmation-thankyou-sparkles { animation: none !important; }
}
