/* ReloPanama customer interface: shared, final presentation layer.
   Keep brand fonts/logo. Price, permission and workflow logic belong to the backend.
   Tokens and measured acceptance criteria: docs/INTERFAZ-ACCESIBLE.md. */
:root {
  --interface-page: #f1f4f8;
  --interface-paper: #ffffff;
  --interface-ink: #102f4c;
  --interface-body: #263b4d;
  --interface-muted: #44576b;
  --interface-border: #6f8294;
  --interface-divider: #c4ced8;
  --interface-selected: #edf4fc;
  --interface-focus: #005fcc;
}
.customer-workspace {
  --ink: var(--interface-ink);
  --muted: var(--interface-muted);
  --cream: var(--interface-page);
  --mint: var(--interface-selected);
  --line: var(--interface-border);
  color: var(--relo-theme-text,var(--interface-body));
  background: var(--relo-theme-page,var(--interface-page));
  font-size: 18px;
  line-height: 1.6;
}
.customer-workspace .header {background: var(--relo-theme-surface,var(--interface-paper)); border-color: var(--relo-theme-border,var(--interface-divider))}
.customer-workspace .checkout-shell {max-width: 1360px; padding: 24px 32px 164px}
.customer-workspace .checkout-shell .workspace {grid-template-columns: minmax(0,1fr) 340px; gap: 28px}
.customer-workspace .panel {background: var(--relo-theme-surface,var(--interface-paper)); border-color: var(--relo-theme-border,var(--interface-divider)); border-radius: 14px}
.customer-workspace .checkout-shell .panel {padding: 30px}
.customer-workspace :is(h1,h2,h3) {color: var(--relo-theme-text,var(--interface-ink)); letter-spacing: -.025em; text-wrap: balance; overflow-wrap: anywhere}
.customer-workspace .checkout-shell h1 {font-size: clamp(28px,2.8vw,38px); line-height: 1.25; margin-bottom: 16px}
.customer-workspace .subtle,
.customer-workspace .checkout-shell .panel>p.subtle {font-size: 18px; line-height: 1.65; color: var(--relo-theme-muted,var(--interface-muted)); max-width: 68ch}
.customer-workspace .mini {font-size: 14px; line-height: 1.65; color: var(--relo-theme-muted,var(--interface-muted))}
.customer-workspace .eyebrow,
.customer-workspace .checkout-context .eyebrow,
.customer-workspace .plan-top .eyebrow {font-size: 13px; letter-spacing: .035em; color: var(--relo-theme-muted,var(--interface-muted))}
.customer-workspace .checkout-context {font-size: 14px; gap: 16px; flex-wrap: wrap}
.customer-workspace .checkout-context .mini {font-size: 14px}
.customer-workspace .region-context {display: none}
.customer-workspace .checkout-home,
.customer-workspace .region-context {font-size: 14px; color: var(--relo-theme-muted,var(--interface-muted)); text-decoration: underline; text-underline-offset: 4px}
.customer-workspace .checkout-home {min-height: 44px; display: inline-flex; align-items: center}
.customer-workspace .account-menu {font-size: 16px}
.customer-workspace .account-menu>summary {min-height: 48px; padding: 11px 16px; border-color: var(--relo-theme-border,var(--interface-border)); background: var(--relo-theme-surface,white); color: var(--relo-theme-text,var(--interface-ink))}
.customer-workspace .nav a,
.customer-workspace .nav button {min-height: 48px; display: inline-flex; align-items: center; font-size: 15px; padding: 11px 15px}
.customer-workspace .checkout-shell .stages {margin: 20px 0 26px; padding-bottom: 20px; border-color: var(--relo-theme-border,var(--interface-divider))}
.customer-workspace .checkout-shell .stage {min-height: 52px; font-size: 16px; color: var(--relo-theme-muted,var(--interface-muted)); line-height: 1.5; border-radius: 8px}
.customer-workspace .checkout-shell .stage span {width: 34px; height: 34px; font-size: 15px; border-color: var(--relo-theme-border,var(--interface-border)); background: var(--relo-theme-surface,white); color: var(--relo-theme-text,var(--interface-ink))}
.customer-workspace .checkout-shell .stage.active {font-weight: 700; color: var(--relo-theme-text,var(--interface-ink))}
.customer-workspace .checkout-shell .stage.active span {color: white; background: var(--interface-ink); border-color: var(--relo-theme-border-strong,var(--interface-ink))}
.customer-workspace .checkout-shell .stage.visited span {border-color: var(--relo-theme-border-strong,var(--interface-ink)); background: var(--relo-theme-tint,var(--interface-selected)); color: var(--relo-theme-text,var(--interface-ink))}
.customer-workspace .btn,
.customer-workspace .checkout-shell .btn {min-height: 52px; font-size: 16px; line-height: 1.5; padding: 13px 20px; background: var(--interface-ink); color: white; border: 2px solid var(--relo-theme-border-strong,var(--interface-ink)); border-radius: 10px; touch-action: manipulation}
.customer-workspace .btn.secondary {background: var(--relo-theme-surface,white); color: var(--relo-theme-text,var(--interface-ink)); border-color: var(--relo-theme-border,var(--interface-border))}
.customer-workspace .btn:hover:not(:disabled) {background: #1c4a72; border-color: var(--relo-theme-border-strong,#1c4a72); color: white}
.customer-workspace .btn:disabled {opacity: 1; background: var(--relo-theme-tint,#e2e8ef); border-color: var(--relo-theme-border,#a0adbb); color: var(--relo-theme-muted,#40556b)}
.customer-workspace .field {font-size: 16px; line-height: 1.55; gap: 10px}
.customer-workspace .field :is(input,select,textarea) {font-size: 17px; line-height: 1.5; min-height: 52px; border: 1px solid var(--relo-theme-border,var(--interface-border)); background: var(--relo-theme-surface,white); color: var(--relo-theme-text,var(--interface-ink)); padding: 12px 14px}
.customer-workspace .field textarea {min-height: 140px}
.customer-workspace input::placeholder,
.customer-workspace textarea::placeholder {color: var(--relo-theme-muted,var(--interface-muted)); opacity: 1}
.customer-workspace .check {font-size: 16px; line-height: 1.65; padding-block: 8px}
.customer-workspace .check input {width: 24px; height: 24px; flex: none; accent-color: var(--relo-theme-focus,var(--interface-ink))}
.customer-workspace .tag,
.customer-workspace .badge {font-size: 13px; line-height: 1.5; letter-spacing: 0; text-transform: none; color: var(--relo-theme-text,var(--interface-ink)); background: var(--relo-theme-tint,#e9eff6)}
.customer-workspace .warning {font-size: 16px; color: var(--relo-theme-text,var(--interface-ink)); background: var(--relo-theme-tint,var(--interface-selected)); border-color: var(--relo-theme-border,var(--interface-border))}
.customer-workspace .empty {font-size: 17px; border-color: var(--relo-theme-border,var(--interface-border))}
.customer-workspace .save-status {font-size: 14px; line-height: 1.65; color: var(--relo-theme-muted,var(--interface-muted))}
.customer-workspace :is(.plan-price,.plan-total strong,.detail-price strong,.total,.amount,.summary-row,.dock-total) {font-variant-numeric: tabular-nums}
.customer-workspace .checkout-shell .summary {background: var(--interface-ink); color: white; padding: 28px; border-radius: 14px}
.customer-workspace .summary :is(h2,.total,.eyebrow,.mini,.subtle,.save-status),
.customer-workspace .checkout-shell .summary .subtle {color: #f0f5fa}
.customer-workspace .summary h2 {font-size: 28px}
.customer-workspace .summary-row {font-size: 16px; line-height: 1.6; margin: 16px 0; gap: 16px}
.customer-workspace .summary-row>span:last-child {white-space: normal; text-align: right}
.customer-workspace .summary .total {font-size: 36px; line-height: 1.3}
.customer-workspace .summary .subtle,
.customer-workspace .summary ul {font-size: 15px; line-height: 1.7; color: #f0f5fa}
.customer-workspace .summary .tag {background: #244765; color: white; font-size: 13px}
.customer-workspace .journey-destination {border-color: var(--relo-theme-border,var(--interface-divider)); border-radius: 12px; min-height: 116px}
.customer-workspace .journey-destination>img {height: 126px; width: 190px}
.customer-workspace .journey-destination h2 {font-size: 25px; margin-bottom: 8px}
.customer-workspace .journey-destination .eyebrow {font-size: 13px; color: var(--relo-theme-muted,var(--interface-muted))}
.customer-workspace .journey-destination .subtle {font-size: 16px}
.customer-workspace .destination-change {color: var(--relo-theme-text,var(--interface-ink)); font-size: 15px; min-height: 48px; padding: 10px 0; display: inline-flex; align-items: center; text-underline-offset: 4px}
.customer-workspace .customizer-current-plan {background: var(--relo-theme-tint,var(--interface-selected)); border: 2px solid var(--relo-theme-border-strong,var(--interface-ink)); border-left-width: 6px; border-radius: 10px; padding: 20px 22px}
.customer-workspace .customizer-current-plan .eyebrow {color: var(--relo-theme-muted,var(--interface-muted)); font-size: 13px}
.customer-workspace .customizer-current-plan h3 {font-size: 28px}
.customer-workspace .customizer-current-plan .mini {font-size: 16px}
.customer-workspace .change-service-plan {border-color: var(--relo-theme-border,var(--interface-divider))}
.customer-workspace .change-service-plan>summary {font-size: 17px; min-height: 52px; color: var(--relo-theme-text,var(--interface-ink)); padding-block: 12px}
.customer-workspace .customizer-plan-choice {border-color: var(--relo-theme-border,var(--interface-border))}
.customer-workspace .customizer-plan-choice.current {border: 2px solid var(--relo-theme-border-strong,var(--interface-ink)); background: var(--relo-theme-tint,var(--interface-selected))}
.customer-workspace .customizer-plan-choice h3 {font-size: 21px}
.customer-workspace .customizer-plan-choice>.mini {font-size: 14px}
.customer-workspace .customizer-plan-price {font-size: 26px}
.customer-workspace .customizer-plan-choice .btn {font-size: 14px; padding: 12px 10px}
.customer-workspace .package-saving-details {color: var(--relo-theme-success,#214e3d); font-size: 15px}
.customer-workspace .package-saving-details>summary {min-height: 48px; padding-block: 10px}
.customer-workspace .package-savings {font-size: 14px; color: var(--relo-theme-success,#214e3d); background: var(--relo-theme-success-bg,#f0f7f3); border-color: var(--relo-theme-border,#7b9b8c)}
.customer-workspace .package-savings .mini {font-size: 13px; color: var(--relo-theme-success,#214e3d)}
.customer-workspace .checkout-shell .customizer-panel .addon-category {border-color: var(--relo-theme-border,var(--interface-divider))}
.customer-workspace .checkout-shell .customizer-panel .addon-category>summary {min-height: 60px; font-size: 19px; line-height: 1.5; gap: 12px}
.customer-workspace .checkout-shell .customizer-panel .addon-category>summary .badge {font-size: 14px; color: var(--relo-theme-muted,var(--interface-muted)); background: var(--relo-theme-tint,#e9eff6)}
.customer-workspace .checkout-shell .customizer-panel .addon {background: var(--relo-theme-surface,white); border-color: var(--relo-theme-border,var(--interface-border)); border-radius: 10px; padding: 20px; gap: 12px}
.customer-workspace .checkout-shell .customizer-panel .addon.included {background: var(--relo-theme-surface,#f5f8fb); border-color: var(--relo-theme-border,var(--interface-divider))}
.customer-workspace .checkout-shell .customizer-panel .addon:has(input:checked):not(.included) {background: var(--relo-theme-tint,var(--interface-selected)); border: 2px solid var(--relo-theme-border-strong,var(--interface-ink)); padding: 19px}
.customer-workspace .checkout-shell .customizer-panel .addon label {min-height: 48px; color: var(--relo-theme-text,var(--interface-ink))}
.customer-workspace .checkout-shell .customizer-panel .addon label strong {font-size: 18px; font-weight: 600; line-height: 1.55}
.customer-workspace .checkout-shell .customizer-panel .addon small {font-size: 15px; line-height: 1.65; color: var(--relo-theme-muted,var(--interface-muted))}
.customer-workspace .checkout-shell .customizer-panel .addon>.cost {font-size: 20px; color: var(--relo-theme-text,var(--interface-ink))}
.customer-workspace .checkout-shell .customizer-panel .addon>.cost small {font-size: 14px; white-space: normal}
.customer-workspace .checkout-shell .customizer-panel .addon details>summary {font-size: 16px; min-height: 48px; color: var(--relo-theme-text,var(--interface-ink)); text-decoration: underline; text-underline-offset: 4px}
.customer-workspace .service-scope {font-size: 16px; line-height: 1.75}
.customer-workspace .service-scope h4 {font-size: 15px; color: var(--relo-theme-text,var(--interface-ink))}
.customer-workspace .category-nav a {font-size: 14px; min-height: 44px; display: inline-flex; align-items: center; background: var(--relo-theme-surface,white); border: 1px solid var(--relo-theme-border,var(--interface-border)); border-radius: 8px; padding: 10px 14px}
.customer-workspace .checkout-shell .customizer-panel>.mini {font-size: 16px}
.customer-workspace .extras-title {font-size: 25px}
.customer-workspace .pricing-plan {border-color: var(--relo-theme-border,var(--interface-border)); border-radius: 12px}
.customer-workspace .pricing-plan.is-selected {border: 2px solid var(--relo-theme-border-strong,var(--interface-ink)); box-shadow: 0 0 0 2px var(--interface-ink)}
.customer-workspace .plan-service-visual,
.customer-workspace .plan-service-visual.plan-cover-private,
.customer-workspace .plan-service-visual.plan-cover-signature {background: var(--relo-theme-tint,#e9eff6)}
.customer-workspace .plan-service-visual img {opacity: 1}
.customer-workspace .plan-ribbon,
.customer-workspace .plan-cover-private .plan-ribbon,
.customer-workspace .plan-cover-signature .plan-ribbon {background: var(--interface-ink); color: white; font-size: 13px; letter-spacing: .035em}
.customer-workspace .plan-top,
.customer-workspace .pricing-plan.is-selected .plan-top,
.customer-workspace .plan-total {background: var(--relo-theme-surface,white)}
.customer-workspace .plan-top h3 {font-size: 29px}
.customer-workspace .plan-top>p.subtle {font-size: 17px; line-height: 1.6; min-height: 3.2em}
.customer-workspace .plan-top .package-savings {min-height: 118px; display: flex; flex-direction: column; justify-content: center; gap: 6px; margin-block: 14px; font-size: 15px; line-height: 1.6}
.customer-workspace .plan-top .package-base {background: var(--relo-theme-tint,#eef2f7); border-color: var(--relo-theme-border,#8194a5); color: var(--relo-theme-muted,#263b4d)}
.customer-workspace .plan-top .mini {font-size: 14px}
.customer-workspace .plan-admin-fee {font-size: 15px; line-height: 1.65; min-height: 0}
.customer-workspace .plan-detail-link {font-size: 16px; min-height: 48px; color: var(--relo-theme-text,var(--interface-ink)); text-underline-offset: 4px}
.customer-workspace .pricing-plans {align-items: start}
.customer-workspace .checkout-shell .orientation-step .stages {margin:12px 0 16px;padding-bottom:12px}
.customer-workspace .checkout-shell .orientation-step .journey-destination {grid-template-columns:100px minmax(0,1fr) auto;gap:0 16px;margin:0 0 16px;min-height:76px}
.customer-workspace .checkout-shell .orientation-step .journey-destination>img {width:100px;height:76px;min-height:0}
.customer-workspace .checkout-shell .orientation-step .journey-destination>div {padding-block:8px}
.customer-workspace .checkout-shell .orientation-step .journey-destination .eyebrow {display:none}
.customer-workspace .checkout-shell .orientation-step .journey-destination h2 {font-size:20px;margin:0 0 4px}
.customer-workspace .checkout-shell .orientation-step .journey-destination p:not(.eyebrow) {font-size:14px;margin:0}
.customer-workspace .checkout-shell .panel.visa-orientation {padding:22px}
.customer-workspace .checkout-shell .visa-orientation h1 {font-size:clamp(27px,2.7vw,34px);margin:0 0 8px}
.customer-workspace .visa-orientation .orientation-intro {font-size:18px;line-height:1.55;margin:0 0 20px;color:var(--relo-theme-muted,var(--interface-muted))}
.customer-workspace .orientation-toolbar {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}
.customer-workspace .orientation-toolbar>.mini {white-space:nowrap}
.customer-workspace .orientation-filters {display:flex;flex-wrap:wrap;gap:8px}
.customer-workspace .orientation-filter {font:inherit;font-size:16px;line-height:1.5;font-weight:600;min-height:48px;border:1px solid var(--relo-theme-border,var(--interface-border));border-radius:24px;padding:10px 18px;cursor:pointer;background:var(--relo-theme-surface,white);color:var(--relo-theme-text,var(--interface-ink))}
.customer-workspace .orientation-filter[aria-pressed=true] {background:var(--interface-ink);border-color:var(--relo-theme-border-strong,var(--interface-ink));color:white}
.customer-workspace .orientation-filter:hover:not([aria-pressed=true]) {background:var(--relo-theme-tint,var(--interface-selected))}
.customer-workspace .visa-choices {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0 0 24px;align-items:start}
.customer-workspace .visa-choices[data-count="4"],.customer-workspace .visa-choices[data-count="2"] {grid-template-columns:repeat(2,minmax(0,1fr))}
.customer-workspace .visa-choices[data-count="1"] {grid-template-columns:minmax(0,480px)}
.customer-workspace .visa-choice {border:1px solid var(--relo-theme-border,var(--interface-border));border-radius:12px;padding:0;overflow:hidden;background:var(--relo-theme-surface,white);min-width:0}
.customer-workspace .visa-choice.is-chosen {border:2px solid var(--relo-theme-border-strong,var(--interface-ink));background:var(--relo-theme-tint,var(--interface-selected))}
.customer-workspace .orientation-photo {height:140px;position:relative;background:var(--relo-theme-tint,#d8e2eb)}
.customer-workspace .orientation-photo img {display:block;width:100%;height:100%;object-fit:cover;object-position:center 45%}
.customer-workspace .orientation-selected {position:absolute;bottom:10px;left:10px;padding:4px 8px;background:var(--interface-ink);color:white;font-size:14px;font-weight:600;margin:0;border-radius:4px}
.customer-workspace .orientation-card-body {padding:18px}
.customer-workspace .orientation-profile {font-size:13px;line-height:1.5;font-weight:600;color:var(--relo-theme-warning,#705016);margin:0 0 6px}
.customer-workspace .visa-choice h3 {font-size:22px;line-height:1.3;margin:0 0 10px}
.customer-workspace .orientation-description {font-size:16px;line-height:1.6;color:var(--relo-theme-muted,var(--interface-muted));margin:0;min-height:3.2em}
.customer-workspace .orientation-fee {margin:14px 0;border-top:1px solid var(--relo-theme-border,var(--interface-divider));padding-top:12px}
.customer-workspace .orientation-fee strong {font-size:27px;line-height:1.4;font-variant-numeric:tabular-nums;color:var(--relo-theme-text,var(--interface-ink))}
.customer-workspace .orientation-fee .mini {font-size:14px;margin:0;line-height:1.6}
.customer-workspace .orientation-fee>p {margin-top:6px!important}
.customer-workspace .visa-choice .btn {width:100%;min-height:50px;font-size:16px;padding:10px}
.customer-workspace .visa-choice.is-chosen .btn {background:#176046;border-color:var(--relo-theme-border-strong,#176046);color:white}
.customer-workspace .orientation-details {border-top:1px solid var(--relo-theme-border,var(--interface-divider));margin-top:14px}
.customer-workspace .orientation-details>summary {min-height:48px;padding-block:12px;font-size:16px;font-weight:600;line-height:1.5;cursor:pointer}
.customer-workspace .orientation-details ul {padding-left:20px;font-size:16px;line-height:1.6;color:var(--relo-theme-muted,var(--interface-muted));margin:4px 0 16px}
.customer-workspace .orientation-details li {margin-bottom:10px}
.customer-workspace .orientation-tier-fees {margin:0 0 12px;background:var(--relo-theme-tint,#edf4fc);border-radius:6px;padding-inline:10px;font-size:16px}
.customer-workspace .orientation-tier-fees>div {display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--relo-theme-border,var(--interface-divider));padding-block:8px}
.customer-workspace .orientation-tier-fees>div:last-child {border:0}.customer-workspace .orientation-tier-fees dd {margin:0;font-weight:700;font-variant-numeric:tabular-nums}
.customer-workspace .visa-choice a {display:inline-flex;align-items:center;min-height:44px;font-size:16px;line-height:1.6;text-underline-offset:4px}
.customer-workspace .journey-preferences {border-top:1px solid var(--relo-theme-border,#c3ceda);padding-top:16px;margin-block:24px}
.customer-workspace .journey-preferences>summary {font-size:17px;min-height:48px;cursor:pointer;margin-bottom:10px}
.customer-workspace .dock-total .orientation-status {font-size:20px;line-height:1.4}
@media(max-width:1100px){.customer-workspace .visa-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.customer-workspace .orientation-toolbar{align-items:flex-start}}
@media(max-width:700px){
 .customer-workspace .visa-choices,.customer-workspace .visa-choices[data-count]{grid-template-columns:minmax(0,1fr)}
 .customer-workspace .checkout-shell .orientation-step .journey-destination{grid-template-columns:76px minmax(0,1fr);gap:0 12px}
 .customer-workspace .checkout-shell .orientation-step .journey-destination>img{width:76px;height:100%;min-height:76px}
 .customer-workspace .checkout-shell .orientation-step .journey-destination .destination-change{grid-column:2;padding:0 8px 8px;font-size:14px}
 .customer-workspace .checkout-shell .panel.visa-orientation{padding:18px 14px}
 .customer-workspace .orientation-toolbar{display:block}.customer-workspace .orientation-toolbar>.mini{margin:10px 0 0}
 .customer-workspace .orientation-filter{padding:10px 14px;font-size:16px}
 .customer-workspace .visa-choice h3{font-size:23px;min-height:0}
 .customer-workspace .orientation-description{font-size:17px;min-height:0}
 .customer-workspace .orientation-card-body{padding:18px}
 .customer-workspace .orientation-fee .mini{font-size:16px}
 .customer-workspace .visa-choice .btn{font-size:17px;min-height:54px}
 .customer-workspace .dock-total .orientation-status{font-size:16px}
}
.customer-workspace .pricing-plan[hidden] {display: none}
.customer-workspace .card-comparison {background: var(--relo-theme-soft,#f0f7f4); border-top: 1px solid var(--relo-theme-border,#8aab9c); padding-block: 20px 0}
.customer-workspace .included-heading {display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 20px 14px; color: var(--relo-theme-success,#174b3b)}
.customer-workspace .included-heading h4 {font-size: 17px; line-height: 1.5; margin: 0}
.customer-workspace .included-count {display: inline-flex; align-items: center; justify-content: center; min-width: 32px; height: 32px; padding-inline: 6px; border-radius: 8px; color: white; background: #176046; font-size: 17px; font-weight: 700}
.customer-workspace .plan-features {padding: 0 20px; margin: 0; list-style: none}
.customer-workspace .plan-features li {font-size: 16px; line-height: 1.6; gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--relo-theme-border,#c4d8ce); min-height: 0}
.customer-workspace .plan-features li>div {min-width: 0}
.customer-workspace .plan-features .feature-yes>span:first-child {display: inline-flex; align-items: center; justify-content: center; flex: 0 0 24px; width: 24px; height: 24px; margin-top: 1px; border-radius: 50%; background: #176046; color: white; font-size: 15px}
.customer-workspace .plan-features .feature-yes strong {font-weight: 600; color: var(--relo-theme-success,#173d32)}
.customer-workspace .plan-features small {font-size: 14px; color: var(--relo-theme-success,#355b4f); margin-top: 5px}
.customer-workspace .plan-features .premium-label {font-size: 13px; font-weight: 600; color: var(--relo-theme-success,#174b3b)}
.customer-workspace .plan-excluded {margin-top: 20px; background: var(--relo-theme-soft,#f0f2f5); border-top: 1px solid var(--relo-theme-border,#a3afbb); color: var(--relo-theme-muted,#445463)}
.customer-workspace .plan-excluded>summary {display: flex; align-items: center; gap: 10px; cursor: pointer; padding: 16px 20px; min-height: 56px; font-size: 16px; font-weight: 600; list-style: none}
.customer-workspace .plan-excluded>summary::-webkit-details-marker {display: none}
.customer-workspace .plan-excluded>summary::after {content: '+'; font-size: 24px; margin-left: auto; line-height: 1}
.customer-workspace .plan-excluded[open]>summary::after {content: '−'}
.customer-workspace .excluded-count {font-size: 14px; font-weight: 500; border: 1px solid var(--relo-theme-border,#7d8d9b); border-radius: 5px; padding: 1px 7px; background: var(--relo-theme-surface,white)}
.customer-workspace .plan-excluded .excluded-note {font-size: 15px; line-height: 1.6; margin: 0; padding: 0 20px 8px; color: var(--relo-theme-muted,#445463)}
.customer-workspace .plan-excluded .feature-no {color: var(--relo-theme-muted,#445463); border-bottom-color: var(--relo-theme-border,#d0d7df); font-weight: 400}
.customer-workspace .plan-excluded .feature-no>span:first-child {display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; flex: 0 0 24px; border: 1px solid var(--relo-theme-border,#7d8d9b); border-radius: 50%; color: var(--relo-theme-muted,#445463); background: transparent; font-size: 17px}
.customer-workspace .plan-excluded s {text-decoration-color: var(--relo-theme-muted,#677583); text-decoration-thickness: 1px}
.customer-workspace .plan-matrix .matrix-yes {background: var(--relo-theme-success-bg,#e4f3eb); color: var(--relo-theme-success,#174b3b); font-weight: 700}
.customer-workspace .plan-matrix .matrix-no {background: var(--relo-theme-soft,#f0f2f5); color: var(--relo-theme-muted,#445463); font-weight: 400}
.customer-workspace .plan-matrix .matrix-choice {background: var(--relo-theme-tint,#e9f0fa); color: var(--relo-theme-text,#164371); font-weight: 700}
.customer-workspace .plan-total .eyebrow {font-size: 12px; color: var(--relo-theme-muted,var(--interface-muted))}
.customer-workspace .plan-total .mini {font-size: 14px}
.customer-workspace .plan-legend {font-size: 14px; color: var(--relo-theme-muted,var(--interface-muted))}
.customer-workspace .mobile-plan-index button {border-color: var(--relo-theme-border,var(--interface-border)); font-size: 16px}
.customer-workspace .mobile-plan-index button[aria-pressed=true] {background: var(--interface-ink); color: white}
.customer-workspace .carousel-arrow {border-color: var(--relo-theme-border,var(--interface-border)); color: var(--relo-theme-text,var(--interface-ink)); font-size: 16px}
.customer-workspace .carousel-status {font-size: 15px; color: var(--relo-theme-muted,var(--interface-muted))}
.customer-workspace .checkout-dock {background: var(--relo-theme-surface,white); border-top: 2px solid var(--relo-theme-border,var(--interface-border)); box-shadow: 0 -4px 18px #102f4c0a; padding-block: 16px max(16px,env(safe-area-inset-bottom))}
.customer-workspace .dock-total .mini {font-size: 14px; line-height: 1.5; color: var(--relo-theme-muted,var(--interface-muted))}
.customer-workspace .dock-total .mini:last-child {font-size: 13px}
.customer-workspace .dock-total>strong {font-size: 29px; color: var(--relo-theme-text,var(--interface-ink))}
.customer-workspace .checkout-shell .dock-next {font-size: 17px; min-height: 54px; padding-inline: 24px; background: var(--interface-ink); color: white}
.customer-workspace .footer {background: var(--relo-theme-surface,white); font-size: 14px; color: var(--relo-theme-muted,var(--interface-muted))}
.customer-workspace .footer-access :is(a,button) {min-height: 44px; display: inline-flex; align-items: center}
.customer-workspace .quote-review {background: var(--relo-theme-surface,#f5f8fb); border-color: var(--relo-theme-border,var(--interface-divider))}
.customer-workspace .quote-review .summary-row {font-size: 17px}
.customer-workspace .quote-review details {font-size: 16px; line-height: 1.7}
.customer-workspace .list-item {font-size: 16px; line-height: 1.7}
.customer-workspace .choice {border-color: var(--relo-theme-border,var(--interface-border))}
.customer-workspace .choice.selected {border-color: var(--relo-theme-border-strong,var(--interface-ink)); background: var(--relo-theme-tint,var(--interface-selected))}
.customer-workspace .choice .number {color: var(--relo-theme-muted,var(--interface-muted)); font-size: 14px}
.customer-workspace .choice h3 {font-size: 19px}
.customer-workspace .access-card h1 {font-size: 32px}
.customer-workspace .access-card .check {font-size: 15px}
.customer-workspace .access-switch {font-size: 16px; min-height: 48px}
.customer-workspace :is(button,a,input,select,textarea,summary):focus-visible,
body .tool-app :is(button,a,input,select,textarea,summary):focus-visible,
body .relo-subpage :is(button,a,input,select,textarea,summary):focus-visible {outline: 3px solid var(--relo-theme-focus,var(--interface-focus)); outline-offset: 4px; box-shadow: 0 0 0 2px white}
.customer-workspace :is(button,a,input,select,textarea,summary) {scroll-margin-block: 90px 190px; -webkit-tap-highlight-color: #005fcc26}
.workspace-skip {position: absolute; top: -100px; left: 16px; background: var(--interface-ink); color: white; padding: 14px 20px; z-index: 40; font-size: 17px; border-radius: 8px}
.workspace-skip:focus {top: 12px}
.customer-workspace .plan-dialog {color: var(--relo-theme-text,var(--interface-body)); overscroll-behavior: contain}
.customer-workspace .plan-dialog :is(h2,h3,h4) {color: var(--relo-theme-text,var(--interface-ink))}
.customer-workspace .plan-dialog .service-scope {font-size: 16px}
body .tool-app,body .relo-subpage {background: var(--relo-theme-page,var(--interface-page)); color: var(--relo-theme-text,var(--interface-body)); font-size: 17px}
body .tool-app .tool-app-title p,body .relo-subpage .relo-subpage-lead {font-size: 18px; line-height: 1.7; color: var(--relo-theme-muted,var(--interface-muted)); max-width: 68ch}
body .tool-app .tool-app-header nav,body .relo-subpage .relo-subpage-nav {font-size: 15px; line-height: 1.6}
body .tool-app .tool-app-header nav a:not([data-tool-language]),body .relo-subpage .relo-subpage-nav a {min-height: 44px; display: inline-flex; align-items: center; text-decoration: underline; text-underline-offset: 4px}
body .tool-app .tool-breadcrumb {font-size: 14px; color: var(--relo-theme-muted,var(--interface-muted))}
body .tool-app .relo-tool :is(input,select,textarea) {font-size: 17px; min-height: 52px; border-color: var(--relo-theme-border,var(--interface-border))}
body .tool-app .relo-tool label {font-size: 16px; line-height: 1.6}
body .tool-app .relo-tool :is(p,li),body .tool-app .pe-detail-top>p {font-size: 17px; line-height: 1.7; color: var(--relo-theme-muted,var(--interface-muted))}
body .tool-app .relo-panel,body .tool-app .tool-empty {border-color: var(--relo-theme-border,var(--interface-border))}
body .tool-app .budget-reference {background: var(--relo-theme-tint,#e9eff6); color: var(--relo-theme-text,var(--interface-body))}
body .tool-app .relo-tool .button-gold,body .tool-app .pe-primary,body .relo-subpage .button-gold {background: var(--interface-ink); color: white; min-height: 52px; font-size: 16px}
body .tool-app .tool-next-actions>a {min-height: 48px; display: inline-flex; align-items: center; font-size: 16px; text-decoration: underline; text-underline-offset: 4px}
body .tool-app .pe-filters button,body .tool-app .pe-region-list button {min-height: 48px; font-size: 16px; border-color: var(--relo-theme-border,var(--interface-border))}
body .tool-app .pe-region-list button[aria-pressed=true] {background: var(--relo-theme-tint,var(--interface-selected)); border: 2px solid var(--relo-theme-border-strong,var(--interface-ink)); color: var(--relo-theme-text,var(--interface-ink))}
body .tool-app .pe-filters button[aria-pressed=true] {background: var(--interface-ink); color: white}
body .tool-app .pe-region-list small {font-size: 14px; color: var(--relo-theme-muted,var(--interface-muted))}
body .tool-app .pe-search {font-size: 16px}
body .tool-app .tool-app-footer {font-size: 14px; color: var(--relo-theme-muted,var(--interface-muted)); background: var(--relo-theme-surface,white)}
body .relo-subpage .visa-guide-card>p:not(.visa-profile),body .relo-subpage .visa-detail-section li,body .relo-subpage .visa-detail-actions>p {font-size: 17px; line-height: 1.7; color: var(--relo-theme-muted,var(--interface-muted))}
body .relo-subpage .visa-guide-card>a {font-size: 16px; min-height: 48px; display: inline-flex; align-items: center}
body .relo-subpage .visa-next {background: var(--relo-theme-tint,#e9eff6)}
body .relo-subpage .visa-next p {font-size: 17px; line-height: 1.7; color: var(--relo-theme-muted,var(--interface-muted))}
@media(max-width:1100px) {
  .customer-workspace .checkout-shell .workspace {grid-template-columns: minmax(0,1fr) 300px; gap: 22px}
  .customer-workspace .checkout-shell .panel {padding: 24px}
  .customer-workspace .plans-heading {display: block}
  .customer-workspace .plans-heading>.field {width: 100%; margin-top: 20px}
  .customer-workspace .plan-top {padding: 18px}
  .customer-workspace .pricing-plans {gap: 14px}
}
@media(max-width:900px) {
  .customer-workspace .checkout-shell .workspace {grid-template-columns: 1fr}
  .customer-workspace .checkout-shell .summary {position: static}
}
@media(max-width:1000px) {
  .customer-workspace .plans-comparison {padding-inline: 18px}
  .customer-workspace .plans-comparison .mobile-plan-index {display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; margin-top: 20px}
  .customer-workspace .plans-comparison .mobile-plan-index button {padding: 12px 4px; min-height: 76px; line-height: 1.4; border-radius: 8px}
  .customer-workspace .plans-comparison .mobile-plan-index strong {display: block; font-size: 15px; font-weight: 600}
  .customer-workspace .plans-comparison .mobile-plan-index small {display: block; font-size: 15px; font-weight: 400; margin-top: 5px; color: inherit}
  .customer-workspace .plans-comparison .plan-carousel-controls {display: flex; align-items: center; justify-content: space-between; gap: 8px; padding-block: 14px}
  .customer-workspace .plans-comparison .carousel-arrow {width: auto; min-width: 0; min-height: 50px; padding: 10px 12px; font-size: 15px; border-radius: 8px}
  .customer-workspace .plans-comparison .carousel-status {font-size: 14px; min-width: 0}
  .customer-workspace .plans-comparison .pricing-plans {display: block; overflow: visible; padding: 3px; margin: 0 0 22px; scroll-snap-type: none}
  .customer-workspace .plans-comparison .pricing-plan {width: 100%; min-width: 0; margin: 0; scroll-snap-align: none}
  .customer-workspace .plans-comparison .plan-service-visual {height: 72px; padding-block: 14px}
  .customer-workspace .plans-comparison .plan-service-visual>img {width: 40px; height: 40px}
  .customer-workspace .plans-comparison .plan-service-visual .plan-ribbon {top: 22px}
  .customer-workspace .plans-comparison .plan-top>.eyebrow {display: none}
  .customer-workspace .plans-comparison .plan-top>p.subtle {min-height: 0}
  .customer-workspace .plans-comparison .plan-top .package-savings {min-height: 0; padding-block: 16px}
  .customer-workspace .plans-comparison .plan-top .package-base {display: none}
  .customer-workspace .plans-comparison .included-heading h4 {font-size: 18px}
  .customer-workspace .plans-comparison .plan-features li {font-size: 17px; padding-block: 16px}
  .customer-workspace .plans-comparison .plan-excluded>summary {font-size: 17px; min-height: 60px}
}
@media(max-width:700px) {
  .customer-workspace .checkout-header {padding: 12px 16px; min-height: 72px}
  .customer-workspace .checkout-home {display: none}
  .customer-workspace .checkout-shell {padding: 18px 16px 190px}
  .customer-workspace .checkout-shell .panel {padding: 22px 18px}
  .customer-workspace .checkout-shell h1 {font-size: 29px; line-height: 1.3; margin-bottom: 14px}
  .customer-workspace .checkout-shell .panel>p.subtle {font-size: 17px; line-height: 1.65}
  .customer-workspace .checkout-context .eyebrow {font-size: 12px; letter-spacing: 0}
  .customer-workspace .checkout-context .mini {font-size: 13px}
  .customer-workspace .region-context {font-size: 14px}
  .customer-workspace .checkout-shell .stage {font-size: 13px; gap: 8px; min-height: 62px}
  .customer-workspace .checkout-shell .stage span {width: 32px; height: 32px; font-size: 14px}
  .customer-workspace .checkout-shell .stages {gap: 5px; margin: 20px 0}
  .customer-workspace .checkout-shell .journey-destination {grid-template-columns: 90px minmax(0,1fr); gap: 0 14px}
  .customer-workspace .checkout-shell .journey-destination>img {width: 90px; height: 100%; min-height: 132px}
  .customer-workspace .journey-destination h2 {font-size: 22px; line-height: 1.35}
  .customer-workspace .journey-destination .subtle {font-size: 15px}
  .customer-workspace .journey-destination .eyebrow {font-size: 12px}
  .customer-workspace .destination-change {font-size: 15px}
  .customer-workspace .customizer-current-plan {padding: 20px; border-left-width: 5px}
  .customer-workspace .customizer-current-plan .mini {font-size: 16px}
  .customer-workspace .customizer-plan-choice {display: flex; gap: 8px}
  .customer-workspace .customizer-plan-choice .btn {width: 100%; max-width: none; font-size: 16px; margin-top: 6px}
  .customer-workspace .customizer-plan-choice>.mini {font-size: 15px}
  .customer-workspace .checkout-shell .customizer-panel .addon {grid-template-columns: 28px minmax(0,1fr); gap: 0 12px; padding: 18px 14px}
  .customer-workspace .checkout-shell .customizer-panel .addon:has(input:checked):not(.included) {padding: 17px 13px}
  .customer-workspace .checkout-shell .customizer-panel .addon label strong {font-size: 17px}
  .customer-workspace .checkout-shell .customizer-panel .addon small {font-size: 15px}
  .customer-workspace .checkout-shell .customizer-panel .addon>.cost {font-size: 21px; margin-top: 14px; grid-column: 2; max-width: none}
  .customer-workspace .checkout-shell .customizer-panel .addon>.cost small {font-size: 15px}
  .customer-workspace .checkout-shell .customizer-panel .addon-category>summary {font-size: 18px; min-height: 64px}
  .customer-workspace .checkout-shell .customizer-panel .addon-category>summary .badge {font-size: 14px}
  .customer-workspace .pricing-plan {flex-basis: calc(100% - 18px)}
  .customer-workspace .plan-top>p.subtle {font-size: 17px}
  .customer-workspace .plan-price {font-size: 32px}
  .customer-workspace .plan-admin-fee {font-size: 16px}
  .customer-workspace .plan-total {display: block}
  .customer-workspace .plan-total>strong {font-size: 27px; display: block; margin-block: 8px}
  .customer-workspace .checkout-shell .mobile-plan-index button {font-size: 15px; min-height: 50px; padding-inline: 4px}
  .customer-workspace .checkout-shell .carousel-arrow {font-size: 15px; min-height: 50px; min-width: 94px; padding-inline: 10px}
  .customer-workspace .checkout-shell .carousel-status {font-size: 14px}
  .customer-workspace .checkout-dock {padding: 12px 16px max(12px,env(safe-area-inset-bottom))}
  .customer-workspace .dock-inner {display: grid; grid-template-columns: minmax(0,1fr); gap: 8px; align-items: center}
  .customer-workspace .dock-total {display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px}
  .customer-workspace .dock-total>strong {font-size: 25px; overflow-wrap: anywhere}
  .customer-workspace .dock-total>strong {margin-left: auto}
  .customer-workspace .dock-total .mini {font-size: 13px; margin: 0}
  .customer-workspace .dock-total .mini:last-child {font-size: 12px; width: 100%}
  .customer-workspace .checkout-dock .dock-next {width: 100%; max-width: 100%; min-width: 0; font-size: 16px; min-height: 48px; padding: 10px 16px; white-space: normal}
  .customer-workspace .checkout-dock .dock-back {display: none}
  .customer-workspace .quote-review .summary-row {font-size: 16px}
  body .tool-app .tool-app-main {padding-inline: 16px}
  body .tool-app .tool-app-title p {font-size: 17px}
  body .tool-app .tool-app-header nav {font-size: 14px; gap: 10px}
  body .tool-app .tool-next-actions {display: grid; gap: 12px}
  body .tool-app .tool-next-actions>a {justify-content: center; text-align: center}
}
@media(max-width:360px) {
  .customer-workspace .checkout-shell {padding-inline: 12px; padding-bottom: 230px}
  .customer-workspace .checkout-shell .panel {padding: 20px 14px}
  .customer-workspace .checkout-shell h1 {font-size: 27px}
  .customer-workspace .checkout-shell .stage {font-size: 12px}
}
@media(prefers-reduced-motion:reduce) {
  .customer-workspace *, body .tool-app * {scroll-behavior: auto; transition: none; animation: none}
}

body .tool-app .relo-tool :is(input,select,textarea):not([type=checkbox]):not([type=radio]){font-size:17px;min-height:52px;border:1px solid var(--relo-theme-border,var(--interface-border));background:var(--relo-theme-surface,white);color:var(--relo-theme-text,var(--interface-ink))}
