.mos-support-launcher {
  position: fixed; right: 20px; bottom: 20px; z-index: 2147483000;
  border: 1px solid #d6a83a; border-radius: 999px; padding: 11px 18px;
  background: #171717; color: #f1d47b; font: 600 14px/1.2 system-ui, sans-serif;
  box-shadow: 0 8px 28px rgba(0,0,0,.35); cursor: pointer;
}
.mos-support-panel {
  position: fixed; right: 20px; top: 72px; bottom: auto; z-index: 2147483001;
  width: min(380px, calc(100vw - 32px)); max-height: min(440px, calc(100vh - 80px));
  overflow: hidden; border: 1px solid rgba(160,119,35,.46); border-radius: 14px;
  background: linear-gradient(155deg, #171819 0%, #101112 54%, #0c0d0e 100%);
  color: #f1f1f1;
  box-shadow: 0 16px 38px rgba(0,0,0,.55), 0 0 14px rgba(184,135,25,.08);
  font: 13px/1.42 system-ui, sans-serif;
}
.mos-support-panel[hidden] { display: none; }
.mos-support-header {
  height: 62px; display: flex; align-items: center; gap: 8px;
  padding: 0 12px; color: #d6a83a;
  border-bottom: 1px solid rgba(255,255,255,.07);
  background: linear-gradient(180deg, #151617 0%, #101112 100%);
}
.mos-support-header-badge {
  flex: 0 0 34px; width: 34px; height: 34px; display: grid; place-items: center;
  border: 1px solid rgba(184,135,25,.55); border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, #24211a 0%, #171717 68%);
  color: #d6a83a; box-shadow: inset 0 0 12px rgba(214,168,58,.05);
}
.mos-support-header-svg { width: 18px; height: 18px; }
.mos-support-title {
  min-width: 0; flex: 1; display: flex; flex-direction: column;
  justify-content: center; line-height: 1.15;
}
.mos-support-title strong {
  color: #f6f3eb; font-size: 14px; font-weight: 700;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.mos-support-title span {
  margin-top: 2px; color: #aeb2b6; font-size: 10.5px;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.mos-support-icon {
  flex: 0 0 36px; width: 36px; height: 36px; padding: 0;
  border: 0; background: transparent; color: #c9cbcd; font-size: 19px;
  line-height: 1; cursor: pointer;
}
.mos-support-close { margin-left: auto; }
.mos-support-body { max-height: calc(min(440px, calc(100vh - 80px)) - 63px); overflow-y: auto; padding: 14px 16px; }
.mos-support-body h2 { margin: 0 0 12px; color: #f2d47a; font-size: 16px; }
.mos-support-stack, .mos-support-grid { display: grid; gap: 8px; }
.mos-support-grid { grid-template-columns: 1fr 1fr; }
.mos-support-product, .mos-support-choice, .mos-support-faq,
.mos-support-primary, .mos-support-secondary {
  min-height: 38px; border: 1px solid #35383a; border-radius: 9px;
  padding: 8px 12px; background: linear-gradient(145deg, #1b1d1e, #151617); color: #f2f2f0;
  cursor: pointer; font: inherit;
}
.mos-support-product {
  min-height: 62px; display: flex; align-items: center; justify-content: space-between;
  gap: 10px; padding: 9px 12px; text-align: left;
}
.mos-support-product-icon {
  flex: 0 0 28px; width: 28px; height: 28px; display: grid; place-items: center;
  border: 1px solid rgba(184,135,25,.42); border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, #222019, #141516 70%); color: #d6a83a;
}
.mos-support-product-svg { width: 18px; height: 18px; }
.mos-support-product-copy {
  min-width: 0; flex: 1; display: flex; flex-direction: column; gap: 2px;
}
.mos-support-product-copy strong {
  color: #f7f5ef; font-size: 13.5px; font-weight: 680; line-height: 1.25;
}
.mos-support-product-copy small {
  color: #b2b5b8; font-size: 11px; font-weight: 400; line-height: 1.25;
}
.mos-support-product-arrow {
  flex: 0 0 auto; color: #d6a83a; font-size: 16px; line-height: 1;
}
.mos-support-product.is-featured {
  border-color: rgba(184,135,25,.72);
  background: linear-gradient(135deg, rgba(214,168,58,.10), rgba(214,168,58,.025)), #18191a;
  box-shadow: 0 0 12px rgba(184,135,25,.07);
}
.mos-support-product:hover, .mos-support-product:focus-visible,
.mos-support-choice:hover, .mos-support-choice:focus-visible,
.mos-support-faq:hover, .mos-support-faq:focus-visible,
.mos-support-primary:hover, .mos-support-primary:focus-visible,
.mos-support-secondary:hover, .mos-support-secondary:focus-visible {
  border-color: rgba(214,168,58,.72);
  background: linear-gradient(0deg, rgba(214,168,58,.09), rgba(214,168,58,.09)), #1b1d1e;
  outline: none;
}
.mos-support-primary {
  border-color: #9a7420; background: rgba(214,168,58,.14);
  color: #f1d47b; font-weight: 700;
}
.mos-support-choice, .mos-support-faq, .mos-support-secondary { text-align: left; }
.mos-support-faq { width: 100%; margin: 0 0 8px; }
.mos-support-link { display: block; margin: 12px auto 0; border: 0; background: transparent; color: #d6a83a; cursor: pointer; }
.mos-support-privacy-note {
  margin: 12px 0 0; padding: 10px 0 0;
  border-top: 1px solid #303234; color: #92969a; font-size: 11px;
  line-height: 1.35; text-align: center;
}
.mos-support-answer { white-space: pre-wrap; color: #eee; }
.mos-support-label { display: block; margin: 10px 0 5px; color: #ddd; }
.mos-support-input, .mos-support-textarea {
  width: 100%; box-sizing: border-box; border: 1px solid #555; border-radius: 7px;
  background: #222; color: #fff; padding: 9px; font: inherit; resize: vertical;
}
.mos-support-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 14px; }
.mos-support-error { color: #ff7c73; min-height: 20px; }
.mos-support-muted { color: #aaa; }
.mos-support-ticket { color: #d6a83a; font-weight: 700; }
.mos-support-messages { display: grid; gap: 9px; margin-bottom: 12px; }
.mos-support-message { border-radius: 8px; padding: 9px 10px; background: #252525; }
.mos-support-message.is-admin { border-left: 3px solid #d6a83a; }
.mos-support-message p { margin: 4px 0 0; white-space: pre-wrap; overflow-wrap: anywhere; }
/* Desktop uses the header entry; mobile keeps the floating entry when space is tight. */
@media (min-width: 821px) {
  body.mos-support-has-header-trigger .site-header {
    grid-template-columns: 245px minmax(0, 1fr) max-content max-content;
    column-gap: 10px;
  }
  body.mos-support-has-header-trigger .mos-support-header-trigger {
    justify-self: end;
    min-width: 68px;
  }
  body.mos-support-has-header-trigger .mos-support-launcher { display: none; }
}
@media (min-width: 821px) and (max-width: 1100px) {
  body.mos-support-has-header-trigger .site-header {
    grid-template-columns: 205px minmax(0, 1fr) max-content max-content;
  }
}
@media (max-width: 820px) {
  .mos-support-header-trigger { display: none !important; }
  .mos-support-panel {
    top: auto !important; right: 10px; bottom: 10px !important;
    width: calc(100vw - 20px);
    max-height: 70vh;
  }
  .mos-support-body { max-height: calc(70vh - 63px); }
}
@media (max-width: 520px) {
  .mos-support-launcher { right: 10px; bottom: 10px; }
  .mos-support-panel { width: calc(100vw - 20px); }
  .mos-support-grid { grid-template-columns: 1fr; }
}


/* Phase 3B payment checkout */
.mos-support-payment-packages { display: grid; gap: 8px; }
.mos-support-payment-package {
  width: 100%; min-height: 54px; display: flex; align-items: center;
  justify-content: space-between; gap: 10px; padding: 9px 11px;
  border: 1px solid #3a3c3f; border-radius: 9px;
  background: linear-gradient(145deg, #1b1d1e, #151617); color: #f3f1eb;
  cursor: pointer; text-align: left;
}
.mos-support-payment-package:hover,.mos-support-payment-package:focus-visible {
  border-color: rgba(214,168,58,.72); outline: none;
  background: linear-gradient(0deg,rgba(214,168,58,.08),rgba(214,168,58,.08)),#1b1d1e;
}
.mos-support-payment-package strong { font-size: 13px; }
.mos-support-payment-package span { color: #d9bd6b; font-size: 11px; white-space: nowrap; }
.mos-support-payment-details {
  display: grid; gap: 5px; padding: 9px 10px; border: 1px solid #34373a;
  border-radius: 9px; background: rgba(255,255,255,.025);
}
.mos-support-payment-row { display: flex; justify-content: space-between; gap: 10px; font-size: 11px; }
.mos-support-payment-row>span { color: #9da1a5; }
.mos-support-payment-row>strong { color: #f2f2ef; text-align: right; overflow-wrap: anywhere; }
.mos-support-pay-amount { color: #f1d47b!important; font-size: 15px; letter-spacing: .2px; }
.mos-support-order-no { font-family: Consolas,monospace; font-size: 10px; }
.mos-support-payment-qr {
  width: 132px; min-height: 132px; margin: 10px auto 8px; padding: 7px;
  display: grid; place-items: center; border-radius: 9px; background: #fff;
}
.mos-support-payment-qr svg { display: block; width: 118px; height: 118px; }
.mos-support-payment-qr .mos-support-muted { color: #555; font-size: 10px; text-align: center; }
.mos-support-payment-label { display: block; margin: 5px 0 4px; color: #aeb2b6; font-size: 10px; }
.mos-support-payment-address {
  display: block; padding: 7px 8px; border: 1px solid #383b3e; border-radius: 7px;
  background: #111213; color: #f1f1ef; font: 10px/1.35 Consolas,monospace;
  overflow-wrap: anywhere; user-select: all;
}
.mos-support-payment-actions { margin-top: 7px; }
.mos-support-payment-actions button { flex: 1; text-align: center; }
.mos-support-copy-status { min-height: 14px; margin: 4px 0; color: #b8bdc1; font-size: 10px; text-align: center; }
.mos-support-payment-notices {
  margin: 7px 0; padding: 7px 9px; border-left: 2px solid #b88719;
  background: rgba(214,168,58,.06); color: #d8d9d6; font-size: 10px;
}
.mos-support-payment-notices p { margin: 2px 0; }
.mos-support-payment-status {
  display: grid; gap: 3px; margin: 7px 0; padding: 7px 9px;
  border: 1px solid #34373a; border-radius: 7px; color: #d6d7d5; font-size: 10px;
}
.mos-support-payment-status strong { color: #f1d47b; font-size: 11px; }
.mos-support-payment-status small { color: #aeb2b6; }
.mos-support-check-payment { width: 100%; text-align: center; }
