/**
 * Settings domain V3 + Phase 3B visual polish.
 * Scoped to .imy3-settings-scope only. Does not delete historical parking.html patches.
 * Does not target FAB / map / carpool / fleet / SOS IDs.
 */
.imy3-settings-scope.settingsPanel {
  font-family: var(--imy3-font, system-ui, -apple-system, "Segoe UI", "Noto Sans TC", sans-serif);
  color: var(--imy3-text-primary, #1f1f1f);
}

.imy3-settings-scope .settingsSheet {
  background: var(--imy3-surface, #fff5e9);
  color: var(--imy3-text-primary, #1f1f1f);
  border-color: var(--imy3-border, #e8e0d6);
  box-shadow: var(--imy3-shadow-sheet, 0 -8px 28px rgba(31, 31, 31, 0.1));
  padding-top: var(--imy3-space-16, 16px);
}

.imy3-settings-scope .settingsSheetHead {
  gap: var(--imy3-space-12, 12px);
  margin-bottom: var(--imy3-space-16, 16px);
  padding-bottom: var(--imy3-space-12, 12px);
  border-bottom-color: var(--imy3-border, #e8e0d6);
  background: var(--imy3-surface, #fff5e9);
}

.imy3-settings-scope .settingsSheetHead h3,
.imy3-settings-scope .fabSettingsSheetTitle,
.imy3-settings-scope .fabSettingsHeadLabel {
  font-size: 18px;
  font-weight: 800;
  color: var(--imy3-text-primary, #1f1f1f);
  letter-spacing: 0;
}

.imy3-settings-scope .settingsMainCategories {
  display: flex;
  flex-direction: column;
  gap: var(--imy3-space-12, 12px);
  flex: 0 0 auto;
  height: auto;
  overflow: visible;
}

.imy3-settings-scope .settingsMegaSection {
  margin-bottom: 0;
  border-radius: var(--imy3-radius-lg, 16px);
  background: var(--imy3-surface-2, #fff9f2);
  box-shadow: var(--imy3-shadow-card, 0 4px 16px rgba(31, 31, 31, 0.06));
  overflow: hidden;
  border: 1px solid var(--imy3-border, #e8e0d6);
  border-left-width: 4px;
}

.imy3-settings-scope .settingsMegaHead {
  min-height: var(--imy3-touch, 44px);
  padding: var(--imy3-space-12, 12px) var(--imy3-space-16, 16px);
  font-size: 16px;
  font-weight: 800;
  color: var(--imy3-text-primary, #1f1f1f);
  background: var(--imy3-surface-raised, #fff);
  transition: background-color 180ms ease, color 180ms ease;
}

.imy3-settings-scope .settingsMegaTitle {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.imy3-settings-scope .settingsMegaTitleIcon,
.imy3-settings-scope .imy3-cat-glyph {
  width: 24px;
  height: 24px;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  line-height: 1;
  flex-shrink: 0;
}

.imy3-settings-scope .settingsMegaChev {
  color: var(--imy3-text-muted, #737373);
  transition: transform 180ms ease;
}

.imy3-settings-scope .settingsMegaSection[data-settings-cat="general"] {
  border-left-color: var(--imy3-stone-500, #78716c);
}
.imy3-settings-scope .settingsMegaSection[data-settings-cat="general"] .settingsMegaHead,
.imy3-settings-scope .settingsMegaSection[data-settings-cat="general"] .settingsMegaHead[aria-expanded="true"] {
  background: var(--imy3-stone-100, #f5f5f4);
  color: var(--imy3-stone-700, #57534e);
  box-shadow: none;
}
.imy3-settings-scope .settingsMegaSection[data-settings-cat="general"] .settingsMegaTitleIcon,
.imy3-settings-scope .settingsMegaSection[data-settings-cat="general"] .imy3-cat-glyph {
  background: #e7e5e4;
}

.imy3-settings-scope .settingsMegaSection[data-settings-cat="carpool"] {
  border-left-color: var(--imy3-brand, #fa6b1a);
}
.imy3-settings-scope .settingsMegaSection[data-settings-cat="carpool"] .settingsMegaHead,
.imy3-settings-scope .settingsMegaSection[data-settings-cat="carpool"] .settingsMegaHead[aria-expanded="true"] {
  background: var(--imy3-brand-tint, #fff1e8);
  color: var(--imy3-brand-hover, #e85a0c);
  box-shadow: none;
}
.imy3-settings-scope .settingsMegaSection[data-settings-cat="carpool"] .settingsMegaTitleIcon,
.imy3-settings-scope .settingsMegaSection[data-settings-cat="carpool"] .imy3-cat-glyph {
  background: var(--imy3-brand-soft, #ffe8d6);
}

.imy3-settings-scope .settingsMegaSection[data-settings-cat="parking"] {
  border-left-color: var(--imy3-info, #0b63ce);
}
.imy3-settings-scope .settingsMegaSection[data-settings-cat="parking"] .settingsMegaHead,
.imy3-settings-scope .settingsMegaSection[data-settings-cat="parking"] .settingsMegaHead[aria-expanded="true"] {
  background: var(--imy3-info-tint, #e8f1ff);
  color: var(--imy3-info-ink, #0f3f7a);
  box-shadow: none;
}
.imy3-settings-scope .settingsMegaSection[data-settings-cat="parking"] .settingsMegaTitleIcon,
.imy3-settings-scope .settingsMegaSection[data-settings-cat="parking"] .imy3-cat-glyph {
  background: #dbeafe;
}

.imy3-settings-scope .settingsMegaSection[data-settings-cat="transaction"] {
  border-left-color: var(--imy3-success, #16a34a);
}
.imy3-settings-scope .settingsMegaSection[data-settings-cat="transaction"] .settingsMegaHead,
.imy3-settings-scope .settingsMegaSection[data-settings-cat="transaction"] .settingsMegaHead[aria-expanded="true"] {
  background: var(--imy3-success-tint, #ecfdf5);
  color: var(--imy3-success-ink, #14532d);
  box-shadow: none;
}
.imy3-settings-scope .settingsMegaSection[data-settings-cat="transaction"] .settingsMegaTitleIcon,
.imy3-settings-scope .settingsMegaSection[data-settings-cat="transaction"] .imy3-cat-glyph {
  background: #bbf7d0;
}

.imy3-settings-scope .settingsMegaSection[data-settings-cat="notify"] {
  border-left-color: var(--imy3-warning, #d97706);
}
.imy3-settings-scope .settingsMegaSection[data-settings-cat="notify"] .settingsMegaHead,
.imy3-settings-scope .settingsMegaSection[data-settings-cat="notify"] .settingsMegaHead[aria-expanded="true"] {
  background: var(--imy3-warning-tint, #fef3c7);
  color: var(--imy3-warning-ink, #7c2d12);
  box-shadow: none;
}
.imy3-settings-scope .settingsMegaSection[data-settings-cat="notify"] .settingsMegaTitleIcon,
.imy3-settings-scope .settingsMegaSection[data-settings-cat="notify"] .imy3-cat-glyph {
  background: #fde68a;
}

.imy3-settings-scope .settingsMegaBody {
  padding: var(--imy3-space-12, 12px) var(--imy3-space-16, 16px) var(--imy3-space-16, 16px);
}

.imy3-settings-scope .settingsMegaBody .settingGroup {
  margin-bottom: var(--imy3-space-20, 20px);
}

.imy3-settings-scope .settingGroupLabel {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.01em;
  text-transform: none;
  color: var(--imy3-text-secondary, #525252);
  margin-bottom: var(--imy3-space-8, 8px);
}

.imy3-settings-scope .prefsSubLabel {
  font-size: 14px;
  color: var(--imy3-text-secondary, #525252);
  font-weight: 600;
}

.imy3-settings-scope .prefsSubHint,
.imy3-settings-scope .imyHintContent p,
.imy3-settings-scope .imy3-hint,
.imy3-settings-scope .imy3-legal-note {
  font-size: 13px;
  color: var(--imy3-text-muted, #737373);
  line-height: 1.5;
}

.imy3-settings-scope .imy3-stack {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.imy3-settings-scope .imy3-row {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
}
.imy3-settings-scope .imy3-grid-plate {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 6px;
  align-items: center;
}
.imy3-settings-scope .prefsPlateDash {
  font-weight: 800;
  color: var(--imy3-text-muted, #737373);
  line-height: 1;
  user-select: none;
}

.imy3-settings-scope .settingInput,
.imy3-settings-scope select.settingInput,
.imy3-settings-scope textarea.settingInput,
.imy3-settings-scope #navPrefSelect {
  min-height: var(--imy3-touch, 44px);
  width: 100%;
  box-sizing: border-box;
  padding: 12px;
  border-radius: var(--imy3-radius-sm, 8px);
  border: 1.5px solid var(--imy3-border, #e8e0d6);
  background: var(--imy3-surface-raised, #fff);
  color: var(--imy3-text-primary, #1f1f1f);
  font-size: 16px;
  font-family: inherit;
  -webkit-appearance: none;
  appearance: none;
}

.imy3-settings-scope textarea.settingInput {
  min-height: 72px;
  resize: vertical;
  line-height: 1.35;
}

.imy3-settings-scope .settingInput:focus,
.imy3-settings-scope select.settingInput:focus,
.imy3-settings-scope textarea.settingInput:focus,
.imy3-settings-scope #navPrefSelect:focus {
  border-color: var(--imy3-focus, #fa6b1a);
  background: var(--imy3-surface-raised, #fff);
  box-shadow: var(--imy3-focus-ring, 0 0 0 3px rgba(250, 107, 26, 0.35));
  outline: none;
}

.imy3-settings-scope .settingInput:disabled,
.imy3-settings-scope select.settingInput:disabled,
.imy3-settings-scope #navPrefSelect:disabled {
  background: var(--imy3-neutral-fill, #f5f5f5);
  color: var(--imy3-neutral-ink, #4b4b4b);
  opacity: 0.7;
}

.imy3-settings-scope .settingInput[readonly] {
  background: var(--imy3-stone-100, #f5f5f4);
}

.imy3-settings-scope .settingInput::placeholder {
  color: var(--imy3-neutral, #a3a3a3);
}

.imy3-settings-scope #prefsVehiclePlatePart1,
.imy3-settings-scope #prefsVehiclePlatePart2,
.imy3-settings-scope #prefsVehicleYear,
.imy3-settings-scope #walletMiles,
.imy3-settings-scope #walletCoins {
  font-variant-numeric: tabular-nums;
}

.imy3-settings-scope .settingToggle {
  min-height: var(--imy3-touch, 44px);
  padding: var(--imy3-space-12, 12px);
  margin-bottom: var(--imy3-space-8, 8px);
  border-radius: var(--imy3-radius-md, 12px);
  background: var(--imy3-surface-raised, #fff);
  border: 1px solid var(--imy3-border, #e8e0d6);
  font-size: 16px;
  color: var(--imy3-text-primary, #1f1f1f);
  gap: var(--imy3-space-12, 12px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  transition: background-color 180ms ease, border-color 180ms ease;
}

.imy3-settings-scope .settingToggle input[type="checkbox"] {
  width: 22px;
  height: 22px;
  accent-color: var(--imy3-success, #16a34a);
  flex-shrink: 0;
}

.imy3-settings-scope .settingToggle:has(input[type="checkbox"]:checked) {
  border-color: var(--imy3-success, #16a34a);
  background: var(--imy3-success-tint, #ecfdf5);
}

.imy3-settings-scope .settingToggle:has(input[type="checkbox"]:not(:checked)) {
  border-style: dashed;
}

.imy3-settings-scope .settingToggle:has(input[type="checkbox"]:disabled) {
  opacity: 0.72;
  background: var(--imy3-neutral-fill, #f5f5f5);
  border-style: solid;
  border-color: var(--imy3-border, #e8e0d6);
}

.imy3-settings-scope .settingToggle::after {
  flex-shrink: 0;
  min-width: 36px;
  text-align: center;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.04em;
  border-radius: 999px;
  padding: 4px 8px;
}

.imy3-settings-scope .settingToggle:has(input[type="checkbox"]:checked)::after {
  content: "開";
  color: var(--imy3-success-ink, #14532d);
  background: #bbf7d0;
}

.imy3-settings-scope .settingToggle:has(input[type="checkbox"]:not(:checked))::after {
  content: "關";
  color: var(--imy3-stone-700, #57534e);
  background: #e7e5e4;
}

.imy3-settings-scope .settingToggle:has(input[type="checkbox"]:disabled)::after {
  content: "停用";
  color: var(--imy3-neutral-ink, #4b4b4b);
  background: #e5e5e5;
}

.imy3-settings-scope .settingToggle input[type="checkbox"]:disabled {
  accent-color: var(--imy3-neutral, #a3a3a3);
}

.imy3-settings-scope .settingsFabCheckOnly {
  min-width: var(--imy3-touch, 44px);
  min-height: var(--imy3-touch, 44px);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.imy3-settings-scope .settingsFabCheckOnly input[type="checkbox"] {
  width: 22px;
  height: 22px;
  accent-color: var(--imy3-success, #16a34a);
}

.imy3-settings-scope input[type="range"] {
  accent-color: var(--imy3-brand, #fa6b1a);
  min-height: 44px;
  width: 100%;
}

.imy3-settings-scope input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--imy3-brand, #fa6b1a);
  border: 2px solid #fff;
  box-shadow: 0 1px 4px rgba(31, 31, 31, 0.25);
}

.imy3-settings-scope input[type="range"]::-moz-range-thumb {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--imy3-brand, #fa6b1a);
  border: 2px solid #fff;
}

.imy3-settings-scope #settingsSrRange {
  accent-color: var(--imy3-info, #0b63ce);
}
.imy3-settings-scope #settingsSrRange::-webkit-slider-thumb {
  background: var(--imy3-info, #0b63ce);
}
.imy3-settings-scope #settingsSrRange::-moz-range-thumb {
  background: var(--imy3-info, #0b63ce);
}

.imy3-settings-scope .timeCtrlBtn,
.imy3-settings-scope .settingsMiniBtn,
.imy3-settings-scope .imyWarmBtn,
.imy3-settings-scope .imyLangOpt {
  min-height: var(--imy3-touch, 44px);
  padding: 0 var(--imy3-space-12, 12px);
  border-radius: var(--imy3-radius-md, 12px);
  border: 1.5px solid var(--imy3-border, #e8e0d6);
  background: var(--imy3-secondary-tint, #f5f5f5);
  color: var(--imy3-secondary, #4b4b4b);
  font-size: 14px;
  font-weight: 700;
  transition: background-color 180ms ease, border-color 180ms ease, transform 160ms ease;
}

.imy3-settings-scope .timeCtrlBtn:active,
.imy3-settings-scope .settingsMiniBtn:active,
.imy3-settings-scope .imyWarmBtn:active,
.imy3-settings-scope .imyLangOpt:active,
.imy3-settings-scope .fabPanelDoneBtn:active,
.imy3-settings-scope .imy3-btn-block:active,
.imy3-settings-scope .imy3-btn-pay-onetime:active,
.imy3-settings-scope .imy3-btn-pay-sub:active,
.imy3-settings-scope .imy3-btn-peer-xfer:active,
.imy3-settings-scope .imy3-btn-ride-list:active {
  transform: scale(0.98);
}

.imy3-settings-scope .imyLangOpt[aria-pressed="true"],
.imy3-settings-scope .imyLangOpt.is-active {
  background: var(--imy3-brand-tint, #fff1e8);
  border-color: var(--imy3-brand, #fa6b1a);
  color: var(--imy3-brand-hover, #e85a0c);
}

.imy3-settings-scope .onRoutePresetChip {
  min-height: var(--imy3-touch, 44px);
  padding: 0 var(--imy3-space-12, 12px);
  border-radius: var(--imy3-radius-pill, 999px);
  border: 1.5px solid var(--imy3-border, #e8e0d6);
  background: var(--imy3-surface-raised, #fff);
  color: var(--imy3-text-secondary, #525252);
}

.imy3-settings-scope .onRoutePresetChip.is-on,
.imy3-settings-scope .onRoutePresetChip[aria-pressed="true"] {
  background: var(--imy3-brand-tint, #fff1e8);
  border-color: var(--imy3-brand, #fa6b1a);
  color: var(--imy3-brand-hover, #e85a0c);
}

.imy3-settings-scope .fabPanelDoneBtn,
.imy3-settings-scope .settingClose {
  min-height: var(--imy3-touch, 44px);
  border-radius: var(--imy3-radius-md, 12px);
  font-size: var(--imy3-fs-button, 1.125rem);
  font-weight: 700;
  transition: background-color 180ms ease, transform 160ms ease;
}

.imy3-settings-scope #btnSettingsCloseTop.fabPanelDoneBtn,
.imy3-settings-scope #btnSettingsCloseBottom.fabPanelDoneBtn,
.imy3-settings-scope #btnSettingsClose.settingClose {
  background: var(--imy3-secondary-tint, #f5f5f5);
  color: var(--imy3-secondary, #4b4b4b);
  border: 1.5px solid var(--imy3-border, #e8e0d6);
}

.imy3-settings-scope .imy3-btn-block {
  width: 100%;
}

.imy3-settings-scope .settingsWalletRow {
  background: var(--imy3-surface-raised, #fff);
  border: 1px solid var(--imy3-border, #e8e0d6);
  border-radius: var(--imy3-radius-md, 12px);
  padding: var(--imy3-space-16, 16px);
  display: grid;
  gap: 8px;
}

.imy3-settings-scope .imy3-wallet-line {
  font-size: 14px;
  color: var(--imy3-text-muted, #737373);
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
}

.imy3-settings-scope .walletVal {
  font-variant-numeric: tabular-nums;
  font-weight: 800;
  font-size: 20px;
  font-family: var(--imy3-font-numeric, ui-monospace, Menlo, Consolas, monospace);
}

.imy3-settings-scope #walletCoins.walletVal {
  color: var(--imy3-success, #16a34a);
}

.imy3-settings-scope #walletMiles.walletVal {
  color: var(--imy3-info, #0b63ce);
}

.imy3-settings-scope .settingsWalletRefresh,
.imy3-settings-scope #membershipStatusText {
  font-size: 15px;
  font-weight: 700;
  color: var(--imy3-text-primary, #1f1f1f);
}

.imy3-settings-scope .settingsWalletRefresh {
  min-height: 44px;
  min-width: 44px;
  background: none;
  border: none;
  cursor: pointer;
  color: var(--imy3-text-secondary, #525252);
  font-size: 14px;
  text-align: left;
}

.imy3-settings-scope #membershipExpireText {
  font-size: 13px;
  color: var(--imy3-text-muted, #737373);
}

.imy3-settings-scope .imy3-agree {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 13px;
  margin-bottom: 10px;
  cursor: pointer;
  line-height: 1.45;
  color: var(--imy3-text-secondary, #525252);
  max-width: 100%;
  box-sizing: border-box;
}

.imy3-settings-scope .imy3-agree a {
  color: var(--imy3-info, #0b63ce);
  font-weight: 700;
  text-decoration: underline;
}

.imy3-settings-scope .imy3-btn-pay-onetime,
.imy3-settings-scope .imy3-btn-pay-sub,
.imy3-settings-scope .imy3-btn-peer-xfer,
.imy3-settings-scope .imy3-btn-ride-list {
  width: 100%;
  min-height: 44px;
  padding: 12px;
  border-radius: 12px;
  border: none;
  color: #fff;
  font-size: 16px;
  font-weight: 800;
  cursor: pointer;
  margin-bottom: 8px;
  transition: filter 180ms ease, transform 160ms ease;
}

.imy3-settings-scope .imy3-btn-pay-onetime {
  background: var(--imy3-success, #16a34a);
}
.imy3-settings-scope .imy3-btn-pay-sub {
  background: var(--imy3-info, #0b63ce);
}
.imy3-settings-scope .imy3-btn-peer-xfer {
  background: var(--imy3-brand, #fa6b1a);
}
.imy3-settings-scope .imy3-btn-ride-list {
  background: var(--imy3-info, #0b63ce);
}

.imy3-settings-scope .imy3-peer-box {
  margin-top: 0;
  padding: 12px;
  background: var(--imy3-surface-raised, #fff);
  border-radius: 12px;
  border: 1px solid var(--imy3-border, #e8e0d6);
}

.imy3-settings-scope .imy3-peer-title {
  font-size: 15px;
  font-weight: 800;
  color: var(--imy3-text-primary, #1f1f1f);
  margin-bottom: 8px;
}

.imy3-settings-scope .imy3-risk {
  font-size: 13px;
  color: var(--imy3-warning-ink, #7c2d12);
  background: var(--imy3-warning-tint, #fef3c7);
  border: 1px solid #fcd34d;
  border-radius: 8px;
  padding: 8px;
  margin-bottom: 10px;
  line-height: 1.45;
}

.imy3-settings-scope .imy3-fiat {
  font-size: 16px;
  font-weight: 800;
  color: var(--imy3-success, #16a34a);
  margin-bottom: 8px;
  min-height: 18px;
  font-variant-numeric: tabular-nums;
}

.imy3-settings-scope .settingsNotifyCatTitle {
  font-size: 16px;
  color: var(--imy3-text-primary, #1f1f1f);
}

.imy3-settings-scope .settingsNotifyCatHead--guardian .settingsNotifyCatTitle {
  color: var(--imy3-text-primary, #1f1f1f);
}

.imy3-settings-scope .settingsFabBlock {
  border: 1px solid var(--imy3-border, #e8e0d6);
  background: var(--imy3-surface-raised, #fff);
  border-radius: var(--imy3-radius-md, 12px);
}

.imy3-settings-scope .settingsFabSectionTitle {
  font-size: 16px;
  font-weight: 700;
  color: var(--imy3-text-primary, #1f1f1f);
}

.imy3-settings-scope .settingsFabVal,
.imy3-settings-scope .settingsFabValUnit,
.imy3-settings-scope #settingsWmVal,
.imy3-settings-scope #settingsSrVal,
.imy3-settings-scope #settingsEtaRedVal,
.imy3-settings-scope #settingsEtaOrangeVal {
  font-variant-numeric: tabular-nums;
  font-size: 16px;
  font-weight: 800;
}

.imy3-settings-scope .imyHintBtn {
  min-width: 44px;
  min-height: 44px;
  border-radius: 999px;
  border: 1.5px solid var(--imy3-border, #e8e0d6);
  background: var(--imy3-surface-raised, #fff);
  color: var(--imy3-text-secondary, #525252);
  font-weight: 800;
}

.imy3-settings-scope .fabPanelDoneFooter {
  padding-top: var(--imy3-space-12, 12px);
}

.imy3-settings-scope .imy3-nav-current {
  font-size: 13px;
  color: var(--imy3-info, #0b63ce);
  font-weight: 700;
}

.imy3-settings-scope .payBindLbl {
  font-size: 14px;
  font-weight: 700;
}

.imy3-settings-scope .imy3-bound-flag {
  font-size: 13px;
  color: var(--imy3-text-muted, #737373);
  white-space: nowrap;
}

.imy3-settings-scope .imy3-photo-preview {
  max-width: 100%;
  max-height: 140px;
  border-radius: 10px;
  border: 1px solid var(--imy3-border, #e8e0d6);
  object-fit: cover;
}

@media (prefers-reduced-motion: reduce) {
  .imy3-settings-scope .settingsMegaHead,
  .imy3-settings-scope .settingsMegaChev,
  .imy3-settings-scope .settingToggle,
  .imy3-settings-scope .timeCtrlBtn,
  .imy3-settings-scope .fabPanelDoneBtn,
  .imy3-settings-scope .imy3-btn-pay-onetime,
  .imy3-settings-scope .imy3-btn-pay-sub,
  .imy3-settings-scope .imy3-btn-peer-xfer,
  .imy3-settings-scope .imy3-btn-ride-list {
    transition: none;
  }
}
