/* Shared customer-account skin. Business selectors and controllers stay native. */
.ez-auth,
.ez-member {
  --md-primary: #5146d8;
  --md-primary-rgb: 81, 70, 216;
  --md-primary-hover: #4035bc;
  --md-on-primary: #fff;
  --md-primary-container: #eeebff;
  --uc-primary-deep: #4439bd;
  --uc-ink: #35302f;
  --uc-ink-med: #625b55;
  --uc-ink-dis: #6c625e;
  --uc-focus: #5146d8;
  --uc-focus-rgb: 81, 70, 216;
  --glass-bg: rgba(246, 240, 226, .76);
  --glass-bg-strong: rgba(251, 247, 237, .9);
  --glass-bg-soft: rgba(250, 243, 226, .84);
  --glass-border: rgba(100, 80, 54, .2);
  --glass-border-soft: rgba(100, 80, 54, .12);
  --glass-hi: none;
  --glass-filter: blur(12px);
  --glass-filter-strong: blur(18px);
  --glass-shadow: 0 10px 30px rgba(37, 30, 29, .12);
  --glass-shadow-lg: 0 16px 40px rgba(37, 30, 29, .18);
  --glass-radius: 14px;
  --glass-radius-sm: 10px;
  --uc-field-bg: rgba(255, 253, 247, .96);
  --md-surface: #fffcf4;
  --md-surface-2: #fffaf0;
  --md-on-surface: #35302f;
  --md-on-surface-med: #625b55;
  --md-on-surface-dis: #6c625e;
  --md-divider: rgba(100, 80, 54, .18);
  --md-outline: #9b907e;
  --md-focus-ring: rgba(81, 70, 216, .24);
  --ez-member-heading: "Noto Serif SC", "Source Han Serif SC", "Songti SC", "STSong", "SimSun", serif;
  color: var(--uc-ink);
  caret-color: var(--md-primary);
  scrollbar-color: #8f8574 transparent;
}
.ez-auth ::selection,
.ez-member ::selection { background: #dcd5ff; color: #302575; }
.ez-auth a,
.ez-member a { text-underline-offset: .2em; }
.ez-auth :focus-visible,
.ez-member :focus-visible { outline: 3px solid var(--uc-focus); outline-offset: 3px; }
.ez-auth input,
.ez-member input,
.ez-member table { font-variant-numeric: tabular-nums; }

/* The same landscape remains visible around every account page. */
:root[data-theme] .ez-member .bg-content.uc-bg { background: transparent !important; }
:root[data-theme] .ez-member .uc-nav-wrap { max-width: 1280px; margin-inline: auto; padding: 24px 24px 0; }
:root[data-theme] .ez-member .uc-nav { border: 0; border-radius: 14px; background: var(--glass-bg-strong); }
:root[data-theme] .ez-member .uc-brand__name { font-family: var(--ez-member-heading); font-size: 21px; font-weight: 700; }
:root[data-theme] .ez-member .uc-main { max-width: 1280px; padding: 0 24px 64px; }
.ez-member-heading { max-width: 1280px; margin: 28px auto 20px; padding: 0 24px; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.ez-member-heading h1 { margin: 0; color: var(--ez-ink); font-family: var(--ez-member-heading); font-size: clamp(26px, 3vw, 36px); font-weight: 700; line-height: 1.35; text-shadow: none; }
.ez-member-heading > a { display: inline-flex; align-items: center; gap: 8px; flex-shrink: 0; min-height: 40px; padding: 8px 14px; border-radius: 10px; background: var(--glass-bg-strong); color: var(--uc-primary-deep); font-size: 13px; }
.ez-member .uc-card,
.ez-member .uc-stat,
.ez-member .uc-strip,
.ez-member .uc-plan,
.ez-member .uc-subtab { border-color: transparent; }
.ez-member .uc-card__title,
.ez-member .uc-subhead,
.ez-member .uc-section-title { font-family: var(--ez-member-heading); font-weight: 700; }
.ez-member .uc-subhead { color: var(--ez-ink); text-shadow: none; }
.ez-member .uc-card .uc-subhead { color: var(--uc-ink); text-shadow: none; }
.ez-member .uc-subtab { background: var(--glass-bg-strong); padding: 8px; border-radius: 12px; }
.ez-member .uc-subtab a { min-height: 44px; }
.ez-member .uc-stats { gap: 16px; }
.ez-member .uc-stat__value { color: var(--uc-primary-deep); }
.ez-member .uc-card__head { border-bottom-color: var(--glass-border-soft); }
.ez-member .uc-card__body { overflow-wrap: anywhere; }
.ez-member .uc-message-dropdown,
.ez-member .uc-submenu,
.ez-member .uc-drawer { background: var(--glass-bg-strong); }
.ez-member .uc-nav__item:hover,
.ez-member .uc-subitem:hover,
.ez-member .uc-nav__item.active,
.ez-member .uc-subtab a.active { background: rgba(81, 70, 216, .09); color: var(--uc-primary-deep); }
.ez-member .layui-input,
.ez-member .layui-textarea,
.ez-member .form-control,
.ez-member .form-select { color: var(--uc-ink); background-color: var(--uc-field-bg); border-color: #9b907e; }
.ez-member input::placeholder,
.ez-member textarea::placeholder { color: var(--uc-ink-med); }
.ez-member .layui-layer { background: var(--glass-bg-strong); color: var(--uc-ink); }
.ez-member .table { color: var(--uc-ink); }
.ez-member .bootstrap-table .fixed-table-container { border-color: var(--glass-border-soft); }
.ez-member .uc-ticket-stat,
.ez-member .uc-message-stat { background: var(--glass-bg); }

/* Authentication uses the storefront brand rather than an unrelated screen. */
.ez-auth .auth-wrapper { min-height: calc(100svh - 174px); align-items: flex-start; padding: clamp(56px, 12vh, 124px) 20px 72px; background: transparent; overflow: visible; }
.ez-auth .auth-wrapper::before,
.ez-auth .auth-wrapper::after { content: none; }
.ez-auth .auth-card { max-width: 416px; padding: 32px; color: var(--uc-ink); background: var(--glass-bg); border: 0; border-radius: 22px; box-shadow: none; backdrop-filter: var(--glass-filter); -webkit-backdrop-filter: var(--glass-filter); }
.ez-auth .brand-header { display: flex; align-items: center; justify-content: flex-start; gap: 12px; margin: 0 0 24px; }
.ez-auth .brand-logo { width: 48px; height: 48px; flex: 0 0 auto; margin: 0; padding: 0; background: transparent; box-shadow: none; }
.ez-auth .brand-icon { width: 48px; height: 48px; object-fit: contain; box-shadow: none; }
.ez-auth .brand-icon:hover { transform: none; box-shadow: none; }
.ez-auth-brand-name { color: var(--uc-ink); font-family: var(--ez-member-heading); font-size: 19px; font-weight: 700; }
.ez-auth-title { margin: 0 0 8px; text-align: left; color: var(--uc-ink); font-family: var(--ez-member-heading); font-size: 24px; font-weight: 700; line-height: 1.35; }
.ez-auth .auth-subtitle { color: var(--uc-ink-med); text-align: left; font-size: 13px; line-height: 1.8; }
.ez-auth .auth-card .text-link { color: var(--uc-primary-deep); }
.ez-auth .auth-card .text-center { color: var(--uc-ink-med); }
.ez-auth .form-floating { display: flex; flex-direction: column-reverse; }
.ez-auth .form-floating > .form-control,
.ez-auth .form-floating > .form-control-plaintext { height: 38px; min-height: 38px; padding: 8px 12px !important; border-color: #9b907e; background: var(--uc-field-bg); color: var(--uc-ink); border-radius: 8px; font-size: 13px; }
.ez-auth .form-floating > label { position: static; height: auto; margin-bottom: 7px; padding: 0; color: var(--uc-ink-med); opacity: 1 !important; transform: none !important; font-size: 12px; }
.ez-auth .form-floating > label::after { background: transparent !important; }
.ez-auth .form-control:focus { border-color: var(--md-primary); background: var(--uc-field-bg); color: var(--uc-ink); box-shadow: 0 0 0 3px rgba(81, 70, 216, .15); }
.ez-auth .form-control::placeholder { color: var(--uc-ink-med); }
.ez-auth .form-floating .form-control::placeholder { color: var(--uc-ink-med); }
.ez-auth .btn-gradient { min-height: 36px; padding: 8px 14px; border-radius: 999px; background: var(--md-primary); color: #fff; box-shadow: none; font-weight: 600; font-size: 13px; line-height: 20px; }
.ez-auth .btn-gradient:hover { background: var(--md-primary-hover); filter: none; transform: none; box-shadow: none; }
.ez-auth .btn-passkey,
.ez-auth .btn-outline-primary { min-height: 36px; padding: 7px 14px; color: var(--uc-primary-deep); border-color: #9b91c5; background: rgba(255, 253, 247, .6); border-radius: 999px; box-shadow: none; font-size: 13px; line-height: 20px; }
.ez-auth .btn-passkey:hover,
.ez-auth .btn-outline-primary:hover { color: #fff; background: var(--md-primary); border-color: var(--md-primary); transform: none; box-shadow: none; }
.ez-auth .btn-passkey__badge { width: 20px; height: 20px; color: inherit; background: transparent; box-shadow: none; }
.ez-auth .btn-passkey:hover .btn-passkey__badge { box-shadow: none; }
.ez-auth .btn-passkey[hidden] { display: none; }
.ez-auth .btn:disabled { opacity: .55; cursor: not-allowed; }
.ez-auth .form-check label { color: var(--uc-ink-med); }
.ez-auth input[type="checkbox"] { accent-color: var(--md-primary); box-shadow: none; }
.ez-auth input[type="checkbox"]:checked { background: var(--md-primary); border-color: var(--md-primary); box-shadow: none; }
.ez-auth .image-code { max-width: 100%; border-radius: 8px; }
.ez-auth .divider { color: var(--uc-ink-med); }
:root[data-theme="dark"] .ez-member,
:root[data-theme="dark"] .ez-auth {
  --md-primary: #b9aeff;
  --md-primary-rgb: 185, 174, 255;
  --md-on-primary: #241c43;
  --uc-primary-deep: #c5bbff;
  --uc-ink: #f1e9dd;
  --uc-ink-med: #cdc2b5;
  --uc-ink-dis: #b6ac9f;
  --glass-bg: rgba(43, 39, 44, .93);
  --glass-bg-strong: rgba(47, 42, 48, .98);
  --glass-bg-soft: rgba(62, 54, 61, .92);
  --glass-border: rgba(237, 220, 197, .2);
  --glass-border-soft: rgba(237, 220, 197, .14);
  --uc-field-bg: rgba(33, 29, 36, .95);
  --md-surface: #302b33;
  --md-surface-2: #3b3440;
  --md-on-surface: #f1e9dd;
  --md-on-surface-med: #cdc2b5;
  --md-on-surface-dis: #b6ac9f;
  --uc-focus: #b9aeff;
}
@media (max-width: 767px) {
  :root[data-theme] .ez-member .uc-nav-wrap { padding: 12px 12px 0; }
  :root[data-theme] .ez-member .uc-main { padding: 0 12px 40px; }
  .ez-member-heading { margin: 22px auto 18px; padding-inline: 16px; }
  .ez-member-heading h1 { font-size: 27px; }
  .ez-member .uc-stats { gap: 10px; }
  .ez-auth .auth-wrapper { min-height: calc(100svh - 152px); padding: 56px 16px 48px; }
  .ez-auth .auth-card { padding: 28px; }
}
@media (max-width: 380px) {
  .ez-auth .auth-card { padding-inline: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .ez-auth *, .ez-member * { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
