.plan-billing-switch{position:relative;isolation:isolate;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;width:360px;max-width:100%;box-sizing:border-box;margin:24px auto 20px;padding:5px;border:1px solid #cde8e5;border-radius:16px;background:#edf8f7}
.plan-billing-switch::before{content:"";position:absolute;z-index:-1;inset:5px auto 5px 5px;width:calc(50% - 5px);border-radius:11px;background:#007f79;box-shadow:0 3px 10px #007f7925;transition:transform 360ms cubic-bezier(.22,1,.36,1)}
.plan-billing-switch:has([data-billing-period="yearly"][aria-pressed="true"])::before{transform:translateX(100%)}
.plan-billing-switch button{min-width:0;min-height:44px;border:0;border-radius:11px;padding:10px 8px;background:transparent;color:#42616a;font:inherit;font-size:13px;font-weight:700;cursor:pointer;transition:color 240ms ease}
.plan-billing-switch button.active{background:transparent;color:#fff}
.plan-billing-switch span{display:inline-block;font-size:11px;padding:3px 6px;border-radius:6px;background:#bdf7e9;color:#005d55}
.plan-offer-price [data-price-value]{font-variant-numeric:tabular-nums;min-width:3.7ch}
.plan-future-note{font-size:12px;color:#586e79;line-height:1.5;padding:10px;background:#f1f7f8;border-radius:10px}
.plan-offer .plan-inherits{font-weight:750;color:#007f79}
.plan-offer .plan-select{margin-top:auto}
@media(prefers-reduced-motion:reduce){.plans-page-v2 *,.plans-page-v2 *::before{scroll-behavior:auto!important;transition:none!important}}
.plans-page-v2 {
  min-width: 0;
  max-width: 1120px;
  margin: 0 auto;
  padding: 4px 0 44px;
  color: #0b1538;
}
.plans-page-heading {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
}
.plans-page-heading > button {
  width: 42px;
  height: 42px;
  border: 1px solid #dce2ea;
  border-radius: 12px;
  background: #fff;
  color: #1c2947;
}
.plans-page-heading h1 {
  margin: 0 0 7px;
  font-size: 34px;
  line-height: 1;
}
.plans-page-heading p {
  margin: 0;
  color: #687086;
}
.plan-state-hero {
  margin-bottom: 18px;
  padding: 16px 20px;
  border: 1px solid #9fe0c8;
  border-radius: 19px;
  background: linear-gradient(135deg, #fafffd, #fff);
  box-shadow: 0 5px 18px #173c300c;
}
.plan-state-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border-radius: 8px;
  background: #dff8ee;
  color: #067a58;
  font-size: 12px;
  font-weight: 800;
}
.plan-state-badge svg {
  width: 16px;
}
.plan-state-main {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  padding: 12px;
}
.plan-state-main > i {
  display: grid;
  flex: none;
  width: 72px;
  height: 72px;
  place-items: center;
  border-radius: 50%;
  background: #d9f8ec;
  color: #19a976;
}
.plan-state-main > i svg {
  width: 34px;
  height: 34px;
}
.plan-state-main h2 {
  margin: 0 0 5px;
  font-size: 23px;
}
.plan-state-main p {
  margin: 0;
  color: #667085;
}
.plan-payment-method {
  display: block;
  margin-top: 6px;
  color: #4b5b73;
}
.trial-facts {
  display: flex;
  max-width: 620px;
  margin: 0 auto;
  justify-content: space-around;
}
.trial-facts span {
  display: flex;
  align-items: center;
  gap: 7px;
  color: #123;
}
.trial-facts svg {
  color: #19a976;
}
.trial-progress {
  max-width: 650px;
  margin: 14px auto;
  text-align: center;
}
.trial-progress > i,
.plan-usage article > i {
  display: block;
  height: 9px;
  overflow: hidden;
  border-radius: 99px;
  background: #e6e9ee;
}
.trial-progress u,
.plan-usage article u {
  display: block;
  width: var(--usage);
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #0caf78, #46cfa2);
}
.trial-progress small {
  display: block;
  margin-top: 7px;
  color: #667085;
}
.plan-state-note {
  max-width: 720px;
  margin: 12px auto 0;
  padding: 11px 14px;
  border-radius: 11px;
  background: #f0faf6;
  color: #31415b;
  text-align: center;
}
.plan-state-note svg {
  width: 17px;
  margin-right: 7px;
  color: #0caf78;
  vertical-align: middle;
}
.plan-state-note.warning {
  background: #fff6e8;
}
.plan-state-hero.state-expired {
  border-color: #ffc1c7;
}
.plan-state-hero.state-expired .plan-state-badge {
  background: #ffeaec;
  color: #c51f34;
}
.plan-state-hero.state-expired .plan-state-main > i {
  background: #fff0f1;
  color: #d92d3e;
}
.plan-state-hero.state-pending {
  border-color: #f3cc80;
}
.plan-manage-button {
  display: block;
  margin: 12px auto 0;
  padding: 10px 16px;
  border: 1px solid #96dcc2;
  border-radius: 11px;
  background: #fff;
  color: #07875e;
  font: inherit;
  font-weight: 800;
}
.plan-verify-payment {
  border-color: #0caf78;
  background: #0caf78;
  color: #fff;
}
.plan-verify-payment:disabled {
  cursor: wait;
  opacity: 0.65;
}
.plan-usage {
  margin-bottom: 18px;
  padding: 14px 17px;
  border: 1px solid #e0e5ec;
  border-radius: 16px;
  background: #fff;
}
.plan-usage h2 {
  margin: 0 0 11px;
  font-size: 15px;
}
.plan-usage > div {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.plan-usage article span {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  font-size: 12px;
}
.plan-usage article em {
  color: #667085;
  font-style: normal;
}
.plan-usage article > i {
  height: 6px;
  margin-top: 7px;
}
.plan-offers {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  min-width: 0;
  gap: 18px;
  padding-block: 10px 18px;
}
.plan-offer {
  position: relative;
  display: flex;
  min-width: 0;
  overflow: hidden;
  box-sizing: border-box;
  padding: 36px 22px 22px;
  flex-direction: column;
  border: 1px solid #e0e5ec;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 4px 8px #17213c04, 0 14px 28px -16px #17213c26;
}
.plan-offer.is-popular {
  border-color: #00a79e;
  box-shadow: 0 0 0 1px #00a79e30, 0 16px 32px -18px #008d8659;
}
.plan-popular {
  position: absolute;
  top: 10px;
  right: 14px;
  padding: 5px 9px;
  border-radius: 8px;
  background: #008d86;
  color: #fff;
  font-size: 10px;
  font-weight: 800;
}
.plan-offer header {
  display: flex;
  align-items: center;
  gap: 11px;
  min-height: 76px;
  margin-bottom: 18px;
}
.plan-offer header > i {
  color: #15aa78;
}
.plan-offer header > i svg {
  width: 31px;
  height: 31px;
}
.plan-offer h2 {
  margin: 0 0 3px;
  font-size: 20px;
}
.plan-offer header p {
  margin: 0;
  color: #687086;
  font-size: 12px;
  line-height: 1.5;
}
.plan-offer-price {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 5px;
  margin-top: 3px;
}
.plan-offer-price b {
  font-size: clamp(32px, 3vw, 38px);
  font-style: normal;
  letter-spacing: -.04em;
  line-height: 1.2;
}
.plan-offer-price small,
.plan-offer-price span,
.plan-year-price {
  color: #687086;
}
.plan-year-price {
  min-height: 17px;
  margin-top: 6px;
  text-align: center;
}
.plan-current {
  align-self: center;
  margin-top: 7px;
  padding: 4px 9px;
  border-radius: 99px;
  background: #dff8ee;
  color: #067a58;
  font-size: 10px;
  font-style: normal;
}
.plan-offer ul {
  display: grid;
  flex: 1;
  align-content: start;
  gap: 10px;
  margin: 20px 0;
  padding: 18px 0 0;
  border-top: 1px solid #e4e7ec;
  list-style: none;
}
.plan-offer li {
  display: flex;
  gap: 7px;
  font-size: 12px;
  line-height: 1.5;
}
.plan-offer li svg {
  width: 15px;
  height: 15px;
  flex: none;
  color: #18ad7a;
}
.plan-limit-copy {
  color: #667085;
  font-size: 10px;
  line-height: 1.4;
}
.plan-select {
  width: 100%;
  height: 43px;
  border: 1px solid #16ad7a;
  border-radius: 10px;
  background: #fff;
  color: #079568;
  font: inherit;
  font-weight: 800;
}
.plan-select.primary {
  background: #008d86;
  color: #fff;
}
.plan-indicators {
  display: none;
}
.plan-billing-switch button:focus-visible,
.plan-offers:focus-visible,
.plan-indicators button:focus-visible,
.plan-select:focus-visible {
  outline: 3px solid #007f79;
  outline-offset: 3px;
}
.plan-compare-button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  margin: 12px auto 0;
  padding: 8px 12px;
  border: 0;
  background: transparent;
  color: #07875e;
  font: inherit;
  font-size: 12px;
  font-weight: 800;
}
.plan-compare-button svg {
  width: 16px;
}
.plan-coupon {
  margin-top: 18px;
  overflow: hidden;
  border: 1px solid #dfe4eb;
  border-radius: 16px;
  background: #fff;
}
.plan-coupon summary {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 15px;
  list-style: none;
  cursor: pointer;
}
.plan-coupon summary > span {
  display: grid;
  flex: 1;
}
.plan-coupon summary small {
  color: #687086;
}
.plan-coupon summary > svg:first-child {
  color: #0caf78;
}
.plan-coupon > div {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr auto;
  gap: 9px;
  padding: 0 15px 15px;
}
.plan-coupon label {
  display: grid;
  gap: 5px;
  color: #667085;
  font-size: 11px;
}
.plan-coupon input,
.plan-coupon select {
  width: 100%;
  min-width: 0;
  height: 42px;
  padding: 0 10px;
  border: 1px solid #d6dce5;
  border-radius: 10px;
  background: #fff;
  color: #101828;
  font: inherit;
}
.plan-coupon [data-apply-coupon] {
  height: 42px;
  align-self: end;
  padding: 0 16px;
  border: 0;
  border-radius: 10px;
  background: #0caf78;
  color: #fff;
  font-weight: 800;
}
.plan-coupon [data-coupon-feedback] {
  grid-column: 1 / -1;
}
.coupon-applied {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  padding: 10px;
  border-radius: 11px;
  background: #eafaf4;
  color: #067a58;
}
.coupon-applied > div {
  display: grid;
  flex: 1;
}
.coupon-applied p {
  margin: 3px 0;
}
.coupon-applied button {
  border: 0;
  background: none;
  color: #067a58;
  text-decoration: underline;
}
.coupon-error {
  color: #c51f34;
}
.plan-faq {
  margin-top: 18px;
  padding: 14px 16px;
  border: 1px solid #e0e5ec;
  border-radius: 17px;
  background: #fff;
}
.plan-faq h2 {
  margin: 0 0 10px;
  font-size: 15px;
}
.plan-faq h2 svg {
  width: 18px;
  margin-right: 7px;
  color: #0caf78;
  vertical-align: middle;
}
.plan-faq details {
  margin-top: 7px;
  border: 1px solid #e2e7ee;
  border-radius: 11px;
}
.plan-faq summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px;
  list-style: none;
  font-size: 12px;
  font-weight: 700;
}
.plan-faq summary svg {
  width: 16px;
}
.plan-faq details p {
  margin: 0;
  padding: 0 12px 12px;
  color: #687086;
  font-size: 11px;
}
.plan-payment-note {
  color: #687086;
  font-size: 11px;
  text-align: center;
}
.plan-payment-note svg {
  width: 15px;
  color: #0caf78;
  vertical-align: middle;
}
.public-plan-actions {
  display: flex;
  justify-content: center;
  gap: 10px;
}
.public-plan-actions button {
  height: 44px;
  padding: 0 18px;
  border: 1px solid #0caf78;
  border-radius: 10px;
  background: #fff;
  color: #07875e;
  font-weight: 800;
}
.public-plan-actions button:first-child {
  background: #0caf78;
  color: #fff;
}
.plan-comparison-sheet,
.pro-feature-modal,
.plan-manage-sheet,
.plan-confirm-cancel,
.plan-payment-sheet {
  width: min(650px, calc(100vw - 24px));
  max-height: calc(100dvh - 24px);
  overflow: auto;
}
.plan-payment-sheet {
  width: min(620px, calc(100vw - 24px));
}
.plan-payment-sheet .modal-body {
  display: grid;
  gap: 14px;
  padding: 18px;
}
.plan-payment-summary {
  display: grid;
  gap: 4px;
  padding: 14px 16px;
  border: 1px solid #cfe9df;
  border-radius: 14px;
  background: #f2fbf8;
}
.plan-payment-summary span,
.plan-payment-summary small {
  color: #64748b;
  font-size: 12px;
}
.plan-payment-summary b {
  color: #087e5b;
  font-size: 24px;
}
.plan-payment-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.plan-payment-options > button {
  display: grid;
  min-width: 0;
  min-height: 132px;
  padding: 16px;
  grid-template-columns: 42px 1fr auto;
  gap: 11px;
  align-items: start;
  border: 1px solid #dce3eb;
  border-radius: 16px;
  background: #fff;
  color: #17213c;
  text-align: left;
}
.plan-payment-options > button.active {
  border-color: #0caf78;
  background: #f1fbf7;
  box-shadow: 0 0 0 2px #0caf7818;
}
.plan-payment-options > button > i {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 12px;
  background: #e5f8f1;
  color: #079568;
}
.plan-payment-options > button > i svg,
.plan-payment-options > button > em svg {
  width: 21px;
  height: 21px;
}
.plan-payment-options > button > span {
  display: grid;
  gap: 6px;
}
.plan-payment-options > button small {
  color: #64748b;
  font-size: 11px;
  line-height: 1.4;
}
.plan-payment-options > button em {
  color: #0caf78;
}
.plan-payer-email {
  display: grid;
  gap: 8px;
  padding: 14px;
  border: 1px solid #dce3eb;
  border-radius: 15px;
  background: #fff;
}
.plan-payer-email[hidden] {
  display: none;
}
.plan-payer-email label {
  display: grid;
  gap: 3px;
  color: #17213c;
  font-size: 13px;
}
.plan-payer-email label span,
.plan-payer-email > small {
  color: #64748b;
  font-size: 11px;
  font-weight: 400;
  line-height: 1.4;
}
.plan-payer-email input {
  width: 100%;
  min-height: 46px;
  padding: 0 13px;
  border: 1px solid #cfd8e4;
  border-radius: 11px;
  color: #17213c;
  font: inherit;
  box-sizing: border-box;
}
.plan-payer-email input:focus {
  border-color: #0caf78;
  outline: 3px solid #0caf7820;
}
.plan-payer-error {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 11px;
  border-radius: 10px;
  background: #fff2f2;
  color: #a51f32;
  font-size: 11px;
  line-height: 1.4;
}
.plan-payer-error[hidden] {
  display: none;
}
.plan-payer-error button {
  flex: none;
  border: 0;
  background: transparent;
  color: #087e5b;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}
.plan-payment-disclaimer {
  display: flex;
  gap: 8px;
  margin: 0;
  color: #536177;
  font-size: 11px;
  line-height: 1.45;
}
.plan-payment-disclaimer svg {
  width: 17px;
  flex: none;
  color: #0caf78;
}
.plan-pix-sheet{width:min(540px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto}
.plan-pix-sheet .modal-body{display:grid;gap:13px;padding:18px}
.plan-pix-qr{display:grid;justify-items:center;gap:9px;padding:14px;border:1px solid #e3e8ee;border-radius:16px;background:#fff}
.plan-pix-qr img{display:block;width:min(230px,64vw);aspect-ratio:1;object-fit:contain}
.plan-pix-qr p,.plan-pix-expiration{margin:0;color:#536177;font-size:12px;text-align:center}
.plan-pix-copy{width:100%}
.plan-pix-ticket{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;color:#087e5b;font-weight:800;text-decoration:none}
.plan-pix-ticket svg{width:17px}
.plan-pix-waiting{display:flex;align-items:center;gap:11px;padding:12px 14px;border-radius:14px;background:#f2f7fb;color:#24334b}
.plan-pix-waiting>i{width:12px;height:12px;border:3px solid #cbd6e1;border-top-color:#0caf78;border-radius:50%;animation:pixWaiting .9s linear infinite}
.plan-pix-waiting span{display:grid;gap:2px}.plan-pix-waiting small{color:#64748b;font-size:11px}
.plan-pix-result{display:grid;gap:18px;padding:26px;text-align:center}.plan-pix-result header{display:grid;justify-items:center;gap:8px}.plan-pix-result header>svg{width:72px;height:72px;color:#0caf78}.plan-pix-result.expired header>svg{color:#e78b1c}.plan-pix-result h3,.plan-pix-result p{margin:0}.plan-pix-result p{color:#64748b}
.plan-card-decline{display:grid;gap:18px;max-width:470px;padding:26px;text-align:center}.plan-card-decline header{display:grid;justify-items:center;gap:9px}.plan-card-decline header>svg{width:68px;height:68px;color:#ef4444}.plan-card-decline h3,.plan-card-decline p{margin:0}.plan-card-decline p{max-width:390px;color:#64748b;line-height:1.5}.plan-card-decline>small{color:#047857}.plan-card-decline-actions{display:grid;gap:10px}
.plan-card-monthly-sheet{width:min(620px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto}.plan-card-monthly-sheet .modal-body{display:grid;gap:14px;padding:18px}.plan-card-monthly-explainer,.plan-card-challenge-help{margin:0;color:#536177;font-size:13px;line-height:1.5}.plan-card-brick-loading{display:grid;min-height:220px;place-items:center;border:1px dashed #cfd8e4;border-radius:14px;background:#f8fafc;color:#64748b;font-weight:700}.plan-card-challenge-frame{width:100%;min-height:460px;border:1px solid #d9dfe8;border-radius:14px;background:#fff}.plan-card-monthly-sheet #cardPaymentBrick_container:empty{display:none}
@keyframes pixWaiting{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.plan-pix-waiting>i{animation:none}}
.plan-comparison-table {
  min-width: 520px;
}
.plan-comparison-table header,
.plan-comparison-table p {
  display: grid;
  grid-template-columns: 1.4fr repeat(3, 1fr);
  margin: 0;
}
.plan-comparison-table header > * {
  background: #f6f8fa;
}
.plan-comparison-table > * * {
  padding: 9px;
  border-bottom: 1px solid #e7eaf0;
  text-align: center;
}
.plan-comparison-table span {
  text-align: left;
}
.plan-comparison-table i {
  font-style: normal;
}
.plan-comparison-table svg {
  width: 15px;
  color: #0caf78;
}
.pro-feature-modal ul {
  display: grid;
  gap: 8px;
  padding: 0;
  list-style: none;
}
.pro-feature-modal li svg {
  width: 16px;
  color: #0caf78;
  vertical-align: middle;
}
.plan-manage-sheet .modal-body {
  display: grid;
  gap: 9px;
}
.plan-manage-sheet .modal-body button {
  height: 46px;
  border: 1px solid #d9dfe8;
  border-radius: 11px;
  background: #fff;
  color: #17213c;
  font: inherit;
  font-weight: 700;
}
.plan-manage-sheet .modal-body button.danger {
  border-color: #ffc4ca;
  color: #c51f34;
}

@media (max-width:767px) {
  .plans-page-v2 {
    margin: -4px -12px 0;
    padding: 2px 12px calc(105px + env(safe-area-inset-bottom));
  }
  .plans-page-heading {
    margin: 0 2px 17px;
  }
  .plans-page-heading h1 {
    font-size: 28px;
  }
  .plans-page-heading p {
    font-size: 14px;
  }
  .plans-page-heading > button {
    width: 38px;
    height: 38px;
  }
  .plan-state-hero {
    margin-bottom: 13px;
    padding: 12px;
    border-radius: 16px;
  }
  .plan-state-main {
    justify-content: flex-start;
    gap: 12px;
    padding: 11px 2px;
  }
  .plan-state-main > i {
    width: 55px;
    height: 55px;
  }
  .plan-state-main > i svg {
    width: 27px;
    height: 27px;
  }
  .plan-state-main h2 {
    font-size: 17px;
  }
  .plan-state-main p {
    font-size: 11px;
    line-height: 1.35;
  }
  .trial-facts {
    gap: 8px;
    font-size: 12px;
  }
  .trial-facts span {
    flex: 1;
    justify-content: center;
  }
  .trial-progress {
    margin: 12px 4px;
  }
  .plan-state-note {
    padding: 9px 10px;
    font-size: 10.5px;
    line-height: 1.35;
  }
  .plan-usage {
    margin-bottom: 13px;
    padding: 12px;
  }
  .plan-usage > div {
    grid-template-columns: 1fr;
    gap: 9px;
  }
  .plan-offers {
    display: flex;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    gap: 12px;
    margin-inline: 0;
    /* 6% on each side makes each card 88% of the available width. */
    padding: 10px 6% 20px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scrollbar-width: none;
  }
  .plan-offers::-webkit-scrollbar {
    display: none;
  }
  .plan-offer {
    flex: 0 0 100%;
    padding: 36px 18px 18px;
    scroll-snap-align: center;
  }
  .plan-offer header { min-height: 64px; }
  .plan-offer-price b {
    font-size: 31px;
  }
  .plan-offer ul {
    gap: 9px;
  }
  .plan-indicators {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0;
  }
  .plan-indicators button {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 0;
    border-radius: 99px;
    background: transparent;
    cursor: pointer;
  }
  .plan-indicators button::before {
    content: "";
    width: 7px;
    height: 7px;
    border-radius: 99px;
    background: #cfd5df;
    transition: width 280ms cubic-bezier(.22,1,.36,1), background 200ms ease;
  }
  .plan-indicators button.active::before { width: 22px; background: #008d86; }
  .plan-compare-button {
    margin-top: 6px;
  }
  .plan-coupon {
    margin-top: 14px;
  }
  .plan-coupon > div {
    grid-template-columns: 1fr 1fr;
  }
  .plan-coupon label:first-child,
  .plan-coupon [data-apply-coupon] {
    grid-column: 1 / -1;
  }
  .plan-faq {
    margin-top: 14px;
  }
  .plan-comparison-sheet,
  .pro-feature-modal,
  .plan-manage-sheet,
  .plan-confirm-cancel,
  .plan-payment-sheet,
  .plan-card-monthly-sheet {
    width: 100%;
    max-width: none;
    max-height: calc(100dvh - max(10px, env(safe-area-inset-top)));
    margin-top: auto;
    border-radius: 22px 22px 0 0;
  }
  .plan-pix-sheet{width:100%;max-width:none;max-height:calc(100dvh - max(10px,env(safe-area-inset-top)));margin-top:auto;border-radius:22px 22px 0 0;padding-bottom:env(safe-area-inset-bottom)}
  .plan-card-monthly-sheet{padding-bottom:env(safe-area-inset-bottom)}.plan-card-monthly-sheet .modal-body{padding:14px}.plan-card-challenge-frame{min-height:56dvh}
  .plan-pix-sheet .modal-body{padding:14px;overflow-y:auto}.plan-pix-qr img{width:min(220px,62vw)}
  .plan-payment-sheet .modal-body {
    padding: 14px;
    overflow-y: auto;
  }
  .plan-payment-options {
    grid-template-columns: 1fr;
    gap: 9px;
  }
  .plan-payment-options > button {
    min-height: 102px;
    padding: 13px;
  }
  .plan-payment-sheet .modal-foot {
    padding-bottom: max(14px, env(safe-area-inset-bottom));
  }
  .plan-comparison-sheet .modal-body {
    overflow: auto;
  }
  .plan-manage-sheet .modal-body {
    padding: 16px;
  }
  .plan-confirm-cancel .modal-foot {
    padding-bottom: max(14px, env(safe-area-inset-bottom));
  }
}

@media (max-width:359px) {
  .plans-page-v2 {
    margin-inline: -9px;
    padding-inline: 9px;
  }
  .trial-facts {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .plan-state-main > i {
    width: 48px;
    height: 48px;
  }
  .plan-state-main h2 {
    font-size: 15px;
  }
  .plan-coupon > div {
    grid-template-columns: 1fr;
  }
  .plan-coupon label:first-child,
  .plan-coupon [data-apply-coupon] {
    grid-column: auto;
  }
}
.plan-legacy-notice{max-width:1120px;margin:0 auto 16px;padding:18px;border:1px solid #80d8cd;border-radius:16px;background:#effbf8;color:#133d3b}
.plan-legacy-notice h3{margin:0 0 8px;font-size:1.1rem}.plan-legacy-notice p{line-height:1.5;font-size:.9rem;margin:8px 0}.plan-legacy-notice button{margin-top:8px;max-width:100%}
.plan-comparison-table.has-legacy header,.plan-comparison-table.has-legacy p{grid-template-columns:minmax(150px,2fr) repeat(4,minmax(90px,1fr))}.plan-comparison-table.has-legacy{min-width:540px}.plan-comparison-sheet .modal-body{overflow-x:auto}
.sidebar [data-route="financeiro"][hidden], [data-route="financeiro"][hidden] { display: none !important; }
