/* front-deferred */
.product-rich-text {
  max-width:100%;
  overflow-wrap:anywhere;
  color:#55495a;
  font-size:14px;
  line-height:1.85;
}
.product-rich-text > :first-child { margin-top:0; }
.product-rich-text > :last-child { margin-bottom:0; }
.product-rich-text p { margin:0 0 13px; color:inherit; line-height:inherit; }
.product-rich-text h2,
.product-rich-text h3,
.product-rich-text h4 { margin:22px 0 10px; color:#2f2633; line-height:1.35; }
.product-rich-text h2 { font-size:21px; }
.product-rich-text h3 { font-size:18px; }
.product-rich-text h4 { font-size:16px; }
.product-rich-text ul,
.product-rich-text ol { margin:10px 0 16px; padding-left:24px; }
.product-rich-text li { margin:5px 0; }
.product-rich-text blockquote { margin:15px 0; padding:11px 14px; border-left:3px solid #a855a5; border-radius:0 10px 10px 0; color:#6e5b73; background:#faf4fb; }
.product-rich-text a { color:#8a398c; font-weight:700; text-decoration:underline; text-underline-offset:2px; }
.product-rich-text img { display:block; width:auto; max-width:100%; max-height:720px; margin:16px auto; border-radius:14px; object-fit:contain; box-shadow:0 8px 24px rgba(77,45,83,.1); }
.product-rich-text figure { margin:18px 0; }
.product-rich-text figure img { margin-bottom:7px; }
.product-rich-text figcaption { color:#918596; font-size:11px; text-align:center; }
.product-rich-text hr { height:1px; margin:20px 0; border:0; background:#ede5ef; }
@media (max-width:520px) {
  .product-rich-text { font-size:13px; line-height:1.8; }
  .product-rich-text h2 { font-size:19px; }
  .product-rich-text h3 { font-size:17px; }
  .product-rich-text img { max-height:520px; border-radius:11px; }
}
.shop-account-bar {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) auto auto;
  gap: 9px;
  align-items: stretch;
  margin: 0 0 14px;
  padding: 11px;
  border: 1px solid #eadff0;
  border-radius: 18px;
  background: linear-gradient(135deg, #fff, #fbf7ff);
  box-shadow: 0 9px 22px rgba(124, 58, 237, .07);
}
.shop-account-bar > div {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  padding: 1px 7px;
}
.shop-account-bar small { color: #8c7c91; font-size: 11px; }
.shop-account-bar b { color: #8d4da1; font-size: 19px; line-height: 1.5; }
.shop-account-bar button {
  position: relative;
  min-width: 92px;
  padding: 0 12px;
  border: 1px solid #eadff0;
  border-radius: 13px;
  background: #fff;
  color: #66366e;
  font-weight: 800;
}
.shop-cart-entry em {
  position: absolute;
  top: -7px;
  right: -5px;
  min-width: 20px;
  height: 20px;
  padding: 0 5px;
  border-radius: 999px;
  background: #ec4899;
  color: #fff;
  font-size: 11px;
  font-style: normal;
  line-height: 20px;
}
.product-card-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.product-card-actions button {
  min-height: 38px;
  border-radius: 11px;
  background: #f5eefa;
  color: #793b8a;
  font-weight: 800;
}
.product-card-actions .quick-cart-button {
  background: linear-gradient(135deg, #a855f7, #ec4899);
  color: #fff;
  box-shadow: 0 7px 14px rgba(236, 72, 153, .18);
}
.product-card-actions button:disabled,
.product-purchase-actions button:disabled {
  background: #ddd8df;
  color: #99909c;
  box-shadow: none;
  cursor: not-allowed;
}
.product-purchase-panel {
  position: sticky;
  bottom: 82px;
  z-index: 12;
  display: grid;
  grid-template-columns: minmax(100px, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 15px;
  border: 1px solid rgba(198, 145, 209, .34);
  border-radius: 21px;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 16px 34px rgba(74, 35, 88, .18);
  backdrop-filter: blur(12px);
}
.product-purchase-panel > div:first-child { display: grid; gap: 2px; }
.product-purchase-panel span, .product-purchase-panel small { color: #8d8091; font-size: 11px; }
.product-purchase-panel b { color: #e83f8c; font-size: 21px; }
.product-quantity-control { display: flex; align-items: center; overflow: hidden; border: 1px solid #e8ddea; border-radius: 11px; }
.product-quantity-control button { width: 35px; height: 36px; background: #faf7fb; color: #78437f; font-size: 18px; }
.product-quantity-control input { width: 46px; height: 36px; border: 0; border-right: 1px solid #e8ddea; border-left: 1px solid #e8ddea; outline: 0; text-align: center; }
.product-purchase-actions { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1.25fr; gap: 9px; }
.product-purchase-actions button { min-height: 45px; border-radius: 13px; background: #f3e8f7; color: #82448d; font-size: 15px; font-weight: 900; }
.product-purchase-actions .buy-now { background: linear-gradient(135deg, #a855f7, #ec4899); color: #fff; box-shadow: 0 9px 20px rgba(210, 68, 165, .24); }
.shopping-cart-page,
.shop-orders-page { min-height: calc(100vh - 170px); }
.shop-subpage-head {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  gap: 11px;
  align-items: center;
  margin-bottom: 15px;
  padding: 12px;
  border-radius: 18px;
  background: linear-gradient(135deg, #71388c, #c54e9d);
  color: #fff;
  box-shadow: 0 12px 28px rgba(118, 54, 137, .2);
}
.shop-subpage-head > button:first-child {
  width: 42px;
  height: 42px;
  border-radius: 13px;
  background: rgba(255,255,255,.17);
  color: #fff;
  font-size: 27px;
}
.shop-subpage-head h2 { margin-bottom: 3px; font-size: 19px; }
.shop-subpage-head p { color: rgba(255,255,255,.78); font-size: 11px; line-height: 1.5; }
.shop-order-link { padding: 9px 12px; border-radius: 11px; background: #fff; color: #82448d; font-weight: 800; }
.shopping-cart-items,
.shop-orders-list { display: grid; gap: 12px; }
.shopping-cart-item {
  display: grid;
  grid-template-columns: 94px minmax(0, 1fr);
  gap: 13px;
  padding: 12px;
  border: 1px solid #eee5f1;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 8px 20px rgba(75, 36, 88, .06);
}
.cart-product-image {
  min-height: 105px;
  border-radius: 14px;
  background-position: center;
  background-size: cover;
}
.cart-product-info { min-width: 0; }
.cart-product-info h3 { overflow: hidden; margin: 2px 0 6px; font-size: 15px; text-overflow: ellipsis; white-space: nowrap; }
.cart-product-info > p { color: #928797; font-size: 11px; line-height: 1.55; }
.cart-product-info > b { display: block; margin-top: 7px; color: #e23e89; font-size: 16px; }
.cart-item-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 9px; }
.cart-item-actions > strong { margin-left: auto; color: #512a5d; }
.cart-quantity { display: flex; align-items: center; overflow: hidden; border: 1px solid #e6dce8; border-radius: 9px; }
.cart-quantity button { width: 28px; height: 28px; background: #f9f5fa; color: #713c7b; }
.cart-quantity span { min-width: 30px; text-align: center; font-size: 12px; }
.cart-remove { padding: 6px 8px; border-radius: 8px; background: #fff0f3; color: #e24562; font-size: 11px; }
.shop-checkout-card {
  margin-top: 14px;
  padding: 18px;
  border: 1px solid #eadff0;
  border-radius: 21px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(75, 36, 88, .08);
}
.shop-checkout-row { display: flex; justify-content: space-between; gap: 12px; padding: 10px 2px; border-bottom: 1px dashed #eee5f0; color: #766b79; }
.shop-checkout-row b { color: #3f3442; }
.shop-checkout-row.total { margin-top: 3px; border-bottom: 0; font-size: 17px; }
.shop-checkout-row.total b { color: #e33d8b; font-size: 22px; }
.cart-balance-hint { margin: 8px 0 15px; padding: 10px 12px; border-radius: 10px; font-size: 12px; line-height: 1.5; }
.cart-balance-hint.enough { background: #ecfdf3; color: #15803d; }
.cart-balance-hint.insufficient { background: #fff2f2; color: #dc2626; }
.checkout-address-form { display: grid; gap: 11px; margin: 16px 0; padding-top: 4px; }
.checkout-address-form h3 { margin-bottom: 2px; font-size: 16px; }
.checkout-address-form label { display: grid; gap: 6px; color: #5f5363; font-size: 12px; font-weight: 800; }
.checkout-address-form input,
.checkout-address-form textarea { width: 100%; min-height: 43px; padding: 10px 12px; border: 1px solid #e8dfea; border-radius: 11px; background: #fbf9fc; outline: 0; color: #332b35; resize: vertical; }
.checkout-address-form textarea { min-height: 76px; }
.checkout-address-form input:focus,
.checkout-address-form textarea:focus { border-color: #bb6ab7; box-shadow: 0 0 0 3px rgba(187,106,183,.1); }
.shop-checkout-button { width: 100%; min-height: 49px; border-radius: 14px; background: linear-gradient(135deg, #9d4edd, #ec4899); color: #fff; font-size: 16px; font-weight: 900; box-shadow: 0 10px 22px rgba(213,62,151,.22); }
.shop-checkout-button:disabled { background: #d9d4db; box-shadow: none; cursor: not-allowed; }
.shop-clear-cart { width: 100%; margin-top: 10px; padding: 9px; background: transparent; color: #a28f9f; }
.shop-empty-state { padding: 35px 20px; border: 1px dashed #e4d9e7; border-radius: 20px; background: #fff; color: #8c7f90; text-align: center; }
.shop-empty-state > span { display: block; margin-bottom: 10px; font-size: 35px; }
.shop-empty-state h3 { margin-bottom: 7px; color: #493c4c; }
.shop-empty-state p { font-size: 12px; line-height: 1.7; }
.shop-empty-state button { margin-top: 14px; padding: 10px 18px; border-radius: 11px; background: #984ba8; color: #fff; font-weight: 800; }
.shop-order-card { overflow: hidden; border: 1px solid #eadff0; border-radius: 19px; background: #fff; box-shadow: 0 9px 22px rgba(69,32,82,.07); }
.shop-order-head { display: flex; justify-content: space-between; gap: 12px; align-items: center; padding: 14px; background: #fcf9fd; }
.shop-order-head > div { display: grid; gap: 3px; min-width: 0; }
.shop-order-head small { color: #9c8f9f; font-size: 10px; }
.shop-order-head b { overflow: hidden; color: #4b3d4f; font-size: 12px; text-overflow: ellipsis; }
.shop-order-head > span { padding: 5px 9px; border-radius: 999px; background: #fff4d9; color: #a16207; font-size: 11px; font-weight: 800; white-space: nowrap; }
.shop-order-head > span.processing { background: #eef2ff; color: #4f46e5; }
.shop-order-head > span.shipped { background: #e8f7ff; color: #0284c7; }
.shop-order-head > span.completed { background: #eafaf0; color: #15803d; }
.shop-order-head > span.cancelled { background: #f2f2f2; color: #888; }
.shop-order-products { padding: 4px 14px; }
.shop-order-products > div { display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 10px 0; border-bottom: 1px dashed #eee6ef; }
.shop-order-image { width: 52px; height: 52px; border-radius: 11px; background: linear-gradient(135deg,#f5d0fe,#c4b5fd); background-position: center; background-size: cover; }
.shop-order-products p { display: grid; gap: 4px; min-width: 0; }
.shop-order-products p b { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.shop-order-products p span { color: #958798; font-size: 11px; }
.shop-order-products strong { color: #d93e86; font-size: 13px; }
.shop-order-address { display: grid; grid-template-columns: 66px minmax(0, 1fr); gap: 8px; padding: 12px 14px; color: #8f8292; font-size: 11px; line-height: 1.7; }
.shop-order-address p { color: #584c5b; }
.shop-order-foot { display: flex; justify-content: space-between; gap: 12px; align-items: center; padding: 12px 14px; background: #fcf9fd; }
.shop-order-foot small { color: #9a8c9d; font-size: 10px; }
.shop-order-foot p { font-size: 11px; text-align: right; }
.shop-order-foot b { color: #df3c89; font-size: 15px; }
@media (max-width: 520px) {
  .shop-account-bar { grid-template-columns: 1fr 1fr; }
  .shop-account-bar > div { grid-column: 1 / -1; flex-direction: row; align-items: center; justify-content: space-between; }
  .shop-account-bar button { min-height: 41px; }
  .product-purchase-panel { bottom: 78px; }
}
@media (max-width: 390px) {
  .shopping-cart-item { grid-template-columns: 78px minmax(0, 1fr); padding: 10px; }
  .cart-product-image { min-height: 92px; }
  .cart-item-actions > strong { order: 3; width: 100%; margin-left: 0; }
  .shop-subpage-head { grid-template-columns: 38px minmax(0, 1fr) auto; padding: 10px; }
  .shop-subpage-head > button:first-child { width: 38px; height: 38px; }
}
button {
  border: none;
  cursor: pointer;
}
.login-screen {
  width: 100%;
  min-height: 100vh;
  background: linear-gradient(135deg, #7c3aed, #ec4899);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  overflow-y: auto;
}
.login-card {
  width: 100%;
  max-width: 380px;
  background: rgba(255, 255, 255, 0.96);
  border-radius: 28px;
  padding: 32px 24px;
  text-align: center;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.18);
}
.logo {
  width: 72px;
  height: 72px;
  margin: 0 auto 18px;
  border-radius: 24px;
  background: linear-gradient(135deg, #7c3aed, #ec4899);
  color: #fff;
  font-size: 28px;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
}
.logo img {
  width: 100%;
  height: 100%;
  border-radius: inherit;
  object-fit: cover;
}
.local-file-notice { position:fixed; z-index:900; top:10px; left:50%; display:flex; align-items:center; gap:10px; width:min(620px,calc(100vw - 24px)); padding:10px 12px; border:1px solid #fdba74; border-radius:13px; background:#fff7ed; color:#9a3412; box-shadow:0 12px 30px rgba(124,45,18,.16); transform:translateX(-50%); font-size:12px; font-weight:750; }
.local-file-notice.hidden { display:none !important; }
.local-file-notice span { min-width:0; flex:1; line-height:1.45; }
.local-file-notice a { flex:0 0 auto; padding:7px 10px; border-radius:9px; background:#c2410c; color:#fff; font-size:11px; font-weight:850; }
.login-language-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  justify-content: flex-end;
  margin: -8px 0 10px;
}
.currency-language-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 58px;
  height: 34px;
  padding: 0 9px;
  border: 1px solid #e9dced;
  border-radius: 10px;
  background: #f8f3fa;
  color: #744b7f;
  font-size: 11px;
  font-weight: 850;
  white-space: nowrap;
}
.app-currency-badge {
  border-color: rgba(255,255,255,.35);
  background: rgba(255,255,255,.16);
  color: #fff;
}
[data-currency-symbol] { font-style: normal; }
.login-language-bar label,
.login-language-control {
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
  color: #817487;
  font-size: 12px;
  font-weight: 700;
}
.login-language-control { flex: 1 1 250px; justify-content: flex-end; }
.login-language-control > span { flex: 0 0 auto; white-space: nowrap; }
.login-language-picker { position: relative; width: min(100%, 190px); min-width: 0; }
.login-language-native { position: absolute !important; width: 1px !important; height: 1px !important; margin: -1px !important; padding: 0 !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; clip-path: inset(50%) !important; border: 0 !important; white-space: nowrap !important; }
.login-card .login-language-button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  min-width: 0;
  height: 40px;
  padding: 0 12px;
  border: 1px solid #e5d7eb;
  border-radius: 13px;
  background: rgba(255,255,255,.98);
  color: #5c4d61;
  font-size: 12px;
  font-weight: 750;
  text-align: left;
  box-shadow: 0 5px 14px rgba(73,43,82,.05);
}
.login-card .login-language-button:hover { background:#fff; filter:none; }
.login-language-button > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.login-language-button > i { width: 8px; height: 8px; flex: 0 0 8px; border-right: 2px solid #7b6681; border-bottom: 2px solid #7b6681; transform: translateY(-2px) rotate(45deg); transition: transform .18s ease; }
.login-card .login-language-button[aria-expanded="true"] { border-color: color-mix(in srgb,var(--brand-primary) 55%,#e5d7eb); background:#fff; box-shadow: 0 0 0 3px color-mix(in srgb,var(--brand-primary) 14%,transparent); }
.login-language-button[aria-expanded="true"] > i { transform: translateY(2px) rotate(225deg); }
.login-language-menu {
  position: absolute;
  z-index: 120;
  top: calc(100% + 7px);
  right: 0;
  display: grid;
  width: max(100%, 220px);
  max-height: min(286px, 48vh);
  overflow-y: auto;
  padding: 6px;
  border: 1px solid #e4d7e8;
  border-radius: 15px;
  background: rgba(255,255,255,.99);
  box-shadow: 0 18px 42px rgba(63,34,70,.19);
  overscroll-behavior: contain;
}
.login-language-menu.hidden { display: none !important; }
.login-card .login-language-menu button { display:flex; align-items:center; justify-content:space-between; gap:10px; width:100%; min-height:38px; padding:7px 9px; border:0; border-radius:10px; background:transparent; color:#55475a; font-size:12px; font-weight:700; text-align:left; box-shadow:none; }
.login-card .login-language-menu button:hover,
.login-card .login-language-menu button:focus-visible { background:#f7eff9; color:#55475a; filter:none; }
.login-card .login-language-menu button.active { background:linear-gradient(135deg,#f3e9fa,#fcedf6); color:#7c3b80; }
.login-language-menu button i { display:grid; place-items:center; width:21px; height:21px; flex:0 0 21px; border-radius:50%; background:linear-gradient(135deg,var(--brand-primary),var(--brand-secondary)); color:#fff; font-size:10px; font-style:normal; }
.login-language-bar select,
.app-language-select {
  height: 34px;
  max-width: 170px;
  padding: 0 28px 0 10px;
  border: 1px solid #eadff0;
  border-radius: 10px;
  background: #fff;
  color: #5c4d61;
  outline: none;
  font-size: 12px;
}
.login-card h1 {
  font-size: 28px;
  margin-bottom: 8px;
}
.login-card p {
  color: #777;
  margin-bottom: 24px;
}
.login-card input {
  width: 100%;
  height: 48px;
  border: 1px solid #eee;
  border-radius: 14px;
  margin-bottom: 14px;
  padding: 0 16px;
  outline: none;
  font-size: 15px;
}
.login-card button {
  width: 100%;
  height: 50px;
  border-radius: 16px;
  background: linear-gradient(135deg, #7c3aed, #ec4899);
  color: #fff;
  font-size: 17px;
  font-weight: bold;
  margin-top: 8px;
}
.login-card .register-btn {
  background: #fff;
  color: #ec4899;
  border: 1px solid #ec4899;
}
.login-tip {
  margin-top: 14px;
  color: #999;
  font-size: 13px;
  line-height: 1.6;
}
@keyframes authViewIn {
  from { opacity: 0; transform: translateY(5px); }
  to { opacity: 1; transform: translateY(0); }
}
.auth-field,
.captcha-field > label {
  display: block;
  color: #4d4652;
  font-size: 13px;
  font-weight: 700;
  text-align: left;
}
.login-card .auth-field input,
.login-card .captcha-field input {
  margin: 7px 0 13px;
  background: #fbf9fc;
  transition: border-color .18s ease, box-shadow .18s ease;
}
.login-card .auth-field input:focus,
.login-card .captcha-field input:focus {
  border-color: #b567bc;
  box-shadow: 0 0 0 3px rgba(181, 103, 188, .12);
}
.captcha-field {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 154px;
  align-items: end;
  gap: 10px;
  margin-bottom: 5px;
}
.login-card .captcha-image-button {
  height: 62px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  margin: 0 0 13px;
  padding: 3px;
  border: 1px solid #eadff0;
  border-radius: 13px;
  background: #f8f3fa;
  color: #8f698f;
  box-shadow: none;
}
.captcha-field.loading .captcha-image-button { opacity:.7; }
.captcha-field.captcha-error .captcha-image-button { border-color:#f2b8b5; background:#fff5f5; }
.captcha-field.captcha-error .captcha-image-button img { display:none; }
.captcha-field.captcha-error .captcha-image-button::before { content:"Captcha failed"; display:block; color:#b42318; font-size:11px; font-weight:850; }
.captcha-field.captcha-error .captcha-image-button span::before { content:"Tap to retry · "; }
.captcha-image-button img {
  width: 100%;
  height: 38px;
  object-fit: contain;
}
.captcha-image-button span {
  font-size: 10px;
  font-weight: 500;
}
.auth-link-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 10px;
}
.login-card .auth-text-button {
  width: auto;
  height: auto;
  margin: 0;
  padding: 5px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #817888;
  font-size: 13px;
  font-weight: 600;
}
.login-card .auth-text-button.primary {
  color: #a33fa0;
}
.login-card .customer-service-button {
  margin-top: 12px;
  border: 1px solid #e8d9ed;
  background: linear-gradient(135deg, #fbf6fd, #fff7fb);
  color: #8a4a91;
  box-shadow: none;
  font-size: 15px;
}
.google-login-wrap {
  margin: 4px 0 2px;
}
.auth-provider-divider {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 15px 0 11px;
  color: #a497a8;
  font-size: 12px;
}
.auth-provider-divider::before,
.auth-provider-divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background: #eee6f0;
}
.google-signin-button {
  display: flex;
  min-height: 40px;
  justify-content: center;
  align-items: center;
}
.google-signin-button > div {
  max-width: 100%;
}
.google-login-hint {
  margin: 8px 0 0;
  color: #9b8fa0;
  font-size: 11px;
  line-height: 1.45;
}
.auth-rule-tip {
  margin: 1px 0 10px;
  padding: 10px 12px;
  border-radius: 10px;
  background: #faf5fc;
  color: #8b7b90;
  font-size: 12px;
  line-height: 1.55;
  text-align: left;
}
.auth-service-mask {
  position: fixed;
  inset: 0;
  z-index: 150;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(28, 21, 31, .68);
  backdrop-filter: blur(2px);
}
.auth-service-dialog {
  width: min(350px, calc(100vw - 48px));
  position: relative;
  padding: 28px 24px 22px;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 24px 60px rgba(37, 19, 40, .28);
  text-align: center;
}
.auth-service-close {
  width: 34px;
  height: 34px;
  position: absolute;
  top: 10px;
  right: 10px;
  border-radius: 50%;
  background: #f6f1f7;
  color: #7d7180;
  font-size: 22px;
}
.auth-service-icon {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  margin: 0 auto 12px;
  border-radius: 19px;
  background: linear-gradient(135deg, #7c3aed, #ec4899);
  font-size: 27px;
}
.auth-service-dialog h2 {
  margin-bottom: 7px;
  color: #342b37;
}
.auth-service-dialog > p {
  margin-bottom: 13px;
  color: #887e8b;
  font-size: 13px;
  line-height: 1.65;
}
.auth-service-qr {
  width: 210px;
  height: 210px;
  margin: 0 auto 14px;
  padding: 9px;
  border: 1px solid #eee4f1;
  border-radius: 14px;
}
.auth-service-qr img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.auth-service-hours {
  margin-bottom: 14px;
  color: #a092a4;
  font-size: 12px;
}
.auth-service-dialog > button:last-child {
  width: 100%;
  height: 48px;
  border-radius: 999px;
  background: linear-gradient(135deg, #7c3aed, #ec4899);
  color: #fff;
  font-size: 15px;
  font-weight: 800;
}
@media (max-width: 420px) {
  .login-screen { padding: 12px; }
  .login-card { padding: 25px 18px; border-radius: 22px; }
  .logo { width: 62px; height: 62px; margin-bottom: 13px; }
  .captcha-field { grid-template-columns: minmax(0, 1fr) 136px; }
  .top-header { align-items: flex-start; }
  .top-header-actions { flex-direction: column-reverse; }
  .app-language-select { width: 116px; }
}
.app {
  max-width: 520px;
  min-height: 100vh;
  margin: 0 auto;
  background: #f8f4ff;
  padding-bottom: 90px;
}
.top-header-actions {
  display: flex;
  align-items: center;
  gap: 9px;
}
.app-language-select {
  max-width: 130px;
  border-color: rgba(255,255,255,.45);
  background: rgba(255,255,255,.96);
  color: #633073;
}
.user-avatar {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #fff;
  color: #ec4899;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  overflow: hidden;
  flex: 0 0 auto;
}
.user-avatar.has-image {
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  color: transparent;
}
.user-avatar.has-image .user-avatar-fallback { display: none; }
.login-card .login-language-button {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  width:100%;
  height:40px;
  padding:0 12px;
  border:1px solid #e5d7eb;
  border-radius:13px;
  background:#fff;
  color:#5c4d61;
  font-size:12px;
  font-weight:750;
  text-align:left;
  box-shadow:0 5px 14px rgba(73,43,82,.05);
}
.login-card .login-language-menu button {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  width:100%;
  min-height:38px;
  height:auto;
  padding:7px 9px;
  border:0;
  border-radius:10px;
  background:transparent;
  color:#55475a;
  font-size:12px;
  font-weight:700;
  text-align:left;
  box-shadow:none;
}
.section-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 14px;
}
.section-title h3 {
  font-size: 21px;
}
.section-title span {
  background: #ffe4f1;
  color: #ec4899;
  padding: 5px 12px;
  border-radius: 999px;
  font-size: 13px;
}
.search-box {
  display: flex;
  gap: 10px;
  margin-bottom: 14px;
}
.search-box input {
  flex: 1;
  height: 44px;
  border: none;
  outline: none;
  border-radius: 14px;
  padding: 0 14px;
  background: #fff;
  font-size: 14px;
}
.search-box button {
  width: 70px;
  border-radius: 14px;
  color: #fff;
  background: linear-gradient(135deg, #7c3aed, #ec4899);
}
.card-grid,
.product-grid {
  display: grid;
  gap: 16px;
}
.profile-card,
.product-card {
  background: #fff;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 10px 24px rgba(124, 58, 237, 0.08);
}
.profile-img {
  height: 190px;
  background-size: cover;
  background-position: center;
}
.img1 {
  background: radial-gradient(circle at 30% 20%, rgba(255,255,255,0.45), transparent 22%), linear-gradient(135deg, #f9a8d4, #c084fc);
}
.img2 {
  background: radial-gradient(circle at 70% 30%, rgba(255,255,255,0.45), transparent 22%), linear-gradient(135deg, #f0abfc, #818cf8);
}
.img3 {
  background: radial-gradient(circle at 35% 35%, rgba(255,255,255,0.45), transparent 22%), linear-gradient(135deg, #fda4af, #f472b6);
}
.img4 {
  background: radial-gradient(circle at 65% 30%, rgba(255,255,255,0.45), transparent 22%), linear-gradient(135deg, #a78bfa, #fb7185);
}
.profile-info,
.product-info {
  padding: 16px;
}
.profile-info h4,
.product-info h4 {
  font-size: 20px;
  margin-bottom: 4px;
}
.profile-info h4 span {
  color: #ec4899;
  font-size: 16px;
}
.profile-info p,
.product-info p {
  color: #777;
  font-size: 14px;
  margin: 6px 0;
}
.tags {
  display: flex;
  gap: 8px;
  margin: 10px 0;
}
.tags span,
.product-label {
  background: #fce7f3;
  color: #db2777;
  padding: 4px 9px;
  font-size: 12px;
  border-radius: 999px;
}
.profile-info button,
.product-info button {
  width: 100%;
  height: 42px;
  border-radius: 14px;
  background: linear-gradient(135deg, #7c3aed, #ec4899);
  color: #fff;
  font-weight: bold;
}
.product-img {
  height: 160px;
}
.product1 { background: radial-gradient(circle at 50% 35%, rgba(255,255,255,0.55), transparent 28%), linear-gradient(135deg, #ddd6fe, #fbcfe8); }
.product2 { background: radial-gradient(circle at 50% 35%, rgba(255,255,255,0.55), transparent 28%), linear-gradient(135deg, #fbcfe8, #fecdd3); }
.product3 { background: radial-gradient(circle at 50% 35%, rgba(255,255,255,0.55), transparent 28%), linear-gradient(135deg, #c4b5fd, #f9a8d4); }
.product4 { background: radial-gradient(circle at 50% 35%, rgba(255,255,255,0.55), transparent 28%), linear-gradient(135deg, #e9d5ff, #fda4af); }
.price {
  font-size: 22px;
  color: #ec4899;
  font-weight: bold;
  margin-bottom: 12px;
}
.assist-page {
  background: #f5f6fa;
  min-height: calc(100vh - 72px);
  padding: 14px 16px 24px;
}
.assist-hero {
  height: 138px;
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 18px;
  background: linear-gradient(135deg, #f7d9b9, #9dc0c4, #dcc2a0);
}
.assist-hero-overlay {
  position: relative;
  z-index: 2;
  text-align: center;
  padding-top: 34px;
  color: rgba(255,255,255,0.95);
  text-shadow: 0 2px 10px rgba(0,0,0,0.35);
}
.assist-hero-overlay h3 {
  letter-spacing: 2px;
  font-size: 24px;
}
.asset-card {
  position: relative;
  background: linear-gradient(135deg, #3d1f88, #7c22c9);
  color: #fff;
  border-radius: 14px;
  padding: 22px 20px 24px;
  box-shadow: 0 16px 32px rgba(85, 31, 180, 0.28);
  overflow: hidden;
}
.asset-card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.asset-card-header button {
  background: #fff;
  color: #7222bd;
  border-radius: 999px;
  padding: 8px 14px;
  font-weight: 700;
}
.asset-amount {
  margin-top: 22px;
  display: flex;
  align-items: baseline;
  gap: 7px;
}
.asset-amount strong {
  font-size: 31px;
}
.asset-divider {
  height: 1px;
  background: rgba(255,255,255,0.18);
  margin: 26px 0 18px;
}
.asset-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  text-align: center;
  gap: 8px;
}
.asset-stats p {
  font-size: 13px;
  color: rgba(255,255,255,0.82);
  margin-bottom: 8px;
}
.dating-card {
  margin-top: 18px;
  background: #fff;
  border-radius: 14px;
  padding: 16px;
  box-shadow: 0 10px 24px rgba(0,0,0,0.04);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.dating-left {
  display: flex;
  align-items: center;
  gap: 12px;
}
.gift-icon {
  width: 42px;
  height: 42px;
  border-radius: 10px;
  background: #ffeaf3;
  color: #e84b86;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
}
.dating-left h3 {
  font-size: 17px;
  margin-bottom: 6px;
}
.dating-left p {
  font-size: 14px;
  color: #777;
}
.dating-left b {
  color: #f05b73;
}
.dating-buttons {
  display: flex;
  gap: 8px;
}
.buy-btn {
  height: 34px;
  padding: 0 16px;
  border-radius: 999px;
  background: #fff;
  color: #e94278;
  border: 1px solid #f05b73;
}
.go-btn {
  height: 34px;
  padding: 0 17px;
  border-radius: 999px;
  background: #f75b62;
  color: #fff;
  font-weight: 700;
}
.assist-start-btn {
  width: calc(100% - 28px);
  height: 56px;
  margin: 30px 14px 12px;
  border-radius: 999px;
  color: #fff;
  font-size: 18px;
  font-weight: 800;
  background: linear-gradient(90deg, #e5457c, #9b39d6);
  box-shadow: 0 14px 24px rgba(202, 57, 151, 0.28);
}
.assist-start-btn span {
  display: inline-flex;
  width: 24px;
  height: 24px;
  border: 2px solid #fff;
  border-radius: 50%;
  align-items: center;
  justify-content: center;
  margin-right: 8px;
  font-size: 12px;
}
.assist-start-btn b {
  font-size: inherit;
  font-weight: inherit;
}
.assist-start-btn:disabled,
.buy-btn:disabled {
  opacity: 0.55;
  cursor: not-allowed;
  box-shadow: none;
}
.assist-tip {
  text-align: center;
  color: #9aa1ad;
  font-size: 14px;
}
.assist-dialog-mask {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(17, 16, 19, 0.7);
  backdrop-filter: blur(1px);
}
.dating-purchase-dialog {
  width: min(420px, calc(100vw - 32px));
  overflow: hidden;
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.28);
}
.dating-purchase-dialog > h3 {
  padding: 23px 20px 6px;
  color: #2d2930;
  font-size: 17px;
  text-align: center;
}
.dating-card-product-visual {
  display: grid;
  grid-template-columns: 132px minmax(0,1fr);
  gap: 15px;
  align-items: center;
  margin: 8px 20px 4px;
  padding: 11px;
  border: 1px solid #eadff0;
  border-radius: 15px;
  background: linear-gradient(135deg,#fbf6ff,#fff5f8);
}
.dating-card-product-image-wrap {
  position: relative;
  aspect-ratio: 1.18;
  overflow: hidden;
  border-radius: 12px;
  background: linear-gradient(135deg,#ead9ff,#ffd9eb);
  box-shadow: 0 8px 18px rgba(103,58,126,.16);
}
.dating-card-product-image-wrap img { width: 100%; height: 100%; object-fit: cover; }
.dating-card-product-visual > div:last-child { display: grid; gap: 5px; }
.dating-card-product-visual span { color: #a85dac; font-size: 9px; font-weight: 900; letter-spacing: 1.5px; }
.dating-card-product-visual b { color: #352b3b; font-size: 18px; }
.dating-card-product-visual p { color: #978a9b; font-size: 10px; line-height: 1.55; }
.dating-purchase-body {
  padding: 5px 22px 0;
}
.dating-offer-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  padding: 8px 0 4px;
}
.dating-offer {
  position: relative;
  display: grid;
  gap: 4px;
  padding: 16px 10px 14px;
  border: 1px solid #eadff0;
  border-radius: 14px;
  background: #fff;
  color: #5a5360;
  text-align: center;
}
.dating-offer.is-featured {
  border-color: #c7922b;
  background: linear-gradient(180deg,#fff8e8,#fff);
  box-shadow: 0 8px 18px rgba(199,146,43,.18);
}
.dating-offer.active {
  outline: 2px solid #c7922b;
  outline-offset: 1px;
}
.dating-offer-qty {
  color: #2d2930;
  font-size: 22px;
  font-weight: 800;
  line-height: 1;
}
.dating-offer-price {
  color: #2d2930;
  font-size: 20px;
  font-weight: 800;
}
.dating-offer-each {
  color: #978a9b;
  font-size: 11px;
}
.dating-offer-tag {
  position: absolute;
  top: -8px;
  right: 8px;
  padding: 2px 7px;
  border-radius: 999px;
  background: #c7922b;
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .3px;
}
.dating-pack-hint {
  margin: 6px 0 0;
  color: #978a9b;
  font-size: 12px;
  line-height: 1.5;
  text-align: center;
}
@media (max-width:420px) {
  .dating-purchase-dialog { width: min(420px, calc(100vw - 16px)); border-radius: 18px; }
  .dating-card-product-visual { grid-template-columns: 76px minmax(0,1fr); gap: 10px; margin: 6px 12px 4px; }
  .dating-purchase-body { padding: 4px 12px 0; }
  .dating-offer-grid { gap: 8px; }
  .dating-offer { padding: 14px 6px 12px; min-height: 104px; }
  .dating-offer-qty { font-size: 18px; }
  .dating-offer-price { font-size: 16px; }
  .dating-offer-each { font-size: 10px; }
  .dating-purchase-actions button { min-height: 48px; font-size: 15px; }
}
.dating-purchase-row {
  min-height: 54px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  border-bottom: 1px dashed #ece8ee;
  color: #77717a;
  font-size: 14px;
}
.dating-purchase-row strong {
  color: #302b32;
  font-size: 14px;
}
.dating-quantity-stepper {
  display: grid;
  grid-template-columns: 30px 34px 30px;
  height: 30px;
  overflow: hidden;
  border-radius: 4px;
  background: #f5f6f8;
}
.dating-quantity-stepper button,
.dating-quantity-stepper b {
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  color: #8e8990;
  font-size: 19px;
  font-weight: 500;
}
.dating-quantity-stepper b {
  border-right: 1px solid #e5e7ea;
  border-left: 1px solid #e5e7ea;
  color: #3b353d;
  font-size: 14px;
}
.dating-quantity-stepper button:disabled {
  color: #d3ced5;
  cursor: not-allowed;
}
.dating-purchase-row.total {
  min-height: 64px;
  border-bottom: none;
}
.dating-purchase-row.total strong {
  color: #f04f83;
  font-size: 17px;
}
.dating-purchase-row.total strong b {
  font-size: 20px;
}
.dating-purchase-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid #eeeaf0;
}
.dating-purchase-actions button {
  height: 50px;
  background: #fff;
  color: #2f2931;
  font-size: 15px;
}
.dating-purchase-actions button + button {
  border-left: 1px solid #eeeaf0;
}
.dating-purchase-actions .confirm {
  color: #f04f83;
}
.dating-purchase-actions button:disabled {
  color: #c9c3ca;
  cursor: wait;
}
@media (max-width: 390px) {
  .dating-card-product-visual { grid-template-columns: 105px minmax(0,1fr); margin-right: 14px; margin-left: 14px; }
  .dating-purchase-body { padding-right: 16px; padding-left: 16px; }
}
.assist-qr-dialog {
  width: min(350px, calc(100vw - 48px));
  position: relative;
  padding: 24px 22px 20px;
  border-radius: 20px;
  background: #fff;
  text-align: center;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.3);
}
.assist-qr-close {
  width: 34px;
  height: 34px;
  position: absolute;
  top: 10px;
  right: 10px;
  border-radius: 50%;
  background: #f5f2f6;
  color: #807782;
  font-size: 22px;
}
.assist-qr-dialog h3 {
  margin-bottom: 7px;
  color: #2f2931;
  font-size: 18px;
}
.assist-qr-dialog > p {
  margin-bottom: 16px;
  color: #928996;
  font-size: 13px;
  line-height: 1.55;
}
.assist-qr-image-wrap {
  width: 230px;
  height: 230px;
  max-width: 100%;
  margin: 0 auto 18px;
  padding: 10px;
  border: 1px solid #eee8ef;
  border-radius: 14px;
  background: #fff;
}
.assist-qr-image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.assist-qr-confirm {
  width: 100%;
  height: 46px;
  border-radius: 999px;
  background: linear-gradient(90deg, #e5457c, #9b39d6);
  color: #fff;
  font-size: 15px;
  font-weight: 800;
}
.dating-record-list {
  display: grid;
  gap: 10px;
  max-height: min(58vh, 430px);
  overflow-y: auto;
}
.dating-record-item {
  padding: 12px 13px;
  border-radius: 12px;
  background: #faf7fb;
}
.dating-record-item > div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 5px;
}
.dating-record-item strong {
  color: #2f2931;
}
.dating-record-item p,
.dating-record-item small {
  display: block;
  color: #918793;
  font-size: 12px;
  line-height: 1.55;
}
.dating-record-item .positive { color: #2b9a69; }
.dating-record-item .negative { color: #e25765; }
.mine-wallet-page {
  padding: 0 16px 24px;
  background: #faf8fc;
}
.mine-top-card {
  background: linear-gradient(180deg, #9a5c98, #8c4b8d);
  margin: -16px -16px 0;
  padding: 22px 20px 90px;
  border-bottom-left-radius: 30px;
  border-bottom-right-radius: 30px;
}
.mine-user-box {
  display: flex;
  align-items: center;
  gap: 14px;
}
.mine-user-info {
  min-width: 0;
  flex: 1;
}
.mine-user-avatar {
  width: 68px;
  height: 68px;
  border-radius: 50%;
  overflow: hidden;
  border: 3px solid rgba(255, 255, 255, 0.35);
  flex-shrink: 0;
  background: #fff;
}
.mine-user-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.mine-user-info h3 {
  min-width: 0;
  overflow: hidden;
  color: #fff;
  font-size: 18px;
  margin: 0;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.mine-user-name-row {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
}
.mine-vip-badge {
  font-size: 12px;
  padding: 3px 8px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.28);
  color: #fff;
}
.mine-user-info p {
  color: rgba(255, 255, 255, 0.95);
  font-size: 14px;
  margin: 5px 0;
}
.copy-mini-btn {
  background: transparent;
  color: #fff;
  font-size: 14px;
}
.wallet-balance-card {
  background: #fff;
  margin-top: -58px;
  border-radius: 20px;
  padding: 18px 18px 12px;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.06);
}
.wallet-balance-head {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  color: #7c667e;
  font-size: 15px;
  margin-bottom: 14px;
}
.eye-btn {
  background: transparent;
  color: #7c667e;
  font-size: 14px;
}
.wallet-balance-amount {
  display: flex;
  justify-content: center;
  align-items: baseline;
  gap: 6px;
  color: #9a5c98;
  margin-bottom: 20px;
}
.wallet-balance-amount small {
  font-size: 18px;
  color: #222;
  font-weight: 700;
}
.wallet-balance-amount strong {
  font-size: 30px;
  line-height: 1;
}
.refresh-btn {
  background: transparent;
  font-size: 22px;
  color: #999;
}
.wallet-balance-footer {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border-top: 1px solid #eee;
  padding-top: 16px;
  gap: 10px;
}
.wallet-balance-item {
  text-align: center;
}
.wallet-balance-item p {
  font-size: 14px;
  color: #8a8a8a;
  margin-bottom: 8px;
}
.wallet-info-center,
.wallet-common-box,
.message-list,
.record-box {
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.04);
}
.wallet-info-center {
  margin-top: 16px;
  padding: 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.wallet-info-left,
.wallet-info-right {
  display: flex;
  align-items: center;
  gap: 10px;
}
.wallet-info-left span {
  font-size: 16px;
  font-weight: 600;
}
.wallet-info-right span {
  font-size: 13px;
  color: #9b9b9b;
}
.icon-circle {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 18px;
}
.icon-circle.purple { background: #a15ba1; }
.wallet-quick-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 16px;
}
.wallet-action-card {
  min-height: 74px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  border: 1px solid #f2edf3;
  border-radius: 16px;
  background: #fff;
  color: #302733;
  font-size: 16px;
  font-weight: 800;
  box-shadow: 0 8px 22px rgba(67, 39, 69, 0.05);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.wallet-action-card:hover,
.wallet-action-card:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 12px 26px rgba(112, 61, 112, 0.1);
  outline: none;
}
.wallet-action-icon {
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  font-size: 20px;
  font-weight: 900;
}
.wallet-action-card.recharge .wallet-action-icon {
  background: #f9edf7;
  color: #a6549f;
}
.wallet-action-card.withdraw .wallet-action-icon {
  background: #fff2df;
  color: #e19a2f;
}
.wallet-common-box {
  margin-top: 16px;
  padding: 20px 16px 22px;
}
.wallet-section-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}
.wallet-section-heading h3 {
  margin-bottom: 5px;
  color: #1f1721;
  font-size: 18px;
}
.wallet-section-heading p {
  color: #9a8f9b;
  font-size: 12px;
}
.wallet-common-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px 8px;
}
.wallet-common-item {
  min-width: 0;
  min-height: 84px;
  display: grid;
  grid-template-rows: 44px auto auto;
  justify-items: center;
  align-content: start;
  gap: 7px;
  padding: 2px;
  background: transparent;
  color: #504653;
  text-align: center;
}
.wallet-common-item:hover,
.wallet-common-item:focus-visible {
  color: #99549a;
  outline: none;
}
.wallet-common-icon {
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 13px;
  background: #faf7fb;
  color: #ad5aad;
  font-size: 21px;
  font-weight: 800;
  transition: background 0.2s ease, transform 0.2s ease;
}
.wallet-common-item:hover .wallet-common-icon,
.wallet-common-item:focus-visible .wallet-common-icon {
  background: #f2e7f3;
  transform: translateY(-1px);
}
.wallet-common-label {
  font-size: 13px;
  line-height: 1.4;
}
.wallet-common-status {
  max-width: 100%;
  overflow: hidden;
  color: #a99eaa;
  font-size: 10px;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.wallet-common-status.bound {
  color: #2d9b73;
  font-weight: 700;
}
.message-list,
.record-box {
  margin-top: 12px;
  padding: 14px;
}
.msg-item,
.record-item {
  padding: 10px;
  border-bottom: 1px solid #f0f0f0;
  font-size: 14px;
  color: #555;
}
.msg-item:last-child,
.record-item:last-child {
  border-bottom: none;
}
.wallet-logout-btn {
  width: 100%;
  height: 52px;
  margin-top: 20px;
  border-radius: 999px;
  border: 1.5px solid #d98fc8;
  background: #fff;
  color: #b04b9c;
  font-size: 20px;
  font-weight: 700;
}
@media (min-width: 768px) {
  .app { max-width: 900px; }
  .card-grid, .product-grid { grid-template-columns: repeat(2, 1fr); }
  .bottom-nav { max-width: 900px; }
}
.simple-modal {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.42);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 160;
  padding: 20px;
}
.simple-modal-box {
  width: 100%;
  max-width: 420px;
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 18px 40px rgba(0,0,0,0.22);
}
.simple-modal-head {
  height: 56px;
  background: linear-gradient(135deg, #7c3aed, #ec4899);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 18px;
}
.simple-modal-head button {
  background: transparent;
  color: #fff;
  font-size: 24px;
}
.simple-modal-content {
  padding: 20px;
  line-height: 1.8;
  color: #555;
}
.simple-modal-content h3 {
  color: #222;
  margin-bottom: 8px;
}
.funding-guide { display: grid; justify-items: center; gap: 10px; text-align: center; }
.funding-guide-icon { display: grid; place-items: center; width: 58px; height: 58px; margin-top: -2px; border-radius: 18px; color: #fff; font-size: 24px; font-weight: 900; box-shadow: 0 10px 22px rgba(128,62,154,.22); }
.funding-guide-icon.balance { background: linear-gradient(135deg,#6d38c7,#d94597); }
.funding-guide-icon.card { background: linear-gradient(135deg,#ef8c2d,#f05f8c); }
.funding-guide > h3 { margin: 0; color: #362e39; font-size: 17px; }
.funding-guide > p { max-width: 330px; color: #897e8d; font-size: 12px; line-height: 1.65; }
.funding-guide-shortfall { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 9px 12px; border-radius: 10px; background: #fff1f3; color: #a36771; font-size: 11px; }
.funding-guide-shortfall b { color: #e34667; font-size: 14px; }
.funding-guide-actions { display: grid; width: 100%; gap: 8px; margin-top: 4px; }
.funding-guide-actions button { display: grid; grid-template-columns: 36px minmax(0,1fr) 20px; align-items: center; gap: 10px; width: 100%; min-height: 58px; padding: 9px 12px; border: 1px solid #eee4f0; border-radius: 13px; background: #fff; color: #4b3d4f; text-align: left; box-shadow: 0 5px 14px rgba(67,42,74,.05); }
.funding-guide-actions button:hover { border-color: #d6add7; transform: translateY(-1px); }
.funding-guide-actions button > i { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 11px; background: #f6edf8; color: #9d4fa1; font-size: 17px; font-style: normal; font-weight: 900; }
.funding-guide-actions button > span { display: grid; gap: 2px; }
.funding-guide-actions button b { color: inherit; font-size: 13px; }
.funding-guide-actions button small { color: #9d919f; font-size: 9px; }
.funding-guide-actions button em { color: #ab9caf; font-size: 21px; font-style: normal; text-align: right; }
.funding-guide-actions button.primary { border-color: transparent; background: linear-gradient(135deg,#763dc8,#df4d99); color: #fff; }
.funding-guide-actions button.primary > i { background: rgba(255,255,255,.17); color: #fff; }
.funding-guide-actions button.primary small, .funding-guide-actions button.primary em { color: rgba(255,255,255,.75); }
.funding-guide-actions button.stay { min-height: 48px; background: #faf8fb; box-shadow: none; }
.customer-detail-page {
  padding: 0 16px 24px;
  background: #f8f4ff;
}
.detail-back-btn {
  margin: 12px 0;
  padding: 10px 14px;
  border-radius: 999px;
  background: #fff;
  color: #9a5c98;
  font-weight: 700;
  box-shadow: 0 6px 18px rgba(0,0,0,0.05);
}
.customer-detail-content {
  display: grid;
  gap: 16px;
}
.detail-loading {
  background: #fff;
  border-radius: 18px;
  padding: 24px;
  text-align: center;
  color: #777;
}
.detail-cover {
  min-height: 280px;
  border-radius: 26px;
  overflow: hidden;
  background-size: cover;
  background-position: center;
  position: relative;
  box-shadow: 0 14px 34px rgba(124, 58, 237, 0.18);
}
.detail-cover-mask {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0.08), rgba(0,0,0,0.72));
}
.detail-user-row {
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 18px;
  display: flex;
  align-items: center;
  gap: 14px;
  color: #fff;
}
.detail-avatar {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: linear-gradient(135deg, #7c3aed, #ec4899);
  background-size: cover;
  background-position: center;
  border: 3px solid rgba(255,255,255,0.85);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 30px;
  font-weight: 800;
}
.detail-user-row h2 {
  font-size: 28px;
  margin-bottom: 6px;
}
.detail-user-row p {
  opacity: 0.92;
}
.detail-card {
  background: #fff;
  border-radius: 22px;
  padding: 18px;
  box-shadow: 0 10px 24px rgba(124, 58, 237, 0.08);
}
.detail-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 14px;
}
.detail-title h3 {
  font-size: 19px;
}
.detail-title span {
  background: #fce7f3;
  color: #db2777;
  padding: 5px 10px;
  border-radius: 999px;
  font-size: 12px;
}
.detail-card p {
  color: #555;
  line-height: 1.8;
}
.detail-desc {
  margin-top: 8px;
  color: #777 !important;
}
.detail-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}
.detail-tags span {
  background: #fce7f3;
  color: #db2777;
  padding: 5px 10px;
  font-size: 12px;
  border-radius: 999px;
}
.detail-info-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}
.detail-info-grid div {
  background: #fff;
  border-radius: 18px;
  padding: 14px 8px;
  text-align: center;
  box-shadow: 0 8px 20px rgba(124, 58, 237, 0.06);
}
.detail-info-grid b {
  display: block;
  color: #9a5c98;
  font-size: 16px;
  margin-bottom: 4px;
}
.detail-info-grid p {
  color: #888;
  font-size: 12px;
}
.detail-gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 9px;
}
.gallery-item {
  height: 112px;
  border-radius: 16px;
  background-size: cover;
  background-position: center;
  overflow: hidden;
}
.detail-contact-btn {
  width: 100%;
  height: 52px;
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(135deg, #7c3aed, #ec4899);
  font-size: 17px;
  font-weight: 800;
  box-shadow: 0 12px 24px rgba(236,72,153,0.22);
}
@media (max-width: 420px) {
  .detail-cover {
    min-height: 240px;
  }

  .detail-info-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .detail-gallery {
    grid-template-columns: repeat(2, 1fr);
  }

  .gallery-item {
    height: 130px;
  }
}
.customer-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 10px 0;
}
.customer-card-meta span {
  background: #fff7ed;
  color: #c2410c;
  padding: 5px 9px;
  font-size: 12px;
  border-radius: 999px;
}
.customer-card-actions {
  display: grid;
  grid-template-columns: 1fr 100px;
  gap: 10px;
  margin-top: 12px;
}
.customer-card-actions button {
  margin: 0;
}
.customer-card-actions .assist-mini-btn {
  background: #fff;
  color: #ec4899;
  border: 1px solid #ec4899;
}
.detail-action-card {
  background: #fff;
  border-radius: 22px;
  padding: 18px;
  box-shadow: 0 10px 24px rgba(124, 58, 237, 0.08);
  display: grid;
  gap: 16px;
}
.detail-action-info h3 {
  font-size: 20px;
  color: #222;
  margin-bottom: 8px;
}
.detail-action-info p {
  color: #555;
  margin-bottom: 6px;
}
.detail-action-info b {
  color: #db2777;
  font-size: 18px;
}
.detail-action-info span {
  color: #999;
  font-size: 13px;
}
.detail-action-buttons {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.date-action-btn,
.boost-action-btn {
  height: 48px;
  border-radius: 999px;
  font-weight: 800;
  font-size: 16px;
}
.date-action-btn {
  color: #fff;
  background: linear-gradient(90deg, #a855f7, #ec4899);
  box-shadow: 0 10px 20px rgba(236, 72, 153, 0.22);
}
.boost-action-btn {
  color: #ec4899;
  background: #fff4f8;
  border: 1px solid #fb7185;
}
@media (max-width: 420px) {
  .customer-card-actions {
    grid-template-columns: 1fr;
  }

  .detail-action-buttons {
    grid-template-columns: 1fr;
  }
}
.profile-img {
  position: relative;
  background-size: cover;
  background-position: center;
}
.profile-img.has-photo {
  background-size: cover;
  background-position: center top;
}
.profile-img-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0.03), rgba(0,0,0,0.28));
  pointer-events: none;
}
.profile-photo-badge {
  position: absolute;
  right: 12px;
  bottom: 12px;
  padding: 7px 11px;
  border-radius: 999px;
  color: #fff;
  font-weight: 800;
  background: rgba(0,0,0,0.46);
  backdrop-filter: blur(8px);
  font-size: 13px;
}
.profile-head-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
}
.profile-mini-avatar {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  flex-shrink: 0;
  background: linear-gradient(135deg, #7c3aed, #ec4899);
  background-size: cover;
  background-position: center;
  color: #fff;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 3px solid #fff;
  box-shadow: 0 6px 16px rgba(0,0,0,0.12);
}
.profile-video-badge {
  position: absolute;
  left: 12px;
  bottom: 12px;
  padding: 7px 11px;
  border-radius: 999px;
  color: #fff;
  font-weight: 800;
  background: rgba(236, 72, 153, 0.82);
  backdrop-filter: blur(8px);
  font-size: 13px;
}
.customer-card-actions.three-actions {
  grid-template-columns: 1fr 88px 88px;
}
.customer-card-actions .video-mini-btn {
  background: #111827;
  color: #fff;
  border: 1px solid #111827;
}
.video-detail-card {
  overflow: hidden;
}
.detail-video-player {
  width: 100%;
  max-height: 420px;
  border-radius: 18px;
  background: #111;
  object-fit: cover;
  display: block;
}
.video-title {
  margin: 14px 0 6px;
  color: #222;
  font-size: 18px;
}
.video-desc {
  color: #777 !important;
}
@media (max-width: 420px) {
  .customer-card-actions.three-actions {
    grid-template-columns: 1fr;
  }

  .detail-video-player {
    max-height: 300px;
  }
}
.product-category-section { margin-bottom: 32px; }
.product-category-title { min-height: 56px; border-radius: 10px; background: linear-gradient(90deg, #ec4899, #db2777); color: #fff; font-size: 21px; font-weight: 900; display: flex; align-items: center; justify-content: center; margin-bottom: 18px; letter-spacing: 1px; }
.product-category-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.refined-product-card { border-radius: 8px; overflow: hidden; box-shadow: none; border: 1px solid #eee; }
.refined-product-card .product-img { height: 210px; position: relative; background-size: cover; background-position: center; border-bottom: 1px solid #eee; }
.refined-product-card .product-img.has-photo { background-size: cover; background-position: center; }
.product-img-shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0.02), rgba(0,0,0,0.12)); }
.product-corner-label { position: absolute; top: 0; right: 0; background: #ec4899; color: #fff; padding: 9px 12px; border-bottom-left-radius: 8px; font-size: 13px; font-weight: 800; }
.product-video-label { position: absolute; left: 10px; bottom: 10px; background: rgba(17,24,39,0.78); color: #fff; padding: 6px 10px; border-radius: 999px; font-size: 12px; font-weight: 800; }
.refined-product-card .product-info { padding: 12px 10px 14px; }
.refined-product-card .product-info h4 { min-height: 44px; font-size: 15px; line-height: 1.45; margin-bottom: 8px; }
.product-sub { height: 38px; overflow: hidden; }
.product-price-line { display: grid; gap: 4px; margin: 10px 0; }
.product-price-line b { color: #ec4899; font-size: 15px; }
.product-price-line del { color: #999; font-size: 13px; }
.product-small-info { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
.product-small-info span { background: #f8f4ff; color: #7c3aed; border-radius: 999px; font-size: 11px; padding: 4px 8px; }
.product-detail-page { background: #f8f4ff; }
.product-detail-content { display: grid; gap: 16px; }
.product-detail-hero { min-height: 330px; border-radius: 26px; background-size: cover; background-position: center; position: relative; overflow: hidden; box-shadow: 0 14px 34px rgba(124, 58, 237, 0.18); }
.product-detail-mask { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0.04), rgba(0,0,0,0.3)); }
.product-detail-badge { position: absolute; right: 18px; top: 18px; background: #ec4899; color: #fff; padding: 8px 14px; border-radius: 999px; font-weight: 800; }
.product-detail-card { background: #fff; border-radius: 22px; padding: 18px; box-shadow: 0 10px 24px rgba(124, 58, 237, 0.08); }
.product-detail-head { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; }
.product-detail-head h2 { font-size: 24px; color: #222; margin-bottom: 8px; }
.product-detail-head p { color: #777; }
.product-detail-head span { background: #dcfce7; color: #16a34a; padding: 5px 10px; border-radius: 999px; font-size: 12px; font-weight: 800; }
.product-detail-price { display: flex; align-items: baseline; gap: 12px; margin: 16px 0; }
.product-detail-price b { color: #ec4899; font-size: 26px; }
.product-detail-price del { color: #999; }
.product-detail-desc, .product-detail-card p { line-height: 1.8; color: #555; }
.product-info-grid-detail { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.product-info-grid-detail div { background: #fff; border-radius: 18px; padding: 14px 8px; text-align: center; box-shadow: 0 8px 20px rgba(124, 58, 237, 0.06); }
.product-info-grid-detail b { display: block; color: #9a5c98; font-size: 16px; margin-bottom: 4px; }
.product-info-grid-detail p { color: #888; font-size: 12px; }
.package-list { padding-left: 20px; line-height: 2; color: #555; }
.spec-list { display: grid; gap: 8px; }
.spec-list div { display: flex; justify-content: space-between; gap: 12px; background: #faf7fb; border-radius: 10px; padding: 10px 12px; }
.spec-list span { color: #777; }
.spec-list b { color: #333; }
.product-detail-gallery { grid-template-columns: repeat(2, 1fr); }
.empty-box { background: #fff; border-radius: 18px; padding: 30px; text-align: center; color: #999; }
@media (max-width: 520px) { .product-category-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; } .refined-product-card .product-img { height: 168px; } .product-info-grid-detail { grid-template-columns: repeat(2, 1fr); } .product-detail-hero { min-height: 260px; } }
.customer-card-actions.three-actions,
.customer-card-actions {
  grid-template-columns: repeat(auto-fit, minmax(92px, 1fr));
}
.customer-card-actions .chat-mini-btn {
  background: #111827;
  color: #fff;
  border: 1px solid #111827;
}
.detail-bottom-actions {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 12px;
}
.detail-chat-btn {
  width: 100%;
  height: 52px;
  border-radius: 999px;
  color: #ec4899;
  background: #fff;
  border: 1.5px solid #ec4899;
  font-size: 17px;
  font-weight: 800;
}
.message-center-page,
.chat-page {
  min-height: calc(100vh - 72px);
  background: #f8f4ff;
}
.message-center-head {
  background: linear-gradient(135deg, #7c3aed, #ec4899);
  color: #fff;
  padding: 22px;
  border-radius: 24px;
  margin: 8px 0 16px;
}
.message-center-head h2 {
  font-size: 24px;
  margin-bottom: 6px;
}
.message-center-head p {
  opacity: 0.9;
}
.conversation-list {
  display: grid;
  gap: 12px;
}
.conversation-card {
  position: relative;
  display: grid;
  grid-template-columns: 58px 1fr;
  gap: 12px;
  background: #fff;
  border-radius: 18px;
  padding: 14px;
  box-shadow: 0 8px 22px rgba(124, 58, 237, 0.08);
}
.conversation-avatar {
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: linear-gradient(135deg, #7c3aed, #ec4899);
  background-size: cover;
  background-position: center;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  font-weight: 800;
}
.conversation-row {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
  margin-bottom: 4px;
}
.conversation-row h3 {
  font-size: 17px;
  color: #222;
}
.conversation-row span {
  font-size: 12px;
  color: #999;
}
.conversation-main p {
  color: #666;
  font-size: 14px;
  line-height: 1.5;
}
.conversation-actions {
  display: flex;
  gap: 8px;
  margin-top: 10px;
}
.conversation-actions button {
  height: 32px;
  padding: 0 12px;
  border-radius: 999px;
  color: #fff;
  background: #ec4899;
  font-size: 12px;
  font-weight: 700;
}
.conversation-actions button:first-child {
  background: #fff;
  color: #7c3aed;
  border: 1px solid #c4b5fd;
}
.unread-dot {
  position: absolute;
  right: 12px;
  top: 12px;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  border-radius: 999px;
  background: #ef4444;
  color: #fff;
  font-size: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.empty-message-box {
  background: #fff;
  border-radius: 18px;
  padding: 22px;
  color: #888;
  text-align: center;
}
.chat-page {
  padding: 0;
  display: none;
  flex-direction: column;
}
.chat-page.active {
  display: flex;
}
.chat-topbar {
  height: 72px;
  padding: 10px 12px;
  background: #fff;
  display: grid;
  grid-template-columns: 44px 1fr 58px;
  gap: 10px;
  align-items: center;
  border-bottom: 1px solid #eee;
}
.chat-topbar button {
  height: 38px;
  border-radius: 999px;
  background: #f5f3ff;
  color: #7c3aed;
  font-weight: 800;
}
.chat-anchor-header {
  display: flex;
  align-items: center;
  gap: 10px;
}
.chat-header-avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: linear-gradient(135deg, #7c3aed, #ec4899);
  background-size: cover;
  background-position: center;
  color: #fff;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
}
.chat-anchor-header h3 {
  font-size: 16px;
  color: #222;
}
.chat-anchor-header h3 { display: flex; align-items: center; flex-wrap: wrap; gap: 5px; }
.chat-exclusive-badge,
.paid-chat-badge-preview { display: inline-flex; align-items: center; width: fit-content; padding: 3px 7px; border-radius: 999px; font-size: 9px; font-style: normal; font-weight: 900; line-height: 1.2; white-space: nowrap; }
.chat-exclusive-badge.pink, .paid-chat-badge-preview.pink { background: linear-gradient(135deg,#fff0f7,#ffe2ef); color: #d53f82; box-shadow: inset 0 0 0 1px #f7bfd8; }
.chat-exclusive-badge.purple, .paid-chat-badge-preview.purple { background: #f2e9ff; color: #7d3ec4; box-shadow: inset 0 0 0 1px #ddc5f5; }
.chat-exclusive-badge.gold, .paid-chat-badge-preview.gold { background: #fff5da; color: #a96d11; box-shadow: inset 0 0 0 1px #efd593; }
.chat-exclusive-badge.blue, .paid-chat-badge-preview.blue { background: #e9f3ff; color: #3774bb; box-shadow: inset 0 0 0 1px #c6ddf6; }
.paid-content-item b { display: flex; align-items: center; flex-wrap: wrap; gap: 5px; }
.paid-media-count { color: #9c75a1; font-size: 9px; }
.anchor-extra-profile-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.anchor-extra-profile-grid > div { display: grid; gap: 4px; padding: 10px 11px; border: 1px solid #eee4f1; border-radius: 12px; background: #fcf9fd; }
.anchor-extra-profile-grid span { color: #a093a3; font-size: 9px; }
.anchor-extra-profile-grid b { color: #544158; font-size: 12px; line-height: 1.45; }
.anchor-interest-tags { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 10px; }
.anchor-interest-tags span { padding: 5px 9px; border-radius: 999px; background: linear-gradient(135deg,#f4e9fb,#fff0f6); color: #8c4b96; font-size: 9px; font-weight: 800; }
@media (max-width: 370px) { .anchor-extra-profile-grid { grid-template-columns: 1fr; } }
.chat-anchor-header p {
  font-size: 12px;
  color: #888;
}
.chat-messages {
  flex: 1;
  overflow-y: auto;
  padding: 16px;
  display: grid;
  align-content: start;
  gap: 12px;
  padding-bottom: calc(104px + env(safe-area-inset-bottom));
}
.chat-msg {
  display: flex;
}
.chat-msg.mine {
  justify-content: flex-end;
}
.chat-msg.anchor {
  justify-content: flex-start;
}
.chat-bubble {
  max-width: 78%;
  border-radius: 18px;
  padding: 11px 13px;
  line-height: 1.6;
}
.chat-msg.mine .chat-bubble {
  background: linear-gradient(135deg, #7c3aed, #ec4899);
  color: #fff;
  border-bottom-right-radius: 6px;
}
.chat-msg.anchor .chat-bubble {
  background: #fff;
  color: #333;
  border-bottom-left-radius: 6px;
  box-shadow: 0 8px 18px rgba(124, 58, 237, 0.08);
}
.chat-bubble span {
  display: block;
  margin-top: 4px;
  font-size: 11px;
  opacity: 0.72;
}
.chat-source-btn,
.support-bubble .chat-source-btn {
  display: inline-flex;
  margin-top: 6px;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  font-size: 12px;
  line-height: 1.4;
  opacity: .58;
  cursor: pointer;
}
.chat-source-original {
  margin: 6px 0 0;
  font-size: 13px;
  line-height: 1.55;
  opacity: .78;
}
.chat-input-bar {
  position: relative;
  left: auto;
  bottom: auto;
  transform: none;
  width: 100%;
  max-width: 520px;
  min-height: 76px;
  height: auto;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 88px;
  align-items: end;
  gap: 10px;
  padding: 10px 12px max(10px, env(safe-area-inset-bottom));
  background: #fff;
  border-top: 1px solid #eee;
  z-index: 40;
}
.chat-input-bar textarea {
  display:block;
  width:100%;
  min-width:0;
  min-height:48px;
  max-height:110px;
  box-sizing:border-box;
  overflow-y:auto;
  border: 1px solid #eee;
  border-radius: 22px;
  padding: 12px 16px;
  outline: none;
  font-size: 15px;
  line-height:1.5;
  resize:none;
  background:#fff;
  color:#2f2732;
  -webkit-text-fill-color:#2f2732;
}
.chat-input-bar button {
  min-height:48px;
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(135deg, #7c3aed, #ec4899);
  font-weight: 800;
}
@media (min-width: 768px) {
  .chat-input-bar {
    max-width: 900px;
  }
}
@media (max-width: 420px) {
  .detail-bottom-actions {
    grid-template-columns: 1fr;
  }

  .conversation-card {
    grid-template-columns: 50px 1fr;
  }

  .conversation-avatar {
    width: 50px;
    height: 50px;
  }
}
.ai-chat-tag {
  display: inline-block;
  margin-top: 6px;
  padding: 2px 7px;
  border-radius: 999px;
  background: rgba(124, 58, 237, 0.12);
  color: #7c3aed;
  font-size: 11px;
  font-style: normal;
}
.detail-action-buttons .date-action-btn,
.detail-action-buttons .boost-action-btn {
  height: auto;
  min-height: 68px;
  border-radius: 18px;
  padding: 11px 14px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 5px;
  text-align: left;
}
.detail-action-buttons .date-action-btn span,
.detail-action-buttons .boost-action-btn span { font-size: 14px; line-height: 1.35; }
.detail-action-buttons .date-action-btn small,
.detail-action-buttons .boost-action-btn small { font-size: 11px; opacity: .82; font-weight: 600; }
.detail-action-buttons button.unlocked { background: #ecfdf5; color: #059669; border: 1px solid #a7f3d0; box-shadow: none; }
.paid-content-card .detail-title { align-items: flex-start; }
.paid-content-card .detail-title > div p { color: #999; font-size: 12px; line-height: 1.5; margin-top: 4px; }
.paid-content-grid { display: grid; gap: 10px; }
.paid-content-item {
  width: 100%;
  display: grid;
  grid-template-columns: 42px 1fr auto;
  align-items: center;
  gap: 11px;
  background: #faf7ff;
  border: 1px solid #f1e8fb;
  border-radius: 16px;
  padding: 12px;
  text-align: left;
}
.paid-content-item i { width: 42px; height: 42px; border-radius: 13px; display: grid; place-items: center; background: #fff; font-style: normal; font-size: 20px; box-shadow: 0 4px 12px rgba(124,58,237,.08); }
.paid-content-item b { display: block; color: #272331; font-size: 14px; }
.paid-content-item p { color: #92909a; font-size: 11px; line-height: 1.5; margin-top: 3px; }
.paid-content-item strong { color: #db2777; font-size: 12px; white-space: nowrap; }
.paid-content-item.unlocked { background: #f0fdf4; border-color: #bbf7d0; }
.paid-content-item.unlocked strong { color: #059669; }
.paid-content-item.unavailable { border-color:#eadfe8; background:#f8f6f8; cursor:not-allowed; opacity:.76; }
.paid-content-item.unavailable i { filter:grayscale(.7); box-shadow:none; }
.paid-content-item.unavailable strong { color:#8b7e8d; }
.paid-content-empty { color: #999; text-align: center; padding: 24px 10px; }
.paid-unlock-success { text-align: center; }
.paid-unlock-icon { width: 58px; height: 58px; display: grid; place-items: center; margin: 0 auto 10px; border-radius: 20px; color: #fff; font-size: 25px; background: linear-gradient(135deg,#8b5cf6,#ec4899); }
.paid-unlock-success h3 { margin-bottom: 10px; }
.paid-unlock-text { padding: 12px; border-radius: 13px; background: #faf7ff; color: #666; line-height: 1.7; }
.paid-voice-list { display: grid; gap: 9px; margin: 13px 0; text-align: left; }
.paid-voice-player { padding: 11px; border: 1px solid #eadcf8; border-radius: 14px; background: linear-gradient(135deg,#fbf7ff,#fff3f8); }
.paid-voice-player > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.paid-voice-player b { color: #68416f; font-size: 12px; line-height: 1.35; }
.paid-voice-player small { color: #a26d9d; font-size: 11px; white-space: nowrap; }
.paid-voice-heading { margin-bottom: 9px; }
.paid-voice-controls { display: grid !important; grid-template-columns: auto minmax(64px,1fr) auto; align-items: center; gap: 9px !important; }
.paid-voice-player audio { display: none; }
.paid-voice-toggle { display: inline-flex; align-items: center; gap: 6px; min-width: 70px; height: 34px; padding: 0 11px; border: 0; border-radius: 999px; background: linear-gradient(135deg,#8c42d7,#e63d9a); color: #fff; font-size: 11px; font-weight: 800; box-shadow: 0 6px 14px rgba(143,55,162,.2); }
.paid-voice-toggle i { display: inline-grid; place-items: center; width: 15px; font-style: normal; font-size: 10px; }
.paid-voice-toggle.playing { background: linear-gradient(135deg,#68416f,#a55aa1); }
.paid-voice-track { position: relative; height: 20px; padding: 0; border: 0; background: transparent; cursor: pointer; }
.paid-voice-track::before,.paid-voice-track i { content: ""; position: absolute; left: 0; top: 50%; height: 4px; border-radius: 999px; transform: translateY(-50%); }
.paid-voice-track::before { width: 100%; background: #e7d9ed; }
.paid-voice-track i { width: var(--voice-progress,0%); background: linear-gradient(90deg,#8c42d7,#e63d9a); }
.paid-voice-track i::after { content: ""; position: absolute; right: -5px; top: 50%; width: 10px; height: 10px; border-radius: 50%; background: #c943b5; box-shadow: 0 2px 6px rgba(109,48,119,.25); transform: translateY(-50%); }
.paid-voice-clock { min-width: 70px; text-align: right; font-variant-numeric: tabular-nums; }
.chat-bubble .paid-voice-list { min-width: 235px; max-width: 100%; margin: 9px 0 3px; }
.chat-bubble .paid-voice-player { padding: 8px; background: rgba(255,255,255,.76); }
.chat-bubble .paid-voice-player b { font-size: 11px; }
@media (max-width:480px) { .paid-voice-controls { grid-template-columns:auto minmax(54px,1fr); } .paid-voice-clock { grid-column:2; min-width:0; margin-top:-6px; text-align:left; } }
.unlocked-contact-box { display: grid; gap: 7px; background: linear-gradient(135deg,#f5f3ff,#fdf2f8); padding: 16px; border-radius: 16px; margin: 12px 0; }
.unlocked-contact-box small { color: #8b5cf6; }
.unlocked-contact-box b { font-size: 18px; word-break: break-all; }
.unlocked-contact-box button { justify-self: center; color: #fff; background: #a855f7; border-radius: 999px; padding: 7px 20px; }
.paid-media-section { margin-top: 18px; }
.paid-media-heading { display: flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 800; color: #4a3550; margin: 0 0 8px 2px; }
.paid-media-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; margin-top: 0; }
.paid-media-grid button { aspect-ratio: .82; padding: 0; overflow: hidden; border-radius: 13px; background: #f3f4f6; box-shadow: inset 0 0 0 1px rgba(0,0,0,.05); }
.paid-media-grid img { display: block; width: 100%; height: 100%; object-fit: cover; }
.paid-video-list { display: grid; gap: 12px; margin-top: 14px; }
.paid-video-list video { width: 100%; max-height: 360px; border-radius: 15px; background: #111; }
.dating-launch-page { min-height: calc(100vh - 72px); padding: 0 16px 38px; background: linear-gradient(180deg,#f6efff 0,#f8f8fb 260px); }
.dating-launch-topbar { display: grid; grid-template-columns: 42px 1fr auto; align-items: center; gap: 10px; padding: 16px 0; }
.dating-launch-topbar > button { width: 38px; height: 38px; border-radius: 13px; background: #fff; color: #7c3aed; font-size: 26px; box-shadow: 0 7px 20px rgba(76,29,149,.1); }
.dating-launch-topbar h2 { font-size: 21px; }
.dating-launch-topbar p { color: #8b8495; font-size: 12px; margin-top: 3px; }
.dating-launch-topbar > span { color: #059669; background: #ecfdf5; border-radius: 999px; padding: 6px 9px; font-size: 11px; }
.dating-launch-balance-strip { display: grid; grid-template-columns: 1fr 1fr auto; gap: 10px; align-items: center; color: #fff; background: linear-gradient(135deg,#3b167d,#8b29c9 64%,#ec4899); border-radius: 20px; padding: 16px; box-shadow: 0 14px 30px rgba(92,35,166,.23); }
.dating-launch-balance-strip div { display: grid; gap: 5px; }
.dating-launch-balance-strip small { color: rgba(255,255,255,.73); font-size: 11px; }
.dating-launch-balance-strip b { font-size: 17px; }
.dating-launch-balance-strip button { color: #7c3aed; background: #fff; border-radius: 999px; padding: 9px 12px; font-size: 11px; font-weight: 800; }
.dating-launch-section-head { margin: 22px 0 11px; }
.dating-launch-section-head h3 { font-size: 18px; }
.dating-launch-section-head p { color: #999; font-size: 12px; margin-top: 3px; }
.dating-anchor-selector { display: flex; gap: 10px; overflow-x: auto; padding: 2px 2px 12px; scrollbar-width: none; }
.dating-anchor-selector::-webkit-scrollbar { display: none; }
.dating-anchor-chip { flex: 0 0 112px; border-radius: 18px; padding: 8px; display: grid; gap: 5px; text-align: left; background: #fff; border: 1px solid #eee8f7; box-shadow: 0 8px 18px rgba(55,30,90,.06); }
.dating-anchor-chip.active { border: 2px solid #d946ef; padding: 7px; background: #fff8fd; box-shadow: 0 10px 24px rgba(217,70,239,.15); }
.dating-anchor-chip-photo { height: 82px; border-radius: 13px; display: block; background-size: cover; background-position: center top; }
.dating-anchor-chip b { padding: 0 3px; font-size: 13px; }
.dating-anchor-chip small { padding: 0 3px 2px; color: #999; font-size: 10px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dating-launch-content { display: grid; gap: 14px; scroll-margin-top: 12px; }
.dating-selected-card,.dating-fee-panel,.private-date-order-card { background: #fff; border-radius: 22px; overflow: hidden; box-shadow: 0 10px 28px rgba(67,42,103,.07); }
.dating-selected-cover { min-height: 180px; position: relative; padding: 20px; display: flex; align-items: flex-end; justify-content: space-between; color: #fff; background-size: cover; background-position: center; }
.dating-selected-cover-mask { position: absolute; inset: 0; background: linear-gradient(180deg,rgba(20,8,35,.05),rgba(31,10,51,.85)); }
.dating-selected-cover > div:not(.dating-selected-cover-mask),.dating-selected-cover > button { position: relative; z-index: 2; }
.dating-selected-cover span { font-size: 11px; color: #f5d0fe; }
.dating-selected-cover h2 { font-size: 26px; margin: 4px 0; }
.dating-selected-cover p { font-size: 12px; opacity: .9; }
.dating-selected-cover button { padding: 8px 10px; color: #fff; border: 1px solid rgba(255,255,255,.65); background: rgba(255,255,255,.13); border-radius: 999px; font-size: 11px; }
.dating-anchor-summary { padding: 14px 16px 16px; }
.dating-anchor-summary > p { color: #67616d; font-size: 13px; line-height: 1.7; }
.dating-anchor-summary > div { display: flex; gap: 6px; margin-top: 9px; flex-wrap: wrap; }
.dating-anchor-summary span { color: #c026d3; background: #fdf4ff; border-radius: 999px; padding: 4px 9px; font-size: 10px; }
.dating-fee-panel,.private-date-order-card { padding: 17px; }
.dating-section-title { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin-bottom: 14px; }
.dating-section-title h3 { font-size: 18px; }
.dating-section-title p { color: #999; font-size: 11px; margin-top: 4px; }
.dating-section-title > span { color: #db2777; background: #fce7f3; border-radius: 999px; padding: 5px 9px; font-size: 10px; white-space: nowrap; }
.dating-fee-list { display: grid; gap: 8px; }
.dating-fee-row { display: grid; grid-template-columns: 36px 1fr auto; gap: 10px; align-items: center; border-radius: 14px; padding: 10px; background: #faf9fc; border: 1px solid #f4f0f7; }
.dating-fee-row i { width: 36px; height: 36px; display: grid; place-items: center; font-style: normal; border-radius: 12px; background: #fff; }
.dating-fee-row b { font-size: 12px; }
.dating-fee-row p { color: #999; font-size: 10px; margin-top: 3px; line-height: 1.4; }
.dating-fee-row strong { color: #db2777; font-size: 11px; text-align: right; white-space: nowrap; }
.dating-fee-row.primary { background: linear-gradient(135deg,#f5f3ff,#fdf2f8); border-color: #eadcf8; }
.private-date-status { color: #7c3aed !important; background: #f3e8ff !important; }
.private-date-paybox { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 10px; text-align: center; padding: 16px; border-radius: 17px; background: #faf7ff; }
.private-date-paybox div { display: grid; gap: 6px; }
.private-date-paybox small { color: #8b8495; font-size: 11px; }
.private-date-paybox b { color: #6d28d9; font-size: 18px; }
.private-date-paybox em { color: #d946ef; font-style: normal; font-size: 20px; }
.private-date-pay-button,.private-date-submit-button,.private-date-launch-button { width: 100%; min-height: 48px; border-radius: 999px; margin-top: 13px; color: #fff; font-weight: 800; font-size: 15px; background: linear-gradient(90deg,#7c3aed,#ec4899); box-shadow: 0 10px 22px rgba(190,40,160,.19); }
.private-date-lock-preview { margin-top: 12px; padding: 17px; border: 1px dashed #d6d0dd; border-radius: 16px; text-align: center; color: #9a95a0; background: #fbfafc; }
.private-date-lock-preview span { display: block; font-size: 24px; margin-bottom: 6px; }
.private-date-lock-preview b { display: block; color: #77717f; font-size: 13px; }
.private-date-lock-preview p { font-size: 10px; margin-top: 5px; line-height: 1.5; }
.private-date-paid-tip { display: flex; gap: 10px; align-items: center; color: #047857; background: #ecfdf5; border-radius: 15px; padding: 12px; margin-bottom: 13px; }
.private-date-paid-tip > span { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; background: #10b981; color: #fff; font-weight: 900; }
.private-date-paid-tip b { font-size: 12px; }
.private-date-paid-tip p { color: #5c8b7d; font-size: 10px; margin-top: 3px; }
.private-date-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.private-date-form-grid label { display: grid; gap: 6px; color: #4b4651; font-size: 11px; font-weight: 700; }
.private-date-form-grid label.wide { grid-column: 1 / -1; }
.private-date-form-grid input,.private-date-form-grid textarea { width: 100%; border: 1px solid #eee9f2; border-radius: 13px; padding: 11px 12px; background: #faf9fb; outline: none; font: inherit; font-weight: 400; color: #333; }
.private-date-form-grid textarea { min-height: 76px; resize: vertical; }
.private-date-form-grid input:focus,.private-date-form-grid textarea:focus { border-color: #d946ef; background: #fff; box-shadow: 0 0 0 3px rgba(217,70,239,.08); }
.private-date-launch-button { color: #7c3aed; background: #fff; border: 1px solid #8b5cf6; box-shadow: none; }
.private-date-disabled { color: #9f1239; background: #fff1f2; border-radius: 15px; padding: 18px; text-align: center; }
@media (max-width: 430px) {
  .paid-content-item { grid-template-columns: 38px 1fr; }
  .paid-content-item strong { grid-column: 2; }
  .dating-launch-balance-strip { grid-template-columns: 1fr 1fr; }
  .dating-launch-balance-strip button { grid-column: 1 / -1; }
  .dating-launch-topbar > span { display: none; }
  .dating-launch-topbar { grid-template-columns: 42px 1fr; }
  .dating-selected-cover { min-height: 165px; }
  .dating-fee-row { grid-template-columns: 34px 1fr; }
  .dating-fee-row strong { grid-column: 2; text-align: left; }
  .private-date-form-grid { grid-template-columns: 1fr; }
  .private-date-form-grid label.wide { grid-column: auto; }
}
.chat-typing-message .chat-bubble {
  min-width: 118px;
  padding: 10px 14px;
}
.chat-typing-message small {
  display: block;
  margin-top: 3px;
  color: #96889a;
  font-size: 10px;
}
.chat-typing-dots {
  display: flex;
  align-items: center;
  gap: 4px;
  height: 18px;
}
.chat-typing-dots i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #a8559f;
  animation: chatTypingDot 1.1s infinite ease-in-out;
}
.chat-typing-dots i:nth-child(2) { animation-delay: .14s; }
.chat-typing-dots i:nth-child(3) { animation-delay: .28s; }
@keyframes chatTypingDot {
  0%, 60%, 100% { transform: translateY(0); opacity: .35; }
  30% { transform: translateY(-4px); opacity: 1; }
}
.recharge-center-page {
  background: #fffdf0;
  min-height: calc(100vh - 72px);
  padding-bottom: 90px;
}
.recharge-nav {
  display: grid;
  grid-template-columns: 44px 1fr 44px;
  align-items: center;
  height: 58px;
}
.recharge-nav button {
  width: 42px;
  height: 42px;
  border-radius: 999px;
  background: transparent;
  font-size: 34px;
  color: #111827;
}
.recharge-nav h2 {
  text-align: center;
  font-size: 18px;
  color: #111827;
}
.recharge-balance-card {
  position: relative;
  overflow: hidden;
  margin: 8px 0 24px;
  border-radius: 22px;
  min-height: 150px;
  padding: 28px 26px;
  color: #fff;
  background: linear-gradient(135deg, #a8559f, #90538f);
  box-shadow: 0 18px 36px rgba(168, 85, 159, 0.2);
}
.recharge-balance-card p {
  opacity: 0.86;
  font-weight: 700;
  margin-bottom: 24px;
}
.recharge-balance-card h1 {
  font-size: 34px;
  position: relative;
  z-index: 2;
}
.recharge-bubble {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.11);
}
.recharge-bubble.one {
  width: 94px;
  height: 94px;
  right: -20px;
  top: -12px;
}
.recharge-bubble.two {
  width: 86px;
  height: 86px;
  left: -24px;
  bottom: -34px;
}
.recharge-amount-card {
  background: #fff;
  border-radius: 22px;
  padding: 22px 20px;
  box-shadow: 0 14px 34px rgba(168, 85, 159, 0.08);
}
.recharge-amount-card h3 {
  font-size: 18px;
  margin-bottom: 18px;
}
.recharge-input-row {
  height: 68px;
  border-radius: 12px;
  background: #f7f7f7;
  display: grid;
  grid-template-columns: 30px 1fr 34px;
  gap: 8px;
  align-items: center;
  padding: 0 16px;
  margin-bottom: 18px;
}
.recharge-input-row b {
  font-size: 22px;
}
.recharge-input-row input {
  border: none;
  outline: none;
  background: transparent;
  font-size: 24px;
  font-weight: 800;
}
.recharge-input-row button {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  color: #fff;
  background: #d1d5db;
}
.recharge-amount-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.recharge-amount-grid button {
  position: relative;
  height: 48px;
  border-radius: 10px;
  background: #fff;
  border: 1px solid #eee;
  color: #374151;
  font-size: 14px;
}
.recharge-amount-grid button.active {
  border-color: #a8559f;
  color: #a8559f;
  font-weight: 900;
}
.recharge-amount-grid button span {
  position: absolute;
  right: 0;
  top: 0;
  width: 18px;
  height: 18px;
  border-bottom-left-radius: 7px;
  color: #fff;
  background: #a8559f;
  font-size: 12px;
}
.recharge-submit-btn {
  width: 100%;
  height: 56px;
  margin: 30px 0 14px;
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(135deg, #a8559f, #9b5896);
  font-size: 18px;
  font-weight: 900;
  box-shadow: 0 14px 28px rgba(168, 85, 159, 0.22);
}
.recharge-safe-text {
  text-align: center;
  color: #9b5896;
  font-size: 13px;
}
.payment-sheet-mask {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.68);
  z-index: 80;
}
.payment-sheet {
  position: fixed;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 100%;
  max-width: 900px;
  background: #fff;
  border-radius: 18px 18px 0 0;
  padding: 20px 16px 18px;
  z-index: 81;
  box-shadow: 0 -12px 40px rgba(0,0,0,0.22);
}
.sheet-handle {
  width: 38px;
  height: 5px;
  border-radius: 999px;
  margin: 0 auto 14px;
  background: #e5e7eb;
}
.payment-sheet h3 {
  text-align: center;
  font-size: 18px;
  margin-bottom: 8px;
}
.payment-sheet > p {
  text-align: center;
  color: #9ca3af;
  margin-bottom: 22px;
}
.payment-method-list {
  display: grid;
  gap: 12px;
}
.payment-method-card {
  display: grid;
  grid-template-columns: 46px 1fr 28px;
  gap: 12px;
  align-items: center;
  min-height: 72px;
  border: 1px solid #eee;
  border-radius: 10px;
  padding: 12px 14px;
  background: #fff;
}
.payment-method-card.active {
  border-color: #a8559f;
  background: #fff7ff;
}
.payment-method-icon {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #fce7f3;
  color: #a8559f;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
}
.payment-method-card h4 {
  font-size: 15px;
  margin-bottom: 4px;
}
.payment-method-card p,
.payment-method-card small {
  display: block;
  color: #9ca3af;
  font-size: 12px;
  line-height: 1.5;
}
.payment-method-card b {
  color: #a8559f;
  font-size: 22px;
  text-align: right;
}
.payment-empty {
  background: #f9fafb;
  border-radius: 10px;
  padding: 18px;
  text-align: center;
  color: #999;
}
.payment-more-box {
  display: grid;
  grid-template-columns: 46px 1fr;
  gap: 12px;
  align-items: center;
  min-height: 70px;
  border-radius: 10px;
  background: #f9fafb;
  margin: 14px 0 28px;
  padding: 12px 14px;
}
.payment-more-icon {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #ffedd5;
  color: #f59e0b;
  display: flex;
  align-items: center;
  justify-content: center;
}
.payment-more-box h4 {
  font-size: 14px;
}
.payment-more-box p {
  color: #aaa;
  font-size: 12px;
  margin-top: 4px;
}
.payment-sheet-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.payment-sheet-actions button {
  height: 52px;
  border-radius: 999px;
  font-size: 16px;
  font-weight: 900;
}
.payment-sheet-actions .cancel {
  background: #f3f4f6;
  color: #6b7280;
}
.payment-sheet-actions .next {
  background: linear-gradient(135deg, #a8559f, #9b5896);
  color: #fff;
}
@media (max-width: 520px) {
  .recharge-amount-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .payment-sheet {
    max-width: 100%;
  }
}
.payment-qr-detail {
  position: fixed;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 100%;
  max-width: 520px;
  max-height: 90vh;
  overflow-y: auto;
  background: #fff;
  border-radius: 18px 18px 0 0;
  padding: 20px 16px 18px;
  z-index: 82;
  box-shadow: 0 -12px 40px rgba(0,0,0,0.22);
}
.payment-qr-detail h3 {
  text-align: center;
  margin-bottom: 16px;
  font-size: 18px;
}
.qr-payment-card {
  display: grid;
  gap: 14px;
}
.qr-payment-order,
.qr-payment-amount,
.qr-payment-method,
.qr-extra-info,
.qr-empty-box {
  border-radius: 14px;
  background: #faf7fb;
  padding: 14px;
}
.qr-payment-order p,
.qr-payment-amount p {
  color: #999;
  margin-bottom: 6px;
}
.qr-payment-order h4 {
  color: #333;
}
.qr-payment-amount h2 {
  color: #a8559f;
  font-size: 28px;
}
.qr-payment-method h4 {
  font-size: 16px;
  margin-bottom: 6px;
}
.qr-payment-method p,
.qr-extra-info {
  color: #666;
  line-height: 1.7;
}
.qr-image-box {
  text-align: center;
  border: 1px dashed #d8b4fe;
  border-radius: 14px;
  padding: 16px;
  background: #fff;
}
.qr-image-box img {
  display: block;
  width: min(100%, 288px);
  height: auto;
  max-width: 100%;
  object-fit: contain;
  border-radius: 0;
  background: #fff;
  margin: 0 auto;
}
.qr-image-box { overflow: visible; }
@media (max-width: 600px) {
  .qr-image-box { padding: 14px 10px; }
  .qr-image-box img { width: min(78vw, 288px); }
}
.qr-image-box p {
  color: #999;
  margin-top: 10px;
}
.qr-empty-box {
  color: #a8559f;
  text-align: center;
}
.bind-wallet-page {
  min-height: calc(100vh - 72px);
  padding-bottom: 96px;
  background: #f7f5f8;
}
.wallet-subpage-nav {
  height: 60px;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 44px;
  align-items: center;
  margin: -16px -16px 18px;
  padding: 0 16px;
  background: rgba(255, 255, 255, 0.96);
  border-bottom: 1px solid #eee9ef;
  box-shadow: 0 5px 18px rgba(61, 39, 62, 0.04);
}
.wallet-subpage-nav button {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #f7f2f8;
  color: #6d4e6e;
  font-size: 31px;
  line-height: 1;
}
.wallet-subpage-nav button:hover,
.wallet-subpage-nav button:focus-visible {
  background: #eee3ef;
  outline: none;
}
.wallet-subpage-nav h2 {
  overflow: hidden;
  color: #271f29;
  font-size: 18px;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.bind-page-intro {
  min-height: 104px;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 20px;
  border-radius: 20px;
  color: #fff;
  position: relative;
  overflow: hidden;
  box-shadow: 0 14px 30px rgba(73, 136, 115, 0.14);
}
.bind-page-intro::after {
  content: "";
  width: 110px;
  height: 110px;
  position: absolute;
  right: -35px;
  top: -48px;
  border: 22px solid rgba(255, 255, 255, 0.1);
  border-radius: 50%;
}
.bind-page-intro.usdt {
  background: linear-gradient(135deg, #4ebf9a, #2c9c78);
}
.bind-page-intro.bank {
  background: linear-gradient(135deg, #ad67ae, #824584);
  box-shadow: 0 14px 30px rgba(130, 69, 132, 0.16);
}
.bind-page-intro-icon {
  width: 56px;
  height: 56px;
  flex: 0 0 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 17px;
  background: rgba(255, 255, 255, 0.18);
  font-size: 28px;
  font-weight: 900;
  backdrop-filter: blur(6px);
}
.bind-page-intro h3 {
  margin-bottom: 6px;
  font-size: 19px;
}
.bind-page-intro p {
  color: rgba(255, 255, 255, 0.82);
  font-size: 13px;
  line-height: 1.5;
}
.bind-form-card {
  display: grid;
  gap: 18px;
  padding: 22px 18px;
  margin-top: 16px;
  border: 1px solid #f0ebf1;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(60, 39, 62, 0.05);
}
.bind-form-heading {
  padding-bottom: 2px;
}
.bind-form-heading h3 {
  margin-bottom: 5px;
  color: #2b242c;
  font-size: 18px;
}
.bind-form-heading p {
  color: #9b909d;
  font-size: 12px;
  line-height: 1.5;
}
.bind-form-card label {
  display: grid;
  gap: 9px;
}
.bind-field-label {
  color: #544b56;
  font-size: 14px;
  font-weight: 700;
}
.bind-field-label b {
  margin-left: 3px;
  color: #e45668;
}
.bind-form-card input,
.bind-form-card select {
  width: 100%;
  height: 52px;
  padding: 0 14px;
  border: 1px solid #ece7ed;
  border-radius: 13px;
  outline: none;
  background: #faf9fb;
  color: #302a31;
  font-size: 15px;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}
.bind-form-card input::placeholder {
  color: #b5abb6;
}
.bind-form-card input:focus,
.bind-form-card select:focus {
  border-color: #ad70ae;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(173, 112, 174, 0.1);
}
.bind-warning {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  margin: 16px 4px 22px;
  color: #807282;
  font-size: 12px;
  line-height: 1.65;
}
.bind-warning span {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 1px;
  border-radius: 50%;
  background: #eee4ef;
  color: #925594;
  font-size: 11px;
  font-weight: 900;
}
.bind-save-btn {
  width: 100%;
  height: 55px;
  border-radius: 16px;
  color: #fff;
  background: linear-gradient(135deg, #a85ba4, #8d4a8d);
  font-size: 17px;
  font-weight: 800;
  box-shadow: 0 12px 24px rgba(141, 74, 141, 0.2);
}
.bind-save-btn:hover,
.bind-save-btn:focus-visible {
  filter: brightness(1.04);
  outline: none;
}
.bind-save-btn:disabled {
  background: #d7cfd8;
  box-shadow: none;
  cursor: wait;
}
@media (max-width: 390px) {
  .bind-wallet-page {
    padding-left: 12px;
    padding-right: 12px;
  }

  .wallet-subpage-nav {
    margin-left: -12px;
    margin-right: -12px;
  }

  .bind-page-intro,
  .bind-form-card {
    border-radius: 17px;
  }
}
.withdraw-center-page,
.finance-list-page,
.security-page {
  min-height: calc(100vh - 72px);
  padding-bottom: 100px;
  background: #f5f6f8;
}
.wallet-subpage-nav .subpage-refresh-btn {
  width: 40px;
  height: 40px;
  background: transparent;
  color: #a25aa2;
  font-size: 22px;
}
.withdraw-balance-card {
  min-height: 128px;
  position: relative;
  overflow: hidden;
  padding: 24px 22px;
  margin-bottom: 16px;
  border-radius: 18px;
  color: #fff;
  background: linear-gradient(135deg, #aa68a6, #8e4e8d);
  box-shadow: 0 14px 30px rgba(142, 78, 141, 0.18);
}
.withdraw-balance-card p {
  position: relative;
  z-index: 2;
  margin-bottom: 18px;
  color: rgba(255, 255, 255, 0.86);
  font-size: 14px;
  font-weight: 700;
}
.withdraw-balance-card h1 {
  position: relative;
  z-index: 2;
  font-size: 30px;
}
.withdraw-card-bubble {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
}
.withdraw-card-bubble.one {
  width: 96px;
  height: 96px;
  right: -22px;
  top: -24px;
}
.withdraw-card-bubble.two {
  width: 76px;
  height: 76px;
  left: -25px;
  bottom: -38px;
}
.withdraw-panel {
  padding: 18px 16px;
  margin-bottom: 14px;
  border: 1px solid #f0edf1;
  border-radius: 17px;
  background: #fff;
  box-shadow: 0 9px 24px rgba(41, 31, 43, 0.035);
}
.withdraw-panel > h3,
.withdraw-panel-heading h3 {
  color: #302831;
  font-size: 16px;
}
.withdraw-method-tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 14px 0;
}
.withdraw-method-tabs button {
  height: 48px;
  border: 1px solid transparent;
  border-radius: 11px;
  background: #f5f5f6;
  color: #29252a;
  font-size: 15px;
  font-weight: 800;
}
.withdraw-method-tabs button.active {
  border-color: #aa5aa6;
  background: #fff9ff;
  color: #a0509e;
}
.withdraw-method-info {
  display: grid;
  gap: 12px;
}
.withdraw-bound-card {
  min-height: 66px;
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) 52px;
  align-items: center;
  gap: 10px;
  padding: 11px;
  border: 1px solid #eee9ef;
  border-radius: 12px;
  background: #faf9fa;
}
.withdraw-method-icon {
  width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #f2e8f2;
  color: #a654a4;
  font-size: 18px;
  font-weight: 900;
}
.withdraw-bound-card strong,
.withdraw-bound-card small {
  display: block;
}
.withdraw-bound-card strong {
  margin-bottom: 3px;
  color: #302831;
  font-size: 14px;
}
.withdraw-bound-card strong em {
  padding: 2px 5px;
  border-radius: 4px;
  background: #e6f7eb;
  color: #299a52;
  font-size: 10px;
  font-style: normal;
}
.withdraw-bound-card small {
  color: #a096a1;
  font-size: 11px;
}
.withdraw-bound-card button,
.withdraw-unbound-card button {
  min-height: 32px;
  border-radius: 999px;
  background: #f1e6f2;
  color: #9d509c;
  font-size: 12px;
  font-weight: 800;
}
.withdraw-address-row {
  display: grid;
  grid-template-columns: 1fr 22px;
  gap: 7px;
  align-items: center;
  padding-top: 2px;
}
.withdraw-address-row span {
  grid-column: 1 / -1;
  color: #4f4651;
  font-size: 13px;
}
.withdraw-address-row b {
  min-width: 0;
  overflow: hidden;
  color: #675e68;
  font-family: Consolas, monospace;
  font-size: 12px;
  font-weight: 500;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.withdraw-address-row i {
  color: #c8c1c9;
  font-size: 13px;
  font-style: normal;
}
.withdraw-unbound-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 72px;
  gap: 12px;
  align-items: center;
  padding: 14px;
  border: 1px dashed #ddc6df;
  border-radius: 12px;
  background: #fcf9fc;
}
.withdraw-unbound-card b {
  display: block;
  margin-bottom: 4px;
  font-size: 14px;
}
.withdraw-unbound-card p {
  color: #9e929f;
  font-size: 11px;
  line-height: 1.5;
}
.withdraw-panel-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.withdraw-panel-heading button {
  background: transparent;
  color: #a455a2;
  font-size: 13px;
  font-weight: 800;
}
.withdraw-amount-input {
  height: 64px;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  border-bottom: 1px solid #eee9ef;
}
.withdraw-amount-input b {
  color: #3a303b;
  font-size: 28px;
}
.withdraw-amount-input input {
  width: 100%;
  border: none;
  outline: none;
  background: transparent;
  color: #382e39;
  font-size: 27px;
  font-weight: 800;
}
.withdraw-amount-input input::placeholder {
  color: #d4cfd5;
}
.withdraw-field-tip {
  margin-top: 8px;
  color: #a29aa4;
  font-size: 11px;
}
.withdraw-password-field {
  display: grid;
  gap: 10px;
  color: #4f4651;
  font-size: 14px;
  font-weight: 700;
}
.withdraw-password-field input {
  height: 48px;
  padding: 0 13px;
  border: 1px solid #eee9ef;
  border-radius: 11px;
  outline: none;
  background: #faf9fb;
  font-size: 14px;
}
.withdraw-password-field input:focus {
  border-color: #b66cb3;
  box-shadow: 0 0 0 3px rgba(182, 108, 179, 0.1);
}
.withdraw-password-link {
  margin-top: 10px;
  background: transparent;
  color: #a353a0;
  font-size: 12px;
}
.withdraw-summary-card {
  display: grid;
  gap: 11px;
}
.withdraw-summary-card div {
  display: flex;
  justify-content: space-between;
  color: #625964;
  font-size: 13px;
}
.withdraw-summary-card em {
  font-style: normal;
}
.withdraw-summary-card .actual {
  padding-top: 11px;
  border-top: 1px dashed #e8e2e9;
  color: #2e2730;
  font-size: 15px;
  font-weight: 800;
}
.withdraw-summary-card .actual b {
  color: #b05aaa;
  font-size: 18px;
}
.withdraw-review-text,
.security-tip {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 4px 8px 22px;
  color: #948a96;
  font-size: 12px;
  line-height: 1.65;
}
.withdraw-review-text span,
.security-tip span {
  width: 17px;
  height: 17px;
  flex: 0 0 17px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 1px;
  border: 1px solid #c9a5ca;
  border-radius: 50%;
  color: #a85aa5;
  font-size: 10px;
  font-weight: 900;
}
.finance-primary-btn {
  width: 100%;
  height: 54px;
  border-radius: 999px;
  background: linear-gradient(135deg, #aa5ba7, #c16fc0);
  color: #fff;
  font-size: 17px;
  font-weight: 900;
  box-shadow: 0 12px 24px rgba(170, 91, 167, 0.22);
}
.finance-primary-btn:disabled {
  background: #dddadd;
  color: #fff;
  box-shadow: none;
  cursor: not-allowed;
}
.finance-record-list {
  display: grid;
  gap: 14px;
}
.finance-record-card {
  display: grid;
  gap: 0;
  padding: 18px;
  border: 1px solid #f0edf1;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(44, 34, 46, 0.04);
}
.finance-record-row {
  min-height: 36px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  border-bottom: 1px dashed #eee9ef;
  color: #817783;
  font-size: 13px;
}
.finance-record-row:last-child {
  border-bottom: none;
}
.finance-record-row span {
  flex: 0 0 auto;
}
.finance-record-row strong,
.finance-record-row time,
.finance-record-row p {
  min-width: 0;
  color: #302832;
  text-align: right;
  word-break: break-word;
}
.finance-record-row.order strong {
  font-size: 13px;
}
.finance-record-row.amount strong {
  color: #18131a;
  font-size: 16px;
}
.finance-record-row time {
  color: #968d98;
  font-size: 12px;
}
.finance-status,
.account-type {
  padding: 4px 8px;
  border-radius: 5px;
  font-size: 11px;
}
.finance-status.success { background: #e7f7eb; color: #20a553; }
.finance-status.pending { background: #e9f3ff; color: #3888e5; }
.finance-status.failed { background: #fff0f0; color: #df5757; }
.account-type {
  background: #f1f2f4;
  color: #7b7f87;
}
.finance-record-row .income { color: #20a553; }
.finance-record-row .expense { color: #f04a3f; }
.finance-record-row.remark {
  align-items: flex-start;
  padding: 9px 0;
}
.finance-record-row.remark p {
  max-width: 72%;
  color: #8b818d;
  font-size: 12px;
  line-height: 1.5;
}
.finance-empty,
.finance-list-end {
  padding: 42px 16px;
  color: #a198a3;
  text-align: center;
  font-size: 13px;
}
.finance-list-end {
  padding: 20px 16px 8px;
}
.security-form-card {
  display: grid;
  gap: 20px;
  padding: 20px 18px;
  margin-bottom: 18px;
  border: 1px solid #f0edf1;
  border-radius: 17px;
  background: #fff;
  box-shadow: 0 9px 24px rgba(41, 31, 43, 0.04);
}
.security-form-card label {
  display: grid;
  gap: 10px;
  color: #352c36;
  font-size: 14px;
  font-weight: 800;
}
.security-form-card label > span {
  color: #352c36;
}
.security-form-card input {
  width: 100%;
  height: 52px;
  padding: 0 14px;
  border: 1px solid transparent;
  border-radius: 11px;
  outline: none;
  background: #f5f6f8;
  color: #332b34;
  font-size: 14px;
}
.security-form-card input:focus {
  border-color: #b76db4;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(183, 109, 180, 0.1);
}
.password-input-wrap {
  position: relative;
}
.password-input-wrap input {
  padding-right: 48px;
}
.password-input-wrap button {
  width: 38px;
  height: 38px;
  position: absolute;
  right: 7px;
  top: 7px;
  border-radius: 50%;
  background: transparent;
  color: #a295a4;
  font-size: 17px;
}
.auth-password-input-wrap {
  width: 100%;
}
.auth-field .auth-password-input-wrap > button {
  width: 38px;
  min-width: 38px;
  height: 38px;
  top: 6px;
  right: 7px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #8d7f91;
  box-shadow: none;
}
.auth-field .auth-password-input-wrap > button:hover {
  background: #f2edf5;
  color: #74458a;
}
.security-page .finance-primary-btn {
  margin-top: 14px;
}
@media (max-width: 390px) {
  .withdraw-center-page,
  .finance-list-page,
  .security-page {
    padding-left: 12px;
    padding-right: 12px;
  }

  .withdraw-center-page .wallet-subpage-nav,
  .finance-list-page .wallet-subpage-nav,
  .security-page .wallet-subpage-nav {
    margin-left: -12px;
    margin-right: -12px;
  }

  .finance-record-card {
    padding: 16px 14px;
  }
}
.mine-wallet-page {
  position: relative;
  padding: 0 14px 30px;
  background:
    radial-gradient(circle at 100% 6%, rgba(206, 111, 202, .11), transparent 28%),
    linear-gradient(180deg, #faf7fc 0%, #f8f5fb 100%);
}
.mine-top-card {
  position: relative;
  overflow: hidden;
  margin: -16px -14px 0;
  padding: 24px 20px 92px;
  border-radius: 0 0 34px 34px;
  background: linear-gradient(135deg, #75477f 0%, #a65399 55%, #cf58a6 100%);
  box-shadow: 0 16px 34px rgba(107, 52, 112, .18);
}
.mine-top-card::before,
.mine-top-card::after {
  position: absolute;
  content: "";
  border-radius: 50%;
  background: rgba(255, 255, 255, .07);
}
.mine-top-card::before { width: 190px; height: 190px; right: -82px; top: -95px; }
.mine-top-card::after { width: 96px; height: 96px; right: 52px; bottom: -52px; }
.mine-user-box { position: relative; z-index: 1; }
.mine-user-avatar { width: 64px; height: 64px; border: 3px solid rgba(255,255,255,.78); box-shadow: 0 9px 22px rgba(53, 20, 61, .2); }
.mine-user-info p { display: flex; flex-wrap: wrap; align-items: center; gap: 3px; margin: 4px 0; font-size: 12px; }
.mine-user-info h3 { font-size: 19px; letter-spacing: .1px; }
.mine-vip-badge { border: 1px solid rgba(255,255,255,.22); background: rgba(255,255,255,.18); font-weight: 800; }
.copy-mini-btn,
.eye-btn,
.refresh-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.copy-mini-btn { width: 26px; height: 26px; border-radius: 8px; background: rgba(255,255,255,.13); }
.copy-mini-btn svg { width: 15px; height: 15px; }
.eye-btn { width: 30px; height: 30px; border-radius: 9px; }
.eye-btn:hover, .eye-btn:focus-visible, .refresh-btn:hover, .refresh-btn:focus-visible { background: #f7eef8; outline: none; }
.eye-btn svg { width: 17px; height: 17px; }
.refresh-btn { width: 34px; height: 34px; border-radius: 10px; }
.refresh-btn svg { width: 19px; height: 19px; }
.copy-mini-btn svg,
.eye-btn svg,
.refresh-btn svg,
.icon-circle svg,
.wallet-action-icon svg,
.wallet-common-icon svg,
.wallet-logout-btn svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.wallet-balance-card {
  position: relative;
  z-index: 2;
  margin-top: -61px;
  padding: 19px 20px 15px;
  border: 1px solid rgba(173, 103, 169, .12);
  border-radius: 23px;
  box-shadow: 0 16px 36px rgba(84, 42, 89, .1);
}
.wallet-balance-head { margin-bottom: 10px; font-size: 13px; }
.wallet-balance-amount { margin-bottom: 18px; }
.wallet-balance-amount strong { color: #9b4f9c; font-size: 32px; letter-spacing: .4px; }
.wallet-balance-footer { gap: 0; padding-top: 14px; }
.wallet-balance-item + .wallet-balance-item { border-left: 1px solid #f0e9f2; }
.wallet-balance-item p { margin-bottom: 5px; font-size: 11px; }
.wallet-balance-item h4 { font-size: 15px; }
.wallet-info-center {
  width: 100%;
  min-height: 72px;
  margin-top: 13px;
  padding: 13px 14px;
  border: 1px solid #eee6f0;
  color: #2f2632;
  text-align: left;
  box-shadow: 0 9px 22px rgba(80, 38, 86, .055);
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.wallet-info-center:hover,
.wallet-info-center:focus-visible { transform: translateY(-1px); border-color: #dcb8dc; outline: none; box-shadow: 0 13px 28px rgba(94, 44, 99, .09); }
.icon-circle { width: 44px; height: 44px; border-radius: 14px; }
.icon-circle.purple { background: linear-gradient(135deg, #8d4ca0, #d15aa9); box-shadow: 0 7px 16px rgba(177, 75, 159, .22); }
.icon-circle svg { width: 22px; height: 22px; }
.wallet-info-copy { display: grid; gap: 3px; }
.wallet-info-copy > span { font-size: 15px; font-weight: 900; }
.wallet-info-copy small { color: #9c8fa0; font-size: 10px; }
.wallet-info-right { margin-left: auto; }
.wallet-info-right span { max-width: 130px; overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.wallet-chevron { display: inline-flex; align-items: center; justify-content: center; width: 25px; height: 25px; border-radius: 9px; background: #f8f3f9; color: #9e679e; font-size: 20px; font-weight: 500; }
.wallet-quick-actions { gap: 10px; margin-top: 13px; }
.wallet-action-card {
  position: relative;
  min-width: 0;
  min-height: 82px;
  justify-content: flex-start;
  gap: 10px;
  padding: 13px 12px;
  border-color: #eee5f0;
  border-radius: 18px;
  text-align: left;
}
.wallet-action-icon { width: 46px; height: 46px; flex: 0 0 46px; border-radius: 15px; }
.wallet-action-icon svg { width: 23px; height: 23px; }
.wallet-action-card.recharge .wallet-action-icon { background: linear-gradient(135deg, #f8e7f7, #f4dff4); color: #aa4fa2; }
.wallet-action-card.withdraw .wallet-action-icon { background: linear-gradient(135deg, #fff2dc, #ffe7c4); color: #d98c22; }
.wallet-action-copy { display: grid; min-width: 0; gap: 3px; }
.wallet-action-copy b { color: #372b3a; font-size: 15px; }
.wallet-action-copy small { color: #9d929f; font-size: 9px; line-height: 1.35; }
.wallet-action-arrow { margin-left: auto; color: #c0b3c2; font-size: 20px; }
.wallet-common-box {
  margin-top: 13px;
  padding: 18px 14px 15px;
  border: 1px solid #eee6f0;
  border-radius: 21px;
  box-shadow: 0 12px 30px rgba(75, 36, 82, .065);
}
.wallet-section-heading { margin-bottom: 13px; }
.wallet-section-kicker { display: block; margin-bottom: 4px; color: #a85ca7; font-size: 9px; font-weight: 900; letter-spacing: 1.5px; text-transform: uppercase; }
.wallet-section-heading h3 { margin-bottom: 3px; font-size: 18px; }
.wallet-section-heading p { font-size: 10px; }
.wallet-section-count { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 11px; background: #f6edf8; color: #a450a1; font-size: 12px; font-weight: 900; }
.wallet-common-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.wallet-common-item {
  position: relative;
  min-height: 108px;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 16px;
  grid-template-rows: auto;
  justify-items: stretch;
  align-items: center;
  align-content: center;
  gap: 10px;
  padding: 13px 10px;
  border: 1px solid #f0e9f2;
  border-radius: 17px;
  background: linear-gradient(145deg, #fff, #fcfafd);
  color: #4d424f;
  text-align: left;
  box-shadow: 0 7px 17px rgba(68, 31, 75, .035);
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.wallet-common-item:hover,
.wallet-common-item:focus-visible { transform: translateY(-2px); border-color: #dfc5e1; color: #4d424f; box-shadow: 0 12px 24px rgba(89, 39, 94, .09); }
.wallet-common-icon { width: 44px; height: 44px; border-radius: 14px; }
.wallet-common-icon svg { width: 22px; height: 22px; }
.wallet-common-copy { display: grid; min-width: 0; gap: 4px; }
.wallet-common-label { color: #3c323f; font-size: 12px; font-weight: 900; line-height: 1.35; }
.wallet-common-description { overflow: hidden; color: #a194a4; font-size: 9px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.wallet-common-status { width: fit-content; max-width: 100%; padding: 3px 6px; border-radius: 999px; background: #f5f1f6; font-size: 8px; }
.wallet-common-status.bound { background: #e9f9f1; color: #18865f; }
.wallet-item-arrow { align-self: center; color: #c7bac9; font-size: 18px; }
.wallet-common-item-wide { grid-column: 1 / -1; min-height: 82px; }
.tone-usdt .wallet-common-icon { background: #e9faf3; color: #168b62; }
.tone-bank .wallet-common-icon { background: #edf4ff; color: #4076bf; }
.tone-withdraw .wallet-common-icon { background: #fff4e5; color: #d78826; }
.tone-recharge .wallet-common-icon { background: #f7ecfb; color: #a14fa8; }
.tone-account .wallet-common-icon { background: #eeeefe; color: #6866c2; }
.tone-login .wallet-common-icon { background: #fff0f6; color: #c85085; }
.tone-security .wallet-common-icon { background: #fff0f0; color: #d55d62; }
.wallet-logout-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 48px;
  margin-top: 14px;
  border: 1px solid #e7cce5;
  border-radius: 16px;
  background: rgba(255,255,255,.78);
  color: #a14d98;
  font-size: 14px;
  box-shadow: 0 7px 18px rgba(83, 37, 85, .04);
}
.wallet-logout-btn svg { width: 18px; height: 18px; }
.wallet-logout-btn:hover, .wallet-logout-btn:focus-visible { border-color: #cf8cc8; background: #fff; outline: none; }
@media (max-width: 430px) {
  .wallet-common-item { min-height: 102px; grid-template-columns: 40px minmax(0, 1fr) 12px; gap: 8px; padding: 11px 9px; }
  .wallet-common-icon { width: 40px; height: 40px; }
  .wallet-common-description { display: none; }
  .wallet-action-card { padding: 11px 10px; }
  .wallet-action-copy small { display: none; }
}
@media (max-width: 360px) {
  .wallet-common-grid { grid-template-columns: 1fr; }
  .wallet-common-item, .wallet-common-item-wide { grid-column: auto; min-height: 78px; }
  .wallet-common-description { display: block; }
  .wallet-info-right span { max-width: 92px; }
}
.support-floating-button {
  position: fixed;
  right: max(16px, calc((100vw - 520px) / 2 + 16px));
  bottom: 92px;
  z-index: 52;
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 46px;
  padding: 8px 13px 8px 9px;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 999px;
  background: linear-gradient(135deg, #7b35df, #ed448f);
  color: #fff;
  box-shadow: 0 12px 30px rgba(159, 55, 182, .32);
  font-weight: 900;
  transition: transform .2s ease, box-shadow .2s ease;
}
.support-floating-button:hover,
.support-floating-button:focus-visible { transform: translateY(-2px); box-shadow: 0 16px 34px rgba(159, 55, 182, .4); outline: none; }
.support-floating-icon { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: rgba(255,255,255,.2); font-size: 17px; }
.support-floating-text { font-size: 13px; white-space: nowrap; }
.support-floating-button b { position: absolute; top: -5px; right: -3px; min-width: 20px; height: 20px; padding: 0 5px; border: 2px solid #fff; border-radius: 999px; background: #ff315f; color: #fff; font-size: 10px; line-height: 16px; text-align: center; }
.support-page {
  min-height: calc(100vh - 94px);
  padding: 0 14px 92px;
  background:
    radial-gradient(circle at 10% 8%, rgba(207, 126, 255, .15), transparent 25%),
    linear-gradient(180deg, #f8f2ff 0%, #f7f8fc 52%, #f2f4f8 100%);
}
.support-page.active { display: flex; flex-direction: column; }
.support-topbar { display: grid; grid-template-columns: 42px 1fr 34px; align-items: center; gap: 10px; min-height: 76px; }
.support-back { width: 38px; height: 38px; border-radius: 13px; background: rgba(255,255,255,.86); color: #7934bc; box-shadow: 0 6px 16px rgba(103,53,130,.08); font-size: 26px; line-height: 1; }
.support-topbar h2 { margin: 0; color: #2f2435; font-size: 19px; }
.support-topbar p { margin: 3px 0 0; color: #9a8d9e; font-size: 11px; }
.support-secure { display: grid; place-items: center; width: 29px; height: 29px; border-radius: 50%; background: #e9f9f1; color: #179364; font-weight: 900; }
.support-agent-card { display: flex; align-items: center; gap: 12px; padding: 15px; border: 1px solid rgba(255,255,255,.8); border-radius: 22px; background: linear-gradient(135deg, rgba(255,255,255,.97), rgba(253,247,255,.95)); box-shadow: 0 12px 30px rgba(86,42,108,.09); }
.support-agent-avatar { position: relative; display: grid; place-items: center; width: 50px; height: 50px; flex: 0 0 50px; border-radius: 17px; background: linear-gradient(135deg, #7439d8, #e84794); color: #fff; font-size: 24px; box-shadow: 0 8px 18px rgba(158,56,177,.24); }
.support-agent-avatar i { position: absolute; right: -3px; bottom: -3px; width: 13px; height: 13px; border: 3px solid #fff; border-radius: 50%; background: #23c58a; }
.support-agent-avatar i.busy { background: #f4a62a; }
.support-agent-avatar i.offline { background: #aeb3bd; }
.support-agent-main { min-width: 0; flex: 1; }
.support-agent-main h3 { margin: 0 0 5px; color: #302536; font-size: 16px; }
.support-agent-main p { display: flex; flex-wrap: wrap; gap: 7px; margin: 0; color: #99909c; font-size: 10px; }
.support-status { padding: 3px 7px; border-radius: 999px; background: #e8f9f1; color: #16875e; font-weight: 800; }
.support-status.busy { background: #fff4df; color: #bd7820; }
.support-status.offline { background: #eff0f3; color: #7d828b; }
.support-sync-tag { padding: 5px 8px; border-radius: 10px; background: #f1e8fb; color: #8845b7; font-size: 9px; font-weight: 900; white-space: nowrap; }
.support-quick-questions { display: flex; gap: 7px; margin: 12px 0 8px; overflow-x: auto; scrollbar-width: none; }
.support-quick-questions::-webkit-scrollbar { display: none; }
.support-quick-questions button { flex: 0 0 auto; padding: 8px 11px; border: 1px solid #eadcf2; border-radius: 999px; background: rgba(255,255,255,.92); color: #765779; font-size: 10px; box-shadow: 0 4px 12px rgba(75,42,92,.04); }
.support-messages { flex: 1; min-height: 300px; max-height: calc(100vh - 345px); overflow-y: auto; padding: 10px 2px 20px; display: grid; align-content: start; gap: 12px; }
.support-loading,
.support-empty { margin: 28px auto; padding: 13px 17px; border-radius: 14px; background: rgba(255,255,255,.78); color: #9a909d; font-size: 12px; text-align: center; }
.support-msg { display: flex; gap: 8px; align-items: flex-end; }
.support-msg.mine { justify-content: flex-end; }
.support-msg-avatar { display: grid; place-items: center; width: 29px; height: 29px; flex: 0 0 29px; border-radius: 10px; background: linear-gradient(135deg, #7c3aed, #e94e94); color: #fff; font-size: 14px; }
.support-bubble { max-width: 78%; padding: 10px 12px; border-radius: 17px 17px 17px 5px; background: #fff; color: #413646; box-shadow: 0 7px 20px rgba(79,46,91,.07); line-height: 1.55; overflow-wrap: anywhere; }
.support-msg.mine .support-bubble { border-radius: 17px 17px 5px 17px; background: linear-gradient(135deg, #7d3dde, #e54793); color: #fff; }
.support-bubble p { margin: 0; font-size: 13px; white-space: pre-wrap; }
.support-bubble time { display: block; margin-top: 4px; color: inherit; font-size: 9px; opacity: .62; text-align: right; }
.support-typing { display: inline-flex; align-items: center; gap: 4px; height: 18px; }
.support-typing i { width: 5px; height: 5px; border-radius: 50%; background: #a268c0; animation: chatTypingPulse 1s ease-in-out infinite; }
.support-typing i:nth-child(2) { animation-delay: .15s; }
.support-typing i:nth-child(3) { animation-delay: .3s; }
.support-composer { position: relative; left: auto; bottom: auto; z-index: 60; width: 100%; max-width: none; min-height: 76px; transform: none; display: grid; grid-template-columns: 44px minmax(0, 1fr) 66px; gap: 9px; align-items: end; padding: 11px 14px max(11px, env(safe-area-inset-bottom)); border-top: 1px solid rgba(127,81,138,.1); background: rgba(255,255,255,.96); box-shadow: 0 -10px 30px rgba(74,38,84,.08); backdrop-filter: blur(14px); }
.support-composer textarea { width: 100%; min-height: 47px; max-height: 108px; resize: none; padding: 13px 15px; border: 1px solid #ece2ee; border-radius: 18px; background: #faf8fb; color: #403545; font: inherit; font-size: 16px; line-height: 1.45; outline: none; }
.support-composer textarea:focus { border-color: #c689d2; background: #fff; box-shadow: 0 0 0 3px rgba(184,80,184,.08); }
.support-composer button { height: 47px; border-radius: 16px; background: linear-gradient(135deg, #7b3ee0, #eb4592); color: #fff; font-size: 13px; font-weight: 900; box-shadow: 0 8px 18px rgba(175,59,168,.22); }
.support-composer button:disabled { background: #d9d4dc; box-shadow: none; cursor: not-allowed; }
@media (max-width: 390px) {
  .support-floating-text { display: none; }
  .support-floating-button { padding-right: 9px; }
  .support-agent-card { padding: 13px 11px; }
  .support-sync-tag { display: none; }
}
.app-brand-lockup { display: flex; align-items: center; gap: 11px; min-width: 0; }
.app-brand-logo { display: grid; place-items: center; width: 45px; height: 45px; flex: 0 0 45px; overflow: hidden; border: 1px solid rgba(255,255,255,.55); border-radius: 14px; background: rgba(255,255,255,.18); color: #fff; box-shadow: inset 0 0 0 1px rgba(255,255,255,.1), 0 6px 17px rgba(58,22,83,.15); font-size: 15px; font-weight: 950; letter-spacing: .6px; }
.app-brand-logo img { width: 100%; height: 100%; object-fit: cover; }
.app-brand-lockup > div:last-child { min-width: 0; }
.header-support-button { position: relative; display: inline-flex; align-items: center; gap: 5px; height: 38px; padding: 0 10px 0 7px; border: 1px solid rgba(255,255,255,.5); border-radius: 12px; background: rgba(255,255,255,.16); color: #fff; box-shadow: 0 6px 16px rgba(60,22,81,.12); font-weight: 850; }
.header-support-button:hover, .header-support-button:focus-visible { background: rgba(255,255,255,.26); outline: none; }
.header-support-button .support-floating-icon { width: 25px; height: 25px; background: rgba(255,255,255,.16); }
.header-support-button .support-floating-icon svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.header-support-button .support-floating-text { font-size: 10px; }
.header-support-button b { position: absolute; top: -7px; right: -7px; min-width: 19px; height: 19px; padding: 0 4px; border: 2px solid #c346c7; border-radius: 999px; background: #ff315f; color: #fff; font-size: 9px; line-height: 15px; text-align: center; }
.field-feedback {
  display: block;
  min-height: 16px;
  margin-top: 3px;
  color: #988b9d;
  font-size: 10px;
  font-weight: 650;
  line-height: 1.45;
}
.field-feedback.error { color: #d92d55; }
.field-invalid input,
.field-invalid textarea { border-color: #e65172 !important; background: #fff7f9 !important; box-shadow: 0 0 0 3px rgba(230,81,114,.1) !important; }
.field-valid input:not([readonly]),
.field-valid textarea { border-color: #46ae82 !important; background: #f8fffb !important; }
.auth-field.field-invalid input { border-color: #e65172; box-shadow: 0 0 0 3px rgba(230,81,114,.1); }
.auth-field.field-valid input { border-color: #46ae82; }
.regional-form-badge {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 13px;
  border: 1px solid #eadcf2;
  border-radius: 14px;
  background: linear-gradient(135deg,#faf5ff,#fff8fc);
  color: #5e4866;
}
.regional-form-badge > span { display: grid; place-items: center; width: 34px; height: 34px; flex: 0 0 34px; border-radius: 11px; background: #fff; box-shadow: 0 5px 13px rgba(95,48,120,.08); font-size: 18px; }
.regional-form-badge div { display: grid; gap: 2px; min-width: 0; }
.regional-form-badge b { font-size: 12px; }
.regional-form-badge small { color: #8e7d94; font-size: 9px; line-height: 1.45; }
.regional-address-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.regional-address-grid label,
.private-date-form-grid label {
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  align-content: start;
  align-items: center;
  gap: 5px 4px;
  min-width: 0;
}
.regional-address-grid label > span,
.private-date-form-grid label > span { min-width: 0; }
.regional-address-grid label > em,
.private-date-form-grid label > em { color: #e44771; font-size: 11px; font-style: normal; font-weight: 900; }
.regional-address-grid label > input,
.regional-address-grid label > textarea,
.regional-address-grid label > .field-feedback,
.private-date-form-grid label > input,
.private-date-form-grid label > textarea,
.private-date-form-grid label > .field-feedback { grid-column: 1 / -1; }
.regional-address-grid label.wide,
.private-date-form-grid label.wide { grid-column: 1 / -1; }
.regional-address-grid input[readonly],
.private-date-form-grid input[readonly] { border-color: #e8dded; background: #f2edf5; color: #6f5b76; cursor: default; }
.regional-address-grid textarea,
.private-date-form-grid textarea { min-height: 82px; }
.app.subpage-open { padding-bottom: 16px; }
.floating-return-menu {
  position: fixed;
  left: max(14px,calc((100vw - 520px) / 2 + 14px));
  bottom: max(16px,env(safe-area-inset-bottom));
  z-index: 75;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 43px;
  padding: 8px 14px 8px 9px;
  border: 1px solid rgba(255,255,255,.85);
  border-radius: 999px;
  background: linear-gradient(135deg,#7138ce,#d94399);
  color: #fff;
  box-shadow: 0 12px 28px rgba(103,43,133,.28);
  font-size: 11px;
  font-weight: 900;
}
.floating-return-menu[hidden] { display: none !important; }
.floating-return-menu span { display: grid; place-items: center; width: 27px; height: 27px; border-radius: 50%; background: rgba(255,255,255,.18); font-size: 16px; }
.assist-dialog-mask { z-index: 300; }
.header-message-button { position: relative; min-width: 60px; height: 38px; padding: 0 10px; border: 1px solid rgba(218,187,222,.78); border-radius: 13px; background: linear-gradient(145deg,#fff,#fbf4ff); color: #754678; display: inline-flex; align-items: center; justify-content: center; gap: 5px; box-shadow: 0 6px 15px rgba(95,48,106,.08); }
.header-message-button > span { font-size: 16px; }
.header-message-button > em { font-style: normal; font-size: 11px; font-weight: 800; }
.header-message-button > b,
.message-center-badge,
.nav-message-badge { min-width: 19px; height: 19px; padding: 0 5px; border: 2px solid #fff; border-radius: 999px; background: #f14378; color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 9px; line-height: 1; box-shadow: 0 4px 10px rgba(241,67,120,.28); }
.header-message-button > b { position: absolute; top: -7px; right: -7px; }
.header-message-button.has-unread { border-color: #f2a7c1; animation: message-reminder-pulse 2.4s ease-in-out infinite; }
.message-center-badge { flex: 0 0 auto; border-width: 0; }
.nav-message-badge { position: absolute; top: -8px; right: -13px; border-color: #fff; }
.message-center-summary { margin: 10px 0 14px; padding: 12px 13px; border: 1px solid #eadced; border-radius: 16px; background: linear-gradient(145deg,#fff,#fbf6ff); display: flex; align-items: center; justify-content: space-between; gap: 12px; box-shadow: 0 8px 22px rgba(91,51,101,.06); }
.message-center-summary > div { min-width: 0; display: flex; align-items: center; gap: 10px; }
.message-center-summary > div > span { width: 34px; height: 34px; flex: 0 0 auto; border-radius: 12px; background: #eefaf3; color: #2f9b60; display: grid; place-items: center; font-weight: 900; }
.message-center-summary.has-unread > div > span { background: #fff0f6; color: #e83f78; }
.message-center-summary p { margin: 0; min-width: 0; display: grid; gap: 2px; }
.message-center-summary p b { color: #39283c; font-size: 13px; }
.message-center-summary p small { color: #8b748f; font-size: 10px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.message-center-summary button { flex: 0 0 auto; padding: 8px 12px; border: 0; border-radius: 10px; background: #f0e5f3; color: #744c79; font-size: 10px; font-weight: 800; }
.conversation-card.has-unread { border-color: #efb2c8; background: linear-gradient(145deg,#fff,#fff7fa); box-shadow: 0 10px 24px rgba(198,62,111,.1); }
.conversation-card.support-conversation { border-style: dashed; }
.conversation-card.support-conversation .conversation-avatar { background: linear-gradient(145deg,#8d5aa0,#5e356e); color: #fff; }
.chat-delivery-state { display: block; margin-top: 4px; color: rgba(255,255,255,.72); font-size: 9px; text-align: right; }
.chat-delivery-state.seen { color: #d7ffeb; }
.message-reply-toast { position: fixed; z-index: 380; top: max(76px,calc(env(safe-area-inset-top) + 64px)); right: max(16px,calc((100vw - 1050px) / 2 + 16px)); width: min(340px,calc(100vw - 32px)); padding: 12px; border: 1px solid rgba(239,180,205,.85); border-radius: 17px; background: rgba(255,255,255,.97); color: #38263c; display: flex; align-items: center; gap: 10px; text-align: left; box-shadow: 0 18px 42px rgba(79,35,87,.2); transform: translateY(-12px); opacity: 0; pointer-events: none; transition: opacity .2s ease,transform .2s ease; backdrop-filter: blur(14px); }
.message-reply-toast[hidden] { display: none !important; }
.message-reply-toast.show { transform: translateY(0); opacity: 1; pointer-events: auto; }
.message-reply-toast-icon { width: 40px; height: 40px; flex: 0 0 auto; border-radius: 13px; background: linear-gradient(145deg,#f9d9e7,#ead8f3); display: grid; place-items: center; font-size: 19px; }
.message-reply-toast-copy { min-width: 0; flex: 1; display: grid; gap: 3px; }
.message-reply-toast-copy b { font-size: 13px; }
.message-reply-toast-copy small { color: #7e687f; font-size: 10px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.message-reply-toast > em { padding: 6px 8px; border-radius: 9px; background: #8a578f; color: #fff; font-size: 9px; font-style: normal; font-weight: 800; }
@keyframes message-reminder-pulse { 0%,100% { box-shadow: 0 6px 15px rgba(95,48,106,.08); } 50% { box-shadow: 0 7px 20px rgba(235,74,127,.25); } }
@media (max-width: 430px) {
  .regional-address-grid { grid-template-columns: 1fr; }
  .regional-address-grid label.wide { grid-column: auto; }
  .checkout-address-form { padding: 2px 0 0; }
  .floating-return-menu { left: 12px; bottom: max(12px,env(safe-area-inset-bottom)); }
  .header-message-button { min-width: 38px; width: 38px; padding: 0; }
  .header-message-button > em { display: none; }
  .message-reply-toast { right: 10px; width: calc(100vw - 20px); }
}
.public-chat-page { position: relative; min-height: calc(100vh - 105px); background: radial-gradient(circle at 100% 0,rgba(236,72,153,.08),transparent 30%),linear-gradient(180deg,#f8f3ff,#f6f7fb); }
.public-chat-page.active { display: flex; flex-direction: column; height: calc(100vh - 105px); padding: 12px 12px 78px; }
.public-chat-header { display: grid; grid-template-columns: 43px minmax(0,1fr) auto; align-items: center; gap: 10px; padding: 13px 14px; border: 1px solid rgba(255,255,255,.86); border-radius: 20px; background: linear-gradient(135deg,rgba(255,255,255,.98),rgba(251,243,255,.95)); box-shadow: 0 10px 27px rgba(80,39,103,.09); }
.public-chat-title-icon { display: grid; place-items: center; width: 43px; height: 43px; border-radius: 14px; background: linear-gradient(135deg,#723be0,#e64998); color: #fff; box-shadow: 0 7px 17px rgba(165,57,174,.22); }
.public-chat-title-icon svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.public-chat-header h2 { margin: 0; color: #362a3b; font-size: 17px; }
.public-chat-header p { margin: 3px 0 0; overflow: hidden; color: #9a8d9e; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.public-chat-live { display: flex; align-items: center; gap: 6px; padding: 7px 8px; border-radius: 999px; background: #eaf9f2; color: #17845f; }
.public-chat-live i { width: 7px; height: 7px; border-radius: 50%; background: #1cc584; box-shadow: 0 0 0 4px rgba(28,197,132,.12); animation: publicChatLive 1.5s ease-in-out infinite; }
.public-chat-live span { font-size: 9px; white-space: nowrap; }
.public-chat-live em { font-style: normal; }
@keyframes publicChatLive { 50% { opacity: .5; transform: scale(.75); } }
.public-chat-announcement { display: flex; align-items: center; gap: 8px; margin: 9px 0 7px; padding: 9px 11px; border: 1px solid #f1e1b8; border-radius: 12px; background: #fff9e9; color: #927027; }
.public-chat-announcement svg { width: 17px; height: 17px; flex: 0 0 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.public-chat-announcement p { margin: 0; overflow: hidden; font-size: 10px; line-height: 1.4; text-overflow: ellipsis; white-space: nowrap; }
.public-chat-virtual-disclosure { display: flex; align-items: center; gap: 7px; margin: -1px 0 7px; padding: 7px 10px; border: 1px solid #e8e0f1; border-radius: 11px; background: rgba(255,255,255,.72); color: #75677c; }
.public-chat-virtual-disclosure span { display: grid; place-items: center; width: 17px; height: 17px; flex: 0 0 17px; border-radius: 6px; background: #eee6f8; color: #7d4e9b; font-size: 8px; font-weight: 900; }
.public-chat-virtual-disclosure p { margin: 0; font-size: 8px; line-height: 1.45; }
.public-chat-quick-messages { display: flex; gap: 7px; overflow-x: auto; padding: 0 0 8px; scrollbar-width: none; }
.public-chat-quick-messages::-webkit-scrollbar { display: none; }
.public-chat-quick-messages button { flex: 0 0 auto; padding: 7px 10px; border: 1px solid #eadff0; border-radius: 999px; background: #fff; color: #7c607f; box-shadow: 0 3px 10px rgba(71,37,83,.04); font-size: 9px; }
.public-chat-message-stage { position: relative; display: block; min-height: 0; flex: 1; overflow-x: hidden; overflow-y: auto; -webkit-overflow-scrolling: touch; }
.public-chat-messages { flex: 1; min-height: 0; width: 100%; overflow-y: auto; display: grid; align-content: start; gap: 12px; padding: 10px 3px 15px; overscroll-behavior: contain; }
.public-chat-new-messages { position: absolute; right: 8px; bottom: 9px; z-index: 2; padding: 7px 11px; border: 1px solid rgba(125,74,159,.18); border-radius: 999px; background: rgba(255,255,255,.96); color: #7c4d98; box-shadow: 0 6px 18px rgba(71,37,83,.16); font-size: 9px; font-weight: 800; }
.public-chat-loading, .public-chat-empty { margin: 34px auto; padding: 12px 16px; border-radius: 13px; background: rgba(255,255,255,.82); color: #9a909d; box-shadow: 0 6px 18px rgba(67,38,79,.05); font-size: 11px; text-align: center; }
.public-chat-message { display: flex; align-items: flex-start; gap: 8px; }
.public-chat-message.mine { flex-direction: row-reverse; }
.public-chat-avatar { display: grid; place-items: center; width: 34px; height: 34px; flex: 0 0 34px; overflow: hidden; border: 2px solid #fff; border-radius: 12px; background: linear-gradient(135deg,#e7d7fa,#f8cfe3); color: #843d91; box-shadow: 0 5px 14px rgba(75,41,87,.1); font-size: 12px; font-weight: 900; }
.public-chat-avatar img { width: 100%; height: 100%; object-fit: cover; }
.public-chat-message-main { max-width: 80%; }
.public-chat-message.mine .public-chat-message-main { display: grid; justify-items: end; }
.public-chat-message-meta { display: flex; align-items: center; gap: 5px; margin: 0 2px 4px; color: #9b8f9e; font-size: 9px; }
.public-chat-message.mine .public-chat-message-meta { flex-direction: row-reverse; }
.public-chat-message-meta b { color: #615166; font-size: 10px; }
.public-chat-message.is-host .public-chat-avatar,.public-chat-message.is-host .public-chat-message-meta b{cursor:pointer}
.public-chat-message-meta em { padding: 2px 5px; border-radius: 999px; background: #f0e7f8; color: #7e4ba1; font-size: 7px; font-style: normal; font-weight: 900; }
.public-chat-message-meta .public-chat-source-label { border: 1px solid #dfe4ee; background: #f5f7fa; color: #667080; letter-spacing: .02em; }
.public-chat-region { max-width: 88px; overflow: hidden; color: #8e8092; text-overflow: ellipsis; white-space: nowrap; }
.public-chat-media.audio { width:min(360px,100%); min-height:42px; margin:2px 0 8px; }
.public-chat-message-meta .public-chat-verified-label { border:1px solid #b7ead2; background:linear-gradient(135deg,#eafff4,#d8f8e9); color:#08784e; box-shadow:0 3px 8px rgba(14,134,88,.1); }
.public-chat-bubble { overflow: hidden; width: fit-content; max-width: 100%; padding: 9px 11px; border-radius: 5px 16px 16px; background: #fff; color: #443748; box-shadow: 0 7px 20px rgba(66,37,78,.07); overflow-wrap: anywhere; }
.public-chat-message.mine .public-chat-bubble { border-radius: 16px 5px 16px 16px; background: linear-gradient(135deg,#783fe0,#d844a8); color: #fff; }
.public-chat-reply-quote { margin-bottom: 7px; padding: 6px 8px; border-left: 2px solid currentColor; border-radius: 5px; background: rgba(121,72,148,.08); font-size: 9px; opacity: .76; }
.public-chat-rich-text { font-size: 12px; line-height: 1.55; white-space: normal; }
.public-chat-rich-text :where(p,ul,ol,blockquote) { margin: 0 0 7px; }
.public-chat-rich-text :where(p,ul,ol,blockquote):last-child { margin-bottom: 0; }
.public-chat-rich-text :where(ul,ol) { padding-inline-start: 20px; }
.public-chat-filtered { display: block; margin-top: 5px; color: #d09627; font-size: 8px; }
.public-chat-media { display: block; width: min(260px,64vw); max-height: 330px; border-radius: 10px; background: #ede8f0; object-fit: cover; }
.public-chat-media.video { object-fit: contain; }
.public-chat-message-actions { display: flex; align-items: center; gap: 4px; margin-top: 4px; }
.public-chat-message.mine .public-chat-message-actions { justify-content: flex-end; }
.public-chat-message-actions button { padding: 4px 7px; border-radius: 999px; background: transparent; color: #9a8e9d; font-size: 8px; }
.public-chat-message-actions button.liked { background: #ffe8f3; color: #d64288; }
.public-chat-typing { display: flex; align-items: center; gap: 4px; width: fit-content; margin: 1px 0 3px 43px; padding: 7px 10px; border-radius: 5px 13px 13px; background: rgba(255,255,255,.88); color: #8f8193; box-shadow: 0 5px 15px rgba(66,37,78,.05); font-size: 8px; }
.public-chat-typing span { margin-right: 2px; }
.public-chat-typing i { width: 4px; height: 4px; border-radius: 50%; background: #a66abd; animation: publicChatTyping 1.15s ease-in-out infinite; }
.public-chat-typing i:nth-of-type(2) { animation-delay: .16s; }
.public-chat-typing i:nth-of-type(3) { animation-delay: .32s; }
@keyframes publicChatTyping { 0%,60%,100% { opacity: .3; transform: translateY(0); } 30% { opacity: 1; transform: translateY(-2px); } }
.public-chat-reply-bar { display: flex; align-items: center; gap: 8px; margin-top: 6px; padding: 8px 10px; border-left: 3px solid #9b54bd; border-radius: 8px; background: #f5edf9; }
.public-chat-reply-bar > div { min-width: 0; flex: 1; }
.public-chat-reply-bar span { color: #998b9c; font-size: 8px; }
.public-chat-reply-bar b { margin-left: 4px; color: #72467c; font-size: 9px; }
.public-chat-reply-bar p { margin: 2px 0 0; overflow: hidden; color: #7b6a7f; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.public-chat-reply-bar button { width: 25px; height: 25px; border-radius: 8px; background: #eadcf0; color: #78527d; }
.public-chat-emoji-panel { display: grid; grid-template-columns: repeat(8,1fr); gap: 5px; margin-top: 6px; padding: 9px; border: 1px solid #eadfed; border-radius: 14px; background: #fff; box-shadow: 0 -6px 24px rgba(67,35,78,.08); }
.public-chat-emoji-panel button { height: 31px; border-radius: 8px; background: #faf7fb; font-size: 18px; }
.public-chat-composer { display: grid; grid-template-columns: 38px 38px minmax(0,1fr) 44px; gap: 6px; align-items: end; margin-top: 7px; padding: 7px; border: 1px solid rgba(223,211,227,.8); border-radius: 18px; background: rgba(255,255,255,.96); box-shadow: 0 8px 25px rgba(66,35,80,.1); backdrop-filter: blur(12px); }
.public-chat-composer button { display: grid; place-items: center; }
.public-chat-tool { width: 38px; height: 42px; border-radius: 12px; background: #f5eff8; color: #865093; }
.public-chat-tool svg, .public-chat-send svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.public-chat-composer textarea { width: 100%; min-height: 42px; max-height: 92px; resize: none; padding: 11px 5px; border: 0; background: transparent; color: #423646; font: inherit; font-size: 16px; line-height: 1.45; outline: none; }
.public-chat-send { width: 44px; height: 42px; border-radius: 13px; background: linear-gradient(135deg,#7740df,#e54898); color: #fff; box-shadow: 0 6px 15px rgba(171,56,170,.2); }
.public-chat-send:disabled, .public-chat-tool:disabled { opacity: .45; box-shadow: none; cursor: not-allowed; }
.public-chat-status { min-height: 18px; padding-top: 4px; color: #aaa0ac; font-size: 8px; text-align: center; }
@media (max-width: 520px) {
  .top-header { padding: 16px 12px 13px; }
  .app-brand-logo { width: 40px; height: 40px; flex-basis: 40px; border-radius: 12px; }
  .app-brand-lockup { gap: 8px; }
  .app-brand-lockup h2 { font-size: 16px; white-space: nowrap; }
  .app-brand-lockup p { max-width: 160px; overflow: hidden; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
  .top-header-actions { flex-direction: row; flex-wrap: wrap; justify-content: flex-end; gap: 5px; max-width: 175px; }
  .app-language-select { width: 102px; height: 34px; font-size: 10px; }
  .app-currency-badge { min-width: 48px; height: 28px; padding: 0 6px; font-size: 9px; }
  .header-support-button { width: 34px; height: 34px; padding: 0; justify-content: center; }
  .header-support-button .support-floating-text { display: none; }
  .header-support-button .support-floating-icon { background: transparent; }
  .user-avatar { width: 34px; height: 34px; }
  .public-chat-page.active { height: calc(100vh - 84px); }
}
@media (max-width: 360px) {
  .app-brand-logo { display: none; }
  .public-chat-header { grid-template-columns: 38px minmax(0,1fr) auto; padding: 11px; }
  .public-chat-title-icon { width: 38px; height: 38px; }
  .public-chat-live em { display: none; }
  .public-chat-composer { grid-template-columns: 35px 35px minmax(0,1fr) 40px; gap: 4px; }
  .public-chat-tool { width: 35px; }
  .public-chat-send { width: 40px; }
  .public-chat-emoji-panel { grid-template-columns: repeat(6,1fr); }
}
.customer-quick-rail { display:flex; gap:8px; margin:0 0 16px; padding:2px 1px 7px; overflow-x:auto; scrollbar-width:thin; scroll-snap-type:x proximity; }
.customer-quick-rail::-webkit-scrollbar { display:none; }
.customer-quick-item { display:grid; flex:0 0 64px; justify-items:center; gap:5px; padding:4px 2px 7px; border:1px solid transparent; border-radius:18px; background:transparent; color:#6e5a73; scroll-snap-align:start; }
.customer-quick-item > span { position:relative; display:grid; place-items:center; width:52px; height:52px; overflow:visible; border:2px solid #fff; border-radius:18px; background:linear-gradient(135deg,#d9bcf0,#f6b8d8); color:#fff; box-shadow:0 5px 14px rgba(101,54,115,.14); font-size:18px; font-weight:900; }
.customer-quick-item img { width:100%; height:100%; border-radius:16px; object-fit:cover; }
.customer-quick-item i { position:absolute; right:-3px; bottom:-3px; display:grid; place-items:center; width:18px; height:18px; border:2px solid #fff; border-radius:50%; background:#14a56e; color:#fff; font-size:9px; font-style:normal; }
.customer-quick-item b { width:100%; overflow:hidden; font-size:10px; text-align:center; text-overflow:ellipsis; white-space:nowrap; }
.customer-quick-item.active { border-color:#e7d4eb; background:#fff; color:#8e3c83; box-shadow:0 7px 17px rgba(87,48,96,.08); }
@media (min-width: 760px) {
  .customer-quick-rail { flex-wrap:wrap; overflow-x:visible; scroll-snap-type:none; row-gap:6px; scrollbar-width:none; }
}
.customer-card-focus { animation:customer-card-focus 1.35s ease; }
@keyframes customer-card-focus { 0%,100%{box-shadow:0 18px 42px rgba(94,43,112,.14)} 35%{box-shadow:0 0 0 4px rgba(202,73,162,.22),0 22px 50px rgba(94,43,112,.24)} }
.profile-img.has-photo,
.refined-product-card .product-img.has-photo,
.detail-cover.has-photo,
.product-detail-hero.has-photo { background-image: none !important; }
.profile-img.has-photo,
.refined-product-card .product-img.has-photo,
.detail-cover.has-photo,
.product-detail-hero.has-photo,
.gallery-item,
.paid-media-grid button { position: relative; isolation: isolate; overflow: hidden; }
.profile-img.has-photo::before,
.refined-product-card .product-img.has-photo::before,
.detail-cover.has-photo::before,
.product-detail-hero.has-photo::before,
.gallery-item::before,
.paid-media-grid button::before {
  content: "";
  position: absolute;
  inset: -24px;
  z-index: 0;
  background-image: var(--media-image);
  background-size: cover;
  background-position: center;
  filter: blur(20px) saturate(.82) brightness(.9);
  transform: scale(1.1);
  opacity: .58;
  pointer-events: none;
}
.profile-main-photo,
.product-main-photo {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center top;
  image-rendering: auto;
  filter: none;
}
.profile-main-photo + .profile-img-shade,
.product-main-photo + .product-img-shade,
.refined-product-card .product-img-shade,
.refined-product-card .product-corner-label,
.refined-product-card .product-video-label { pointer-events: none; }
.refined-product-card .product-img { isolation: isolate; background-color: #f4eff6; }
.refined-product-card .product-main-photo { object-position: center; }
.refined-product-card .product-img-shade,
.refined-product-card .product-corner-label,
.refined-product-card .product-video-label { z-index: 2; }
.detail-cover,
.product-detail-hero { isolation: isolate; background-color: #f1e9f4; background-size: cover; background-position: center; }
.detail-cover.has-photo {
  width: min(100%, 380px);
  min-height: 0;
  aspect-ratio: 4 / 5;
  justify-self: center;
}
.product-detail-hero.has-photo { min-height: clamp(360px, 95vw, 560px); }
.detail-cover-photo-button,
.product-detail-photo-button {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  padding: 0;
  background: transparent;
  color: #fff;
}
.detail-cover-photo-button img,
.product-detail-photo-button img { display: block; width: 100%; height: 100%; object-fit: contain; object-position: center top; image-rendering: auto; }
.product-detail-photo-button img { object-position: center; }
.detail-cover-photo-button span,
.product-detail-photo-button span {
  position: absolute;
  top: 16px;
  left: 16px;
  padding: 8px 12px;
  border: 1px solid rgba(255,255,255,.42);
  border-radius: 999px;
  background: rgba(22, 15, 29, .58);
  color: #fff;
  font-size: 12px;
  font-weight: 850;
  backdrop-filter: blur(10px);
}
.detail-cover-mask,
.product-detail-mask { z-index: 2; pointer-events: none; }
.detail-user-row,
.product-detail-badge { z-index: 3; }
.detail-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.gallery-item {
  position: relative;
  height: auto;
  aspect-ratio: 4 / 5;
  padding: 0;
  border: 1px solid #eee5f1;
  border-radius: 18px;
  background: #f6f1f7;
  box-shadow: 0 8px 20px rgba(64, 37, 72, .08);
}
.gallery-item img { position: relative; z-index: 1; display: block; width: 100%; height: 100%; object-fit: contain; object-position: center top; image-rendering: auto; }
.gallery-item span { position: absolute; right: 9px; bottom: 9px; z-index: 2; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: rgba(20,15,25,.64); color: #fff; font-size: 15px; }
.product-detail-gallery .gallery-item { aspect-ratio: 1 / 1; }
.simple-modal-box { max-height: min(88vh, 760px); display: flex; flex-direction: column; }
.simple-modal-content { overflow-y: auto; }
.paid-media-grid button,
.paid-video-card { position: relative; overflow: hidden; border: 1px solid #eadfed; background: #eee8f0; }
.paid-media-grid img { position: relative; z-index: 1; object-fit: contain; }
.paid-media-grid button > span,
.paid-video-open > span { position: absolute; right: 7px; bottom: 7px; left: 7px; z-index: 2; padding: 6px 8px; border-radius: 9px; background: rgba(20,14,23,.68); color: #fff; font-size: 10px; font-weight: 800; text-align: center; backdrop-filter: blur(8px); }
.paid-video-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.paid-video-card { aspect-ratio: 4 / 5; border-radius: 15px; }
.paid-video-open { position: absolute; inset: 0; z-index: 2; width: 100%; height: 100%; padding: 0; background: transparent; }
.paid-video-list video { width: 100%; height: 100%; max-height: none; border-radius: 0; object-fit: contain; }
.paid-video-open span i { margin-right: 4px; font-style: normal; }
.media-viewer {
  position: fixed;
  inset: 0;
  z-index: 500;
  display: flex;
  flex-direction: column;
  padding: max(12px, env(safe-area-inset-top)) 14px max(14px, env(safe-area-inset-bottom));
  background: linear-gradient(180deg, #f9f5fb 0%, #eee6f2 100%);
  color: #302436;
}
.media-viewer-toolbar { display: grid; grid-template-columns: auto minmax(0,1fr) auto auto; align-items: center; gap: 10px; min-height: 54px; }
.media-viewer-toolbar strong { overflow: hidden; font-size: 15px; text-align: center; text-overflow: ellipsis; white-space: nowrap; }
.media-viewer-back,
.media-viewer-close,
.media-viewer-mode { min-height: 40px; padding: 0 14px; border: 1px solid rgba(87,52,96,.18); border-radius: 999px; background: rgba(255,255,255,.82); color: #4b3152; font-size: 13px; font-weight: 850; box-shadow: 0 6px 18px rgba(74,43,84,.08); }
.media-viewer-close { width: 40px; padding: 0; font-size: 25px; }
.media-viewer-stage {
  position: relative;
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  overscroll-behavior: contain;
  touch-action: pan-y pinch-zoom;
}
.media-viewer-stage img,
.media-viewer-stage video {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  border-radius: 8px;
  box-shadow: 0 18px 50px rgba(0,0,0,.34);
  user-select: none;
}
.media-viewer-stage img { cursor: zoom-in; }
.media-viewer-video-shell { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; min-height: 0; }
.media-viewer-video-shell video { width: 100%; height: 100%; }
.media-viewer-playback-error { display: grid; place-items: center; align-content: center; gap: 10px; width: min(100%, 520px); min-height: 220px; padding: 26px; border: 1px solid #e0d2e5; border-radius: 20px; background: rgba(255,255,255,.85); color: #513e58; text-align: center; }
.media-viewer-playback-error span { color: #826f88; font-size: 12px; line-height: 1.6; }
.media-viewer-playback-error a { padding: 10px 18px; border-radius: 999px; background: #74427f; color: #fff; font-size: 13px; font-weight: 850; }
.media-viewer.natural-media .media-viewer-stage { align-items: flex-start; justify-content: flex-start; overflow: auto; }
.media-viewer.natural-media .media-viewer-stage img {
  width: auto;
  height: auto;
  max-width: none;
  max-height: none;
  object-fit: initial;
  margin: 0 auto;
  cursor: zoom-out;
}
.media-viewer-nav { display: grid; grid-template-columns: minmax(96px,1fr) auto minmax(96px,1fr); align-items: center; gap: 12px; padding-top: 10px; }
.media-viewer-nav button { min-height: 42px; padding: 0 16px; border: 1px solid rgba(87,52,96,.18); border-radius: 14px; background: rgba(255,255,255,.82); color: #4b3152; font-size: 14px; font-weight: 850; box-shadow: 0 6px 18px rgba(74,43,84,.07); }
.media-viewer-nav button:last-child { justify-self: stretch; }
.media-viewer-nav button:disabled { opacity: .35; }
.media-viewer-nav span { min-width: 48px; color: #6e5875; font-size: 13px; font-weight: 800; text-align: center; }
.media-viewer-hint { padding: 11px 0 2px; color: #826e88; font-size: 11px; text-align: center; }
@media (min-width: 768px) {
  #customersPage .banner { height: 310px; }
  #customersPage .card-grid { gap: 26px; }
  #customersPage .profile-img { aspect-ratio: 4 / 5; }
  .detail-cover.has-photo { width: min(100%, 420px); min-height: 0; }
  .product-detail-hero.has-photo { min-height: 560px; }
}
@media (max-width: 520px) {
  #customersPage { padding: 14px 13px 22px; }
  #customersPage .banner { height: 230px; border-radius: 25px; }
  #customersPage .slide { padding: 27px 21px 50px; }
  #customersPage .slide h3 { font-size: 27px; }
  #customersPage .slide p { font-size: 14px; line-height: 1.5; }
  #customersPage .section-title h3 { font-size: 25px; }
  .customer-quick-rail { position:sticky; z-index:12; top:max(72px,calc(env(safe-area-inset-top) + 64px)); margin-right:-5px; margin-left:-5px; padding:7px 6px 9px; border:1px solid rgba(232,217,235,.82); border-radius:20px; background:rgba(255,255,255,.88); box-shadow:0 9px 24px rgba(76,40,85,.08); backdrop-filter:blur(14px); }
  #customersPage .card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  #customersPage .profile-card { min-width:0; border-radius:20px; }
  #customersPage .customer-featured { grid-column:1 / -1; border-radius:26px; }
  #customersPage .customer-featured .profile-img { aspect-ratio:4 / 5; }
  #customersPage .customer-compact .profile-img { aspect-ratio:3 / 4; }
  #customersPage .customer-compact .profile-info { padding:11px 10px 12px; }
  #customersPage .customer-compact .profile-info h4 { gap:3px; font-size:17px; }
  #customersPage .customer-compact .profile-info h4 > span { font-size:13px; }
  #customersPage .customer-compact .profile-head-row > div:first-child > p { overflow:hidden; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
  #customersPage .customer-compact .profile-mini-avatar { width:34px; height:34px; }
  #customersPage .customer-compact .customer-card-meta { margin:8px 0; }
  #customersPage .customer-compact .customer-card-meta span { padding:5px 7px; font-size:9px; }
  #customersPage .customer-compact .customer-card-meta span:nth-child(n+2),
  #customersPage .customer-compact .tags,
  #customersPage .customer-compact .desc,
  #customersPage .customer-compact .video-mini-btn,
  #customersPage .customer-compact .assist-mini-btn,
  #customersPage .customer-compact .profile-mini-avatar { display:none; }
  #customersPage .customer-compact .customer-card-actions,
  #customersPage .customer-compact .customer-card-actions.three-actions { grid-template-columns:1fr; gap:6px; margin-top:8px; }
  #customersPage .customer-compact .customer-card-actions button { min-height:38px; padding:7px 5px; border-radius:11px; font-size:10px; }
  #customersPage .customer-compact .profile-image-verification-badge { top:7px; left:7px; max-width:calc(100% - 14px); padding:5px 7px; font-size:8px; }
  #customersPage .customer-compact .profile-image-verification-badge img,
  #customersPage .customer-compact .profile-image-verification-badge .verification-badge-check { width:16px; height:16px; }
  #customersPage .profile-info { padding: 19px 17px 20px; }
  #customersPage .profile-info h4 { font-size: 25px; }
  #customersPage .customer-card-actions,
  #customersPage .customer-card-actions.three-actions { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .paid-video-list { grid-template-columns: 1fr; }
  .media-viewer { padding-right: 10px; padding-left: 10px; }
  .media-viewer-toolbar { grid-template-columns: auto minmax(0,1fr) auto auto; gap: 6px; }
  .media-viewer-back { padding: 0 11px; }
  .media-viewer-mode { width: 42px; padding: 0; overflow: hidden; font-size: 0; }
  .media-viewer-mode::before { content: none; }
  .media-viewer-nav { gap: 8px; }
  .media-viewer-nav button { min-width: 0; padding: 0 9px; font-size: 13px; }
}
@media (max-width:620px) {
  html[dir="rtl"] .profile-image-verification-badge { right:10px; left:auto; }
}
button,
[role="button"] { touch-action: manipulation; }
button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--brand-primary) 45%, white);
  outline-offset: 2px;
}
button:disabled,
[aria-disabled="true"] {
  cursor: not-allowed;
  opacity: .58;
}
.login-screen {
  min-height: 100vh;
  min-height: 100dvh;
  padding: max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));
}
.login-card {
  min-width: 0;
  max-width: min(380px, calc(100vw - 24px));
  overflow: hidden;
}
.login-language-bar,
.login-language-bar label,
.login-language-control,
.captcha-field,
.captcha-field > label { min-width: 0; }
.login-language-bar { flex-wrap: wrap; }
.login-language-bar label,
.login-language-control { flex: 1 1 190px; }
.login-language-bar select,
.login-language-picker { width: 100%; min-width: 0; }
.captcha-field { grid-template-columns: minmax(0, 1fr) minmax(116px, 154px); }
.app { min-height: 100vh; min-height: 100dvh; }
.public-chat-page { min-height: calc(100dvh - 105px); }
.public-chat-page.active { height: calc(100dvh - 105px); }
.support-messages { max-height: calc(100dvh - 345px); }
@media (max-width: 420px) {
  .login-card { padding: 24px 17px; }
  .login-language-bar { justify-content: center; }
  .login-language-bar label,
  .login-language-control { flex-basis: min(100%, 250px); }
  .currency-language-badge { flex: 0 0 auto; }
  .captcha-field { grid-template-columns: minmax(0, 1fr) minmax(112px, 132px); gap: 8px; }
  .top-header { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
  .app-brand-lockup h2 { max-width: 112px; overflow: hidden; text-overflow: ellipsis; }
  .app-brand-lockup p { display: none; }
  .top-header-actions { max-width: 164px; }
  .floating-return-menu {
    left: 10px;
    bottom: max(10px, env(safe-area-inset-bottom));
    width: 44px;
    min-height: 44px;
    justify-content: center;
    padding: 7px;
  }
  .floating-return-menu b { display: none; }
}
@media (max-width: 340px) {
  .login-card { padding-right: 14px; padding-left: 14px; }
  .captcha-field { grid-template-columns: 1fr; }
  .login-card .captcha-image-button { height: 54px; }
  .auth-link-row { align-items: stretch; flex-direction: column; }
  .login-card .auth-text-button { width: 100%; text-align: center; }
  .app-language-select { width: 92px; }
}
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
#bannerSlides,
#productBannerSlides {
  position: relative;
  width: 100%;
  height: 100%;
}
.carousel-slide {
  position: absolute;
  inset: 0;
  display: block;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
  contain: layout paint;
  transform: none;
  transition: opacity .4s ease;
}
.carousel-slide.active {
  opacity: 1;
  pointer-events: auto;
  transform: none;
}
.banner-media {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.banner-media-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(96deg, rgba(26, 16, 54, .68) 0%, rgba(64, 25, 83, .22) 52%, rgba(236, 72, 153, .1) 100%);
  pointer-events: none;
}
.banner-copy {
  position: absolute;
  z-index: 2;
  left: 18px;
  bottom: 24px;
  display: grid;
  gap: 8px;
  width: min(46%, 430px);
  max-width: calc(100% - 36px);
  padding: 15px 16px;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 18px;
  background: linear-gradient(135deg,rgba(22,13,40,.88),rgba(78,34,78,.72));
  color: #fff;
  box-shadow: 0 16px 34px rgba(18,8,30,.2);
}
.banner-copy h3 {
  margin: 0;
  font-size: clamp(21px, 4.6vw, 30px);
  line-height: 1.15;
  text-shadow: 0 2px 15px rgba(0, 0, 0, .28);
}
.banner-copy p {
  margin: 0;
  color: rgba(255,255,255,.92);
  font-size: 14px;
  line-height: 1.45;
  text-shadow: 0 1px 10px rgba(0, 0, 0, .25);
}
.banner-copy button {
  width: max-content;
  max-width: 100%;
  min-height: 38px;
  margin-top: 5px;
  padding: 8px 15px;
  border-radius: 999px;
  background: rgba(255,255,255,.96);
  color: #a61d69;
  font-size: 13px;
  font-weight: 850;
  box-shadow: 0 8px 20px rgba(20, 7, 32, .2);
}
.banner-motion-badge {
  width: max-content;
  padding: 4px 9px;
  border: 1px solid rgba(255,255,255,.42);
  border-radius: 999px;
  background: rgba(25, 12, 43, .36);
  color: #fff;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .3px;
  backdrop-filter: blur(5px);
}
.carousel-arrows {
  position: absolute;
  z-index: 4;
  right: 12px;
  bottom: 11px;
  display: flex;
  gap: 7px;
}
.carousel-arrow {
  display: grid;
  width: 31px;
  height: 31px;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(255,255,255,.42);
  border-radius: 50%;
  background: rgba(30, 16, 49, .42);
  color: #fff;
  font-size: 24px;
  line-height: 1;
  backdrop-filter: blur(6px);
}
#productsPage .product-banner {
  height: clamp(180px, 31vw, 245px);
  margin: 1px 0 18px;
  background: linear-gradient(135deg, #6d28d9, #e83e8c);
  box-shadow: 0 12px 28px rgba(182, 44, 144, .18);
}
.refined-product-card .product-preview-stage { overflow: hidden; }
.product-image-preview-button {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  overflow: hidden;
  background: transparent;
  cursor: zoom-in;
}
.product-image-preview-button .product-main-photo,
.product-image-preview-button .product-hover-photo {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: opacity .3s ease, transform .48s cubic-bezier(.2,.72,.2,1);
}
.product-image-preview-button .product-hover-photo {
  z-index: 2;
  opacity: 0;
  transform: scale(1.08);
}
.product-image-preview-hint,
.product-detail-preview-hint,
.product-gallery-count {
  position: absolute;
  z-index: 3;
  pointer-events: none;
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  text-shadow: 0 1px 5px rgba(0,0,0,.34);
}
.product-image-preview-hint {
  right: 9px;
  bottom: 9px;
  padding: 6px 8px;
  border: 1px solid rgba(255,255,255,.4);
  border-radius: 999px;
  background: rgba(23, 13, 33, .57);
  opacity: 0;
  transform: translateY(5px);
  transition: opacity .22s ease, transform .22s ease;
}
.product-detail-preview-hint {
  top: 50%;
  left: 50%;
  width: max-content;
  max-width: calc(100% - 24px);
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(24, 13, 34, .55);
  opacity: 0;
  transform: translate(-50%, -42%);
  transition: opacity .25s ease, transform .25s ease;
}
.product-gallery-count {
  top: 10px;
  left: 10px;
  padding: 5px 8px;
  border-radius: 999px;
  background: rgba(27, 15, 39, .55);
}
@media (hover: hover) and (pointer: fine) {
  .product-image-preview-button:hover .product-main-photo { transform: scale(1.1); }
  .product-preview-stage.has-detail-preview .product-image-preview-button:hover .product-main-photo { opacity: 0; transform: scale(1.06); }
  .product-preview-stage.has-detail-preview .product-image-preview-button:hover .product-hover-photo { opacity: 1; transform: scale(1); }
  .product-image-preview-button:hover .product-image-preview-hint { opacity: 1; transform: translateY(0); }
  .product-preview-stage.has-detail-preview .product-image-preview-button:hover .product-detail-preview-hint { opacity: 1; transform: translate(-50%, -50%); }
}
@media (hover: none) {
  .product-image-preview-hint { opacity: .94; transform: none; }
  .product-detail-preview-hint { display: none; }
}
@media (max-width: 520px) {
  #productsPage .product-banner { height: 202px; border-radius: 22px; }
  .banner-copy { left: 12px; bottom: 34px; width: calc(100% - 76px); max-width: none; padding: 12px 13px; border-radius: 15px; }
  .banner-copy h3 { font-size: 19px; }
  .banner-copy p { font-size: 12px; }
  .carousel-arrows { right: 10px; bottom: 10px; }
  .carousel-arrow { width: 29px; height: 29px; font-size: 22px; }
  .product-gallery-count { font-size: 10px; }
}
.smart-home-panel {
  position: relative;
  overflow: hidden;
  margin: 16px 0 18px;
  padding: 18px;
  border: 1px solid rgba(158,94,147,.16);
  border-radius: 24px;
  background: linear-gradient(145deg,rgba(255,255,255,.98),rgba(250,244,251,.96));
  box-shadow: 0 16px 38px rgba(80,42,82,.08);
}
.smart-home-panel::after { content:""; position:absolute; top:-90px; right:-70px; width:210px; height:210px; border-radius:50%; background:radial-gradient(circle,rgba(222,155,199,.2),transparent 68%); pointer-events:none; }
.smart-home-heading { position:relative; z-index:1; display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:13px; }
.smart-home-heading > div { display:grid; gap:3px; }
.smart-home-eyebrow { color:#a46b9e; font-size:9px; font-weight:900; letter-spacing:1.7px; }
.smart-home-heading h3 { margin:0; color:#38283c; font-size:19px; line-height:1.3; }
.smart-home-heading p { margin:0; color:#8a788b; font-size:11px; line-height:1.45; }
.smart-home-refresh { min-height:34px; padding:0 11px; border:1px solid #e2d5e3; border-radius:11px; background:#fff; color:#7c587d; font-size:10px; font-weight:850; white-space:nowrap; }
.smart-home-refresh:hover { border-color:#cbaecb; background:#fffafd; }
.smart-home-refresh.is-loading { animation:smart-home-pulse .8s infinite alternate; }
.smart-home-layout { position:relative; z-index:1; display:grid; grid-template-columns:minmax(280px,1.25fr) minmax(300px,1fr); gap:12px; }
.smart-home-primary { display:grid; grid-template-columns:46px minmax(0,1fr) auto; align-items:center; gap:12px; min-width:0; padding:14px; border:0; border-radius:18px; background:linear-gradient(130deg,#50304f,#81527e 55%,#b86c96); color:#fff; text-align:left; box-shadow:0 12px 24px rgba(103,59,100,.18); }
.smart-home-primary:hover { transform:translateY(-2px); box-shadow:0 16px 29px rgba(103,59,100,.23); }
.smart-home-primary-icon { display:grid; place-items:center; width:46px; height:46px; border:1px solid rgba(255,255,255,.2); border-radius:15px; background:rgba(255,255,255,.12); font-size:20px; }
.smart-home-primary > span:nth-child(2) { display:grid; min-width:0; gap:4px; }
.smart-home-primary b { overflow:hidden; color:#fff; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
.smart-home-primary small { overflow:hidden; color:rgba(255,255,255,.72); font-size:10px; line-height:1.4; text-overflow:ellipsis; white-space:nowrap; }
.smart-home-primary em { color:#fff; font-size:10px; font-style:normal; font-weight:850; white-space:nowrap; }
.smart-home-stats { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.smart-home-stats button { display:grid; gap:4px; min-width:0; min-height:58px; padding:10px 12px; border:1px solid #eadfeb; border-radius:14px; background:rgba(255,255,255,.88); color:#443447; text-align:left; }
.smart-home-stats button:hover { border-color:#cfb6d1; background:#fff; }
.smart-home-stats span { color:#9a899b; font-size:9px; }
.smart-home-stats b { overflow:hidden; color:#563a58; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
.smart-home-quick-actions { position:relative; z-index:1; display:flex; flex-wrap:wrap; gap:7px; margin-top:11px; }
.smart-home-quick-actions button { min-height:32px; padding:0 11px; border:1px solid #e7dce8; border-radius:999px; background:rgba(255,255,255,.85); color:#765c77; font-size:10px; font-weight:800; }
.smart-home-quick-actions button:hover { border-color:#cdaece; color:#9d457c; }
.app-toast-region { position:fixed; z-index:600; top:max(78px,calc(env(safe-area-inset-top) + 68px)); left:50%; display:grid; width:min(420px,calc(100vw - 24px)); gap:8px; transform:translateX(-50%); pointer-events:none; }
@keyframes smart-home-pulse { from { opacity:.55; } to { opacity:1; } }
@media (max-width: 760px) {
  .smart-home-panel { padding:15px; border-radius:20px; }
  .smart-home-layout { grid-template-columns:1fr; }
  .smart-home-primary { grid-template-columns:42px minmax(0,1fr); }
  .smart-home-primary-icon { width:42px; height:42px; }
  .smart-home-primary em { grid-column:2; }
}
@media (max-width: 460px) {
  .smart-home-heading { align-items:center; }
  .smart-home-heading h3 { font-size:16px; }
  .smart-home-heading p { display:none; }
  .smart-home-quick-actions { display:grid; grid-template-columns:1fr 1fr; }
  .smart-home-quick-actions button { border-radius:12px; }
}
.mine-user-avatar { position:relative; padding:0; overflow:hidden; cursor:pointer; }
.mine-user-avatar img,.profile-avatar-editor img { width:100%; height:100%; object-fit:cover; }
.mine-avatar-edit { position:absolute; right:2px; bottom:2px; padding:2px 5px; border-radius:999px; background:rgba(38,22,46,.8); color:#fff; font-size:8px; font-weight:850; }
.top-avatar.has-image { background-position:center; background-size:cover; color:transparent; }
.identity-badge,.anchor-verification-badge { display:inline-flex; align-items:center; width:max-content; gap:3px; padding:4px 8px; border:1px solid #b7ead2; border-radius:999px; background:linear-gradient(135deg,#eafff4,#d8f8e9); color:#08784e; box-shadow:0 5px 12px rgba(14,134,88,.12); font-size:10px; font-style:normal; font-weight:900; line-height:1; vertical-align:middle; }
.mine-user-name-row { flex-wrap:wrap; }
.identity-reminder-card,.mine-profile-summary { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; width:100%; margin:12px 0 0; padding:13px 14px; gap:11px; border:1px solid #e3d9e6; border-radius:18px; background:rgba(255,255,255,.95); color:#48364d; text-align:left; box-shadow:0 10px 24px rgba(65,39,72,.07); }
.identity-reminder-card:hover,.mine-profile-summary:hover { border-color:#cdaece; transform:translateY(-1px); }
.identity-reminder-icon { display:grid; place-items:center; width:38px; height:38px; border-radius:13px; background:#f0e7f4; color:#82508a; font-size:17px; font-weight:950; }
.identity-reminder-card > span:nth-child(2),.mine-profile-summary > span { display:grid; min-width:0; gap:3px; }
.identity-reminder-card b,.mine-profile-summary b { font-size:13px; }
.identity-reminder-card small,.mine-profile-summary small { overflow:hidden; color:#8d7e91; font-size:10px; line-height:1.4; text-overflow:ellipsis; white-space:nowrap; }
.identity-reminder-card em,.mine-profile-summary em { color:#9d4a88; font-size:10px; font-style:normal; font-weight:850; white-space:nowrap; }
.identity-reminder-card[data-status="approved"] { border-color:#bce9d2; background:linear-gradient(135deg,#f8fffb,#e9fff4); }
.identity-reminder-card[data-status="approved"] .identity-reminder-icon { background:#d9f8e8; color:#08784e; }
.identity-reminder-card[data-status="pending"],.identity-reminder-card[data-status="reviewing"] { border-color:#f1d49c; background:#fffaf0; }
.mine-profile-summary { grid-template-columns:minmax(0,1fr) auto; margin-top:8px; }
.profile-settings-page { padding-bottom:100px; background:linear-gradient(180deg,#fbf8fc,#fff); }
.profile-settings-hero,.profile-form-card,.identity-application-card { margin:14px 16px; padding:16px; border:1px solid #eadfeb; border-radius:22px; background:#fff; box-shadow:0 12px 30px rgba(67,38,72,.07); }
.profile-settings-hero { display:grid; grid-template-columns:76px minmax(0,1fr); align-items:center; gap:14px; background:linear-gradient(135deg,#56375c,#a85d91); color:#fff; }
.profile-settings-hero h3 { margin:0 0 4px; font-size:19px; }
.profile-settings-hero p { margin:0 0 8px; color:rgba(255,255,255,.75); font-size:10px; }
.profile-avatar-editor { position:relative; width:76px; height:76px; padding:0; overflow:hidden; border:3px solid rgba(255,255,255,.8); border-radius:24px; background:#eee; }
.profile-avatar-editor span { position:absolute; right:0; bottom:0; left:0; padding:4px; background:rgba(33,21,39,.7); color:#fff; font-size:9px; }
.profile-google-avatar { width:calc(100% - 32px); min-height:42px; margin:0 16px 12px; border:1px solid #e2d7e4; border-radius:14px; background:#fff; color:#684f6d; font-size:11px; font-weight:850; }
.profile-card-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:14px; }
.profile-card-heading > div { display:grid; gap:4px; }
.profile-card-heading b { color:#443448; font-size:15px; }
.profile-card-heading small { color:#958799; font-size:9px; line-height:1.5; }
.profile-form-card > label,.identity-application-card > #identityApplicationForm > label,.identity-form-grid label { display:grid; gap:6px; margin-bottom:12px; color:#625368; font-size:10px; font-weight:850; }
.profile-form-card input,.identity-application-card input,.identity-application-card select { width:100%; min-height:44px; padding:0 12px; border:1px solid #e5dce7; border-radius:13px; background:#fcfafc; color:#392c3d; font:inherit; outline:none; }
.profile-form-card input:focus,.identity-application-card input:focus,.identity-application-card select:focus { border-color:#b98cb7; box-shadow:0 0 0 3px rgba(171,105,159,.12); }
.profile-primary-button { width:100%; min-height:46px; border:0; border-radius:14px; background:linear-gradient(135deg,#713c78,#c85a96); color:#fff; font-size:12px; font-weight:900; box-shadow:0 10px 21px rgba(141,70,129,.18); }
.profile-primary-button:disabled { opacity:.55; cursor:wait; }
.identity-purpose-notice { margin-bottom:14px; padding:12px 13px; border:1px solid #cae8da; border-radius:15px; background:#f4fff9; color:#315b4a; }
.identity-purpose-notice b { font-size:11px; }
.identity-purpose-notice p { margin:5px 0 0; font-size:9px; line-height:1.65; }
.identity-status-pill { padding:5px 8px; border-radius:999px; background:#f1edf2; color:#78697b; font-size:9px; font-weight:900; }
.identity-status-pill.approved { background:#daf8e9; color:#08784e; }
.identity-status-pill.pending,.identity-status-pill.reviewing { background:#fff0cf; color:#9b6007; }
.identity-status-pill.rejected { background:#ffe3e3; color:#a22d35; }
.identity-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.identity-photo-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; margin:4px 0 13px; }
.identity-photo-upload { position:relative; display:grid; align-content:center; min-height:112px; padding:10px; overflow:hidden; border:1px dashed #cdb7cf; border-radius:15px; background:#fcf8fc; color:#654e69; text-align:center; cursor:pointer; }
.identity-photo-upload b { font-size:10px; }
.identity-photo-upload small { margin-top:4px; color:#9a899d; font-size:8px; line-height:1.35; }
.identity-photo-upload input { position:absolute; width:1px; height:1px; opacity:0; }
.identity-photo-upload img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.identity-consent { display:flex!important; grid-template-columns:auto 1fr!important; align-items:flex-start; gap:9px!important; padding:11px; border:1px solid #e6dce8; border-radius:13px; background:#faf7fb; font-weight:600!important; line-height:1.55; }
.identity-consent input { width:18px!important; min-height:18px!important; margin:1px 0 0; accent-color:#9c478b; }
.profile-head-row h4 { display:flex; flex-wrap:wrap; align-items:center; gap:4px; }
.profile-head-row .anchor-verification-badge { font-size:8px; }
.detail-user-row h2 .anchor-verification-badge { margin-left:4px; font-size:9px; }
@media (max-width:520px) {
  .identity-photo-grid { grid-template-columns:1fr 1fr; }
  .identity-photo-upload:last-child { grid-column:1 / -1; min-height:100px; }
  .identity-form-grid { grid-template-columns:1fr; gap:0; }
  .profile-settings-hero,.profile-form-card,.identity-application-card { margin-right:12px; margin-left:12px; }
}
.mine-top-card { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:18px; }
.mine-profile-entry-button { position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between; min-width:210px; padding:12px 14px; border:1px solid rgba(255,255,255,.3); border-radius:17px; background:rgba(255,255,255,.16); color:#fff; text-align:left; box-shadow:0 10px 26px rgba(41,17,55,.14); backdrop-filter:blur(10px); transition:transform .18s ease,background .18s ease; }
.mine-profile-entry-button:hover { background:rgba(255,255,255,.24); transform:translateY(-2px); }
.mine-profile-entry-button > span { display:grid; gap:3px; }
.mine-profile-entry-button b { font-size:13px; }
.mine-profile-entry-button small { color:rgba(255,255,255,.72); font-size:9px; }
.mine-profile-entry-button em { display:grid; place-items:center; width:28px; height:28px; border-radius:10px; background:rgba(255,255,255,.18); font-size:22px; font-style:normal; }
.wallet-subpage-nav > div { min-width:0; }
.wallet-subpage-nav > div small { display:block; margin-bottom:1px; color:#9a7f9c; font-size:8px; font-weight:850; letter-spacing:.08em; }
.wallet-subpage-nav > div h2 { margin:0; font-size:15px; }
.profile-nav-save { min-width:58px!important; width:auto!important; padding:0 12px!important; border-radius:11px!important; background:#8f4787!important; color:#fff!important; font-size:10px!important; font-weight:900!important; }
.profile-settings-hero { grid-template-columns:76px minmax(0,1fr); border-color:rgba(255,255,255,.08); background:linear-gradient(130deg,#663b73 0%,#a8498a 52%,#e24191 100%); }
.profile-hero-kicker { display:block; margin-bottom:3px; color:rgba(255,255,255,.62); font-size:8px; font-weight:950; letter-spacing:.16em; }
.profile-step-chip { display:grid; place-items:center; width:27px; height:27px; border-radius:9px; background:#f2e8f4; color:#834f88; font-size:9px; font-weight:950; }
.identity-choice-note { display:grid; grid-template-columns:30px minmax(0,1fr); align-items:center; gap:10px; margin:-3px 0 14px; padding:11px 12px; border:1px solid #ebd7ee; border-radius:14px; background:linear-gradient(135deg,#fffaff,#f8f0fb); }
.identity-choice-note > i { display:grid; place-items:center; width:30px; height:30px; border-radius:10px; background:#8e4b8e; color:#fff; font-size:12px; font-style:normal; font-weight:950; }
.identity-choice-note > span { display:grid; gap:3px; }
.identity-choice-note b { color:#4b394f; font-size:10px; }
.identity-choice-note small { color:#8f7c93; font-size:8px; line-height:1.45; }
.identity-photo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.identity-photo-upload { min-height:132px; }
.verification-benefit-summary { margin-top:12px; padding:13px 14px; border:1px solid #bfe7d3; border-radius:15px; background:linear-gradient(135deg,#f5fff9,#ebfff4); color:#286149; font-size:10px; line-height:1.6; }
.verification-benefit-summary b { color:#08784e; }
.verification-badge-v45 { position:relative; isolation:isolate; display:inline-flex; align-items:center; gap:5px; width:max-content; max-width:100%; padding:5px 9px; overflow:hidden; border:1px solid rgba(255,255,255,.62); border-radius:999px; color:#fff; box-shadow:0 7px 16px rgba(29,45,38,.2); font-size:9px; font-style:normal; font-weight:950; line-height:1; vertical-align:middle; }
.verification-badge-v45 b { position:relative; z-index:2; overflow:hidden; color:inherit!important; font:inherit; text-overflow:ellipsis; white-space:nowrap; }
.verification-badge-v45 img,.verification-badge-v45 .verification-badge-check { position:relative; z-index:2; display:grid; place-items:center; flex:0 0 auto; width:17px; height:17px; border-radius:50%; object-fit:cover; background:rgba(255,255,255,.92); color:#14724f; font-size:10px; font-style:normal; }
.verification-badge-v45.emerald { background:linear-gradient(135deg,#087a51,#19b477); }
.verification-badge-v45.gold { background:linear-gradient(135deg,#886211,#e1a927); box-shadow:0 7px 18px rgba(183,132,20,.3); }
.verification-badge-v45.rose { background:linear-gradient(135deg,#a62a6d,#ee4e9d); box-shadow:0 7px 18px rgba(196,47,122,.28); }
.verification-badge-v45.blue { background:linear-gradient(135deg,#1957a8,#3b93ed); box-shadow:0 7px 18px rgba(34,108,186,.28); }
.verification-badge-v45.aurora { background:linear-gradient(120deg,#6a3fd4,#d83f9a,#1ca9a0,#6a3fd4); background-size:260% 260%; box-shadow:0 7px 20px rgba(132,58,184,.32); animation:verification-badge-aurora 5s ease infinite; }
.verification-badge-v45.diamond { border-color:rgba(255,255,255,.88); background:linear-gradient(125deg,#2e6b92,#8edbf1 42%,#ffffff 51%,#5eb1df 62%,#245780); color:#fff; background-size:220% 100%; box-shadow:0 0 0 1px rgba(137,222,255,.35),0 8px 22px rgba(40,125,168,.35); animation:verification-badge-diamond 3.8s ease-in-out infinite; }
.verification-badge-v45.neon { border-color:#f68cff; background:linear-gradient(125deg,#26103d,#7e1dc4 52%,#e63fca); box-shadow:0 0 8px rgba(239,91,255,.72),0 0 22px rgba(116,38,200,.45); animation:verification-badge-neon 2.4s ease-in-out infinite; }
.verification-badge-v45.royal { border-color:#ffe8a8; background:linear-gradient(125deg,#5c1338,#b12c55 48%,#d6a836 50%,#7f173d 72%); background-size:220% 100%; box-shadow:0 8px 22px rgba(126,26,65,.38); animation:verification-badge-royal 4.2s ease-in-out infinite; }
.verification-badge-shine { position:absolute; z-index:1; top:-30%; bottom:-30%; left:-38%; width:30%; background:linear-gradient(90deg,transparent,rgba(255,255,255,.65),transparent); transform:skewX(-18deg); animation:verification-badge-shine 3.2s ease-in-out infinite; }
@keyframes verification-badge-shine { 0%,58%{left:-38%} 85%,100%{left:118%} }
@keyframes verification-badge-aurora { 0%,100%{background-position:0 50%} 50%{background-position:100% 50%} }
@keyframes verification-badge-diamond { 0%,100%{background-position:0 50%;filter:brightness(1)} 50%{background-position:100% 50%;filter:brightness(1.16)} }
@keyframes verification-badge-neon { 0%,100%{filter:saturate(1);box-shadow:0 0 7px rgba(239,91,255,.62),0 0 18px rgba(116,38,200,.38)} 50%{filter:saturate(1.24);box-shadow:0 0 12px rgba(239,91,255,.9),0 0 30px rgba(116,38,200,.62)} }
@keyframes verification-badge-royal { 0%,100%{background-position:0 50%;transform:translateY(0)} 50%{background-position:100% 50%;transform:translateY(-1px)} }
.profile-image-verification-badge { position:absolute; z-index:5; top:14px; left:14px; padding:7px 11px; font-size:10px; }
.profile-image-verification-badge img,.profile-image-verification-badge .verification-badge-check { width:20px; height:20px; }
.profile-head-row .anchor-verification-badge { font-size:8px; }
.detail-user-row .anchor-verification-badge { margin-left:6px; padding:6px 10px; font-size:10px; }
.identity-badge.verification-badge-v45 { border-color:rgba(255,255,255,.64); color:#fff; font-size:9px; }
.verified-price { display:inline-flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:4px; }
.verified-price del,.cart-unit-price del { color:#a292a5; font-size:.8em; font-weight:650; }
.verified-price b { color:inherit; font:inherit; }
.verified-price em,.cart-unit-price em { padding:2px 5px; border-radius:999px; background:#ddf8ea; color:#08784e; font-size:7px; font-style:normal; font-weight:950; white-space:nowrap; }
.cart-unit-price { display:flex!important; flex-wrap:wrap; align-items:center; gap:6px; }
.dating-fee-row .verified-price { max-width:180px; }
@media (prefers-reduced-motion:reduce) { .verification-badge-shine { display:none; animation:none; } .verification-badge-v45 { animation:none!important; } }
@media (max-width:620px) {
  /* Keep the animated sheen inside the badge on narrow screens. */
  .verification-badge-shine {
    top:0;
    right:0;
    bottom:0;
    left:0;
    width:100%;
    background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.5) 48%,transparent 66%);
    background-size:260% 100%;
    transform:none;
    animation:verification-badge-shine-mobile 3.2s ease-in-out infinite;
  }
  @keyframes verification-badge-shine-mobile {
    0%,58% { background-position:120% 0; opacity:.25; }
    85%,100% { background-position:-120% 0; opacity:.72; }
  }
  .mine-top-card { grid-template-columns:1fr; gap:12px; }
  .mine-profile-entry-button { width:100%; min-width:0; }
  .profile-settings-hero { margin-top:10px; }
  .identity-photo-upload:last-child { grid-column:auto; min-height:118px; }
  .profile-image-verification-badge { top:10px; left:10px; }
}
@media (max-width:390px) {
  .identity-photo-grid { grid-template-columns:1fr; }
  .identity-photo-upload { min-height:120px; }
}
.interactive-surface-card { cursor:pointer; transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease; }
.interactive-surface-card:hover { border-color:#d9bcdf; box-shadow:0 16px 34px rgba(92,43,104,.13); transform:translateY(-2px); }
.interactive-surface-card:focus-visible { outline:3px solid rgba(142,68,205,.3); outline-offset:3px; }
.interactive-surface-card button,.interactive-surface-card a { cursor:pointer; }
.card-surface-detail-hint { display:flex; align-items:center; justify-content:space-between; gap:8px; margin:10px 0 2px; padding:8px 10px; border:1px solid #eadced; border-radius:11px; background:linear-gradient(135deg,#fcf8ff,#fff); color:#8b4c91; font-size:9px; font-weight:900; }
.card-surface-detail-hint b { display:grid; place-items:center; width:22px; height:22px; border-radius:8px; background:#efe2f2; color:#78437f; font-size:16px; line-height:1; }
.page-return-bar-v47 { position:relative; z-index:4; margin:10px 13px 4px; }
.page-return-bar-v47 button { display:flex; align-items:center; gap:9px; max-width:100%; min-height:43px; padding:7px 14px 7px 8px; border:1px solid #e4d8e7; border-radius:15px; background:rgba(255,255,255,.96); color:#59405f; box-shadow:0 8px 22px rgba(70,37,79,.08); font-size:11px; font-weight:900; }
.page-return-bar-v47 button span { display:grid; place-items:center; width:29px; height:29px; flex:0 0 auto; border-radius:10px; background:linear-gradient(135deg,#763ad2,#d74399); color:#fff; font-size:22px; line-height:1; }
.page-return-bar-v47 button b { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.unified-return-host-v47 { min-width:0; max-width:100%; }
.unified-return-host-v47 > div,.unified-return-host-v47 h2,.unified-return-host-v47 h3 { min-width:0; overflow:hidden; text-overflow:ellipsis; }
.verification-benefit-summary { display:flex; align-items:center; gap:10px; border-color:#ddcbe4; background:linear-gradient(135deg,#fffaff,#f6eef9); color:#684e6e; }
.verification-benefit-summary > i { display:grid; place-items:center; width:32px; height:32px; flex:0 0 auto; border-radius:11px; background:linear-gradient(135deg,#783dc4,#da4599); color:#fff; font-style:normal; box-shadow:0 7px 16px rgba(128,55,144,.2); }
.verification-benefit-summary > span { display:grid; min-width:0; gap:2px; }
.verification-benefit-summary small { color:#88738d; font-size:9px; line-height:1.55; }
.verification-benefit-summary.is-active { border-color:#bfe7d3; background:linear-gradient(135deg,#f5fff9,#ebfff4); color:#286149; }
.verification-benefit-summary.is-active > i { background:linear-gradient(135deg,#087a51,#19b477); }
.public-chat-message-meta .public-chat-verified-label.verification-badge-v45 { padding:3px 6px; font-size:7px; }
.public-chat-message-meta .public-chat-verified-label.verification-badge-v45 .verification-badge-check,
.public-chat-message-meta .public-chat-verified-label.verification-badge-v45 img { width:13px; height:13px; font-size:8px; }
@media (max-width:520px) {
  #customersPage .card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; align-items:stretch; }
  #customersPage .customer-unified-card { display:flex; flex-direction:column; grid-column:auto; min-width:0; height:100%; overflow:hidden; border-radius:20px; }
  #customersPage .customer-unified-card .profile-img { flex:0 0 auto; aspect-ratio:3 / 4; }
  #customersPage .customer-unified-card .profile-info { display:flex; flex:1; flex-direction:column; min-width:0; padding:11px 9px 10px; }
  #customersPage .customer-unified-card .profile-info h4 { min-height:38px; gap:3px; margin-bottom:2px; overflow:hidden; font-size:16px; line-height:1.15; }
  #customersPage .customer-unified-card .profile-info h4 > span { font-size:12px; }
  #customersPage .customer-unified-card .profile-head-row > div:first-child { min-width:0; width:100%; }
  #customersPage .customer-unified-card .profile-head-row > div:first-child > p { min-height:14px; overflow:hidden; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
  #customersPage .customer-unified-card .profile-mini-avatar,
  #customersPage .customer-unified-card .tags,
  #customersPage .customer-unified-card .desc,
  #customersPage .customer-unified-card .video-mini-btn,
  #customersPage .customer-unified-card .assist-mini-btn,
  #customersPage .customer-unified-card .customer-card-meta span:nth-child(n+2) { display:none; }
  #customersPage .customer-unified-card .customer-card-meta { min-height:26px; margin:7px 0 0; }
  #customersPage .customer-unified-card .customer-card-meta span { width:100%; padding:5px 6px; overflow:hidden; font-size:8px; text-overflow:ellipsis; white-space:nowrap; }
  #customersPage .customer-unified-card .card-surface-detail-hint { margin-top:7px; padding:6px 7px; font-size:8px; }
  #customersPage .customer-unified-card .card-surface-detail-hint b { width:19px; height:19px; font-size:14px; }
  #customersPage .customer-unified-card .customer-card-actions,
  #customersPage .customer-unified-card .customer-card-actions.three-actions { grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px; margin-top:auto; padding-top:7px; }
  #customersPage .customer-unified-card .customer-card-actions button { min-height:36px; padding:6px 3px; border-radius:10px; font-size:9px; }
  #customersPage .customer-unified-card .profile-image-verification-badge { top:7px; left:7px; max-width:calc(100% - 14px); padding:4px 6px; font-size:7px; }
  #customersPage .customer-unified-card .profile-image-verification-badge img,
  #customersPage .customer-unified-card .profile-image-verification-badge .verification-badge-check { width:15px; height:15px; font-size:8px; }
  #customersPage .customer-unified-card .anchor-verification-badge { display:none; }
  .refined-product-card .card-surface-detail-hint { margin-top:7px; }
  .page-return-bar-v47 { margin:8px 10px 3px; }
  .page-return-bar-v47 button { width:100%; }
  .app.subpage-open .page.active { overflow-x:hidden; }
}
@media (max-width:360px) {
  #customersPage { padding-right:9px; padding-left:9px; }
  #customersPage .card-grid { gap:8px; }
  #customersPage .customer-unified-card .profile-info { padding-right:7px; padding-left:7px; }
  #customersPage .customer-unified-card .profile-info h4 { font-size:14px; }
  #customersPage .customer-unified-card .customer-card-actions button { font-size:8px; }
}
.chat-locked-media-card{width:min(280px,72vw);margin:9px 0 3px;overflow:hidden;border:1px solid rgba(144,93,150,.2);border-radius:16px;background:#fff;box-shadow:0 10px 28px rgba(90,48,97,.1)}
.chat-locked-media-preview{display:grid;height:132px;place-items:center;background:#eee6f0 center/cover no-repeat;isolation:isolate;position:relative;overflow:hidden}
.chat-locked-media-preview::after{position:absolute;inset:-12px;z-index:-1;background:inherit;content:"";filter:blur(12px) brightness(.72);transform:scale(1.08)}
.chat-locked-media-preview span{display:grid;width:48px;height:48px;place-items:center;border:1px solid rgba(255,255,255,.75);border-radius:50%;background:rgba(44,24,48,.52);color:#fff;font-size:22px;backdrop-filter:blur(8px)}
.chat-locked-media-body{display:grid;gap:5px;padding:11px}
.chat-locked-media-body b{color:#442e48;font-size:13px}
.chat-locked-media-body small{color:#8c788f;font-size:10px;line-height:1.45}
.chat-locked-media-body button{min-height:38px;border:0;border-radius:11px;background:linear-gradient(135deg,#8e5895,#bc6c9d);color:#fff;font-size:11px;font-weight:800;cursor:pointer}
.chat-locked-media-card.unlocked{padding:8px}
.chat-locked-media-head{display:flex;align-items:center;justify-content:space-between;padding:2px 2px 8px;color:#4b354f;font-size:11px}
.chat-locked-media-head em{border-radius:999px;background:#e8f8ef;color:#218257;font-size:9px;font-style:normal;padding:3px 7px}
.chat-locked-media-card.unlocked img,.chat-locked-media-card.unlocked video{display:block;width:100%;max-height:360px;border-radius:11px;background:#130f14;object-fit:contain}
.auth-service-dialog,
.dating-purchase-dialog,
.assist-qr-dialog {
  max-height:min(90svh,760px);
  max-height:min(90dvh,760px);
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  touch-action:pan-y;
  -webkit-overflow-scrolling:touch;
}
.simple-modal-box {
  max-height:min(90svh,760px);
  max-height:min(90dvh,760px);
}
.simple-modal-head { flex:0 0 auto; }
.simple-modal-content {
  flex:1 1 auto;
  min-height:0;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  touch-action:pan-y;
  -webkit-overflow-scrolling:touch;
}
@media (max-width:600px) {
  .auth-service-mask,.assist-dialog-mask,.simple-modal { align-items:flex-end; padding:0; }
  .auth-service-dialog,.dating-purchase-dialog,.assist-qr-dialog,.simple-modal-box {
    width:100%;
    max-width:none;
    max-height:calc(100svh - max(10px,env(safe-area-inset-top)));
    max-height:calc(100dvh - max(10px,env(safe-area-inset-top)));
    padding-bottom:max(12px,env(safe-area-inset-bottom));
    border-radius:22px 22px 0 0;
  }
  .auth-service-dialog { padding:24px 18px max(16px,env(safe-area-inset-bottom)); }
  .assist-qr-dialog { padding:22px 18px max(14px,env(safe-area-inset-bottom)); }
  .assist-qr-image-wrap { width:min(230px,62vmin); height:min(230px,62vmin); }
}
.verification-badge-v45[role="button"] { cursor:pointer; transition:filter .18s ease,transform .18s ease,box-shadow .18s ease; }
.verification-badge-v45[role="button"]:hover { filter:brightness(1.08) saturate(1.08); transform:translateY(-1px) scale(1.02); }
.verification-badge-v45[role="button"]:focus-visible { outline:3px solid rgba(113,56,206,.3); outline-offset:3px; }
.verification-badge-info { position:relative; z-index:2; display:grid; place-items:center; width:14px; height:14px; flex:0 0 auto; border:1px solid rgba(255,255,255,.65); border-radius:50%; background:rgba(255,255,255,.18); color:#fff; font-size:8px; font-style:normal; font-weight:950; line-height:1; }
.page-return-bar-v47,.unified-return-host-v47 { position:sticky!important; top:max(0px,env(safe-area-inset-top)); z-index:68!important; }
.page-return-bar-v47 { padding-top:4px; background:linear-gradient(180deg,rgba(248,244,255,.98) 72%,rgba(248,244,255,0)); backdrop-filter:blur(10px); }
.unified-return-host-v47 { box-shadow:0 8px 18px rgba(63,34,70,.08); }
.floating-return-menu {
  display:inline-flex!important;
  bottom:max(78px,calc(env(safe-area-inset-bottom) + 72px))!important;
  max-width:min(220px,calc(100vw - 24px));
  border-color:rgba(255,255,255,.96);
  background:linear-gradient(135deg,rgba(91,43,184,.96),rgba(217,67,153,.96));
  box-shadow:0 12px 30px rgba(73,31,101,.25),0 0 0 1px rgba(255,255,255,.45) inset;
  backdrop-filter:blur(12px);
}
.floating-return-menu[hidden] { display:none!important; }
@media (max-width:420px) {
  .floating-return-menu {
    left:max(10px,env(safe-area-inset-left))!important;
    bottom:max(18px,calc(env(safe-area-inset-bottom) + 16px))!important;
    width:46px;
    min-height:46px;
    padding:8px;
  }
}
.verification-badge-page { min-height:100dvh; padding:14px 14px 105px; background:radial-gradient(circle at 86% 4%,rgba(224,65,151,.16),transparent 29%),linear-gradient(180deg,#fbf7ff,#f6f2fb 48%,#fff); }
.verification-info-hero { position:relative; display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:16px; min-height:188px; padding:26px 22px; overflow:hidden; border-radius:28px; background:linear-gradient(135deg,#311a4d 0%,#7134a7 48%,#d63f92 100%); color:#fff; box-shadow:0 22px 46px rgba(78,34,100,.25); }
.verification-info-hero::before,.verification-info-hero::after { position:absolute; content:""; border:1px solid rgba(255,255,255,.15); border-radius:50%; }
.verification-info-hero::before { width:190px; height:190px; top:-112px; right:-70px; }
.verification-info-hero::after { width:110px; height:110px; right:28px; bottom:-76px; }
.verification-badge-showcase-wrap { position:relative; z-index:1; display:grid; place-items:center; width:150px; height:116px; border:1px solid rgba(255,255,255,.3); border-radius:36px; background:rgba(255,255,255,.14); box-shadow:inset 0 1px rgba(255,255,255,.22),0 13px 32px rgba(41,15,66,.18); backdrop-filter:blur(16px); }
.verification-badge-showcase { max-width:138px; padding:9px 12px; font-size:11px; }
.verification-badge-showcase img,.verification-badge-showcase .verification-badge-check { width:23px; height:23px; }
.verification-info-hero > div:last-child { position:relative; z-index:1; min-width:0; }
.verification-info-hero small { display:block; margin-bottom:7px; color:rgba(255,255,255,.63); font-size:8px; font-weight:950; letter-spacing:.16em; }
.verification-info-hero h2 { margin:0 0 7px; font-size:22px; line-height:1.2; }
.verification-info-hero p { margin:0; color:rgba(255,255,255,.78); font-size:10px; line-height:1.65; }
.verification-info-card { margin-top:13px; padding:17px; border:1px solid #e7dce9; border-radius:21px; background:rgba(255,255,255,.95); box-shadow:0 12px 26px rgba(70,39,77,.07); }
.verification-info-intro { display:grid; grid-template-columns:44px minmax(0,1fr); align-items:center; gap:13px; }
.verification-info-icon { display:grid; place-items:center; width:44px; height:44px; border-radius:15px; background:linear-gradient(135deg,#087a51,#21b97d); color:#fff; box-shadow:0 8px 18px rgba(19,145,96,.22); font-size:20px; font-weight:950; }
.verification-info-card h3 { margin:0 0 5px; color:#433248; font-size:14px; }
.verification-info-card p { margin:0; color:#7e6d83; font-size:10px; line-height:1.65; }
.verification-info-heading { display:flex; align-items:center; gap:9px; margin-bottom:12px; }
.verification-info-heading span { display:grid; place-items:center; width:29px; height:29px; border-radius:10px; background:#f0e3f4; color:#86498e; }
.verification-info-heading h3 { margin:0; }
.verification-benefit-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.verification-benefit-grid > div { min-width:0; padding:13px 11px; border:1px solid #eee4f0; border-radius:15px; background:linear-gradient(145deg,#fff,#fbf7fc); }
.verification-benefit-grid i { display:grid; place-items:center; width:26px; height:26px; margin-bottom:9px; border-radius:9px; background:#563064; color:#fff; font-size:8px; font-style:normal; font-weight:950; }
.verification-benefit-grid p { color:#5f4a65; font-weight:750; }
.verification-info-two-column { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.verification-info-two-column > div { min-width:0; padding:14px; border-radius:16px; background:#faf6fc; }
.verification-info-mini-icon { display:grid; place-items:center; width:29px; height:29px; margin-bottom:10px; border-radius:10px; background:#8d498f; color:#fff; font-size:10px; font-weight:950; }
.verification-info-mini-icon.secure { background:#087a62; }
#productsPage .refined-product-card { content-visibility:auto; contain-intrinsic-width: none; contain-intrinsic-height: auto 320px; }
.conversation-card { content-visibility:auto; contain-intrinsic-width: none; contain-intrinsic-height: auto 92px; }
@media (max-width:420px) {
  .verification-badge-page { padding-right:10px; padding-left:10px; }
  .verification-info-hero { grid-template-columns:1fr; justify-items:center; min-height:255px; padding:22px 18px; text-align:center; }
  .verification-badge-showcase-wrap { width:min(196px,100%); height:92px; border-radius:28px; }
  .verification-badge-showcase { max-width:180px; padding:10px 14px; font-size:12px; }
  .verification-benefit-grid { grid-template-columns:1fr; }
  .verification-benefit-grid > div { display:grid; grid-template-columns:28px minmax(0,1fr); align-items:center; gap:9px; }
  .verification-benefit-grid i { margin:0; }
  .verification-info-two-column { grid-template-columns:1fr; }
  .verification-badge-info { width:13px; height:13px; font-size:7px; }
}
.password-input-wrap { width:100%; min-width:0; }
.password-input-wrap > input { width:100%; min-width:0; }
.floating-return-menu {
  top:50%!important;
  right:max(12px,calc((100vw - 520px) / 2 + 12px))!important;
  bottom:auto!important;
  left:auto!important;
  transform:translateY(-50%);
  opacity:.92;
  touch-action:manipulation;
}
.floating-return-menu:hover,.floating-return-menu:focus-visible { opacity:1; }
.floating-return-menu:active { transform:translateY(-50%) scale(.97); }
#chatPage .chat-topbar { flex:0 0 72px; }
#chatPage .chat-messages { min-height:0; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; }
#chatPage .chat-input-bar {
  position:sticky;
  inset:auto 0 0;
  flex:0 0 auto;
  width:100%;
  max-width:none;
  transform:none;
}
@media (max-width:767px) {
  html,body { width:100%; max-width:100%; overflow-x:hidden; }
  .app { width:100%; max-width:100%; overflow-x:clip; }
  .app > .page.active { width:100%; max-width:100%; min-width:0; }
  #customersPage .card-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
  #customersPage .customer-featured { grid-column:auto!important; }
  #customersPage .customer-unified-card { width:100%; min-width:0; }
  #customersPage .profile-img { min-width:0; overflow:hidden; isolation:isolate; }
  #customersPage .profile-main-photo { inset:0; max-width:100%; max-height:100%; object-fit:contain; object-position:center top; }
  #productsPage { max-width:100%; padding-right:10px; padding-left:10px; overflow-x:hidden; }
  #productsPage .product-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  #productsPage .product-category-section,
  #productsPage .refined-product-card { width:100%; min-width:0; max-width:100%; }
  #productsPage .refined-product-card .product-img { width:100%; height:auto; aspect-ratio:1 / 1; overflow:hidden; }
  #productsPage .product-main-photo { inset:0; max-width:100%; max-height:100%; object-fit:contain; object-position:center; }
  #productsPage .product-info { min-width:0; padding:10px 9px 12px; }
  #productsPage .product-info h4 { min-height:0; overflow-wrap:anywhere; font-size:13px; }
  #productsPage .card-surface-detail-hint { white-space:normal; }
  .media-viewer-mode { width:auto; min-width:42px; padding:0 10px; overflow:visible; font-size:11px; }
  .media-viewer-mode::before { content:none; }
  .product-detail-page,.customer-detail-page,.shopping-cart-page,.shop-orders-page { width:100%; max-width:100%; min-width:0; overflow-x:hidden; }
  .product-detail-page img,.customer-detail-page img { max-width:100%; }
}
@media (max-width:430px) {
  .floating-return-menu {
    right:max(8px,env(safe-area-inset-right))!important;
    width:44px;
    min-height:44px;
    justify-content:center;
    padding:7px;
  }
  .floating-return-menu b { display:none; }
  #customersPage { padding-right:10px; padding-left:10px; }
  #customersPage .card-grid { gap:9px; }
  #productsPage .product-category-grid { gap:8px; }
  #chatPage .chat-topbar { grid-template-columns:40px minmax(0,1fr) 54px; gap:7px; height:64px; padding:8px; flex-basis:64px; }
  #chatPage .chat-header-avatar { width:38px; height:38px; }
  #chatPage .chat-anchor-header h3 { font-size:14px; }
  #chatPage .chat-anchor-header p { overflow:hidden; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
  #chatPage .chat-input-bar { grid-template-columns: 44px minmax(0, 1fr) 64px; gap: 7px; padding-right:max(9px,env(safe-area-inset-right)); padding-left:max(9px,env(safe-area-inset-left)); }
  #chatPage .chat-input-bar textarea { padding:11px 13px; font-size:16px; }
}
.login-screen {
  align-items:flex-start;
  min-height:100vh;
  min-height:100dvh;
  overscroll-behavior-y:contain;
  -webkit-overflow-scrolling:touch;
}
.login-card { margin:auto; overflow:visible; }
.login-language-menu { max-width:calc(100vw - 34px); }
.verification-badge-v45[role="button"] {
  position:relative;
  pointer-events:auto;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
  user-select:none;
}
.verification-info-action-card {
  display:grid;
  grid-template-columns:44px minmax(0,1fr) auto;
  align-items:center;
  gap:13px;
  border-color:#dcc7e6;
  background:linear-gradient(135deg,#fff,#faf4ff);
}
.verification-info-action-icon {
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  border-radius:15px;
  background:linear-gradient(135deg,#7039cc,#dc4097);
  color:#fff;
  box-shadow:0 9px 20px rgba(124,49,157,.22);
  font-size:22px;
  font-weight:950;
}
.verification-info-action-card > div { min-width:0; }
.verification-info-action-card > button {
  min-height:44px;
  padding:10px 16px;
  border-radius:14px;
  background:linear-gradient(135deg,#7138d2,#dd4198);
  color:#fff;
  box-shadow:0 9px 20px rgba(126,49,158,.2);
  font-size:11px;
  font-weight:900;
  white-space:nowrap;
}
.verification-info-action-card > button:active { transform:translateY(1px); }
@media (max-width:520px) {
  .login-screen { padding-top:max(10px,env(safe-area-inset-top)); padding-bottom:max(10px,env(safe-area-inset-bottom)); }
  .login-card { margin-top:auto; margin-bottom:auto; }
  .login-card input { font-size:16px; }
  .verification-info-action-card { grid-template-columns:40px minmax(0,1fr); padding:15px; }
  .verification-info-action-icon { width:40px; height:40px; }
  .verification-info-action-card > button { grid-column:1 / -1; width:100%; min-height:46px; }
}
.floating-return-menu {
  top:50%!important;
  right:max(12px,calc((100vw - 520px) / 2 + 12px))!important;
  bottom:auto!important;
  left:auto!important;
  transform:translateY(-50%)!important;
}
@media (max-width:430px) {
  .floating-return-menu { right:max(8px,env(safe-area-inset-right))!important; bottom:auto!important; left:auto!important; }
}
@media (max-width:767px) {
  .media-viewer-mode::before { content:none!important; }
}
.identity-photo-upload { cursor:default; grid-template-rows:auto auto 1fr auto; gap:5px; }
.identity-photo-upload > b,
.identity-photo-upload > small { position:relative; z-index:2; }
.identity-photo-upload > img { z-index:1; opacity:.28; }
.identity-upload-actions { position:relative; z-index:3; align-self:end; display:grid; grid-template-columns:1fr 1fr; gap:7px; width:100%; margin-top:8px; }
.identity-upload-actions label { display:flex; min-height:36px; align-items:center; justify-content:center; padding:7px 8px; border:1px solid rgba(126,66,137,.25); border-radius:10px; background:rgba(255,255,255,.94); color:#703c76; font-size:10px; font-weight:800; cursor:pointer; box-shadow:0 4px 14px rgba(73,28,81,.08); }
.identity-upload-actions label.camera { color:#fff; border-color:transparent; background:linear-gradient(135deg,var(--brand-primary,#7c3aed),var(--brand-secondary,#ec4899)); }
.identity-upload-actions input { position:absolute; inline-size:1px; block-size:1px; opacity:0; pointer-events:none; }
.bank-purpose-notice,.recharge-bank-unavailable,.crypto-privacy-banner { display:flex; align-items:flex-start; gap:12px; border-radius:16px; }
.bank-purpose-notice { margin:0 0 14px; padding:14px; border:1px solid #ead8ed; background:#fbf7fc; color:#65446a; }
.bank-purpose-notice > span,.recharge-bank-unavailable > span,.crypto-privacy-banner > span { display:grid; flex:0 0 34px; width:34px; height:34px; place-items:center; border-radius:11px; background:#f0e5f3; }
.bank-purpose-notice b,.recharge-bank-unavailable b,.crypto-privacy-banner b { display:block; margin-bottom:3px; font-size:13px; }
.bank-purpose-notice p,.recharge-bank-unavailable p,.crypto-privacy-banner p { margin:0; color:#806d84; font-size:10px; line-height:1.55; }
.bank-purpose-consent { display:flex; align-items:flex-start; gap:9px; margin:12px 0; padding:12px; border:1px solid #eadced; border-radius:13px; background:#fff; color:#68536d; font-size:10px; line-height:1.5; }
.bank-purpose-consent input { flex:0 0 18px; width:18px; height:18px; accent-color:var(--brand-primary,#7c3aed); }
.bind-save-btn:disabled { cursor:not-allowed; filter:grayscale(.65); opacity:.55; }
.crypto-privacy-banner { margin:10px 0 14px; padding:14px; border:1px solid #cfeade; background:linear-gradient(135deg,#f0fcf6,#fbfffd); color:#205c43; }
.crypto-privacy-banner > span { background:#dff6ea; }
.hosted-recharge-return-status {
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  margin:0 0 14px;
  padding:13px 14px;
  border:1px solid #d9c5e0;
  border-radius:16px;
  color:#55375d;
  background:linear-gradient(135deg,#fff,#faf3fc);
  box-shadow:0 8px 24px rgba(88,46,102,.08);
}
.hosted-recharge-return-status.hidden { display:none; }
.hosted-recharge-return-icon {
  display:grid;
  width:42px;
  height:42px;
  place-items:center;
  border-radius:13px;
  color:#fff;
  background:linear-gradient(135deg,#7637a2,#dc3d91);
  font-size:20px;
  font-weight:900;
}
.hosted-recharge-return-status.checking .hosted-recharge-return-icon { animation:hosted-recharge-spin 1.3s linear infinite; }
.hosted-recharge-return-status.success { border-color:#a9ddc3; color:#195b40; background:#f1fbf6; }
.hosted-recharge-return-status.success .hosted-recharge-return-icon { background:#20a169; }
.hosted-recharge-return-status.review { border-color:#edd0a5; color:#76501b; background:#fff9ed; }
.hosted-recharge-return-status.review .hosted-recharge-return-icon { background:#d8952f; }
.hosted-recharge-return-status.failed,
.hosted-recharge-return-status.error { border-color:#efb8c0; color:#7e2d3a; background:#fff5f6; }
.hosted-recharge-return-status.failed .hosted-recharge-return-icon,
.hosted-recharge-return-status.error .hosted-recharge-return-icon { background:#c94e61; }
.hosted-recharge-return-status b { display:block; margin-bottom:3px; font-size:13px; }
.hosted-recharge-return-status p { margin:0; color:inherit; font-size:10px; line-height:1.55; opacity:.82; overflow-wrap:anywhere; }
.hosted-recharge-return-status button { padding:8px 11px; border:1px solid currentColor; border-radius:10px; color:inherit; background:transparent; font-size:10px; font-weight:850; white-space:nowrap; }
@keyframes hosted-recharge-spin { to { transform:rotate(360deg); } }
.checkout-step-title,.checkout-sheet-heading { display:flex; align-items:center; gap:10px; }
.checkout-step-title > i,.checkout-sheet-heading > i { display:grid; flex:0 0 32px; width:32px; height:32px; place-items:center; border-radius:11px; color:#fff; background:linear-gradient(135deg,var(--brand-primary,#7c3aed),var(--brand-secondary,#ec4899)); font-style:normal; font-weight:900; }
.checkout-step-title h3,.checkout-sheet-heading h3 { margin:0; }
.checkout-step-title p,.checkout-sheet-heading p { margin:4px 0 0; color:#75657a; font-size:13px; line-height:1.45; }
.recharge-bank-unavailable { margin-top:14px; padding:13px; border:1px solid #e8ddea; background:#fff; }
.recharge-bank-unavailable > div { flex:1; min-width:0; }
.recharge-bank-unavailable button { align-self:center; flex:0 0 auto; min-height:34px; padding:7px 11px; border:1px solid #d9bfdd; border-radius:10px; color:#713d77; background:#fff; font-size:9px; font-weight:800; }
.payment-sheet,.payment-qr-detail { max-height:min(86dvh,760px); overflow-y:auto; overscroll-behavior:contain; padding-bottom:max(16px,env(safe-area-inset-bottom)); }
.payment-method-list { display:grid; gap:9px; }
.unified-crypto-channel { overflow:hidden; border:1px solid #e5d7f0; border-radius:20px; background:linear-gradient(145deg,#fff,#fbf6ff); box-shadow:0 12px 30px rgba(92,46,110,.09); }
.unified-crypto-channel > header { display:grid; grid-template-columns:48px minmax(0,1fr) auto; align-items:center; gap:11px; padding:15px; background:linear-gradient(120deg,#2b1835,#654074 60%,#a34084); color:#fff; }
.unified-crypto-icon { display:grid; place-items:center; width:44px; height:44px; border-radius:14px; background:rgba(255,255,255,.14); font-size:24px; }
.unified-crypto-channel > header div { display:grid; gap:3px; }
.unified-crypto-channel > header b { font-size:16px; }
.unified-crypto-channel > header small { color:rgba(255,255,255,.82); font-size:13px; line-height:1.45; }
.unified-crypto-channel > header em { padding:6px 9px; border:1px solid rgba(255,255,255,.28); border-radius:999px; color:#f6eafa; font-size:11px; font-style:normal; letter-spacing:1px; }
.crypto-choice-label { display:flex; align-items:center; gap:8px; padding:18px 16px 10px; color:#382b3d; font-size:15px; font-weight:900; }
.crypto-choice-label > i { display:grid; width:26px; height:26px; place-items:center; border-radius:8px; color:#fff; background:#70417a; font-size:13px; font-style:normal; }
.crypto-choice-label > strong { margin-left:auto; padding:4px 9px; border-radius:999px; color:#754080; background:#f4e9f7; font-size:12px; }
.crypto-asset-tabs,.crypto-network-routes { display:grid; gap:10px; padding:0 16px; }
.crypto-asset-tabs { grid-template-columns:repeat(auto-fit,minmax(128px,1fr)); }
.crypto-asset-tabs button { position:relative; display:grid; grid-template-columns:42px minmax(0,1fr) 20px; align-items:center; gap:10px; min-height:66px; padding:10px 12px; border:2px solid #e5d9e9; border-radius:14px; background:#fff; color:#4d3753; text-align:left; box-shadow:0 4px 12px rgba(67,42,73,.04); }
.crypto-asset-symbol { display:grid; width:42px; height:42px; place-items:center; border-radius:50%; color:#fff; background:linear-gradient(135deg,#876092,#54305e); font-size:22px; font-weight:900; }
.crypto-asset-tabs button[data-asset-code="USDT"] .crypto-asset-symbol { background:linear-gradient(135deg,#28ae85,#16866a); }
.crypto-asset-tabs button[data-asset-code="USDC"] .crypto-asset-symbol { background:linear-gradient(135deg,#4389e5,#2367bd); }
.crypto-asset-tabs button[data-asset-code="ETH"] .crypto-asset-symbol { background:linear-gradient(135deg,#677286,#30394a); }
.crypto-asset-name { display:grid; gap:2px; }
.crypto-asset-name strong { font-size:17px; letter-spacing:.02em; }
.crypto-asset-name small { color:#8b7c90; font-size:12px; font-weight:700; }
.crypto-choice-check { display:grid; width:20px; height:20px; place-items:center; border:2px solid #d8c9dd; border-radius:50%; color:transparent; font-size:12px; font-style:normal; }
.crypto-asset-tabs button.active { border-color:#9448b2; background:linear-gradient(145deg,#fff,#fbf2ff); color:#402248; box-shadow:0 8px 20px rgba(132,57,151,.16),inset 0 0 0 1px rgba(148,72,178,.12); }
.crypto-asset-tabs button.active .crypto-choice-check { border-color:#9448b2; color:#fff; background:#9448b2; }
.crypto-network-routes { grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); padding-bottom:4px; }
.payment-method-card.crypto-channel-card.unified-route { min-height:116px; grid-template-columns:minmax(0,1fr) 30px; padding:15px; border:2px solid #e6dce8; border-radius:15px; box-shadow:0 4px 14px rgba(57,37,63,.04); }
.payment-method-card.crypto-channel-card.unified-route.active { border-color:#9448b2; background:linear-gradient(145deg,#fff,#fbf3ff); box-shadow:0 8px 22px rgba(132,57,151,.14); }
.crypto-route-check { display:grid; width:28px; height:28px; place-items:center; border:2px solid #d9ccdd; border-radius:50%; color:transparent !important; font-size:15px !important; }
.unified-route.active .crypto-route-check { border-color:#9448b2; color:#fff !important; background:#9448b2; }
.crypto-route-safety { display:grid; grid-template-columns:38px minmax(0,1fr); gap:11px; margin:14px 16px 16px; padding:14px; border:1px solid #eac779; border-radius:14px; background:linear-gradient(135deg,#fff9e8,#fffdf7); color:#624916; }
.crypto-safety-icon { display:grid; width:38px; height:38px; place-items:center; border-radius:11px; color:#fff; background:#d99a21; font-size:20px; font-weight:900; }
.crypto-route-safety > div { min-width:0; }
.crypto-route-safety small { display:block; color:#8b6b2f; font-size:12px; font-weight:800; }
.crypto-route-safety strong { display:block; margin:2px 0 5px; color:#49330b; font-size:18px; letter-spacing:.02em; }
.crypto-route-safety strong i { color:#b49350; font-style:normal; font-weight:500; }
.crypto-route-safety p { margin:0; color:#76591d; font-size:14px; font-weight:650; line-height:1.55; }
.withdraw-bank-purpose-note { margin-bottom:10px; padding:11px 12px; border:1px solid #f1d5a8; border-radius:12px; background:#fff9ec; color:#795827; }
.withdraw-bank-purpose-note b { display:block; margin-bottom:3px; font-size:12px; }
.withdraw-bank-purpose-note p { margin:0; font-size:10px; line-height:1.55; }
.payment-method-card.crypto-channel-card { width:100%; min-height:78px; grid-template-columns:46px minmax(0,1fr) 22px; align-items:center; text-align:left; cursor:pointer; }
.payment-method-copy { display:grid; gap:4px; min-width:0; }
.payment-method-title,.payment-method-network { display:flex; align-items:center; gap:7px; flex-wrap:wrap; }
.payment-method-title > small { padding:4px 8px; border-radius:7px; color:#fff; background:#344054; font-size:11px; font-weight:900; }
.payment-method-title strong { color:#302436; font-size:20px; letter-spacing:.02em; }
.payment-method-title em { padding:4px 8px; border-radius:999px; color:#a2366c; background:#ffe8f3; font-size:11px; font-style:normal; font-weight:900; }
.payment-method-network small { color:#654d6b; font-size:13px; font-weight:750; }
.qr-payment-amount > div { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.qr-payment-amount button,.crypto-address-block button { min-height:32px; padding:6px 10px; border:1px solid #d8bfdd; border-radius:9px; color:#713d77; background:#fff; font-size:9px; font-weight:800; }
.qr-payment-method h4 span { margin-inline-start:7px; padding:3px 7px; border-radius:6px; color:#fff; background:#293149; font-size:8px; }
.crypto-address-block { display:grid; grid-template-columns:1fr auto; gap:7px 10px; padding:13px; border:1px solid #e3d5e6; border-radius:14px; background:#fbf8fc; }
.crypto-address-block p { grid-column:1 / -1; margin:0; color:#806b85; font-size:9px; font-weight:700; }
.crypto-address-block code { min-width:0; overflow-wrap:anywhere; color:#382a3c; font-size:10px; line-height:1.5; }
.crypto-network-warning { margin-top:10px; padding:10px 12px; border:1px solid #f0d8a3; border-radius:12px; color:#815d17; background:#fff9e9; font-size:9px; line-height:1.5; }
.crypto-countdown { display:flex; align-items:center; justify-content:space-between; margin-top:10px; padding:11px 13px; border-radius:12px; color:#5d4663; background:#f5eef7; font-size:10px; }
.crypto-countdown b { color:#9c326b; font-size:17px; font-variant-numeric:tabular-nums; }
.crypto-countdown b.expired { color:#b42318; font-size:11px; }
.crypto-auto-monitor-note { display:grid; gap:4px; margin:12px 0; padding:12px 14px; border:1px solid rgba(16,185,129,.28); border-radius:14px; background:linear-gradient(135deg,#ecfdf5,#f0fdf4); color:#065f46; }
.crypto-auto-monitor-note b { font-size:12px; }
.crypto-auto-monitor-note span { font-size:10px; line-height:1.55; color:#047857; }
.crypto-manual-txhash { display:grid; gap:7px; margin:12px 0; padding:13px 14px; border:1px solid rgba(217,119,6,.3); border-radius:14px; background:linear-gradient(135deg,#fffaf0,#fffbeb); }
.crypto-manual-txhash label { display:grid; gap:7px; color:#70490e; font-size:11px; font-weight:800; }
.crypto-manual-txhash input { width:100%; min-height:44px; padding:0 11px; border:1px solid #e7c987; border-radius:10px; color:#3f3320; background:#fff; font:11px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace; }
.crypto-manual-txhash small { color:#8a672e; font-size:9px; line-height:1.55; }
.crypto-verification-status { margin-top:10px; padding:12px 13px; border:1px solid #d9cce0; border-radius:12px; color:#51375a; background:#f8f3fa; font-size:11px; font-weight:750; line-height:1.55; overflow-wrap:anywhere; }
.crypto-verification-status.checking { border-color:#c9b1e8; color:#633e80; background:#f6efff; }
.crypto-verification-status.success { border-color:#9eddbb; color:#176b43; background:#effbf4; }
.crypto-verification-status.review { border-color:#edc587; color:#80551c; background:#fff8e9; }
.crypto-verification-status.error { border-color:#efb8c0; color:#7e2d3a; background:#fff5f6; }
.crypto-checkout-modes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:12px 0; padding:5px; border:1px solid #e5d8e8; border-radius:14px; background:#f6f0f8; }
.crypto-checkout-modes button { min-height:42px; padding:8px 10px; border:0; border-radius:10px; color:#755b7a; background:transparent; font-size:12px; font-weight:850; }
.crypto-checkout-modes button.active { color:#fff; background:linear-gradient(135deg,#74349a,#dd3e92); box-shadow:0 7px 18px rgba(130,50,143,.22); }
.wallet-direct-panel { display:grid; gap:10px; margin-bottom:12px; padding:14px; border:1px solid #dfd0e4; border-radius:15px; background:linear-gradient(145deg,#fff,#fbf5fd); }
.wallet-direct-panel > header { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.wallet-direct-panel h5 { margin:0 0 4px; color:#402646; font-size:15px; }
.wallet-direct-panel p { margin:0; color:#816b86; font-size:10px; line-height:1.55; }
.wallet-direct-panel > header span { flex:0 0 auto; padding:4px 8px; border-radius:999px; color:#1d744a; background:#e8f8ef; font-size:9px; font-weight:900; }
.wallet-direct-order-snapshot { display:grid; gap:9px; padding:12px; border:1px solid #d9c8df; border-radius:13px; background:#fff; }
.wallet-direct-order-snapshot > div:first-child { display:grid; grid-template-columns:1fr auto; gap:3px 10px; align-items:end; }
.wallet-direct-order-snapshot small { grid-column:1 / -1; color:#8a758f; font-size:9px; font-weight:750; }
.wallet-direct-order-snapshot b { color:#4e3158; font-size:12px; }
.wallet-direct-order-snapshot strong { color:#9c326b; font-size:14px; font-variant-numeric:tabular-nums; }
.wallet-direct-order-snapshot code { overflow-wrap:anywhere; padding:8px 9px; border-radius:9px; color:#39283e; background:#f8f4f9; font-size:10px; line-height:1.5; }
.wallet-direct-copy-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.wallet-direct-copy-actions button { min-height:36px; border:1px solid #d8c8dd; border-radius:9px; color:#62396c; background:#fff; font-size:10px; font-weight:850; }
.wallet-direct-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
.wallet-direct-actions button { display:grid; min-height:54px; padding:8px 5px; place-content:center; gap:3px; border:1px solid #d9c7df; border-radius:11px; color:#5b3465; background:#fff; font-size:10px; font-weight:850; }
.wallet-direct-actions button b { font-size:11px; }
.wallet-direct-actions button small { color:#927d97; font-size:8px; font-weight:750; }
.wallet-direct-actions button.route-unavailable { border-style:dashed; color:#796c7c; background:#f8f6f8; }
.wallet-direct-note { padding:9px 10px; border-radius:10px; color:#755523!important; background:#fff7e6; }
.qr-fullscreen-button { width:100%; min-height:40px; margin-top:8px; border:1px solid #352039; border-radius:10px; color:#fff; background:#352039; font-size:11px; font-weight:900; }
.crypto-qr-scan-mask { position:fixed; inset:0; z-index:12020; background:#fff; }
.crypto-qr-scan-mode { position:fixed; inset:0; z-index:12021; display:flex; flex-direction:column; align-items:center; overflow:auto; padding:max(18px,env(safe-area-inset-top)) 18px max(20px,env(safe-area-inset-bottom)); color:#111; background:#fff; overscroll-behavior:contain; }
.crypto-qr-scan-mode > header { display:flex; width:min(100%,560px); align-items:center; justify-content:space-between; gap:12px; }
.crypto-qr-scan-mode > header small { display:block; color:#555; font-size:12px; font-weight:850; }
.crypto-qr-scan-mode > header h3 { margin:3px 0 0; color:#111; font-size:23px; }
.crypto-qr-scan-mode > header button { width:44px; height:44px; border:1px solid #d4d4d4; border-radius:50%; color:#111; background:#fff; font-size:28px; }
.crypto-qr-scan-stage { display:grid; width:min(92vw,460px); min-height:min(92vw,460px); margin:18px auto 12px; place-items:center; overflow:visible; border:0; background:#fff; isolation:isolate; }
.crypto-qr-scan-stage img { display:block; width:min(84vw,410px); height:min(84vw,410px); object-fit:contain; border:0; background:#fff; filter:none!important; transform:none!important; image-rendering:pixelated; }
.crypto-qr-scan-mode[data-size="normal"] .crypto-qr-scan-stage img { width:min(72vw,340px); height:min(72vw,340px); }
.crypto-qr-scan-mode[data-size="max"] .crypto-qr-scan-stage { width:min(98vw,540px); min-height:min(98vw,540px); }
.crypto-qr-scan-mode[data-size="max"] .crypto-qr-scan-stage img { width:min(94vw,500px); height:min(94vw,500px); }
.crypto-qr-scan-size { display:grid; width:min(100%,460px); grid-template-columns:48px 1fr 48px; gap:8px; }
.crypto-qr-scan-size button { min-height:42px; border:1px solid #cfcfcf; border-radius:10px; color:#111; background:#fff; font-size:14px; font-weight:850; }
.crypto-qr-scan-mode > p { width:min(100%,520px); margin:12px 0 8px; color:#333; font-size:13px; line-height:1.55; text-align:center; }
.crypto-wallet-handoff-values { display:grid; width:min(100%,560px); gap:10px; margin-top:8px; }
.crypto-wallet-handoff-values > div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:6px 10px; padding:12px; border:1px solid #dedede; border-radius:13px; background:#fafafa; }
.crypto-wallet-handoff-values small { grid-column:1 / -1; color:#666; font-size:11px; font-weight:800; }
.crypto-wallet-handoff-values b,.crypto-wallet-handoff-values code { min-width:0; overflow-wrap:anywhere; color:#111; font-size:13px; line-height:1.5; }
.crypto-wallet-handoff-values button,.crypto-wallet-copy-all { min-height:38px; padding:7px 12px; border:1px solid #cacaca; border-radius:9px; color:#111; background:#fff; font-size:11px; font-weight:850; }
.crypto-wallet-copy-all { width:min(100%,560px); margin-top:10px; color:#fff; border-color:#352039; background:#352039; }
.payment-sheet-actions .next:disabled { opacity:.45; cursor:not-allowed; }
@media (max-width:600px) {
  .identity-upload-actions { grid-template-columns:1fr; }
  .identity-photo-upload { min-height:160px; }
  .crypto-privacy-banner,.recharge-bank-unavailable { margin-inline:0; }
  .recharge-bank-unavailable { display:grid; grid-template-columns:34px 1fr; }
  .recharge-bank-unavailable button { grid-column:1 / -1; width:100%; }
  .payment-sheet,.payment-qr-detail { width:calc(100% - 12px); max-height:88dvh; left:6px; right:6px; }
  .unified-crypto-channel > header { grid-template-columns:42px minmax(0,1fr); padding:13px; }
  .unified-crypto-channel > header em { display:none; }
  .crypto-asset-tabs { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .crypto-asset-tabs button { grid-template-columns:38px minmax(0,1fr) 18px; min-height:62px; padding:9px; }
  .crypto-asset-symbol { width:38px; height:38px; font-size:20px; }
  .crypto-asset-name strong { font-size:15px; }
  .crypto-network-routes { grid-template-columns:1fr; }
  .payment-method-card.crypto-channel-card { grid-template-columns:minmax(0,1fr) 28px; padding:14px; }
  .payment-method-card.crypto-channel-card.unified-route { min-height:110px; }
  .crypto-route-safety { margin-inline:12px; }
  .crypto-address-block { grid-template-columns:1fr; }
  .crypto-address-block button { width:100%; }
  .wallet-direct-actions { grid-template-columns:1fr; }
}
.payment-sheet,
.payment-qr-detail {
  display:flex;
  flex-direction:column;
  overflow:hidden;
  max-height:min(86dvh,760px);
}
.payment-sheet-scroll {
  flex:1 1 auto;
  min-height:0;
  padding:2px 2px 14px;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  touch-action:pan-y;
  -webkit-overflow-scrolling:touch;
}
.payment-sheet > .checkout-sheet-heading,
.payment-qr-detail > .checkout-sheet-heading,
.payment-sheet > .sheet-handle,
.payment-qr-detail > .sheet-handle,
.payment-sheet > .payment-sheet-actions,
.payment-qr-detail > .payment-sheet-actions { flex:0 0 auto; }
.payment-method-list { min-height:min-content; padding:0 0 12px; overflow:visible; }
#qrPaymentDetailContent {
  flex:1 1 auto;
  min-height:0;
  padding:2px 2px 14px;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  touch-action:pan-y;
  -webkit-overflow-scrolling:touch;
}
.payment-more-box { margin:0 0 2px; }
.payment-sheet-actions { flex:0 0 auto; padding-top:10px; border-top:1px solid #f0e7f2; background:#fff; }
@media (max-width:600px) {
  .payment-sheet,
  .payment-qr-detail {
    left:0 !important;
    right:0 !important;
    top:auto !important;
    bottom:0 !important;
    transform:none !important;
    width:100% !important;
    max-width:none !important;
    max-height:min(88vh, calc(100vh - 12px)) !important;
    max-height:min(88svh, calc(100svh - max(12px, env(safe-area-inset-top)))) !important;
    max-height:min(88dvh, calc(100dvh - max(12px, env(safe-area-inset-top)))) !important;
    margin:0 !important;
    padding:12px 12px 10px !important;
    border-radius:22px 22px 0 0;
  }
  .payment-sheet > .checkout-sheet-heading,
  .payment-qr-detail > .checkout-sheet-heading { padding:0 2px 10px; }
  .payment-sheet-actions { gap:9px; }
  .payment-sheet-actions button { min-width:0; height:50px; padding-inline:8px; font-size:14px; }
  .payment-method-card.crypto-channel-card { min-height:110px; }
  .payment-sheet-scroll,
  #qrPaymentDetailContent {
    padding-bottom:18px;
  }
}
@media (max-width:520px) {
  #customersPage .banner {
    height:152px;
    margin-bottom:8px;
    border-radius:19px;
  }
  #customersPage .slide { padding:16px 14px 30px; }
  #customersPage .slide h3 { max-width:80%; font-size:19px; line-height:1.18; }
  #customersPage .slide p {
    display:-webkit-box;
    max-width:82%;
    margin:5px 0 8px;
    overflow:hidden;
    font-size:10px;
    line-height:1.35;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
  }
  #customersPage .slide button { min-height:32px; padding:6px 11px; font-size:9px; }
  .smart-home-panel { margin:8px 0 10px; padding:10px; border-radius:16px; }
  .smart-home-heading { gap:8px; margin-bottom:7px; }
  .smart-home-eyebrow { display:none; }
  .smart-home-heading h3 { font-size:13px; }
  .smart-home-heading p { display:none; }
  .smart-home-refresh { width:32px; min-height:32px; padding:0; overflow:hidden; color:transparent; font-size:0; }
  .smart-home-refresh::before { color:#7c587d; content:"↻"; font-size:17px; }
  .smart-home-layout { gap:7px; }
  .smart-home-primary { grid-template-columns:34px minmax(0,1fr) auto; gap:8px; min-height:52px; padding:8px 9px; border-radius:13px; }
  .smart-home-primary-icon { width:34px; height:34px; border-radius:11px; font-size:15px; }
  .smart-home-primary b { font-size:11px; }
  .smart-home-primary small { font-size:8px; }
  .smart-home-primary em { grid-column:auto; font-size:8px; }
  .smart-home-stats { grid-template-columns:repeat(4,minmax(0,1fr)); gap:4px; }
  .smart-home-stats button { min-height:38px; padding:5px 4px; border-radius:10px; text-align:center; }
  .smart-home-stats span { display:none; }
  .smart-home-stats b { font-size:10px; }
  .smart-home-quick-actions { display:none; }
  #customersPage .section-title { margin-top:8px; }
  #customersPage .search-box { margin-bottom:8px; }
  #productsPage .refined-product-card .product-img,
  #customersPage .customer-unified-card .profile-img { background:#f5f0f7; }
  #productsPage .product-main-photo,
  #customersPage .profile-main-photo { width:100%; height:100%; object-fit:contain!important; object-position:center top; }
}
@media (max-width:360px) {
  #customersPage .banner { height:138px; }
  .smart-home-primary small { display:none; }
  .smart-home-primary { min-height:46px; }
  .smart-home-stats button { min-height:34px; }
}
.recharge-amount-grid {
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
}
.recharge-amount-grid button {
  display:flex;
  height:auto;
  min-height:78px;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:4px;
  padding:11px 12px;
  border-color:#eadfed;
  border-radius:14px;
  text-align:left;
}
.recharge-amount-grid button.active {
  border-color:#a8559f;
  background:linear-gradient(145deg,#fff,#faeffc);
  box-shadow:0 9px 22px rgba(137,64,139,.12);
}
.recharge-amount-grid button:disabled { cursor:not-allowed; filter:grayscale(.4); opacity:.5; }
.recharge-amount-grid .recharge-preset-price {
  position:static;
  width:auto;
  height:auto;
  border-radius:0;
  color:#4a2c50;
  background:transparent;
  font-size:16px;
  font-weight:900;
}
.recharge-amount-grid button small { color:#8b758f; font-size:9px; font-weight:750; line-height:1.35; }
.recharge-amount-grid button em {
  position:absolute;
  top:7px;
  right:7px;
  padding:2px 5px;
  border-radius:999px;
  color:#9b4c16;
  background:#fff0d6;
  font-size:8px;
  font-style:normal;
  font-weight:900;
}
.recharge-amount-grid button i {
  position:absolute;
  right:7px;
  bottom:7px;
  width:18px;
  height:18px;
  border-radius:50%;
  color:#fff;
  background:#a8559f;
  font-size:11px;
  font-style:normal;
  line-height:18px;
  text-align:center;
}
.recharge-amount-header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
.recharge-amount-header b { color:#3f2945; font-size:13px; }
.recharge-amount-header span { color:#8b748f; font-size:10px; font-weight:750; }
.recharge-amount-error {
  margin:8px 0 0;
  color:#b42318;
  font-size:10px;
  font-weight:800;
  line-height:1.45;
}
.recharge-amount-error:empty { display:none; }
.recharge-reward-preview {
  margin-top:16px;
  padding:15px;
  border:1px solid #e6d6eb;
  border-radius:18px;
  background:linear-gradient(145deg,#fff 0%,#fbf5fd 62%,#fff8f2 100%);
  box-shadow:0 12px 30px rgba(82,44,91,.06);
}
.recharge-reward-preview > header {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.recharge-reward-preview > header b { color:#442b4a; font-size:13px; }
.recharge-reward-preview > header small { max-width:62%; color:#8b758f; font-size:9px; line-height:1.45; text-align:right; }
.recharge-reward-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}
.recharge-reward-grid > div {
  min-width:0;
  padding:11px 10px;
  border:1px solid #eadfed;
  border-radius:13px;
  background:rgba(255,255,255,.86);
}
.recharge-reward-grid small { display:block; margin-bottom:4px; color:#8b758f; font-size:9px; font-weight:750; }
.recharge-reward-grid strong { display:block; overflow:hidden; color:#51305a; font-size:15px; font-variant-numeric:tabular-nums; text-overflow:ellipsis; white-space:nowrap; }
.recharge-reward-grid .recharge-reward-total { border-color:#dcb9e7; background:linear-gradient(145deg,#fff,#f8eafb); }
.recharge-reward-grid .recharge-reward-bonus strong { color:#a23272; }
.recharge-reward-preview.has-bonus .recharge-reward-bonus {
  border-color:#f0cda8;
  background:#fff7e9;
}
.recharge-reward-preview.has-bonus .recharge-reward-bonus strong { color:#a15c15; }
.recharge-channel-selector {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
  margin-bottom:14px;
}
.recharge-channel-card {
  position:relative;
  display:grid;
  min-width:0;
  min-height:126px;
  grid-template-columns:36px minmax(0,1fr);
  align-content:start;
  gap:9px;
  padding:12px;
  overflow:hidden;
  border:1px solid #e2d6e5;
  border-radius:15px;
  color:#4b3151;
  background:#fff;
  text-align:left;
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.recharge-channel-card:not(.unavailable):hover { border-color:#bc83cc; box-shadow:0 9px 22px rgba(111,54,125,.12); transform:translateY(-1px); }
.recharge-channel-card:focus-visible { outline:3px solid rgba(158,74,178,.25); outline-offset:2px; }
.recharge-channel-card.active {
  border-color:#9e4ab2;
  background:linear-gradient(145deg,#fff,#fbf0ff);
  box-shadow:0 0 0 2px rgba(158,74,178,.10),0 12px 25px rgba(111,54,125,.12);
}
.recharge-channel-card.unavailable { cursor:help; border-color:#ead7dc; background:#fff8fa; }
.recharge-channel-icon {
  display:grid;
  width:36px;
  height:36px;
  place-items:center;
  border-radius:11px;
  color:#fff;
  background:linear-gradient(135deg,#7637a2,#dc3d91);
  font-size:18px;
  font-weight:900;
}
.recharge-channel-copy { min-width:0; }
.recharge-channel-copy small,.recharge-channel-copy strong,.recharge-channel-copy em { display:block; min-width:0; }
.recharge-channel-copy small { margin-bottom:2px; overflow:hidden; color:#9a829e; font-size:8px; font-weight:800; text-overflow:ellipsis; white-space:nowrap; }
.recharge-channel-copy strong { color:#402747; font-size:12px; line-height:1.28; }
.recharge-channel-copy em {
  display:-webkit-box;
  grid-column:1 / -1;
  margin-top:6px;
  overflow:hidden;
  color:#806b84;
  font-size:9px;
  font-style:normal;
  line-height:1.45;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
}
.recharge-channel-card.unavailable .recharge-channel-copy em {
  display:block;
  overflow:visible;
  color:#79515c;
  overflow-wrap:anywhere;
  -webkit-line-clamp:unset;
}
.recharge-channel-status {
  grid-column:1 / -1;
  justify-self:start;
  padding:4px 8px;
  border-radius:999px;
  color:#7b687f;
  background:#f2edf3;
  font-size:8px;
  font-weight:900;
}
.recharge-channel-status.available { color:#157347; background:#e9f8f0; }
.recharge-channel-panel { min-width:0; }
.recharge-provider-summary {
  display:grid;
  min-width:0;
  grid-template-columns:48px minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  padding:16px;
  border:1px solid #dfd1e4;
  border-radius:16px;
  background:linear-gradient(145deg,#fff,#faf5fc);
}
.recharge-provider-summary-icon {
  display:grid;
  width:48px;
  height:48px;
  place-items:center;
  border-radius:15px;
  color:#fff;
  background:linear-gradient(135deg,#703297,#db3d91);
  font-size:23px;
  font-weight:900;
}
.recharge-provider-summary > div { min-width:0; }
.recharge-provider-summary small { color:#957d99; font-size:9px; font-weight:800; }
.recharge-provider-summary h4 { margin:3px 0 4px; color:#402747; font-size:15px; }
.recharge-provider-summary p { margin:0; color:#806b84; font-size:10px; line-height:1.5; }
.recharge-provider-summary > strong { color:#9f3675; font-size:16px; font-variant-numeric:tabular-nums; white-space:nowrap; }
.recharge-provider-summary aside {
  grid-column:1 / -1;
  padding:9px 11px;
  border-radius:10px;
  color:#68556c;
  background:#f4edf6;
  font-size:9px;
  font-weight:750;
  line-height:1.5;
}
@media (max-width:720px) {
  .hosted-recharge-return-status { grid-template-columns:38px minmax(0,1fr); padding:12px; }
  .hosted-recharge-return-icon { width:38px; height:38px; }
  .hosted-recharge-return-status button { grid-column:1 / -1; width:100%; min-height:40px; }
  .recharge-amount-header { align-items:flex-start; }
  .recharge-amount-header span { max-width:48%; line-height:1.4; text-align:right; }
  .recharge-amount-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  .recharge-reward-preview { padding:13px; border-radius:15px; }
  .recharge-reward-preview > header { display:block; }
  .recharge-reward-preview > header small { display:block; max-width:none; margin-top:4px; text-align:left; }
  .recharge-reward-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .recharge-channel-selector { grid-template-columns:1fr; gap:8px; }
  .recharge-channel-card {
    min-height:0;
    grid-template-columns:40px minmax(0,1fr) auto;
    align-items:center;
    padding:11px;
  }
  .recharge-channel-icon { width:40px; height:40px; }
  .recharge-channel-copy em { -webkit-line-clamp:2; }
  .recharge-channel-card.unavailable { grid-template-columns:40px minmax(0,1fr); }
  .recharge-channel-card.unavailable .recharge-channel-copy em { -webkit-line-clamp:unset; }
  .recharge-channel-card.unavailable .recharge-channel-status { grid-column:1 / -1; }
  .recharge-channel-status { grid-column:auto; align-self:start; white-space:nowrap; }
  .recharge-provider-summary { grid-template-columns:44px minmax(0,1fr); padding:13px; }
  .recharge-provider-summary-icon { width:44px; height:44px; }
  .recharge-provider-summary > strong { grid-column:1 / -1; font-size:18px; }
  .payment-sheet-scroll { scroll-padding-bottom:max(84px,env(safe-area-inset-bottom)); }
  .payment-method-list { min-width:0; padding-bottom:28px; }
  .payment-sheet-actions { padding-bottom:max(2px,env(safe-area-inset-bottom)); }
}
#productsPage,
#productsPage .content,
#productsPage #productsList,
#productsPage .product-category-section,
#productsPage .product-category-grid,
#productsPage .product-card,
#productsPage .product-info {
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}
#productsPage .product-category-toolbar {
  position:sticky;
  z-index:18;
  top:max(6px,env(safe-area-inset-top));
  margin:12px 0 18px;
  padding:8px;
  overflow:hidden;
  border:1px solid rgba(132,86,151,.16);
  border-radius:18px;
  background:rgba(255,252,255,.9);
  box-shadow:0 10px 30px rgba(82,47,94,.08);
  -webkit-backdrop-filter:blur(16px);
  backdrop-filter:blur(16px);
}
#productsPage .product-category-scroll {
  display:flex;
  width:100%;
  min-width:0;
  gap:8px;
  padding:1px;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x proximity;
  scroll-padding-inline:8px;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-inline:contain;
}
#productsPage .product-category-scroll::-webkit-scrollbar {
  display:none;
}
#productsPage .product-subcategory-scroll {
  display:flex;
  width:100%;
  min-width:0;
  gap:7px;
  margin-top:7px;
  padding:7px 2px 1px;
  overflow-x:auto;
  overflow-y:hidden;
  border-top:1px solid rgba(132,86,151,.12);
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}
#productsPage .product-subcategory-scroll::-webkit-scrollbar { display:none; }
#productsPage .product-subcategory-pill {
  flex:0 0 auto;
  min-height:34px;
  padding:0 14px;
  border:1px solid rgba(111,74,128,.16);
  border-radius:999px;
  color:#725d79;
  background:#faf7fb;
  font:inherit;
  font-size:12px;
  font-weight:750;
  white-space:nowrap;
  cursor:pointer;
}
#productsPage .product-subcategory-pill:is(:hover,:focus-visible) {
  border-color:rgba(143,58,135,.35);
  outline:none;
  color:#663367;
}
#productsPage .product-subcategory-pill.active {
  border-color:#8c478f;
  color:#fff;
  background:#79517c;
}
#productsPage .product-category-pill {
  display:inline-flex;
  flex:0 0 auto;
  min-height:42px;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:0 17px;
  scroll-snap-align:center;
  border:1px solid rgba(143,75,164,.18);
  border-radius:999px;
  color:#62486a;
  background:#fff;
  box-shadow:none;
  font:inherit;
  font-size:13px;
  font-weight:800;
  line-height:1.2;
  white-space:nowrap;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
  transition:transform .18s ease,border-color .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease;
}
#productsPage .product-category-pill > span {
  display:grid;
  width:22px;
  height:22px;
  place-items:center;
  border-radius:50%;
  background:#f6edf8;
  font-size:12px;
}
#productsPage .product-category-pill > b {
  font:inherit;
}
#productsPage .product-category-pill:is(:hover,:focus-visible) {
  border-color:rgba(166,58,148,.42);
  outline:none;
  transform:translateY(-1px);
}
#productsPage .product-category-pill.active {
  border-color:transparent;
  color:#fff;
  background:linear-gradient(135deg,#7936c8,#df3f9a);
  box-shadow:0 8px 20px rgba(151,53,160,.22);
}
#productsPage .product-category-pill.active > span {
  background:rgba(255,255,255,.18);
}
#productsPage #productsList.product-grid {
  display:block!important;
  width:100%;
}
#productsPage .product-storefront-results {
  margin:0;
}
#productsPage .product-results-heading {
  display:flex;
  min-width:0;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:0 0 12px;
  padding-inline:2px;
  color:#402c48;
}
#productsPage .product-results-heading strong {
  min-width:0;
  overflow:hidden;
  font-size:18px;
  font-weight:900;
  text-overflow:ellipsis;
  white-space:nowrap;
}
#productsPage .product-results-heading span {
  flex:0 0 auto;
  color:#88738d;
  font-size:12px;
  font-weight:750;
  white-space:nowrap;
}
#productsPage .product-category-grid {
  display:grid!important;
  width:100%;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  align-items:stretch;
  gap:16px!important;
}
#productsPage .refined-product-card {
  position:relative;
  display:flex!important;
  width:100%!important;
  height:100%;
  min-height:0!important;
  overflow:hidden;
  flex-direction:column;
  border:1px solid rgba(127,82,142,.14);
  border-radius:22px!important;
  background:#fff;
  box-shadow:0 12px 34px rgba(79,48,91,.09);
  cursor:pointer;
  isolation:isolate;
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,opacity .2s ease;
}
#productsPage .refined-product-card:is(:hover,:focus-visible) {
  border-color:rgba(180,62,150,.3);
  outline:none;
  transform:translateY(-3px);
  box-shadow:0 18px 42px rgba(107,48,114,.14);
}
#productsPage .refined-product-card .product-preview-stage {
  position:relative;
  width:100%;
  height:auto!important;
  min-height:0!important;
  overflow:hidden;
  aspect-ratio:1 / 1;
  border-radius:0!important;
  background:#f7f3f8;
}
#productsPage .refined-product-card .product-preview-stage::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background-image:var(--media-image,none);
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
}
#productsPage .refined-product-card .product-main-photo,
#productsPage .refined-product-card .product-hover-photo {
  position:absolute!important;
  inset:0;
  z-index:1;
  display:block;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center!important;
  border-radius:0!important;
  transform:none;
  transition:opacity .25s ease,transform .35s ease;
}
#productsPage .refined-product-card .product-hover-photo {
  z-index:2;
  opacity:0;
}
@media (hover:hover) and (pointer:fine) {
  #productsPage .refined-product-card:hover .product-preview-stage.has-detail-preview .product-main-photo {
    opacity:0;
  }

  #productsPage .refined-product-card:hover .product-hover-photo {
    opacity:1;
  }
}
#productsPage .refined-product-card .product-corner-label {
  position:absolute;
  z-index:5;
  inset-block-start:10px;
  inset-inline-end:10px;
  max-width:calc(100% - 20px);
  overflow:hidden;
  padding:6px 10px;
  border:1px solid rgba(255,255,255,.4);
  border-radius:999px;
  color:#fff;
  background:linear-gradient(135deg,rgba(104,45,152,.94),rgba(222,58,147,.94));
  box-shadow:0 6px 18px rgba(84,41,90,.2);
  font-size:10px;
  font-weight:900;
  line-height:1.15;
  text-overflow:ellipsis;
  white-space:nowrap;
}
#productsPage .refined-product-card .product-sold-out-mask {
  position:absolute;
  inset:0;
  z-index:4;
  display:grid;
  place-items:center;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(33,27,36,.14),rgba(33,27,36,.42));
  -webkit-backdrop-filter:grayscale(.35);
  backdrop-filter:grayscale(.35);
}
#productsPage .refined-product-card .product-sold-out-mask span {
  max-width:calc(100% - 24px);
  padding:8px 14px;
  border:1px solid rgba(255,255,255,.38);
  border-radius:999px;
  color:#fff;
  background:rgba(45,38,48,.9);
  box-shadow:0 8px 24px rgba(31,24,34,.24);
  font-size:12px;
  font-weight:950;
  line-height:1.2;
  text-align:center;
}
#productsPage .refined-product-card .product-info {
  display:flex!important;
  flex:1 1 auto;
  flex-direction:column;
  gap:8px;
  padding:14px!important;
}
#productsPage .refined-product-card .product-info h4 {
  display:-webkit-box;
  min-height:2.7em;
  margin:0!important;
  overflow:hidden;
  color:#302035;
  font-size:15px!important;
  font-weight:900;
  line-height:1.35;
  overflow-wrap:anywhere;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
#productsPage .refined-product-card .product-sub {
  display:-webkit-box!important;
  min-height:2.75em;
  margin:0!important;
  overflow:hidden;
  color:#867289;
  font-size:11px!important;
  line-height:1.4!important;
  overflow-wrap:anywhere;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
#productsPage .refined-product-card .product-small-info {
  display:flex!important;
  min-width:0;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  color:#806d84;
  font-size:10px!important;
  font-weight:750;
}
#productsPage .refined-product-card .product-small-info span {
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
#productsPage .refined-product-card .product-price-line {
  display:flex!important;
  min-width:0;
  flex-wrap:wrap;
  align-items:baseline;
  gap:5px 8px;
  margin-top:auto;
  padding-top:2px;
}
#productsPage .refined-product-card .product-price-line b {
  color:#a42b77;
  font-size:17px!important;
  font-weight:950;
  line-height:1.2;
  font-variant-numeric:tabular-nums;
  overflow-wrap:anywhere;
}
#productsPage .refined-product-card .product-price-line del {
  color:#a495a7;
  font-size:10px;
  font-weight:750;
  font-variant-numeric:tabular-nums;
}
#productsPage .refined-product-card .product-discount-pill {
  max-width:100%;
  overflow:hidden;
  padding:3px 7px;
  border-radius:999px;
  color:#a86616;
  background:#fff2d9;
  font-size:9px;
  font-weight:900;
  text-overflow:ellipsis;
  white-space:nowrap;
}
#productsPage .refined-product-card .product-card-actions {
  display:block!important;
  margin-top:4px!important;
}
#productsPage .refined-product-card .product-primary-action {
  display:flex!important;
  width:100%!important;
  min-height:42px;
  align-items:center;
  justify-content:center;
  margin:0!important;
  padding:10px 12px!important;
  border:0!important;
  border-radius:999px!important;
  color:#fff!important;
  background:linear-gradient(135deg,#7e34c8,#df3f9a)!important;
  box-shadow:0 8px 18px rgba(151,53,160,.18);
  font-size:12px!important;
  font-weight:900!important;
  line-height:1.2;
  cursor:pointer;
  touch-action:manipulation;
}
#productsPage .refined-product-card .product-primary-action:is(:hover,:focus-visible) {
  outline:2px solid rgba(154,57,151,.25);
  outline-offset:2px;
}
#productsPage .product-card-sold-out {
  order:9999;
  opacity:.7;
  filter:saturate(.68);
  cursor:pointer;
}
#productsPage .product-card-sold-out:is(:hover,:focus-visible) {
  transform:none;
  box-shadow:0 12px 34px rgba(79,48,91,.07);
}
#productsPage .product-card-sold-out .product-main-photo,
#productsPage .product-card-sold-out .product-hover-photo {
  filter:grayscale(.32);
}
#productsPage .product-card-sold-out .product-primary-action,
#productsPage .product-card-sold-out .product-primary-action:disabled {
  color:#746b76!important;
  background:#ece8ed!important;
  box-shadow:none;
  cursor:not-allowed;
  opacity:1;
}
#productsPage .product-storefront-empty {
  display:grid;
  min-height:170px;
  place-items:center;
  padding:28px;
  border:1px dashed rgba(137,84,153,.25);
  border-radius:22px;
  color:#806d84;
  background:#fff;
  text-align:center;
}
#productsPage .product-image-preview-button,
#productsPage .product-gallery-count,
#productsPage .product-video-label,
#productsPage .card-surface-detail-hint,
#productsPage .product-detail-strip {
  display:none!important;
}
@media (max-width:767px) {
  #productsPage .product-category-toolbar {
    top:max(4px,env(safe-area-inset-top));
    margin:9px 0 13px;
    padding:6px;
    border-radius:15px;
  }

  #productsPage .product-category-scroll {
    gap:6px;
  }

  #productsPage .product-category-pill {
    min-height:38px;
    gap:5px;
    padding:0 12px;
    font-size:11px;
  }

  #productsPage .product-category-pill > span {
    width:19px;
    height:19px;
    font-size:10px;
  }

  #productsPage .product-results-heading {
    margin-bottom:9px;
  }

  #productsPage .product-results-heading strong {
    font-size:15px;
  }

  #productsPage .product-results-heading span {
    font-size:10px;
  }

  #productsPage .product-category-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:9px!important;
  }

  #productsPage .refined-product-card {
    border-radius:16px!important;
  }

  #productsPage .refined-product-card:is(:hover,:focus-visible) {
    transform:none;
  }

  #productsPage .refined-product-card .product-info {
    gap:6px;
    padding:10px!important;
  }

  #productsPage .refined-product-card .product-info h4 {
    min-height:2.6em;
    font-size:12px!important;
    line-height:1.3;
  }

  #productsPage .refined-product-card .product-sub {
    min-height:2.6em;
    font-size:9px!important;
    line-height:1.3!important;
  }

  #productsPage .refined-product-card .product-small-info {
    display:grid!important;
    justify-content:stretch;
    gap:3px;
    font-size:8px!important;
  }

  #productsPage .refined-product-card .product-price-line {
    gap:4px 6px;
  }

  #productsPage .refined-product-card .product-price-line b {
    flex:1 0 100%;
    font-size:14px!important;
  }

  #productsPage .refined-product-card .product-price-line del {
    font-size:8px;
  }

  #productsPage .refined-product-card .product-discount-pill {
    max-width:calc(100% - 46px);
    padding:3px 6px;
    font-size:8px;
  }

  #productsPage .refined-product-card .product-primary-action {
    min-height:38px;
    padding:8px!important;
    font-size:10px!important;
  }

  #productsPage .refined-product-card .product-corner-label {
    inset-block-start:7px;
    inset-inline-end:7px;
    max-width:calc(100% - 14px);
    padding:5px 7px;
    font-size:8px;
  }

  #productsPage .refined-product-card .product-sold-out-mask span {
    max-width:calc(100% - 16px);
    padding:6px 10px;
    font-size:9px;
  }
}
@media (max-width:359px) {
  #productsPage .product-category-grid {
    gap:7px!important;
  }

  #productsPage .refined-product-card .product-info {
    padding:8px!important;
  }

  #productsPage .refined-product-card .product-price-line b {
    font-size:12px!important;
  }
}
@media (prefers-reduced-motion:reduce) {
  #productsPage .product-category-pill,
  #productsPage .refined-product-card,
  #productsPage .refined-product-card .product-main-photo,
  #productsPage .refined-product-card .product-hover-photo {
    scroll-behavior:auto!important;
    transition:none!important;
  }
}
.front-connection-banner {
  position: fixed;
  z-index: 10050;
  inset: max(8px, env(safe-area-inset-top)) 50% auto auto;
  transform: translateX(50%);
  max-width: min(92vw, 560px);
  padding: 10px 16px;
  border: 1px solid #92400e;
  border-radius: 999px;
  color: #fff;
  background: #713f12;
  box-shadow: 0 8px 28px rgba(30, 18, 38, .2);
  font-size: 14px;
  font-weight: 700;
  text-align: center;
}
@media (pointer: coarse) {
  .simple-modal button,
  .media-viewer button,
  .page button,
  .page a[role="button"] {
    min-height: 44px;
  }
}
button:not(:disabled):active,
[role="button"]:not([aria-disabled="true"]):active {
  opacity: .72;
  filter: brightness(.94);
}
.ui-confirm-message { font-size:15px; line-height:1.65; color:#4a3d4f; margin:0 0 18px; word-break:break-word; }
.ui-confirm-actions { display:flex; gap:10px; }
.ui-confirm-actions button { flex:1; min-height:44px; border-radius:12px; font-size:15px; font-weight:800; border:none; cursor:pointer; }
.ui-confirm-cancel { background:#f1ecf3; color:#6b5b70; }
.ui-confirm-ok { background:linear-gradient(135deg,#9d4edd,#ec4899); color:#fff; box-shadow:0 8px 18px rgba(213,62,151,.2); }
.product-variant-picker { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 2px; }
.product-variant-picker button { border: 1.5px solid #e3d7ea; background: #faf6fc; border-radius: 11px; padding: 8px 12px; display: flex; flex-direction: column; align-items: flex-start; gap: 2px; cursor: pointer; min-width: 88px; transition: border-color .15s ease, background .15s ease; }
.product-variant-picker button b { font-size: 13px; color: #4a3550; }
.product-variant-picker button small { font-size: 11px; color: #9b6fae; font-weight: 700; }
.product-variant-picker button.selected { border-color: #9d4edd; background: #f6ecfb; box-shadow: 0 0 0 2px rgba(157,78,221,.14); }
.product-variant-picker button.sold-out { opacity: .55; }
.product-variant-picker button.sold-out small { color: #c2556b; }
.cart-variant-name { font-style: normal; font-size: 11px; color: #7c3f8c; background: #f6ecfb; border-radius: 6px; padding: 2px 6px; margin-left: 4px; vertical-align: middle; font-weight: 700; }
.profile-online-dot { position: absolute; top: 10px; left: 10px; z-index: 3; display: inline-flex; align-items: center; gap: 4px; padding: 3px 8px; border-radius: 999px; background: rgba(16,185,129,.92); color: #fff; font-size: 10px; font-weight: 800; box-shadow: 0 2px 8px rgba(0,0,0,.25); }
.profile-online-dot i { width: 6px; height: 6px; border-radius: 50%; background: #d1fae5; animation: onlinePulse 2s ease-in-out infinite; }
@keyframes onlinePulse { 0%,100% { opacity: 1; } 50% { opacity: .35; } }
.product-related { margin-top: 12px; }
.product-related h3 { margin: 0 0 12px; font-size: 16px; }
.product-related-rail { display: flex; gap: 10px; overflow-x: auto; padding-bottom: 8px; scrollbar-width: thin; align-items: stretch; }
.product-related-card { flex: 0 0 124px; display: flex; flex-direction: column; gap: 7px; background: #faf6fc; border: 1px solid #eee2f3; border-radius: 12px; padding: 8px; cursor: pointer; text-align: left; transition: transform .15s ease, box-shadow .15s ease; }
.product-related-card:hover { transform: translateY(-2px); box-shadow: 0 8px 18px rgba(157,78,221,.14); }
.product-related-photo { display: block; width: 100%; aspect-ratio: 1 / 1; border-radius: 9px; background-size: cover; background-position: center; background-color: #f1e6f6; overflow: hidden; flex: 0 0 auto; }
.product-related-card b { font-size: 12px; line-height: 1.45; color: #4a3550; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; min-height: 2.9em; }
.product-related-card small { font-size: 13px; color: #9d4edd; font-weight: 800; margin-top: auto; }
.withdraw-max-btn { margin-left: auto; padding: 6px 12px; border: none; border-radius: 999px; background: linear-gradient(135deg, #9d4edd, #ec4899); color: #fff; font-size: 12px; font-weight: 800; cursor: pointer; white-space: nowrap; }
.age-gate-box { max-width: 470px; width: 100%; background: #1c1520; border: 1px solid #3d2f45; border-radius: 18px; padding: 30px 26px; text-align: center; color: #e8dff0; box-shadow: 0 30px 80px rgba(0,0,0,.6); }
.age-gate-badge { display: inline-flex; align-items: center; justify-content: center; width: 58px; height: 58px; border-radius: 50%; background: linear-gradient(135deg,#dc2626,#ec4899); font-size: 18px; font-weight: 900; margin-bottom: 12px; }
.age-gate-box h2 { font-size: 20px; margin: 0 0 10px; }
.age-gate-box p { font-size: 13px; line-height: 1.7; color: #b9a9c4; margin: 0 0 18px; }
.age-gate-actions { display: flex; flex-direction: column; gap: 10px; margin-bottom: 14px; }
.age-gate-enter { min-height: 46px; border-radius: 12px; border: none; background: linear-gradient(135deg,#9d4edd,#ec4899); color: #fff; font-size: 15px; font-weight: 800; cursor: pointer; }
.age-gate-leave { min-height: 42px; border-radius: 12px; border: 1px solid #4a3a52; background: transparent; color: #b9a9c4; font-size: 13px; cursor: pointer; }
.age-gate-box small { font-size: 11px; color: #7d6d87; line-height: 1.7; display: block; }
.age-gate-box small a { color: #c084fc; }
.site-legal-footer { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px; padding: 18px 16px 22px; font-size: 11px; color: #7d6d87; }
.site-legal-footer a { color: #9b6fae; text-decoration: none; }
.site-legal-footer a:hover { color: #c084fc; }
.checkin-card { position: relative; display: flex; align-items: center; gap: 14px; margin: 0 14px 10px; padding: 16px 18px; background: linear-gradient(135deg, #7c3aed 0%, #db2777 100%); border-radius: 16px; color: #fff; box-shadow: 0 10px 24px rgba(157,78,221,.28); overflow: hidden; }
.checkin-card[hidden] { display: none; }
.checkin-card::before { content: "📅"; position: absolute; right: -4px; top: -12px; font-size: 66px; opacity: .16; pointer-events: none; }
.checkin-info { flex: 1; min-width: 0; position: relative; }
.checkin-info b { display: block; font-size: 15px; letter-spacing: .5px; }
.checkin-info small { display: block; margin-top: 3px; font-size: 11px; opacity: .92; }
.checkin-btn { position: relative; min-width: 92px; min-height: 40px; border: none; border-radius: 999px; background: #fff; color: #db2777; font-size: 13px; font-weight: 900; cursor: pointer; box-shadow: 0 4px 12px rgba(0,0,0,.18); }
.checkin-btn:disabled { background: rgba(255,255,255,.26); color: #fff; box-shadow: none; cursor: default; }
.vip-progress-card { position: relative; display: flex; align-items: center; gap: 14px; margin: 0 14px 10px; padding: 16px 18px; background: linear-gradient(135deg, #2b1a0e 0%, #1a1420 62%); border: 1px solid rgba(245,158,11,.38); border-radius: 16px; text-align: left; cursor: pointer; overflow: hidden; }
.vip-progress-card[hidden] { display: none; }
.vip-progress-card::before { content: "👑"; position: absolute; right: -2px; top: -14px; font-size: 62px; opacity: .13; pointer-events: none; }
.vip-progress-info { flex: 1; min-width: 0; position: relative; }
.vip-progress-info b { display: flex; align-items: center; gap: 8px; font-size: 15px; color: #fbbf24; letter-spacing: .5px; }
.vip-progress-info b em { font-style: normal; font-size: 10px; background: linear-gradient(135deg, #f59e0b, #ef4444); color: #fff; border-radius: 6px; padding: 1px 7px; font-weight: 800; }
.vip-progress-info small { display: block; margin-top: 3px; font-size: 11px; color: #c9b37e; }
.vip-progress-bar { margin-top: 9px; height: 5px; border-radius: 999px; background: rgba(245,158,11,.22); overflow: hidden; }
.vip-progress-bar i { display: block; height: 100%; width: 0; border-radius: 999px; background: linear-gradient(90deg, #f59e0b, #ec4899); }
.vip-progress-entry { color: #fbbf24; font-size: 12px; font-weight: 800; white-space: nowrap; position: relative; }
.vip-tier-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 12px; border: 1px solid #eee2f3; border-radius: 10px; margin-bottom: 8px; font-size: 13px; }
.vip-tier-row.current { border-color: #9d4edd; background: #f6ecfb; }
.vip-tier-row b { color: #4a3550; width: 56px; flex: 0 0 auto; }
.vip-tier-row span { color: #8d7f94; flex: 1; text-align: left; }
.vip-tier-row em { font-style: normal; font-weight: 800; color: #9d4edd; white-space: nowrap; }
.vip-detail-summary { font-size: 13px; color: #6b5b70; margin: 0 0 12px; }
.vip-detail-note { font-size: 11px; color: #9b8aa5; margin: 10px 0 0; line-height: 1.6; }
.notification-entry { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 14px 10px; padding: 13px 16px; background: #fff; border: 1px solid #eee2f3; border-radius: 14px; cursor: pointer; text-align: left; }
.notification-entry[hidden] { display: none; }
.notification-badge { min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px; background: linear-gradient(135deg, #ec4899, #f59e0b); color: #fff; font-size: 11px; font-weight: 800; display: inline-flex; align-items: center; justify-content: center; }
.notification-badge.hidden { display: none; }
.notification-row { border: 1px solid #eee2f3; border-left: 3px solid #d9cbe2; border-radius: 10px; padding: 10px 12px; margin-bottom: 8px; }
.notification-row.unread { border-left-color: #ec4899; background: #fdf4f9; }
.notification-row b { font-size: 13px; color: #4a3550; display: block; }
.notification-row p { font-size: 12px; color: #6b5b70; margin: 4px 0; line-height: 1.6; }
.notification-row small { font-size: 10px; color: #9b8aa5; }
.benefits-entry { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 14px 10px; padding: 15px 16px; background: linear-gradient(135deg, #7c3aed, #db2777); border: none; border-radius: 14px; color: #fff; cursor: pointer; box-shadow: 0 8px 20px rgba(157,78,221,.25); }
.benefits-entry[hidden] { display: none; }
.benefits-entry .checkin-info b { font-size: 14px; letter-spacing: .4px; }
.benefits-entry .checkin-info small { color: rgba(255,255,255,.88); }
.benefits-entry-arrow { font-size: 20px; font-weight: 800; opacity: .85; }
#benefitsPage .checkin-card { margin-top: 4px; }
.vip-tiers-card { margin: 0 14px 12px; padding: 16px 18px; background: #fff; border: 1px solid #eee2f3; border-radius: 14px; }
.vip-tiers-card[hidden] { display: none; }
.vip-tiers-card h3 { margin: 0 0 6px; font-size: 15px; color: #4a3550; }
.vip-tiers-note { font-size: 11px; color: #9b8aa5; margin: 0 0 12px; line-height: 1.6; }
.vip-monthly-card { background: linear-gradient(135deg, #0f766e 0%, #14b8a6 100%); }
.vip-monthly-card::before { content: "\U+1F381"; right: -2px; top: -10px; }
.mine-fab-cluster { position: fixed; right: 14px; bottom: 84px; z-index: 60; display: flex; flex-direction: column; gap: 10px; }
.mine-fab-cluster[hidden] { display: none; }
.mine-fab-icon { font-size: 19px; line-height: 1; }
.mine-fab-vip { background: linear-gradient(135deg, #2b1a0e, #1a1420); border: 1px solid rgba(245,158,11,.4); }
.mine-fab-vip small { color: #fbbf24; }
.mine-fab-dot { position: absolute; top: 7px; right: 9px; width: 9px; height: 9px; border-radius: 50%; background: #ef4444; box-shadow: 0 0 0 2px #fff; }
.mine-fab-badge { position: absolute; top: -3px; right: -3px; min-width: 18px; height: 18px; padding: 0 4px; border-radius: 999px; background: #ec4899; color: #fff; font-size: 10px; font-weight: 800; font-style: normal; display: flex; align-items: center; justify-content: center; }
.mine-fab-badge.hidden { display: none; }
.panel-checkin { text-align: center; padding: 4px 2px 2px; }
.panel-checkin-flame { font-size: 42px; line-height: 1; }
.panel-checkin-streak { display: block; font-size: 17px; color: #4a3550; margin: 8px 0 4px; }
.panel-checkin-reward { font-size: 12px; color: #9b6fae; margin: 0 0 16px; }
.checkin-week {
  display: grid;
  gap: 6px;
  margin: 0 0 14px;
}
.checkin-day {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 6px 2px;
  border-radius: 12px;
  background: #f6f1fb;
  color: #5b3d66;
  font-size: 12px;
  line-height: 1.2;
  box-sizing: border-box;
}
.checkin-day b { font-size: 12px; font-weight: 800; }
.checkin-day small { display: block; font-size: 11px; font-weight: 700; }
.checkin-day.done { background: #f3e8ff; }
.checkin-day.today { background: #7c3aed; color: #fff; }
.panel-checkin-hint { font-size: 12px; color: #8a6b96; line-height: 1.55; margin: 0 0 14px; }
.panel-primary-btn { width: 100%; min-height: 46px; border: none; border-radius: 12px; background: linear-gradient(135deg, #9d4edd, #ec4899); color: #fff; font-size: 15px; font-weight: 800; cursor: pointer; }
.panel-primary-btn:disabled { background: #e7ddee; color: #a08cae; cursor: default; }
.panel-primary-btn.monthly { background: linear-gradient(135deg, #0f766e, #14b8a6); margin-bottom: 14px; }
.panel-vip-head b { font-size: 18px; color: #4a3550; display: block; }
.panel-vip-head span { font-size: 12px; color: #9b8aa5; display: block; margin: 4px 0 8px; }
.panel-vip-head small { font-size: 11px; color: #9b6fae; display: block; margin-top: 6px; }
.panel-vip .vip-progress-bar { margin: 6px 0 4px; }
.vip-tier-list { margin-top: 12px; }
.system-notices-banner { margin: 0 14px 14px; background: #fff; border: 1px solid #eee2f3; border-radius: 14px; padding: 14px 16px; }
.system-notices-banner[hidden] { display: none; }
.system-notices-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.system-notices-head b { font-size: 14px; color: #4a3550; }
.system-notices-head button { border: none; background: none; color: #9d4edd; font-size: 12px; font-weight: 700; cursor: pointer; }
.system-notice-row { border-top: 1px solid #f4eef7; padding: 10px 2px; }
.system-notice-row.unread { border-left: 3px solid #ec4899; padding-left: 10px; }
.system-notice-row b { font-size: 13px; color: #4a3550; display: block; }
.system-notice-row p { font-size: 12px; color: #6b5b70; margin: 3px 0; line-height: 1.6; }
.system-notice-row small { font-size: 10px; color: #9b8aa5; }
button.system-notice-row { display:block; width:100%; text-align:left; background:none; border-left:0; border-right:0; border-bottom:0; font:inherit; cursor:pointer; }
button.system-notice-row:hover, button.system-notice-row:focus-visible { background:#faf6fc; }
.system-notice-more { display:block; width:100%; margin-top:6px; border:0; background:none; color:#9d4edd; font-size:12px; font-weight:700; text-align:left; cursor:pointer; padding:6px 2px; }
@media (max-width: 720px) {
  .system-notices-banner { margin: 0 10px 12px; padding: 12px 12px; }
  .system-notice-row p { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
}
.app[data-active-page="chatPage"] .floating-return-menu,
.app[data-active-page="messageCenterPage"] .floating-return-menu {
  display: none !important;
}
#chatPage .chat-identity-switch,
#chatPage .identity-switch,
#messageCenterPage .identity-switch {
  display: none !important;
}
#messageCenterPage.message-center-page {
  min-height: calc(var(--gls-viewport-height, 100dvh) - var(--gls-app-header-height, 92px));
  padding: 10px 12px 24px;
  background:
    radial-gradient(circle at 88% -10%, rgba(236, 72, 153, 0.10), transparent 34%),
    linear-gradient(180deg, #fbf8ff 0%, #f4eef8 100%);
}
#messageCenterPage .message-center-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  margin: 2px 0 14px;
  padding: 4px 2px 10px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #2b2233;
}
#messageCenterPage .message-center-head h2 {
  margin: 0;
  color: #211827;
  font-size: 26px;
  font-weight: 850;
  letter-spacing: -0.03em;
}
#messageCenterPage .message-center-head p {
  margin: 4px 0 0;
  color: #8a7d93;
  font-size: 12px;
  opacity: 1;
}
#messageCenterPage .im-refresh-btn,
#messageCenterPage .message-center-head button {
  min-height: 34px;
  padding: 0 13px;
  border: 1px solid #eadff3;
  border-radius: 999px;
  background: #fff;
  color: #6d28d9;
  box-shadow: 0 6px 14px rgba(109, 40, 217, 0.08);
  font-size: 12px;
  font-weight: 800;
}
#messageCenterPage .message-center-summary { display: none !important; }
#messageCenterPage .conversation-list {
  display: grid;
  gap: 8px;
}
#messageCenterPage .conversation-card {
  position: relative;
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 12px;
  border: 1px solid rgba(234, 223, 243, 0.9);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 8px 18px rgba(43, 24, 58, 0.05);
}
#messageCenterPage .conversation-card.has-unread {
  background: #fcf8ff;
  border-color: #e4d4fb;
}
#messageCenterPage .conversation-card.support-conversation {
  border-style: solid;
  background: linear-gradient(180deg, #fff, #fbf7ff);
}
#messageCenterPage .conversation-avatar {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: linear-gradient(135deg, #7c3aed, #ec4899) center / cover no-repeat;
  color: #fff;
  font-size: 18px;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.35);
}
#messageCenterPage .conversation-avatar.support-avatar {
  background: linear-gradient(145deg, #6d28d9, #db2777);
  font-size: 20px;
}
#messageCenterPage .conversation-row h3 {
  margin: 0;
  color: #241b2b;
  font-size: 15px;
  font-weight: 800;
}
#messageCenterPage .conversation-row span {
  flex: 0 0 auto;
  color: #a092ae;
  font-size: 11px;
}
#messageCenterPage .conversation-main p {
  margin: 3px 0 0;
  overflow: hidden;
  color: #6f647c;
  font-size: 13px;
  line-height: 1.4;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#messageCenterPage .conversation-actions { display: none !important; }
#messageCenterPage .unread-dot {
  position: static;
  justify-self: end;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  border-radius: 999px;
  background: #ef4444;
  color: #fff;
  font-size: 11px;
}
#chatPage.page {
  display: none;
  min-height: 0;
  padding: 0;
  background:
    radial-gradient(circle at 12% 0%, rgba(124, 58, 237, 0.08), transparent 28%),
    #efe7f4;
}
#chatPage .chat-topbar {
  position: sticky;
  top: 0;
  z-index: 6;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
  min-height: 56px;
  height: auto;
  margin: 0;
  padding: 8px 10px;
  border-bottom: 1px solid rgba(232, 220, 240, 0.9);
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 10px 24px rgba(49, 24, 64, 0.06);
  backdrop-filter: blur(16px);
}
#chatPage .chat-icon-btn {
  width: 40px;
  min-width: 40px;
  height: 40px;
  padding: 0;
  border: 0;
  border-radius: 14px;
  background: #f6f1fb;
  color: #6d28d9;
  font-size: 22px;
  font-weight: 800;
  line-height: 1;
}
#chatPage .chat-profile-btn,
#chatPage .chat-profile-link,
#chatPage #chatProfileBtn {
  display: inline-flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: 5px;
  width: auto;
  min-width: 0;
  height: 36px;
  min-height: 36px;
  max-height: 36px;
  padding: 0 12px 0 10px;
  border: 1px solid #ead6f6;
  border-radius: 999px;
  background: #fff;
  color: #7c3aed;
  box-shadow: 0 8px 16px rgba(109, 40, 217, 0.10);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.04em;
  line-height: 1;
  white-space: nowrap;
  writing-mode: horizontal-tb;
  align-self: center;
  justify-self: end;
}
#chatPage #chatProfileBtn svg {
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
  fill: currentColor;
}
#chatPage #chatProfileBtn span {
  display: inline;
  white-space: nowrap;
}
#chatPage #chatProfileBtn[hidden] { display: none !important; }
#chatPage .chat-anchor-header.is-tappable { cursor: pointer; }
#chatPage .chat-anchor-header {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 10px;
}
#chatPage .chat-header-avatar {
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  border-radius: 50%;
  background: linear-gradient(135deg, #7c3aed, #ec4899) center / cover no-repeat;
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 14px;
  font-weight: 800;
}
#chatPage .chat-header-copy {
  min-width: 0;
}
#chatPage .chat-anchor-header h3,
#chatPage .chat-header-copy h3 {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  overflow: hidden;
  color: #231827;
  font-size: 15px;
  font-weight: 800;
}
#chatPage .chat-anchor-header h3 span,
#chatPage .chat-header-copy h3 span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#chatPage .chat-anchor-header p,
#chatPage .chat-header-copy p {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 2px 0 0;
  overflow: hidden;
  color: #8a7d93;
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#chatPage .chat-status-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #22c55e;
  box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.16);
}
#chatPage .chat-conn-banner {
  flex: 0 0 auto;
  padding: 6px 12px;
  background: #fff4d6;
  color: #8a5a12;
  font-size: 11px;
  font-weight: 700;
  text-align: center;
}
#chatPage .chat-conn-banner.is-offline { background: #fee2e2; color: #9f1239; }
#chatPage .chat-conn-banner.is-error { background: #f3e8ff; color: #6b21a8; }
#chatPage .chat-messages {
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1;
  min-height: 0;
  padding: 14px 12px 12px;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  background-image: radial-gradient(rgba(124, 58, 237, 0.05) 1.2px, transparent 1.2px);
  background-size: 18px 18px;
}
#chatPage .chat-day-divider {
  display: flex;
  justify-content: center;
  margin: 6px 0 2px;
}
#chatPage .chat-day-divider span {
  padding: 3px 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.78);
  color: #8b80a0;
  font-size: 11px;
}
#chatPage .chat-empty-state,
#messageCenterPage .chat-empty-state {
  margin: 28px 12px;
  padding: 28px 18px;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.82);
  color: #6f647c;
  text-align: center;
  box-shadow: 0 10px 24px rgba(43, 24, 58, 0.05);
}
#chatPage .chat-empty-state b,
#messageCenterPage .chat-empty-state b {
  display: block;
  margin-bottom: 6px;
  color: #2b2233;
  font-size: 16px;
}
#chatPage .chat-empty-state p,
#messageCenterPage .chat-empty-state p {
  margin: 0;
  font-size: 13px;
  line-height: 1.5;
}
#messageCenterPage .host-start-panel {
  margin-top: 8px;
  padding: 14px 14px 16px;
  border: 1px solid rgba(234, 223, 243, 0.95);
  border-radius: 22px;
  background: linear-gradient(180deg, #fff, #fbf7ff);
  box-shadow: 0 8px 18px rgba(43, 24, 58, 0.05);
}
#messageCenterPage .host-start-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 12px;
}
#messageCenterPage .host-start-head b {
  display: block;
  color: #211827;
  font-size: 16px;
  font-weight: 850;
}
#messageCenterPage .host-start-head p {
  margin: 4px 0 0;
  color: #8a7d93;
  font-size: 12px;
  line-height: 1.45;
  white-space: normal;
  text-overflow: unset;
}
#messageCenterPage .host-start-more {
  flex: 0 0 auto;
  min-height: 32px;
  padding: 0 12px;
  border: 1px solid #eadff3;
  border-radius: 999px;
  background: #fff;
  color: #6d28d9;
  font-size: 12px;
  font-weight: 800;
}
#messageCenterPage .host-start-search { display: block; margin-bottom: 12px; }
#messageCenterPage .host-start-search input {
  width: 100%;
  min-height: 40px;
  padding: 0 14px;
  border: 1px solid #eadff3;
  border-radius: 14px;
  background: #fff;
  color: #241b2b;
  font-size: 14px;
}
#messageCenterPage .host-start-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
#messageCenterPage .host-start-card {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  min-height: 64px;
  padding: 8px 10px;
  border: 1px solid #eadff3;
  border-radius: 16px;
  background: #fff;
  color: inherit;
  text-align: left;
  cursor: pointer;
}
#messageCenterPage .host-start-card:hover {
  border-color: #e4d4fb;
  background: #fcf8ff;
}
#messageCenterPage .host-start-avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: linear-gradient(135deg, #7c3aed, #ec4899) center / cover no-repeat;
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 16px;
  font-weight: 800;
}
#messageCenterPage .host-start-copy { display: grid; gap: 2px; min-width: 0; }
#messageCenterPage .host-start-copy b {
  overflow: hidden;
  color: #241b2b;
  font-size: 13px;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#messageCenterPage .host-start-copy small {
  color: #a21caf;
  font-size: 11px;
  font-weight: 700;
}
#messageCenterPage .host-start-empty {
  grid-column: 1 / -1;
  margin: 8px 0;
  color: #8a7d93;
  font-size: 13px;
  text-align: center;
}
@media (max-width: 420px) {
  #messageCenterPage .host-start-grid { grid-template-columns: 1fr; }
}
#chatPage .chat-msg {
  display: flex;
  align-items: flex-end;
  gap: 8px;
  max-width: 100%;
}
#chatPage .chat-msg.mine { justify-content: flex-end; }
#chatPage .chat-msg.anchor { justify-content: flex-start; }
#chatPage .chat-msg-avatar {
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  border-radius: 50%;
  background: linear-gradient(135deg, #7c3aed, #ec4899) center / cover no-repeat;
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 11px;
  font-weight: 800;
}
#chatPage .chat-bubble {
  max-width: min(78%, 420px);
  padding: 10px 12px 8px;
  border-radius: 18px;
  line-height: 1.55;
  box-shadow: 0 8px 18px rgba(28, 18, 48, 0.06);
}
#chatPage .chat-msg.mine .chat-bubble {
  background: linear-gradient(135deg, #7c3aed, #ec4899);
  color: #fff;
  border-bottom-right-radius: 6px;
}
#chatPage .chat-msg.anchor .chat-bubble,
#chatPage .chat-msg.anchor.is-ai .chat-bubble {
  background: #fff;
  color: #32263a;
  border-bottom-left-radius: 6px;
  font-size: 15px;
  font-weight: 500;
  font-family: inherit;
  line-height: 1.55;
}
#chatPage .chat-msg.anchor .chat-bubble p,
#chatPage .chat-msg.anchor.is-ai .chat-bubble p,
#chatPage .chat-msg.anchor .chat-source-original {
  margin: 0;
  font-size: 15px;
  font-weight: 500;
  color: inherit;
  font-family: inherit;
  line-height: 1.55;
}
#chatPage .chat-bubble p {
  margin: 0;
  overflow-wrap: anywhere;
}
#chatPage .chat-bubble span {
  display: block;
  margin-top: 5px;
  font-size: 10px;
  opacity: .7;
}
#chatPage .chat-msg.mine .chat-delivery-state {
  display: block;
  margin-top: 3px;
  color: rgba(255,255,255,.78);
  font-size: 10px;
  text-align: right;
}
#chatPage .chat-msg.mine .chat-delivery-state.seen { color: #d7ffeb; }
#chatPage .chat-msg.mine .chat-delivery-state.sending { color: rgba(255,255,255,.66); }
#chatPage .chat-msg.is-pending .chat-bubble { opacity: .82; }
#chatPage .chat-msg.is-failed .chat-bubble {
  box-shadow: 0 0 0 1px rgba(244, 63, 94, 0.45), 0 8px 18px rgba(28, 18, 48, 0.06);
}
#chatPage .chat-retry-btn {
  display: block;
  margin-top: 6px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #ffe4e6;
  font-size: 11px;
  font-weight: 800;
  text-align: left;
}
#chatPage .ai-chat-tag {
  display: inline-block;
  margin-top: 6px;
  padding: 2px 7px;
  border-radius: 999px;
  background: rgba(255,255,255,.18);
  color: inherit;
  font-size: 10px;
}
#chatPage .chat-msg.anchor .ai-chat-tag {
  background: rgba(124, 58, 237, 0.12);
  color: #7c3aed;
}
#chatPage .chat-input-bar {
  position: relative;
  left: auto;
  right: auto;
  bottom: auto;
  transform: none;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 88px;
  align-items: end;
  gap: 8px;
  flex: 0 0 auto;
  width: 100%;
  max-width: none;
  min-height: 0;
  margin: 0;
  padding: 8px 12px calc(10px + env(safe-area-inset-bottom));
  border-top: 1px solid rgba(232, 220, 240, 0.9);
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 -10px 24px rgba(49, 24, 64, 0.05);
  backdrop-filter: blur(16px);
  z-index: 5;
}
#chatPage .chat-input-bar textarea {
  min-height: 44px;
  max-height: 110px;
  padding: 11px 14px;
  border: 1px solid #eadff3;
  border-radius: 18px;
  background: #fbf8ff;
  color: #2f2732;
  font-size: 16px;
  line-height: 1.45;
}
#chatPage .chat-input-bar textarea:focus {
  border-color: #c4b5fd;
  outline: none;
  background: #fff;
}
#chatPage #chatSendButton {
  min-height: 44px;
  height: 44px;
  min-width: 88px;
  padding: 0 12px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(180deg, #8b5cf6 0%, #d946a8 100%);
  color: #fff;
  box-shadow: 0 1px 0 rgba(255,255,255,.28) inset, 0 8px 16px rgba(124, 58, 237, 0.22);
  font-size: 14px;
  font-weight: 750;
  letter-spacing: 0;
  white-space: nowrap;
}
#chatPage #chatSendButton:disabled {
  opacity: .38;
  box-shadow: none;
}
@media (max-width: 430px) {
  #chatPage .chat-topbar {
    grid-template-columns: 40px minmax(0, 1fr) auto;
    min-height: 58px;
    padding: 7px 8px;
  }
  #chatPage .chat-header-avatar { width: 36px; height: 36px; flex-basis: 36px; }
  #chatPage .chat-anchor-header h3,
  #chatPage .chat-header-copy h3 { font-size: 14px; }
  #chatPage #chatProfileBtn,
  #chatPage .chat-profile-link {
    height: 34px;
    min-height: 34px;
    max-height: 34px;
    padding: 0 10px 0 8px;
    font-size: 12px;
  }
  #chatPage .chat-input-bar {
    grid-template-columns: 44px minmax(0, 1fr) 64px;
    padding-right: max(10px, env(safe-area-inset-right));
    padding-left: max(10px, env(safe-area-inset-left));
  }
  #chatPage .chat-input-bar textarea { font-size: 16px; }
}
#chatPage .chat-topbar {
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  height: auto !important;
}
#chatPage .chat-back-btn,
#supportPage .chat-back-btn,
#chatPage .chat-page-overlay-sheet header .chat-back-btn {
  display: inline-flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  width: auto !important;
  min-width: 64px !important;
  max-width: 42vw !important;
  height: 36px !important;
  min-height: 36px !important;
  max-height: 36px !important;
  padding: 0 12px 0 10px !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #f4eef8 !important;
  color: #4a2d66 !important;
  box-shadow: none !important;
  font-family: "Microsoft YaHei", "PingFang SC", "Noto Sans SC", sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  font-synthesis: none !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
}
#chatPage .chat-back-btn .chat-back-chev,
#supportPage .chat-back-btn .chat-back-chev {
  display: block !important;
  width: 8px !important;
  height: 8px !important;
  margin: 0 1px 0 0 !important;
  flex: 0 0 auto !important;
  border-left: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
}
#chatPage .chat-back-btn b,
#supportPage .chat-back-btn b,
#chatPage .chat-page-overlay-sheet header .chat-back-btn b {
  display: inline-block !important;
  overflow: hidden;
  max-width: 9em;
  font-family: inherit !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  font-style: normal !important;
  line-height: 1 !important;
  text-overflow: ellipsis;
  white-space: nowrap !important;
  writing-mode: horizontal-tb !important;
}
#messageCenterPage > .detail-back-btn,
#customerDetailPage > .detail-back-btn {
  display: inline-flex !important;
  align-items: center;
  gap: 4px;
  position: sticky;
  top: 0;
  z-index: 8;
  margin: 0 0 10px;
}
#chatPage #chatProfileBtn,
#chatPage .chat-profile-link {
  display: inline-flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  width: max-content !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  padding: 2px 8px 2px 2px !important;
  border: 1px solid rgba(123, 64, 168, 0.14) !important;
  border-radius: 999px !important;
  background: linear-gradient(180deg, #ffffff 0%, #f7f1fc 100%) !important;
  color: #5b2d9a !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 6px 14px rgba(88, 40, 130, 0.08) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
  align-self: center !important;
  justify-self: end !important;
  overflow: visible !important;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
#chatPage #chatProfileBtn .chat-profile-ico {
  display: grid !important;
  place-items: center;
  width: 26px;
  height: 26px;
  flex: 0 0 26px;
  border-radius: 50%;
  background: linear-gradient(180deg, #8b5cf6, #d946a8);
  color: #fff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.28);
}
#chatPage #chatProfileBtn .chat-profile-ico svg,
#chatPage #chatProfileBtn svg {
  width: 13px;
  height: 13px;
  flex: 0 0 13px;
  stroke: currentColor;
  fill: none;
}
#chatPage #chatProfileBtn span {
  display: inline !important;
  padding: 0 1px 0 0;
  white-space: nowrap !important;
  writing-mode: horizontal-tb !important;
}
#chatPage #chatProfileBtn .chat-profile-chev {
  display: inline-block;
  margin: 0 1px 0 -2px;
  color: #b39cc9;
  font-size: 15px;
  font-style: normal;
  font-weight: 500;
  line-height: 1;
  transform: translateY(-0.5px);
}
#chatPage #chatProfileBtn:hover {
  border-color: rgba(123, 64, 168, 0.28) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.95), 0 8px 16px rgba(88, 40, 130, 0.12) !important;
}
#chatPage #chatProfileBtn:active,
#chatPage #chatSendButton:active {
  transform: scale(.97);
}
#chatPage #chatProfileBtn[hidden] { display: none !important; }
@media (max-width: 430px) {
  #chatPage .chat-topbar { grid-template-columns: 40px minmax(0, 1fr) auto !important; }
  #chatPage #chatProfileBtn,
  #chatPage .chat-profile-link {
    height: 30px !important;
    min-height: 30px !important;
    max-height: 30px !important;
  }
  #chatPage #chatProfileBtn .chat-profile-ico { width: 24px; height: 24px; flex-basis: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  #chatPage #chatProfileBtn,
  #chatPage #chatSendButton { transition: none; }
}
#chatPage .chat-inline-media {
  display: block;
  min-width: 140px;
  min-height: 100px;
  max-width: min(240px, 68vw);
  max-height: 280px;
  margin: 6px 0 4px;
  border-radius: 12px;
  background: #1a1220;
  object-fit: cover;
}
#chatPage video.chat-inline-media {
  width: min(240px, 68vw);
  max-height: 280px;
  background: #110814;
}
#chatPage .chat-media-wrap,
#supportPage .chat-media-wrap { position: relative; display: inline-block; overflow: hidden; border-radius: 14px; }
#chatPage .chat-media-wrap.is-timed::after,
#supportPage .chat-media-wrap.is-timed::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(18,8,28,.08), transparent 42%);
}
#chatPage .chat-recall-orb,
#supportPage .chat-recall-orb {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 3;
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  isolation: isolate;
  filter: drop-shadow(0 8px 16px rgba(28, 8, 42, .28));
}
#chatPage .chat-recall-orb svg,
#supportPage .chat-recall-orb svg {
  position: absolute;
  inset: 0;
  width: 42px;
  height: 42px;
  transform: rotate(-90deg);
}
#chatPage .chat-recall-orb .track,
#supportPage .chat-recall-orb .track {
  fill: rgba(16, 8, 24, .42);
  stroke: rgba(255,255,255,.22);
  stroke-width: 2.4;
}
#chatPage .chat-recall-orb .bar,
#supportPage .chat-recall-orb .bar {
  fill: none;
  stroke: #f5d0fe;
  stroke-width: 2.6;
  stroke-linecap: round;
  stroke-dasharray: 97.4;
  stroke-dashoffset: calc(97.4 * (1 - var(--p, 1)));
  transition: stroke-dashoffset 1s linear, stroke .25s ease;
}
#chatPage .chat-recall-orb b,
#supportPage .chat-recall-orb b {
  position: relative;
  z-index: 1;
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1;
}
#chatPage .chat-recall-orb b.is-tick,
#supportPage .chat-recall-orb b.is-tick { animation: chat-recall-tick .38s ease; }
#chatPage .chat-media-wrap.is-urgent .chat-recall-orb .bar,
#supportPage .chat-media-wrap.is-urgent .chat-recall-orb .bar,
#chatPage .chat-recall-orb.is-urgent .bar,
#supportPage .chat-recall-orb.is-urgent .bar { stroke: #fb7185; }
#chatPage .chat-media-wrap.is-urgent .chat-recall-orb,
#supportPage .chat-media-wrap.is-urgent .chat-recall-orb { animation: chat-recall-pulse .9s ease-in-out infinite; }
#chatPage .chat-media-wrap.is-vanishing .chat-inline-media,
#supportPage .chat-media-wrap.is-vanishing .chat-inline-media,
#chatPage .chat-media-wrap.is-vanishing .chat-recall-orb,
#supportPage .chat-media-wrap.is-vanishing .chat-recall-orb {
  animation: chat-recall-vanish .55s ease forwards;
}
#chatPage .chat-msg.is-recalled .chat-bubble,
#supportPage .support-msg.is-recalled .support-bubble {
  border: 1px dashed #e4d4ee;
  background: linear-gradient(180deg, #fcf8ff, #f4ecf8);
  color: #6b5a78;
}
#chatPage .chat-msg.is-recalled .chat-bubble p,
#supportPage .support-msg.is-recalled .support-bubble p {
  font-size: 13px;
  line-height: 1.55;
}
#chatPage .chat-recalled-media i,
#supportPage .chat-recalled-media i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #c084fc;
  box-shadow: 0 0 0 5px rgba(192,132,252,.16);
}
@keyframes chat-recall-tick {
  0% { transform: scale(1.18); opacity: .55; }
  100% { transform: scale(1); opacity: 1; }
}
@keyframes chat-recall-pulse {
  0%, 100% { transform: scale(1); filter: drop-shadow(0 8px 16px rgba(251, 113, 133, .18)); }
  50% { transform: scale(1.08); filter: drop-shadow(0 10px 20px rgba(251, 113, 133, .4)); }
}
@keyframes chat-recall-vanish {
  0% { filter: blur(0); transform: scale(1); opacity: 1; }
  100% { filter: blur(12px); transform: scale(.84); opacity: 0; }
}
@keyframes chat-recall-in {
  from { opacity: 0; transform: translateY(8px) scale(.96); }
  to { opacity: 1; transform: none; }
}
#chatPage .chat-inline-media,
#supportPage .chat-inline-media {
  -webkit-touch-callout: none;
  user-select: none;
}
#chatPage .chat-page-overlay {
  position: absolute;
  inset: 0;
  z-index: 30;
  display: flex;
  flex-direction: column;
}
#chatPage .chat-page-overlay[hidden] { display: none !important; }
#chatPage .chat-page-overlay-backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(28, 16, 38, 0.42);
}
#chatPage .chat-page-overlay-sheet {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  margin-top: 48px;
  overflow: hidden;
  border-radius: 22px 22px 0 0;
  background: #fff;
  box-shadow: 0 -18px 40px rgba(40, 16, 56, 0.18);
}
#chatPage .chat-page-overlay-sheet header {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  min-height: 58px;
  padding: 8px 12px;
  border-bottom: 1px solid #f0e6f5;
}
#chatPage .chat-page-overlay-sheet header .chat-back-btn {
  max-width: none !important;
}
#chatPage #chatProfileOverlayBody,
#chatPage .chat-media-stage {
  flex: 1;
  min-height: 0;
  padding: 16px;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
#chatPage .chat-media-stage {
  display: grid;
  place-items: center;
  background: #120c16;
}
#chatPage .chat-media-stage img,
#chatPage .chat-media-stage video {
  width: min(100%, 720px);
  max-height: calc(var(--gls-viewport-height, 100dvh) - 220px);
  object-fit: contain;
}
#chatPage .chat-profile-hero {
  height: 148px;
  margin: -16px -16px 12px;
  overflow: hidden;
  background: linear-gradient(135deg, #7c3aed, #ec4899);
}
#chatPage .chat-profile-hero img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#chatPage .chat-profile-id {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}
#chatPage .chat-profile-id h3 { margin: 0; font-size: 18px; }
#chatPage .chat-profile-id p { margin: 3px 0 0; color: #8a7d93; font-size: 12px; }
#chatPage .chat-profile-intro { margin: 0; color: #4b3b57; font-size: 14px; line-height: 1.6; }
#chatPage .chat-profile-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
#chatPage .chat-profile-tags span { padding: 4px 8px; border-radius: 999px; background: #f6eefe; color: #7c3aed; font-size: 11px; font-weight: 700; }
#chatPage .chat-media-fallback {
  display: inline-block;
  margin: 4px 0;
  color: #7c6a88;
  font-size: 12px;
}
#supportPage .chat-inline-media {
  display: block;
  min-width: 140px;
  max-width: min(240px, 68vw);
  max-height: 280px;
  margin: 6px 0 4px;
  border-radius: 12px;
  object-fit: cover;
}
#chatPage .chat-bubble audio.chat-inline-media {
  width: min(220px, 64vw);
  max-height: none;
  background: transparent;
}
.app[data-active-page="supportPage"] .floating-return-menu { display: none !important; }
#supportPage.page {
  display: none;
  min-height: 0;
  padding: 0;
  background:
    radial-gradient(circle at 12% 0%, rgba(124, 58, 237, 0.08), transparent 28%),
    #efe7f4;
}
#supportPage .chat-topbar {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
  min-height: 64px;
  padding: 8px 10px;
  border-bottom: 1px solid rgba(232, 220, 240, 0.9);
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 10px 24px rgba(49, 24, 64, 0.06);
  backdrop-filter: blur(16px);
}
#supportPage .support-header-avatar {
  background: linear-gradient(135deg, #6d28d9, #db2777);
  color: #fff;
}
#supportPage .chat-header-copy { min-width: 0; }
#supportPage .chat-header-copy h3 { margin: 0; font-size: 15px; }
#supportPage .chat-header-copy p {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin: 2px 0 0;
}
#supportPage #supportHours {
  color: #9a8d9e;
  font-size: 10px;
  font-weight: 600;
}
#supportPage .support-hosting-hint {
  margin: 3px 0 0;
  color: #7c4d96;
  font-size: 10px;
  font-weight: 700;
}
#supportPage .support-escalate-btn {
  height: 32px;
  padding: 0 10px;
  border: 1px solid #ddc5f5;
  border-radius: 999px;
  background: #f7effc;
  color: #7d3ec4;
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
}
#supportPage .support-escalate-btn[hidden] { display: none !important; }
#supportPage .support-bubble .ai-chat-tag {
  display: inline-block;
  margin-top: 6px;
  padding: 2px 7px;
  border-radius: 999px;
  background: rgba(124, 58, 237, 0.12);
  color: #7c3aed;
  font-size: 10px;
  font-style: normal;
  font-weight: 800;
}
#supportPage .support-msg.mine .ai-chat-tag { display: none; }
#supportPage .support-agent-card,
#supportPage .support-sync-tag,
#supportPage .support-secure { display: none !important; }
#supportPage .support-quick-questions {
  flex: 0 0 auto;
  margin: 0;
  padding: 8px 10px 0;
}
#supportPage .support-quick-questions:empty { display: none; }
#supportPage .support-messages {
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1;
  min-height: 0;
  max-height: none;
  padding: 14px 12px 12px;
  overflow-y: auto;
}
#supportPage .support-composer {
  position: relative;
  left: auto;
  bottom: auto;
  transform: none;
  width: 100%;
  max-width: none;
  min-height: 0;
  z-index: 5;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 88px;
  gap: 8px;
  padding: 8px 12px calc(10px + env(safe-area-inset-bottom));
  border-top: 1px solid #eee6f6;
  background: rgba(255,255,255,.96);
  box-shadow: none;
}
#supportPage .support-composer textarea {
  min-height: 44px;
  border-radius: 18px;
}
#supportPage #supportSendButton {
  height: 44px;
  min-height: 44px;
  border-radius: 999px;
}
#supportPage .support-status { padding: 0; background: transparent; font-weight: 600; }
#supportPage .chat-status-dot.busy { background: #f4a62a; }
#supportPage .chat-status-dot.offline { background: #94a3b8; box-shadow: none; }
.gl-host-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: auto;
  overflow: hidden;
  border: 1px solid rgba(232, 220, 240, .92);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(80, 40, 96, .1);
  cursor: pointer;
  transform: none !important;
}
.gl-host-photo {
  position: relative;
  flex: 0 0 auto;
  width: 100%;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: #efe6f2;
}
.gl-host-img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  pointer-events: none;
  image-rendering: auto;
}
.gl-host-photo::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  z-index: 1;
  height: 48%;
  background: linear-gradient(180deg, transparent, rgba(18, 8, 26, .78));
  pointer-events: none;
}
.gl-host-online {
  position: absolute;
  top: 8px;
  left: 8px;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  max-width: calc(100% - 56px);
  min-height: 22px;
  padding: 0 8px 0 6px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(16, 185, 129, .94);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}
.gl-host-online i {
  flex: 0 0 auto;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #d1fae5;
}
.gl-host-online b {
  min-width: 0;
  overflow: hidden;
  font-size: inherit;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.gl-host-flags {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 4px;
  pointer-events: none;
}
.gl-host-verified,
.gl-host-video {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
}
.gl-host-verified { background: #7c3aed; }
.gl-host-video { background: rgba(17, 24, 39, .78); font-size: 9px; }
.gl-host-caption {
  position: absolute;
  left: 10px;
  right: 10px;
  bottom: 10px;
  z-index: 3;
  min-width: 0;
  color: #fff;
  text-shadow: 0 1px 8px rgba(0, 0, 0, .35);
  pointer-events: none;
}
.gl-host-caption h4 {
  display: flex;
  align-items: baseline;
  gap: 6px;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.2;
  white-space: nowrap;
}
.gl-host-caption h4 b {
  min-width: 0;
  overflow: hidden;
  font-size: inherit;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.gl-host-caption h4 em {
  flex: 0 0 auto;
  font-size: 13px;
  font-style: normal;
  font-weight: 700;
  opacity: .92;
}
.gl-host-caption p {
  margin: 3px 0 0;
  overflow: hidden;
  font-size: 11px;
  line-height: 1.3;
  opacity: .92;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.gl-host-actions {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 4px;
  padding: 5px;
}
.gl-host-actions button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 3px;
  width: 100%;
  min-width: 0;
  min-height: 32px !important;
  height: 32px !important;
  margin: 0;
  padding: 0 4px !important;
  overflow: hidden;
  border: 0;
  border-radius: 12px;
  font-family: inherit;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0;
  white-space: nowrap !important;
  writing-mode: horizontal-tb !important;
  text-orientation: mixed;
  touch-action: manipulation;
  pointer-events: auto !important;
}
.gl-host-actions button svg {
  flex: 0 0 auto;
  width: 13px;
  height: 13px;
}
.gl-host-actions button {
  font-size: 12px !important;
}
.gl-host-actions button span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.gl-host-actions .is-chat {
  background: linear-gradient(135deg, #7c3aed, #ec4899);
  color: #fff;
}
.gl-host-actions .is-date {
  background: #f6f1fb;
  color: #6d28d9;
  border: 1px solid #ead6f6;
}
@media (max-width: 420px) {
  .gl-host-online { width: 10px; min-width: 10px; height: 10px; min-height: 10px; padding: 0; }
  .gl-host-online b { display: none; }
  .gl-host-caption h4 { font-size: 14px; }
  .gl-host-actions button { font-size: 12px !important; }
}
@media (min-width: 760px) {
  #customersPage .card-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 16px; }
  .gl-host-caption h4 { font-size: 18px; }
  .gl-host-online { height: 24px; font-size: 12px; }
}
@media (hover: none) {
  .gl-host-card:hover { transform: none !important; }
}
.customer-quick-item b { font-size: 11px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.customer-quick-item > span { overflow: hidden; }
.customer-quick-item img { object-fit: cover; }
#bannerSlides { height: 100%; }
.carousel-slide {
  transition: opacity .4s ease;
}
.carousel-slide.active .banner-media {
  animation: bannerKenBurns 8.4s ease-out forwards;
}
.carousel-slide.is-photo-only { cursor: pointer; }
.carousel-slide.is-photo-only .banner-media-shade {
  background: linear-gradient(180deg, rgba(12,8,20,.08) 40%, rgba(12,8,20,.28));
}
.banner-copy {
  left: 16px;
  bottom: 18px;
  width: min(52%, 420px);
  max-width: calc(100% - 88px);
  padding: 12px 14px;
  gap: 6px;
}
.banner-copy h3 {
  overflow: hidden;
  font-size: 22px;
  line-height: 1.2;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.banner-copy p {
  overflow: hidden;
  font-size: 13px;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.banner-copy button {
  min-height: 40px;
  padding: 0 16px;
  font-size: 14px;
}
@keyframes bannerKenBurns {
  from { transform: scale(1); }
  to { transform: scale(1.07); }
}
.carousel-slide.is-paused .banner-media,
.carousel-slide.is-gif .banner-media,
.carousel-slide:not(.active) .banner-media {
  animation: none !important;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-slide.active .banner-media { animation: none; }
}
@media (max-width: 520px) {
  #customersPage .banner { height: 180px; border-radius: 18px; }
  .banner-copy {
    left: 10px;
    bottom: 12px;
    width: calc(100% - 20px);
    max-width: none;
    padding: 10px 12px;
  }
  .banner-copy h3 { font-size: 16px; }
  .banner-copy p { font-size: 12px; }
  .banner-copy button { min-height: 40px; font-size: 13px; }
  #customersPage .carousel-arrow { width: 36px; height: 36px; }
}
@media (min-width: 760px) {
  #customersPage .banner { height: 280px; }
  .banner-copy h3 { font-size: 28px; }
}
@media (max-width: 520px) {
  #customersPage .smart-home-layout { grid-template-columns: 1fr; }
  #customersPage .smart-home-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #customersPage .smart-home-quick-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #customersPage .smart-home-quick-actions button { min-height: 44px; }
  #customersPage .smart-home-heading p { display: block; }
}
@media (max-width: 520px) {
  #customersPage .banner { height: 188px !important; }
  #customersPage .banner .dots {
    bottom: 8px;
    padding: 0;
    gap: 4px;
  }
  #customersPage .banner .dot {
    width: 4px;
    min-width: 4px;
    height: 4px;
    min-height: 4px;
  }
  #customersPage .banner .dot.active {
    width: 10px;
    min-width: 10px;
    height: 4px;
  }
  #customersPage .smart-home-panel {
    padding: 12px !important;
  }
  #customersPage .smart-home-heading h3 {
    font-size: 15px !important;
    line-height: 1.35 !important;
  }
  #customersPage .smart-home-heading p {
    display: -webkit-box !important;
    font-size: 12px !important;
  }
  #customersPage .smart-home-refresh {
    width: auto !important;
    min-width: 44px !important;
    min-height: 44px !important;
    padding: 0 12px !important;
    overflow: hidden;
    color: #7c587d !important;
    font-size: 13px !important;
  }
  #customersPage .smart-home-refresh::before { content: none !important; }
  #customersPage .smart-home-primary {
    display: grid !important;
    grid-template-columns: 40px minmax(0, 1fr) !important;
    grid-template-rows: auto auto;
    gap: 8px 10px !important;
    min-height: 0 !important;
    padding: 12px !important;
    border-radius: 16px !important;
  }
  #customersPage .smart-home-primary-icon {
    width: 40px !important;
    height: 40px !important;
    border-radius: 12px !important;
    font-size: 18px !important;
  }
  #customersPage .smart-home-primary > span:nth-child(2) {
    gap: 3px;
  }
  #customersPage .smart-home-primary b {
    display: -webkit-box !important;
    overflow: hidden;
    font-size: 14px !important;
    line-height: 1.3 !important;
    white-space: normal !important;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }
  #customersPage .smart-home-primary small {
    display: -webkit-box !important;
    overflow: hidden;
    color: rgba(255,255,255,.82) !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    white-space: normal !important;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }
  #customersPage .smart-home-primary em {
    grid-column: 1 / -1 !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    min-height: 40px !important;
    margin-top: 2px;
    border-radius: 12px;
    background: rgba(255,255,255,.18);
    font-size: 13px !important;
    white-space: nowrap;
  }
  #customersPage .smart-home-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
  #customersPage .smart-home-stats button {
    min-height: 56px !important;
    padding: 10px 12px !important;
    border-radius: 14px !important;
    text-align: start !important;
  }
  #customersPage .smart-home-stats span {
    display: block !important;
    overflow: hidden;
    color: #8a768c !important;
    font-size: 11px !important;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  #customersPage .smart-home-stats b {
    overflow: hidden;
    font-size: 16px !important;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  #customersPage .smart-home-quick-actions {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  #customersPage .smart-home-quick-actions button {
    min-height: 44px !important;
    font-size: 12px !important;
  }
}
@media (max-width: 360px) {
  #customersPage .banner { height: 168px !important; }
  #customersPage .smart-home-primary small { display: -webkit-box !important; }
  #customersPage .smart-home-quick-actions button { font-size: 11px !important; }
}
#productsPage .section-title { min-width: 0; }
#productsPage .shop-account-bar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 8px;
  align-items: stretch;
  margin: 0 0 12px;
  padding: 10px 12px;
  min-width: 0;
}
#productsPage .shop-balance-chip {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  padding: 0 4px;
  grid-column: auto;
}
#productsPage .shop-account-bar small {
  overflow: hidden;
  color: #8c7c91;
  font-size: 11px;
  font-weight: 750;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#productsPage .shop-account-bar b {
  overflow: hidden;
  color: #8d4da1;
  font-size: 18px;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
#productsPage .shop-account-bar button {
  min-width: 0;
  min-height: 44px;
  padding: 0 12px;
  overflow: hidden;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
  touch-action: manipulation;
}
#productsPage .shop-cart-entry em { top: -6px; right: -4px; }
#productsPage .search-box { min-width: 0; gap: 8px; margin-bottom: 10px; }
#productsPage .search-box input { min-width: 0; height: 44px; font-size: 16px; }
#productsPage .search-box button {
  min-width: 72px;
  width: auto;
  min-height: 44px;
  padding: 0 14px;
  font-size: 14px;
  font-weight: 800;
}
@media (max-width: 767px) {
  #productsPage .section-title { display: none !important; }
  #productsPage .product-banner { height: 176px !important; margin-bottom: 12px; }
  #productsPage .shop-account-bar { grid-template-columns: minmax(0, 1fr) auto auto !important; }
  #productsPage .shop-balance-chip {
    grid-column: auto !important;
    flex-direction: column !important;
    align-items: flex-start !important;
  }
  #productsPage .shop-account-bar button { min-width: 64px; max-width: 42vw; }
  #productsPage .product-category-toolbar {
    top: max(4px, env(safe-area-inset-top));
    margin: 8px 0 12px;
    padding: 6px;
  }
  #productsPage .product-category-pill {
    min-height: 40px;
    max-width: min(58vw, 220px);
    padding: 0 12px;
    font-size: 12px;
  }
  #productsPage .product-category-pill > b {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  #productsPage .product-subcategory-pill {
    min-height: 36px;
    max-width: min(52vw, 180px);
    overflow: hidden;
    text-overflow: ellipsis;
  }
  #productsPage .product-results-heading { align-items: flex-start; gap: 8px; }
  #productsPage .product-results-heading strong {
    white-space: normal !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    font-size: 14px !important;
    line-height: 1.3;
  }
  #productsPage .product-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
  #productsPage .refined-product-card,
  #productsPage .gl-shop-card {
    min-width: 0 !important;
    border-radius: 16px !important;
  }
  #productsPage .refined-product-card .product-preview-stage,
  #productsPage .refined-product-card .product-img {
    aspect-ratio: 1 / 1 !important;
    background: #f4eef7 !important;
  }
  #productsPage .refined-product-card .product-preview-stage::before { background-size: contain !important; }
  #productsPage .refined-product-card .product-main-photo,
  #productsPage .refined-product-card .product-hover-photo,
  #productsPage .product-main-photo {
    object-fit: contain !important;
    object-position: center !important;
  }
  #productsPage .refined-product-card .product-info {
    display: flex !important;
    gap: 6px !important;
    min-height: 108px;
    padding: 10px 10px 12px !important;
  }
  #productsPage .refined-product-card .product-info h4 {
    min-height: 0 !important;
    max-height: 2.6em;
    font-size: 13px !important;
    line-height: 1.3 !important;
    -webkit-line-clamp: 2;
  }
  #productsPage .refined-product-card .product-sub,
  #productsPage .refined-product-card .product-small-info { display: none !important; }
  #productsPage .refined-product-card .product-price-line {
    flex-wrap: nowrap;
    gap: 6px;
    overflow: hidden;
  }
  #productsPage .refined-product-card .product-price-line b {
    flex: 1 1 auto !important;
    min-width: 0;
    overflow: hidden;
    font-size: 15px !important;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  #productsPage .refined-product-card .product-price-line del,
  #productsPage .refined-product-card .product-discount-pill {
    flex: 0 1 auto;
    max-width: 42%;
    overflow: hidden;
    font-size: 10px !important;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  #productsPage .refined-product-card .product-primary-action {
    min-height: 44px !important;
    padding: 0 10px !important;
    overflow: hidden;
    font-size: 13px !important;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  #productsPage .refined-product-card .product-corner-label {
    max-width: calc(100% - 16px);
    padding: 4px 8px;
    font-size: 10px;
  }
  #productsPage .product-banner .dots { bottom: 8px; gap: 4px; }
  #productsPage .product-banner .dot { width: 4px; min-width: 4px; height: 4px; min-height: 4px; }
  #productsPage .product-banner .dot.active { width: 10px; min-width: 10px; height: 4px; }
  #productsPage .carousel-arrow { width: 28px; height: 28px; }
}
@media (max-width: 359px) {
  #productsPage .shop-account-bar button { padding: 0 8px; font-size: 12px; }
  #productsPage .refined-product-card .product-info { padding: 8px 8px 10px !important; min-height: 100px; }
  #productsPage .refined-product-card .product-info h4 { font-size: 12px !important; }
}
#productDetailPage > .detail-back-btn {
  display: inline-flex !important;
  align-items: center;
  gap: 4px;
  position: sticky;
  top: 0;
  z-index: 9;
  min-height: 40px;
  max-width: 100%;
  margin: 0 0 10px;
  padding: 8px 12px;
  overflow: hidden;
  white-space: nowrap;
}
#productDetailPage > .detail-back-btn b {
  min-width: 0;
  overflow: hidden;
  font: inherit;
  font-weight: 800;
  text-overflow: ellipsis;
}
.product-detail-page { padding-bottom: 24px; }
.product-detail-content { min-width: 0; }
.product-detail-hero:has(.product-hero-rail) { position: relative; overflow: hidden; }
.product-detail-hero.is-gallery { position: relative; display: block; overflow: hidden; }
.product-hero-rail {
  position: absolute;
  inset: 0;
  display: flex;
  width: 100%;
  height: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
.product-hero-rail::-webkit-scrollbar { display: none; }
.product-hero-slide {
  flex: 0 0 100%;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  background: #f4eef7;
  scroll-snap-align: start;
}
.product-hero-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
.product-hero-count {
  position: absolute;
  z-index: 4;
  right: 12px;
  bottom: 12px;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(20, 12, 28, .55);
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  backdrop-filter: blur(8px);
}
.product-detail-fold > summary {
  cursor: pointer;
  list-style: none;
  font-size: 16px;
  font-weight: 850;
  color: #3f2e46;
}
.product-detail-fold > summary::-webkit-details-marker { display: none; }
.product-detail-fold > summary::after {
  content: "▾";
  float: right;
  color: #b089b6;
}
.product-detail-fold[open] > summary { margin-bottom: 10px; }
.product-detail-fold[open] > summary::after { content: "▴"; }
.product-purchase-meta { display: grid; gap: 2px; min-width: 0; }
.product-purchase-actions .label-short { display: none; }
.product-variant-picker button {
  min-width: 0;
  min-height: 44px;
  max-width: 100%;
}
.product-variant-picker button b,
.product-variant-picker button small {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.shop-checkout-dock { display: grid; gap: 8px; }
.shopping-cart-page .shop-subpage-head h2,
.shop-orders-page .shop-subpage-head h2 {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.shopping-cart-page .shop-subpage-head p,
.shop-orders-page .shop-subpage-head p {
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
@media (max-width: 767px) {
  .product-detail-hero,
  .product-detail-hero.has-photo {
    min-height: 0 !important;
    aspect-ratio: 1 / 1;
    max-height: min(72vw, 380px);
    border-radius: 18px;
  }
  .product-detail-photo-button span { display: none; }
  .product-detail-head { gap: 8px; }
  .product-detail-head h2 {
    font-size: 18px;
    line-height: 1.3;
    overflow-wrap: anywhere;
  }
  .product-detail-head span {
    flex: 0 0 auto;
    max-width: 38%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .product-detail-price b { font-size: 22px; }
  .product-detail-card { padding: 14px; border-radius: 16px; }
  .product-info-grid-detail { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .product-info-grid-detail b,
  .product-info-grid-detail p {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .product-purchase-panel {
    position: sticky;
    bottom: calc(72px + env(safe-area-inset-bottom));
    z-index: 16;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px 10px;
    margin: 8px 0 0;
    padding: 10px 12px;
    border-radius: 16px;
  }
  .product-purchase-panel b { font-size: 18px; }
  .product-quantity-control button,
  .product-quantity-control input {
    width: 44px;
    height: 44px;
    font-size: 16px;
  }
  .product-purchase-actions { grid-column: 1 / -1; gap: 8px; }
  .product-purchase-actions button {
    min-height: 44px;
    overflow: hidden;
    font-size: 14px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .product-purchase-actions .label-full { display: none; }
  .product-purchase-actions .label-short { display: inline; }
  .product-related-rail { gap: 8px; }
  .product-related-card { flex-basis: 108px; }
  .cart-quantity button {
    width: 44px;
    height: 44px;
    font-size: 18px;
  }
  .cart-quantity span { min-width: 36px; font-size: 15px; }
  .cart-remove { min-height: 36px; padding: 8px 10px; font-size: 12px; }
  .shop-checkout-dock {
    position: sticky;
    bottom: calc(72px + env(safe-area-inset-bottom));
    z-index: 16;
    padding: 10px;
    border: 1px solid #eadff0;
    border-radius: 16px;
    background: rgba(255,255,255,.96);
    box-shadow: 0 12px 28px rgba(75, 36, 88, .14);
    backdrop-filter: blur(12px);
  }
  .shop-checkout-button { min-height: 48px; }
  .regional-address-grid { grid-template-columns: 1fr !important; }
  .regional-address-grid input,
  .regional-address-grid textarea {
    min-height: 44px;
    font-size: 16px;
  }
  .shop-subpage-head h2 { font-size: 16px; }
  .shop-order-link {
    min-height: 40px;
    padding: 8px 10px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}
#productPurchaseDock {
  position: fixed;
  left: 50%;
  bottom: calc(70px + env(safe-area-inset-bottom, 0px));
  z-index: 32;
  width: min(520px, calc(100% - 16px));
  transform: translateX(-50%);
}
#productPurchaseDock[hidden] { display: none !important; }
#productPurchaseDock .product-purchase-panel {
  position: relative !important;
  bottom: auto !important;
  margin: 0;
  padding: 10px 12px;
  border-radius: 18px;
  box-shadow: 0 12px 32px rgba(74, 35, 88, .22);
}
#productDetailPage .product-detail-content { padding-bottom: 12px; }
.product-detail-hero,
.product-detail-hero.has-photo,
.product-detail-hero.is-gallery {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100%;
  min-height: 280px !important;
  max-height: min(78vw, 420px) !important;
  aspect-ratio: 1 / 1;
  overflow: hidden !important;
  background: #f4eef7 !important;
}
.product-detail-hero.has-photo::before { display: none !important; }
.product-hero-rail {
  position: relative !important;
  inset: auto !important;
  display: flex;
  width: 100%;
  height: 100%;
  min-height: 280px;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
.product-hero-slide {
  display: grid !important;
  flex: 0 0 100%;
  place-items: center !important;
  width: 100%;
  min-width: 100%;
  height: 100%;
  padding: 12px !important;
  border: 0;
  background: #f4eef7 !important;
  text-align: center !important;
  scroll-snap-align: start;
}
.product-hero-slide img,
.product-detail-hero img,
.product-detail-photo-button img {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
  margin: 0 auto !important;
  object-fit: contain !important;
  object-position: center center !important;
}
.product-detail-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 8px;
}
.product-detail-head h2 {
  min-width: 0;
  overflow-wrap: anywhere;
  line-height: 1.3;
}
.product-detail-head span {
  flex: 0 0 auto;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.product-detail-desc {
  display: -webkit-box;
  overflow: hidden;
  overflow-wrap: anywhere;
  -webkit-line-clamp: 6;
  -webkit-box-orient: vertical;
}
#productsPage .refined-product-card .product-card-actions {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 6px !important;
  margin-top: 4px !important;
}
#productsPage .product-card-sold-out .product-card-actions {
  grid-template-columns: 1fr;
}
#productsPage .product-cart-action,
#productsPage .product-buy-action {
  display: flex !important;
  min-width: 0;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  padding: 0 6px !important;
  overflow: hidden;
  border: 0 !important;
  border-radius: 12px !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
  touch-action: manipulation;
}
#productsPage .product-cart-action {
  color: #793b8a !important;
  background: #f5eefa !important;
}
#productsPage .product-buy-action {
  color: #fff !important;
  background: linear-gradient(135deg, #7e34c8, #df3f9a) !important;
}
#productsPage .product-card-sold-out .product-buy-action,
#productsPage .product-cart-action:disabled,
#productsPage .product-buy-action:disabled {
  color: #746b76 !important;
  background: #ece8ed !important;
}
.shopping-cart-page:not(.active) .shop-checkout-dock {
  display: none !important;
}
#shopCheckoutDock,
.shopping-cart-page .shop-checkout-dock {
  position: fixed;
  left: 50%;
  bottom: calc(70px + env(safe-area-inset-bottom, 0px));
  z-index: 32;
  display: grid;
  width: min(520px, calc(100% - 16px));
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 10px 12px;
  border: 1px solid #eadff0;
  border-radius: 18px;
  background: rgba(255,255,255,.97);
  box-shadow: 0 12px 32px rgba(75, 36, 88, .2);
  transform: translateX(-50%);
  backdrop-filter: blur(14px);
}
.shop-checkout-dock-meta {
  display: grid;
  min-width: 0;
  gap: 2px;
}
.shop-checkout-dock-meta span {
  overflow: hidden;
  color: #8d8091;
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.shop-checkout-dock-meta b {
  overflow: hidden;
  color: #e33d8b;
  font-size: 20px;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.shopping-cart-page .shop-checkout-dock .shop-checkout-button {
  min-width: 124px;
  max-width: 46vw;
  width: auto;
  min-height: 48px;
  margin: 0;
  padding: 0 14px;
  overflow: hidden;
  font-size: 14px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
@media (max-width: 767px) {
  .product-detail-hero,
  .product-detail-hero.has-photo,
  .product-detail-hero.is-gallery {
    min-height: 260px !important;
    max-height: min(72vw, 360px) !important;
    border-radius: 18px;
  }
  .product-hero-rail,
  .product-hero-slide { min-height: 260px; }
  .product-purchase-actions .label-full { display: none; }
  .product-purchase-actions .label-short { display: inline; }
  .product-quantity-control button,
  .product-quantity-control input {
    width: 44px;
    height: 44px;
    font-size: 16px;
  }
  #productsPage .refined-product-card .product-info h4 {
    min-height: 0 !important;
    font-size: 13px !important;
  }
  #productsPage .product-cart-action,
  #productsPage .product-buy-action { min-height: 40px; font-size: 12px !important; }
  .product-detail-head h2 { font-size: 18px; }
}
#productsPage .shop-account-bar {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px !important;
  padding: 8px 10px !important;
}
#productsPage .shop-balance-chip {
  flex: 0 1 auto;
  max-width: min(58vw, 240px);
  padding: 6px 12px !important;
  border-radius: 14px;
  background: #f6f0fa;
}
#productsPage .shop-account-bar small {
  display: block;
  font-size: 10px !important;
}
#productsPage .shop-account-bar b {
  display: block;
  max-width: 100%;
  overflow: hidden;
  font-size: 18px !important;
  line-height: 1.2 !important;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
#productsPage .shop-orders-entry { margin-left: auto; }
#productsPage .shop-account-bar button {
  flex: 0 0 auto;
  min-width: 64px !important;
  max-width: 38vw;
  min-height: 40px !important;
}
#productsPage .refined-product-card .product-info {
  display: flex !important;
  flex-direction: column;
  gap: 8px !important;
  min-height: 0 !important;
  padding: 10px !important;
}
#productsPage .refined-product-card .product-sub,
#productsPage .refined-product-card .product-small-info,
#productsPage .refined-product-card .product-discount-pill {
  display: none !important;
}
#productsPage .product-sales-row {
  display: flex;
  min-width: 0;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
}
#productsPage .product-sales-row .product-price-line {
  display: flex !important;
  flex: 1 1 auto;
  min-width: 0;
  flex-wrap: nowrap;
  align-items: baseline;
  gap: 6px;
  margin: 0 !important;
  overflow: hidden;
}
#productsPage .product-sales-row .product-price-line b {
  min-width: 0;
  overflow: hidden;
  color: #c42d7a;
  font-size: 16px !important;
  font-weight: 900;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
#productsPage .product-sales-row .product-price-line del {
  flex: 0 0 auto;
  max-width: 42%;
  overflow: hidden;
  color: #a495a7;
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
#productsPage .product-sold-count {
  flex: 0 0 auto;
  max-width: 46%;
  overflow: hidden;
  color: #b07038;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
@media (max-width: 767px) {
  #productsPage .shop-balance-chip { max-width: min(46vw, 180px); }
  #productsPage .shop-account-bar b { font-size: 16px !important; }
  #productsPage .product-sales-row .product-price-line b { font-size: 14px !important; }
  #productsPage .product-sold-count { max-width: 48%; font-size: 10px; }
}
.product-buy-mask {
  position: fixed;
  inset: 0;
  z-index: 80;
  background: rgba(28, 18, 32, .46);
}
.product-buy-sheet {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 81;
  display: grid;
  gap: 12px;
  max-height: min(86dvh, 640px);
  padding: 10px 16px calc(16px + env(safe-area-inset-bottom, 0px));
  overflow: auto;
  border-radius: 22px 22px 0 0;
  background: #fff;
  box-shadow: 0 -18px 40px rgba(42, 24, 48, .18);
}
.product-buy-sheet[hidden],
.product-buy-mask[hidden] { display: none !important; }
.product-buy-head {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
}
.product-buy-thumb {
  width: 72px;
  height: 72px;
  border-radius: 14px;
  background: #f4eef6 center/cover no-repeat;
}
.product-buy-head h3 { margin: 0; color: #3d2b44; font-size: 16px; line-height: 1.3; }
.product-buy-head b { display: block; color: #9b34c4; font-size: 20px; }
.product-buy-head small { color: #8a7a90; font-size: 12px; }
.product-buy-close {
  width: 36px; height: 36px; border: 0; border-radius: 999px;
  background: #f3eef4; color: #6b5a70; font-size: 22px; line-height: 1;
}
.product-buy-qty { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.product-buy-actions { display: grid; grid-template-columns: auto 1fr 1fr; gap: 8px; }
.product-buy-detail,
.product-buy-actions .product-cart-action,
.product-buy-actions .product-buy-action {
  min-height: 46px; border: 0; border-radius: 14px; font-size: 14px; font-weight: 800;
}
.product-buy-detail { background: #f4eef7; color: #6d4b78; padding: 0 12px; }
.product-buy-actions .product-cart-action { background: #f5eefa; color: #793b8a; }
.product-buy-actions .product-buy-action { color: #fff; background: linear-gradient(135deg, #7e34c8, #df3f9a); }
.product-buy-actions button:disabled { opacity: .45; }
.shopping-cart-item.is-unavailable { opacity: .78; outline: 1px solid #f0cfd4; }
.shopping-cart-item.is-unavailable h3::after {
  content: "Sold out";
  margin-inline-start: 6px;
  color: #c2556b;
  font-size: 11px;
}
@media (max-width: 720px) {
  .product-buy-actions { grid-template-columns: 1fr 1fr; }
  .product-buy-detail { grid-column: 1 / -1; }
}
.shop-buynow-banner {
  margin: 0 0 10px;
  padding: 10px 12px;
  border-radius: 12px;
  background: #f4ecfb;
  color: #6d3a86;
  font-size: 13px;
  font-weight: 750;
}
.shop-order-filters {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 0 2px 10px;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.shop-order-filters::-webkit-scrollbar { display: none; }
.shop-order-filters button {
  flex: 0 0 auto;
  min-height: 36px;
  padding: 0 12px;
  border: 1px solid #eadff0;
  border-radius: 999px;
  background: #fff;
  color: #6d5a72;
  font-size: 12px;
  font-weight: 800;
}
.shop-order-filters button b { color: #9c8f9f; font-size: 11px; }
.shop-order-filters button.active { border-color: #c9a3d6; background: #f7eefb; color: #7a3d8d; }
.shop-order-copy {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  max-width: 100%;
  padding: 0;
  border: 0;
  background: none;
  color: #4b3d4f;
  font-size: 12px;
  font-weight: 800;
  overflow: hidden;
  text-overflow: ellipsis;
}
.shop-order-copy span { color: #b39bb8; }
.shop-order-track {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  padding: 12px 10px 4px;
  list-style: none;
}
.shop-order-track li {
  position: relative;
  display: grid;
  gap: 3px;
  padding: 0 6px;
  text-align: center;
}
.shop-order-track li::before {
  content: "";
  width: 8px;
  height: 8px;
  margin: 0 auto 4px;
  border-radius: 50%;
  background: #e6dce9;
}
.shop-order-track li:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 3px;
  left: calc(50% + 8px);
  right: calc(-50% + 8px);
  height: 2px;
  background: #efe6f2;
}
.shop-order-track li.is-done::before { background: #7c3aed; }
.shop-order-track li.is-done:not(:last-child)::after { background: #d4b8ea; }
.shop-order-track li.is-current::before { box-shadow: 0 0 0 4px #f3e8ff; background: #d93e86; }
.shop-order-track li.is-fail::before { background: #b4233a; }
.shop-order-track b { color: #6d5a72; font-size: 11px; }
.shop-order-track li.is-done b, .shop-order-track li.is-current b { color: #4b3d4f; }
.shop-order-track li.is-fail b { color: #b4233a; }
.shop-order-track small { color: #9c8f9f; font-size: 10px; }
@media (max-width: 420px) {
  .shop-order-track { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 0; }
  .shop-order-track li:not(:last-child)::after { display: none; }
}
.dating-record-pager {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
  margin-top: 12px;
  color: #7d6c82;
  font-size: 12px;
}
.dating-record-pager button {
  min-height: 36px;
  padding: 0 12px;
  border: 1px solid #eadff0;
  border-radius: 10px;
  background: #fff;
  color: #6d3a86;
  font-weight: 800;
}
.finance-list-pager {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
  margin: 12px 4px 20px;
  color: #7d6c82;
  font-size: 12px;
}
.finance-list-pager div { display: flex; gap: 8px; }
.finance-list-pager button {
  min-height: 40px;
  padding: 0 14px;
  border: 1px solid #eadff0;
  border-radius: 12px;
  background: #fff;
  color: #6d3a86;
  font-weight: 800;
}
.chat-load-earlier {
  display: block;
  width: calc(100% - 24px);
  margin: 8px 12px 12px;
  min-height: 40px;
  border: 1px solid #eadff0;
  border-radius: 999px;
  background: rgba(255,255,255,.86);
  color: #6d3a86;
  font-size: 12px;
  font-weight: 800;
}
.chat-virt-sizer { position: relative; width: 100%; min-height: 1px; overflow: hidden; contain: layout style; }
.chat-virt-head { position: absolute; top: 0; left: 0; right: 0; z-index: 1; }
.chat-virt-window {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
  contain: layout style;
  will-change: transform;
  pointer-events: auto;
}
.chat-virt-item { display: flex; flex-direction: column; gap: 10px; }
.public-chat-messages .chat-virt-window { gap: 12px; }
.chat-virt-foot { position: absolute; left: 0; right: 0; }
.virt-sizer { position: relative; width: 100%; min-height: 1px; overflow: hidden; contain: layout style; }
.virt-window {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  contain: layout style;
  will-change: transform;
}
#customersVirtualHost,
#productsVirtualHost,
#conversationsVirtualHost {
  position: relative;
  display: block;
  width: 100%;
  overflow: visible;
  height: auto;
}
#productsPage .virt-window.product-category-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px;
}
@media (min-width: 900px) {
  #customersList .virt-window.card-grid,
  #customersVirtualHost .virt-window.card-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media (min-width: 980px) {
  #productsPage .virt-window.product-category-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
.conversation-list,
#messageCenterPage .conversation-list,
.support-messages,
.public-chat-messages {
  display: block !important;
}
#conversationsVirtualHost .virt-window {
  display: grid;
  gap: 8px;
}
.chat-image-btn {
  width: 44px;
  height: 44px;
  min-width: 44px;
  border: 1px solid #eadff3;
  border-radius: 16px;
  background: #fbf8ff;
  color: #7c3aed;
  display: grid;
  place-items: center;
  padding: 0;
}
.chat-image-btn svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.chat-image-btn:disabled { opacity: .38; }
#chatPage .chat-input-bar .chat-image-btn,
#supportPage .support-composer .chat-image-btn {
  min-width: 44px;
  width: 44px;
  height: 44px;
  box-shadow: none;
  background: #fbf8ff;
  color: #7c3aed;
}
.chat-image-quota {
  grid-column: 1 / -1;
  margin: 0;
  padding: 0 2px 2px;
  color: #8b7396;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.35;
}
.chat-image-quota.is-empty { color: #c026d3; }
.shop-load-more {
  display: block;
  width: calc(100% - 8px);
  margin: 12px 4px 4px;
  min-height: 44px;
  border: 1px solid #eadff0;
  border-radius: 14px;
  background: #fff;
  color: #6d3a86;
  font-weight: 800;
}
.app.chat-open,
.app.support-open { padding-bottom: 0 !important; }
#chatPage .chat-topbar,
#supportPage .chat-topbar,
#supportPage .support-quick-questions {
  position: relative;
  z-index: 8;
  flex: 0 0 auto;
}
#chatPage .chat-thread-stage,
#supportPage .chat-thread-stage {
  position: relative;
  z-index: 0;
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
  isolation: isolate;
}
#chatPage .chat-messages,
#supportPage .support-messages {
  display: block !important;
  flex: 1 1 auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow-x: hidden;
  overflow-y: auto !important;
  overscroll-behavior: contain;
  overflow-anchor: none;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 16px !important;
}
#chatPage .chat-input-bar,
#supportPage .support-composer {
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) 68px !important;
  align-items: end;
  gap: 8px;
  flex: 0 0 auto;
  position: relative !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  transform: none !important;
  width: 100% !important;
  max-width: none !important;
  z-index: 8;
  pointer-events: auto;
}
.visually-hidden-file {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
  opacity: 0;
}
#chatPage .chat-image-btn,
#supportPage .chat-image-btn,
#chatPage #chatImageButton,
#supportPage #supportImageButton {
  display: grid !important;
  place-items: center !important;
  position: relative;
  grid-column: 1;
  width: 44px !important;
  min-width: 44px !important;
  max-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  padding: 0 !important;
  border: 1px solid #eadff3 !important;
  border-radius: 16px !important;
  background: #fbf8ff !important;
  color: #7c3aed !important;
  box-shadow: none !important;
}
.chat-image-btn.is-disabled,
.public-chat-tool.is-disabled {
  opacity: .38;
  pointer-events: none;
}
#chatPage #chatInput,
#supportPage #supportInput { grid-column: 2; min-width: 0; pointer-events: auto; font-size: 16px !important; }
#chatPage #chatSendButton,
#supportPage #supportSendButton {
  grid-column: 3;
  width: 100%;
  min-width: 88px !important;
  height: 44px !important;
  pointer-events: auto;
  z-index: 9;
  white-space: nowrap;
  letter-spacing: 0;
}
#chatPage #chatImageQuota { grid-column: 1 / -1; }
#supportPage .chat-topbar {
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  min-height: 56px;
}
#supportPage .chat-header-copy p {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#supportPage .support-inline-media,
#supportPage .chat-inline-media {
  display: block;
  max-width: min(220px, 62vw);
  max-height: 240px;
  margin: 6px 0 4px;
  border-radius: 12px;
  object-fit: cover;
}
.chat-jump-latest {
  position: absolute;
  left: 50%;
  bottom: 10px;
  z-index: 4;
  transform: translateX(-50%);
  min-height: 32px;
  padding: 0 12px;
  border: 0;
  border-radius: 999px;
  background: rgba(49, 24, 64, 0.86);
  color: #fff;
  box-shadow: 0 8px 18px rgba(49, 24, 64, 0.22);
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}
.chat-jump-latest[hidden] { display: none !important; }
@media (max-width: 430px) {
  #chatPage .chat-topbar,
  #supportPage .chat-topbar {
    min-height: 52px;
    padding: 6px 8px;
  }
  #supportPage #supportHours { display: none; }
  #chatPage .chat-input-bar,
  #supportPage .support-composer {
    grid-template-columns: 44px minmax(0, 1fr) 88px !important;
    padding: 8px 10px calc(8px + env(safe-area-inset-bottom));
  }
  #chatPage #chatSendButton,
  #supportPage #supportSendButton { font-size: 13px; padding: 0 10px; white-space: nowrap; letter-spacing: 0; }
}
#publicChatPage .public-chat-message-stage {
  flex: 1 1 0%;
  height: 0;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
#publicChatPage .public-chat-messages {
  min-height: 0;
  overflow: visible;
}
#publicChatPage .public-chat-composer {
  flex: 0 0 auto;
  position: relative;
  z-index: 8;
  transform: none !important;
  grid-template-columns: 44px 44px minmax(0, 1fr) 48px;
  gap: 6px;
  padding: 8px;
}
#publicChatPage .public-chat-tool,
#publicChatPage .public-chat-send {
  width: 44px;
  min-width: 44px;
  height: 44px;
  position: relative;
}
#publicChatPage .public-chat-send { width: 48px; }
#publicChatPage #publicChatInput,
#supportPage #supportInput,
#chatPage #chatInput {
  -webkit-user-select: text;
  user-select: text;
  pointer-events: auto;
  font-size: 16px !important;
}
#chatPage #chatSendButton.is-busy,
#supportPage #supportSendButton.is-busy,
#publicChatPage #publicChatSendButton.is-busy { opacity: .7; }
#chatPage .chat-input-bar,
#supportPage .support-composer,
#publicChatPage .public-chat-composer,
#chatPage #chatSendButton,
#supportPage #supportSendButton,
#publicChatPage #publicChatSendButton,
#chatPage .chat-back-btn,
#supportPage .chat-back-btn {
  touch-action: manipulation;
  pointer-events: auto;
}
@media (max-width: 520px) {
  #publicChatPage .public-chat-header { padding: 10px 12px; }
  #publicChatPage .public-chat-header h2 { font-size: 16px; }
  #publicChatPage .public-chat-header p { font-size: 11px; }
  #publicChatPage .public-chat-rich-text { font-size: 14px; }
  #publicChatPage .public-chat-message-actions button {
    min-height: 32px;
    padding: 6px 10px;
    font-size: 12px;
  }
  #publicChatPage .public-chat-bubble { padding: 10px 12px; }
}
#supportPage .chat-topbar,
#supportPage .chat-topbar.unified-return-host-v47 {
  position: relative !important;
  top: auto !important;
  z-index: 30 !important;
  pointer-events: auto !important;
}
#supportPage .chat-back-btn {
  position: relative;
  z-index: 31;
  pointer-events: auto !important;
}
#supportPage .chat-thread-stage {
  z-index: 1;
  overflow: hidden;
}
#supportPage .support-messages,
#supportPage .support-messages.chat-messages {
  display: block !important;
  position: relative;
  z-index: 1;
  overflow: auto !important;
  -webkit-overflow-scrolling: touch;
}
#supportPage .support-composer,
#supportPage .chat-input-bar {
  z-index: 40 !important;
  pointer-events: auto !important;
}
#supportPage #supportInput {
  position: relative;
  z-index: 50 !important;
  pointer-events: auto !important;
}
#supportPage .chat-image-btn,
#supportPage #supportSendButton {
  position: relative;
  z-index: 2;
  pointer-events: auto !important;
}
#supportPage .chat-image-btn,
#chatPage .chat-image-btn,
#publicChatPage .public-chat-tool {
  overflow: hidden !important;
}
#supportPage .chat-image-btn .visually-hidden-file,
#chatPage .chat-image-btn .visually-hidden-file,
#publicChatPage .visually-hidden-file {
  position: absolute !important;
  inset: auto !important;
  left: 0 !important;
  top: 0 !important;
  width: 44px !important;
  height: 44px !important;
  max-width: 44px !important;
  max-height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 0 !important;
  clip: auto !important;
  clip-path: none !important;
  overflow: hidden !important;
  font-size: 16px !important;
  cursor: pointer;
  pointer-events: auto !important;
}
#supportPage .chat-image-btn svg,
#chatPage .chat-image-btn svg,
#publicChatPage .public-chat-tool svg {
  pointer-events: none;
}
#productsPage .shop-account-bar {
  grid-template-columns: minmax(0, 1fr) max-content max-content !important;
  overflow: visible !important;
}
#productsPage .shop-account-bar button,
#productsPage .shop-orders-entry,
#productsPage .shop-cart-entry,
.shop-cart-entry {
  min-width: max-content !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: nowrap !important;
}
#productsPage .shop-cart-entry {
  position: relative !important;
  padding-right: 28px !important;
  margin-right: 6px;
}
#productsPage .shop-cart-entry em.is-empty,
.shop-cart-entry em.is-empty,
#productsPage .shop-cart-entry em[hidden],
.shop-cart-entry em[hidden] {
  display: none !important;
}
#productsPage {
  padding-bottom: calc(118px + env(safe-area-inset-bottom, 0px)) !important;
}
#productsPage .product-category-scroll,
#productsPage .product-subcategory-scroll {
  padding-inline-end: 36px;
  scroll-padding-inline-end: 36px;
}
#productsPage .product-category-grid,
#productsPage .virt-window.product-category-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
  align-items: stretch;
}
@media (min-width: 980px) {
  #productsPage .product-category-grid,
  #productsPage .virt-window.product-category-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
#productsPage .refined-product-card {
  overflow: visible !important;
  height: auto !important;
}
#productsPage .refined-product-card .product-info {
  flex-shrink: 0 !important;
}
#customersVirtualHost,
#productsVirtualHost,
#conversationsVirtualHost {
  overflow: visible !important;
  height: auto !important;
  transform: none !important;
}
#supportPage .chat-image-btn {
  overflow: hidden !important;
  z-index: 2 !important;
}
#supportPage #supportInput {
  z-index: 50 !important;
}
#publicChatPage .public-chat-messages {
  display: block !important;
  overflow: visible !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  padding: 8px 2px 12px !important;
  gap: 0 !important;
  touch-action: pan-y;
}
.app.public-chat-open .mine-fab-cluster,
.app.public-chat-open .floating-return-menu,
.app.public-chat-open #marketingTicker {
  display: none !important;
}
.app.public-chat-open {
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  height: var(--gls-layout-height, 100dvh) !important;
  max-height: var(--gls-layout-height, 100dvh) !important;
  padding-bottom: var(--gls-bottom-nav-height, 72px) !important;
}
.public-chat-page,
.public-chat-page.active {
  min-height: 0 !important;
}
.app.public-chat-open #publicChatPage .public-chat-composer {
  position: relative !important;
  z-index: 10;
  margin-top: 6px;
  background: #fff;
}
#publicChatPage .chat-virt-sizer {
  position: relative !important;
  height: auto;
  overflow: visible !important;
  transform: none !important;
  pointer-events: auto;
}
#publicChatPage .chat-virt-window {
  position: absolute !important;
  transform: translate3d(0, 0, 0);
  height: auto !important;
  overflow: visible !important;
}
#publicChatPage .chat-virt-head,
#publicChatPage .chat-virt-foot {
  position: absolute !important;
  height: auto !important;
  overflow: visible !important;
}
@media (max-width: 720px) {
  .app.public-chat-open .top-header {
    display: none !important;
    padding: 10px 12px 8px !important;
  }
  .app.public-chat-open > #publicChatPage.page.active {
    padding: 8px 8px 4px !important;
  }
  #publicChatPage .public-chat-header {
    padding: 8px 10px !important;
    grid-template-columns: 36px minmax(0,1fr) auto;
    gap: 8px;
  }
  #publicChatPage .public-chat-title-icon { width: 36px; height: 36px; border-radius: 12px; }
  #publicChatPage .public-chat-header h2 { font-size: 15px; }
  #publicChatPage .public-chat-header p { display: none; }
  #publicChatPage .public-chat-announcement {
    margin: 6px 0 4px;
    padding: 6px 10px;
  }
  #publicChatPage .public-chat-announcement p {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  #publicChatPage .public-chat-quick-messages {
    padding: 0 0 4px;
    max-height: 38px;
  }
  #publicChatPage .public-chat-status { display: none !important; }
  #publicChatPage .public-chat-composer {
    margin-top: 4px;
    padding: 6px !important;
  }
  #publicChatPage .public-chat-reply-bar { margin-top: 4px; padding: 6px 8px; }
}
.wallet-balance-footer { display:grid; grid-template-columns:1fr 1fr; gap:10px 12px; }
.dating-card { flex-wrap:wrap; gap:12px; }
.dating-card-meter { width:160px; height:6px; border-radius:99px; background:#f1e6f6; overflow:hidden; margin:6px 0; }
.dating-card-meter i { display:block; height:100%; width:0; background:linear-gradient(90deg,#9d4edd,#ec4899); }
.dating-buttons { display:flex; flex-wrap:wrap; gap:8px; }
.buy-btn.featured-pack { background:linear-gradient(135deg,#7c3aed,#db2777); color:#fff; }
#publicChatPage .public-chat-composer {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  grid-template-columns: 40px 40px minmax(0, 1fr) 44px !important;
}
#publicChatPage .public-chat-composer textarea {
  min-width: 0;
  width: 100%;
  font-size: 16px !important;
}
#publicChatPage .public-chat-message-main {
  max-width: min(86%, calc(100% - 12px));
  min-width: 0;
}
#publicChatPage .public-chat-bubble {
  max-width: 100%;
  box-sizing: border-box;
}
@media (max-width: 720px) {
  .app {
    max-width: 100%;
    width: 100%;
    padding-bottom: calc(72px + env(safe-area-inset-bottom, 0px));
  }
  .app.public-chat-open,
  .app.support-open,
  .app.chat-open {
    padding-bottom: 0 !important;
  }
  .app.public-chat-open .bottom-nav {
    position: relative;
    z-index: 6;
  }
  .page {
    padding-left: max(10px, env(safe-area-inset-left));
    padding-right: max(10px, env(safe-area-inset-right));
  }
  #customersPage .virt-window.card-grid,
  #customersList .virt-window.card-grid,
  #customersPage .virt-window.host-card-grid,
  #customersList .virt-window.host-card-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 7px !important;
  }
  #productsPage .virt-window.product-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
  .gl-host-card .gl-host-actions button { font-size: 11px !important; }
  .gl-host-card .gl-host-actions button span { font-size: 11px !important; }
  #publicChatPage .public-chat-rich-text { font-size: 15px !important; line-height: 1.45; }
  #publicChatPage .public-chat-message-meta { font-size: 11px; }
  #publicChatPage .public-chat-message-actions button {
    min-height: 34px;
    padding: 6px 10px;
    font-size: 12px;
  }
  #chatPage #chatInput,
  #supportPage #supportInput,
  #publicChatPage #publicChatInput {
    font-size: 16px !important;
  }
}
#productsPage .refined-product-card .product-preview-stage.is-peeking .product-main-photo { opacity: 0; }
#productsPage .refined-product-card .product-preview-stage.is-peeking .product-hover-photo { opacity: 1; }
#productsPage .product-peek-dots {
  position: absolute;
  z-index: 6;
  left: 50%;
  bottom: 8px;
  display: flex;
  gap: 4px;
  transform: translateX(-50%);
  pointer-events: none;
}
#productsPage .product-peek-dots i {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: rgba(255,255,255,.42);
  box-shadow: 0 0 0 1px rgba(0,0,0,.12);
}
#productsPage .product-peek-dots i.is-on { background: #fff; }
#productsPage .product-peek-btn {
  position: absolute;
  z-index: 6;
  right: 8px;
  bottom: 8px;
  min-width: 28px;
  height: 22px;
  padding: 0 7px;
  border: 0;
  border-radius: 999px;
  background: rgba(22, 12, 32, .62);
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  line-height: 22px;
  touch-action: manipulation;
}
@media (hover: hover) and (pointer: fine) {
  #productsPage .refined-product-card:hover .has-detail-preview .product-peek-dots i:first-child { background: rgba(255,255,255,.42); }
  #productsPage .refined-product-card:hover .has-detail-preview .product-peek-dots i:last-child { background: #fff; }
}
@media (max-width: 520px) {
  #productsPage .refined-product-card .product-info {
    min-height: 0 !important;
    padding: 8px 8px 10px !important;
  }
  #productsPage .refined-product-card .product-info h4 {
    font-size: 12px !important;
  }
  #productsPage .refined-product-card .product-card-actions button {
    min-height: 36px;
    font-size: 12px !important;
  }
}
#productsPage .refined-product-card {
  content-visibility: auto;
  contain-intrinsic-width: none;
  contain-intrinsic-height: auto 320px;
}
.conversation-card {
  content-visibility: auto;
  contain-intrinsic-width: none;
  contain-intrinsic-height: auto 92px;
}
.finance-record-card,
.dating-record-item,
.account-log-card {
  content-visibility: auto;
  contain-intrinsic-width: none;
  contain-intrinsic-height: auto 88px;
}
.product-category-section {
  content-visibility: visible !important;
  contain-intrinsic-size: none;
}
#productsPage .product-category-grid {
  display: grid !important;
}
#productsPage .product-category-section .shop-load-more {
  grid-column: 1 / -1;
}
.chat-virt-item,
.chat-virt-window,
.virt-window,
.gl-host-img,
.product-main-photo {
  content-visibility: visible !important;
}
@supports not (contain-intrinsic-height: auto 220px) {
  #customersPage .gl-host-card { contain-intrinsic-height: 220px; }
  #productsPage .refined-product-card { contain-intrinsic-height: 320px; }
  .conversation-card { contain-intrinsic-height: 92px; }
  .finance-record-card,
  .dating-record-item,
  .account-log-card { contain-intrinsic-height: 88px; }
}
.app.chat-open #chatPage .chat-thread-stage {
  flex: 1 1 0% !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: hidden !important;
  isolation: auto;
  pointer-events: auto !important;
}
.app.chat-open #chatPage #chatMessages.chat-messages,
.app.chat-open #chatPage .chat-messages {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 0% !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-y !important;
  pointer-events: auto !important;
}
.app.chat-open #chatPage .chat-input-bar {
  flex: 0 0 auto !important;
  position: relative !important;
  pointer-events: auto !important;
}
.app.support-open #supportPage .chat-thread-stage,
.app.support-open #supportPage .support-messages {
  flex: 1 1 0% !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  touch-action: pan-y !important;
  -webkit-overflow-scrolling: touch;
}
.app.chat-open #chatPage #chatMessages,
.app.support-open #supportPage .support-messages {
  overflow-y: scroll !important;
  overscroll-behavior: contain;
}
@media (pointer: fine) {
  html.gls-chat-lock,
  html.gls-chat-lock body,
  html.gls-chat-lock .app {
    overflow: hidden !important;
  }
  .app.chat-open #chatPage #chatMessages {
    scrollbar-width: thin;
    scrollbar-color: rgba(124, 58, 237, .55) transparent;
  }
  .app.chat-open #chatPage #chatMessages::-webkit-scrollbar { width: 8px; }
  .app.chat-open #chatPage #chatMessages::-webkit-scrollbar-thumb {
    border-radius: 99px;
    background: rgba(124, 58, 237, .45);
  }
}
.app.chat-open #chatPage .chat-thread-stage {
  position: relative !important;
  flex: 1 1 0% !important;
  min-height: 0 !important;
  overflow: hidden !important;
  isolation: auto !important;
}
.app.chat-open #chatPage #chatMessages,
.app.chat-open #chatPage #chatMessages.chat-messages,
.app.chat-open #chatPage .chat-messages {
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  flex: none !important;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
  touch-action: pan-y !important;
  pointer-events: auto !important;
  -webkit-overflow-scrolling: touch;
}
.app.chat-open #chatPage .chat-virt-sizer {
  display: block !important;
  flex: none !important;
  width: 100% !important;
  min-height: 1px !important;
}
@media (pointer: fine) {
  .app.chat-open #chatPage #chatMessages {
    overflow-y: scroll !important;
    scrollbar-width: thin;
    scrollbar-color: rgba(124, 58, 237, .5) transparent;
  }
}
.app.support-open #supportPage .chat-thread-stage {
  position: relative !important;
  flex: 1 1 0% !important;
  min-height: 0 !important;
  overflow: hidden !important;
}
.app.support-open #supportPage .support-messages,
.app.support-open #supportPage #supportMessages {
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  flex: none !important;
  width: 100% !important;
  height: auto !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  touch-action: pan-y !important;
  pointer-events: auto !important;
}
.app.chat-open #marketingTicker,
.app.chat-open .marketing-ticker,
.app.support-open #marketingTicker,
.app.support-open .marketing-ticker {
  display: none !important;
}
@media (max-width: 719px) {
  #customersPage #customersList.host-card-grid,
  #customersList.host-card-grid,
  #customersPage .card-grid.host-card-grid,
  #customersPage .virt-window.host-card-grid,
  #customersVirtualHost .virt-window.host-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
}
@media (min-width: 1024px) {
  .app,
  .bottom-nav {
    max-width: 1180px;
  }
  #customersPage #customersList.host-card-grid,
  #customersList.host-card-grid,
  #customersPage .card-grid.host-card-grid,
  #customersPage .virt-window.host-card-grid,
  #customersVirtualHost .virt-window.host-card-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
  }
  #customersPage .gl-host-photo {
    aspect-ratio: 3 / 4;
  }
  #customersPage .gl-host-caption h4 {
    font-size: 20px;
  }
  #customersPage .gl-host-caption p {
    font-size: 13px;
  }
  #customersPage .gl-host-actions {
    padding: 8px;
    gap: 8px;
  }
  #customersPage .gl-host-actions button {
    min-height: 40px !important;
    height: 40px !important;
    font-size: 14px !important;
    gap: 6px;
  }
  #customersPage .gl-host-actions button svg {
    width: 15px;
    height: 15px;
  }
}
.product-detail-page,
.product-detail-content,
.product-detail-card,
.product-detail-hero,
.product-hero-rail,
.product-related,
.product-related-rail,
.product-info-grid-detail,
.product-variant-picker,
.product-purchase-dock,
#productPurchaseDock,
#productPurchaseDock .product-purchase-panel {
  min-width: 0 !important;
  max-width: 100%;
  box-sizing: border-box;
}
.product-detail-content {
  width: 100%;
  overflow-x: clip;
}
.product-detail-hero,
.product-detail-hero.has-photo,
.product-detail-hero.is-gallery {
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
}
.product-hero-rail {
  flex: 1 1 auto;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}
.product-hero-slide {
  flex: 0 0 100% !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
}
.product-info-grid-detail {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}
.product-related-rail {
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-x: contain;
}
.product-purchase-panel {
  width: 100%;
  max-width: 100%;
  grid-template-columns: minmax(0, 1fr) auto !important;
}
#productPurchaseDock {
  left: 50%;
  width: min(520px, calc(100vw - 16px));
  max-width: min(520px, calc(100% - 16px));
  transform: translateX(-50%);
}
@media (max-width: 900px) {
  .product-info-grid-detail {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (min-width: 1024px) {
  .app #productPurchaseDock,
  #productPurchaseDock {
    width: min(1180px, calc(100% - 24px));
    max-width: min(1180px, calc(100% - 24px));
  }
  .product-detail-hero,
  .product-detail-hero.has-photo,
  .product-detail-hero.is-gallery {
    aspect-ratio: auto;
    height: min(52vh, 520px);
    max-height: min(52vh, 520px) !important;
  }
  .product-hero-rail,
  .product-hero-slide { min-height: 280px; height: 100%; }
}
@media (max-width: 767px) {
  #productPurchaseDock {
    width: min(520px, calc(100vw - 16px));
    max-width: calc(100vw - 16px);
  }
}
#productDetailPage .product-detail-hero.has-photo,
#productDetailPage .product-detail-hero.is-gallery {
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
}
#productDetailPage .product-hero-rail,
#productDetailPage .product-hero-slide {
  position: relative !important;
  height: auto !important;
  min-height: 220px !important;
  max-height: none !important;
}
#productDetailPage .product-hero-slide {
  display: grid !important;
  place-items: center;
  padding: 16px !important;
  background: #f6f1f8 !important;
}
#productDetailPage .product-hero-slide img,
#productDetailPage .product-detail-hero img {
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: min(72vh, 760px) !important;
  object-fit: contain !important;
  object-position: center !important;
}
#productDetailPage .detail-gallery img,
#productDetailPage .gallery-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  background: #f6f1f8;
}
#productsPage .product-main-photo,
#productsPage .product-hover-photo,
#productsPage .refined-product-card .product-main-photo,
#productsPage .refined-product-card .product-hover-photo {
  object-fit: contain !important;
  object-position: center !important;
}
#productDetailPage,
#productDetailPage .product-detail-content,
#productDetailPage .product-detail-card {
  overflow-x: clip !important;
  overflow-y: visible !important;
}
.media-viewer-mode { display: none !important; }
.media-viewer-toolbar { grid-template-columns: auto minmax(0,1fr) auto !important; }
.media-viewer-stage,
.media-viewer.natural-media .media-viewer-stage {
  display: grid !important;
  place-items: center !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  min-width: 0 !important;
  min-height: 0 !important;
}
.media-viewer-stage img,
.media-viewer-stage video,
.media-viewer.natural-media .media-viewer-stage img {
  box-sizing: border-box !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  cursor: zoom-in !important;
}
.media-viewer-stage video { cursor: default !important; }
.media-viewer.is-zoomed .media-viewer-stage,
.media-viewer.is-zoomed.natural-media .media-viewer-stage {
  display: block !important;
  overflow: auto !important;
  align-items: unset !important;
  justify-content: unset !important;
  place-items: unset !important;
}
.media-viewer.is-zoomed .media-viewer-stage img,
.media-viewer.is-zoomed.natural-media .media-viewer-stage img {
  width: auto !important;
  height: auto !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: none !important;
  margin: 0 auto;
  cursor: zoom-out !important;
}
#productDetailPage .product-hero-rail {
  display: flex !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x;
  scrollbar-width: none;
}
#productDetailPage .product-hero-rail::-webkit-scrollbar { display: none; }
#productDetailPage .product-hero-slide {
  flex: 0 0 100% !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  scroll-snap-align: start;
  scroll-snap-stop: always;
  cursor: pointer;
}
.product-hero-dots {
  display: flex;
  justify-content: center;
  gap: 6px;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 12px;
  z-index: 4;
  pointer-events: auto;
}
.product-hero-dots button {
  width: 7px;
  height: 7px;
  padding: 0;
  border: 0;
  border-radius: 99px;
  background: rgba(255,255,255,.45);
}
.product-hero-dots button.is-on {
  width: 16px;
  background: #fff;
}
.product-hero-hint {
  display: none;
  margin: 8px 0 0;
  color: #8a7a90;
  font-size: 12px;
  text-align: center;
}
@media (pointer: coarse), (max-width: 767px) {
  .product-hero-hint { display: block; }
  #productDetailPage .product-hero-slide img {
    max-height: min(58vh, 520px) !important;
  }
  #productDetailPage {
    padding-bottom: calc(128px + env(safe-area-inset-bottom, 0px));
  }
}
#customerDetailPage .detail-cover.has-photo.is-gallery {
  position: relative;
  overflow: hidden;
  min-height: 280px;
}
#customerDetailPage .host-hero-rail {
  min-height: 280px;
}
#customerDetailPage .detail-cover-mask,
#customerDetailPage .detail-user-row {
  pointer-events: none;
}
#customerDetailPage .detail-user-row { z-index: 3; }
#customerDetailPage .host-hero-rail,
#customerDetailPage .product-hero-dots,
#customerDetailPage .product-hero-count {
  pointer-events: auto;
  z-index: 4;
}
.product-related-rail {
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x;
}
.product-related-card {
  scroll-snap-align: start;
}
#customerDetailPage {
  padding-bottom: calc(28px + env(safe-area-inset-bottom, 0px));
}
.product-reviews { display: grid; gap: 14px; }
.product-reviews-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.product-reviews-head h3 { margin: 0; font-size: 16px; color: #3a2c3f; display: flex; align-items: center; gap: 8px; }
.product-reviews-head small { min-width: 22px; padding: 1px 8px; border-radius: 999px; background: #f6e9f8; color: #8a398c; font-size: 11px; font-weight: 800; text-align: center; }
.product-reviews-score { color: #e83f8c; font-size: 22px; font-weight: 900; }
.product-reviews-loading, .product-review-hint, .product-reviews-empty { margin: 0; color: #8d8091; font-size: 13px; line-height: 1.6; }
.product-reviews-empty { padding: 18px 8px; text-align: center; border: 1px dashed #eadff0; border-radius: 14px; background: #fdfafd; }
.product-review-composer { display: grid; gap: 10px; padding: 12px; border: 1px solid #f0e3f4; border-radius: 16px; background: linear-gradient(180deg, #fffafc, #fff); }
.product-review-composer-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.product-review-composer-top b { color: #5a3d61; font-size: 13px; }
.product-review-composer textarea { width: 100%; min-height: 88px; padding: 10px 12px; border: 1px solid #eadff0; border-radius: 12px; background: #fff; color: #3a2c3f; font: inherit; resize: vertical; }
.product-review-composer-actions { display: flex; align-items: center; gap: 8px; }
.product-review-add-photo, .product-review-composer-actions button[type="submit"] { min-height: 38px; padding: 0 14px; border: 0; border-radius: 11px; font-weight: 800; }
.product-review-add-photo { background: #f3e8f7; color: #82448d; }
.product-review-composer-actions button[type="submit"] { margin-left: auto; background: linear-gradient(135deg, #a855f7, #ec4899); color: #fff; }
.product-review-stars { display: inline-flex; gap: 2px; color: #e4d5ea; font-size: 16px; letter-spacing: 1px; }
.product-review-stars .is-on, .product-review-star.is-on { color: #f4b400; }
.product-review-star { padding: 0; border: 0; background: transparent; color: inherit; font-size: 20px; line-height: 1; }
.product-review-list { display: grid; gap: 12px; }
.product-review-item { display: grid; gap: 8px; padding-top: 12px; border-top: 1px solid #f3eaf5; }
.product-review-item:first-child { border-top: 0; padding-top: 0; }
.product-review-meta { display: grid; grid-template-columns: 36px 1fr auto; gap: 10px; align-items: center; }
.product-review-avatar { width: 36px; height: 36px; border-radius: 50%; background: #f4eaf6 center/cover no-repeat; }
.product-review-meta b { display: block; color: #3a2c3f; font-size: 13px; }
.product-review-meta small { color: #9a879e; font-size: 11px; }
.product-review-item p { margin: 0; color: #534058; font-size: 14px; line-height: 1.65; white-space: pre-wrap; }
.product-review-photos { display: flex; flex-wrap: wrap; gap: 8px; }
.product-review-photo { position: relative; width: 72px; height: 72px; padding: 0; overflow: hidden; border: 0; border-radius: 12px; background: #f7f1f8; }
.product-review-photo img { width: 100%; height: 100%; object-fit: cover; }
.product-review-photos.is-draft .product-review-photo button { position: absolute; top: 4px; right: 4px; width: 18px; height: 18px; border: 0; border-radius: 50%; background: rgba(40,20,46,.72); color: #fff; font-size: 12px; line-height: 18px; }
.hidden-file { display: none; }
@media (max-width: 720px) {
  .product-review-photo { width: 64px; height: 64px; }
}
.gl-host-img,
.profile-main-photo,
.product-main-photo,
.product-hover-photo,
.product-image-preview-button .product-main-photo,
.product-image-preview-button .product-hover-photo,
.detail-cover-photo-button img,
.product-detail-photo-button img,
.gallery-item img,
.paid-media-grid img,
.paid-video-list video,
.detail-video-player,
.dating-card-product-image-wrap img,
.product-hero-slide img,
.product-detail-hero img,
.public-chat-media,
.public-chat-media.video,
#chatPage .chat-inline-media,
#supportPage .chat-inline-media,
#supportPage .support-inline-media,
#chatPage .chat-media-stage img,
#chatPage .chat-media-stage video,
.chat-locked-media-card.unlocked img,
.chat-locked-media-card.unlocked video {
  object-fit: contain !important;
  object-position: center center !important;
}
.gl-host-img,
.profile-main-photo,
.detail-cover-photo-button img {
  object-position: center top !important;
}
.gl-host-photo,
.gallery-item,
.paid-media-grid button,
.paid-video-card,
.dating-card-product-image-wrap,
.product-preview-stage {
  background-color: #f3ebf4;
}
.product-image-preview-button .product-hover-photo {
  transform: none !important;
}
.product-related-photo,
.host-pick-photo,
.host-pick-photo.has-photo {
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-color: #f3ebf4 !important;
}
#chatPage .chat-inline-media,
#supportPage .chat-inline-media,
#supportPage .support-inline-media,
.public-chat-media {
  width: auto !important;
  height: auto !important;
  max-width: min(240px, 68vw) !important;
  max-height: 280px !important;
  min-height: 0 !important;
}
.public-chat-media {
  max-width: min(260px, 64vw) !important;
  max-height: 330px !important;
}
.product-review-photo img,
#chatPage .chat-profile-hero img {
  object-fit: cover !important;
  object-position: center top !important;
}
.dating-selected-cover,
.dating-anchor-chip-photo {
  background-size: cover !important;
  background-position: center top !important;
}
.identity-reminder-card.hidden { display: none !important; }
.identity-reminder-card {
  margin-top: 10px;
  padding: 10px 12px;
  min-height: 0;
}
@media (max-width: 720px) {
  .mine-wallet-page {
    padding: 0 12px calc(96px + env(safe-area-inset-bottom, 0px));
  }
  .mine-top-card {
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center;
    gap: 8px;
    margin: 0 -12px 0;
    padding: 14px 14px 68px;
  }
  .mine-user-box { gap: 10px; }
  .mine-user-avatar { width: 52px; height: 52px; }
  .mine-user-info h3 { font-size: 16px; }
  .mine-user-info p {
    display: inline-flex;
    margin: 0 8px 0 0;
    font-size: 11px;
  }
  .mine-vip-badge { padding: 2px 6px; font-size: 10px; }
  .mine-profile-entry-button {
    width: auto !important;
    min-width: 0 !important;
    max-width: 112px;
    padding: 8px 10px;
    border-radius: 14px;
  }
  .mine-profile-entry-button small { display: none; }
  .mine-profile-entry-button b { font-size: 12px; }
  .mine-profile-entry-button em { width: 22px; height: 22px; font-size: 18px; }
  .wallet-balance-card {
    margin-top: -50px;
    padding: 14px 14px 10px;
  }
  .wallet-balance-head { margin-bottom: 6px; }
  .wallet-balance-amount { margin-bottom: 10px; }
  .wallet-balance-amount strong { font-size: 26px; }
  .wallet-balance-footer { padding-top: 10px; }
  .identity-reminder-card {
    margin-top: 8px;
    padding: 8px 10px;
    gap: 8px;
  }
  .identity-reminder-icon { width: 30px; height: 30px; border-radius: 10px; font-size: 14px; }
  .identity-reminder-card b { font-size: 12px; }
  .identity-reminder-card small { font-size: 9px; }
  .wallet-info-center { min-height: 56px; margin-top: 10px; padding: 10px 12px; }
  .wallet-info-right > span { display: none; }
  .icon-circle { width: 36px; height: 36px; border-radius: 12px; }
  .wallet-quick-actions { margin-top: 10px; gap: 8px; }
  .wallet-action-card { min-height: 58px; padding: 10px; }
  .wallet-action-copy small { display: none; }
  .wallet-action-icon { width: 38px; height: 38px; flex-basis: 38px; border-radius: 12px; }
  .wallet-common-box { margin-top: 10px; padding: 12px 10px 10px; }
  .wallet-section-heading { margin-bottom: 8px; }
  .wallet-section-heading h3 { font-size: 15px; }
  .wallet-section-heading p,
  .wallet-common-description { display: none; }
  .wallet-common-grid { gap: 8px; }
  .wallet-common-item {
    min-height: 58px;
    padding: 8px 8px;
    grid-template-columns: 34px minmax(0, 1fr) 12px;
    gap: 7px;
  }
  .wallet-common-icon { width: 34px; height: 34px; border-radius: 11px; }
  .wallet-common-label { font-size: 11px; }
  .wallet-common-item-wide { grid-column: 1 / -1; min-height: 52px; }
  .wallet-logout-btn { margin: 12px 0 8px; }
}
@media (max-width: 380px) {
  .mine-top-card { grid-template-columns: 1fr !important; }
  .mine-profile-entry-button { width: 100% !important; max-width: none; }
  .wallet-common-grid { grid-template-columns: 1fr; }
}
.user-avatar-fallback{
  display:flex;
  width:18px;
  height:18px;
  align-items:center;
  justify-content:center;
}
.user-avatar-fallback svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:#ec4899;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.public-chat-host-rail { display: grid; gap: 8px; margin: 0 0 10px; }
.public-chat-host-rail-copy small { color: #8a6b96; font-size: 11px; font-weight: 800; letter-spacing: .08em; }
.public-chat-host-rail-track { display: flex; gap: 8px; overflow-x: auto; padding: 2px 2px 6px; scrollbar-width: none; }
.public-chat-host-rail-track::-webkit-scrollbar { display: none; }
.public-chat-host-chip { display: grid; grid-template-columns: 36px 1fr; grid-template-rows: auto auto; column-gap: 8px; min-width: 168px; margin: 0; padding: 8px 10px; border: 1px solid #f0d7ea; border-radius: 16px; background: #fff; box-shadow: 0 8px 18px rgba(124, 58, 237, .06); text-align: left; cursor: pointer; }
.public-chat-host-chip .public-chat-avatar { grid-row: 1 / span 2; width: 36px; height: 36px; flex: none; }
.public-chat-host-chip b { font-size: 12px; color: #4a2458; }
.public-chat-host-chip small { color: #9a7aa6; font-size: 10px; }
.public-chat-host-chip.pinned { border-color: #e4b7ff; background: linear-gradient(180deg, #fbf4ff, #fff); }
.public-chat-pinned-hosts { display: grid; gap: 8px; margin: 0 0 10px; }
.public-chat-pinned-card { display: grid; grid-template-columns: 48px 1fr auto; gap: 10px; align-items: center; padding: 10px 12px; border: 1px solid #edc7ff; border-radius: 18px; background: linear-gradient(135deg, #f8efff, #fff); box-shadow: 0 10px 24px rgba(124, 58, 237, .08); cursor: pointer; }
.public-chat-pinned-card small { display: block; color: #a855f7; font-size: 10px; font-weight: 800; letter-spacing: .06em; }
.public-chat-pinned-card b { color: #431c53; }
.public-chat-pinned-card p { margin: 2px 0 0; color: #6d5778; font-size: 12px; }
.public-chat-pinned-card em { color: #7c3aed; font-size: 12px; font-style: normal; font-weight: 800; }
.public-chat-message.is-host-card { align-items: stretch; }
.public-chat-host-card { display: grid; gap: 8px; width: min(100%, 360px); padding: 12px; border: 1px solid #f0d4ea; border-radius: 20px; background: linear-gradient(180deg, #fff8fc, #fff); box-shadow: 0 12px 28px rgba(124, 58, 237, .08); }
.public-chat-host-card-head { display: grid; grid-template-columns: 52px 1fr; gap: 10px; align-items: center; cursor: pointer; }
.public-chat-avatar.lg { width: 52px; height: 52px; flex: none; border-radius: 16px; font-size: 18px; }
.public-chat-host-name { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.public-chat-host-name b { color: #431c53; font-size: 14px; }
.public-chat-host-meta { margin: 2px 0 0; color: #8d6f97; font-size: 11px; }
.public-chat-bubble.host { max-width: 100%; background: #fff; border: 1px solid #f4e4f0; }
.public-chat-host-cta { justify-self: start; padding: 8px 14px; border: 0; border-radius: 999px; background: linear-gradient(135deg, #7c3aed, #db2777); color: #fff; font-size: 12px; font-weight: 800; cursor: pointer; }
.public-chat-message.is-continue { margin-top: 2px; }
.public-chat-message.is-continue .public-chat-avatar { visibility: hidden; }
.public-chat-message.is-continue .public-chat-message-meta { display: none; }
.public-chat-message.is-host-card.is-continue { margin-top: 0; }
.public-chat-host-card.stacked { padding-top: 0; box-shadow: none; border-top: 0; border-radius: 0 0 20px 20px; }
.public-chat-message.is-host-card.is-stack .public-chat-host-card { border-bottom: 0; border-radius: 20px 20px 0 0; padding-bottom: 4px; }
.public-chat-message.is-host-card.is-continue.is-stack .public-chat-host-card { border-radius: 0; }
.public-chat-quick-messages button.is-host-quick { border-color:#e4b7ff; background:linear-gradient(180deg,#fbf4ff,#fff); color:#6d28d9; }
.public-chat-host-rail.is-quiet { margin-bottom: 14px; padding: 10px; border: 1px solid #edc7ff; border-radius: 20px; background: linear-gradient(180deg, #fbf4ff, #fff); }
.public-chat-host-rail.is-quiet .public-chat-host-rail-copy small { color: #7c3aed; font-size: 13px; letter-spacing: .04em; }
.public-chat-host-rail.is-quiet .public-chat-host-chip { min-width: 196px; padding: 12px; }
.public-chat-host-rail.is-quiet .public-chat-avatar { width: 48px; height: 48px; }
.public-chat-host-card-actions { display:flex; gap:8px; align-items:center; }
.public-chat-host-reply { border:0; background:transparent; color:#9a7aa6; font-size:12px; cursor:pointer; }
.public-chat-reply-nudge { display:flex; gap:8px; align-items:center; margin-top:6px; }
.public-chat-reply-nudge p { margin:0; color:#7c3aed; font-size:12px; font-weight:700; }
.public-chat-reply-nudge button { padding:6px 12px; border:0; border-radius:999px; background:linear-gradient(135deg,#7c3aed,#db2777); color:#fff; font-size:12px; font-weight:800; cursor:pointer; }
.public-chat-host-rail-copy.shelf small { color:#9a7aa6; }
.public-chat-host-chip.is-shelf { border-style: dashed; background:#fff; box-shadow:none; }
.public-chat-pinned-hosts { transition: opacity .28s ease, transform .28s ease; }
.public-chat-pinned-hosts.is-leaving { opacity: 0; transform: translateY(-12px); pointer-events: none; }
.nav-unread { position: absolute; top: -4px; right: -6px; min-width: 16px; height: 16px; padding: 0 4px; border-radius: 999px; background: #db2777; color: #fff; font-size: 10px; line-height: 16px; font-weight: 800; }
.nav-unread.hidden { display: none; }
.public-chat-pinned-card { position: relative; }
.public-chat-pin-dismiss { position: absolute; top: 6px; right: 6px; width: 22px; height: 22px; border: 0; border-radius: 999px; background: rgba(0,0,0,.35); color: #fff; font-size: 14px; line-height: 22px; cursor: pointer; }
.public-chat-host-rail-copy { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.public-chat-host-rail-toggle { border: 0; background: transparent; color: #9a7aa6; font-size: 12px; cursor: pointer; }
.public-chat-host-rail.is-collapsed .public-chat-host-rail-track { display: none; }
.public-chat-pinned-card { display: grid; grid-template-columns: auto 1fr auto; gap: 8px; align-items: center; }
.public-chat-pinned-photo { width: 72px; height: 72px; object-fit: cover; border-radius: 12px; grid-column: 1 / -1; width: 100%; height: 140px; }
@media (max-width: 720px) {
  .public-chat-page.active {
    padding: 8px 10px 8px;
    height: auto;
    min-height: 0;
    flex: 1 1 auto;
  }
  #publicChatPage .public-chat-announcement,
  #publicChatPage #publicChatVirtualDisclosure,
  #publicChatPage .public-chat-subtitle,
  #publicChatPage .public-chat-header p {
    display: none !important;
  }
  #publicChatPage .public-chat-header {
    padding: 8px 10px;
    border-radius: 14px;
    margin: 0 0 6px;
  }
  #publicChatPage .public-chat-header h2 { font-size: 16px; margin: 0; }
  #publicChatPage .public-chat-message-stage {
    min-height: 42vh;
    flex: 1 1 auto;
  }
  .public-chat-host-rail { gap: 4px; margin: 0 0 6px; }
  .public-chat-host-rail-toggle { display: none; }
  .public-chat-host-rail-copy { margin: 0; }
  .public-chat-host-rail-copy small { font-size: 10px; }
  .public-chat-host-chip {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 58px;
    width: 58px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    grid-template-columns: none;
  }
  .public-chat-host-chip .public-chat-avatar {
    grid-row: auto;
    width: 52px;
    height: 52px;
    border-radius: 50%;
  }
  .public-chat-host-chip b {
    max-width: 58px;
    margin-top: 4px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 10px;
    font-weight: 700;
  }
  .public-chat-host-chip small { display: none; }
  .public-chat-host-chip.pinned .public-chat-avatar { box-shadow: 0 0 0 2px #7c3aed; }
  .public-chat-pinned-hosts { margin: 0 0 6px; }
  .public-chat-pinned-card {
    grid-template-columns: 40px minmax(0, 1fr) 56px;
    gap: 8px;
    padding: 8px 28px 8px 8px;
    border-radius: 14px;
  }
  .public-chat-pinned-card .public-chat-avatar.lg,
  .public-chat-pinned-card .public-chat-avatar {
    width: 40px;
    height: 40px;
    border-radius: 12px;
  }
  .public-chat-pinned-card em { display: none; }
  .public-chat-pinned-photo {
    grid-column: auto !important;
    width: 56px !important;
    height: 56px !important;
    border-radius: 10px;
  }
  .public-chat-quick-messages { padding: 0 0 6px; }
  .public-chat-quick-messages button {
    font-size: 13px;
    padding: 8px 12px;
    min-height: 36px;
  }
  .public-chat-host-card { width: 100%; padding: 10px; }
  .public-chat-host-card-actions {
    display: flex !important;
    justify-content: flex-start;
    align-items: center;
    gap: 8px;
  }
  .public-chat-host-cta,
  .public-chat-message-actions button {
    min-height: 36px;
    padding: 7px 14px;
    font-size: 13px;
  }
  .public-chat-host-cta {
    display: inline-flex !important;
    width: auto !important;
    max-width: max-content;
    justify-self: start;
    border-radius: 999px;
    color: #fff !important;
  }
  .public-chat-host-card .public-chat-more { display: none; }
  .public-chat-host-card {
    padding: 8px 10px 10px !important;
    box-shadow: none !important;
  }
  .nav-icon { position: relative; }
  .nav-unread {
    top: -5px;
    right: -7px;
    left: auto;
  }
}
img.public-chat-media, .public-chat-bubble img {
  max-width: 100%;
  width: min(280px, 100%);
  height: auto;
  border-radius: 12px;
  display: block;
}
@media (max-width: 720px) {
  img.public-chat-media, .public-chat-bubble img {
    width: 100%;
    max-width: 100%;
    max-height: 168px;
    height: 168px;
    object-fit: cover;
  }
  .public-chat-host-card {
    box-shadow: none;
    padding: 8px 8px 10px;
  }
}
@media (max-width: 720px) {
  .public-chat-host-reply { display: none; }
  .public-chat-host-card-actions { width: 100%; }
}
.public-chat-host-card-actions { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 8px; align-items: center; }
.public-chat-more { position: relative; justify-self: start; }
.public-chat-more-toggle { width: 36px; height: 36px; border: 0; border-radius: 999px; background: #f6eef8; color: #7c6084; font-size: 18px; line-height: 1; cursor: pointer; }
.public-chat-more-menu { position: absolute; left: 0; bottom: 40px; z-index: 8; display: grid; min-width: 132px; padding: 6px; border-radius: 12px; background: #fff; box-shadow: 0 10px 24px rgba(60,30,80,.16); }
.public-chat-more-menu[hidden] { display: none; }
.public-chat-more-menu button { display: block; width: 100%; padding: 10px 12px; border: 0; background: transparent; text-align: left; font-size: 13px; color: #4a2458; }
.public-chat-host-chip.is-fresh .public-chat-avatar { box-shadow: 0 0 0 2px #db2777; }
@media (max-width: 720px) {
  #publicChatPinnedHosts { display: none !important; }
  #publicChatPage .public-chat-quick-messages { display: none; margin: 0 0 6px; }
  html.gls-keyboard-open #publicChatPage .public-chat-quick-messages { display: flex !important; }
  #publicChatPage #publicChatInput { font-size: 16px !important; }
  #publicChatPage .public-chat-composer { padding-bottom: max(8px, env(safe-area-inset-bottom, 0px)); }
}
.public-chat-message.is-host.is-continue:not(.is-host-card) {
  display: flex;
  justify-content: flex-start;
  margin: 2px 0 6px;
  padding: 0 8px 0 60px;
}
.public-chat-message.is-host.is-continue:not(.is-host-card) .public-chat-bubble.host {
  max-width: min(78%, 280px);
  box-shadow: none;
}
@media (max-width: 720px) {
  .public-chat-message.is-host.is-continue:not(.is-host-card) { padding-left: 12px; }
}
.unlocked-contact-actions { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.unlocked-contact-box a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.unlocked-contact-open { display: inline-flex; align-items: center; justify-content: center; color: #fff; background: #0088cc; border-radius: 999px; padding: 7px 18px; font-weight: 700; text-decoration: none !important; }
.contact-app-links { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 6px; }
.contact-app-link { display: grid; justify-items: start; gap: 2px; padding: 10px 12px; border-radius: 14px; text-decoration: none !important; color: #fff; min-height: 64px; }
.contact-app-link i { font-style: normal; font-size: 16px; }
.contact-app-link span { font-weight: 800; font-size: 14px; }
.contact-app-link small { opacity: .86; font-size: 11px; }
.contact-app-link.is-telegram { background: linear-gradient(135deg, #229ed9, #0088cc); }
.contact-app-link.is-whatsapp { background: linear-gradient(135deg, #25d366, #128c7e); }
@media (max-width: 720px) {
  .contact-app-links { grid-template-columns: 1fr 1fr; }
  .unlocked-contact-box b { font-size: 15px; }
}
.unlocked-contact-item { display: grid; gap: 6px; padding: 10px 0; }
.unlocked-contact-item + .unlocked-contact-item { border-top: 1px solid rgba(168, 85, 247, .12); }
.unlocked-contact-item small { color: #8b5cf6; font-weight: 700; }
.paid-pay-sheet { display: grid; gap: 12px; }
.paid-pay-sheet > p { margin: 0; color: #7a6a80; font-size: 13px; }
.paid-pay-options { display: grid; gap: 8px; }
.paid-pay-option { display: grid; gap: 4px; text-align: left; padding: 12px 14px; border: 1px solid #eadff0; border-radius: 14px; background: #fcf8fd; color: #4a3b52; }
.paid-pay-option b { font-size: 14px; }
.paid-pay-option span { color: #9b4d9c; font-size: 12px; font-weight: 700; }
.paid-pay-option:active { transform: scale(.99); }
.buy-btn.is-pack{background:linear-gradient(90deg,#8a3ea3,#d4569a);color:#fff;box-shadow:0 8px 16px rgba(138,62,163,.25)}
[data-dating-pack="2"].is-featured,[data-dating-pack="2"].active{background:linear-gradient(90deg,#fff4c4,#ffe08a);border-color:#c7922b;font-weight:800}
.recharge-amount-grid button .recharge-pass-tag,
.recharge-amount-grid button em.recharge-pass-tag {
  color:#6b2d86;
  background:linear-gradient(145deg,#f4e5fb,#ffe9d6);
}
#rechargePassCell.is-pass {
  border-color:#d7b4e6;
  background:linear-gradient(145deg,#fff,#f7e9fd);
}
#rechargePassCell.is-pass strong { color:#8a2f9b; }
.recharge-reward-preview.has-pass { border-color:#e0c4ee; }
