.onvo-loop-panel {
  display: none;
  margin: 1rem 0;
  padding: 1rem;
  border: 1px solid rgba(115, 103, 240, .2);
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(115, 103, 240, .045), rgba(40, 199, 111, .045));
  color: #344054;
}
.onvo-loop-panel.is-visible { display: block; }
.onvo-loop-panel__heading { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-bottom: .75rem; }
.onvo-loop-panel__heading h4 { margin: 0; color: #283046; font-weight: 700; font-size: 1rem; }
.onvo-loop-panel__eyebrow { margin: 0 0 .2rem; color: #7367f0; font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.onvo-loop-panel__badge { flex: 0 0 auto; border-radius: 999px; padding: .3rem .65rem; background: rgba(115, 103, 240, .1); color: #6658dd; font-size: .75rem; font-weight: 700; }
.onvo-loop-panel__loading, .onvo-loop-panel__unavailable p, .onvo-loop-panel__notice { margin: 0; color: #6e6b7b; line-height: 1.5; }
.onvo-loop-panel__toggle { display: flex; align-items: flex-start; gap: .7rem; cursor: pointer; }
.onvo-loop-panel__toggle input { flex: 0 0 auto; width: 1.15rem; height: 1.15rem; margin-top: .15rem; accent-color: #7367f0; }
.onvo-loop-panel__toggle span { display: grid; gap: .2rem; }
.onvo-loop-panel__toggle strong { color: #283046; }
.onvo-loop-panel__toggle small { color: #6e6b7b; font-size: .84rem; line-height: 1.45; }
.onvo-loop-panel__terms { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; margin: .85rem 0 0; }
.onvo-loop-panel__terms > div { min-width: 0; padding: .65rem .75rem; border-radius: 10px; background: rgba(255,255,255,.76); }
.onvo-loop-panel__terms dt { color: #82868b; font-size: .72rem; font-weight: 700; }
.onvo-loop-panel__terms dd { margin: .2rem 0 0; color: #283046; font-weight: 700; overflow-wrap: anywhere; }
.onvo-loop-panel__notice { margin-top: .75rem; padding: .65rem .75rem; border-radius: 10px; background: rgba(255, 159, 67, .12); }
.onvo-loop-panel__legal { margin-top:.85rem; padding:.8rem; border:1px solid rgba(115,103,240,.18); border-radius:10px; background:rgba(255,255,255,.72); }
.onvo-loop-panel__legal-check { display:flex; align-items:flex-start; gap:.55rem; color:#283046; line-height:1.45; cursor:pointer; }
.onvo-loop-panel__legal-check input { flex:0 0 auto; width:1.05rem; height:1.05rem; margin-top:.15rem; accent-color:#7367f0; }
.onvo-loop-panel__legal-check input:disabled { cursor:not-allowed; }
.onvo-loop-panel__legal-status { min-height:0; margin:.35rem 0 0; color:#b45309; font-size:.82rem; }
.onvo-loop-panel__legal.has-consent-error,
.gym-plan-payment-page--recovery .onvo-loop-panel__legal.has-consent-error { border-color:#b42318; background:#fff5f4; box-shadow:0 0 0 2px rgba(180,35,24,.12); }
.onvo-loop-panel__legal-check input[aria-invalid="true"] { outline:2px solid #b42318; outline-offset:2px; }
.onvo-loop-panel__legal-error { margin:.45rem 0 0; color:#b42318; font-size:.84rem; font-weight:650; line-height:1.45; }
.onvo-loop-panel__legal-dialog {
  width: min(52rem, calc(100vw - 2rem));
  height: min(86vh, 48rem);
  height: min(86dvh, 48rem);
  max-width: none;
  max-height: calc(100dvh - 2rem);
  padding: 0;
  border: 0;
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
  color: #283046;
  box-shadow: 0 18px 56px rgba(25, 35, 55, .28);
}
.onvo-loop-panel__legal-dialog[open] { display: flex; flex-direction: column; }
.onvo-loop-panel__legal-dialog::backdrop { background: rgba(29, 34, 51, .58); }
.onvo-loop-panel__legal-header,
.onvo-loop-panel__legal-footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .9rem 1.15rem; }
.onvo-loop-panel__legal-header { border-bottom: 1px solid #ebe9f1; }
.onvo-loop-panel__legal-footer { justify-content: flex-end; border-top: 1px solid #ebe9f1; }
.onvo-loop-panel__legal-title { margin: 0; color: #283046; font-size: 1.05rem; font-weight: 700; }
.onvo-loop-panel__legal-version { margin: .2rem 0 0; color: #6e6b7b; font-size: .82rem; }
.onvo-loop-panel__legal-body { flex: 1 1 auto; min-height: 0; overflow: hidden; }
.onvo-loop-panel__legal-frame { display:block; width:100%; height:100%; min-height:0; border:0; background:#fff; }
.onvo-loop-panel__legal-dialog .btn-close { flex: 0 0 auto; }
.onvo-loop-panel__legal-unavailable { margin-top:.75rem; padding:.7rem .8rem; border-radius:10px; background:rgba(255,159,67,.12); color:#7a4b12; line-height:1.45; }
.onvo-loop-panel [data-loop-sdk-mount] { min-height: 1rem; }
.onvo-loop-panel__resume-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .6rem;
  min-height: 2.75rem;
  padding: .7rem 1.1rem;
  border-radius: 10px;
  font-weight: 700;
  letter-spacing: .01em;
  box-shadow: 0 3px 8px rgba(115, 103, 240, .2);
  transition: background-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.onvo-loop-panel__resume-button:hover:not(:disabled) {
  box-shadow: 0 5px 12px rgba(115, 103, 240, .28);
  transform: translateY(-1px);
}
.onvo-loop-panel__resume-button:focus-visible {
  outline: 3px solid rgba(115, 103, 240, .35);
  outline-offset: 3px;
}
.onvo-loop-panel__resume-button:disabled {
  cursor: wait;
  opacity: .72;
  box-shadow: none;
  transform: none;
}
.onvo-loop-panel__resume-icon { width: 1.15rem; height: 1.15rem; flex: 0 0 auto; }
.onvo-loop-panel__resume-help { max-width: 42rem; margin: .55rem 0 0; color: #6e6b7b; font-size: .82rem; line-height: 1.45; }
.gym-plan-payment-page--recovery .onvo-loop-panel { margin: .75rem 0; padding: .85rem; background: #fff; border-color: rgba(100, 116, 139, .18); }
.gym-plan-payment-page--recovery .onvo-loop-panel__heading { margin-bottom: .55rem; }
.gym-plan-payment-page--recovery .onvo-loop-panel__eyebrow { display: none; }
.gym-plan-payment-page--recovery .onvo-loop-panel__terms { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; margin-top: .6rem; }
.gym-plan-payment-page--recovery .onvo-loop-panel__terms > div { padding: .55rem .65rem; background: #f7f9fc; }
.gym-plan-payment-page--recovery .onvo-loop-panel__legal { margin-top: .6rem; padding: .65rem; background: #f7f9fc; }
.gym-plan-payment-page--recovery .onvo-loop-panel__legal-status { display: none; }
.gym-plan-payment-page--recovery .onvo-loop-panel__legal [data-loop-legal-open] { margin-top: .25rem; font-size: .9rem; }
html.dark-layout .gym-plan-payment-page--recovery .onvo-loop-panel,
body.dark-layout .gym-plan-payment-page--recovery .onvo-loop-panel { background: #283046; }
html.dark-layout .gym-plan-payment-page--recovery .onvo-loop-panel__terms > div,
body.dark-layout .gym-plan-payment-page--recovery .onvo-loop-panel__terms > div,
html.dark-layout .gym-plan-payment-page--recovery .onvo-loop-panel__legal,
body.dark-layout .gym-plan-payment-page--recovery .onvo-loop-panel__legal { background: rgba(0, 0, 0, .18); }
html.dark-layout .onvo-loop-panel, body.dark-layout .onvo-loop-panel { color: #d0d2d6; background: linear-gradient(135deg, rgba(115,103,240,.12), rgba(40,199,111,.08)); border-color: rgba(255,255,255,.12); }
html.dark-layout .onvo-loop-panel__heading h4, body.dark-layout .onvo-loop-panel__heading h4,
html.dark-layout .onvo-loop-panel__toggle strong, body.dark-layout .onvo-loop-panel__toggle strong,
html.dark-layout .onvo-loop-panel__terms dd, body.dark-layout .onvo-loop-panel__terms dd { color: #e5e5e5; }
html.dark-layout .onvo-loop-panel__loading, body.dark-layout .onvo-loop-panel__loading,
html.dark-layout .onvo-loop-panel__unavailable p, body.dark-layout .onvo-loop-panel__unavailable p,
html.dark-layout .onvo-loop-panel__toggle small, body.dark-layout .onvo-loop-panel__toggle small,
html.dark-layout .onvo-loop-panel__resume-help, body.dark-layout .onvo-loop-panel__resume-help { color: #b4b7bd; }
html.dark-layout .onvo-loop-panel__terms > div, body.dark-layout .onvo-loop-panel__terms > div { background: rgba(0,0,0,.18); }
html.dark-layout .onvo-loop-panel__legal, body.dark-layout .onvo-loop-panel__legal { background:rgba(0,0,0,.18); border-color:rgba(255,255,255,.16); }
html.dark-layout .onvo-loop-panel__legal-check, body.dark-layout .onvo-loop-panel__legal-check { color:#e5e5e5; }
html.dark-layout .onvo-loop-panel__legal-status, body.dark-layout .onvo-loop-panel__legal-status { color:#ffd08a; }
html.dark-layout .onvo-loop-panel__legal.has-consent-error,
body.dark-layout .onvo-loop-panel__legal.has-consent-error,
html.dark-layout .gym-plan-payment-page--recovery .onvo-loop-panel__legal.has-consent-error,
body.dark-layout .gym-plan-payment-page--recovery .onvo-loop-panel__legal.has-consent-error { background:rgba(180,35,24,.16); border-color:#f97066; box-shadow:0 0 0 2px rgba(249,112,102,.18); }
html.dark-layout .onvo-loop-panel__legal-check input[aria-invalid="true"],
body.dark-layout .onvo-loop-panel__legal-check input[aria-invalid="true"] { outline-color:#f97066; }
html.dark-layout .onvo-loop-panel__legal-error, body.dark-layout .onvo-loop-panel__legal-error { color:#ffaaa3; }
html.dark-layout .onvo-loop-panel__legal-dialog, body.dark-layout .onvo-loop-panel__legal-dialog { background:#283046; color:#e5e5e5; }
html.dark-layout .onvo-loop-panel__legal-title, body.dark-layout .onvo-loop-panel__legal-title { color:#e5e5e5; }
html.dark-layout .onvo-loop-panel__legal-version, body.dark-layout .onvo-loop-panel__legal-version { color:#b4b7bd; }
html.dark-layout .onvo-loop-panel__legal-header, body.dark-layout .onvo-loop-panel__legal-footer { border-color:rgba(255,255,255,.12); }
@media (max-width: 575.98px) {
  .onvo-loop-panel { padding: .8rem; }
  .onvo-loop-panel__heading { align-items: flex-start; flex-wrap: wrap; }
  .onvo-loop-panel__heading > div { min-width: 0; flex: 1 1 100%; }
  .onvo-loop-panel__badge { min-width: 0; max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
  .onvo-loop-panel__heading { align-items: flex-start; flex-wrap: wrap; }
  .onvo-loop-panel__heading > div { min-width: 0; flex: 1 1 100%; }
  .onvo-loop-panel__badge { min-width: 0; max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
  .onvo-loop-panel__terms { grid-template-columns: minmax(0, 1fr); }
  .gym-plan-payment-page--recovery .onvo-loop-panel__terms { grid-template-columns: minmax(0, 1fr); }
  .onvo-loop-panel__resume-button { width: 100%; }
  .onvo-loop-panel__legal-dialog { width: calc(100vw - 1rem); height: min(90vh, 48rem); height: min(90dvh, 48rem); max-height: calc(100dvh - 1rem); border-radius: 12px; }
  .onvo-loop-panel__legal-header, .onvo-loop-panel__legal-footer { padding: .75rem .85rem; }
}
