.upgrade-customer { color:var(--ui-text); }
.upgrade-customer [hidden] { display:none!important; }
:root[data-theme] .upgrade-customer .topbar { display:flex; flex-direction:row; align-items:center; justify-content:space-between; flex-wrap:nowrap; gap:14px; }
:root[data-theme] .upgrade-customer .topbar>.soft-button { width:auto; flex:0 0 auto; }
:root[data-theme] .upgrade-customer .topbar>.brand { width:auto; min-width:0; flex:0 1 auto; white-space:nowrap; }
:root[data-theme] .upgrade-customer>main { max-width:820px; padding-bottom:36px; }
.upgrade-intro { padding:32px 4px 24px; }
.upgrade-eyebrow { display:block; margin-bottom:10px; color:var(--ui-primary); font-size:14px; font-weight:650; }
.upgrade-intro h1 { margin:0; font-size:30px; line-height:1.4; letter-spacing:0; }
.upgrade-intro p { margin:8px 0 0; color:var(--ui-text-muted); font-size:15px; }
.upgrade-card { background:var(--ui-surface); border:1px solid var(--ui-border); border-radius:20px; padding:30px 32px; box-shadow:var(--xd-card-shadow); }
.upgrade-customer form { display:grid; gap:12px; margin:0; }
.upgrade-customer label { display:block; font-size:15px; font-weight:650; color:var(--ui-text); }
.upgrade-customer input,.upgrade-customer select,.upgrade-customer textarea { display:block; width:100%; min-width:0; border:2px solid var(--xd-input-border); border-radius:10px; padding:12px 15px; background:var(--xd-input-fill); color:var(--ui-text); font:inherit; box-shadow:none; }
.upgrade-customer textarea { resize:vertical; line-height:1.6; overflow-wrap:anywhere; }
.upgrade-customer input,.upgrade-customer select { height:48px; padding:10px 14px; line-height:24px; }
.upgrade-customer textarea::placeholder,.upgrade-customer input::placeholder { color:var(--ui-text-muted); opacity:.8; }
.upgrade-customer input:focus,.upgrade-customer select:focus,.upgrade-customer textarea:focus { border-color:var(--ui-primary); outline:2px solid color-mix(in srgb,var(--ui-primary) 15%,transparent); outline-offset:1px; }
.field-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; min-width:0; }
.upgrade-form>.field-heading { margin-top:10px; }
.upgrade-customer .text-button { border:0; background:transparent; color:var(--ui-primary); padding:6px 0; font:600 13px/1.5 var(--xd-sans); cursor:pointer; }
.upgrade-customer .text-button:hover { text-decoration:underline; }
.upgrade-customer .hint { font-size:13px; line-height:1.6; color:var(--ui-text-muted); margin:0; overflow-wrap:anywhere; }
.upgrade-customer .upgrade-button { display:inline-flex; justify-content:center; align-items:center; gap:8px; min-height:46px; padding:11px 22px; border:1px solid var(--ui-primary); border-radius:8px; background:var(--ui-primary); color:#fff; text-decoration:none; font:600 15px/1.5 var(--xd-sans); cursor:pointer; }
.upgrade-customer .upgrade-button:hover { filter:brightness(.96); }
.upgrade-customer button:disabled { opacity:.5; cursor:default; }
.upgrade-customer :focus-visible { outline:3px solid color-mix(in srgb,var(--ui-primary) 60%,transparent); outline-offset:3px; }
.quote-actions,.upgrade-customer .actions { display:flex; align-items:center; flex-wrap:wrap; gap:14px; }
.quote-actions { margin-top:6px; }
.quote-empty { margin:18px 0 0; color:var(--ui-text-muted); font-size:13px; }
.quote-summary,.workflow-section { margin-top:24px; padding-top:24px; border-top:1px solid var(--ui-border); }
.quote-price-row { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.plan-change { margin:5px 0 8px; font-size:17px; font-weight:650; }
#totalPrice { color:var(--ui-primary); font-size:38px; line-height:1.35; overflow-wrap:anywhere; }
#manualShop:has([hidden]+[hidden]) { display:none; }
.payment-fields { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:18px; }
.payment-fields label { margin-bottom:9px; }
.upgrade-customer .order-caption { margin-top:12px; }
.manual-entry { display:block; margin-top:18px; }
.order-section h2 { margin:0; font-size:18px; }
#orderStatus { margin:10px 0; font-size:15px; font-weight:600; }
.upgrade-customer .customer-order-progress { margin:16px 0; border-radius:12px; }
.upgrade-customer .customer-order-progress-copy>small { color:var(--ui-text-muted); }
.upgrade-customer .upgrade-progress-meter { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:16px; color:var(--ui-text-muted); font-size:12px; }
.upgrade-customer .upgrade-progress-meter>strong { color:var(--ui-primary); font-size:14px; font-variant-numeric:tabular-nums; }
.upgrade-customer .customer-order-progress-track { width:100%; height:10px; margin:8px 0 18px; }
.upgrade-customer .customer-order-progress[data-status="success"] .upgrade-progress-meter>strong { color:var(--ui-success-text); }
.upgrade-customer .customer-order-progress[data-status="failed"] .upgrade-progress-meter>strong { color:var(--ui-danger-text); }
.upgrade-customer .customer-order-progress[data-status="review"] .upgrade-progress-meter>strong { color:var(--ui-warning-text,var(--ui-text)); }
.upgrade-customer .customer-order-progress-steps li.done>span { position:relative; }
.upgrade-customer .customer-order-progress-steps li.done>span::before { position:absolute; inset:0; display:grid; place-items:center; }
.upgrade-customer .customer-order-progress[data-status="review"] { border-color:var(--ui-warning,var(--ui-border)); background:var(--ui-warning-soft,var(--ui-surface-muted)); }
.upgrade-customer .customer-order-progress[data-status="review"] .customer-order-progress-copy>span { color:var(--ui-warning-text,var(--ui-text)); background:var(--ui-warning-soft,var(--ui-surface-soft)); }
.upgrade-customer .customer-order-progress[data-status="review"] .customer-order-progress-track>span { background:var(--ui-warning,#d69c35); }
.upgrade-customer #orderSyncStatus { margin-top:8px; }
@media(prefers-reduced-motion:reduce) {
  .upgrade-customer .customer-order-progress-track>span { transition:none; }
  .upgrade-customer .customer-order-progress-track>span::after { animation:none; }
}
.notice { margin:20px 0 0; padding:12px 14px; border-radius:8px; background:var(--xd-tint-info); color:var(--ui-primary); font-size:14px; overflow-wrap:anywhere; }
.notice.error { color:var(--ui-danger); background:var(--xd-tint-bad); }
.upgrade-footer { margin:18px 0 0; text-align:center; font-size:12px; color:var(--ui-text-muted); }
.session-guide { width:min(480px,calc(100% - 32px)); border:1px solid var(--ui-border); border-radius:16px; padding:24px; color:var(--ui-text); background:var(--ui-surface); box-shadow:var(--xd-card-shadow); }
.session-guide::backdrop { background:rgba(15,23,42,.42); }
.session-guide h2 { margin:0; font-size:20px; }
.session-guide ol { margin:20px 0 24px; padding-left:22px; }
.session-guide li { padding-left:3px; margin:15px 0; line-height:1.8; }
.session-guide li a { display:block; color:var(--ui-primary); font-weight:600; }
.session-guide .guide-close { font-size:26px; padding:0 6px; }
@media(max-width:600px) {
  .upgrade-customer .brand small { display:none; }
  .upgrade-customer .brand strong { font-size:14px; }
  .upgrade-customer .topbar>.soft-button { padding:8px 10px; font-size:12px; }
  .upgrade-intro { padding:26px 0 20px; }
  .upgrade-intro h1 { font-size:24px; }
  .upgrade-card { padding:22px 20px; border-radius:16px; }
  .payment-fields { grid-template-columns:1fr; gap:14px; }
  .quote-actions>.upgrade-button,.upgrade-customer .actions>.upgrade-button { width:100%; }
  #totalPrice { font-size:32px; }
  .plan-change { font-size:15px; }
  .upgrade-customer .field-heading { flex-wrap:wrap; gap:5px 12px; }
  .upgrade-customer #sessionInput { min-height:130px; }
}
