@charset "UTF-8";
@import https://fonts.googleapis.com/css2?family=PT+Serif:ital,wght@0,400;0,700;1,400;1,700&display=swap;
@font-face {
  font-family: Figtree;
  src: url(/assets/Figtree-Light-087d484be52722d658f1efdf1baf48155cd08692f5e2360894a5b96cc487619c.ttf) format("truetype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Figtree;
  src: url(/assets/Figtree-Regular-34407dff25ba868f7ba91aafdadf34c35f706485d16572d66f02eaf86b256e79.ttf) format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Figtree;
  src: url(/assets/Figtree-Medium-33dab9910a4a2e206573b398d751d3c1827aa254e9fb5d0dda9737ce70ba3c56.ttf) format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Figtree;
  src: url(/assets/Figtree-SemiBold-21fac68c9bd93797e2d2528bcdf92bb72b5bd9518e7f1b4536975fb35dd8b63b.ttf) format("truetype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Figtree;
  src: url(/assets/Figtree-Bold-e9aa7803bd617372d2557cbcc676b0cb6c626ef1895b1dec597e00251281cfb1.ttf) format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Figtree;
  src: url(/assets/Figtree-ExtraBold-de87d9b7250e77bf6c3357a65b35ffa1eff5fe4e9c493bb77f6f544be3ea95be.ttf) format("truetype");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Figtree;
  src: url(/assets/Figtree-Italic-c8138db092cd7926fa941968e763309793e7ef7d29626ca96a7c87d96ba9df30.ttf) format("truetype");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

/* =====================================================================
   Meaningful Planet — Colors & Type
   Brand tokens from the MP design system. Consume via CSS custom
   properties (`var(--mp-deep-forest)`, `var(--fg-1)`, etc.).
   Mirror of tmp/design_handoff/assets/colors_and_type.css.
   ===================================================================== */
/* line 10, app/assets/stylesheets/_mp_tokens.scss */
:root {
  /* Core colors */
  --mp-deep-forest:       #1e4136;
  --mp-deep-forest-hover: #173329;
  --mp-cream:       #eae8dd;
  --mp-bright-lime: #99efae;
  --mp-ember:       #cf4c00;
  --mp-charcoal:    #3e3e39;
  --mp-warm-gray:   #74746c;
  --mp-warm-white:  #f9f8f4;
  /* Extended */
  --mp-moss:        #032d10;
  --mp-pine:        #256751;
  --mp-sapling:     #d2ff85;
  --mp-mist:        #c4f5dc;
  --mp-chalk:       #f8f3ec;
  --mp-clay:        #d98042;
  --mp-sun:         #f5c842;
  --mp-grove:       #021b11;
  /* Gradient stops */
  --mp-deep-teal:   #2a5c4a;
  --mp-medium-teal: #509a82;
  /* Foreground */
  --fg-1: var(--mp-deep-forest);
  --fg-2: var(--mp-charcoal);
  --fg-3: var(--mp-warm-gray);
  --fg-on-dark-1: #ffffff;
  --fg-on-dark-2: var(--mp-cream);
  --fg-on-dark-3: rgba(255, 255, 255, 0.6);
  /* Backgrounds */
  --bg-1: #ffffff;
  --bg-2: var(--mp-warm-white);
  --bg-3: var(--mp-chalk);
  --bg-dark-1: var(--mp-moss);
  --bg-dark-2: var(--mp-grove);
  /* Accents */
  --accent-on-light: var(--mp-deep-forest);
  --accent-on-dark:  var(--mp-sapling);
  --accent-highlight: var(--mp-bright-lime);
  --accent-mist: var(--mp-mist);
  --accent-warn: var(--mp-ember);
  /* Borders */
  --border-subtle: var(--mp-cream);
  --border-on-dark: rgba(255, 255, 255, 0.12);
  --border-strong: rgba(30, 65, 54, 0.2);
  /* Shadows */
  --shadow-card: 0 4.5px 9.3px rgba(35, 45, 92, 0.04), 0 1.6px 3.4px rgba(35, 45, 92, 0.02);
  --shadow-card-hover: 0 10px 24px rgba(35, 45, 92, 0.08), 0 3px 6px rgba(35, 45, 92, 0.04);
  --shadow-soft: 0 1px 2px rgba(0, 0, 0, 0.04);
  /* Radius */
  --radius-sm: 6px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-xl: 20px;
  --radius-2xl: 24px;
  --radius-pill: 999px;
  /* Spacing */
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  /* Gradients */
  --grad-card-accent: linear-gradient(90deg, #256751 0%, #d2ff85 100%);
  --grad-brand-line:  linear-gradient(90deg, #256751 0%, #d2ff85 50%, #256751 100%);
  /* Type */
  --font-sans: 'Figtree', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --font-serif-display: 'PT Serif', Georgia, 'Times New Roman', serif;
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;
}

/* Eyebrow — small uppercase label mixin, included by block-scoped BEM element classes. */
@font-face {
  font-family: Figtree;
  src: url(/assets/Figtree-Light-087d484be52722d658f1efdf1baf48155cd08692f5e2360894a5b96cc487619c.ttf) format("truetype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Figtree;
  src: url(/assets/Figtree-Regular-34407dff25ba868f7ba91aafdadf34c35f706485d16572d66f02eaf86b256e79.ttf) format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Figtree;
  src: url(/assets/Figtree-Medium-33dab9910a4a2e206573b398d751d3c1827aa254e9fb5d0dda9737ce70ba3c56.ttf) format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Figtree;
  src: url(/assets/Figtree-SemiBold-21fac68c9bd93797e2d2528bcdf92bb72b5bd9518e7f1b4536975fb35dd8b63b.ttf) format("truetype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Figtree;
  src: url(/assets/Figtree-Bold-e9aa7803bd617372d2557cbcc676b0cb6c626ef1895b1dec597e00251281cfb1.ttf) format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Figtree;
  src: url(/assets/Figtree-ExtraBold-de87d9b7250e77bf6c3357a65b35ffa1eff5fe4e9c493bb77f6f544be3ea95be.ttf) format("truetype");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Figtree;
  src: url(/assets/Figtree-Italic-c8138db092cd7926fa941968e763309793e7ef7d29626ca96a7c87d96ba9df30.ttf) format("truetype");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

/* line 3, app/assets/stylesheets/shared.scss */
.column, .column--dark {
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  position: relative;
  width: 100%;
  background: #f8f4ee;
}

@media only screen and (min-width: 1025px) {
  /* line 3, app/assets/stylesheets/shared.scss */
  .column, .column--dark {
    min-height: 100vh;
  }
}

@media only screen and (max-width: 1024px) {
  /* line 3, app/assets/stylesheets/shared.scss */
  .column, .column--dark {
    width: 100%;
  }
}

/* line 20, app/assets/stylesheets/shared.scss */
.column--dark {
  background: #063412;
}

@media only screen and (max-width: 1024px) {
  /* line 20, app/assets/stylesheets/shared.scss */
  .column--dark {
    padding: 100px 0px 20px 0px;
    display: flex;
    justify-content: center;
  }
}

@media only screen and (min-width: 1025px) {
  /* line 32, app/assets/stylesheets/shared.scss */
  .column .column-wrapper, .column--dark .column-wrapper {
    flex: 1 1 50vw;
    width: 100%;
  }
}

/* line 40, app/assets/stylesheets/shared.scss */
.text-wrapper {
  display: block;
}

@media only screen and (min-width: 1025px) {
  /* line 40, app/assets/stylesheets/shared.scss */
  .text-wrapper {
    padding: 0px 100px;
  }
}

@media only screen and (max-width: 1024px) {
  /* line 40, app/assets/stylesheets/shared.scss */
  .text-wrapper {
    padding: 0px 30px;
  }
}

/* line 52, app/assets/stylesheets/shared.scss */
.label, .plans__label, .sign-in__label {
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 20px;
  color: #18181B;
  margin: 10px 0px 0px 0px;
  display: block;
  text-align: left;
}

/* line 63, app/assets/stylesheets/shared.scss */
.input, .plans__input--error, .plans__input, .sign-in__input--error, .sign-in__input {
  border-radius: 6px;
  border: 1px solid #CBD5E1;
  background: #FFFFFF;
  width: -webkit-fill-available;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 24px;
  padding: 8px 12px;
  margin: 10px 0px;
  font-family: "Figtree";
}

/* line 76, app/assets/stylesheets/shared.scss */
.input::placeholder, .plans__input--error::placeholder, .plans__input::placeholder, .sign-in__input--error::placeholder, .sign-in__input::placeholder {
  color: #94A3B8;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 24px;
  font-family: "Figtree";
}

/* line 85, app/assets/stylesheets/shared.scss */
.input.slim, .slim.plans__input--error, .slim.plans__input, .slim.sign-in__input--error, .slim.sign-in__input {
  margin: 0;
  border-top: 0;
  border-bottom: 0;
  border-radius: 0;
}

/* line 91, app/assets/stylesheets/shared.scss */
.input.slim:first-of-type, .slim.plans__input--error:first-of-type, .slim.plans__input:first-of-type, .slim.sign-in__input--error:first-of-type, .slim.sign-in__input:first-of-type {
  margin-top: 10px;
  border: 1px solid #CBD5E1;
  border-top-left-radius: 6px;
  border-top-right-radius: 6px;
}

/* line 98, app/assets/stylesheets/shared.scss */
.input.slim:last-of-type, .slim.plans__input--error:last-of-type, .slim.plans__input:last-of-type, .slim.sign-in__input--error:last-of-type, .slim.sign-in__input:last-of-type {
  margin-bottom: 10px;
  border: 1px solid #CBD5E1;
  border-bottom-left-radius: 6px;
  border-bottom-right-radius: 6px;
}

/* line 107, app/assets/stylesheets/shared.scss */
.button, .plans__form-button, .sign-in__button {
  background: #334155;
  border-radius: 6px;
  border: none;
  color: #FFFFFF;
  cursor: pointer;
  font-family: "Figtree";
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 24px;
  margin: 10px 0px;
  padding: 12px 6px;
  width: 100%;
}

/* line 122, app/assets/stylesheets/shared.scss */
.button:disabled, .plans__form-button:disabled, .sign-in__button:disabled {
  opacity: 0.75;
}

/* line 127, app/assets/stylesheets/shared.scss */
.error-message, .plans__error, .sign-in__error {
  color: #E80000;
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  text-align: left;
  margin: 0px 0px 10px 0px;
}

/* line 137, app/assets/stylesheets/shared.scss */
p.small {
  font-size: 12px;
  line-height: 16px;
  margin-top: 12px;
}

/* line 142, app/assets/stylesheets/shared.scss */
p.small a {
  text-decoration: underline;
  font-weight: 800;
}

/* line 148, app/assets/stylesheets/shared.scss */
.center {
  text-align: center;
}

/* line 152, app/assets/stylesheets/shared.scss */
.box {
  position: relative;
  margin: 20px 0;
  padding: 24px;
  border-radius: 10px;
  background-color: #FFFFFF;
  color: #000000;
}

/* line 160, app/assets/stylesheets/shared.scss */
.box p {
  font-size: 12px !important;
  line-height: 16px !important;
}

/* line 166, app/assets/stylesheets/shared.scss */
.box-info {
  padding: 4px 24px 4px 46px;
}

/* line 169, app/assets/stylesheets/shared.scss */
.box-info::before {
  content: "";
  position: absolute;
  left: 12px;
  top: 18px;
  width: 23px;
  height: 23px;
  background-repeat: no-repeat;
  background-image: url(/assets/icon-info-1c286a287a25baa9b3131ca42e888a54c13469a1e450036d8937e75104c12e92.svg);
}

@font-face {
  font-family: Figtree;
  src: url(/assets/Figtree-Light-087d484be52722d658f1efdf1baf48155cd08692f5e2360894a5b96cc487619c.ttf) format("truetype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Figtree;
  src: url(/assets/Figtree-Regular-34407dff25ba868f7ba91aafdadf34c35f706485d16572d66f02eaf86b256e79.ttf) format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Figtree;
  src: url(/assets/Figtree-Medium-33dab9910a4a2e206573b398d751d3c1827aa254e9fb5d0dda9737ce70ba3c56.ttf) format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Figtree;
  src: url(/assets/Figtree-SemiBold-21fac68c9bd93797e2d2528bcdf92bb72b5bd9518e7f1b4536975fb35dd8b63b.ttf) format("truetype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Figtree;
  src: url(/assets/Figtree-Bold-e9aa7803bd617372d2557cbcc676b0cb6c626ef1895b1dec597e00251281cfb1.ttf) format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Figtree;
  src: url(/assets/Figtree-ExtraBold-de87d9b7250e77bf6c3357a65b35ffa1eff5fe4e9c493bb77f6f544be3ea95be.ttf) format("truetype");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Figtree;
  src: url(/assets/Figtree-Italic-c8138db092cd7926fa941968e763309793e7ef7d29626ca96a7c87d96ba9df30.ttf) format("truetype");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

/* line 3, app/assets/stylesheets/global.scss */
body {
  margin: 0;
  font-family: "Figtree";
  background: #f8f4ee;
}

/* line 10, app/assets/stylesheets/global.scss */
.pagination .previous_page, .pagination .next_page, .pagination .current, .pagination .previous_page, .pagination .next {
  margin: 0px 10px;
}

@keyframes checkout-journey-reveal {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes checkout-journey-summary-pulse {
  0% {
    transform: scale(1);
    box-shadow: var(--shadow-card);
  }
  40% {
    transform: scale(1.015);
    box-shadow: 0 16px 32px rgba(153, 239, 174, 0.35), 0 0 0 3px var(--mp-sapling);
  }
  100% {
    transform: scale(1);
    box-shadow: var(--shadow-card);
  }
}

@keyframes checkout-journey-spin {
  to {
    transform: rotate(360deg);
  }
}

/* line 24, app/assets/stylesheets/checkout_journey/_animations.scss */
.checkout-journey--reveal {
  animation: checkout-journey-reveal 280ms ease-out both;
}

/* line 1, app/assets/stylesheets/checkout_journey/_buttons.scss */
.checkout-journey-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 46px;
  padding: 0 22px;
  font-family: var(--font-sans);
  font-size: 16px;
  font-weight: var(--fw-semibold);
  letter-spacing: 0.01em;
  border-radius: var(--radius-md);
  border: none;
  cursor: pointer;
  background: transparent;
  color: var(--fg-1);
  text-decoration: none;
  transition: background-color 150ms ease, color 150ms ease, border-color 150ms ease, opacity 150ms ease;
}

/* line 20, app/assets/stylesheets/checkout_journey/_buttons.scss */
.checkout-journey-btn svg {
  width: 16px;
  height: 16px;
}

/* line 25, app/assets/stylesheets/checkout_journey/_buttons.scss */
.checkout-journey-btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

/* line 30, app/assets/stylesheets/checkout_journey/_buttons.scss */
.checkout-journey-btn--primary {
  background: var(--mp-deep-forest);
  color: var(--fg-on-dark-1);
}

/* line 34, app/assets/stylesheets/checkout_journey/_buttons.scss */
.checkout-journey-btn--primary:hover:not(:disabled) {
  background: var(--mp-deep-forest-hover);
}

/* line 36, app/assets/stylesheets/checkout_journey/_buttons.scss */
.checkout-journey--b2c .checkout-journey-btn--primary {
  background: var(--mp-medium-teal);
}

/* line 39, app/assets/stylesheets/checkout_journey/_buttons.scss */
.checkout-journey--b2c .checkout-journey-btn--primary:hover:not(:disabled) {
  background: var(--mp-pine);
}

/* line 43, app/assets/stylesheets/checkout_journey/_buttons.scss */
.checkout-journey-btn--secondary {
  background: var(--bg-1);
  color: var(--fg-1);
  border: 1.5px solid var(--mp-pine);
}

/* line 48, app/assets/stylesheets/checkout_journey/_buttons.scss */
.checkout-journey-btn--secondary:hover:not(:disabled) {
  background: var(--mp-chalk);
  border-color: var(--mp-pine);
  color: var(--mp-pine);
}

/* line 55, app/assets/stylesheets/checkout_journey/_buttons.scss */
.checkout-journey-btn--ghost {
  background: transparent;
  color: var(--fg-2);
}

/* line 59, app/assets/stylesheets/checkout_journey/_buttons.scss */
.checkout-journey-btn--ghost:hover:not(:disabled) {
  background: rgba(30, 65, 54, 0.05);
  color: var(--fg-1);
}

/* line 65, app/assets/stylesheets/checkout_journey/_buttons.scss */
.checkout-journey-btn--wide {
  min-width: 240px;
}

/* line 1, app/assets/stylesheets/checkout_journey/_nav.scss */
.checkout-journey-nav {
  background: var(--mp-moss);
  color: var(--fg-on-dark-1);
  height: 86px;
  display: flex;
  align-items: center;
}

/* line 8, app/assets/stylesheets/checkout_journey/_nav.scss */
.checkout-journey-nav__inner {
  max-width: 1280px;
  margin: 0 auto;
  width: 100%;
  padding: 0 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

@media (max-width: 960px) {
  /* line 8, app/assets/stylesheets/checkout_journey/_nav.scss */
  .checkout-journey-nav__inner {
    padding: 0 24px;
  }
}

/* line 23, app/assets/stylesheets/checkout_journey/_nav.scss */
.checkout-journey-nav__left {
  display: flex;
  align-items: center;
  gap: 16px;
}

/* line 29, app/assets/stylesheets/checkout_journey/_nav.scss */
.checkout-journey-nav__logo {
  height: 50px;
  width: auto;
  display: block;
}

/* line 35, app/assets/stylesheets/checkout_journey/_nav.scss */
.checkout-journey-nav__divider {
  width: 1px;
  height: 20px;
  background: rgba(255, 255, 255, 0.2);
}

/* line 41, app/assets/stylesheets/checkout_journey/_nav.scss */
.checkout-journey-nav__title {
  font-size: 17px;
  font-weight: var(--fw-semibold);
  color: var(--fg-on-dark-1);
}

/* line 47, app/assets/stylesheets/checkout_journey/_nav.scss */
.checkout-journey-nav__right {
  display: flex;
  align-items: center;
  gap: 20px;
}

@media (max-width: 840px) {
  /* line 47, app/assets/stylesheets/checkout_journey/_nav.scss */
  .checkout-journey-nav__right {
    display: none;
  }
}

/* line 57, app/assets/stylesheets/checkout_journey/_nav.scss */
.checkout-journey-nav__benefit {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 15px;
  color: rgba(255, 255, 255, 0.75);
  font-weight: var(--fw-medium);
}

/* line 66, app/assets/stylesheets/checkout_journey/_nav.scss */
.checkout-journey-nav__benefit-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--mp-sapling);
}

/* line 72, app/assets/stylesheets/checkout_journey/_nav.scss */
.checkout-journey-nav__benefit-icon svg {
  width: 14px;
  height: 14px;
}

/* line 78, app/assets/stylesheets/checkout_journey/_nav.scss */
.checkout-journey-nav__partner-logo {
  height: 50px;
  width: auto;
  display: block;
  object-fit: contain;
}

/* line 85, app/assets/stylesheets/checkout_journey/_nav.scss */
.checkout-journey-nav__collab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: rgba(255, 255, 255, 0.6);
}

/* line 91, app/assets/stylesheets/checkout_journey/_nav.scss */
.checkout-journey-nav__collab svg {
  width: 18px;
  height: 18px;
  stroke-width: 2;
}

/* line 1, app/assets/stylesheets/checkout_journey/_breadcrumb.scss */
.checkout-journey-crumb {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}

@media (max-width: 640px) {
  /* line 1, app/assets/stylesheets/checkout_journey/_breadcrumb.scss */
  .checkout-journey-crumb {
    margin-bottom: 0px;
  }
}

/* line 12, app/assets/stylesheets/checkout_journey/_breadcrumb.scss */
.checkout-journey-crumb__item {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  padding: 4px 0px;
  border-radius: var(--radius-pill);
  font-size: 14px;
  font-weight: var(--fw-medium);
  text-decoration: none;
  background: transparent;
  border: none;
  color: var(--fg-3);
  cursor: default;
}

/* line 26, app/assets/stylesheets/checkout_journey/_breadcrumb.scss */
.checkout-journey-crumb__item--done {
  color: var(--fg-1);
}

/* line 29, app/assets/stylesheets/checkout_journey/_breadcrumb.scss */
.checkout-journey-crumb__item--done .checkout-journey-crumb__num {
  background: var(--mp-bright-lime);
  color: var(--mp-deep-forest);
}

/* line 35, app/assets/stylesheets/checkout_journey/_breadcrumb.scss */
.checkout-journey-crumb__item--current {
  color: var(--fg-1);
  font-weight: var(--fw-semibold);
}

/* line 39, app/assets/stylesheets/checkout_journey/_breadcrumb.scss */
.checkout-journey-crumb__item--current .checkout-journey-crumb__num {
  background: var(--mp-deep-forest);
  color: #fff;
}

/* line 45, app/assets/stylesheets/checkout_journey/_breadcrumb.scss */
.checkout-journey-crumb__item--upcoming {
  opacity: 0.55;
}

/* line 50, app/assets/stylesheets/checkout_journey/_breadcrumb.scss */
.checkout-journey-crumb__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  font-size: 12px;
  font-weight: var(--fw-bold);
  border-radius: 50%;
  background: var(--mp-cream);
  color: var(--fg-2);
}

/* line 63, app/assets/stylesheets/checkout_journey/_breadcrumb.scss */
.checkout-journey-crumb__label {
  letter-spacing: 0.01em;
  font-size: 15px;
}

@media (max-width: 560px) {
  /* line 68, app/assets/stylesheets/checkout_journey/_breadcrumb.scss */
  .checkout-journey-crumb__item:not(.checkout-journey-crumb__item--current) .checkout-journey-crumb__label {
    display: none;
  }
}

/* line 74, app/assets/stylesheets/checkout_journey/_breadcrumb.scss */
.checkout-journey-crumb__sep {
  width: 30px;
  height: 1px;
  background: var(--mp-cream);
}

/* line 1, app/assets/stylesheets/checkout_journey/_shell.scss */
.checkout-journey {
  background: var(--mp-warm-white);
  min-height: calc(100vh - 70px);
  padding: 40px 0 96px;
  font-family: var(--font-sans);
  color: var(--fg-1);
}

@media (max-width: 960px) {
  /* line 1, app/assets/stylesheets/checkout_journey/_shell.scss */
  .checkout-journey {
    padding-top: 30px;
  }
}

/* line 12, app/assets/stylesheets/checkout_journey/_shell.scss */
.checkout-journey__inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 32px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 380px;
  gap: 48px 32px;
  align-items: start;
}

@media (max-width: 960px) {
  /* line 12, app/assets/stylesheets/checkout_journey/_shell.scss */
  .checkout-journey__inner {
    grid-template-columns: minmax(0, 1fr);
    padding: 0 24px;
    gap: 32px;
  }
}

/* line 28, app/assets/stylesheets/checkout_journey/_shell.scss */
.checkout-journey__left {
  display: flex;
  flex-direction: column;
  gap: 32px;
  min-width: 0;
}

/* line 35, app/assets/stylesheets/checkout_journey/_shell.scss */
.checkout-journey__right {
  position: sticky;
  top: 32px;
}

@media (max-width: 960px) {
  /* line 35, app/assets/stylesheets/checkout_journey/_shell.scss */
  .checkout-journey__right {
    position: static;
  }
}

/* line 44, app/assets/stylesheets/checkout_journey/_shell.scss */
.checkout-journey__form {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* line 51, app/assets/stylesheets/checkout_journey/_shell.scss */
.checkout-journey__config-stack {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* line 58, app/assets/stylesheets/checkout_journey/_shell.scss */
.checkout-journey__add-another {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: none;
  border: none;
  cursor: pointer;
  color: var(--mp-pine);
  font-weight: var(--fw-semibold);
  font-size: 14px;
  padding: 12px 4px;
  font-family: inherit;
  align-self: flex-start;
}

/* line 72, app/assets/stylesheets/checkout_journey/_shell.scss */
.checkout-journey__add-another:hover {
  color: var(--mp-deep-forest);
}

/* line 74, app/assets/stylesheets/checkout_journey/_shell.scss */
.checkout-journey__add-another svg {
  width: 14px;
  height: 14px;
  stroke-width: 2.5;
}

/* line 78, app/assets/stylesheets/checkout_journey/_shell.scss */
.checkout-journey-foot {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  margin-top: 16px;
}

/* line 85, app/assets/stylesheets/checkout_journey/_shell.scss */
.checkout-journey-foot__spacer {
  display: none;
}

@media (max-width: 560px) {
  /* line 78, app/assets/stylesheets/checkout_journey/_shell.scss */
  .checkout-journey-foot {
    flex-direction: column-reverse;
    align-items: stretch;
  }
  /* line 91, app/assets/stylesheets/checkout_journey/_shell.scss */
  .checkout-journey-foot form:has(.checkout-journey-btn--ghost) {
    align-self: center;
  }
}

/* line 1, app/assets/stylesheets/checkout_journey/_section_head.scss */
.checkout-journey-section-head {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 8px;
}

/* line 7, app/assets/stylesheets/checkout_journey/_section_head.scss */
.checkout-journey-section-head__eyebrow {
  font-size: 12px;
  font-weight: var(--fw-bold);
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--fg-3);
  color: var(--mp-pine);
}

/* line 12, app/assets/stylesheets/checkout_journey/_section_head.scss */
.checkout-journey-section-head__title {
  font-size: 32px;
  font-weight: var(--fw-bold);
  letter-spacing: -0.015em;
  line-height: 1.15;
  color: var(--fg-1);
  margin: 0;
}

/* line 21, app/assets/stylesheets/checkout_journey/_section_head.scss */
.checkout-journey-section-head__sub {
  font-size: 16px;
  line-height: 1.55;
  color: var(--fg-3);
  max-width: 60ch;
  margin: 0;
}

/* line 1, app/assets/stylesheets/checkout_journey/_configurator.scss */
.checkout-journey-config {
  background: #fff;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-card);
  padding: 32px;
  display: flex;
  flex-direction: column;
  gap: 32px;
}

@media (max-width: 560px) {
  /* line 1, app/assets/stylesheets/checkout_journey/_configurator.scss */
  .checkout-journey-config {
    padding: 24px;
    gap: 24px;
  }
}

/* line 16, app/assets/stylesheets/checkout_journey/_configurator.scss */
.checkout-journey-config__row {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* line 22, app/assets/stylesheets/checkout_journey/_configurator.scss */
.checkout-journey-config__row-head {
  display: flex;
  align-items: center;
  gap: 12px;
}

/* line 28, app/assets/stylesheets/checkout_journey/_configurator.scss */
.checkout-journey-config__row-title {
  font-size: 17px;
  font-weight: var(--fw-semibold);
  color: var(--fg-1);
  margin: 0;
}

/* line 35, app/assets/stylesheets/checkout_journey/_configurator.scss */
.checkout-journey-config__dot {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 8px;
  background: rgba(210, 255, 133, 0.22);
  color: var(--mp-pine);
  flex-shrink: 0;
}

/* line 46, app/assets/stylesheets/checkout_journey/_configurator.scss */
.checkout-journey-config__dot svg {
  width: 16px;
  height: 16px;
}

/* line 50, app/assets/stylesheets/checkout_journey/_configurator.scss */
.checkout-journey-config__type-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

@media (max-width: 560px) {
  /* line 50, app/assets/stylesheets/checkout_journey/_configurator.scss */
  .checkout-journey-config__type-grid {
    grid-template-columns: 1fr;
  }
}

/* line 60, app/assets/stylesheets/checkout_journey/_configurator.scss */
.checkout-journey-config__type-opt {
  position: relative;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px 20px;
  background: #fff;
  border: 1.5px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  cursor: pointer;
  text-align: left;
  transition: border-color 150ms ease, background 150ms ease, color 150ms ease;
  font-family: inherit;
}

/* line 74, app/assets/stylesheets/checkout_journey/_configurator.scss */
.checkout-journey-config__type-opt:hover {
  border-color: var(--mp-pine);
}

/* line 76, app/assets/stylesheets/checkout_journey/_configurator.scss */
.checkout-journey-config__type-opt--active {
  background: var(--mp-deep-forest);
  color: #fff;
  border-color: var(--mp-deep-forest);
}

/* line 81, app/assets/stylesheets/checkout_journey/_configurator.scss */
.checkout-journey-config__type-opt--active .checkout-journey-config__type-sub {
  color: rgba(255, 255, 255, 0.7);
}

/* line 82, app/assets/stylesheets/checkout_journey/_configurator.scss */
.checkout-journey-config__type-opt--active .checkout-journey-config__type-icon {
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
}

/* line 86, app/assets/stylesheets/checkout_journey/_configurator.scss */
.checkout-journey-config__type-opt--active .checkout-journey-config__type-check {
  opacity: 1;
  transform: scale(1);
}

/* line 93, app/assets/stylesheets/checkout_journey/_configurator.scss */
.checkout-journey-config__type-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: var(--mp-chalk);
  color: var(--mp-pine);
  flex-shrink: 0;
}

/* line 104, app/assets/stylesheets/checkout_journey/_configurator.scss */
.checkout-journey-config__type-icon svg {
  width: 22px;
  height: 22px;
}

/* line 107, app/assets/stylesheets/checkout_journey/_configurator.scss */
.checkout-journey-config__type-body {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

/* line 114, app/assets/stylesheets/checkout_journey/_configurator.scss */
.checkout-journey-config__type-label {
  font-size: 16px;
  font-weight: var(--fw-semibold);
}

/* line 119, app/assets/stylesheets/checkout_journey/_configurator.scss */
.checkout-journey-config__type-sub {
  font-size: 14px;
  color: var(--fg-3);
}

/* line 124, app/assets/stylesheets/checkout_journey/_configurator.scss */
.checkout-journey-config__type-check {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 22px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--mp-sapling);
  color: var(--mp-deep-forest);
  opacity: 0;
  transform: scale(0.8);
  transition: opacity 150ms ease, transform 150ms ease;
}

/* line 140, app/assets/stylesheets/checkout_journey/_configurator.scss */
.checkout-journey-config__type-check svg {
  width: 12px;
  height: 12px;
  stroke-width: 3;
}

/* line 144, app/assets/stylesheets/checkout_journey/_configurator.scss */
.checkout-journey-config__plan-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 12px;
}

@media (max-width: 768px) {
  /* line 144, app/assets/stylesheets/checkout_journey/_configurator.scss */
  .checkout-journey-config__plan-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 420px) {
  /* line 144, app/assets/stylesheets/checkout_journey/_configurator.scss */
  .checkout-journey-config__plan-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* line 158, app/assets/stylesheets/checkout_journey/_configurator.scss */
.checkout-journey-config__plan-opt {
  position: relative;
  background: #fff;
  border: 1.5px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  padding: 14px 10px;
  min-height: 108px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  cursor: pointer;
  transition: border-color 150ms ease, background 150ms ease, color 150ms ease;
  font-family: inherit;
}

/* line 174, app/assets/stylesheets/checkout_journey/_configurator.scss */
.checkout-journey-config__plan-opt:hover {
  border-color: var(--mp-pine);
}

/* line 176, app/assets/stylesheets/checkout_journey/_configurator.scss */
.checkout-journey-config__plan-opt--active {
  background: var(--mp-deep-forest);
  border-color: var(--mp-deep-forest);
  color: #fff;
}

/* line 181, app/assets/stylesheets/checkout_journey/_configurator.scss */
.checkout-journey-config__plan-opt--active .checkout-journey-config__plan-price {
  color: rgba(255, 255, 255, 0.7);
}

/* line 182, app/assets/stylesheets/checkout_journey/_configurator.scss */
.checkout-journey-config__plan-opt--active .checkout-journey-config__plan-check {
  opacity: 1;
  transform: scale(1);
}

/* line 189, app/assets/stylesheets/checkout_journey/_configurator.scss */
.checkout-journey-config__plan-num {
  font-size: 24px;
  font-weight: var(--fw-bold);
  line-height: 1.1;
  letter-spacing: -0.02em;
}

/* line 196, app/assets/stylesheets/checkout_journey/_configurator.scss */
.checkout-journey-config__plan-price {
  font-size: 13px;
  margin-top: 4px;
}

/* line 201, app/assets/stylesheets/checkout_journey/_configurator.scss */
.checkout-journey-config__plan-check {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 18px;
  height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--mp-sapling);
  color: var(--mp-deep-forest);
  opacity: 0;
  transform: scale(0.8);
  transition: opacity 150ms ease, transform 150ms ease;
}

/* line 217, app/assets/stylesheets/checkout_journey/_configurator.scss */
.checkout-journey-config__plan-check svg {
  width: 10px;
  height: 10px;
  stroke-width: 3;
}

/* line 220, app/assets/stylesheets/checkout_journey/_configurator.scss */
.checkout-journey-config__plan-note {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(210, 255, 133, 0.22);
  color: var(--mp-deep-forest);
  font-size: 14px;
  font-weight: var(--fw-semibold);
  padding: 8px 14px;
  border-radius: var(--radius-pill);
  align-self: flex-start;
}

/* line 232, app/assets/stylesheets/checkout_journey/_configurator.scss */
.checkout-journey-config__plan-note svg {
  width: 14px;
  height: 14px;
  stroke-width: 3;
}

/* line 235, app/assets/stylesheets/checkout_journey/_configurator.scss */
.checkout-journey-config__plan-note-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* line 242, app/assets/stylesheets/checkout_journey/_configurator.scss */
.checkout-journey-config__qty-row {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

/* line 249, app/assets/stylesheets/checkout_journey/_configurator.scss */
.checkout-journey-config__qty {
  display: inline-flex;
  align-items: center;
  border: 1.5px solid var(--border-subtle);
  border-radius: var(--radius-md);
  overflow: hidden;
  background: #fff;
}

/* line 258, app/assets/stylesheets/checkout_journey/_configurator.scss */
.checkout-journey-config__qty-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 46px;
  border: none;
  background: #fff;
  color: var(--fg-2);
  cursor: pointer;
  transition: background 150ms ease, color 150ms ease;
}

/* line 270, app/assets/stylesheets/checkout_journey/_configurator.scss */
.checkout-journey-config__qty-btn:hover:not(:disabled) {
  background: var(--mp-chalk);
  color: var(--mp-pine);
}

/* line 271, app/assets/stylesheets/checkout_journey/_configurator.scss */
.checkout-journey-config__qty-btn:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}

/* line 273, app/assets/stylesheets/checkout_journey/_configurator.scss */
.checkout-journey-config__qty-btn svg {
  width: 14px;
  height: 14px;
}

/* line 276, app/assets/stylesheets/checkout_journey/_configurator.scss */
.checkout-journey-config__qty-input {
  width: 68px;
  height: 46px;
  text-align: center;
  font-size: 16px;
  font-weight: var(--fw-semibold);
  border: none;
  outline: none;
  font-family: inherit;
  color: var(--fg-1);
  background: #fff;
  -moz-appearance: textfield;
}

/* line 289, app/assets/stylesheets/checkout_journey/_configurator.scss */
.checkout-journey-config__qty-input::-webkit-outer-spin-button, .checkout-journey-config__qty-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* line 297, app/assets/stylesheets/checkout_journey/_configurator.scss */
.checkout-journey-config__qty-preview {
  font-size: 14px;
  color: var(--fg-3);
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
}

/* line 304, app/assets/stylesheets/checkout_journey/_configurator.scss */
.checkout-journey-config__qty-preview strong {
  font-weight: var(--fw-bold);
  color: var(--fg-1);
  font-size: 16px;
}

/* line 311, app/assets/stylesheets/checkout_journey/_configurator.scss */
.checkout-journey-config__qty-preview-unit {
  color: var(--fg-3);
}

/* line 313, app/assets/stylesheets/checkout_journey/_configurator.scss */
.checkout-journey-config__add-btn {
  margin-left: auto;
  position: relative;
}

/* line 317, app/assets/stylesheets/checkout_journey/_configurator.scss */
.checkout-journey-config__add-btn .checkout-journey-config__add-icon-added,
.checkout-journey-config__add-btn .checkout-journey-config__add-label-added {
  display: none;
}

/* line 320, app/assets/stylesheets/checkout_journey/_configurator.scss */
.checkout-journey-config__add-btn.is-added {
  background: var(--mp-sapling);
  color: var(--mp-deep-forest);
  border-color: var(--mp-sapling);
}

/* line 325, app/assets/stylesheets/checkout_journey/_configurator.scss */
.checkout-journey-config__add-btn.is-added .checkout-journey-config__add-icon-default,
.checkout-journey-config__add-btn.is-added .checkout-journey-config__add-label-default {
  display: none;
}

/* line 327, app/assets/stylesheets/checkout_journey/_configurator.scss */
.checkout-journey-config__add-btn.is-added .checkout-journey-config__add-icon-added,
.checkout-journey-config__add-btn.is-added .checkout-journey-config__add-label-added {
  display: inline-flex;
}

@media (max-width: 560px) {
  /* line 313, app/assets/stylesheets/checkout_journey/_configurator.scss */
  .checkout-journey-config__add-btn {
    margin-left: 0;
    width: 100%;
  }
}

/* line 338, app/assets/stylesheets/checkout_journey/_configurator.scss */
.checkout-journey-config__contract-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}

@media (max-width: 560px) {
  /* line 338, app/assets/stylesheets/checkout_journey/_configurator.scss */
  .checkout-journey-config__contract-grid {
    grid-template-columns: 1fr;
  }
}

/* line 348, app/assets/stylesheets/checkout_journey/_configurator.scss */
.checkout-journey-config__contract-opt {
  position: relative;
  background: #fff;
  border: 1.5px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  padding: 16px 14px;
  cursor: pointer;
  text-align: center;
  font-family: inherit;
  transition: border-color 150ms ease, background 150ms ease, color 150ms ease;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

/* line 362, app/assets/stylesheets/checkout_journey/_configurator.scss */
.checkout-journey-config__contract-opt:hover {
  border-color: var(--mp-pine);
}

/* line 364, app/assets/stylesheets/checkout_journey/_configurator.scss */
.checkout-journey-config__contract-opt--active {
  background: var(--mp-deep-forest);
  border-color: var(--mp-deep-forest);
  color: #fff;
}

/* line 369, app/assets/stylesheets/checkout_journey/_configurator.scss */
.checkout-journey-config__contract-opt--active .checkout-journey-config__contract-sub {
  color: var(--mp-sapling);
  font-weight: var(--fw-semibold);
}

/* line 373, app/assets/stylesheets/checkout_journey/_configurator.scss */
.checkout-journey-config__contract-opt--active .checkout-journey-config__contract-check {
  opacity: 1;
  transform: scale(1);
}

/* line 380, app/assets/stylesheets/checkout_journey/_configurator.scss */
.checkout-journey-config__contract-title {
  font-size: 17px;
  font-weight: var(--fw-bold);
}

/* line 385, app/assets/stylesheets/checkout_journey/_configurator.scss */
.checkout-journey-config__contract-sub {
  font-size: 13px;
  color: var(--fg-3);
}

/* line 390, app/assets/stylesheets/checkout_journey/_configurator.scss */
.checkout-journey-config__contract-check {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 18px;
  height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--mp-sapling);
  color: var(--mp-deep-forest);
  opacity: 0;
  transform: scale(0.8);
  transition: opacity 150ms ease, transform 150ms ease;
}

/* line 406, app/assets/stylesheets/checkout_journey/_configurator.scss */
.checkout-journey-config__contract-check svg {
  width: 10px;
  height: 10px;
  stroke-width: 3;
}

/* line 410, app/assets/stylesheets/checkout_journey/_configurator.scss */
.checkout-journey-config__sim-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--border-subtle);
  margin-bottom: -8px;
}

/* line 419, app/assets/stylesheets/checkout_journey/_configurator.scss */
.checkout-journey-config__sim-eyebrow {
  font-size: 11px;
  font-weight: var(--fw-bold);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--fg-3);
}

/* line 427, app/assets/stylesheets/checkout_journey/_configurator.scss */
.checkout-journey-config__sim-remove {
  background: none;
  border: none;
  color: var(--fg-3);
  font-size: 14px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 6px;
  border-radius: 8px;
  font-family: inherit;
}

/* line 440, app/assets/stylesheets/checkout_journey/_configurator.scss */
.checkout-journey-config__sim-remove:hover {
  color: var(--mp-ember);
  background: var(--mp-chalk);
}

/* line 445, app/assets/stylesheets/checkout_journey/_configurator.scss */
.checkout-journey-config__sim-remove svg {
  width: 14px;
  height: 14px;
}

/* line 449, app/assets/stylesheets/checkout_journey/_configurator.scss */
.checkout-journey-config__price {
  margin-top: 12px;
  padding-top: 18px;
  border-top: 1px dashed var(--border-subtle);
  display: flex;
  align-items: baseline;
  font-size: 15px;
  color: var(--fg-2);
}

/* line 458, app/assets/stylesheets/checkout_journey/_configurator.scss */
.checkout-journey-config__price strong {
  font-size: 24px;
  font-weight: var(--fw-bold);
  color: var(--fg-1);
  line-height: 1;
}

/* line 466, app/assets/stylesheets/checkout_journey/_configurator.scss */
.checkout-journey-config__price-original {
  text-decoration: line-through;
  color: var(--fg-3);
  font-size: 14px;
  margin-left: 10px;
}

/* line 1, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary {
  background: #fff;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-card);
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  transition: box-shadow 250ms ease, transform 250ms ease;
}

/* line 12, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary.is-pulse {
  animation: checkout-journey-summary-pulse 900ms cubic-bezier(0.2, 0.9, 0.3, 1) 1;
}

/* line 16, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

/* line 23, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__head-right {
  display: flex;
  align-items: center;
  gap: 10px;
}

/* line 29, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__eyebrow {
  font-size: 12px;
  font-weight: var(--fw-bold);
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--fg-3);
}

/* line 33, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__promo-label {
  font-size: 12px;
  font-weight: var(--fw-bold);
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--fg-3);
}

/* line 37, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__edit-form {
  display: contents;
}

/* line 41, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__edit {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 6px;
  font-family: inherit;
  font-size: 12px;
  font-weight: var(--fw-semibold);
  color: var(--mp-pine);
  background: transparent;
  border: 0;
  border-radius: 4px;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-color: rgba(37, 103, 81, 0.35);
  transition: background 150ms ease, color 150ms ease;
}

/* line 59, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__edit:hover {
  color: var(--mp-deep-forest);
  text-decoration-color: currentColor;
  background: rgba(37, 103, 81, 0.06);
}

/* line 65, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__edit svg {
  width: 12px;
  height: 12px;
  stroke-width: 2.25;
}

/* line 68, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__vat {
  display: inline-flex;
  align-self: flex-end;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: var(--fw-semibold);
  color: var(--fg-3);
  cursor: pointer;
}

/* line 78, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__vat input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  pointer-events: none;
}

/* line 86, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__vat input:checked + .checkout-journey-summary__vat-track {
  background: var(--mp-pine);
}

/* line 89, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__vat input:checked + .checkout-journey-summary__vat-track .checkout-journey-summary__vat-thumb {
  transform: translateX(14px);
}

/* line 95, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__vat-track {
  width: 32px;
  height: 18px;
  border-radius: var(--radius-pill);
  background: var(--mp-cream);
  position: relative;
  transition: background 150ms ease;
}

/* line 104, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__vat-thumb {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
  transition: transform 150ms ease;
}

/* line 116, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__vat-label {
  color: var(--fg-2);
}

/* line 118, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__empty {
  border-radius: var(--radius-lg);
  padding: 24px 20px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}

/* line 127, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__empty p {
  font-size: 14px;
  color: var(--fg-3);
  margin: 0;
  line-height: 1.45;
}

/* line 135, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__empty-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--mp-chalk);
  color: var(--mp-pine);
}

/* line 145, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__empty-icon svg {
  width: 18px;
  height: 18px;
}

/* line 148, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__lines {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
}

/* line 156, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__line {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 10px;
  padding: 10px 0;
  border-bottom: 1px solid var(--border-subtle);
}

/* line 164, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__line:last-child {
  border-bottom: 0;
}

/* line 167, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__line-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: rgba(210, 255, 133, 0.22);
  color: var(--mp-pine);
}

/* line 177, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__line-icon svg {
  width: 18px;
  height: 18px;
}

/* line 180, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__sim-glyph {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* line 186, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__line-body {
  min-width: 0;
}

/* line 188, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__line-title {
  font-size: 15px;
  font-weight: var(--fw-semibold);
  color: var(--fg-1);
}

/* line 194, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__line-sub {
  font-size: 13px;
  color: var(--fg-3);
  margin-top: 2px;
}

/* line 200, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__line-price {
  font-size: 15px;
  font-weight: var(--fw-semibold);
  color: var(--fg-1);
  white-space: nowrap;
}

/* line 207, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__line-remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: transparent;
  border: 1px solid var(--border-subtle);
  color: var(--fg-3);
  cursor: pointer;
  transition: color 150ms ease, border-color 150ms ease, background 150ms ease;
}

/* line 220, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__line-remove:hover {
  color: #c0392b;
  border-color: #e7b4ad;
  background: #fff8f7;
}

/* line 226, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__line-remove svg {
  width: 10px;
  height: 10px;
  stroke-width: 2.5;
}

/* line 229, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__totals {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding-top: 12px;
  border-top: 1px solid var(--border-subtle);
}

/* line 237, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  font-size: 14px;
  color: var(--fg-2);
}

/* line 245, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__row--muted {
  color: var(--fg-3);
}

/* line 247, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__row--vat {
  visibility: hidden;
  opacity: 0;
  transition: opacity 150ms ease, visibility 150ms ease;
}

/* line 252, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__row--vat.is-visible {
  visibility: visible;
  opacity: 1;
}

/* line 258, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__row--total {
  margin-top: 4px;
  padding-top: 8px;
  border-top: 1px solid var(--border-subtle);
  font-size: 14px;
}

/* line 264, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__row--total strong {
  font-size: 22px;
  font-weight: var(--fw-bold);
  color: var(--fg-1);
  display: block;
  line-height: 1.2;
}

/* line 272, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__row--total em {
  font-style: normal;
  font-size: 13px;
  color: var(--fg-3);
}

/* line 280, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__row-val {
  text-align: right;
  color: var(--fg-1);
  font-weight: var(--fw-semibold);
}

/* line 286, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__row-strike {
  display: block;
  text-align: right;
  text-decoration: line-through;
  color: var(--fg-3);
  font-size: 14px;
  font-weight: var(--fw-regular);
  line-height: 1.2;
}

/* line 296, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__promo {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 12px 14px;
  background: var(--mp-sapling);
  color: var(--mp-deep-forest);
  border-radius: var(--radius-md);
}

/* line 306, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__promo-head {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

/* line 313, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__promo-pill {
  background: var(--mp-deep-forest);
  color: var(--mp-sapling);
  font-size: 12px;
  font-weight: var(--fw-bold);
  letter-spacing: 0.05em;
  padding: 4px 10px;
  border-radius: var(--radius-pill);
  text-transform: uppercase;
}

/* line 324, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__promo-note {
  font-size: 12px;
  color: var(--mp-deep-forest);
  opacity: 0.85;
}

/* line 330, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__prorate {
  background: var(--mp-warm-white);
  border: 1px dashed var(--mp-cream);
  border-radius: var(--radius-md);
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

/* line 340, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__prorate-label {
  font-size: 11px;
  font-weight: var(--fw-semibold);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--fg-3);
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

/* line 351, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__prorate-help {
  position: relative;
  display: inline-flex;
}

/* line 356, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__prorate-trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  background: transparent;
  border: 0;
  color: var(--fg-3);
  cursor: pointer;
}

/* line 366, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__prorate-trigger:hover {
  color: var(--fg-1);
}

/* line 368, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__prorate-trigger svg {
  width: 14px;
  height: 14px;
}

/* line 371, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__prorate-pop {
  position: absolute;
  left: 50%;
  top: 100%;
  transform: translateX(-50%);
  margin-top: 8px;
  width: 280px;
  padding: 12px 32px 12px 14px;
  background: #fff;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-card-hover);
  font-size: 13px;
  font-weight: var(--fw-regular);
  letter-spacing: normal;
  text-transform: none;
  color: var(--fg-2);
  line-height: 1.5;
  z-index: 10;
}

/* line 391, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__prorate-pop::before {
  content: "";
  position: absolute;
  bottom: 100%;
  left: 0;
  right: 0;
  height: 8px;
}

/* line 400, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__prorate-pop.hidden {
  display: none;
}

/* line 403, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__prorate-close {
  position: absolute;
  top: 4px;
  right: 4px;
  width: 22px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: var(--radius-sm);
  color: var(--fg-3);
  cursor: pointer;
}

/* line 419, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__prorate-close:hover {
  color: var(--fg-1);
  background: var(--bg-subtle);
}

/* line 424, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__prorate-close svg {
  width: 12px;
  height: 12px;
}

/* line 427, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__prorate-val {
  font-size: 20px;
  font-weight: var(--fw-bold);
  color: var(--mp-deep-forest);
}

/* line 433, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__prorate-note {
  font-size: 13px;
  color: var(--fg-3);
  line-height: 1.45;
}

/* line 439, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__included {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding-top: 12px;
  border-top: 1px solid var(--border-subtle);
}

/* line 449, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__included li {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: var(--fg-2);
  font-weight: var(--fw-medium);
}

/* line 459, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__included-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--mp-pine);
  flex-shrink: 0;
}

/* line 466, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__included-icon svg {
  width: 14px;
  height: 14px;
  stroke-width: 2.5;
}

/* line 470, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__promo-section {
  margin-top: 4px;
  padding: 14px 0;
  border-top: 1px solid var(--border-subtle);
}

/* line 476, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__promo-toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: none;
  border: none;
  cursor: pointer;
  color: var(--mp-pine);
  font-weight: var(--fw-semibold);
  font-size: 14px;
  padding: 4px 0;
  font-family: inherit;
}

/* line 489, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__promo-toggle:hover {
  color: var(--mp-deep-forest);
}

/* line 491, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__promo-toggle svg {
  width: 14px;
  height: 14px;
}

/* line 494, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__promo-form {
  display: flex;
  gap: 8px;
  align-items: stretch;
  margin-top: 8px;
}

/* line 500, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__promo-form[hidden] {
  display: none;
}

/* line 503, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__promo-input {
  flex: 1;
  min-width: 0;
  padding: 10px 12px;
  border-radius: 10px;
  border: 1.5px solid var(--border-subtle);
  font-family: inherit;
  font-size: 14px;
  background: #fff;
  color: var(--fg-1);
  text-transform: uppercase;
}

/* line 515, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__promo-input:focus {
  outline: none;
  border-color: var(--mp-pine);
}

/* line 518, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__promo-apply {
  padding: 10px 14px;
  border-radius: 10px;
  border: 1.5px solid var(--mp-deep-forest);
  background: #fff;
  color: var(--mp-deep-forest);
  font-weight: var(--fw-semibold);
  font-size: 14px;
  cursor: pointer;
  font-family: inherit;
}

/* line 529, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__promo-apply:hover {
  background: var(--mp-deep-forest);
  color: #fff;
}

/* line 532, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__promo-clear {
  background: none;
  border: none;
  color: var(--mp-deep-forest);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  font-weight: var(--fw-medium);
  padding: 4px 0;
  font-family: inherit;
  margin-top: 6px;
}

/* line 546, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__promo-clear:hover {
  color: var(--mp-ember);
}

/* line 548, app/assets/stylesheets/checkout_journey/_summary.scss */
.checkout-journey-summary__promo-clear svg {
  width: 12px;
  height: 12px;
}

/* line 1, app/assets/stylesheets/checkout_journey/_form.scss */
.checkout-journey-card {
  background: #fff;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-card);
  padding: 32px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

@media (max-width: 560px) {
  /* line 1, app/assets/stylesheets/checkout_journey/_form.scss */
  .checkout-journey-card {
    padding: 24px;
  }
}

/* line 16, app/assets/stylesheets/checkout_journey/_form.scss */
.checkout-journey-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}

/* line 22, app/assets/stylesheets/checkout_journey/_form.scss */
.checkout-journey-field--short {
  flex-basis: 35%;
}

/* line 24, app/assets/stylesheets/checkout_journey/_form.scss */
.checkout-journey-field__label {
  font-size: 14px;
  font-weight: var(--fw-semibold);
  letter-spacing: 0.01em;
  color: var(--fg-2);
}

/* line 31, app/assets/stylesheets/checkout_journey/_form.scss */
.checkout-journey-field__input {
  width: 100%;
  min-height: 46px;
  padding: 12px 14px;
  font-family: var(--font-sans);
  font-size: 16px;
  color: var(--fg-1);
  background: #fff;
  border: 1.5px solid var(--border-subtle);
  border-radius: var(--radius-md);
  transition: border-color 150ms ease, box-shadow 150ms ease;
}

/* line 43, app/assets/stylesheets/checkout_journey/_form.scss */
.checkout-journey-field__input:focus {
  outline: none;
  border-color: var(--mp-pine);
  box-shadow: 0 0 0 3px rgba(37, 103, 81, 0.12);
}

/* line 49, app/assets/stylesheets/checkout_journey/_form.scss */
.checkout-journey-field__input::placeholder {
  color: var(--fg-3);
}

/* line 51, app/assets/stylesheets/checkout_journey/_form.scss */
.checkout-journey-field__input--upper {
  text-transform: uppercase;
}

/* line 53, app/assets/stylesheets/checkout_journey/_form.scss */
.checkout-journey-field__input.is-error {
  border-color: #e7b4ad;
  background: #fff8f7;
}

/* line 57, app/assets/stylesheets/checkout_journey/_form.scss */
.checkout-journey-field__input.is-error:focus {
  box-shadow: 0 0 0 3px rgba(192, 57, 43, 0.18);
}

/* line 61, app/assets/stylesheets/checkout_journey/_form.scss */
.checkout-journey-field__hint {
  font-size: 13px;
  color: var(--fg-3);
  line-height: 1.45;
}

/* line 67, app/assets/stylesheets/checkout_journey/_form.scss */
.checkout-journey-field__err {
  font-size: 13px;
  font-weight: var(--fw-semibold);
  color: #c0392b;
}

/* line 73, app/assets/stylesheets/checkout_journey/_form.scss */
.checkout-journey-field__row {
  display: flex;
  gap: 16px;
  align-items: flex-start;
}

/* line 78, app/assets/stylesheets/checkout_journey/_form.scss */
.checkout-journey-field__row .checkout-journey-field {
  flex: 1;
}

/* line 79, app/assets/stylesheets/checkout_journey/_form.scss */
.checkout-journey-field__row .checkout-journey-field--short {
  flex: 0 0 35%;
}

@media (max-width: 560px) {
  /* line 73, app/assets/stylesheets/checkout_journey/_form.scss */
  .checkout-journey-field__row {
    flex-direction: column;
    gap: 20px;
  }
  /* line 85, app/assets/stylesheets/checkout_journey/_form.scss */
  .checkout-journey-field__row .checkout-journey-field--short {
    flex: 1;
    width: 100%;
  }
}

/* line 1, app/assets/stylesheets/checkout_journey/_review.scss */
.checkout-journey-review {
  background: var(--mp-chalk);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  padding: 18px 22px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* line 10, app/assets/stylesheets/checkout_journey/_review.scss */
.checkout-journey-review__row {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr);
  gap: 16px;
  align-items: baseline;
  font-size: 15px;
  color: var(--fg-2);
}

/* line 18, app/assets/stylesheets/checkout_journey/_review.scss */
.checkout-journey-review__row span:last-child {
  color: var(--fg-1);
}

/* line 22, app/assets/stylesheets/checkout_journey/_review.scss */
.checkout-journey-review__row--bill {
  border-top: 1px solid var(--border-subtle);
  padding-top: 12px;
  margin-top: 2px;
}

/* line 27, app/assets/stylesheets/checkout_journey/_review.scss */
.checkout-journey-review__row--bill strong {
  font-size: 17px;
  font-weight: var(--fw-bold);
  color: var(--fg-1);
}

@media (max-width: 560px) {
  /* line 10, app/assets/stylesheets/checkout_journey/_review.scss */
  .checkout-journey-review__row {
    grid-template-columns: minmax(0, 1fr);
    gap: 2px;
  }
}

/* line 40, app/assets/stylesheets/checkout_journey/_review.scss */
.checkout-journey-review__eyebrow {
  font-size: 12px;
  font-weight: var(--fw-bold);
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--fg-3);
  margin: 0;
}

/* line 46, app/assets/stylesheets/checkout_journey/_review.scss */
.checkout-journey-pay-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  position: relative;
}

@media (max-width: 560px) {
  /* line 46, app/assets/stylesheets/checkout_journey/_review.scss */
  .checkout-journey-pay-head {
    flex-direction: column;
    gap: 0;
  }
}

/* line 59, app/assets/stylesheets/checkout_journey/_review.scss */
.checkout-journey-pay-help {
  position: relative;
  flex-shrink: 0;
}

@media (max-width: 560px) {
  /* line 59, app/assets/stylesheets/checkout_journey/_review.scss */
  .checkout-journey-pay-help {
    padding-top: 0;
  }
}

/* line 67, app/assets/stylesheets/checkout_journey/_review.scss */
.checkout-journey-pay-help__trigger {
  background: transparent;
  border: 0;
  cursor: pointer;
  font-family: inherit;
  font-size: 14px;
  font-weight: var(--fw-semibold);
  color: var(--mp-pine);
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-color: rgba(37, 103, 81, 0.35);
  padding: 4px 2px;
}

/* line 80, app/assets/stylesheets/checkout_journey/_review.scss */
.checkout-journey-pay-help__trigger:hover {
  color: var(--mp-deep-forest);
}

/* line 83, app/assets/stylesheets/checkout_journey/_review.scss */
.checkout-journey-pay-help__pop {
  position: absolute;
  right: 0;
  top: 100%;
  margin-top: 8px;
  width: 260px;
  padding: 14px 36px 14px 16px;
  background: #fff;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-card-hover);
  font-size: 15px;
  color: var(--fg-2);
  line-height: 1.5;
  z-index: 10;
}

/* line 99, app/assets/stylesheets/checkout_journey/_review.scss */
.checkout-journey-pay-help__pop.hidden {
  display: none;
}

/* line 102, app/assets/stylesheets/checkout_journey/_review.scss */
.checkout-journey-pay-help__arrow {
  position: absolute;
  top: -6px;
  right: 24px;
  width: 10px;
  height: 10px;
  background: #fff;
  border-top: 1px solid var(--border-subtle);
  border-left: 1px solid var(--border-subtle);
  transform: rotate(45deg);
}

/* line 114, app/assets/stylesheets/checkout_journey/_review.scss */
.checkout-journey-pay-help__close {
  position: absolute;
  top: 6px;
  right: 6px;
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: var(--radius-sm);
  color: var(--fg-3);
  cursor: pointer;
}

/* line 130, app/assets/stylesheets/checkout_journey/_review.scss */
.checkout-journey-pay-help__close:hover {
  color: var(--fg-1);
  background: var(--bg-subtle);
}

/* line 135, app/assets/stylesheets/checkout_journey/_review.scss */
.checkout-journey-pay-help__close svg {
  width: 14px;
  height: 14px;
}

/* line 138, app/assets/stylesheets/checkout_journey/_review.scss */
.checkout-journey-pay-help__link {
  display: inline;
  padding: 0;
  background: transparent;
  border: 0;
  color: var(--mp-pine);
  font: inherit;
  font-weight: var(--fw-semibold);
  text-decoration: underline;
  cursor: pointer;
}

/* line 149, app/assets/stylesheets/checkout_journey/_review.scss */
.checkout-journey-pay-help__link:hover {
  color: var(--mp-deep-forest);
}

/* line 1, app/assets/stylesheets/checkout_journey/_stripe.scss */
.checkout-journey-stripe {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* line 6, app/assets/stylesheets/checkout_journey/_stripe.scss */
.checkout-journey-stripe__label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: var(--fw-semibold);
  letter-spacing: 0.02em;
  color: var(--fg-3);
}

/* line 15, app/assets/stylesheets/checkout_journey/_stripe.scss */
.checkout-journey-stripe__label svg {
  width: 14px;
  height: 14px;
  color: var(--mp-pine);
}

/* line 22, app/assets/stylesheets/checkout_journey/_stripe.scss */
.checkout-journey-stripe__frame {
  background: #fff;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card);
  padding: 24px;
}

@media (max-width: 560px) {
  /* line 22, app/assets/stylesheets/checkout_journey/_stripe.scss */
  .checkout-journey-stripe__frame {
    padding: 20px;
    max-width: none;
  }
}

/* line 35, app/assets/stylesheets/checkout_journey/_stripe.scss */
.checkout-journey-stripe__error {
  font-size: 13px;
  color: #c0392b;
  margin-top: 8px;
}

/* line 40, app/assets/stylesheets/checkout_journey/_stripe.scss */
.checkout-journey-stripe__error:empty {
  display: none;
}

/* line 44, app/assets/stylesheets/checkout_journey/_stripe.scss */
.checkout-journey-terms {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-size: 13px;
  color: var(--fg-2);
  line-height: 1.55;
  cursor: pointer;
}

/* line 53, app/assets/stylesheets/checkout_journey/_stripe.scss */
.checkout-journey-terms input[type="checkbox"] {
  flex-shrink: 0;
  margin-top: 3px;
  accent-color: var(--mp-deep-forest);
  width: 16px;
  height: 16px;
}

/* line 61, app/assets/stylesheets/checkout_journey/_stripe.scss */
.checkout-journey-terms a {
  color: var(--mp-pine);
  font-weight: var(--fw-semibold);
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* line 68, app/assets/stylesheets/checkout_journey/_stripe.scss */
.checkout-journey-terms__summaries {
  position: relative;
  display: inline-block;
}

/* line 73, app/assets/stylesheets/checkout_journey/_stripe.scss */
.checkout-journey-terms__summaries-trigger {
  background: transparent;
  border: 0;
  padding: 0;
  cursor: pointer;
  font: inherit;
  color: var(--mp-pine);
  font-weight: var(--fw-semibold);
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* line 84, app/assets/stylesheets/checkout_journey/_stripe.scss */
.checkout-journey-terms__summaries-trigger:hover {
  color: var(--mp-deep-forest);
}

/* line 87, app/assets/stylesheets/checkout_journey/_stripe.scss */
.checkout-journey-terms__summaries-pop {
  position: absolute;
  left: 0;
  top: 100%;
  margin-top: 6px;
  min-width: 220px;
  padding: 8px;
  background: #fff;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-card-hover);
  z-index: 10;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

/* line 103, app/assets/stylesheets/checkout_journey/_stripe.scss */
.checkout-journey-terms__summaries-pop.hidden {
  display: none;
}

/* line 106, app/assets/stylesheets/checkout_journey/_stripe.scss */
.checkout-journey-terms__summaries-link {
  display: block;
  padding: 6px 10px;
  border-radius: var(--radius-sm);
  font-size: 13px;
}

/* line 112, app/assets/stylesheets/checkout_journey/_stripe.scss */
.checkout-journey-terms__summaries-link:hover {
  background: var(--bg-subtle);
}

/* line 116, app/assets/stylesheets/checkout_journey/_stripe.scss */
.checkout-journey-btn__label-default,
.checkout-journey-btn__label-processing {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
}

/* line 124, app/assets/stylesheets/checkout_journey/_stripe.scss */
.checkout-journey-btn__label-processing {
  display: none;
}

/* line 127, app/assets/stylesheets/checkout_journey/_stripe.scss */
.checkout-journey-btn.is-processing .checkout-journey-btn__label-default {
  display: none;
}

/* line 128, app/assets/stylesheets/checkout_journey/_stripe.scss */
.checkout-journey-btn.is-processing .checkout-journey-btn__label-processing {
  display: inline-flex;
}

/* line 131, app/assets/stylesheets/checkout_journey/_stripe.scss */
.checkout-journey-spinner {
  display: inline-block;
  width: 14px;
  height: 14px;
  border: 2px solid rgba(255, 255, 255, 0.35);
  border-top-color: #fff;
  border-radius: 50%;
  animation: checkout-journey-spin 0.7s linear infinite;
}

/* line 1, app/assets/stylesheets/checkout_journey/_confirmation.scss */
.checkout-journey--confirm {
  padding-bottom: 96px;
}

@media (max-width: 640px) {
  /* line 1, app/assets/stylesheets/checkout_journey/_confirmation.scss */
  .checkout-journey--confirm {
    padding-top: 0px;
  }
}

/* line 8, app/assets/stylesheets/checkout_journey/_confirmation.scss */
.checkout-journey--confirm .checkout-journey-confirm {
  max-width: 820px;
  margin: 0 auto;
  padding: 28px 32px 0;
  display: flex;
  flex-direction: column;
  gap: 32px;
}

@media (max-width: 640px) {
  /* line 8, app/assets/stylesheets/checkout_journey/_confirmation.scss */
  .checkout-journey--confirm .checkout-journey-confirm {
    padding: 20px 20px 0;
  }
}

/* line 23, app/assets/stylesheets/checkout_journey/_confirmation.scss */
.checkout-journey-confirm__hero {
  background: var(--mp-moss);
  color: #fff;
  border-radius: var(--radius-xl);
  padding: 36px 40px;
  display: flex;
  align-items: center;
  gap: 24px;
  box-shadow: 0 32px 48px rgba(3, 45, 16, 0.25);
}

@media (max-width: 560px) {
  /* line 23, app/assets/stylesheets/checkout_journey/_confirmation.scss */
  .checkout-journey-confirm__hero {
    flex-direction: column;
    align-items: flex-start;
    padding: 28px 24px;
  }
}

/* line 40, app/assets/stylesheets/checkout_journey/_confirmation.scss */
.checkout-journey-confirm__hero-mark {
  flex-shrink: 0;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--mp-bright-lime);
  color: var(--mp-moss);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* line 51, app/assets/stylesheets/checkout_journey/_confirmation.scss */
.checkout-journey-confirm__hero-mark svg {
  width: 28px;
  height: 28px;
  stroke-width: 3;
}

/* line 54, app/assets/stylesheets/checkout_journey/_confirmation.scss */
.checkout-journey-confirm__hero-eyebrow {
  font-size: 12px;
  font-weight: var(--fw-bold);
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--fg-3);
  color: var(--mp-sapling);
  margin-bottom: 6px;
}

/* line 60, app/assets/stylesheets/checkout_journey/_confirmation.scss */
.checkout-journey-confirm__hero-title {
  font-size: 28px;
  font-weight: var(--fw-bold);
  letter-spacing: -0.015em;
  line-height: 1.2;
  margin: 0 0 6px 0;
  color: #fff;
}

/* line 69, app/assets/stylesheets/checkout_journey/_confirmation.scss */
.checkout-journey-confirm__hero-sub {
  font-size: 15px;
  color: rgba(255, 255, 255, 0.8);
  line-height: 1.55;
  margin: 0;
}

/* line 76, app/assets/stylesheets/checkout_journey/_confirmation.scss */
.checkout-journey-confirm__card {
  background: #fff;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-card);
  padding: 28px 32px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

@media (max-width: 560px) {
  /* line 76, app/assets/stylesheets/checkout_journey/_confirmation.scss */
  .checkout-journey-confirm__card {
    padding: 24px 20px;
  }
}

/* line 91, app/assets/stylesheets/checkout_journey/_confirmation.scss */
.checkout-journey-confirm__card-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
}

/* line 96, app/assets/stylesheets/checkout_journey/_confirmation.scss */
.checkout-journey-confirm__card-head h2 {
  font-size: 18px;
  font-weight: var(--fw-bold);
  color: var(--fg-1);
  margin: 0;
}

/* line 104, app/assets/stylesheets/checkout_journey/_confirmation.scss */
.checkout-journey-confirm__card-meta {
  font-size: 14px;
  color: var(--fg-3);
}

/* line 109, app/assets/stylesheets/checkout_journey/_confirmation.scss */
.checkout-journey-confirm__lines {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* line 115, app/assets/stylesheets/checkout_journey/_confirmation.scss */
.checkout-journey-confirm__line {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  padding: 14px 0;
  border-bottom: 1px solid var(--border-subtle);
}

/* line 123, app/assets/stylesheets/checkout_journey/_confirmation.scss */
.checkout-journey-confirm__line:last-child {
  border-bottom: 0;
}

/* line 126, app/assets/stylesheets/checkout_journey/_confirmation.scss */
.checkout-journey-confirm__line-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: var(--radius-md);
  background: var(--mp-chalk);
  color: var(--mp-pine);
}

/* line 136, app/assets/stylesheets/checkout_journey/_confirmation.scss */
.checkout-journey-confirm__line-icon svg {
  width: 20px;
  height: 20px;
}

/* line 139, app/assets/stylesheets/checkout_journey/_confirmation.scss */
.checkout-journey-confirm__line-body {
  min-width: 0;
}

/* line 141, app/assets/stylesheets/checkout_journey/_confirmation.scss */
.checkout-journey-confirm__line-title {
  font-size: 15px;
  font-weight: var(--fw-semibold);
  color: var(--fg-1);
}

/* line 147, app/assets/stylesheets/checkout_journey/_confirmation.scss */
.checkout-journey-confirm__line-sub {
  font-size: 13px;
  color: var(--fg-3);
  margin-top: 2px;
}

/* line 153, app/assets/stylesheets/checkout_journey/_confirmation.scss */
.checkout-journey-confirm__line-price {
  font-size: 17px;
  font-weight: var(--fw-bold);
  color: var(--fg-1);
  white-space: nowrap;
}

/* line 160, app/assets/stylesheets/checkout_journey/_confirmation.scss */
.checkout-journey-confirm__totals {
  padding-top: 12px;
  border-top: 1px solid var(--border-subtle);
}

/* line 165, app/assets/stylesheets/checkout_journey/_confirmation.scss */
.checkout-journey-confirm__tot-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  font-size: 14px;
  color: var(--fg-2);
}

/* line 173, app/assets/stylesheets/checkout_journey/_confirmation.scss */
.checkout-journey-confirm__tot-row strong {
  font-size: 20px;
  font-weight: var(--fw-bold);
  color: var(--fg-1);
}

/* line 180, app/assets/stylesheets/checkout_journey/_confirmation.scss */
.checkout-journey-confirm__tot-val {
  text-align: right;
}

/* line 184, app/assets/stylesheets/checkout_journey/_confirmation.scss */
.checkout-journey-confirm__tot-strike {
  display: block;
  text-decoration: line-through;
  color: var(--fg-3);
  font-size: 14px;
  font-weight: var(--fw-regular);
  line-height: 1.2;
  margin-bottom: 2px;
}

/* line 194, app/assets/stylesheets/checkout_journey/_confirmation.scss */
.checkout-journey-confirm__promo {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 12px 14px;
  background: var(--mp-sapling);
  color: var(--mp-deep-forest);
  border-radius: var(--radius-md);
}

/* line 204, app/assets/stylesheets/checkout_journey/_confirmation.scss */
.checkout-journey-confirm__promo-head {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

/* line 211, app/assets/stylesheets/checkout_journey/_confirmation.scss */
.checkout-journey-confirm__promo-label {
  font-size: 12px;
  font-weight: var(--fw-bold);
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--fg-3);
}

/* line 215, app/assets/stylesheets/checkout_journey/_confirmation.scss */
.checkout-journey-confirm__promo-pill {
  background: var(--mp-deep-forest);
  color: var(--mp-sapling);
  font-size: 12px;
  font-weight: var(--fw-bold);
  letter-spacing: 0.05em;
  padding: 4px 10px;
  border-radius: var(--radius-pill);
  text-transform: uppercase;
}

/* line 226, app/assets/stylesheets/checkout_journey/_confirmation.scss */
.checkout-journey-confirm__promo-note {
  font-size: 13px;
  color: var(--mp-deep-forest);
  opacity: 0.85;
}

/* line 232, app/assets/stylesheets/checkout_journey/_confirmation.scss */
.checkout-journey-confirm__callout {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  background: var(--mp-chalk);
  border-radius: var(--radius-md);
  padding: 16px 18px;
}

/* line 241, app/assets/stylesheets/checkout_journey/_confirmation.scss */
.checkout-journey-confirm__callout-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #fff;
  color: var(--mp-pine);
  flex-shrink: 0;
}

/* line 252, app/assets/stylesheets/checkout_journey/_confirmation.scss */
.checkout-journey-confirm__callout-icon svg {
  width: 18px;
  height: 18px;
}

/* line 255, app/assets/stylesheets/checkout_journey/_confirmation.scss */
.checkout-journey-confirm__callout-title {
  font-size: 15px;
  font-weight: var(--fw-semibold);
  color: var(--fg-1);
}

/* line 260, app/assets/stylesheets/checkout_journey/_confirmation.scss */
.checkout-journey-confirm__callout-title strong {
  color: var(--mp-deep-forest);
}

/* line 263, app/assets/stylesheets/checkout_journey/_confirmation.scss */
.checkout-journey-confirm__callout-sub {
  font-size: 13px;
  color: var(--fg-3);
  margin-top: 2px;
  line-height: 1.45;
}

/* line 270, app/assets/stylesheets/checkout_journey/_confirmation.scss */
.checkout-journey-confirm__next {
  background: #fff;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-card);
  padding: 28px 32px;
}

@media (max-width: 560px) {
  /* line 270, app/assets/stylesheets/checkout_journey/_confirmation.scss */
  .checkout-journey-confirm__next {
    padding: 24px 20px;
  }
}

/* line 281, app/assets/stylesheets/checkout_journey/_confirmation.scss */
.checkout-journey-confirm__next h2 {
  font-size: 18px;
  font-weight: var(--fw-bold);
  color: var(--fg-1);
  margin: 0 0 16px 0;
}

/* line 289, app/assets/stylesheets/checkout_journey/_confirmation.scss */
.checkout-journey-confirm__next-list {
  list-style: none;
  padding: 0;
  margin: 0;
  counter-reset: next;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

/* line 299, app/assets/stylesheets/checkout_journey/_confirmation.scss */
.checkout-journey-confirm__next-item {
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 12px;
  align-items: flex-start;
}

/* line 306, app/assets/stylesheets/checkout_journey/_confirmation.scss */
.checkout-journey-confirm__next-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--mp-deep-teal);
  color: var(--mp-chalk);
  font-size: 13px;
  font-weight: var(--fw-bold);
}

/* line 319, app/assets/stylesheets/checkout_journey/_confirmation.scss */
.checkout-journey-confirm__next-title {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  font-weight: var(--fw-semibold);
  color: var(--fg-1);
}

/* line 327, app/assets/stylesheets/checkout_journey/_confirmation.scss */
.checkout-journey-confirm__next-title svg {
  width: 16px;
  height: 16px;
  color: var(--mp-pine);
}

/* line 334, app/assets/stylesheets/checkout_journey/_confirmation.scss */
.checkout-journey-confirm__next-text {
  font-size: 14px;
  color: var(--fg-2);
  line-height: 1.55;
  margin-top: 4px;
}

/* line 341, app/assets/stylesheets/checkout_journey/_confirmation.scss */
.checkout-journey-confirm__legal {
  font-size: 12px;
  color: var(--fg-3);
  line-height: 1.65;
  text-align: center;
  padding: 0 16px;
  margin: 0;
}

/* line 350, app/assets/stylesheets/checkout_journey/_confirmation.scss */
.checkout-journey-confirm__welcome {
  text-align: center;
  max-width: 620px;
  margin: 24px auto 0;
  padding: 0 16px;
}

/* line 356, app/assets/stylesheets/checkout_journey/_confirmation.scss */
.checkout-journey-confirm__welcome p {
  font-size: 14px;
  color: var(--fg-3);
  line-height: 1.6;
  margin: 0 0 14px;
}

/* line 364, app/assets/stylesheets/checkout_journey/_confirmation.scss */
.checkout-journey-confirm__app-badges {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}

/* line 371, app/assets/stylesheets/checkout_journey/_confirmation.scss */
.checkout-journey-confirm__app-badge {
  height: 40px;
  width: auto;
  display: block;
}

/* line 1, app/assets/stylesheets/users/sign-in.scss */
.sign-in {
  display: flex;
  min-height: 100vh;
}

@media only screen and (max-width: 1024px) {
  /* line 5, app/assets/stylesheets/users/sign-in.scss */
  .sign-in--with-margin {
    margin-top: 40px;
  }
}

/* line 11, app/assets/stylesheets/users/sign-in.scss */
.sign-in__column, .sign-in__column--dark {
  position: relative;
}

@media only screen and (min-width: 1025px) {
  /* line 11, app/assets/stylesheets/users/sign-in.scss */
  .sign-in__column, .sign-in__column--dark {
    width: calc(100% - 480px);
  }
}

@media only screen and (max-width: 1024px) {
  /* line 11, app/assets/stylesheets/users/sign-in.scss */
  .sign-in__column, .sign-in__column--dark {
    width: 100%;
  }
}

/* line 22, app/assets/stylesheets/users/sign-in.scss */
.sign-in__column--dark {
  width: 480px;
  background: #063412;
}

@media only screen and (max-width: 1024px) {
  /* line 22, app/assets/stylesheets/users/sign-in.scss */
  .sign-in__column--dark {
    display: none;
  }
}

/* line 33, app/assets/stylesheets/users/sign-in.scss */
.sign-in__column-purchase, .sign-in__column-purchase--dark {
  width: 50%;
}

@media only screen and (max-width: 1024px) {
  /* line 33, app/assets/stylesheets/users/sign-in.scss */
  .sign-in__column-purchase, .sign-in__column-purchase--dark {
    width: 100%;
    min-height: 300px;
  }
}

@media only screen and (min-width: 1025px) {
  /* line 33, app/assets/stylesheets/users/sign-in.scss */
  .sign-in__column-purchase, .sign-in__column-purchase--dark {
    position: relative;
  }
}

/* line 45, app/assets/stylesheets/users/sign-in.scss */
.sign-in__column-purchase--dark {
  background: #063412;
}

/* line 51, app/assets/stylesheets/users/sign-in.scss */
.sign-in__codes {
  display: flex;
  flex-direction: row;
  gap: 100px;
  justify-content: center;
}

@media only screen and (max-width: 1024px) {
  /* line 51, app/assets/stylesheets/users/sign-in.scss */
  .sign-in__codes {
    gap: 32px;
  }
}

/* line 63, app/assets/stylesheets/users/sign-in.scss */
.sign-in__form-group--one-row-inputs {
  margin-bottom: 20px;
  display: flex;
  justify-content: left;
  flex-direction: row;
}

/* line 69, app/assets/stylesheets/users/sign-in.scss */
.sign-in__form-group--one-row-inputs input {
  height: 38px;
  width: 38px;
  margin: 0px 18px 0 0;
  padding: 8px;
  text-align: center;
  font-size: 28px;
}

/* line 77, app/assets/stylesheets/users/sign-in.scss */
.sign-in__form-group--one-row-inputs input::placeholder {
  text-align: center;
  font-size: 28px;
}

/* line 85, app/assets/stylesheets/users/sign-in.scss */
.sign-in__links {
  padding: 24px;
}

/* line 89, app/assets/stylesheets/users/sign-in.scss */
.sign-in__link {
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 24px;
  color: #18181B;
  text-decoration: underline;
}

/* line 98, app/assets/stylesheets/users/sign-in.scss */
.sign-in__span {
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 28px;
  margin: 0px 10px;
}

/* line 113, app/assets/stylesheets/users/sign-in.scss */
.sign-in__input--error {
  border-color: #E80000;
}

/* line 120, app/assets/stylesheets/users/sign-in.scss */
.sign-in__button {
  background: #1c6b4d;
}

/* line 125, app/assets/stylesheets/users/sign-in.scss */
.sign-in__block-wrapper {
  text-align: center;
}

@media only screen and (min-width: 1025px) {
  /* line 125, app/assets/stylesheets/users/sign-in.scss */
  .sign-in__block-wrapper {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
}

@media only screen and (max-width: 1024px) {
  /* line 125, app/assets/stylesheets/users/sign-in.scss */
  .sign-in__block-wrapper {
    margin: 60px 20px 20px 20px;
    padding: 30px;
  }
}

/* line 141, app/assets/stylesheets/users/sign-in.scss */
.sign-in__header {
  font-size: 30px;
  font-style: normal;
  font-weight: 600;
  line-height: 36px;
  letter-spacing: -0.225px;
  margin: 10px 0px;
}

/* line 150, app/assets/stylesheets/users/sign-in.scss */
.sign-in__text {
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 28px;
  margin: 10px 0px;
}

/* line 162, app/assets/stylesheets/users/sign-in.scss */
.sign-in__impacts-wrapper {
  height: 100%;
  background-repeat: no-repeat;
  background-size: cover;
}

/* line 168, app/assets/stylesheets/users/sign-in.scss */
.sign-in__impacts-text {
  width: 100%;
  position: absolute;
  bottom: 0;
  background-image: linear-gradient(transparent, #000000);
  display: flex;
  flex-direction: column;
  align-content: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  align-items: center;
  color: white;
  padding-bottom: 40px;
}

/* line 182, app/assets/stylesheets/users/sign-in.scss */
.sign-in__impacts-text h4 {
  font-size: 40px;
  font-weight: 700;
  margin: 0;
}

/* line 188, app/assets/stylesheets/users/sign-in.scss */
.sign-in__impacts-text .percentage {
  font-size: 80px;
  font-weight: 700;
  margin: 0;
}

/* line 194, app/assets/stylesheets/users/sign-in.scss */
.sign-in__impacts-text p {
  font-size: 20px;
  margin: 0;
}

/* line 200, app/assets/stylesheets/users/sign-in.scss */
.sign-in__forgot-password {
  text-decoration: none;
  color: black;
}

/* line 205, app/assets/stylesheets/users/sign-in.scss */
.sign-in__password {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-end;
}

@font-face {
  font-family: 'PT Serif';
  src: url(/assets/PTSerif-Regular-b5c48cacd50a014b317a3bc0fec4c3be72c88641e16c79448c9f3522c108eaf9.ttf) format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'PT Serif';
  src: url(/assets/PTSerif-Italic-57ccae3100c223fb5543432222b30fcb036acc89b80e872c113d1c91ec8bf516.ttf) format("truetype");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'PT Serif';
  src: url(/assets/PTSerif-Bold-e0b2d90f0d86fa76b294026457da9d0d3451a6087ad974f10a83ce6908f0c4eb.ttf) format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'PT Serif';
  src: url(/assets/PTSerif-BoldItalic-9ed163e18f555f041790ad768a8ede63b4891fed5c190cb4736a8a9221c285ac.ttf) format("truetype");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

/* line 14, app/assets/stylesheets/users/login-journey.scss */
.login-journey {
  --login-journey-font-serif: "PT Serif", Georgia, "Times New Roman", serif;
  min-height: 100vh;
  display: grid;
  grid-template-columns: 2fr 3fr;
  background: var(--mp-chalk);
  font-family: var(--font-sans);
  color: var(--fg-1);
}

@media (max-width: 820px) {
  /* line 14, app/assets/stylesheets/users/login-journey.scss */
  .login-journey {
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr;
  }
}

/* line 29, app/assets/stylesheets/users/login-journey.scss */
.login-journey__aside {
  position: relative;
  overflow: hidden;
  padding: 44px 48px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 24px;
  background: var(--mp-deep-forest);
  color: #fff;
}

@media (max-width: 820px) {
  /* line 29, app/assets/stylesheets/users/login-journey.scss */
  .login-journey__aside {
    padding: 20px 20px 24px;
    gap: 16px;
    justify-content: flex-start;
  }
}

/* line 46, app/assets/stylesheets/users/login-journey.scss */
.login-journey__aside::before, .login-journey__aside::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}

/* line 54, app/assets/stylesheets/users/login-journey.scss */
.login-journey__aside::before {
  left: -160px;
  top: -160px;
  width: 420px;
  height: 420px;
  background: radial-gradient(circle, rgba(210, 255, 133, 0.1), rgba(210, 255, 133, 0) 60%);
}

/* line 62, app/assets/stylesheets/users/login-journey.scss */
.login-journey__aside::after {
  right: -180px;
  bottom: -180px;
  width: 640px;
  height: 640px;
  background: url(/assets/mp-icon-white-572f96eb775188ab072e1f1d37c1219b2887c5a3f727f5b8ad75cfeb4d87d841.svg) no-repeat center/contain;
  opacity: 0.07;
}

/* line 72, app/assets/stylesheets/users/login-journey.scss */
.login-journey__aside-top {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* line 80, app/assets/stylesheets/users/login-journey.scss */
.login-journey__aside-logo {
  height: 50px;
  width: auto;
  display: block;
}

/* line 86, app/assets/stylesheets/users/login-journey.scss */
.login-journey__aside-back {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.6);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

/* line 94, app/assets/stylesheets/users/login-journey.scss */
.login-journey__aside-back:hover {
  color: var(--mp-sapling);
}

/* line 99, app/assets/stylesheets/users/login-journey.scss */
.login-journey__aside-hero {
  position: relative;
  z-index: 1;
  max-width: 580px;
}

@media (max-width: 820px) {
  /* line 99, app/assets/stylesheets/users/login-journey.scss */
  .login-journey__aside-hero {
    padding: 20px 0px;
  }
}

/* line 109, app/assets/stylesheets/users/login-journey.scss */
.login-journey__aside-title {
  font-family: var(--login-journey-font-serif);
  font-weight: 700;
  font-size: clamp(32px, 3.6vw, 52px);
  line-height: 1.02;
  letter-spacing: -0.025em;
  color: #fff;
  margin: 0;
}

/* line 118, app/assets/stylesheets/users/login-journey.scss */
.login-journey__aside-title em {
  font-style: italic;
  color: var(--mp-sapling);
}

@media (max-width: 820px) {
  /* line 109, app/assets/stylesheets/users/login-journey.scss */
  .login-journey__aside-title {
    font-size: 22px;
    line-height: 1.2;
  }
}

/* line 130, app/assets/stylesheets/users/login-journey.scss */
.login-journey__main {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  padding: 24px 40px 40px;
  background: var(--mp-chalk);
}

@media (max-width: 860px) {
  /* line 130, app/assets/stylesheets/users/login-journey.scss */
  .login-journey__main {
    padding: 16px 20px 24px;
    min-height: 0;
    min-width: 0;
  }
}

/* line 145, app/assets/stylesheets/users/login-journey.scss */
.login-journey__topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 32px;
}

@media (max-width: 820px) {
  /* line 145, app/assets/stylesheets/users/login-journey.scss */
  .login-journey__topbar {
    margin-bottom: 8px;
  }
}

/* line 157, app/assets/stylesheets/users/login-journey.scss */
.login-journey__body {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (max-width: 820px) {
  /* line 157, app/assets/stylesheets/users/login-journey.scss */
  .login-journey__body {
    align-items: flex-start;
    padding-top: 8px;
  }
}

/* line 169, app/assets/stylesheets/users/login-journey.scss */
.login-journey__card {
  width: 100%;
  max-width: 420px;
  padding: 8px 0;
}

@media (max-width: 820px) {
  /* line 169, app/assets/stylesheets/users/login-journey.scss */
  .login-journey__card {
    padding: 0;
  }
}

/* line 178, app/assets/stylesheets/users/login-journey.scss */
.login-journey__card--centered {
  text-align: center;
}

/* line 183, app/assets/stylesheets/users/login-journey.scss */
.login-journey__eyebrow {
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--mp-pine);
  margin-bottom: 14px;
}

/* line 191, app/assets/stylesheets/users/login-journey.scss */
.login-journey__eyebrow--centered {
  display: flex;
  justify-content: center;
}

/* line 197, app/assets/stylesheets/users/login-journey.scss */
.login-journey__title {
  font-family: var(--login-journey-font-serif);
  font-weight: 700;
  font-size: 42px;
  line-height: 1.05;
  letter-spacing: -0.02em;
  color: var(--mp-deep-forest);
  margin: 0 0 10px;
}

/* line 206, app/assets/stylesheets/users/login-journey.scss */
.login-journey__title em {
  font-style: italic;
  color: var(--mp-pine);
}

@media (max-width: 820px) {
  /* line 197, app/assets/stylesheets/users/login-journey.scss */
  .login-journey__title {
    font-size: 32px;
  }
}

/* line 216, app/assets/stylesheets/users/login-journey.scss */
.login-journey__sub {
  color: var(--fg-3);
  font-size: 15px;
  line-height: 1.55;
  margin: 0 0 28px;
}

@media (max-width: 820px) {
  /* line 216, app/assets/stylesheets/users/login-journey.scss */
  .login-journey__sub {
    margin: 0 0 20px;
    font-size: 14px;
  }
}

/* line 229, app/assets/stylesheets/users/login-journey.scss */
.login-journey__medallion {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: var(--mp-mist);
  color: var(--mp-pine);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
}

/* line 242, app/assets/stylesheets/users/login-journey.scss */
.login-journey__field {
  display: block;
  margin-bottom: 16px;
}

/* line 247, app/assets/stylesheets/users/login-journey.scss */
.login-journey__field-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 13px;
  font-weight: 500;
  color: var(--mp-charcoal);
  margin-bottom: 8px;
}

/* line 257, app/assets/stylesheets/users/login-journey.scss */
.login-journey__field-hint-link {
  font-size: 13px;
  color: var(--mp-pine);
  text-decoration: none;
  font-weight: 500;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  font-family: inherit;
}

/* line 268, app/assets/stylesheets/users/login-journey.scss */
.login-journey__field-hint-link:hover {
  text-decoration: underline;
}

/* line 273, app/assets/stylesheets/users/login-journey.scss */
.login-journey__input-wrap {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  background: #fff;
  border: 1.5px solid var(--border-subtle);
  border-radius: 12px;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

/* line 283, app/assets/stylesheets/users/login-journey.scss */
.login-journey__input-wrap:hover {
  border-color: rgba(30, 65, 54, 0.25);
}

/* line 287, app/assets/stylesheets/users/login-journey.scss */
.login-journey__input-wrap:focus-within {
  border-color: var(--mp-pine);
  box-shadow: 0 0 0 4px rgba(37, 103, 81, 0.1);
}

/* line 292, app/assets/stylesheets/users/login-journey.scss */
.login-journey__input-wrap--error {
  border-color: var(--mp-ember);
  background: rgba(207, 76, 0, 0.03);
}

/* line 296, app/assets/stylesheets/users/login-journey.scss */
.login-journey__input-wrap--error:focus-within {
  box-shadow: 0 0 0 4px rgba(207, 76, 0, 0.08);
}

/* line 302, app/assets/stylesheets/users/login-journey.scss */
.login-journey__input-leading {
  padding-left: 14px;
  color: var(--fg-3);
  display: inline-flex;
}

/* line 310, app/assets/stylesheets/users/login-journey.scss */
.login-journey .field_with_errors {
  display: contents;
}

/* line 314, app/assets/stylesheets/users/login-journey.scss */
.login-journey__input {
  flex: 1;
  width: 100%;
  border: none;
  outline: none;
  background: transparent;
  padding: 14px 16px;
  font-family: var(--font-sans);
  font-size: 15px;
  color: var(--mp-deep-forest);
  min-width: 0;
}

/* line 326, app/assets/stylesheets/users/login-journey.scss */
.login-journey__input::placeholder {
  color: #a6a69d;
}

/* line 331, app/assets/stylesheets/users/login-journey.scss */
.login-journey__input-action {
  padding: 8px 12px 8px 4px;
  background: transparent;
  border: none;
  cursor: pointer;
  color: var(--fg-3);
  display: inline-flex;
  align-items: center;
  border-radius: 8px;
}

/* line 341, app/assets/stylesheets/users/login-journey.scss */
.login-journey__input-action:hover {
  color: var(--mp-deep-forest);
}

/* line 346, app/assets/stylesheets/users/login-journey.scss */
.login-journey__field-help {
  margin-top: 6px;
  font-size: 12.5px;
  color: var(--fg-3);
  line-height: 1.5;
}

/* line 353, app/assets/stylesheets/users/login-journey.scss */
.login-journey__field-error {
  margin-top: 6px;
  font-size: 12.5px;
  color: var(--mp-ember);
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

/* line 362, app/assets/stylesheets/users/login-journey.scss */
.login-journey__field-error.hidden {
  display: none;
}

/* line 368, app/assets/stylesheets/users/login-journey.scss */
.login-journey__btn {
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 15px 20px;
  font-family: var(--font-sans);
  font-weight: 600;
  font-size: 16px;
  border-radius: 12px;
  cursor: pointer;
  transition: filter 0.15s ease, transform 0.05s ease, background 0.15s ease, border-color 0.15s ease;
  text-decoration: none;
}

/* line 383, app/assets/stylesheets/users/login-journey.scss */
.login-journey__btn--primary {
  background: var(--mp-deep-forest);
  color: #fff;
  border: none;
}

/* line 388, app/assets/stylesheets/users/login-journey.scss */
.login-journey__btn--primary:hover:not(:disabled) {
  filter: brightness(1.12);
}

/* line 392, app/assets/stylesheets/users/login-journey.scss */
.login-journey__btn--primary:active {
  transform: translateY(1px);
}

/* line 396, app/assets/stylesheets/users/login-journey.scss */
.login-journey__btn--primary:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/* line 402, app/assets/stylesheets/users/login-journey.scss */
.login-journey__btn--secondary {
  background: #fff;
  color: var(--mp-deep-forest);
  border: 1.5px solid var(--border-subtle);
  padding: 13px 20px;
  font-weight: 500;
  font-size: 15px;
}

/* line 410, app/assets/stylesheets/users/login-journey.scss */
.login-journey__btn--secondary:hover:not(:disabled) {
  border-color: rgba(30, 65, 54, 0.3);
  background: #fafaf7;
}

/* line 418, app/assets/stylesheets/users/login-journey.scss */
.login-journey__sso {
  width: 100%;
  max-width: 420px;
  margin: 0 auto;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 14px 20px 14px 56px;
  font-family: var(--font-sans);
  font-weight: 600;
  font-size: 15px;
  color: #fff;
  background: var(--mp-deep-forest);
  border: 1.5px solid var(--mp-deep-forest);
  border-radius: 12px;
  cursor: pointer;
  transition: filter 0.15s ease, box-shadow 0.15s ease, transform 0.05s ease;
  box-shadow: 0 1px 2px rgba(30, 65, 54, 0.1);
  text-decoration: none;
  letter-spacing: 0.01em;
}

/* line 440, app/assets/stylesheets/users/login-journey.scss */
.login-journey__sso:hover {
  filter: brightness(1.12);
  box-shadow: 0 2px 12px rgba(30, 65, 54, 0.18);
  color: #fff;
}

/* line 446, app/assets/stylesheets/users/login-journey.scss */
.login-journey__sso:active {
  transform: translateY(1px);
}

/* line 451, app/assets/stylesheets/users/login-journey.scss */
.login-journey__sso-icon {
  position: absolute;
  left: 18px;
  top: 50%;
  transform: translateY(-50%);
  width: 22px;
  height: 22px;
  display: block;
}

/* line 463, app/assets/stylesheets/users/login-journey.scss */
.login-journey__sso-form {
  margin: 0;
}

/* line 468, app/assets/stylesheets/users/login-journey.scss */
.login-journey__checkbox {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 13.5px;
  color: var(--fg-2);
  line-height: 1.5;
  cursor: pointer;
  user-select: none;
  margin: 4px 0 22px;
}

/* line 479, app/assets/stylesheets/users/login-journey.scss */
.login-journey__checkbox input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

/* line 487, app/assets/stylesheets/users/login-journey.scss */
.login-journey__checkbox-box {
  width: 18px;
  height: 18px;
  border-radius: 5px;
  border: 1.5px solid var(--border-subtle);
  background: #fff;
  flex-shrink: 0;
  margin-top: 1px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  transition: background 0.15s ease, border-color 0.15s ease;
}

/* line 501, app/assets/stylesheets/users/login-journey.scss */
.login-journey__checkbox-box svg {
  opacity: 0;
  transition: opacity 0.15s ease;
}

/* line 506, app/assets/stylesheets/users/login-journey.scss */
input:checked + .login-journey__checkbox-box {
  background: var(--mp-deep-forest);
  border-color: var(--mp-deep-forest);
}

/* line 510, app/assets/stylesheets/users/login-journey.scss */
input:checked + .login-journey__checkbox-box svg {
  opacity: 1;
}

/* line 517, app/assets/stylesheets/users/login-journey.scss */
.login-journey__foot {
  margin-top: 24px;
  text-align: center;
  font-size: 14px;
  color: var(--fg-3);
}

/* line 523, app/assets/stylesheets/users/login-journey.scss */
.login-journey__foot a {
  color: var(--mp-pine);
  text-decoration: none;
  font-weight: 600;
  border-bottom: 1.5px solid rgba(37, 103, 81, 0.3);
}

/* line 530, app/assets/stylesheets/users/login-journey.scss */
.login-journey__foot a:hover {
  border-bottom-color: var(--mp-pine);
}

/* line 536, app/assets/stylesheets/users/login-journey.scss */
.login-journey__footer-meta {
  margin-top: auto;
  padding-top: 28px;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 24px;
  font-size: 12.5px;
  color: var(--fg-3);
}

/* line 546, app/assets/stylesheets/users/login-journey.scss */
.login-journey__footer-meta a {
  text-decoration: none;
  color: var(--fg-3);
}

/* line 551, app/assets/stylesheets/users/login-journey.scss */
.login-journey__footer-meta a:hover {
  color: var(--mp-deep-forest);
}

@media (max-width: 820px) {
  /* line 536, app/assets/stylesheets/users/login-journey.scss */
  .login-journey__footer-meta {
    padding-top: 16px;
    gap: 12px;
    font-size: 11.5px;
  }
}

/* line 563, app/assets/stylesheets/users/login-journey.scss */
.login-journey__strength {
  margin-top: 10px;
  display: flex;
  gap: 4px;
}

/* line 569, app/assets/stylesheets/users/login-journey.scss */
.login-journey__strength-seg {
  flex: 1;
  height: 4px;
  border-radius: 2px;
  background: var(--border-subtle);
  transition: background 0.2s ease;
}

/* line 576, app/assets/stylesheets/users/login-journey.scss */
.login-journey__strength-seg--weak {
  background: var(--mp-ember);
}

/* line 577, app/assets/stylesheets/users/login-journey.scss */
.login-journey__strength-seg--fair {
  background: var(--mp-clay);
}

/* line 578, app/assets/stylesheets/users/login-journey.scss */
.login-journey__strength-seg--good {
  background: var(--mp-sun);
}

/* line 579, app/assets/stylesheets/users/login-journey.scss */
.login-journey__strength-seg--strong {
  background: var(--mp-pine);
}

/* line 582, app/assets/stylesheets/users/login-journey.scss */
.login-journey__strength-meta {
  display: flex;
  justify-content: space-between;
  margin-top: 8px;
  font-size: 12px;
  color: var(--fg-3);
}

/* line 590, app/assets/stylesheets/users/login-journey.scss */
.login-journey__strength-label {
  font-weight: 600;
  color: var(--fg-2);
}

/* line 594, app/assets/stylesheets/users/login-journey.scss */
.login-journey__strength-label--good {
  color: var(--mp-pine);
}

/* line 597, app/assets/stylesheets/users/login-journey.scss */
.login-journey__rules {
  margin: 10px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px 14px;
}

/* line 606, app/assets/stylesheets/users/login-journey.scss */
.login-journey__rule {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12.5px;
  color: var(--fg-3);
}

/* line 613, app/assets/stylesheets/users/login-journey.scss */
.login-journey__rule--met {
  color: var(--mp-pine);
}

/* line 618, app/assets/stylesheets/users/login-journey.scss */
.login-journey__rule-tick {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--border-subtle);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: #fff;
}

/* line 629, app/assets/stylesheets/users/login-journey.scss */
.login-journey__rule-tick svg {
  opacity: 0;
}

/* line 631, app/assets/stylesheets/users/login-journey.scss */
.login-journey__rule--met .login-journey__rule-tick {
  background: var(--mp-pine);
}

/* line 634, app/assets/stylesheets/users/login-journey.scss */
.login-journey__rule--met .login-journey__rule-tick svg {
  opacity: 1;
}

/* line 645, app/assets/stylesheets/users/login-journey.scss */
.otp-field {
  display: flex;
  gap: 10px;
}

@media (max-width: 480px) {
  /* line 645, app/assets/stylesheets/users/login-journey.scss */
  .otp-field {
    gap: 6px;
  }
}

/* line 653, app/assets/stylesheets/users/login-journey.scss */
.otp-field__box {
  width: 50px;
  height: 58px;
  text-align: center;
  font-family: ui-monospace, Menlo, monospace;
  font-size: 22px;
  font-weight: 600;
  color: var(--mp-deep-forest);
  background: #fff;
  border: 1.5px solid var(--border-subtle);
  border-radius: 10px;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

/* line 666, app/assets/stylesheets/users/login-journey.scss */
.otp-field__box:focus {
  outline: none;
  border-color: var(--mp-pine);
  box-shadow: 0 0 0 4px rgba(37, 103, 81, 0.1);
}

@media (max-width: 480px) {
  /* line 653, app/assets/stylesheets/users/login-journey.scss */
  .otp-field__box {
    width: 44px;
    height: 52px;
    font-size: 20px;
  }
}

/* line 7, app/assets/stylesheets/users/user-account.scss */
.user-account__panel {
  background: #fff;
  border: 1px solid var(--border-subtle);
  border-radius: 16px;
  padding: 28px 32px;
  margin-top: 24px;
}

@media (max-width: 560px) {
  /* line 7, app/assets/stylesheets/users/user-account.scss */
  .user-account__panel {
    padding: 20px 22px;
  }
}

/* line 20, app/assets/stylesheets/users/user-account.scss */
.user-account__panel--collapsible > summary {
  list-style: none;
}

/* line 23, app/assets/stylesheets/users/user-account.scss */
.user-account__panel--collapsible > summary::-webkit-details-marker {
  display: none;
}

/* line 26, app/assets/stylesheets/users/user-account.scss */
.user-account__panel--collapsible[open] .user-account__panel-chevron {
  transform: rotate(180deg);
}

/* line 32, app/assets/stylesheets/users/user-account.scss */
.user-account__panel-summary {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  cursor: pointer;
  user-select: none;
}

/* line 41, app/assets/stylesheets/users/user-account.scss */
.user-account__panel-body {
  overflow: hidden;
  transition: height 240ms ease, opacity 200ms ease;
}

/* line 46, app/assets/stylesheets/users/user-account.scss */
.user-account .user-account__panel--collapsible[open] > .user-account__panel-body {
  padding-top: 22px;
}

/* line 50, app/assets/stylesheets/users/user-account.scss */
.user-account__panel-summary-text {
  flex: 1 1 auto;
  min-width: 0;
}

/* line 54, app/assets/stylesheets/users/user-account.scss */
.user-account__panel-summary-text .user-account__panel-lede {
  margin-bottom: 0;
}

/* line 59, app/assets/stylesheets/users/user-account.scss */
.user-account__panel-chevron {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 999px;
  color: var(--mp-deep-forest);
  transition: transform 200ms ease;
}

/* line 71, app/assets/stylesheets/users/user-account.scss */
.user-account__panel-title {
  margin: 0 0 6px;
  font-family: var(--font-sans);
  font-size: 20px;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--mp-deep-forest);
}

/* line 80, app/assets/stylesheets/users/user-account.scss */
.user-account__panel-lede {
  margin: 0 0 22px;
  color: var(--fg-2);
  font-size: 15px;
  line-height: 1.55;
}

/* line 86, app/assets/stylesheets/users/user-account.scss */
.user-account__panel-lede em {
  font-style: italic;
  color: var(--mp-pine);
  font-weight: 600;
  font-family: inherit;
}

/* line 94, app/assets/stylesheets/users/user-account.scss */
.user-account__panel-foot {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid var(--border-subtle);
  flex-wrap: wrap;
}

/* line 104, app/assets/stylesheets/users/user-account.scss */
.user-account__panel-foot--right {
  justify-content: flex-end;
}

/* line 108, app/assets/stylesheets/users/user-account.scss */
.user-account__panel-foot--plain {
  border-top: none;
  padding-top: 0;
}

/* line 115, app/assets/stylesheets/users/user-account.scss */
.user-account__fields {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* line 121, app/assets/stylesheets/users/user-account.scss */
.user-account__fields-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

@media (max-width: 560px) {
  /* line 121, app/assets/stylesheets/users/user-account.scss */
  .user-account__fields-row {
    grid-template-columns: 1fr;
  }
}

/* line 131, app/assets/stylesheets/users/user-account.scss */
.user-account__field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

/* line 137, app/assets/stylesheets/users/user-account.scss */
.user-account__field-label {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--fg-2);
}

/* line 144, app/assets/stylesheets/users/user-account.scss */
.user-account__field-help {
  font-size: 12px;
  color: var(--fg-3);
  font-style: italic;
  font-weight: 400;
}

/* line 151, app/assets/stylesheets/users/user-account.scss */
.user-account__field-input {
  font-family: var(--font-sans);
  font-size: 16px;
  padding: 12px 14px;
  color: var(--mp-deep-forest);
  background: #fff;
  border: 1.5px solid var(--border-subtle);
  border-radius: 10px;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
  width: 100%;
}

/* line 162, app/assets/stylesheets/users/user-account.scss */
.user-account__field-input:focus {
  outline: none;
  border-color: var(--mp-pine);
  box-shadow: 0 0 0 4px rgba(37, 103, 81, 0.1);
}

/* line 168, app/assets/stylesheets/users/user-account.scss */
.user-account__field-input::placeholder {
  color: #a6a69d;
}

/* line 172, app/assets/stylesheets/users/user-account.scss */
.field_with_errors .user-account__field-input {
  border-color: var(--mp-ember);
}

/* line 178, app/assets/stylesheets/users/user-account.scss */
.user-account .field_with_errors {
  display: contents;
}

/* line 182, app/assets/stylesheets/users/user-account.scss */
.user-account__field-error {
  margin-top: 2px;
  font-size: 14px;
  color: var(--mp-ember);
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

/* line 193, app/assets/stylesheets/users/user-account.scss */
.user-account__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 22px;
  font-family: var(--font-sans);
  font-size: 16px;
  font-weight: 600;
  border-radius: 10px;
  cursor: pointer;
  text-decoration: none;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

/* line 207, app/assets/stylesheets/users/user-account.scss */
.user-account__btn--primary {
  background: var(--mp-deep-forest);
  color: #fff;
  border: none;
}

/* line 212, app/assets/stylesheets/users/user-account.scss */
.user-account__btn--primary:hover:not(:disabled) {
  background: #0a2418;
}

/* line 217, app/assets/stylesheets/users/user-account.scss */
.user-account__btn--secondary {
  background: #fff;
  color: var(--mp-deep-forest);
  border: 1.5px solid var(--border-subtle);
  font-size: 15px;
  padding: 11px 18px;
}

/* line 224, app/assets/stylesheets/users/user-account.scss */
.user-account__btn--secondary:hover:not(:disabled) {
  border-color: var(--mp-pine);
}

/* line 228, app/assets/stylesheets/users/user-account.scss */
.user-account__btn--secondary.user-account__btn--danger {
  color: #8a2a1b;
  border-color: rgba(138, 42, 27, 0.25);
}

/* line 232, app/assets/stylesheets/users/user-account.scss */
.user-account__btn--secondary.user-account__btn--danger:hover:not(:disabled) {
  border-color: #8a2a1b;
}

/* line 238, app/assets/stylesheets/users/user-account.scss */
.user-account__btn--ghost {
  background: none;
  border: none;
  color: var(--mp-pine);
  font-weight: 600;
  font-size: 15px;
  padding: 8px 4px;
}

/* line 246, app/assets/stylesheets/users/user-account.scss */
.user-account__btn--ghost:hover:not(:disabled) {
  color: var(--mp-deep-forest);
  text-decoration: underline;
}

/* line 254, app/assets/stylesheets/users/user-account.scss */
.user-account__status-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px;
  background: var(--mp-warm-white);
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
}

/* line 265, app/assets/stylesheets/users/user-account.scss */
.user-account__status-title {
  font-weight: 600;
  font-size: 16px;
  color: var(--mp-deep-forest);
}

/* line 271, app/assets/stylesheets/users/user-account.scss */
.user-account__status-sub {
  font-size: 14px;
  color: var(--fg-3);
  margin-top: 2px;
}

/* line 277, app/assets/stylesheets/users/user-account.scss */
.user-account__pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
}

/* line 287, app/assets/stylesheets/users/user-account.scss */
.user-account__pill::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
}

/* line 295, app/assets/stylesheets/users/user-account.scss */
.user-account__pill--ok {
  background: rgba(37, 103, 81, 0.1);
  color: var(--mp-pine);
}

/* line 300, app/assets/stylesheets/users/user-account.scss */
.user-account__pill--warn {
  background: rgba(255, 180, 80, 0.14);
  color: #8a5a14;
}

/* line 307, app/assets/stylesheets/users/user-account.scss */
.user-account__qr-block {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  align-items: start;
}

/* line 314, app/assets/stylesheets/users/user-account.scss */
.user-account__qr {
  align-self: start;
  display: block;
  padding: 10px;
  background: #fff;
  border: 1px solid var(--border-subtle);
  border-radius: 10px;
  flex: none;
}

/* line 324, app/assets/stylesheets/users/user-account.scss */
.user-account__qr-body {
  flex: 1;
  min-width: 260px;
  max-width: 360px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

/* line 333, app/assets/stylesheets/users/user-account.scss */
.user-account__qr-intro {
  margin: 0;
  font-size: 15px;
  color: var(--fg-2);
  line-height: 1.55;
}

/* line 340, app/assets/stylesheets/users/user-account.scss */
.user-account__qr-manual {
  padding: 14px 16px;
  background: var(--mp-warm-white);
  border: 1px solid var(--border-subtle);
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* line 350, app/assets/stylesheets/users/user-account.scss */
.user-account__qr-manual-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}

/* line 357, app/assets/stylesheets/users/user-account.scss */
.user-account__qr-manual-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--fg-3);
}

/* line 365, app/assets/stylesheets/users/user-account.scss */
.user-account__qr-manual-action {
  background: none;
  border: none;
  padding: 0;
  font: inherit;
  font-size: 14px;
  font-weight: 600;
  color: var(--mp-pine);
  cursor: pointer;
}

/* line 375, app/assets/stylesheets/users/user-account.scss */
.user-account__qr-manual-action:hover {
  color: var(--mp-deep-forest);
  text-decoration: underline;
}

/* line 381, app/assets/stylesheets/users/user-account.scss */
.user-account__qr-manual-value {
  font-family: ui-monospace, Menlo, Consolas, monospace;
  font-size: 15px;
  font-weight: 600;
  color: var(--mp-deep-forest);
  letter-spacing: 0.04em;
  word-break: break-all;
  line-height: 1.45;
}

/* line 391, app/assets/stylesheets/users/user-account.scss */
.user-account__qr-meta {
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 14px;
}

/* line 400, app/assets/stylesheets/users/user-account.scss */
.user-account__qr-meta-row {
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: 10px;
  align-items: baseline;
}

/* line 406, app/assets/stylesheets/users/user-account.scss */
.user-account__qr-meta-row dt {
  color: var(--fg-3);
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  font-size: 12px;
}

/* line 414, app/assets/stylesheets/users/user-account.scss */
.user-account__qr-meta-row dd {
  margin: 0;
  color: var(--fg-1);
  font-weight: 500;
  overflow-wrap: anywhere;
  word-break: normal;
}

/* line 424, app/assets/stylesheets/users/user-account.scss */
.user-account__codes {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 28px;
  padding: 18px 22px;
  background: var(--mp-warm-white);
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
  font-family: ui-monospace, Menlo, monospace;
  font-size: 15px;
  color: var(--mp-deep-forest);
}

@media (max-width: 560px) {
  /* line 424, app/assets/stylesheets/users/user-account.scss */
  .user-account__codes {
    grid-template-columns: 1fr;
    gap: 10px 0;
  }
}

/* line 443, app/assets/stylesheets/users/user-account.scss */
.user-account__banner {
  display: flex;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 12px;
  font-size: 15px;
  line-height: 1.5;
  margin: 20px 0;
}

/* line 452, app/assets/stylesheets/users/user-account.scss */
.user-account__banner--success {
  background: var(--mp-mist);
  color: var(--mp-moss);
  border: 1px solid rgba(37, 103, 81, 0.18);
}

/* line 458, app/assets/stylesheets/users/user-account.scss */
.user-account__banner--error {
  background: rgba(207, 76, 0, 0.06);
  color: var(--mp-ember);
  border: 1px solid rgba(207, 76, 0, 0.18);
}

/* line 1, app/assets/stylesheets/users/navbar.scss */
.users-navbar {
  background: #f8f4ee;
  display: flex;
  justify-content: space-between;
}

/* line 6, app/assets/stylesheets/users/navbar.scss */
.users-navbar__links {
  text-align: center;
}

/* line 10, app/assets/stylesheets/users/navbar.scss */
.users-navbar__logo {
  height: 60px;
  margin: 25px;
}

/* line 15, app/assets/stylesheets/users/navbar.scss */
.users-navbar__avatar {
  display: block;
  height: 54px;
  width: 54px;
  border-radius: 50%;
  border: 3px solid #063412;
  box-sizing: content-box;
  margin: 25px;
  background-color: #f8f4ee;
  color: #000000;
  font-size: 20px;
  font-weight: 700;
  line-height: 54px;
  text-align: center;
  text-decoration: none;
}

/* line 32, app/assets/stylesheets/users/navbar.scss */
.users-navbar__log-out {
  color: #063412;
  text-decoration: none;
  margin-top: -20px;
  display: block;
}

/* line 1, app/assets/stylesheets/users/transparent-navbar.scss */
.users-transparent-navbar {
  display: flex;
  justify-content: space-between;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 2;
  padding: 0px 100px;
}

@media only screen and (max-width: 1024px) {
  /* line 1, app/assets/stylesheets/users/transparent-navbar.scss */
  .users-transparent-navbar {
    padding: 0px 40px;
  }
}

/* line 15, app/assets/stylesheets/users/transparent-navbar.scss */
.users-transparent-navbar__logo {
  height: 60px;
  margin: 25px 0px;
}

/* line 20, app/assets/stylesheets/users/transparent-navbar.scss */
.users-transparent-navbar__avatar {
  position: absolute;
  right: 100px;
  top: 25px;
  height: 54px;
  width: 54px;
  border-radius: 50%;
  background-color: #f6f5f0;
  color: black;
  display: flex;
  align-content: center;
  justify-content: center;
  flex-wrap: wrap;
  font-size: 20px;
  font-weight: bold;
  text-transform: uppercase;
  border: 2px solid #311945;
  text-decoration: none;
}

@media only screen and (max-width: 1024px) {
  /* line 20, app/assets/stylesheets/users/transparent-navbar.scss */
  .users-transparent-navbar__avatar {
    right: 40px;
  }
}

/* line 44, app/assets/stylesheets/users/transparent-navbar.scss */
.users-transparent-navbar__container {
  margin-top: 20px;
  margin-right: 2px;
  color: white;
  display: flex;
  overflow: hidden;
  width: 58px;
  height: 58px;
  border-radius: 32px;
  flex-wrap: nowrap;
  align-content: center;
  align-items: center;
  justify-content: flex-end;
  text-align: right;
}

/* line 59, app/assets/stylesheets/users/transparent-navbar.scss */
.users-transparent-navbar__container .users-transparent-navbar__content {
  display: none;
}

/* line 64, app/assets/stylesheets/users/transparent-navbar.scss */
.users-transparent-navbar__name {
  text-transform: capitalize;
  font-weight: 700;
}

/* line 69, app/assets/stylesheets/users/transparent-navbar.scss */
.users-transparent-navbar__content {
  display: none;
}

/* line 73, app/assets/stylesheets/users/transparent-navbar.scss */
.users-transparent-navbar__container:hover {
  width: auto;
  padding-left: 20px;
  padding-right: 66px;
  background: #311945;
  margin-top: 23px;
}

/* line 80, app/assets/stylesheets/users/transparent-navbar.scss */
.users-transparent-navbar__container:hover .users-transparent-navbar__content {
  display: block;
}

/* line 85, app/assets/stylesheets/users/transparent-navbar.scss */
.users-transparent-navbar__log-out {
  color: #FFFFFF;
  text-decoration: none;
  margin-top: -20px;
}

/* =====================================================================
   Milo reskin — app styles
   Built on _mp_tokens.scss (brand colours, shadows, radii).
   Class naming follows the design system mp-* prefix that ships with the
   Meaningful Planet design hub.
   ===================================================================== */
/* line 8, app/assets/stylesheets/milo/dashboard.scss */
.milo {
  font-family: var(--font-sans);
  background: var(--bg-2);
  color: var(--fg-1);
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: -0.005em;
  min-height: 100vh;
  /* Use :where() to give these baseline resets zero specificity. Font/size
     inheritance is the useful part; we deliberately skip `color: inherit` on
     form controls AND anchors — at matching specificity it nukes intentional
     button colours like `.user-account__btn--primary { color: #fff }` for
     anchor-styled buttons rendered inside the MILO chrome. */
  /* Ensure Tailwind's .hidden utility wins over later mp-* component rules. */
}

/* line 17, app/assets/stylesheets/milo/dashboard.scss */
.milo *, .milo *::before, .milo *::after {
  box-sizing: border-box;
}

/* line 23, app/assets/stylesheets/milo/dashboard.scss */
.milo :where(button, input, select, textarea) {
  font-family: inherit;
  font-size: inherit;
}

/* line 24, app/assets/stylesheets/milo/dashboard.scss */
.milo :where(a) {
  text-decoration: none;
}

/* line 25, app/assets/stylesheets/milo/dashboard.scss */
.milo ::selection {
  background: var(--mp-sapling);
  color: var(--mp-moss);
}

/* line 28, app/assets/stylesheets/milo/dashboard.scss */
.milo .hidden {
  display: none !important;
}

/* =====================================================================
   App shell — sidebar + main column
   ===================================================================== */
/* line 34, app/assets/stylesheets/milo/dashboard.scss */
.mp-app {
  display: grid;
  grid-template-columns: 248px 1fr;
  min-height: 100vh;
  background: var(--bg-2);
  transition: grid-template-columns 240ms cubic-bezier(0.4, 0, 0.2, 1);
}

/* line 41, app/assets/stylesheets/milo/dashboard.scss */
.mp-app:has(.mp-sidebar.is-collapsed) {
  grid-template-columns: 72px 1fr;
}

/* line 46, app/assets/stylesheets/milo/dashboard.scss */
.mp-sidebar {
  background: var(--mp-moss);
  color: #fff;
  width: 248px;
  position: sticky;
  top: 0;
  height: 100vh;
  overflow: hidden;
  z-index: 40;
  transition: width 240ms cubic-bezier(0.4, 0, 0.2, 1), box-shadow 240ms;
}

/* line 57, app/assets/stylesheets/milo/dashboard.scss */
.mp-sidebar.is-collapsed {
  width: 72px;
}

/* line 60, app/assets/stylesheets/milo/dashboard.scss */
.mp-sidebar__inner {
  width: 248px;
  height: 100%;
  display: flex;
  flex-direction: column;
  padding: 24px 16px 18px;
  box-sizing: border-box;
}

/* line 69, app/assets/stylesheets/milo/dashboard.scss */
.mp-sidebar__brand-text,
.mp-sidebar__workspace-name,
.mp-sidebar__item > span:not(.mp-ic),
.mp-sidebar__user-meta,
.mp-sidebar__logout > span:not(.mp-ic),
.mp-sidebar__toggle > span:not(.mp-ic),
.mp-sidebar__group {
  opacity: 1;
  transition: opacity 160ms ease-out 90ms;
}

/* line 81, app/assets/stylesheets/milo/dashboard.scss */
.mp-sidebar.is-collapsed .mp-sidebar__brand-text,
.mp-sidebar.is-collapsed .mp-sidebar__workspace-name,
.mp-sidebar.is-collapsed .mp-sidebar__item > span:not(.mp-ic),
.mp-sidebar.is-collapsed .mp-sidebar__user-meta,
.mp-sidebar.is-collapsed .mp-sidebar__logout > span:not(.mp-ic),
.mp-sidebar.is-collapsed .mp-sidebar__toggle > span:not(.mp-ic),
.mp-sidebar.is-collapsed .mp-sidebar__group {
  opacity: 0;
  transition: opacity 120ms ease-out;
}

/* line 93, app/assets/stylesheets/milo/dashboard.scss */
.mp-sidebar__toggle {
  appearance: none;
  background: transparent;
  border: 0;
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 14px -4px 0;
  padding: 12px 14px;
  width: calc(100% + 8px);
  color: rgba(255, 255, 255, 0.78);
  font-family: var(--font-sans);
  font-size: 14px;
  font-weight: 400;
  text-align: left;
  cursor: pointer;
  transition: color 140ms, background 140ms;
}

/* line 108, app/assets/stylesheets/milo/dashboard.scss */
.mp-sidebar__toggle:hover {
  color: #fff;
  background: rgba(255, 255, 255, 0.05);
}

/* line 113, app/assets/stylesheets/milo/dashboard.scss */
.mp-sidebar__toggle .mp-ic {
  color: rgba(255, 255, 255, 0.6);
  flex-shrink: 0;
  transition: transform 240ms cubic-bezier(0.4, 0, 0.2, 1);
}

/* line 118, app/assets/stylesheets/milo/dashboard.scss */
.mp-sidebar__toggle .mp-ic.is-flipped {
  transform: scaleX(-1);
}

/* line 121, app/assets/stylesheets/milo/dashboard.scss */
.mp-sidebar__toggle:hover .mp-ic {
  color: #fff;
}

/* line 123, app/assets/stylesheets/milo/dashboard.scss */
.mp-sidebar__toggle > span:not(.mp-ic) {
  white-space: nowrap;
  overflow: hidden;
}

/* line 126, app/assets/stylesheets/milo/dashboard.scss */
.mp-sidebar__brand {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 4px 2px 14px;
  width: 100%;
  overflow: hidden;
}

/* line 133, app/assets/stylesheets/milo/dashboard.scss */
.mp-sidebar__brand-logo {
  height: 42px;
  width: auto;
  display: block;
  flex-shrink: 0;
}

/* line 140, app/assets/stylesheets/milo/dashboard.scss */
.mp-sidebar.is-collapsed .mp-sidebar__brand-logo {
  /* In collapsed mode the wordmark is too wide for the 72px rail.
     Pulling left so only the icon glyph remains visible matches the
     condensed rail without needing a separate asset. */
  transform: translateX(0);
  max-width: 40px;
  object-fit: cover;
  object-position: left center;
}

/* line 150, app/assets/stylesheets/milo/dashboard.scss */
.mp-sidebar__workspace {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  margin: 4px 0 14px;
  padding: 9px 12px;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 10px;
  color: rgba(255, 255, 255, 0.92);
  font-family: var(--font-sans);
  font-size: 13px;
  font-weight: 600;
  text-align: left;
  transition: background 200ms, border-color 200ms;
}

/* line 165, app/assets/stylesheets/milo/dashboard.scss */
.mp-sidebar__workspace > .mp-sidebar__workspace-icon {
  color: var(--mp-sapling);
  flex-shrink: 0;
  opacity: 0.62;
}

/* line 172, app/assets/stylesheets/milo/dashboard.scss */
.mp-sidebar:hover .mp-sidebar__workspace {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.08);
}

/* line 177, app/assets/stylesheets/milo/dashboard.scss */
.mp-sidebar__workspace-name {
  flex: 1;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 185, app/assets/stylesheets/milo/dashboard.scss */
.mp-sidebar__nav {
  flex: 1;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 4px -4px 0;
  padding: 0 4px;
}

/* line 194, app/assets/stylesheets/milo/dashboard.scss */
.mp-sidebar__nav::-webkit-scrollbar {
  width: 4px;
}

/* line 195, app/assets/stylesheets/milo/dashboard.scss */
.mp-sidebar__nav::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.1);
  border-radius: 2px;
}

/* line 201, app/assets/stylesheets/milo/dashboard.scss */
.mp-sidebar__section {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

/* Group labels: always visible when the sidebar is expanded; hidden only
   when the sidebar is collapsed to the icon-only rail. */
/* line 209, app/assets/stylesheets/milo/dashboard.scss */
.mp-sidebar__group {
  font-family: var(--font-sans);
  font-style: normal;
  font-weight: 500;
  font-size: 13px;
  letter-spacing: 0.01em;
  color: var(--mp-sapling);
  opacity: 0.78;
  text-transform: none;
  padding: 16px 12px 10px;
  max-height: 44px;
  overflow: hidden;
  transition: max-height 200ms ease, padding 200ms ease;
}

/* line 224, app/assets/stylesheets/milo/dashboard.scss */
.mp-sidebar.is-collapsed .mp-sidebar__group {
  max-height: 0;
  padding: 0 12px;
}

/* line 229, app/assets/stylesheets/milo/dashboard.scss */
.mp-sidebar__item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  border-radius: 10px;
  color: rgba(255, 255, 255, 0.78);
  font-size: 14px;
  font-weight: 400;
  cursor: pointer;
  transition: background 140ms, color 140ms;
  border: 1px solid transparent;
}

/* line 240, app/assets/stylesheets/milo/dashboard.scss */
.mp-sidebar__item:hover {
  background: rgba(255, 255, 255, 0.06);
  color: #fff;
}

/* line 245, app/assets/stylesheets/milo/dashboard.scss */
.mp-sidebar__item.is-active {
  background: var(--mp-sapling);
  color: var(--mp-moss);
  font-weight: 600;
  box-shadow: inset 0 -2px 0 rgba(3, 45, 16, 0.18), 0 1px 0 rgba(255, 255, 255, 0.05);
}

/* line 251, app/assets/stylesheets/milo/dashboard.scss */
.mp-sidebar__item.is-active .mp-ic {
  color: var(--mp-moss);
}

/* line 255, app/assets/stylesheets/milo/dashboard.scss */
.mp-sidebar__user {
  margin-top: 0;
  padding: 14px 8px 4px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

/* line 263, app/assets/stylesheets/milo/dashboard.scss */
.mp-sidebar__avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--mp-deep-teal);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 12px;
  flex-shrink: 0;
  border: 1px solid rgba(255, 255, 255, 0.08);
}

/* line 274, app/assets/stylesheets/milo/dashboard.scss */
.mp-sidebar__user-meta {
  min-width: 0;
}

/* line 277, app/assets/stylesheets/milo/dashboard.scss */
.mp-sidebar__user-meta .mp-sidebar__user-name {
  font-weight: 600;
  font-size: 13px;
  color: #fff;
  line-height: 1.2;
}

/* line 284, app/assets/stylesheets/milo/dashboard.scss */
.mp-sidebar__user-meta .mp-sidebar__user-role {
  font-size: 11.5px;
  color: rgba(255, 255, 255, 0.5);
  margin-top: 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 140px;
}

/* line 295, app/assets/stylesheets/milo/dashboard.scss */
.mp-sidebar__logout {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 14px -4px -4px;
  padding: 12px 14px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  color: rgba(255, 255, 255, 0.78);
  font-size: 14px;
  font-weight: 400;
  text-decoration: none;
  transition: color 140ms, background 140ms;
  cursor: pointer;
  background: transparent;
  border-left: 0;
  border-right: 0;
  border-bottom: 0;
  width: calc(100% + 8px);
  text-align: left;
}

/* line 313, app/assets/stylesheets/milo/dashboard.scss */
.mp-sidebar__logout:hover {
  color: #fff;
  background: rgba(255, 255, 255, 0.05);
}

/* line 318, app/assets/stylesheets/milo/dashboard.scss */
.mp-sidebar__logout .mp-ic {
  color: rgba(255, 255, 255, 0.6);
}

/* line 319, app/assets/stylesheets/milo/dashboard.scss */
.mp-sidebar__logout:hover .mp-ic {
  color: #fff;
}

/* =====================================================================
   Main column
   ===================================================================== */
/* line 325, app/assets/stylesheets/milo/dashboard.scss */
.mp-main {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

/* line 331, app/assets/stylesheets/milo/dashboard.scss */
.mp-content {
  padding: 40px 40px 56px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  max-width: 1440px;
  width: 100%;
}

/* =====================================================================
   Page head
   ===================================================================== */
/* line 343, app/assets/stylesheets/milo/dashboard.scss */
.mp-page-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 4px;
}

/* line 351, app/assets/stylesheets/milo/dashboard.scss */
.mp-page-head__text {
  flex: 1;
  min-width: 0;
}

/* line 356, app/assets/stylesheets/milo/dashboard.scss */
.mp-page-head__title {
  font-family: var(--font-sans);
  font-weight: 500;
  font-size: 36px;
  letter-spacing: -0.025em;
  margin: 0;
  line-height: 1.1;
  color: var(--mp-deep-forest);
}

/* line 366, app/assets/stylesheets/milo/dashboard.scss */
.mp-page-head__subtitle {
  font-size: 15px;
  color: var(--fg-3);
  line-height: 1.55;
  margin: 8px 0 0;
  max-width: 720px;
}

/* line 374, app/assets/stylesheets/milo/dashboard.scss */
.mp-page-head__hint {
  font-size: 12.5px;
  color: var(--fg-3);
  margin: 8px 0 0;
}

/* line 380, app/assets/stylesheets/milo/dashboard.scss */
.mp-page-head__aside {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-shrink: 0;
}

/* =====================================================================
   Typography — reusable headings + emphasis used across page bodies.
   Lighter weights than the legacy mocks because heavy 700/800 reads as
   too dense at small sizes. Active headings stay legibly distinct.
   ===================================================================== */
/* line 392, app/assets/stylesheets/milo/dashboard.scss */
.mp-card__title {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  color: var(--mp-deep-forest);
  letter-spacing: -0.01em;
}

/* line 400, app/assets/stylesheets/milo/dashboard.scss */
.mp-section-heading {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  color: var(--mp-deep-forest);
}

/* line 407, app/assets/stylesheets/milo/dashboard.scss */
.mp-section-subheading {
  margin: 0 0 14px;
  font-size: 14px;
  font-weight: 700;
  color: var(--fg-1);
}

/* line 414, app/assets/stylesheets/milo/dashboard.scss */
.mp-text--muted {
  color: var(--fg-3);
}

/* line 415, app/assets/stylesheets/milo/dashboard.scss */
.mp-text--default {
  color: var(--fg-2);
}

/* line 417, app/assets/stylesheets/milo/dashboard.scss */
.mp-link-pine {
  color: var(--mp-pine);
  font-weight: 600;
  text-decoration: underline;
}

/* line 422, app/assets/stylesheets/milo/dashboard.scss */
.mp-link-pine:hover {
  filter: brightness(1.08);
}

/* line 425, app/assets/stylesheets/milo/dashboard.scss */
.mp-link-deep {
  color: var(--fg-1);
  font-weight: 700;
}

/* line 429, app/assets/stylesheets/milo/dashboard.scss */
.mp-link-deep:hover {
  color: var(--mp-pine);
}

/* line 432, app/assets/stylesheets/milo/dashboard.scss */
.mp-em-up {
  color: var(--mp-pine);
  font-weight: 600;
}

/* line 433, app/assets/stylesheets/milo/dashboard.scss */
.mp-em-down {
  color: var(--mp-ember);
  font-weight: 600;
}

/* line 434, app/assets/stylesheets/milo/dashboard.scss */
.mp-em-flat {
  color: var(--fg-3);
  font-weight: 500;
}

/* Right-aligned filter row trailing action — used for "Clear Filters" etc. */
/* line 437, app/assets/stylesheets/milo/dashboard.scss */
.mp-filter-row__end {
  margin-left: auto;
}

/* Table cell row helpers */
/* line 440, app/assets/stylesheets/milo/dashboard.scss */
.mp-cell-dim {
  color: var(--fg-3);
}

/* line 441, app/assets/stylesheets/milo/dashboard.scss */
.mp-cell-name {
  color: var(--fg-1);
  font-weight: 700;
}

/* line 442, app/assets/stylesheets/milo/dashboard.scss */
.mp-cell-link {
  color: var(--mp-pine);
  font-weight: 700;
}

/* Generic card-body actions row (pad / pagination wrap inside .mp-card). */
/* line 445, app/assets/stylesheets/milo/dashboard.scss */
.mp-card__pagination {
  padding: 12px 16px;
  display: flex;
  justify-content: center;
}

/* Vertical form stack: simple flex-column with 18px gap, padded from top.
   Used by every simple Milo create/edit form. */
/* line 453, app/assets/stylesheets/milo/dashboard.scss */
.mp-form-stack {
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding-top: 22px;
}

/* line 460, app/assets/stylesheets/milo/dashboard.scss */
.mp-form-stack__note {
  font-size: 13px;
  color: var(--fg-3);
  margin: 0;
}

/* line 466, app/assets/stylesheets/milo/dashboard.scss */
.mp-text-block {
  font-size: 13px;
  color: var(--fg-3);
  margin-top: 8px;
  line-height: 1.6;
}

/* "Currently assigned" card on SIM edit. */
/* line 474, app/assets/stylesheets/milo/dashboard.scss */
.mp-assignee-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--bg-2);
  border: 1px solid var(--border-subtle);
  padding: 14px;
  border-radius: 10px;
}

/* line 484, app/assets/stylesheets/milo/dashboard.scss */
.mp-assignee-card__left {
  display: flex;
  align-items: center;
  gap: 12px;
}

/* line 490, app/assets/stylesheets/milo/dashboard.scss */
.mp-assignee-card__name {
  font-size: 14px;
  font-weight: 600;
  color: var(--fg-1);
}

/* line 496, app/assets/stylesheets/milo/dashboard.scss */
.mp-assignee-card__email {
  font-size: 12px;
  color: var(--fg-3);
}

/* Visual "or" divider between two action options. */
/* line 502, app/assets/stylesheets/milo/dashboard.scss */
.mp-divider-or {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 20px 0;
  color: var(--fg-3);
  font-size: 12px;
}

/* line 510, app/assets/stylesheets/milo/dashboard.scss */
.mp-divider-or::before, .mp-divider-or::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--border-subtle);
}

/* Avatar size modifiers — used in assignee-card and small chips. */
/* line 520, app/assets/stylesheets/milo/dashboard.scss */
.mp-av--lg {
  width: 40px;
  height: 40px;
  font-size: 14px;
}

/* Modal patterns used by SIM card / subscription dialogs. */
/* line 527, app/assets/stylesheets/milo/dashboard.scss */
.mp-modal__title {
  font-size: 20px;
  font-weight: 700;
  color: var(--mp-deep-forest);
  margin: 0;
}

/* line 534, app/assets/stylesheets/milo/dashboard.scss */
.mp-modal__body {
  padding: 14px 0;
  color: var(--fg-3);
}

/* line 539, app/assets/stylesheets/milo/dashboard.scss */
.mp-modal__actions {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
}

/* line 545, app/assets/stylesheets/milo/dashboard.scss */
.mp-field__label--stack {
  margin-bottom: 8px;
}

/* Settings page sections (header / body / footer regions inside a card). */
/* line 548, app/assets/stylesheets/milo/dashboard.scss */
.mp-settings__section {
  padding: 28px 32px 0;
}

/* line 552, app/assets/stylesheets/milo/dashboard.scss */
.mp-settings__body {
  padding: 22px 32px 24px;
}

/* line 556, app/assets/stylesheets/milo/dashboard.scss */
.mp-settings__subtitle {
  margin: 6px 0 0;
  font-size: 13.5px;
  color: var(--fg-3);
  line-height: 1.55;
}

/* line 563, app/assets/stylesheets/milo/dashboard.scss */
.mp-settings__footer {
  display: flex;
  justify-content: flex-end;
  padding: 18px 32px 24px;
  border-top: 1px solid var(--border-subtle);
}

/* line 570, app/assets/stylesheets/milo/dashboard.scss */
.mp-text-emphasized {
  color: var(--fg-1);
  font-weight: 600;
}

/* Generic flex helpers (reused widely) */
/* line 576, app/assets/stylesheets/milo/dashboard.scss */
.mp-flex {
  display: flex;
}

/* line 577, app/assets/stylesheets/milo/dashboard.scss */
.mp-flex--col {
  display: flex;
  flex-direction: column;
}

/* line 578, app/assets/stylesheets/milo/dashboard.scss */
.mp-flex--center {
  display: flex;
  align-items: center;
}

/* line 579, app/assets/stylesheets/milo/dashboard.scss */
.mp-flex--between {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* line 580, app/assets/stylesheets/milo/dashboard.scss */
.mp-gap-2 {
  gap: 8px;
}

/* line 581, app/assets/stylesheets/milo/dashboard.scss */
.mp-gap-3 {
  gap: 12px;
}

/* line 582, app/assets/stylesheets/milo/dashboard.scss */
.mp-gap-4 {
  gap: 16px;
}

/* line 583, app/assets/stylesheets/milo/dashboard.scss */
.mp-mt-2 {
  margin-top: 8px;
}

/* line 584, app/assets/stylesheets/milo/dashboard.scss */
.mp-mt-3 {
  margin-top: 12px;
}

/* line 585, app/assets/stylesheets/milo/dashboard.scss */
.mp-mt-4 {
  margin-top: 16px;
}

/* line 586, app/assets/stylesheets/milo/dashboard.scss */
.mp-mt-6 {
  margin-top: 24px;
}

/* line 587, app/assets/stylesheets/milo/dashboard.scss */
.mp-mt-section {
  margin-top: 22px;
}

/* Card max-width modifiers — used to centre constrained content blocks. */
/* line 590, app/assets/stylesheets/milo/dashboard.scss */
.mp-card--narrow {
  max-width: 640px;
}

/* line 591, app/assets/stylesheets/milo/dashboard.scss */
.mp-card--medium {
  max-width: 720px;
}

/* line 592, app/assets/stylesheets/milo/dashboard.scss */
.mp-card--wide {
  max-width: 900px;
}

/* line 593, app/assets/stylesheets/milo/dashboard.scss */
.mp-card--reading {
  max-width: 880px;
}

/* Helpers reused across dashboard / co2 / chart sections. */
/* line 596, app/assets/stylesheets/milo/dashboard.scss */
.mp-card__foot-note {
  font-size: 12px;
  color: var(--fg-3);
  margin-top: 14px;
}

/* line 602, app/assets/stylesheets/milo/dashboard.scss */
.mp-commit--reading {
  max-width: 880px;
}

/* =====================================================================
   Buttons
   ===================================================================== */
/* line 607, app/assets/stylesheets/milo/dashboard.scss */
.mp-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: none;
  cursor: pointer;
  font-family: var(--font-sans);
  font-weight: 600;
  border-radius: 10px;
  transition: filter 120ms, background 120ms, color 120ms, border-color 120ms;
  text-decoration: none;
  white-space: nowrap;
  line-height: 1;
  appearance: none;
}

/* line 622, app/assets/stylesheets/milo/dashboard.scss */
.mp-btn--sm {
  padding: 7px 11px;
  font-size: 12.5px;
  border-radius: 8px;
}

/* line 623, app/assets/stylesheets/milo/dashboard.scss */
.mp-btn--md {
  padding: 9px 14px;
  font-size: 13px;
}

/* line 624, app/assets/stylesheets/milo/dashboard.scss */
.mp-btn--lg {
  padding: 12px 18px;
  font-size: 14px;
  border-radius: 12px;
}

/* line 626, app/assets/stylesheets/milo/dashboard.scss */
.mp-btn--primary {
  background: var(--mp-deep-forest);
  color: #fff;
}

/* line 630, app/assets/stylesheets/milo/dashboard.scss */
.mp-btn--primary:hover {
  filter: brightness(1.12);
}

/* line 633, app/assets/stylesheets/milo/dashboard.scss */
.mp-btn--secondary {
  background: #fff;
  color: var(--fg-1);
  border: 1px solid var(--border-subtle);
}

/* line 638, app/assets/stylesheets/milo/dashboard.scss */
.mp-btn--secondary:hover {
  background: var(--bg-2);
}

/* line 641, app/assets/stylesheets/milo/dashboard.scss */
.mp-btn--ghost {
  background: transparent;
  color: var(--fg-2);
}

/* line 645, app/assets/stylesheets/milo/dashboard.scss */
.mp-btn--ghost:hover {
  background: var(--bg-2);
  color: var(--fg-1);
}

/* line 648, app/assets/stylesheets/milo/dashboard.scss */
.mp-btn--danger {
  background: #fff;
  color: var(--mp-ember);
  border: 1px solid rgba(207, 76, 0, 0.25);
}

/* line 653, app/assets/stylesheets/milo/dashboard.scss */
.mp-btn--danger:hover {
  background: rgba(207, 76, 0, 0.06);
}

/* line 656, app/assets/stylesheets/milo/dashboard.scss */
.mp-btn--sapling {
  background: var(--mp-sapling);
  color: var(--mp-moss);
}

/* line 660, app/assets/stylesheets/milo/dashboard.scss */
.mp-btn--sapling:hover {
  filter: brightness(0.96);
}

/* line 664, app/assets/stylesheets/milo/dashboard.scss */
.mp-backlink {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 600;
  color: var(--mp-pine);
  padding: 6px 10px;
  border-radius: 8px;
  margin-left: -10px;
  width: fit-content;
  transition: background 120ms;
  cursor: pointer;
  background: transparent;
  border: 0;
}

/* line 680, app/assets/stylesheets/milo/dashboard.scss */
.mp-backlink:hover {
  background: rgba(37, 103, 81, 0.08);
}

/* =====================================================================
   Form inputs
   ===================================================================== */
/* line 686, app/assets/stylesheets/milo/dashboard.scss */
.mp-input-wrap {
  position: relative;
}

/* line 690, app/assets/stylesheets/milo/dashboard.scss */
.mp-input__leading {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--fg-3);
  pointer-events: none;
}

/* line 699, app/assets/stylesheets/milo/dashboard.scss */
.mp-input {
  width: 100%;
  height: 40px;
  padding: 0 14px 0 36px;
  background: #fff;
  border: 1px solid var(--border-subtle);
  border-radius: 9px;
  font-size: 13.5px;
  color: var(--fg-1);
  outline: none;
  transition: border-color 120ms, box-shadow 120ms;
}

/* line 711, app/assets/stylesheets/milo/dashboard.scss */
.mp-input:focus {
  border-color: var(--mp-pine);
  box-shadow: 0 0 0 3px rgba(37, 103, 81, 0.12);
}

/* line 716, app/assets/stylesheets/milo/dashboard.scss */
.mp-input::placeholder {
  color: var(--fg-3);
}

/* line 718, app/assets/stylesheets/milo/dashboard.scss */
.mp-input--plain {
  padding-left: 14px;
}

/* line 721, app/assets/stylesheets/milo/dashboard.scss */
.mp-select-wrap {
  position: relative;
}

/* line 725, app/assets/stylesheets/milo/dashboard.scss */
.mp-select {
  appearance: none;
  -webkit-appearance: none;
  height: 40px;
  padding: 0 36px 0 14px;
  background: #fff;
  border: 1px solid var(--border-subtle);
  border-radius: 9px;
  font-size: 13.5px;
  color: var(--fg-1);
  outline: none;
  min-width: 180px;
  cursor: pointer;
}

/* line 739, app/assets/stylesheets/milo/dashboard.scss */
.mp-select:focus {
  border-color: var(--mp-pine);
  box-shadow: 0 0 0 3px rgba(37, 103, 81, 0.12);
}

/* line 745, app/assets/stylesheets/milo/dashboard.scss */
.mp-select__caret {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--fg-3);
  pointer-events: none;
}

/* line 754, app/assets/stylesheets/milo/dashboard.scss */
.mp-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

/* line 759, app/assets/stylesheets/milo/dashboard.scss */
.mp-field__label {
  font-size: 12.5px;
  font-weight: 600;
  color: var(--fg-2);
}

/* line 765, app/assets/stylesheets/milo/dashboard.scss */
.mp-field__help {
  font-size: 12px;
  color: var(--fg-3);
  margin-top: 2px;
}

/* line 771, app/assets/stylesheets/milo/dashboard.scss */
.mp-field__input, .mp-field__textarea {
  height: 40px;
  padding: 0 14px;
  background: #fff;
  border: 1px solid var(--border-subtle);
  border-radius: 9px;
  font-size: 14px;
  color: var(--fg-1);
  outline: none;
  transition: border-color 120ms, box-shadow 120ms;
  width: 100%;
  font-family: inherit;
}

/* line 785, app/assets/stylesheets/milo/dashboard.scss */
.mp-field__input:focus, .mp-field__textarea:focus {
  border-color: var(--mp-pine);
  box-shadow: 0 0 0 3px rgba(37, 103, 81, 0.12);
}

/* line 791, app/assets/stylesheets/milo/dashboard.scss */
.mp-field__textarea {
  height: auto;
  padding: 10px 14px;
  line-height: 1.55;
  resize: vertical;
  min-height: 96px;
}

/* =====================================================================
   Cards & stat tiles
   ===================================================================== */
/* line 803, app/assets/stylesheets/milo/dashboard.scss */
.mp-card {
  background: #fff;
  border: 1px solid var(--border-subtle);
  border-radius: 16px;
  box-shadow: var(--shadow-card);
}

/* line 810, app/assets/stylesheets/milo/dashboard.scss */
.mp-card__head {
  padding: 22px 22px 18px;
  border-bottom: 1px solid var(--border-subtle);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

/* line 818, app/assets/stylesheets/milo/dashboard.scss */
.mp-card__head h3 {
  font-size: 15px;
  font-weight: 700;
  margin: 0;
  line-height: 1.3;
}

/* line 825, app/assets/stylesheets/milo/dashboard.scss */
.mp-card__head .mp-card__head-sub {
  font-size: 12.5px;
  color: var(--fg-3);
  margin-top: 2px;
}

/* line 832, app/assets/stylesheets/milo/dashboard.scss */
.mp-card__body {
  padding: 22px;
}

/* line 835, app/assets/stylesheets/milo/dashboard.scss */
.mp-card__body--tight {
  padding: 12px 0;
}

/* line 838, app/assets/stylesheets/milo/dashboard.scss */
.mp-stat {
  background: #fff;
  border: 1px solid var(--border-subtle);
  border-radius: 14px;
  padding: 18px 20px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  box-shadow: none;
  transition: box-shadow 160ms;
}

/* line 849, app/assets/stylesheets/milo/dashboard.scss */
.mp-stat__sub-head {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--fg-3);
}

/* line 857, app/assets/stylesheets/milo/dashboard.scss */
.mp-stat__sub-head .mp-ic {
  color: var(--mp-pine);
  opacity: 0.75;
}

/* line 863, app/assets/stylesheets/milo/dashboard.scss */
.mp-stat__value {
  font-size: 30px;
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: var(--fg-1);
  margin-top: 8px;
}

/* line 871, app/assets/stylesheets/milo/dashboard.scss */
.mp-stat__value--zero {
  color: var(--fg-3);
  opacity: 0.6;
}

/* line 877, app/assets/stylesheets/milo/dashboard.scss */
.mp-stat__suffix {
  font-size: 14px;
  font-weight: 500;
  color: var(--fg-3);
  margin-left: 4px;
  letter-spacing: 0;
}

/* line 885, app/assets/stylesheets/milo/dashboard.scss */
.mp-stat__hint {
  font-size: 12px;
  color: var(--fg-3);
  display: flex;
  align-items: center;
  gap: 4px;
  margin-top: 2px;
}

/* line 893, app/assets/stylesheets/milo/dashboard.scss */
.mp-stat__hint .up {
  color: var(--mp-pine);
  font-weight: 700;
}

/* line 894, app/assets/stylesheets/milo/dashboard.scss */
.mp-stat__hint .down {
  color: var(--mp-ember);
  font-weight: 700;
}

/* line 895, app/assets/stylesheets/milo/dashboard.scss */
.mp-stat__hint .same {
  color: var(--fg-3);
  font-weight: 600;
}

/* line 898, app/assets/stylesheets/milo/dashboard.scss */
.mp-stat__info {
  color: var(--fg-3);
  display: inline-flex;
  align-items: center;
  cursor: help;
}

/* line 905, app/assets/stylesheets/milo/dashboard.scss */
.mp-stat__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}

/* =====================================================================
   Grids
   ===================================================================== */
/* line 915, app/assets/stylesheets/milo/dashboard.scss */
.mp-grid-stats-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

/* line 916, app/assets/stylesheets/milo/dashboard.scss */
.mp-grid-stats-4--reading {
  max-width: 880px;
}

/* line 917, app/assets/stylesheets/milo/dashboard.scss */
.mp-grid-stats-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}

/* line 918, app/assets/stylesheets/milo/dashboard.scss */
.mp-grid-stats-2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}

/* line 919, app/assets/stylesheets/milo/dashboard.scss */
.mp-grid-stats-6 {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 12px;
}

/* line 920, app/assets/stylesheets/milo/dashboard.scss */
.mp-grid-2-1 {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 16px;
}

/* line 921, app/assets/stylesheets/milo/dashboard.scss */
.mp-grid-1-2 {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 16px;
}

@media (max-width: 1100px) {
  /* line 924, app/assets/stylesheets/milo/dashboard.scss */
  .mp-grid-stats-4 {
    grid-template-columns: repeat(2, 1fr);
  }
  /* line 925, app/assets/stylesheets/milo/dashboard.scss */
  .mp-grid-stats-6 {
    grid-template-columns: repeat(3, 1fr);
  }
  /* line 926, app/assets/stylesheets/milo/dashboard.scss */
  .mp-grid-2-1, .mp-grid-1-2 {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  /* line 930, app/assets/stylesheets/milo/dashboard.scss */
  .mp-grid-stats-3, .mp-grid-stats-2 {
    grid-template-columns: 1fr;
  }
  /* line 931, app/assets/stylesheets/milo/dashboard.scss */
  .mp-grid-stats-6 {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* =====================================================================
   Badges
   ===================================================================== */
/* line 937, app/assets/stylesheets/milo/dashboard.scss */
.mp-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 3px 10px;
  font-size: 11px;
  font-weight: 700;
  border-radius: 999px;
  letter-spacing: 0.02em;
  line-height: 1.5;
  white-space: nowrap;
  border: 1px solid transparent;
}

/* line 951, app/assets/stylesheets/milo/dashboard.scss */
.mp-badge--default {
  background: var(--bg-2);
  color: var(--fg-2);
  border-color: var(--border-subtle);
}

/* line 952, app/assets/stylesheets/milo/dashboard.scss */
.mp-badge--ok {
  background: var(--mp-mist);
  color: #1e4136;
}

/* line 953, app/assets/stylesheets/milo/dashboard.scss */
.mp-badge--lime {
  background: var(--mp-bright-lime);
  color: var(--mp-moss);
}

/* line 954, app/assets/stylesheets/milo/dashboard.scss */
.mp-badge--clay {
  background: rgba(217, 128, 66, 0.15);
  color: var(--mp-clay);
}

/* line 955, app/assets/stylesheets/milo/dashboard.scss */
.mp-badge--cream {
  background: var(--mp-cream);
  color: var(--mp-charcoal);
}

/* line 956, app/assets/stylesheets/milo/dashboard.scss */
.mp-badge--ember {
  background: rgba(207, 76, 0, 0.1);
  color: var(--mp-ember);
}

/* line 957, app/assets/stylesheets/milo/dashboard.scss */
.mp-badge--teal {
  background: rgba(80, 154, 130, 0.16);
  color: #1b342c;
}

/* line 958, app/assets/stylesheets/milo/dashboard.scss */
.mp-badge--info {
  background: rgba(37, 103, 81, 0.1);
  color: var(--mp-pine);
}

/* line 959, app/assets/stylesheets/milo/dashboard.scss */
.mp-badge--muted {
  background: var(--bg-2);
  color: var(--fg-3);
  border-color: var(--border-subtle);
}

/* line 960, app/assets/stylesheets/milo/dashboard.scss */
.mp-badge--mist {
  background: var(--mp-mist);
  color: var(--mp-deep-forest);
}

/* line 961, app/assets/stylesheets/milo/dashboard.scss */
.mp-badge--warn {
  background: rgba(207, 76, 0, 0.1);
  color: var(--mp-ember);
}

/* line 963, app/assets/stylesheets/milo/dashboard.scss */
.mp-badge--type-esim {
  background: rgba(80, 154, 130, 0.2);
  color: #1b342c;
}

/* line 964, app/assets/stylesheets/milo/dashboard.scss */
.mp-badge--type-physical {
  background: rgba(62, 62, 57, 0.1);
  color: var(--mp-charcoal);
}

/* =====================================================================
   Tables
   ===================================================================== */
/* line 970, app/assets/stylesheets/milo/dashboard.scss */
.mp-table__wrap {
  overflow-x: auto;
}

/* line 974, app/assets/stylesheets/milo/dashboard.scss */
.mp-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

/* line 979, app/assets/stylesheets/milo/dashboard.scss */
.mp-table thead th {
  text-align: left;
  padding: 12px 18px;
  font-size: 10.5px;
  font-weight: 700;
  color: var(--fg-3);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background: var(--bg-2);
  border-bottom: 1px solid var(--border-subtle);
  white-space: nowrap;
}

/* line 992, app/assets/stylesheets/milo/dashboard.scss */
.mp-table tbody td {
  padding: 14px 18px;
  border-bottom: 1px solid var(--border-subtle);
  vertical-align: middle;
  color: var(--fg-1);
  font-variant-numeric: tabular-nums;
}

/* line 1000, app/assets/stylesheets/milo/dashboard.scss */
.mp-table tbody tr:last-child td {
  border-bottom: none;
}

/* line 1004, app/assets/stylesheets/milo/dashboard.scss */
.mp-table tbody tr {
  transition: background 120ms;
}

/* line 1007, app/assets/stylesheets/milo/dashboard.scss */
.mp-table tbody tr:hover {
  background: rgba(234, 232, 221, 0.35);
}

/* line 1011, app/assets/stylesheets/milo/dashboard.scss */
.mp-table__sort-header {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  font-size: 10.5px;
  font-weight: 700;
  color: var(--fg-3);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-align: left;
  text-decoration: none;
}

/* line 1027, app/assets/stylesheets/milo/dashboard.scss */
.mp-table__sort-header:hover {
  color: var(--fg-1);
}

/* line 1029, app/assets/stylesheets/milo/dashboard.scss */
.mp-table__sort-header .mp-ic {
  opacity: 0.4;
  transition: opacity 140ms;
  color: var(--fg-3);
}

/* line 1035, app/assets/stylesheets/milo/dashboard.scss */
.mp-table__sort-header:hover .mp-ic {
  opacity: 0.7;
}

/* line 1037, app/assets/stylesheets/milo/dashboard.scss */
.mp-table__sort-header.is-active {
  color: var(--mp-deep-forest);
}

/* line 1040, app/assets/stylesheets/milo/dashboard.scss */
.mp-table__sort-header.is-active .mp-ic {
  opacity: 1;
  color: var(--mp-deep-forest);
}

/* line 1047, app/assets/stylesheets/milo/dashboard.scss */
.mp-mono {
  font-family: ui-monospace, Menlo, Consolas, monospace;
  font-size: 13px;
  color: var(--fg-2);
  font-variant-numeric: tabular-nums;
}

/* =====================================================================
   Avatars
   ===================================================================== */
/* line 1057, app/assets/stylesheets/milo/dashboard.scss */
.mp-av {
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  flex-shrink: 0;
}

/* line 1065, app/assets/stylesheets/milo/dashboard.scss */
.mp-av--cream {
  background: var(--mp-cream);
  color: var(--mp-deep-forest);
}

/* line 1066, app/assets/stylesheets/milo/dashboard.scss */
.mp-av--mist {
  background: var(--mp-mist);
  color: var(--mp-deep-forest);
}

/* line 1067, app/assets/stylesheets/milo/dashboard.scss */
.mp-av--sapling {
  background: var(--mp-sapling);
  color: var(--mp-moss);
}

/* =====================================================================
   Progress bars + percentage dots
   ===================================================================== */
/* line 1073, app/assets/stylesheets/milo/dashboard.scss */
.mp-bar {
  position: relative;
  width: 100%;
  height: 6px;
  background: var(--bg-2);
  border-radius: 3px;
  overflow: hidden;
}

/* line 1081, app/assets/stylesheets/milo/dashboard.scss */
.mp-bar span {
  display: block;
  height: 100%;
  border-radius: 3px;
  background: var(--mp-pine);
  transition: width 320ms cubic-bezier(0.16, 1, 0.3, 1);
}

/* line 1089, app/assets/stylesheets/milo/dashboard.scss */
.mp-bar--ok span {
  background: var(--mp-pine);
}

/* line 1090, app/assets/stylesheets/milo/dashboard.scss */
.mp-bar--warn span {
  background: #e5b82e;
}

/* line 1091, app/assets/stylesheets/milo/dashboard.scss */
.mp-bar--mid span {
  background: var(--mp-clay);
}

/* line 1092, app/assets/stylesheets/milo/dashboard.scss */
.mp-bar--high span {
  background: var(--mp-clay);
}

/* line 1093, app/assets/stylesheets/milo/dashboard.scss */
.mp-bar--crit span {
  background: var(--mp-ember);
}

/* line 1094, app/assets/stylesheets/milo/dashboard.scss */
.mp-bar--mist span {
  background: var(--mp-bright-lime);
}

/* In-stat-tile progress bar — 6px tall with a 6px top margin to space from
   the stat value, and a full-width fill modifier for the 100% case. */
/* line 1099, app/assets/stylesheets/milo/dashboard.scss */
.mp-stat__bar {
  margin-top: 6px;
}

/* line 1100, app/assets/stylesheets/milo/dashboard.scss */
.mp-stat__bar-fill--full {
  width: 100%;
}

/* Circular usage gauge (SIM details — Data Usage block). The SVG sets its own
   width/height (136×136); the block is just the absolute-positioned center
   label container. Stroke colour is rendered by the presenter; this stylesheet
   only handles typography + layout. */
/* line 1106, app/assets/stylesheets/milo/dashboard.scss */
.mp-ring {
  position: relative;
}

/* line 1109, app/assets/stylesheets/milo/dashboard.scss */
.mp-ring__svg {
  display: block;
}

/* line 1111, app/assets/stylesheets/milo/dashboard.scss */
.mp-ring__center {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

/* line 1120, app/assets/stylesheets/milo/dashboard.scss */
.mp-ring__pct {
  font-size: 36px;
  font-weight: 500;
  color: var(--fg-1);
  letter-spacing: -0.02em;
  line-height: 1;
}

/* line 1128, app/assets/stylesheets/milo/dashboard.scss */
.mp-ring__pct-unit {
  font-size: 17px;
  font-weight: 500;
  color: var(--fg-3);
  margin-left: 1px;
}

/* line 1135, app/assets/stylesheets/milo/dashboard.scss */
.mp-ring__inf {
  color: var(--mp-pine);
}

/* line 1137, app/assets/stylesheets/milo/dashboard.scss */
.mp-ring__sub {
  font-size: 12px;
  color: var(--fg-3);
  margin-top: 5px;
  font-weight: 600;
  letter-spacing: 0.01em;
}

/* line 1146, app/assets/stylesheets/milo/dashboard.scss */
.mp-usage-ring {
  display: flex;
  justify-content: center;
  margin: 10px 0 18px;
}

/* line 1152, app/assets/stylesheets/milo/dashboard.scss */
.mp-usage-stats {
  display: flex;
  flex-direction: column;
  gap: 2px;
  border-top: 1px solid var(--border-subtle);
  padding-top: 8px;
}

/* line 1160, app/assets/stylesheets/milo/dashboard.scss */
.mp-pct {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  /* Used in place of the %/dot when the SIM is on an Unlimited plan —
     "7% of unlimited" is meaningless to the customer. */
}

/* line 1165, app/assets/stylesheets/milo/dashboard.scss */
.mp-pct__dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  flex-shrink: 0;
  display: inline-block;
}

/* line 1171, app/assets/stylesheets/milo/dashboard.scss */
.mp-pct__dot--ok {
  background: var(--mp-pine);
  box-shadow: 0 0 0 3px rgba(37, 103, 81, 0.1);
}

/* line 1172, app/assets/stylesheets/milo/dashboard.scss */
.mp-pct__dot--warn {
  background: #e5b82e;
  box-shadow: 0 0 0 3px rgba(229, 184, 46, 0.16);
}

/* line 1173, app/assets/stylesheets/milo/dashboard.scss */
.mp-pct__dot--high {
  background: var(--mp-clay);
  box-shadow: 0 0 0 3px rgba(217, 128, 66, 0.16);
}

/* line 1174, app/assets/stylesheets/milo/dashboard.scss */
.mp-pct__dot--crit {
  background: var(--mp-ember);
  box-shadow: 0 0 0 3px rgba(207, 76, 0, 0.16);
}

/* line 1177, app/assets/stylesheets/milo/dashboard.scss */
.mp-pct__val {
  font-variant-numeric: tabular-nums;
}

/* line 1181, app/assets/stylesheets/milo/dashboard.scss */
.mp-pct__unlimited {
  display: inline-flex;
  align-items: center;
  padding: 3px 10px;
  border-radius: 999px;
  background: var(--mp-mist);
  color: var(--mp-deep-forest);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.02em;
}

/* Small clay info icon used to anchor a tooltip — currently surfaces the
   prorated-allowance explainer next to Data Usage labels. */
/* line 1196, app/assets/stylesheets/milo/dashboard.scss */
.mp-info-tip {
  display: inline-flex;
  align-items: center;
  color: var(--mp-clay);
  cursor: help;
}

/* Inline note shown above the Data Usage rows on the SIM show page when the
   card is still in its first (prorated) billing period. */
/* line 1205, app/assets/stylesheets/milo/dashboard.scss */
.mp-prorated-note {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 10px 12px;
  margin-bottom: 14px;
  background: rgba(217, 128, 66, 0.1);
  border: 1px solid rgba(217, 128, 66, 0.25);
  border-radius: 9px;
  font-size: 12.5px;
  line-height: 1.5;
  color: var(--mp-deep-forest);
}

/* line 1218, app/assets/stylesheets/milo/dashboard.scss */
.mp-prorated-note .mp-ic {
  color: var(--mp-clay);
  margin-top: 2px;
  flex-shrink: 0;
}

/* line 1224, app/assets/stylesheets/milo/dashboard.scss */
.mp-prorated-note strong {
  font-weight: 700;
}

/* =====================================================================
   Activity list — per-kind icon tints
   ===================================================================== */
/* line 1230, app/assets/stylesheets/milo/dashboard.scss */
.mp-activity {
  display: flex;
  flex-direction: column;
}

/* line 1235, app/assets/stylesheets/milo/dashboard.scss */
.mp-activity-item {
  display: flex;
  gap: 12px;
  padding: 14px 22px;
  border-bottom: 1px solid var(--border-subtle);
}

/* line 1241, app/assets/stylesheets/milo/dashboard.scss */
.mp-activity-item:last-child {
  border-bottom: none;
}

/* line 1243, app/assets/stylesheets/milo/dashboard.scss */
.mp-activity-item__icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: var(--mp-mist);
  color: var(--mp-deep-forest);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 2px;
}

/* line 1256, app/assets/stylesheets/milo/dashboard.scss */
.mp-activity-item--mist .mp-activity-item__icon {
  background: var(--mp-mist);
  color: var(--mp-deep-forest);
}

/* line 1257, app/assets/stylesheets/milo/dashboard.scss */
.mp-activity-item--lime .mp-activity-item__icon {
  background: var(--mp-bright-lime);
  color: var(--mp-moss);
}

/* line 1258, app/assets/stylesheets/milo/dashboard.scss */
.mp-activity-item--teal .mp-activity-item__icon {
  background: rgba(80, 154, 130, 0.18);
  color: #1b342c;
}

/* line 1259, app/assets/stylesheets/milo/dashboard.scss */
.mp-activity-item--clay .mp-activity-item__icon {
  background: rgba(217, 128, 66, 0.16);
  color: var(--mp-clay);
}

/* line 1260, app/assets/stylesheets/milo/dashboard.scss */
.mp-activity-item--cream .mp-activity-item__icon {
  background: var(--mp-cream);
  color: var(--mp-charcoal);
}

/* line 1261, app/assets/stylesheets/milo/dashboard.scss */
.mp-activity-item--ember .mp-activity-item__icon {
  background: rgba(207, 76, 0, 0.12);
  color: var(--mp-ember);
}

/* line 1263, app/assets/stylesheets/milo/dashboard.scss */
.mp-activity-item__body {
  flex: 1;
  min-width: 0;
}

/* line 1264, app/assets/stylesheets/milo/dashboard.scss */
.mp-activity-item__title {
  font-size: 13.5px;
  font-weight: 600;
  color: var(--fg-1);
}

/* line 1265, app/assets/stylesheets/milo/dashboard.scss */
.mp-activity-item__title--lg {
  font-size: 15px;
}

/* line 1266, app/assets/stylesheets/milo/dashboard.scss */
.mp-activity-item__desc {
  font-size: 12.5px;
  color: var(--fg-3);
  margin-top: 2px;
  line-height: 1.55;
}

/* line 1267, app/assets/stylesheets/milo/dashboard.scss */
.mp-activity-item__desc--lg {
  font-size: 13px;
}

/* line 1268, app/assets/stylesheets/milo/dashboard.scss */
.mp-activity-item__meta {
  font-size: 11.5px;
  color: var(--fg-3);
  margin-top: 4px;
}

/* line 1269, app/assets/stylesheets/milo/dashboard.scss */
.mp-activity-item__time {
  font-size: 11.5px;
  color: var(--fg-3);
  align-self: flex-start;
  white-space: nowrap;
  margin-top: 4px;
}

/* =====================================================================
   Filter row
   ===================================================================== */
/* line 1275, app/assets/stylesheets/milo/dashboard.scss */
.mp-filter-row {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

/* line 1281, app/assets/stylesheets/milo/dashboard.scss */
.mp-filter-row .mp-input-wrap {
  width: 260px;
}

/* =====================================================================
   Actions dropdown
   ===================================================================== */
/* line 1287, app/assets/stylesheets/milo/dashboard.scss */
.mp-actions {
  position: relative;
  display: inline-block;
}

/* line 1291, app/assets/stylesheets/milo/dashboard.scss */
.mp-actions__trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: 32px;
  padding: 0 12px;
  background: #fff;
  border: 1px solid var(--border-subtle);
  border-radius: 8px;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--fg-2);
  cursor: pointer;
  transition: background 120ms, color 120ms, border-color 120ms;
}

/* line 1307, app/assets/stylesheets/milo/dashboard.scss */
.mp-actions__trigger:hover {
  background: var(--bg-2);
  color: var(--fg-1);
  border-color: var(--border-strong);
}

/* line 1313, app/assets/stylesheets/milo/dashboard.scss */
.mp-actions__trigger--icon {
  width: 32px;
  padding: 0;
  color: var(--fg-3);
}

/* line 1320, app/assets/stylesheets/milo/dashboard.scss */
.mp-actions__menu {
  position: absolute;
  top: calc(100% + 6px);
  z-index: 50;
  min-width: 180px;
  background: #fff;
  border: 1px solid var(--border-subtle);
  border-radius: 10px;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.1);
  padding: 6px;
  display: flex;
  flex-direction: column;
}

/* line 1333, app/assets/stylesheets/milo/dashboard.scss */
.mp-actions__menu--right {
  right: 0;
}

/* line 1334, app/assets/stylesheets/milo/dashboard.scss */
.mp-actions__menu--left {
  left: 0;
}

/* line 1337, app/assets/stylesheets/milo/dashboard.scss */
.mp-actions__item {
  display: block;
  padding: 8px 10px;
  font-size: 13px;
  color: var(--fg-1);
  border-radius: 7px;
  white-space: nowrap;
  text-decoration: none;
  text-align: left;
  background: transparent;
  border: 0;
  cursor: pointer;
  width: 100%;
}

/* line 1351, app/assets/stylesheets/milo/dashboard.scss */
.mp-actions__item:hover {
  background: var(--bg-2);
}

/* line 1354, app/assets/stylesheets/milo/dashboard.scss */
.mp-actions__note {
  padding: 8px 10px;
  font-size: 12px;
  color: var(--fg-3);
}

/* =====================================================================
   Pagination
   ===================================================================== */
/* line 1364, app/assets/stylesheets/milo/dashboard.scss */
.mp-pagination,
.milo .pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  margin-top: 12px;
  font-family: var(--font-sans);
}

/* line 1373, app/assets/stylesheets/milo/dashboard.scss */
.mp-pagination a, .mp-pagination em, .mp-pagination span,
.milo .pagination a,
.milo .pagination em,
.milo .pagination span {
  min-width: 30px;
  height: 30px;
  padding: 0 10px;
  background: #fff;
  border: 1px solid var(--border-subtle);
  border-radius: 8px;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--fg-2);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background 120ms;
}

/* line 1390, app/assets/stylesheets/milo/dashboard.scss */
.mp-pagination a:hover,
.milo .pagination a:hover {
  background: var(--bg-2);
  color: var(--fg-1);
}

/* line 1395, app/assets/stylesheets/milo/dashboard.scss */
.mp-pagination em.current,
.mp-pagination .current,
.milo .pagination em.current,
.milo .pagination .current {
  background: var(--mp-deep-forest);
  color: #fff;
  border-color: var(--mp-deep-forest);
  font-style: normal;
}

/* line 1403, app/assets/stylesheets/milo/dashboard.scss */
.mp-pagination .disabled,
.milo .pagination .disabled {
  opacity: 0.4;
}

/* =====================================================================
   Empty states
   ===================================================================== */
/* line 1411, app/assets/stylesheets/milo/dashboard.scss */
.mp-empty {
  padding: 56px 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 8px;
}

/* line 1419, app/assets/stylesheets/milo/dashboard.scss */
.mp-empty__ic-flat {
  color: var(--mp-pine);
  margin-bottom: 6px;
}

/* line 1424, app/assets/stylesheets/milo/dashboard.scss */
.mp-empty__title {
  font-size: 14px;
  font-weight: 700;
  color: var(--fg-1);
}

/* line 1430, app/assets/stylesheets/milo/dashboard.scss */
.mp-empty__msg {
  font-size: 13px;
  color: var(--fg-3);
  max-width: 320px;
}

/* =====================================================================
   Page-level tabs
   ===================================================================== */
/* line 1440, app/assets/stylesheets/milo/dashboard.scss */
.mp-page-tabs {
  display: flex;
  gap: 4px;
  border-bottom: 1px solid var(--border-subtle);
  margin-top: -8px;
}

/* line 1447, app/assets/stylesheets/milo/dashboard.scss */
.mp-page-tab {
  background: none;
  border: none;
  padding: 12px 18px;
  font-family: var(--font-sans);
  font-size: 14px;
  font-weight: 600;
  color: var(--fg-3);
  cursor: pointer;
  position: relative;
  margin-bottom: -1px;
  transition: color 140ms;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

/* line 1464, app/assets/stylesheets/milo/dashboard.scss */
.mp-page-tab:hover {
  color: var(--fg-1);
}

/* line 1466, app/assets/stylesheets/milo/dashboard.scss */
.mp-page-tab.is-active {
  color: var(--mp-deep-forest);
}

/* line 1469, app/assets/stylesheets/milo/dashboard.scss */
.mp-page-tab.is-active::after {
  content: "";
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: -1px;
  height: 2.5px;
  background: var(--mp-deep-forest);
  border-radius: 2px 2px 0 0;
}

/* =====================================================================
   Tabs (pill segmented)
   ===================================================================== */
/* line 1483, app/assets/stylesheets/milo/dashboard.scss */
.mp-tabs {
  display: inline-flex;
  background: var(--bg-2);
  border: 1px solid var(--border-subtle);
  border-radius: 10px;
  padding: 4px;
  gap: 4px;
}

/* line 1492, app/assets/stylesheets/milo/dashboard.scss */
.mp-tab {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 14px;
  background: none;
  border: none;
  cursor: pointer;
  font-size: 13px;
  font-weight: 600;
  color: var(--fg-3);
  border-radius: 7px;
}

/* line 1505, app/assets/stylesheets/milo/dashboard.scss */
.mp-tab:hover {
  color: var(--fg-1);
}

/* line 1507, app/assets/stylesheets/milo/dashboard.scss */
.mp-tab.is-active {
  background: #fff;
  color: var(--fg-1);
  box-shadow: var(--shadow-soft);
}

/* =====================================================================
   Sustainability commitment band
   ===================================================================== */
/* line 1517, app/assets/stylesheets/milo/dashboard.scss */
.mp-commit {
  display: grid;
  grid-template-columns: 96px 1fr;
  gap: 28px;
  align-items: center;
  background: var(--grad-feature-mint, linear-gradient(160.9deg, #99efae 7.3%, #94ceb7 109.8%));
  /* Matches .mp-card so the dashboard rhythm is consistent edge-to-edge. */
  border-radius: 16px;
  padding: 32px 36px;
}

/* line 1527, app/assets/stylesheets/milo/dashboard.scss */
.mp-commit__icon {
  width: 96px;
  height: 96px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.55);
  color: var(--mp-deep-forest);
  display: flex;
  align-items: center;
  justify-content: center;
}

/* line 1535, app/assets/stylesheets/milo/dashboard.scss */
.mp-commit__title {
  font-size: 18px;
  font-weight: 700;
  color: var(--mp-deep-forest);
  margin: 0 0 6px;
}

/* line 1542, app/assets/stylesheets/milo/dashboard.scss */
.mp-commit__body {
  font-size: 13.5px;
  color: var(--mp-deep-forest);
  opacity: 0.85;
  line-height: 1.6;
  margin: 0;
}

@media (max-width: 720px) {
  /* line 1552, app/assets/stylesheets/milo/dashboard.scss */
  .mp-commit {
    grid-template-columns: 1fr;
    text-align: center;
  }
  /* line 1553, app/assets/stylesheets/milo/dashboard.scss */
  .mp-commit__icon {
    margin: 0 auto;
  }
}

/* =====================================================================
   Section subhead
   ===================================================================== */
/* line 1559, app/assets/stylesheets/milo/dashboard.scss */
.mp-subhead {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}

/* line 1566, app/assets/stylesheets/milo/dashboard.scss */
.mp-subhead__title {
  font-size: 22px;
  font-weight: 700;
  letter-spacing: -0.015em;
  color: var(--mp-deep-forest);
  margin: 0;
}

/* line 1574, app/assets/stylesheets/milo/dashboard.scss */
.mp-subhead__aside {
  display: flex;
  gap: 10px;
}

/* =====================================================================
   Profile detail block (SIM show / User show)
   ===================================================================== */
/* line 1580, app/assets/stylesheets/milo/dashboard.scss */
.mp-profile-block {
  background: var(--bg-2);
  border-radius: 14px;
  padding: 22px;
}

/* line 1586, app/assets/stylesheets/milo/dashboard.scss */
.mp-profile-block__row {
  display: flex;
  align-items: center;
  gap: 22px;
}

/* line 1592, app/assets/stylesheets/milo/dashboard.scss */
.mp-profile-block__avatar {
  width: 86px;
  height: 86px;
  border-radius: 50%;
  background: var(--mp-mist);
  color: var(--mp-deep-forest);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  font-weight: 700;
}

/* line 1604, app/assets/stylesheets/milo/dashboard.scss */
.mp-profile-block__name {
  font-size: 20px;
  font-weight: 700;
  color: var(--fg-1);
  letter-spacing: -0.01em;
}

/* line 1611, app/assets/stylesheets/milo/dashboard.scss */
.mp-profile-block__name-email {
  color: var(--fg-3);
  font-weight: 500;
  font-size: 16px;
}

/* line 1617, app/assets/stylesheets/milo/dashboard.scss */
.mp-profile-block__sims {
  display: flex;
  gap: 10px;
  margin-top: 10px;
  flex-wrap: wrap;
}

/* line 1624, app/assets/stylesheets/milo/dashboard.scss */
.mp-profile-block__sim {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

/* line 1630, app/assets/stylesheets/milo/dashboard.scss */
.mp-profile-block__sim-msisdn {
  font-size: 13px;
  color: var(--fg-2);
  font-weight: 600;
}

/* line 1636, app/assets/stylesheets/milo/dashboard.scss */
.mp-profile-block__meta {
  font-size: 13px;
  color: var(--fg-3);
  margin-top: 4px;
}

/* line 1642, app/assets/stylesheets/milo/dashboard.scss */
.mp-kv__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px 24px;
}

/* line 1648, app/assets/stylesheets/milo/dashboard.scss */
.mp-kv__label {
  font-size: 12px;
  color: var(--fg-3);
  margin-bottom: 4px;
  font-weight: 500;
}

/* line 1655, app/assets/stylesheets/milo/dashboard.scss */
.mp-kv__value {
  font-size: 14px;
  font-weight: 600;
  color: var(--fg-1);
}

/* line 1660, app/assets/stylesheets/milo/dashboard.scss */
.mp-kv__value--ok {
  color: var(--mp-pine);
}

/* line 1661, app/assets/stylesheets/milo/dashboard.scss */
.mp-kv__value--ember {
  color: var(--mp-ember);
}

/* line 1664, app/assets/stylesheets/milo/dashboard.scss */
.mp-kv__row {
  display: flex;
  justify-content: space-between;
  padding: 5px 0;
  font-size: 13px;
}

/* line 1670, app/assets/stylesheets/milo/dashboard.scss */
.mp-kv__row > :first-child {
  color: var(--fg-3);
}

/* line 1671, app/assets/stylesheets/milo/dashboard.scss */
.mp-kv__row > :last-child {
  font-weight: 600;
  color: var(--fg-1);
}

/* =====================================================================
   QR display
   ===================================================================== */
/* line 1677, app/assets/stylesheets/milo/dashboard.scss */
.mp-qr {
  background: var(--bg-2);
  border-radius: 14px;
  padding: 22px;
  display: flex;
  gap: 22px;
  align-items: center;
}

/* line 1685, app/assets/stylesheets/milo/dashboard.scss */
.mp-qr__img {
  width: 140px;
  height: 140px;
  background: #fff;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: var(--shadow-card);
}

/* line 1694, app/assets/stylesheets/milo/dashboard.scss */
.mp-qr__img img {
  max-width: 120px;
  max-height: 120px;
}

/* =====================================================================
   Need-more-help right rail
   ===================================================================== */
/* line 1701, app/assets/stylesheets/milo/dashboard.scss */
.mp-help-card {
  padding: 20px 22px;
}

/* line 1705, app/assets/stylesheets/milo/dashboard.scss */
.mp-help-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 10px;
}

/* line 1712, app/assets/stylesheets/milo/dashboard.scss */
.mp-help-link {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  background: var(--bg-2);
  border: 1px solid var(--border-subtle);
  border-radius: 10px;
  font-size: 13px;
  font-weight: 600;
  color: var(--fg-1);
  transition: background 120ms;
  text-decoration: none;
  text-align: left;
  width: 100%;
  cursor: pointer;
}

/* line 1729, app/assets/stylesheets/milo/dashboard.scss */
.mp-help-link:hover {
  background: var(--mp-mist);
  border-color: transparent;
}

/* line 1734, app/assets/stylesheets/milo/dashboard.scss */
.mp-help-link .mp-ic {
  color: var(--mp-pine);
}

/* line 1737, app/assets/stylesheets/milo/dashboard.scss */
.mp-help-link--button {
  font-family: inherit;
  font-size: 13px;
}

/* line 1742, app/assets/stylesheets/milo/dashboard.scss */
.mp-help-link__body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

/* line 1749, app/assets/stylesheets/milo/dashboard.scss */
.mp-help-link__sub {
  font-weight: 400;
  font-size: 11.5px;
  color: var(--fg-3);
}

/* line 1755, app/assets/stylesheets/milo/dashboard.scss */
.mp-help-link__end {
  margin-left: auto;
  color: var(--fg-3) !important;
}

/* line 1760, app/assets/stylesheets/milo/dashboard.scss */
.mp-help-card__intro {
  font-size: 12.5px;
  color: var(--fg-3);
  margin-top: 6px;
}

/* Card head with a leading icon (used on Subscriptions index Payment block). */
/* line 1767, app/assets/stylesheets/milo/dashboard.scss */
.mp-card__head--with-icon {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  font-size: 15px;
  font-weight: 700;
}

/* Subscription cards stacked list. */
/* line 1777, app/assets/stylesheets/milo/dashboard.scss */
.mp-sub-card-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* line 1783, app/assets/stylesheets/milo/dashboard.scss */
.mp-sub-card__chevron {
  color: var(--fg-3);
}

/* Group of buttons inline (used on Payment & Invoices block). */
/* line 1786, app/assets/stylesheets/milo/dashboard.scss */
.mp-button-row {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

/* "Upgrade in progress" notice banner. */
/* line 1793, app/assets/stylesheets/milo/dashboard.scss */
.mp-upgrade-banner {
  background: rgba(229, 184, 46, 0.1);
  border: 1px solid rgba(229, 184, 46, 0.3);
  border-radius: 12px;
  padding: 14px 18px;
  display: flex;
  gap: 12px;
  align-items: flex-start;
}

/* line 1803, app/assets/stylesheets/milo/dashboard.scss */
.mp-upgrade-banner__icon {
  color: #b97a13;
}

/* line 1805, app/assets/stylesheets/milo/dashboard.scss */
.mp-upgrade-banner__title {
  font-weight: 700;
  color: var(--mp-deep-forest);
  margin: 0;
}

/* line 1811, app/assets/stylesheets/milo/dashboard.scss */
.mp-upgrade-banner__body {
  font-size: 13px;
  color: var(--fg-2);
  margin: 4px 0 0;
  line-height: 1.55;
}

/* Stacked SIM-row list. */
/* line 1819, app/assets/stylesheets/milo/dashboard.scss */
.mp-sim-row-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* line 1825, app/assets/stylesheets/milo/dashboard.scss */
.mp-sim-row__body {
  min-width: 0;
}

/* line 1827, app/assets/stylesheets/milo/dashboard.scss */
.mp-sim-row__id-row {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

/* line 1834, app/assets/stylesheets/milo/dashboard.scss */
.mp-upgrade-page {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding-bottom: 120px;
}

/* line 1841, app/assets/stylesheets/milo/dashboard.scss */
.mp-mb-4 {
  margin-bottom: 16px;
}

/* line 1843, app/assets/stylesheets/milo/dashboard.scss */
.mp-plan-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 16px;
}

/* line 1849, app/assets/stylesheets/milo/dashboard.scss */
.mp-plan-grid__note {
  display: flex;
  justify-content: center;
  margin-top: 18px;
  font-size: 13px;
  color: var(--fg-3);
}

/* line 1857, app/assets/stylesheets/milo/dashboard.scss */
.mp-plan-card__cta {
  width: 100%;
  justify-content: center;
}

/* line 1862, app/assets/stylesheets/milo/dashboard.scss */
.mp-section-subhead__body {
  font-size: 13px;
  color: var(--fg-3);
  margin: 4px 0 0;
}

/* line 1868, app/assets/stylesheets/milo/dashboard.scss */
.mp-sim-pick-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* Upgrade sticky bar internals. */
/* line 1875, app/assets/stylesheets/milo/dashboard.scss */
.mp-upgrade-bar__meta {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

/* line 1882, app/assets/stylesheets/milo/dashboard.scss */
.mp-upgrade-bar__icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--mp-mist);
  color: var(--mp-pine);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

/* line 1894, app/assets/stylesheets/milo/dashboard.scss */
.mp-upgrade-bar__text {
  font-size: 14px;
  font-weight: 700;
  color: var(--fg-1);
  margin: 0;
}

/* line 1901, app/assets/stylesheets/milo/dashboard.scss */
.mp-upgrade-bar__actions {
  display: flex;
  align-items: center;
  gap: 16px;
}

/* line 1907, app/assets/stylesheets/milo/dashboard.scss */
.mp-upgrade-bar__totals {
  text-align: right;
}

/* line 1911, app/assets/stylesheets/milo/dashboard.scss */
.mp-upgrade-bar__monthly {
  font-size: 16px;
  font-weight: 700;
  color: var(--fg-1);
  margin: 0;
}

/* line 1918, app/assets/stylesheets/milo/dashboard.scss */
.mp-upgrade-bar__prorated {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: var(--fg-3);
}

/* line 1924, app/assets/stylesheets/milo/dashboard.scss */
.mp-upgrade-bar__prorated p {
  font-size: 12px;
  color: var(--fg-3);
  margin: 0;
}

/* Upgrade confirmation modal body. */
/* line 1932, app/assets/stylesheets/milo/dashboard.scss */
.mp-upgrade-modal__body {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 16px 0;
}

/* line 1939, app/assets/stylesheets/milo/dashboard.scss */
.mp-upgrade-modal__monthly {
  font-size: 14px;
  color: var(--fg-3);
  margin: 0;
}

/* line 1945, app/assets/stylesheets/milo/dashboard.scss */
.mp-upgrade-modal__alert {
  border: 1px solid var(--mp-mist);
  background: rgba(196, 245, 220, 0.4);
  border-radius: 10px;
  padding: 12px;
  font-size: 13px;
  color: var(--fg-1);
}

/* Transfer existing number — outer page wrap + success screen layout. */
/* line 1955, app/assets/stylesheets/milo/dashboard.scss */
.mp-transfer-wrap {
  max-width: 760px;
}

/* line 1957, app/assets/stylesheets/milo/dashboard.scss */
.mp-section-heading--mb {
  margin-bottom: 14px;
}

/* line 1959, app/assets/stylesheets/milo/dashboard.scss */
.mp-kv__value--breakable {
  word-break: break-all;
}

/* line 1961, app/assets/stylesheets/milo/dashboard.scss */
.mp-kv__label--pine {
  color: var(--mp-pine);
}

/* line 1963, app/assets/stylesheets/milo/dashboard.scss */
.mp-datepicker-trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  text-align: left;
  cursor: pointer;
}

/* line 1972, app/assets/stylesheets/milo/dashboard.scss */
.mp-datepicker-trigger__icon {
  color: var(--fg-3);
}

/* line 1974, app/assets/stylesheets/milo/dashboard.scss */
.mp-field--datepicker {
  position: relative;
}

/* line 1976, app/assets/stylesheets/milo/dashboard.scss */
.mp-btn--block {
  width: 100%;
  justify-content: center;
}

/* line 1981, app/assets/stylesheets/milo/dashboard.scss */
.mp-transfer-success {
  text-align: center;
  padding: 40px 32px;
}

/* line 1986, app/assets/stylesheets/milo/dashboard.scss */
.mp-transfer-success__icon {
  margin: 0 auto 22px;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: var(--mp-mist);
  color: var(--mp-pine);
  display: flex;
  align-items: center;
  justify-content: center;
}

/* line 1998, app/assets/stylesheets/milo/dashboard.scss */
.mp-transfer-success__title {
  font-size: 26px;
  font-weight: 700;
  color: var(--mp-deep-forest);
  letter-spacing: -0.02em;
  margin: 14px 0 12px;
}

/* line 2006, app/assets/stylesheets/milo/dashboard.scss */
.mp-transfer-success__body {
  font-size: 14px;
  color: var(--fg-2);
  line-height: 1.6;
  margin: 0 0 28px;
}

/* line 2013, app/assets/stylesheets/milo/dashboard.scss */
.mp-transfer-success__note {
  font-size: 13px;
  color: var(--fg-3);
  margin: 0 0 24px;
}

/* line 2019, app/assets/stylesheets/milo/dashboard.scss */
.mp-transfer-summary {
  text-align: left;
  margin-bottom: 18px;
}

/* line 2024, app/assets/stylesheets/milo/dashboard.scss */
.mp-transfer-summary__holder {
  margin-bottom: 18px;
}

/* line 2026, app/assets/stylesheets/milo/dashboard.scss */
.mp-transfer-summary__grid {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 18px;
  align-items: center;
}

/* line 2033, app/assets/stylesheets/milo/dashboard.scss */
.mp-transfer-summary__arrow {
  color: var(--mp-pine);
  display: flex;
  justify-content: center;
}

/* line 2039, app/assets/stylesheets/milo/dashboard.scss */
.mp-transfer-summary__caption {
  font-size: 11.5px;
  color: var(--fg-3);
  margin: 4px 0 0;
}

/* line 2045, app/assets/stylesheets/milo/dashboard.scss */
.mp-transfer-summary__footnote {
  font-size: 12px;
  color: var(--fg-3);
  line-height: 1.55;
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px dashed var(--border-subtle);
}

/* Support ticket comment thread. */
/* line 2055, app/assets/stylesheets/milo/dashboard.scss */
.mp-comment {
  border-left: 4px solid var(--border-subtle);
  border-radius: 0 10px 10px 0;
  padding: 14px 16px;
  background: #fff;
}

/* line 2061, app/assets/stylesheets/milo/dashboard.scss */
.mp-comment--support {
  border-left-color: var(--mp-pine);
  background: var(--bg-2);
}

/* line 2067, app/assets/stylesheets/milo/dashboard.scss */
.mp-comment__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 6px;
}

/* line 2074, app/assets/stylesheets/milo/dashboard.scss */
.mp-comment__author {
  display: flex;
  align-items: center;
  gap: 10px;
}

/* line 2080, app/assets/stylesheets/milo/dashboard.scss */
.mp-comment__author-name {
  margin: 0;
  font-weight: 600;
  color: var(--fg-1);
  font-size: 13px;
}

/* line 2087, app/assets/stylesheets/milo/dashboard.scss */
.mp-comment__date {
  margin: 0;
  font-size: 12px;
  color: var(--fg-3);
}

/* line 2093, app/assets/stylesheets/milo/dashboard.scss */
.mp-comment__body {
  color: var(--fg-2);
  font-size: 13.5px;
  line-height: 1.6;
}

/* line 2099, app/assets/stylesheets/milo/dashboard.scss */
.mp-comment__attachments {
  display: flex;
  gap: 12px;
  padding-top: 12px;
  flex-wrap: wrap;
}

/* line 2106, app/assets/stylesheets/milo/dashboard.scss */
.mp-comment__empty {
  font-size: 13px;
  color: var(--fg-3);
  margin: 0;
}

/* line 2112, app/assets/stylesheets/milo/dashboard.scss */
.mp-comment-list {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-top: 10px;
}

/* Attachment cards (comment + ticket attachments). */
/* line 2120, app/assets/stylesheets/milo/dashboard.scss */
.mp-attachment {
  border: 1px solid var(--border-subtle);
  border-radius: 10px;
  padding: 10px 12px;
  display: flex;
  align-items: center;
  gap: 10px;
  background: #fff;
}

/* line 2129, app/assets/stylesheets/milo/dashboard.scss */
.mp-attachment--card {
  padding: 12px;
  background: var(--bg-1);
}

/* line 2135, app/assets/stylesheets/milo/dashboard.scss */
.mp-attachment__icon {
  color: var(--mp-ember);
}

/* line 2137, app/assets/stylesheets/milo/dashboard.scss */
.mp-attachment__name {
  margin: 0;
  font-size: 13px;
  font-weight: 600;
}

/* line 2143, app/assets/stylesheets/milo/dashboard.scss */
.mp-attachment__size {
  margin: 2px 0 0;
  font-size: 11px;
  color: var(--fg-3);
}

/* line 2149, app/assets/stylesheets/milo/dashboard.scss */
.mp-attachment__link {
  font-size: 12px;
  color: var(--mp-pine);
  font-weight: 600;
}

/* line 2155, app/assets/stylesheets/milo/dashboard.scss */
.mp-attachments-block {
  margin-bottom: 8px;
}

/* line 2157, app/assets/stylesheets/milo/dashboard.scss */
.mp-attachments-list {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

/* line 2163, app/assets/stylesheets/milo/dashboard.scss */
.mp-attachments-empty {
  font-size: 13px;
  color: var(--fg-3);
  margin: 0;
}

/* Ticket header strip (top of card). */
/* line 2170, app/assets/stylesheets/milo/dashboard.scss */
.mp-ticket-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 22px;
  background: var(--bg-2);
  border-bottom: 1px solid var(--border-subtle);
}

/* line 2179, app/assets/stylesheets/milo/dashboard.scss */
.mp-ticket-header__title {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  color: var(--mp-deep-forest);
  letter-spacing: -0.01em;
}

/* line 2187, app/assets/stylesheets/milo/dashboard.scss */
.mp-ticket-header__meta {
  margin: 4px 0 0;
  font-size: 12px;
  color: var(--fg-3);
}

/* Field used as a read-only display panel inside a form. */
/* line 2194, app/assets/stylesheets/milo/dashboard.scss */
.mp-field__readonly {
  margin: 0;
  padding: 10px 14px;
  background: var(--bg-2);
  border: 1px solid var(--border-subtle);
  border-radius: 9px;
  font-size: 14px;
  color: var(--fg-1);
}

/* Form stack variant without the top padding. */
/* line 2205, app/assets/stylesheets/milo/dashboard.scss */
.mp-form-stack--no-pad {
  padding-top: 0;
}

/* Form footer with right-aligned submit + top divider. */
/* line 2208, app/assets/stylesheets/milo/dashboard.scss */
.mp-form-footer {
  display: flex;
  justify-content: flex-end;
  padding-top: 14px;
  border-top: 1px solid var(--border-subtle);
}

/* Section subheading tighter bottom margin modifier. */
/* line 2216, app/assets/stylesheets/milo/dashboard.scss */
.mp-section-subheading--mb-sm {
  margin-bottom: 8px;
}

/* Generic meta list (key/value lines, one per row). */
/* line 2219, app/assets/stylesheets/milo/dashboard.scss */
.mp-meta-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

/* line 2225, app/assets/stylesheets/milo/dashboard.scss */
.mp-meta-list__row {
  margin: 0;
  font-size: 13px;
}

/* line 2230, app/assets/stylesheets/milo/dashboard.scss */
.mp-meta-list__key {
  color: var(--fg-3);
  font-weight: 500;
}

/* Profile block variant used as a quoted-content card. */
/* line 2236, app/assets/stylesheets/milo/dashboard.scss */
.mp-profile-block--quote {
  padding: 14px 16px;
}

/* line 2238, app/assets/stylesheets/milo/dashboard.scss */
.mp-reply-form {
  margin-top: 28px;
  padding-top: 22px;
  border-top: 1px solid var(--border-subtle);
}

/* line 2244, app/assets/stylesheets/milo/dashboard.scss */
.mp-reply-form__actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 12px;
}

/* line 2250, app/assets/stylesheets/milo/dashboard.scss */
.mp-empty__cta-row {
  text-align: center;
  padding-bottom: 32px;
}

/* =====================================================================
   Subscription cards
   ===================================================================== */
/* line 2258, app/assets/stylesheets/milo/dashboard.scss */
.mp-sub-card {
  background: #fff;
  border: 1px solid var(--border-subtle);
  border-radius: 14px;
  padding: 20px 22px;
  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: center;
  gap: 16px;
  cursor: pointer;
  transition: background 120ms, box-shadow 160ms;
  text-decoration: none;
  color: inherit;
}

/* line 2272, app/assets/stylesheets/milo/dashboard.scss */
.mp-sub-card:hover {
  background: var(--bg-2);
  box-shadow: var(--shadow-card-hover);
}

/* line 2277, app/assets/stylesheets/milo/dashboard.scss */
.mp-sub-card__title {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 16px;
  font-weight: 600;
  color: var(--fg-1);
}

/* line 2286, app/assets/stylesheets/milo/dashboard.scss */
.mp-sub-card__meta {
  display: flex;
  gap: 18px;
  font-size: 12.5px;
  color: var(--fg-3);
  margin-top: 6px;
  flex-wrap: wrap;
}

/* line 2294, app/assets/stylesheets/milo/dashboard.scss */
.mp-sub-card__meta span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

/* line 2301, app/assets/stylesheets/milo/dashboard.scss */
.mp-sub-card__price {
  font-size: 22px;
  font-weight: 700;
  color: var(--fg-1);
  text-align: right;
  letter-spacing: -0.01em;
}

/* line 2308, app/assets/stylesheets/milo/dashboard.scss */
.mp-sub-card__price small {
  font-size: 12px;
  font-weight: 500;
  color: var(--fg-3);
  display: block;
  margin-top: 2px;
}

/* SIM row inside subscription detail */
/* line 2319, app/assets/stylesheets/milo/dashboard.scss */
.mp-sim-row {
  background: #fff;
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
  padding: 16px 20px;
  display: grid;
  /* Four columns: SIM info | usage (or unlimited pill) | price | action.
     min-widths keep usage column from collapsing under long phone numbers. */
  grid-template-columns: minmax(230px, 1.2fr) minmax(210px, 1fr) 120px 132px;
  gap: 24px;
  align-items: center;
  transition: background 120ms;
}

/* line 2332, app/assets/stylesheets/milo/dashboard.scss */
.mp-sim-row:hover {
  background: var(--bg-2);
}

/* line 2334, app/assets/stylesheets/milo/dashboard.scss */
.mp-sim-row__left {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

/* line 2341, app/assets/stylesheets/milo/dashboard.scss */
.mp-sim-row__body {
  min-width: 0;
}

/* line 2343, app/assets/stylesheets/milo/dashboard.scss */
.mp-sim-row__id {
  font-weight: 600;
  color: var(--fg-1);
  font-size: 14px;
  text-decoration: none;
}

/* line 2349, app/assets/stylesheets/milo/dashboard.scss */
.mp-sim-row__id:hover {
  color: var(--mp-pine);
  text-decoration: underline;
}

/* line 2355, app/assets/stylesheets/milo/dashboard.scss */
.mp-sim-row__sub {
  font-size: 12px;
  color: var(--fg-3);
  margin-top: 2px;
}

/* line 2361, app/assets/stylesheets/milo/dashboard.scss */
.mp-sim-row__user {
  color: var(--mp-pine);
  font-weight: 700;
  text-decoration: none;
}

/* line 2366, app/assets/stylesheets/milo/dashboard.scss */
.mp-sim-row__user:hover {
  text-decoration: underline;
}

/* line 2369, app/assets/stylesheets/milo/dashboard.scss */
.mp-sim-row__unassigned {
  color: var(--fg-3);
}

/* line 2371, app/assets/stylesheets/milo/dashboard.scss */
.mp-sim-row__data {
  min-width: 0;
}

/* line 2373, app/assets/stylesheets/milo/dashboard.scss */
.mp-sim-row__unlimited {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 13px;
  font-weight: 600;
  color: var(--fg-2);
}

/* line 2381, app/assets/stylesheets/milo/dashboard.scss */
.mp-sim-row__unlimited .mp-ic {
  color: var(--mp-pine);
}

/* line 2384, app/assets/stylesheets/milo/dashboard.scss */
.mp-sim-row__usage-label {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  font-size: 11.5px;
  color: var(--fg-3);
  margin-bottom: 5px;
}

/* line 2392, app/assets/stylesheets/milo/dashboard.scss */
.mp-sim-row__usage-label strong {
  color: var(--fg-1);
  font-weight: 600;
  white-space: nowrap;
}

/* line 2395, app/assets/stylesheets/milo/dashboard.scss */
.mp-sim-row__price {
  font-size: 17px;
  font-weight: 800;
  color: var(--fg-1);
  white-space: nowrap;
  text-align: right;
}

/* line 2402, app/assets/stylesheets/milo/dashboard.scss */
.mp-sim-row__price small {
  font-size: 12px;
  font-weight: 500;
  color: var(--fg-3);
}

/* line 2409, app/assets/stylesheets/milo/dashboard.scss */
.mp-sim-row__action {
  display: flex;
  justify-content: flex-end;
}

@media (max-width: 1100px) {
  /* line 2416, app/assets/stylesheets/milo/dashboard.scss */
  .mp-sub-card {
    grid-template-columns: 1fr;
  }
  /* line 2417, app/assets/stylesheets/milo/dashboard.scss */
  .mp-sim-row {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  /* line 2418, app/assets/stylesheets/milo/dashboard.scss */
  .mp-sim-row__price, .mp-sim-row__action {
    text-align: left;
    justify-content: flex-start;
  }
}

/* =====================================================================
   FAQ accordion
   ===================================================================== */
/* line 2424, app/assets/stylesheets/milo/dashboard.scss */
.mp-faq__intro {
  padding: 24px 26px 8px;
}

/* line 2428, app/assets/stylesheets/milo/dashboard.scss */
.mp-faq__intro-meta {
  font-size: 12.5px;
  color: var(--fg-3);
  margin-top: 6px;
}

/* line 2434, app/assets/stylesheets/milo/dashboard.scss */
.mp-faq__intro-body {
  font-size: 13.5px;
  color: var(--fg-2);
  margin-top: 10px;
  line-height: 1.6;
}

/* line 2441, app/assets/stylesheets/milo/dashboard.scss */
.mp-faq__group {
  margin-top: 8px;
}

/* line 2443, app/assets/stylesheets/milo/dashboard.scss */
.mp-faq__group-title {
  font-size: 18px;
  font-weight: 700;
  padding: 18px 22px 6px;
  color: var(--fg-1);
}

/* line 2450, app/assets/stylesheets/milo/dashboard.scss */
.mp-faq__trigger--static {
  cursor: default;
}

/* line 2452, app/assets/stylesheets/milo/dashboard.scss */
.mp-faq__body-inner {
  padding-top: 2px;
}

/* line 2454, app/assets/stylesheets/milo/dashboard.scss */
.mp-faq__item {
  border-top: 1px solid var(--border-subtle);
  padding: 0 22px;
}

/* line 2459, app/assets/stylesheets/milo/dashboard.scss */
.mp-faq__item.is-open .mp-faq__trigger .mp-ic {
  transform: rotate(180deg);
  color: var(--mp-pine);
}

/* line 2464, app/assets/stylesheets/milo/dashboard.scss */
.mp-faq__item.is-open .mp-faq__body {
  max-height: 1500px;
  padding-bottom: 18px;
}

/* line 2471, app/assets/stylesheets/milo/dashboard.scss */
.mp-faq__trigger {
  width: 100%;
  background: none;
  border: none;
  padding: 16px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  font-size: 14.5px;
  font-weight: 600;
  color: var(--fg-1);
  text-align: left;
  cursor: pointer;
}

/* line 2486, app/assets/stylesheets/milo/dashboard.scss */
.mp-faq__trigger .mp-ic {
  color: var(--fg-3);
  transition: transform 200ms;
  flex-shrink: 0;
}

/* line 2493, app/assets/stylesheets/milo/dashboard.scss */
.mp-faq__body {
  max-height: 0;
  overflow: hidden;
  transition: max-height 250ms ease;
  font-size: 13.5px;
  color: var(--fg-3);
  line-height: 1.65;
  /* Inline content from the FAQ data */
}

/* line 2502, app/assets/stylesheets/milo/dashboard.scss */
.mp-faq__body p {
  margin: 0 0 10px;
}

/* line 2503, app/assets/stylesheets/milo/dashboard.scss */
.mp-faq__body ul, .mp-faq__body ol {
  margin: 0 0 10px;
  padding-left: 20px;
}

/* line 2504, app/assets/stylesheets/milo/dashboard.scss */
.mp-faq__body ul {
  list-style: disc;
}

/* line 2505, app/assets/stylesheets/milo/dashboard.scss */
.mp-faq__body ol {
  list-style: decimal;
}

/* line 2506, app/assets/stylesheets/milo/dashboard.scss */
.mp-faq__body table {
  border-collapse: collapse;
  margin: 10px 0;
  width: 100%;
  font-size: 12.5px;
}

/* line 2512, app/assets/stylesheets/milo/dashboard.scss */
.mp-faq__body table th, .mp-faq__body table td {
  border: 1px solid var(--border-subtle);
  padding: 6px 8px;
  text-align: left;
}

/* line 2518, app/assets/stylesheets/milo/dashboard.scss */
.mp-faq__body table thead {
  background: var(--mp-mist);
  color: var(--mp-deep-forest);
}

/* line 2523, app/assets/stylesheets/milo/dashboard.scss */
.mp-faq__body code {
  background: var(--bg-2);
  padding: 2px 5px;
  border: 1px solid var(--border-subtle);
  border-radius: 4px;
  font-size: 12px;
}

/* =====================================================================
   Emissions chart (inline SVG, hand-rolled per design)
   Colours are set as SVG attributes inside the partial — CSS variables don't
   resolve in SVG presentation attributes (e.g. `stop-color`), so we keep this
   stylesheet to layout-only concerns.
   ===================================================================== */
/* line 2538, app/assets/stylesheets/milo/dashboard.scss */
.mp-chart {
  padding: 4px 0;
  position: relative;
}

/* line 2542, app/assets/stylesheets/milo/dashboard.scss */
.mp-chart svg {
  width: 100%;
  height: auto;
  display: block;
  overflow: visible;
}

/* line 2550, app/assets/stylesheets/milo/dashboard.scss */
.mp-chart__empty {
  font-size: 13px;
  color: var(--fg-3);
  margin: 0;
}

/* =====================================================================
   Donut chart — Emissions by Category
   Inline SVG donut with center total + side legend. Dot colours mirror
   Milo::EmissionsCategoryChartPresenter::SEGMENT_COLORS by index.
   ===================================================================== */
/* line 2561, app/assets/stylesheets/milo/dashboard.scss */
.mp-donut {
  display: flex;
  gap: 32px;
  align-items: center;
  flex-wrap: wrap;
}

/* line 2568, app/assets/stylesheets/milo/dashboard.scss */
.mp-donut__chart {
  position: relative;
  flex-shrink: 0;
}

/* line 2573, app/assets/stylesheets/milo/dashboard.scss */
.mp-donut__svg {
  width: 220px;
  height: 220px;
  flex-shrink: 0;
  display: block;
}

/* line 2580, app/assets/stylesheets/milo/dashboard.scss */
.mp-donut__segment {
  cursor: pointer;
  transition: opacity 0.15s ease;
}

/* line 2584, app/assets/stylesheets/milo/dashboard.scss */
.mp-donut__chart--hovering .mp-donut__segment {
  opacity: 0.4;
}

/* line 2589, app/assets/stylesheets/milo/dashboard.scss */
.mp-donut__chart--hovering .mp-donut__segment--active {
  opacity: 1;
}

/* line 2595, app/assets/stylesheets/milo/dashboard.scss */
.mp-donut__center-label {
  font-size: 11px;
  fill: var(--fg-3);
  font-weight: 600;
  letter-spacing: 0.06em;
  font-family: var(--font-sans);
}

/* line 2603, app/assets/stylesheets/milo/dashboard.scss */
.mp-donut__center-value {
  font-size: 22px;
  fill: var(--fg-1);
  font-weight: 800;
  letter-spacing: -0.01em;
  font-family: var(--font-sans);
}

/* line 2611, app/assets/stylesheets/milo/dashboard.scss */
.mp-donut__center-suffix {
  font-size: 10px;
  fill: var(--fg-3);
  font-weight: 600;
  font-family: var(--font-sans);
}

/* line 2618, app/assets/stylesheets/milo/dashboard.scss */
.mp-donut__legend {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex: 1;
  min-width: 220px;
}

/* line 2629, app/assets/stylesheets/milo/dashboard.scss */
.mp-donut__legend-row {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 13px;
  color: var(--fg-2);
}

/* line 2637, app/assets/stylesheets/milo/dashboard.scss */
.mp-donut__legend-dot {
  width: 10px;
  height: 10px;
  border-radius: 3px;
  flex-shrink: 0;
  display: inline-block;
  /* Mirrors SEGMENT_COLORS in the presenter. Keep these in sync if the
     palette changes — there's a controller-rendering spec asserting both. */
}

/* line 2646, app/assets/stylesheets/milo/dashboard.scss */
.mp-donut__legend-dot--0 {
  background: #256751;
}

/* line 2647, app/assets/stylesheets/milo/dashboard.scss */
.mp-donut__legend-dot--1 {
  background: #509a82;
}

/* line 2648, app/assets/stylesheets/milo/dashboard.scss */
.mp-donut__legend-dot--2 {
  background: #94ceb7;
}

/* line 2649, app/assets/stylesheets/milo/dashboard.scss */
.mp-donut__legend-dot--3 {
  background: #c4f5dc;
}

/* line 2650, app/assets/stylesheets/milo/dashboard.scss */
.mp-donut__legend-dot--4 {
  background: #d2ff85;
}

/* line 2653, app/assets/stylesheets/milo/dashboard.scss */
.mp-donut__legend-label {
  flex: 1;
}

/* line 2657, app/assets/stylesheets/milo/dashboard.scss */
.mp-donut__legend-value {
  font-weight: 700;
  color: var(--fg-1);
  font-variant-numeric: tabular-nums;
}

/* line 2663, app/assets/stylesheets/milo/dashboard.scss */
.mp-chart__tooltip {
  position: absolute;
  pointer-events: none;
  background: var(--mp-deep-forest);
  color: #fff;
  border-radius: 8px;
  padding: 6px 10px;
  font-family: var(--font-sans);
  font-size: 12.5px;
  line-height: 1.3;
  white-space: nowrap;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.18);
  display: flex;
  flex-direction: column;
  gap: 2px;
  z-index: 5;
}

/* line 2680, app/assets/stylesheets/milo/dashboard.scss */
.mp-chart__tooltip[hidden] {
  display: none;
}

/* line 2682, app/assets/stylesheets/milo/dashboard.scss */
.mp-chart__tooltip .mp-chart__tooltip-label {
  font-weight: 600;
  color: rgba(255, 255, 255, 0.7);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 10.5px;
}

/* line 2690, app/assets/stylesheets/milo/dashboard.scss */
.mp-chart__tooltip .mp-chart__tooltip-value {
  font-weight: 700;
  color: #fff;
  font-size: 14px;
  font-variant-numeric: tabular-nums;
}

/* =====================================================================
   lucide icon wrapper
   ===================================================================== */
/* line 2701, app/assets/stylesheets/milo/dashboard.scss */
.mp-ic {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  line-height: 0;
  /* Default size — overridden by modifier classes below when set. */
  width: 16px;
  height: 16px;
}

/* line 2711, app/assets/stylesheets/milo/dashboard.scss */
.mp-ic > svg,
.mp-ic > i {
  width: 100% !important;
  height: 100% !important;
  display: block;
  stroke-width: 1.75;
}

/* line 2719, app/assets/stylesheets/milo/dashboard.scss */
.mp-ic--xs {
  width: 11px;
  height: 11px;
}

/* line 2720, app/assets/stylesheets/milo/dashboard.scss */
.mp-ic--sm {
  width: 13px;
  height: 13px;
}

/* line 2721, app/assets/stylesheets/milo/dashboard.scss */
.mp-ic--md {
  width: 14px;
  height: 14px;
}

/* line 2722, app/assets/stylesheets/milo/dashboard.scss */
.mp-ic--lg {
  width: 16px;
  height: 16px;
}

/* line 2723, app/assets/stylesheets/milo/dashboard.scss */
.mp-ic--xl {
  width: 18px;
  height: 18px;
}

/* line 2724, app/assets/stylesheets/milo/dashboard.scss */
.mp-ic--2xl {
  width: 22px;
  height: 22px;
}

/* line 2725, app/assets/stylesheets/milo/dashboard.scss */
.mp-ic--3xl {
  width: 26px;
  height: 26px;
}

/* line 2726, app/assets/stylesheets/milo/dashboard.scss */
.mp-ic--4xl {
  width: 32px;
  height: 32px;
}

/* line 2727, app/assets/stylesheets/milo/dashboard.scss */
.mp-ic--5xl {
  width: 40px;
  height: 40px;
}

/* =====================================================================
   Error box (form-level errors)
   ===================================================================== */
/* line 2733, app/assets/stylesheets/milo/dashboard.scss */
.mp-error-box {
  background: rgba(207, 76, 0, 0.06);
  border: 1px solid rgba(207, 76, 0, 0.18);
  border-left: 4px solid var(--mp-ember);
  border-radius: 10px;
  padding: 14px 18px;
  display: flex;
  gap: 12px;
  margin-bottom: 18px;
}

/* line 2743, app/assets/stylesheets/milo/dashboard.scss */
.mp-error-box__icon {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: rgba(207, 76, 0, 0.15);
  color: var(--mp-ember);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

/* line 2754, app/assets/stylesheets/milo/dashboard.scss */
.mp-error-box__title {
  font-size: 14px;
  font-weight: 700;
  color: var(--fg-1);
  margin: 0 0 4px;
}

/* line 2761, app/assets/stylesheets/milo/dashboard.scss */
.mp-error-box__msg {
  font-size: 13px;
  color: var(--fg-2);
  margin: 0;
  line-height: 1.55;
}

/* =====================================================================
   Inline error message (per field)
   ===================================================================== */
/* line 2772, app/assets/stylesheets/milo/dashboard.scss */
.mp-field__error {
  color: var(--mp-ember);
  font-size: 12px;
  margin-top: 4px;
}

/* =====================================================================
   Alert summary tri-card
   ===================================================================== */
/* line 2781, app/assets/stylesheets/milo/dashboard.scss */
.mp-alert-summary {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}

@media (max-width: 720px) {
  /* line 2781, app/assets/stylesheets/milo/dashboard.scss */
  .mp-alert-summary {
    grid-template-columns: 1fr;
  }
}

/* line 2791, app/assets/stylesheets/milo/dashboard.scss */
.mp-alert-sum {
  background: #fff;
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
  padding: 18px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

/* line 2800, app/assets/stylesheets/milo/dashboard.scss */
.mp-alert-sum--ember {
  background: rgba(207, 76, 0, 0.06);
  border-color: rgba(207, 76, 0, 0.18);
}

/* line 2804, app/assets/stylesheets/milo/dashboard.scss */
.mp-alert-sum--ember .mp-alert-sum__value {
  color: var(--mp-ember);
}

/* line 2805, app/assets/stylesheets/milo/dashboard.scss */
.mp-alert-sum--ember .mp-alert-sum__icon {
  color: var(--mp-ember);
}

/* line 2808, app/assets/stylesheets/milo/dashboard.scss */
.mp-alert-sum--ok .mp-alert-sum__icon {
  color: var(--mp-pine);
}

/* line 2810, app/assets/stylesheets/milo/dashboard.scss */
.mp-alert-sum__head {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--fg-3);
  font-size: 12.5px;
  font-weight: 600;
}

/* line 2819, app/assets/stylesheets/milo/dashboard.scss */
.mp-alert-sum__icon {
  color: var(--fg-3);
}

/* line 2821, app/assets/stylesheets/milo/dashboard.scss */
.mp-alert-sum__value {
  font-size: 28px;
  font-weight: 700;
  color: var(--mp-deep-forest);
  margin-top: 6px;
  letter-spacing: -0.015em;
  font-variant-numeric: tabular-nums;
}

/* =====================================================================
   Plan upgrade cards (subscription edit)
   ===================================================================== */
/* line 2834, app/assets/stylesheets/milo/dashboard.scss */
.mp-plan-card {
  position: relative;
  background: #fff;
  border: 1px solid var(--border-subtle);
  border-radius: 14px;
  transition: border-color 160ms, box-shadow 160ms, transform 200ms;
  /* No `overflow: hidden` here — the new-plan check icon sits at top: -10px
     right: -10px to float over the card corner, and clipping it would cut
     half the dot away. The label gets its own border-radius below so the top
     corners still match the card's 14px curve. */
  cursor: pointer;
}

/* line 2846, app/assets/stylesheets/milo/dashboard.scss */
.mp-plan-card.is-current {
  opacity: 0.7;
  cursor: default;
}

/* line 2847, app/assets/stylesheets/milo/dashboard.scss */
.mp-plan-card.is-disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

/* line 2848, app/assets/stylesheets/milo/dashboard.scss */
.mp-plan-card.is-selected {
  border-color: var(--mp-pine);
  box-shadow: 0 0 0 3px rgba(37, 103, 81, 0.12);
}

/* line 2853, app/assets/stylesheets/milo/dashboard.scss */
.mp-plan-card__label {
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 700;
  /* Round the top corners to follow the card's curve since the card no
       longer clips children. The 1px inset offsets the card's own border. */
  border-radius: 13px 13px 0 0;
  /* Current Plan reads as "you're here" info — pale mint with deep-forest
       text so it sits quieter than the dark "New Plan" action label. */
}

/* line 2867, app/assets/stylesheets/milo/dashboard.scss */
.mp-plan-card__label--current {
  background: var(--mp-mist);
  color: var(--mp-deep-forest);
}

/* line 2872, app/assets/stylesheets/milo/dashboard.scss */
.mp-plan-card__label--new {
  background: var(--mp-deep-forest);
  color: #fff;
}

/* line 2877, app/assets/stylesheets/milo/dashboard.scss */
.mp-plan-card__label--blank {
  background: transparent;
}

/* line 2882, app/assets/stylesheets/milo/dashboard.scss */
.mp-plan-card__body {
  padding: 22px;
}

/* line 2885, app/assets/stylesheets/milo/dashboard.scss */
.mp-plan-card__body h3 {
  font-size: 18px;
  font-weight: 800;
  margin: 0 0 4px;
  letter-spacing: -0.01em;
  color: var(--mp-deep-forest);
}

/* line 2893, app/assets/stylesheets/milo/dashboard.scss */
.mp-plan-card__body p {
  font-size: 13px;
  color: var(--fg-3);
  margin: 0 0 16px;
}

/* line 2900, app/assets/stylesheets/milo/dashboard.scss */
.mp-plan-card__check {
  position: absolute;
  top: -10px;
  right: -10px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--mp-pine);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid #fff;
  z-index: 2;
}

/* line 2916, app/assets/stylesheets/milo/dashboard.scss */
.mp-plan-card__check.hidden {
  display: none;
}

/* Upgrade sticky bar */
/* line 2920, app/assets/stylesheets/milo/dashboard.scss */
.mp-upgrade-bar {
  position: fixed;
  bottom: 24px;
  left: 0;
  right: 0;
  z-index: 50;
  display: flex;
  justify-content: center;
  pointer-events: none;
}

/* line 2930, app/assets/stylesheets/milo/dashboard.scss */
.mp-upgrade-bar.is-active .mp-upgrade-bar__inner {
  transform: translateY(0);
  opacity: 1;
}

/* line 2931, app/assets/stylesheets/milo/dashboard.scss */
.mp-upgrade-bar.is-active {
  pointer-events: auto;
}

/* line 2933, app/assets/stylesheets/milo/dashboard.scss */
.mp-upgrade-bar__inner {
  background: #fff;
  border-radius: 16px;
  border: 1px solid var(--border-subtle);
  box-shadow: 0 16px 32px rgba(0, 0, 0, 0.1);
  padding: 16px 22px;
  max-width: 920px;
  width: calc(100% - 32px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  pointer-events: auto;
}

/* Eligible SIM picker (subscription upgrade) */
/* line 2950, app/assets/stylesheets/milo/dashboard.scss */
.mp-sim-pick {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 16px;
  background: var(--bg-2);
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
  cursor: pointer;
  transition: background 120ms, border-color 120ms;
}

/* line 2961, app/assets/stylesheets/milo/dashboard.scss */
.mp-sim-pick:hover {
  background: var(--mp-mist);
  border-color: transparent;
}

/* line 2966, app/assets/stylesheets/milo/dashboard.scss */
.mp-sim-pick.is-selected {
  background: rgba(196, 245, 220, 0.5);
  border-color: var(--mp-pine);
}

/* line 2971, app/assets/stylesheets/milo/dashboard.scss */
.mp-sim-pick.is-disabled {
  opacity: 0.4;
  pointer-events: none;
  filter: grayscale(1);
}

/* line 2977, app/assets/stylesheets/milo/dashboard.scss */
.mp-sim-pick__checkbox {
  width: 18px;
  height: 18px;
  border: 1.5px solid var(--mp-pine);
  border-radius: 4px;
  flex-shrink: 0;
  background: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: transparent;
}

/* line 2989, app/assets/stylesheets/milo/dashboard.scss */
.mp-sim-pick.is-selected .mp-sim-pick__checkbox {
  background: var(--mp-pine);
  color: #fff;
  border-color: var(--mp-pine);
}

/* line 2995, app/assets/stylesheets/milo/dashboard.scss */
.mp-sim-pick__ic {
  width: 36px;
  height: 36px;
  border-radius: 9px;
  background: #fff;
  color: var(--mp-pine);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

/* line 3006, app/assets/stylesheets/milo/dashboard.scss */
.mp-sim-pick__body {
  flex: 1;
  min-width: 0;
}

/* line 3007, app/assets/stylesheets/milo/dashboard.scss */
.mp-sim-pick__title {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  font-size: 14px;
  font-weight: 600;
  color: var(--fg-1);
}

/* line 3016, app/assets/stylesheets/milo/dashboard.scss */
.mp-sim-pick__sub {
  font-size: 12px;
  color: var(--fg-3);
  margin-top: 2px;
}

/* line 3017, app/assets/stylesheets/milo/dashboard.scss */
.mp-sim-pick__price {
  text-align: right;
}

/* line 3020, app/assets/stylesheets/milo/dashboard.scss */
.mp-sim-pick__price p:first-child {
  font-size: 13px;
  font-weight: 600;
  color: var(--fg-1);
  margin: 0;
}

/* line 3027, app/assets/stylesheets/milo/dashboard.scss */
.mp-sim-pick__price p:last-child {
  font-size: 12px;
  color: var(--fg-3);
  margin: 0;
}

/* =====================================================================
   Number transfer (stepped form)
   ===================================================================== */
/* line 3038, app/assets/stylesheets/milo/dashboard.scss */
.mp-step {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 22px;
}

/* line 3044, app/assets/stylesheets/milo/dashboard.scss */
.mp-step__num {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: var(--mp-pine);
  color: #fff;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

/* line 3057, app/assets/stylesheets/milo/dashboard.scss */
.mp-step__head {
  font-size: 16px;
  font-weight: 700;
  color: var(--mp-deep-forest);
  margin: 0 0 4px;
}

/* line 3064, app/assets/stylesheets/milo/dashboard.scss */
.mp-step__body {
  font-size: 13.5px;
  color: var(--fg-3);
  line-height: 1.55;
  margin: 0;
}

/* line 3072, app/assets/stylesheets/milo/dashboard.scss */
.mp-callout {
  background: var(--mp-mist);
  border: 1px solid rgba(37, 103, 81, 0.16);
  border-radius: 12px;
  padding: 16px 18px;
  margin: 14px 0;
}

/* line 3079, app/assets/stylesheets/milo/dashboard.scss */
.mp-callout__label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--mp-pine);
  margin: 0 0 8px;
}

/* Pre-existing FAQ helper (kept) — used outside the accordion */
/* line 3090, app/assets/stylesheets/milo/dashboard.scss */
.milo {
  /* ─── TheDatepicker overrides — keep MP green palette ─── */
}

/* line 3091, app/assets/stylesheets/milo/dashboard.scss */
.milo .hw-combobox__main__wrapper {
  width: 100%;
}

/* line 3095, app/assets/stylesheets/milo/dashboard.scss */
.milo .the-datepicker__container .the-datepicker__main {
  background: #fff;
  border: 1px solid var(--border-subtle);
  border-radius: 8px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
  padding: 10px;
  font-family: inherit;
}

/* line 3104, app/assets/stylesheets/milo/dashboard.scss */
.milo .the-datepicker__container .the-datepicker__header,
.milo .the-datepicker__container .the-datepicker__navigation,
.milo .the-datepicker__container .the-datepicker__state,
.milo .the-datepicker__container .the-datepicker__month,
.milo .the-datepicker__container .the-datepicker__year {
  color: var(--fg-2);
  font-family: inherit;
}

/* line 3113, app/assets/stylesheets/milo/dashboard.scss */
.milo .the-datepicker__container .the-datepicker__week-day {
  color: var(--fg-3);
  font-weight: 600;
  font-size: 11px;
  letter-spacing: 0.04em;
}

/* line 3120, app/assets/stylesheets/milo/dashboard.scss */
.milo .the-datepicker__container .the-datepicker__day .the-datepicker__button,
.milo .the-datepicker__container .the-datepicker__year-button {
  color: var(--fg-1);
  font-weight: 500;
  text-decoration: none;
}

/* line 3127, app/assets/stylesheets/milo/dashboard.scss */
.milo .the-datepicker__container .the-datepicker__day-content {
  border-radius: 6px;
  padding: 4px 0;
  transition: background 0.15s ease, color 0.15s ease;
}

/* line 3133, app/assets/stylesheets/milo/dashboard.scss */
.milo .the-datepicker__container .the-datepicker__day--selected .the-datepicker__day-content {
  background: var(--mp-pine);
  color: #fff;
}

/* line 3138, app/assets/stylesheets/milo/dashboard.scss */
.milo .the-datepicker__container .the-datepicker__day:not(.the-datepicker__day--unavailable):not(.the-datepicker__day--out-of-range):not(.the-datepicker__day--selected) .the-datepicker__day-content:hover {
  background: var(--mp-mist);
  color: var(--mp-deep-forest);
}

/* line 3143, app/assets/stylesheets/milo/dashboard.scss */
.milo .the-datepicker__container .the-datepicker__day--unavailable .the-datepicker__button,
.milo .the-datepicker__container .the-datepicker__day--out-of-range .the-datepicker__button {
  color: #9ca3af;
  opacity: 0.5;
  cursor: default;
}

/* line 3150, app/assets/stylesheets/milo/dashboard.scss */
.milo .the-datepicker__container .the-datepicker__day--today:not(.the-datepicker__day--selected) .the-datepicker__day-content {
  box-shadow: inset 0 0 0 1px var(--mp-pine);
  color: var(--mp-pine);
}

/* line 3155, app/assets/stylesheets/milo/dashboard.scss */
.milo .the-datepicker__container .the-datepicker__go .the-datepicker__button,
.milo .the-datepicker__container .the-datepicker__reset .the-datepicker__button,
.milo .the-datepicker__container .the-datepicker__close .the-datepicker__button {
  color: var(--mp-pine);
}

/* line 3, app/assets/stylesheets/account/_shell.scss */
.account-shell {
  background: var(--bg-2);
  color: var(--fg-1);
  margin: 0;
  font-family: var(--font-sans);
  -webkit-font-smoothing: antialiased;
  min-height: 100vh;
}

/* line 11, app/assets/stylesheets/account/_shell.scss */
.account-shell *, .account-shell *::before, .account-shell *::after {
  box-sizing: border-box;
}

/* line 13, app/assets/stylesheets/account/_shell.scss */
.account-shell button {
  font-family: inherit;
}

/* line 14, app/assets/stylesheets/account/_shell.scss */
.account-shell input, .account-shell select, .account-shell textarea {
  font-family: inherit;
}

/* line 16, app/assets/stylesheets/account/_shell.scss */
.account-shell__layout {
  display: grid;
  grid-template-columns: 240px 1fr;
  min-height: 100vh;
}

@media (max-width: 900px) {
  /* line 16, app/assets/stylesheets/account/_shell.scss */
  .account-shell__layout {
    grid-template-columns: 1fr;
  }
}

/* line 26, app/assets/stylesheets/account/_shell.scss */
.account-shell__main {
  background: var(--bg-2);
  display: flex;
  flex-direction: column;
  min-width: 0;
}

/* line 33, app/assets/stylesheets/account/_shell.scss */
.account-shell__container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 56px 48px 80px;
  width: 100%;
  flex: 1;
}

@media (max-width: 900px) {
  /* line 33, app/assets/stylesheets/account/_shell.scss */
  .account-shell__container {
    padding: 24px 22px 96px;
  }
}

/* line 47, app/assets/stylesheets/account/_shell.scss */
.account-mobile-header {
  display: none;
}

@media (max-width: 900px) {
  /* line 47, app/assets/stylesheets/account/_shell.scss */
  .account-mobile-header {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 14px 24px;
    background: linear-gradient(180deg, var(--mp-moss) 0%, var(--mp-grove) 100%);
    flex-shrink: 0;
    position: relative;
  }
}

/* line 60, app/assets/stylesheets/account/_shell.scss */
.account-mobile-header__logo {
  height: 36px;
  width: auto;
}

/* line 65, app/assets/stylesheets/account/_shell.scss */
.account-mobile-header__logout-form {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  margin: 0;
}

/* line 73, app/assets/stylesheets/account/_shell.scss */
.account-mobile-header__logout {
  background: transparent;
  border: none;
  color: rgba(255, 255, 255, 0.85);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  border-radius: 8px;
  transition: background 0.15s ease, color 0.15s ease;
  font-family: inherit;
}

/* line 87, app/assets/stylesheets/account/_shell.scss */
.account-mobile-header__logout:hover, .account-mobile-header__logout:focus-visible {
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
}

/* line 93, app/assets/stylesheets/account/_shell.scss */
.account-mobile-header__logout:focus-visible {
  outline: 2px solid rgba(255, 255, 255, 0.4);
  outline-offset: 2px;
}

/* line 100, app/assets/stylesheets/account/_shell.scss */
.account-greeting {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 28px;
}

/* line 108, app/assets/stylesheets/account/_shell.scss */
.account-greeting__title {
  margin: 0 0 4px;
  font-family: var(--font-sans);
  font-size: 34px;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--fg-1);
}

/* line 117, app/assets/stylesheets/account/_shell.scss */
.account-greeting__title-accent {
  font-family: var(--font-serif-display, "PT Serif", Georgia, serif);
  font-style: italic;
  font-weight: 400;
  color: var(--mp-pine);
  letter-spacing: -0.01em;
}

/* line 125, app/assets/stylesheets/account/_shell.scss */
.account-greeting__subtitle {
  margin: 0;
  font-size: 16px;
  color: var(--fg-3);
}

/* line 131, app/assets/stylesheets/account/_shell.scss */
.account-greeting__actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

@media (max-width: 900px) {
  /* line 131, app/assets/stylesheets/account/_shell.scss */
  .account-greeting__actions {
    width: 100%;
  }
}

@media (max-width: 900px) {
  /* line 100, app/assets/stylesheets/account/_shell.scss */
  .account-greeting {
    display: block;
    margin-bottom: 24px;
  }
  /* line 145, app/assets/stylesheets/account/_shell.scss */
  .account-greeting__title {
    font-size: 30px;
    letter-spacing: -0.025em;
    line-height: 1.1;
    margin: 0 0 6px;
    text-wrap: pretty;
  }
  /* line 153, app/assets/stylesheets/account/_shell.scss */
  .account-greeting__subtitle {
    font-size: 16px;
    line-height: 1.5;
    margin-bottom: 10px;
  }
}

/* line 161, app/assets/stylesheets/account/_shell.scss */
.quick-action-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  background: #fff;
  border: 1px solid var(--border-subtle);
  border-radius: 10px;
  color: var(--fg-1);
  font-size: 15px;
  font-weight: 500;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease;
}

/* line 176, app/assets/stylesheets/account/_shell.scss */
.quick-action-btn:hover {
  background: var(--bg-2);
  border-color: var(--border-strong);
}

/* line 181, app/assets/stylesheets/account/_shell.scss */
.quick-action-btn--primary {
  background: var(--mp-deep-forest);
  color: #fff;
  border-color: var(--mp-deep-forest);
  box-shadow: 0 1px 0 rgba(210, 255, 133, 0.3) inset, var(--shadow-soft);
}

/* line 187, app/assets/stylesheets/account/_shell.scss */
.quick-action-btn--primary:hover {
  filter: brightness(1.1);
  background: var(--mp-deep-forest);
}

/* line 193, app/assets/stylesheets/account/_shell.scss */
.quick-action-btn--ghost {
  background: transparent;
  border-color: transparent;
  color: var(--fg-3);
  padding: 10px 12px;
}

/* line 199, app/assets/stylesheets/account/_shell.scss */
.quick-action-btn--ghost:hover {
  background: var(--bg-2);
  color: var(--fg-1);
  border-color: transparent;
}

/* line 206, app/assets/stylesheets/account/_shell.scss */
.quick-action-btn--disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}

/* line 213, app/assets/stylesheets/account/_shell.scss */
.account-link {
  color: var(--mp-pine);
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  border-bottom: 1px solid transparent;
}

/* line 220, app/assets/stylesheets/account/_shell.scss */
.account-link:hover {
  border-bottom-color: var(--mp-pine);
}

/* line 224, app/assets/stylesheets/account/_shell.scss */
.account-tabs {
  display: flex;
  gap: 4px;
  border-bottom: 1px solid var(--border-subtle);
  margin-bottom: 32px;
}

/* line 230, app/assets/stylesheets/account/_shell.scss */
.account-tabs__item {
  padding: 12px 16px;
  font-size: 15px;
  font-weight: 500;
  color: var(--fg-3);
  background: none;
  border: none;
  cursor: pointer;
  text-decoration: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
}

/* line 242, app/assets/stylesheets/account/_shell.scss */
.account-tabs__item--active {
  color: var(--fg-1);
  border-bottom-color: var(--mp-deep-forest);
  font-weight: 600;
}

/* line 5, app/assets/stylesheets/account/_sidebar.scss */
.account-sidebar {
  background: linear-gradient(180deg, var(--mp-moss) 0%, var(--mp-grove) 100%);
  color: #fff;
  padding: 28px 16px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-height: 100vh;
  position: sticky;
  top: 0;
  align-self: start;
}

@media (max-width: 900px) {
  /* line 5, app/assets/stylesheets/account/_sidebar.scss */
  .account-sidebar {
    display: none;
  }
}

/* line 21, app/assets/stylesheets/account/_sidebar.scss */
.account-sidebar__brand {
  display: block;
  padding: 0 12px 24px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  margin-bottom: 16px;
}

/* line 28, app/assets/stylesheets/account/_sidebar.scss */
.account-sidebar__brand-image {
  height: 40px;
  width: auto;
  display: block;
}

/* line 34, app/assets/stylesheets/account/_sidebar.scss */
.account-sidebar__nav {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

/* line 40, app/assets/stylesheets/account/_sidebar.scss */
.account-sidebar__item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border-radius: 10px;
  font-size: 15px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.72);
  text-decoration: none;
  background: transparent;
  border: none;
  cursor: pointer;
  text-align: left;
  width: 100%;
  font-family: inherit;
}

/* line 57, app/assets/stylesheets/account/_sidebar.scss */
.account-sidebar__item:hover {
  background: rgba(255, 255, 255, 0.06);
  color: #fff;
}

/* line 62, app/assets/stylesheets/account/_sidebar.scss */
.account-sidebar__item--active {
  background: var(--mp-sapling);
  color: var(--mp-deep-forest);
  font-weight: 600;
}

/* line 68, app/assets/stylesheets/account/_sidebar.scss */
.account-sidebar__item--disabled {
  opacity: 0.45;
  cursor: not-allowed;
  pointer-events: none;
}

/* line 74, app/assets/stylesheets/account/_sidebar.scss */
.account-sidebar__item--logout {
  margin-top: 8px;
}

/* line 79, app/assets/stylesheets/account/_sidebar.scss */
.account-sidebar__item-label {
  flex: 1;
}

/* line 83, app/assets/stylesheets/account/_sidebar.scss */
.account-sidebar__logout-form {
  margin: 0;
}

/* line 87, app/assets/stylesheets/account/_sidebar.scss */
.account-sidebar__spacer {
  flex: 1;
}

/* line 91, app/assets/stylesheets/account/_sidebar.scss */
.account-sidebar__footer {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  margin-top: 12px;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.6);
}

/* line 102, app/assets/stylesheets/account/_sidebar.scss */
.account-sidebar__avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--mp-deep-forest);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 12px;
  text-transform: uppercase;
  flex-shrink: 0;
}

/* line 117, app/assets/stylesheets/account/_sidebar.scss */
.account-sidebar__footer-meta {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

/* line 123, app/assets/stylesheets/account/_sidebar.scss */
.account-sidebar__footer-name {
  color: #fff;
  font-weight: 600;
  font-size: 14px;
}

/* line 129, app/assets/stylesheets/account/_sidebar.scss */
.account-sidebar__footer-email {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.55);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 139, app/assets/stylesheets/account/_sidebar.scss */
.account-mobile-tabbar {
  display: none;
}

@media (max-width: 900px) {
  /* line 139, app/assets/stylesheets/account/_sidebar.scss */
  .account-mobile-tabbar {
    display: flex;
    background: rgba(255, 255, 255, 0.96);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-top: 1px solid var(--border-subtle);
    padding: 10px 6px 22px;
    gap: 4px;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 30;
  }
}

/* line 157, app/assets/stylesheets/account/_sidebar.scss */
.account-mobile-tabbar__tab {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 8px 4px;
  background: transparent;
  border: none;
  cursor: pointer;
  color: var(--fg-3);
  font-size: 11px;
  font-weight: 500;
  border-radius: 10px;
  font-family: inherit;
  text-decoration: none;
  min-height: 48px;
}

/* line 175, app/assets/stylesheets/account/_sidebar.scss */
.account-mobile-tabbar__tab--active {
  color: var(--mp-deep-forest);
  font-weight: 600;
}

/* line 180, app/assets/stylesheets/account/_sidebar.scss */
.account-mobile-tabbar__tab--disabled {
  opacity: 0.45;
  pointer-events: none;
}

/* line 186, app/assets/stylesheets/account/_sidebar.scss */
.account-mobile-tabbar__tab-label {
  font-size: 11px;
  line-height: 1.2;
}

/* line 8, app/assets/stylesheets/account/_overview.scss */
.subscription-group {
  display: flex;
  flex-direction: column;
}

/* line 12, app/assets/stylesheets/account/_overview.scss */
.subscription-group__title {
  margin: 0 0 16px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--fg-3);
  font-variant-numeric: tabular-nums;
}

@media (max-width: 900px) {
  /* line 12, app/assets/stylesheets/account/_overview.scss */
  .subscription-group__title {
    font-size: 11px;
  }
}

/* line 26, app/assets/stylesheets/account/_overview.scss */
.subscription-group + .subscription-group {
  margin-top: 14px;
  padding-top: 28px;
  border-top: 1px solid var(--border-subtle);
}

@media (max-width: 900px) {
  /* line 26, app/assets/stylesheets/account/_overview.scss */
  .subscription-group + .subscription-group {
    margin-top: 6px;
    padding-top: 12px;
  }
}

/* line 37, app/assets/stylesheets/account/_overview.scss */
.subscription-group + .impact-row {
  margin-top: 32px;
}

/* line 42, app/assets/stylesheets/account/_overview.scss */
.plan-card {
  position: relative;
  background: #fff;
  border: 1px solid transparent;
  border-radius: 20px;
  padding: 28px;
  margin-bottom: 16px;
  display: grid;
  grid-template-columns: 200px 1fr auto;
  gap: 32px;
  align-items: center;
}

/* line 54, app/assets/stylesheets/account/_overview.scss */
.plan-card::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 3px;
  background: var(--grad-card-accent);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
  z-index: 1;
}

/* line 74, app/assets/stylesheets/account/_overview.scss */
.plan-card--business .plan-card__details {
  align-self: center;
}

/* line 75, app/assets/stylesheets/account/_overview.scss */
.plan-card--business .plan-card__meta-label {
  font-size: 13px;
}

/* line 76, app/assets/stylesheets/account/_overview.scss */
.plan-card--business .plan-card__meta-value {
  font-size: 18px;
}

/* line 79, app/assets/stylesheets/account/_overview.scss */
.plan-card--multi {
  margin-top: 14px;
  grid-template-rows: auto auto;
}

/* line 83, app/assets/stylesheets/account/_overview.scss */
.plan-card--multi:first-of-type {
  margin-top: 8px;
}

/* line 85, app/assets/stylesheets/account/_overview.scss */
.plan-card--multi .plan-card__label-row {
  grid-column: 1 / -1;
  grid-row: 1;
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 4px;
  position: relative;
  z-index: 2;
}

/* line 96, app/assets/stylesheets/account/_overview.scss */
.plan-card--multi .plan-card__gauge {
  grid-row: 2;
  grid-column: 1;
}

/* line 97, app/assets/stylesheets/account/_overview.scss */
.plan-card--multi .plan-card__details {
  grid-row: 2;
  grid-column: 2;
}

/* line 98, app/assets/stylesheets/account/_overview.scss */
.plan-card--multi .plan-card__actions {
  grid-row: 2;
  grid-column: 3;
}

@media (max-width: 900px) {
  /* line 42, app/assets/stylesheets/account/_overview.scss */
  .plan-card {
    grid-template-columns: 140px 1fr;
    grid-template-rows: auto auto;
    gap: 20px 24px;
    padding: 24px;
    border-radius: 22px;
  }
  /* line 109, app/assets/stylesheets/account/_overview.scss */
  .plan-card__gauge {
    grid-column: 1;
    grid-row: 1;
    gap: 4px;
  }
  /* line 110, app/assets/stylesheets/account/_overview.scss */
  .plan-card__details {
    grid-column: 2;
    grid-row: 1;
    gap: 12px;
  }
  /* line 111, app/assets/stylesheets/account/_overview.scss */
  .plan-card__actions {
    grid-column: 1 / -1;
    grid-row: 2;
  }
  /* line 113, app/assets/stylesheets/account/_overview.scss */
  .plan-card--multi {
    grid-template-rows: auto auto auto;
  }
  /* line 116, app/assets/stylesheets/account/_overview.scss */
  .plan-card--multi .plan-card__label-row {
    grid-column: 1 / -1;
    grid-row: 1;
  }
  /* line 117, app/assets/stylesheets/account/_overview.scss */
  .plan-card--multi .plan-card__gauge {
    grid-column: 1;
    grid-row: 2;
  }
  /* line 118, app/assets/stylesheets/account/_overview.scss */
  .plan-card--multi .plan-card__details {
    grid-column: 2;
    grid-row: 2;
  }
  /* line 119, app/assets/stylesheets/account/_overview.scss */
  .plan-card--multi .plan-card__actions {
    grid-column: 1 / -1;
    grid-row: 3;
  }
}

@media (max-width: 540px) {
  /* line 42, app/assets/stylesheets/account/_overview.scss */
  .plan-card {
    grid-template-columns: 120px 1fr;
    gap: 16px 18px;
    padding: 20px;
  }
}

/* line 130, app/assets/stylesheets/account/_overview.scss */
.plan-card__label {
  font-size: 18px;
  font-weight: 600;
  color: var(--fg-1);
  letter-spacing: -0.01em;
}

/* line 137, app/assets/stylesheets/account/_overview.scss */
.plan-card__gauge {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}

/* line 144, app/assets/stylesheets/account/_overview.scss */
.plan-card__gauge-ring {
  position: relative;
  width: var(--gauge-size, 168px);
  height: var(--gauge-size, 168px);
}

/* line 149, app/assets/stylesheets/account/_overview.scss */
.plan-card__gauge-ring svg {
  display: block;
  width: var(--gauge-size, 168px);
  height: var(--gauge-size, 168px);
  transform: rotate(-90deg);
}

@media (max-width: 900px) {
  /* line 144, app/assets/stylesheets/account/_overview.scss */
  .plan-card__gauge-ring {
    --gauge-size: 140px;
  }
}

@media (max-width: 540px) {
  /* line 144, app/assets/stylesheets/account/_overview.scss */
  .plan-card__gauge-ring {
    --gauge-size: 120px;
  }
}

/* line 160, app/assets/stylesheets/account/_overview.scss */
.plan-card__gauge-center {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

/* line 169, app/assets/stylesheets/account/_overview.scss */
.plan-card__gauge-value {
  font-size: 30px;
  font-weight: 700;
  color: var(--fg-1);
  line-height: 1;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.02em;
}

@media (max-width: 900px) {
  /* line 169, app/assets/stylesheets/account/_overview.scss */
  .plan-card__gauge-value {
    font-size: 22px;
  }
}

@media (max-width: 540px) {
  /* line 169, app/assets/stylesheets/account/_overview.scss */
  .plan-card__gauge-value {
    font-size: 20px;
  }
}

/* line 180, app/assets/stylesheets/account/_overview.scss */
.plan-card__gauge-value--infinity {
  font-size: 64px;
  font-weight: 400;
  letter-spacing: 0;
  color: var(--mp-pine);
}

@media (max-width: 900px) {
  /* line 180, app/assets/stylesheets/account/_overview.scss */
  .plan-card__gauge-value--infinity {
    font-size: 52px;
  }
}

@media (max-width: 540px) {
  /* line 180, app/assets/stylesheets/account/_overview.scss */
  .plan-card__gauge-value--infinity {
    font-size: 44px;
  }
}

/* line 191, app/assets/stylesheets/account/_overview.scss */
.plan-card__gauge-unit {
  font-size: 12px;
  color: var(--fg-3);
  margin-top: 4px;
}

@media (max-width: 900px) {
  /* line 191, app/assets/stylesheets/account/_overview.scss */
  .plan-card__gauge-unit {
    font-size: 11px;
  }
}

/* line 199, app/assets/stylesheets/account/_overview.scss */
.plan-card__gauge-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--fg-3);
}

@media (max-width: 900px) {
  /* line 199, app/assets/stylesheets/account/_overview.scss */
  .plan-card__gauge-label {
    font-size: 10px;
    margin-top: 2px;
  }
}

/* line 209, app/assets/stylesheets/account/_overview.scss */
.plan-card__gauge-sublabel {
  font-size: 14px;
  color: var(--fg-2);
  margin-top: -4px;
}

@media (max-width: 900px) {
  /* line 209, app/assets/stylesheets/account/_overview.scss */
  .plan-card__gauge-sublabel {
    font-size: 12px;
  }
}

/* line 217, app/assets/stylesheets/account/_overview.scss */
.plan-card__details {
  display: flex;
  flex-direction: column;
  gap: 18px;
  align-self: start;
}

/* line 224, app/assets/stylesheets/account/_overview.scss */
.plan-card__meta-row {
  display: flex;
  flex-wrap: wrap;
  column-gap: 32px;
  row-gap: 12px;
}

@media (max-width: 900px) {
  /* line 224, app/assets/stylesheets/account/_overview.scss */
  .plan-card__meta-row {
    flex-direction: column;
    gap: 6px;
  }
}

/* line 236, app/assets/stylesheets/account/_overview.scss */
.plan-card__meta {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

/* line 242, app/assets/stylesheets/account/_overview.scss */
.plan-card__meta-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--fg-3);
  margin-bottom: 4px;
}

@media (max-width: 900px) {
  /* line 242, app/assets/stylesheets/account/_overview.scss */
  .plan-card__meta-label {
    font-size: 10px;
  }
}

/* line 255, app/assets/stylesheets/account/_overview.scss */
.plan-card__meta-value {
  font-size: 16px;
  font-weight: 600;
  color: var(--fg-1);
  font-variant-numeric: tabular-nums;
  min-width: 0;
}

/* line 273, app/assets/stylesheets/account/_overview.scss */
.plan-card__meta-value--status-active::before, .plan-card__meta-value--status-paused::before, .plan-card__meta-value--status-new::before, .plan-card__meta-value--status-terminated::before, .plan-card__meta-value--status-pending::before, .plan-card__meta-value--status-transferring::before, .plan-card__meta-value--status-data-suspended::before, .plan-card__meta-value--status-sim-suspended::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  margin-right: 12px;
  vertical-align: middle;
}

/* line 284, app/assets/stylesheets/account/_overview.scss */
.plan-card__meta-value--status-active {
  color: var(--mp-pine);
}

/* line 287, app/assets/stylesheets/account/_overview.scss */
.plan-card__meta-value--status-active::before {
  width: 10px;
  height: 10px;
  background: var(--mp-pine);
  box-shadow: 0 0 0 3px rgba(37, 103, 81, 0.2);
  animation: mp-pulse 1.6s ease-out infinite;
}

/* line 296, app/assets/stylesheets/account/_overview.scss */
.plan-card__meta-value--status-paused {
  color: var(--fg-3);
}

/* line 299, app/assets/stylesheets/account/_overview.scss */
.plan-card__meta-value--status-paused::before {
  background: var(--fg-3);
}

/* line 304, app/assets/stylesheets/account/_overview.scss */
.plan-card__meta-value--status-new {
  color: var(--mp-deep-forest);
}

/* line 307, app/assets/stylesheets/account/_overview.scss */
.plan-card__meta-value--status-new::before {
  background: var(--mp-bright-lime);
  box-shadow: 0 0 0 3px rgba(184, 216, 107, 0.3);
}

/* line 313, app/assets/stylesheets/account/_overview.scss */
.plan-card__meta-value--status-terminated {
  color: var(--mp-ember);
}

/* line 316, app/assets/stylesheets/account/_overview.scss */
.plan-card__meta-value--status-terminated::before {
  background: var(--mp-ember);
}

/* line 321, app/assets/stylesheets/account/_overview.scss */
.plan-card__meta-value--status-pending {
  color: var(--mp-clay);
}

/* line 324, app/assets/stylesheets/account/_overview.scss */
.plan-card__meta-value--status-pending::before {
  background: var(--mp-clay);
  box-shadow: 0 0 0 3px rgba(217, 128, 66, 0.25);
  animation: mp-pulse 1.6s ease-out infinite;
}

/* line 331, app/assets/stylesheets/account/_overview.scss */
.plan-card__meta-value--status-transferring {
  color: var(--mp-medium-teal);
}

/* line 334, app/assets/stylesheets/account/_overview.scss */
.plan-card__meta-value--status-transferring::before {
  background: var(--mp-medium-teal);
  box-shadow: 0 0 0 3px rgba(80, 154, 130, 0.25);
  animation: mp-pulse 1.6s ease-out infinite;
}

/* line 342, app/assets/stylesheets/account/_overview.scss */
.plan-card__meta-value--status-data-suspended {
  color: var(--mp-clay);
}

/* line 345, app/assets/stylesheets/account/_overview.scss */
.plan-card__meta-value--status-data-suspended::before {
  background: var(--mp-clay);
}

/* line 351, app/assets/stylesheets/account/_overview.scss */
.plan-card__meta-value--status-sim-suspended {
  color: var(--mp-ember);
}

/* line 354, app/assets/stylesheets/account/_overview.scss */
.plan-card__meta-value--status-sim-suspended::before {
  background: var(--mp-ember);
}

@media (max-width: 900px) {
  /* line 255, app/assets/stylesheets/account/_overview.scss */
  .plan-card__meta-value {
    font-size: 15px;
  }
}

@media (max-width: 540px) {
  /* line 255, app/assets/stylesheets/account/_overview.scss */
  .plan-card__meta-value {
    font-size: 14px;
  }
}

/* line 363, app/assets/stylesheets/account/_overview.scss */
.plan-card__features {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 18px;
  font-size: 15px;
  color: var(--fg-2);
}

/* line 370, app/assets/stylesheets/account/_overview.scss */
.plan-card__features svg {
  color: var(--mp-pine);
}

@media (max-width: 900px) {
  /* line 363, app/assets/stylesheets/account/_overview.scss */
  .plan-card__features {
    font-size: 14px;
    gap: 4px 14px;
    line-height: 1.4;
  }
}

/* line 379, app/assets/stylesheets/account/_overview.scss */
.plan-card__feature {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

/* line 385, app/assets/stylesheets/account/_overview.scss */
.plan-card__actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 180px;
  align-self: start;
  position: relative;
  z-index: 2;
}

@media (max-width: 900px) {
  /* line 385, app/assets/stylesheets/account/_overview.scss */
  .plan-card__actions {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px;
    min-width: 0;
  }
  /* line 403, app/assets/stylesheets/account/_overview.scss */
  .plan-card__actions .quick-action-btn {
    padding: 10px 14px;
    font-size: 15px;
  }
}

/* line 411, app/assets/stylesheets/account/_overview.scss */
.status-tooltip {
  position: relative;
  display: inline-flex;
  align-items: center;
  margin-left: 4px;
  cursor: help;
  color: var(--fg-3);
}

/* line 422, app/assets/stylesheets/account/_overview.scss */
.status-tooltip__body {
  display: none;
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%);
  width: 280px;
  padding: 12px 14px;
  background: var(--mp-grove);
  color: #fff;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.4;
  border-radius: 10px;
  text-align: left;
  white-space: normal;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
  z-index: 20;
  pointer-events: none;
}

@media (max-width: 540px) {
  /* line 422, app/assets/stylesheets/account/_overview.scss */
  .status-tooltip__body {
    left: auto;
    right: -8px;
    transform: none;
    width: calc(100vw - 32px);
    max-width: 280px;
  }
}

/* line 454, app/assets/stylesheets/account/_overview.scss */
.status-tooltip:hover .status-tooltip__body, .status-tooltip:focus .status-tooltip__body, .status-tooltip:focus-within .status-tooltip__body {
  display: block;
}

@keyframes mp-pulse {
  0% {
    box-shadow: 0 0 0 0 rgba(37, 103, 81, 0.85);
    transform: scale(1);
  }
  50% {
    box-shadow: 0 0 0 8px rgba(37, 103, 81, 0.3);
    transform: scale(1.25);
  }
  70% {
    box-shadow: 0 0 0 14px rgba(37, 103, 81, 0);
    transform: scale(1);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(37, 103, 81, 0);
    transform: scale(1);
  }
}

/* line 466, app/assets/stylesheets/account/_overview.scss */
.sim-roundel {
  min-width: 44px;
  height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: Spectral, Georgia, serif;
  font-size: 15px;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
  flex-shrink: 0;
  background: rgba(37, 103, 81, 0.08);
  color: var(--mp-pine);
  border: 1px solid rgba(37, 103, 81, 0.18);
}

/* line 483, app/assets/stylesheets/account/_overview.scss */
.sim-roundel--sm {
  min-width: 36px;
  height: 22px;
  padding: 0 8px;
  font-size: 12px;
}

/* line 492, app/assets/stylesheets/account/_overview.scss */
.combined-bill {
  background: linear-gradient(135deg, var(--mp-deep-forest) 0%, var(--mp-pine) 100%);
  color: #fff;
  border-radius: 24px;
  padding: 24px 28px;
  margin-bottom: 4px;
  box-shadow: 0 1px 2px rgba(11, 38, 29, 0.06), 0 8px 32px rgba(11, 38, 29, 0.1);
}

@media (max-width: 900px) {
  /* line 492, app/assets/stylesheets/account/_overview.scss */
  .combined-bill {
    border-radius: 18px;
    padding: 18px 20px;
  }
}

/* line 505, app/assets/stylesheets/account/_overview.scss */
.combined-bill__top {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
  gap: 18px;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.16);
}

@media (max-width: 900px) {
  /* line 505, app/assets/stylesheets/account/_overview.scss */
  .combined-bill__top {
    grid-template-columns: 1fr;
    gap: 6px;
    padding-bottom: 14px;
  }
}

/* line 520, app/assets/stylesheets/account/_overview.scss */
.combined-bill__eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.65);
  margin-bottom: 8px;
  grid-column: 1 / -1;
}

@media (max-width: 900px) {
  /* line 520, app/assets/stylesheets/account/_overview.scss */
  .combined-bill__eyebrow {
    font-size: 10px;
    margin-bottom: 4px;
  }
}

/* line 532, app/assets/stylesheets/account/_overview.scss */
.combined-bill__total {
  display: flex;
  align-items: baseline;
  gap: 14px;
  flex-wrap: wrap;
}

/* line 539, app/assets/stylesheets/account/_overview.scss */
.combined-bill__total-amount {
  font-family: Spectral, Georgia, serif;
  font-size: 44px;
  font-weight: 500;
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
  line-height: 1;
}

@media (max-width: 900px) {
  /* line 539, app/assets/stylesheets/account/_overview.scss */
  .combined-bill__total-amount {
    font-size: 28px;
  }
}

/* line 550, app/assets/stylesheets/account/_overview.scss */
.combined-bill__total-due {
  font-size: 15px;
  color: rgba(255, 255, 255, 0.75);
}

@media (max-width: 900px) {
  /* line 550, app/assets/stylesheets/account/_overview.scss */
  .combined-bill__total-due {
    font-size: 14px;
  }
}

/* line 557, app/assets/stylesheets/account/_overview.scss */
.combined-bill__link {
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  white-space: nowrap;
}

/* line 565, app/assets/stylesheets/account/_overview.scss */
.combined-bill__link:hover {
  border-bottom-color: rgba(255, 255, 255, 0.6);
}

/* line 568, app/assets/stylesheets/account/_overview.scss */
.combined-bill__links {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
  align-self: end;
}

@media (max-width: 900px) {
  /* line 568, app/assets/stylesheets/account/_overview.scss */
  .combined-bill__links {
    align-items: flex-start;
    align-self: start;
  }
}

/* line 580, app/assets/stylesheets/account/_overview.scss */
.combined-bill__links .combined-bill__link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

/* line 587, app/assets/stylesheets/account/_overview.scss */
.combined-bill__lines {
  padding-top: 14px;
  display: grid;
  gap: 8px;
}

/* line 593, app/assets/stylesheets/account/_overview.scss */
.combined-bill__line {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: baseline;
  gap: 14px;
  font-size: 15px;
}

@media (max-width: 900px) {
  /* line 593, app/assets/stylesheets/account/_overview.scss */
  .combined-bill__line {
    font-size: 14px;
  }
}

/* line 603, app/assets/stylesheets/account/_overview.scss */
.combined-bill__line-label {
  display: flex;
  align-items: baseline;
  gap: 12px;
  flex-wrap: wrap;
}

/* line 610, app/assets/stylesheets/account/_overview.scss */
.combined-bill__line-num {
  color: rgba(255, 255, 255, 0.55);
  font-size: 14px;
  font-variant-numeric: tabular-nums;
}

/* line 616, app/assets/stylesheets/account/_overview.scss */
.combined-bill__line-amt {
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

/* line 620, app/assets/stylesheets/account/_overview.scss */
.combined-bill__line-amt--muted {
  color: rgba(255, 255, 255, 0.5);
  font-weight: 400;
}

/* line 628, app/assets/stylesheets/account/_overview.scss */
.impact-row {
  margin-top: 20px;
  display: grid;
  grid-template-columns: 1fr 1fr auto;
  gap: 32px;
  align-items: center;
  padding: 22px 28px;
  background: #fff;
  border: 1px solid var(--border-subtle);
  border-radius: 14px;
}

@media (max-width: 900px) {
  /* line 628, app/assets/stylesheets/account/_overview.scss */
  .impact-row {
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 18px 20px;
    margin-top: 16px;
  }
}

/* line 646, app/assets/stylesheets/account/_overview.scss */
.impact-row__stat {
  display: flex;
  align-items: center;
  gap: 14px;
}

@media (max-width: 900px) {
  /* line 646, app/assets/stylesheets/account/_overview.scss */
  .impact-row__stat {
    align-items: flex-start;
  }
}

/* line 654, app/assets/stylesheets/account/_overview.scss */
.impact-row__circle {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--mp-bright-lime);
  color: var(--mp-deep-forest);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

/* line 665, app/assets/stylesheets/account/_overview.scss */
.impact-row__circle--alt {
  background: var(--mp-mist);
}

@media (max-width: 900px) {
  /* line 654, app/assets/stylesheets/account/_overview.scss */
  .impact-row__circle {
    width: 36px;
    height: 36px;
  }
}

/* line 670, app/assets/stylesheets/account/_overview.scss */
.impact-row__num {
  font-size: 22px;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--fg-1);
  font-variant-numeric: tabular-nums;
  line-height: 1.2;
  margin-bottom: 2px;
}

@media (max-width: 900px) {
  /* line 670, app/assets/stylesheets/account/_overview.scss */
  .impact-row__num {
    font-size: 18px;
  }
}

/* line 682, app/assets/stylesheets/account/_overview.scss */
.impact-row__label {
  font-size: 14px;
  color: var(--fg-3);
  line-height: 1.4;
}

/* line 688, app/assets/stylesheets/account/_overview.scss */
.impact-row__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 10px 16px;
  border: 1px solid var(--mp-deep-forest);
  border-radius: 999px;
  color: var(--mp-deep-forest);
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  white-space: nowrap;
}

/* line 702, app/assets/stylesheets/account/_overview.scss */
.impact-row__cta:hover {
  background: var(--mp-deep-forest);
  color: #fff;
}

@media (max-width: 900px) {
  /* line 688, app/assets/stylesheets/account/_overview.scss */
  .impact-row__cta {
    justify-self: stretch;
  }
}

/* line 714, app/assets/stylesheets/account/_overview.scss */
.plan-card--status-data-suspended::before {
  background: var(--mp-clay);
}

/* line 718, app/assets/stylesheets/account/_overview.scss */
.plan-card--status-sim-suspended::before {
  background: var(--mp-ember);
}

/* line 724, app/assets/stylesheets/account/_overview.scss */
.dashboard-banner {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 18px;
  align-items: start;
  padding: 22px 26px;
  border-radius: 16px;
  margin-bottom: 20px;
}

@media (max-width: 900px) {
  /* line 724, app/assets/stylesheets/account/_overview.scss */
  .dashboard-banner {
    padding: 18px 20px;
    gap: 14px;
    border-radius: 14px;
  }
}

/* line 739, app/assets/stylesheets/account/_overview.scss */
.dashboard-banner__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  flex-shrink: 0;
}

/* line 749, app/assets/stylesheets/account/_overview.scss */
.dashboard-banner__body {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}

/* line 756, app/assets/stylesheets/account/_overview.scss */
.dashboard-banner__headline {
  margin: 0;
  font-family: Spectral, Georgia, serif;
  font-size: 22px;
  font-weight: 600;
  letter-spacing: -0.01em;
}

@media (max-width: 900px) {
  /* line 756, app/assets/stylesheets/account/_overview.scss */
  .dashboard-banner__headline {
    font-size: 19px;
  }
}

@media (max-width: 540px) {
  /* line 756, app/assets/stylesheets/account/_overview.scss */
  .dashboard-banner__headline {
    font-size: 18px;
  }
}

/* line 767, app/assets/stylesheets/account/_overview.scss */
.dashboard-banner__copy {
  margin: 0 0 8px;
  font-size: 15px;
  line-height: 1.5;
  color: var(--fg-2);
}

@media (max-width: 900px) {
  /* line 767, app/assets/stylesheets/account/_overview.scss */
  .dashboard-banner__copy {
    font-size: 14px;
  }
}

/* line 776, app/assets/stylesheets/account/_overview.scss */
.dashboard-banner__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px 18px;
  margin-top: 4px;
}

/* line 784, app/assets/stylesheets/account/_overview.scss */
.dashboard-banner__primary-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 20px;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  color: #fff;
  background: var(--mp-deep-forest);
  border: 1px solid var(--mp-deep-forest);
}

/* line 798, app/assets/stylesheets/account/_overview.scss */
.dashboard-banner__primary-cta:hover {
  background: var(--mp-pine);
  border-color: var(--mp-pine);
}

@media (max-width: 540px) {
  /* line 784, app/assets/stylesheets/account/_overview.scss */
  .dashboard-banner__primary-cta {
    padding: 11px 18px;
    font-size: 14px;
  }
}

/* line 803, app/assets/stylesheets/account/_overview.scss */
.dashboard-banner__secondary {
  font-size: 14px;
  color: var(--fg-2);
}

@media (max-width: 540px) {
  /* line 803, app/assets/stylesheets/account/_overview.scss */
  .dashboard-banner__secondary {
    font-size: 13px;
  }
}

/* line 810, app/assets/stylesheets/account/_overview.scss */
.dashboard-banner__secondary-cta {
  color: var(--fg-1);
  font-weight: 600;
  text-decoration: underline;
}

/* line 815, app/assets/stylesheets/account/_overview.scss */
.dashboard-banner__secondary-cta:hover {
  color: var(--mp-pine);
}

/* line 818, app/assets/stylesheets/account/_overview.scss */
.dashboard-banner--severity-warning {
  background: #FBE9D4;
  border: 1px solid rgba(217, 128, 66, 0.35);
}

/* line 822, app/assets/stylesheets/account/_overview.scss */
.dashboard-banner--severity-warning .dashboard-banner__icon {
  background: rgba(217, 128, 66, 0.18);
  color: var(--mp-clay);
}

/* line 823, app/assets/stylesheets/account/_overview.scss */
.dashboard-banner--severity-warning .dashboard-banner__headline {
  color: var(--mp-clay);
}

/* line 824, app/assets/stylesheets/account/_overview.scss */
.dashboard-banner--severity-warning .dashboard-banner__primary-cta {
  background: var(--mp-clay);
  border-color: var(--mp-clay);
}

/* line 827, app/assets/stylesheets/account/_overview.scss */
.dashboard-banner--severity-warning .dashboard-banner__primary-cta:hover {
  background: #B86A30;
  border-color: #B86A30;
}

/* line 831, app/assets/stylesheets/account/_overview.scss */
.dashboard-banner--severity-critical {
  background: #F7DCCE;
  border: 1px solid rgba(207, 76, 0, 0.45);
}

/* line 835, app/assets/stylesheets/account/_overview.scss */
.dashboard-banner--severity-critical .dashboard-banner__icon {
  background: rgba(193, 79, 51, 0.18);
  color: var(--mp-ember);
}

/* line 836, app/assets/stylesheets/account/_overview.scss */
.dashboard-banner--severity-critical .dashboard-banner__headline {
  color: var(--mp-ember);
}

/* line 837, app/assets/stylesheets/account/_overview.scss */
.dashboard-banner--severity-critical .dashboard-banner__primary-cta {
  background: var(--mp-ember);
  border-color: var(--mp-ember);
}

/* line 840, app/assets/stylesheets/account/_overview.scss */
.dashboard-banner--severity-critical .dashboard-banner__primary-cta:hover {
  background: #A03E27;
  border-color: #A03E27;
}

/* line 844, app/assets/stylesheets/account/_overview.scss */
.dashboard-banner--severity-info {
  background: #E5E4DA;
  border: 1px solid rgba(11, 38, 29, 0.12);
}

/* line 848, app/assets/stylesheets/account/_overview.scss */
.dashboard-banner--severity-info .dashboard-banner__icon {
  background: rgba(11, 38, 29, 0.1);
  color: var(--mp-deep-forest);
}

/* line 849, app/assets/stylesheets/account/_overview.scss */
.dashboard-banner--severity-info .dashboard-banner__headline {
  color: var(--fg-1);
}

/* line 857, app/assets/stylesheets/account/_overview.scss */
.expired-plan-card {
  background: #F8E8DC;
  border: 1px solid rgba(217, 128, 66, 0.3);
  border-radius: 20px;
  padding: 32px 36px;
  margin-bottom: 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

@media (max-width: 900px) {
  /* line 857, app/assets/stylesheets/account/_overview.scss */
  .expired-plan-card {
    padding: 24px 22px;
    border-radius: 18px;
  }
}

/* line 872, app/assets/stylesheets/account/_overview.scss */
.expired-plan-card__label {
  margin: 0;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--fg-3);
}

@media (max-width: 900px) {
  /* line 872, app/assets/stylesheets/account/_overview.scss */
  .expired-plan-card__label {
    font-size: 11px;
  }
}

/* line 883, app/assets/stylesheets/account/_overview.scss */
.expired-plan-card__headline {
  margin: 0;
  font-family: Spectral, Georgia, serif;
  font-size: 30px;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--fg-1);
  line-height: 1.2;
}

@media (max-width: 900px) {
  /* line 883, app/assets/stylesheets/account/_overview.scss */
  .expired-plan-card__headline {
    font-size: 24px;
  }
}

@media (max-width: 540px) {
  /* line 883, app/assets/stylesheets/account/_overview.scss */
  .expired-plan-card__headline {
    font-size: 20px;
  }
}

/* line 896, app/assets/stylesheets/account/_overview.scss */
.expired-plan-card__headline-emphasis {
  font-style: italic;
  font-weight: 500;
}

/* line 901, app/assets/stylesheets/account/_overview.scss */
.expired-plan-card__copy {
  margin: 0 0 18px;
  color: var(--fg-2);
  font-size: 15px;
  line-height: 1.5;
}

@media (max-width: 900px) {
  /* line 901, app/assets/stylesheets/account/_overview.scss */
  .expired-plan-card__copy {
    font-size: 14px;
  }
}

/* line 910, app/assets/stylesheets/account/_overview.scss */
.expired-plan-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 12px;
}

/* line 918, app/assets/stylesheets/account/_overview.scss */
.account-empty {
  background: #fff;
  border: 1px solid var(--border-subtle);
  border-radius: 20px;
  padding: 40px 32px;
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
}

/* line 928, app/assets/stylesheets/account/_overview.scss */
.account-empty__body {
  flex: 1;
  min-width: 200px;
}

/* line 933, app/assets/stylesheets/account/_overview.scss */
.account-empty__title {
  font-size: 20px;
  font-weight: 700;
  color: var(--fg-1);
  margin: 0 0 6px;
  letter-spacing: -0.01em;
}

/* line 941, app/assets/stylesheets/account/_overview.scss */
.account-empty__copy {
  margin: 0 0 16px;
  color: var(--fg-3);
  font-size: 15px;
  line-height: 1.5;
}

/* line 5, app/assets/stylesheets/account/_projects.scss */
.projects-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

@media (max-width: 900px) {
  /* line 5, app/assets/stylesheets/account/_projects.scss */
  .projects-grid {
    grid-template-columns: 1fr 1fr;
    gap: 14px;
  }
}

/* line 16, app/assets/stylesheets/account/_projects.scss */
.project-card {
  position: relative;
  aspect-ratio: 3 / 4;
  border-radius: 22px;
  overflow: hidden;
  cursor: pointer;
  background: var(--mp-cream);
  transition: transform 0.2s, box-shadow 0.2s;
  text-decoration: none;
  color: inherit;
  display: block;
}

/* line 28, app/assets/stylesheets/account/_projects.scss */
.project-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 24px 50px rgba(3, 45, 16, 0.2), 0 6px 16px rgba(3, 45, 16, 0.1);
}

/* line 33, app/assets/stylesheets/account/_projects.scss */
.project-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 35%, rgba(3, 27, 17, 0.88) 100%);
  z-index: 1;
}

@media (max-width: 900px) {
  /* line 16, app/assets/stylesheets/account/_projects.scss */
  .project-card {
    border-radius: 18px;
  }
}

/* line 45, app/assets/stylesheets/account/_projects.scss */
.project-card__photo {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  background-color: var(--mp-cream);
  transition: transform 0.5s ease;
}

/* line 54, app/assets/stylesheets/account/_projects.scss */
.project-card:hover .project-card__photo {
  transform: scale(1.04);
}

/* line 56, app/assets/stylesheets/account/_projects.scss */
.project-card__content {
  position: absolute;
  inset: 0;
  padding: 22px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  z-index: 2;
  color: #fff;
}

@media (max-width: 900px) {
  /* line 56, app/assets/stylesheets/account/_projects.scss */
  .project-card__content {
    padding: 18px;
  }
}

/* line 69, app/assets/stylesheets/account/_projects.scss */
.project-card__location {
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  opacity: 0.85;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  gap: 6px;
}

@media (max-width: 900px) {
  /* line 69, app/assets/stylesheets/account/_projects.scss */
  .project-card__location {
    font-size: 10px;
    margin-bottom: 6px;
    letter-spacing: 0.12em;
  }
}

/* line 88, app/assets/stylesheets/account/_projects.scss */
.project-card__title {
  font-family: var(--font-sans);
  font-size: 18px;
  font-weight: 600;
  line-height: 1.25;
  margin: 0;
  letter-spacing: -0.01em;
  color: #fff;
}

@media (max-width: 900px) {
  /* line 88, app/assets/stylesheets/account/_projects.scss */
  .project-card__title {
    font-size: 15px;
  }
}

/* line 100, app/assets/stylesheets/account/_projects.scss */
.project-card__arrow {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: var(--mp-sapling);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color: var(--mp-deep-forest);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transform: translateY(-4px);
  transition: opacity 0.2s, transform 0.2s;
  z-index: 2;
}

@media (max-width: 900px) {
  /* line 100, app/assets/stylesheets/account/_projects.scss */
  .project-card__arrow {
    width: 32px;
    height: 32px;
    top: 12px;
    right: 12px;
    opacity: 1;
    transform: none;
  }
}

/* line 129, app/assets/stylesheets/account/_projects.scss */
.project-card:hover .project-card__arrow {
  opacity: 1;
  transform: translateY(0);
}

/* line 6, app/assets/stylesheets/account/_settings.scss */
.account-card {
  background: #fff;
  border: 1px solid var(--border-subtle);
  border-radius: 18px;
  padding: 24px 28px;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.6) inset, 0 8px 24px rgba(3, 45, 16, 0.04);
}

@media (max-width: 900px) {
  /* line 6, app/assets/stylesheets/account/_settings.scss */
  .account-card {
    border-radius: 18px;
    padding: 20px 22px;
  }
}

/* line 18, app/assets/stylesheets/account/_settings.scss */
.account-card + .account-card {
  margin-top: 16px;
}

/* line 20, app/assets/stylesheets/account/_settings.scss */
.account-card__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin-bottom: 18px;
}

/* line 28, app/assets/stylesheets/account/_settings.scss */
.account-card__heading {
  font-family: var(--font-sans);
  font-size: 17px;
  font-weight: 700;
  margin: 0;
  letter-spacing: -0.005em;
  color: var(--fg-1);
}

/* line 37, app/assets/stylesheets/account/_settings.scss */
.account-card__copy {
  margin: 0;
  color: var(--fg-3);
  font-size: 15px;
  line-height: 1.55;
}

/* line 44, app/assets/stylesheets/account/_settings.scss */
.account-card__contact-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

@media (max-width: 900px) {
  /* line 44, app/assets/stylesheets/account/_settings.scss */
  .account-card__contact-row {
    grid-template-columns: 1fr;
  }
}

/* line 53, app/assets/stylesheets/account/_settings.scss */
.status-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  background: var(--mp-mist);
  color: var(--mp-deep-forest);
}

/* line 64, app/assets/stylesheets/account/_settings.scss */
.status-pill--paid::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--mp-pine);
}

/* line 73, app/assets/stylesheets/account/_settings.scss */
.support-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
  margin-bottom: 8px;
}

@media (max-width: 900px) {
  /* line 73, app/assets/stylesheets/account/_settings.scss */
  .support-grid {
    grid-template-columns: 1fr;
  }
}

/* line 81, app/assets/stylesheets/account/_settings.scss */
.support-grid__card {
  display: block;
  padding: 22px 24px;
  background: #fff;
  border: 1px solid var(--border-subtle);
  border-radius: 16px;
  text-decoration: none;
  color: inherit;
  transition: border-color 0.15s, transform 0.15s;
}

/* line 91, app/assets/stylesheets/account/_settings.scss */
.support-grid__card:hover {
  border-color: var(--mp-pine);
  transform: translateY(-2px);
}

/* line 97, app/assets/stylesheets/account/_settings.scss */
.support-grid__card-title {
  font-size: 16px;
  font-weight: 700;
  margin: 0 0 6px;
  letter-spacing: -0.005em;
  color: var(--fg-1);
}

/* line 105, app/assets/stylesheets/account/_settings.scss */
.support-grid__card-copy {
  color: var(--fg-3);
  font-size: 15px;
  margin: 0 0 14px;
  line-height: 1.5;
}

/* line 114, app/assets/stylesheets/account/_settings.scss */
.contact-block__label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--fg-3);
  margin-bottom: 6px;
}

/* line 123, app/assets/stylesheets/account/_settings.scss */
.contact-block__value {
  font-size: 16px;
  font-weight: 600;
  color: var(--fg-1);
  display: block;
  text-decoration: none;
}

/* line 130, app/assets/stylesheets/account/_settings.scss */
.contact-block__value--link {
  color: var(--mp-pine);
}

/* line 133, app/assets/stylesheets/account/_settings.scss */
.contact-block__muted {
  font-size: 14px;
  color: var(--fg-3);
  margin-top: 4px;
}

/* line 140, app/assets/stylesheets/account/_settings.scss */
.settings-grid {
  display: flex;
  flex-direction: column;
}

/* line 145, app/assets/stylesheets/account/_settings.scss */
.settings-row {
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 24px;
  padding: 14px 0;
  border-bottom: 1px solid var(--border-subtle);
  align-items: center;
}

/* line 153, app/assets/stylesheets/account/_settings.scss */
.settings-row:last-child {
  border-bottom: none;
}

/* line 155, app/assets/stylesheets/account/_settings.scss */
.settings-row__label {
  font-size: 14px;
  font-weight: 600;
  color: var(--fg-3);
}

/* line 161, app/assets/stylesheets/account/_settings.scss */
.settings-row__value {
  font-size: 16px;
  color: var(--fg-1);
}

@media (max-width: 900px) {
  /* line 145, app/assets/stylesheets/account/_settings.scss */
  .settings-row {
    grid-template-columns: 1fr;
    gap: 6px;
  }
}

/* line 4, app/assets/stylesheets/activate-journey/_shell.scss */
.activate-journey {
  --aj-aside-bg: var(--mp-deep-forest);
  --aj-form-bg: var(--mp-warm-white);
  --aj-border: rgba(10, 31, 21, 0.10);
  --aj-border-strong: rgba(10, 31, 21, 0.18);
  --aj-fg-2: #3a4a42;
  --aj-fg-3: #6b7872;
  min-height: 100vh;
  margin: 0;
  background: var(--aj-form-bg);
  font-family: var(--font-sans);
  color: var(--fg-1);
  -webkit-font-smoothing: antialiased;
}

/* line 19, app/assets/stylesheets/activate-journey/_shell.scss */
.activate-journey *, .activate-journey *::before, .activate-journey *::after {
  box-sizing: border-box;
}

/* line 21, app/assets/stylesheets/activate-journey/_shell.scss */
.activate-journey__shell {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 1fr 1fr;
}

@media (max-width: 820px) {
  /* line 21, app/assets/stylesheets/activate-journey/_shell.scss */
  .activate-journey__shell {
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr;
  }
}

/* line 33, app/assets/stylesheets/activate-journey/_shell.scss */
.activate-journey__aside {
  position: relative;
  overflow: hidden;
  padding: 40px;
  display: flex;
  flex-direction: column;
  background: var(--aj-aside-bg);
  color: #fff;
}

/* line 42, app/assets/stylesheets/activate-journey/_shell.scss */
.activate-journey__aside::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.08;
  pointer-events: none;
  background: radial-gradient(circle at 70% 20%, var(--mp-sapling), transparent 50%), radial-gradient(circle at 20% 90%, var(--mp-medium-teal), transparent 60%);
}

@media (max-width: 820px) {
  /* line 33, app/assets/stylesheets/activate-journey/_shell.scss */
  .activate-journey__aside {
    padding: 20px 22px 18px;
    min-height: 220px;
  }
}

/* line 59, app/assets/stylesheets/activate-journey/_shell.scss */
.activate-journey__aside-top, .activate-journey__aside-stage, .activate-journey__aside-foot {
  position: relative;
  z-index: 1;
}

/* line 66, app/assets/stylesheets/activate-journey/_shell.scss */
.activate-journey__aside-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}

/* line 73, app/assets/stylesheets/activate-journey/_shell.scss */
.activate-journey__aside-logo-link {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}

/* line 79, app/assets/stylesheets/activate-journey/_shell.scss */
.activate-journey__aside-logo {
  height: 38px;
  width: auto;
}

@media (max-width: 820px) {
  /* line 79, app/assets/stylesheets/activate-journey/_shell.scss */
  .activate-journey__aside-logo {
    height: 30px;
  }
}

/* line 88, app/assets/stylesheets/activate-journey/_shell.scss */
.activate-journey__aside-stage {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px 0;
}

@media (max-width: 820px) {
  /* line 88, app/assets/stylesheets/activate-journey/_shell.scss */
  .activate-journey__aside-stage {
    padding: 6px 0 0;
  }
}

/* line 100, app/assets/stylesheets/activate-journey/_shell.scss */
.activate-journey__aside-foot {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}

@media (max-width: 820px) {
  /* line 100, app/assets/stylesheets/activate-journey/_shell.scss */
  .activate-journey__aside-foot {
    margin-top: 12px;
  }
}

/* line 111, app/assets/stylesheets/activate-journey/_shell.scss */
.activate-journey__step-label {
  color: rgba(255, 255, 255, 0.55);
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-weight: 600;
}

/* line 120, app/assets/stylesheets/activate-journey/_shell.scss */
.activate-journey__main {
  background: var(--aj-form-bg);
  padding: 28px 40px 40px;
  display: flex;
  flex-direction: column;
  min-width: 0;
}

@media (max-width: 820px) {
  /* line 120, app/assets/stylesheets/activate-journey/_shell.scss */
  .activate-journey__main {
    padding: 20px 22px 32px;
  }
}

/* line 132, app/assets/stylesheets/activate-journey/_shell.scss */
.activate-journey__topbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin-bottom: 24px;
}

@media (max-width: 820px) {
  /* line 132, app/assets/stylesheets/activate-journey/_shell.scss */
  .activate-journey__topbar {
    margin-bottom: 16px;
  }
}

/* line 144, app/assets/stylesheets/activate-journey/_shell.scss */
.activate-journey__back {
  background: none;
  border: none;
  cursor: pointer;
  color: var(--aj-fg-2);
  font-size: 13px;
  font-family: inherit;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0;
  text-decoration: none;
}

/* line 157, app/assets/stylesheets/activate-journey/_shell.scss */
.activate-journey__back:hover {
  color: var(--mp-deep-forest);
}

/* line 160, app/assets/stylesheets/activate-journey/_shell.scss */
.activate-journey__avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1.5px solid var(--mp-deep-forest);
  color: var(--mp-deep-forest);
  font-size: 12px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-transform: uppercase;
}

/* line 174, app/assets/stylesheets/activate-journey/_shell.scss */
.activate-journey__body {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  max-width: 460px;
  width: 100%;
}

@media (max-width: 820px) {
  /* line 174, app/assets/stylesheets/activate-journey/_shell.scss */
  .activate-journey__body {
    justify-content: flex-start;
    padding-top: 8px;
  }
}

/* line 7, app/assets/stylesheets/activate-journey/_stage.scss */
.activate-journey__step-dots {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* line 13, app/assets/stylesheets/activate-journey/_stage.scss */
.activate-journey__step-dot {
  width: 7px;
  height: 7px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.25);
  transition: width 0.3s ease, background 0.3s ease;
}

/* line 20, app/assets/stylesheets/activate-journey/_stage.scss */
.activate-journey__step-dot--current {
  width: 22px;
  background: #fff;
}

/* line 27, app/assets/stylesheets/activate-journey/_stage.scss */
.activate-journey__sim-stage {
  position: relative;
  width: 340px;
  height: 400px;
}

@media (max-width: 820px) {
  /* line 27, app/assets/stylesheets/activate-journey/_stage.scss */
  .activate-journey__sim-stage {
    width: 240px;
    height: 280px;
    transform: scale(0.85);
    transform-origin: center;
  }
}

/* line 40, app/assets/stylesheets/activate-journey/_stage.scss */
.activate-journey__phone-outline {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* line 48, app/assets/stylesheets/activate-journey/_stage.scss */
.activate-journey__phone-svg {
  width: 200px;
  height: 380px;
  display: block;
}

@media (max-width: 820px) {
  /* line 48, app/assets/stylesheets/activate-journey/_stage.scss */
  .activate-journey__phone-svg {
    width: 160px;
    height: 304px;
  }
}

/* line 59, app/assets/stylesheets/activate-journey/_stage.scss */
.activate-journey__sim-svg {
  width: 108px;
  height: auto;
  display: block;
}

/* line 65, app/assets/stylesheets/activate-journey/_stage.scss */
.activate-journey__sim-floating {
  position: absolute;
  top: 0;
  left: 0;
}

/* line 72, app/assets/stylesheets/activate-journey/_stage.scss */
.activate-journey__qr-card {
  background: #fff;
  padding: 16px;
  border-radius: 14px;
  box-shadow: 0 24px 48px rgba(0, 0, 0, 0.25);
  display: inline-block;
}

/* line 80, app/assets/stylesheets/activate-journey/_stage.scss */
.activate-journey__qr-image {
  display: block;
  width: 280px;
  height: 280px;
  image-rendering: pixelated;
}

@media (max-width: 820px) {
  /* line 80, app/assets/stylesheets/activate-journey/_stage.scss */
  .activate-journey__qr-image {
    width: 220px;
    height: 220px;
  }
}

/* line 93, app/assets/stylesheets/activate-journey/_stage.scss */
.activate-journey__phone-screen-text {
  fill: #fff;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* line 99, app/assets/stylesheets/activate-journey/_stage.scss */
.activate-journey__transfer-stage {
  position: relative;
  width: 440px;
  height: 400px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
}

@media (max-width: 820px) {
  /* line 99, app/assets/stylesheets/activate-journey/_stage.scss */
  .activate-journey__transfer-stage {
    width: 320px;
    height: 280px;
    transform: scale(0.78);
    transform-origin: center;
  }
}

/* line 116, app/assets/stylesheets/activate-journey/_stage.scss */
.activate-journey__transfer-old, .activate-journey__transfer-new {
  position: relative;
  transform: scale(0.85);
}

/* line 122, app/assets/stylesheets/activate-journey/_stage.scss */
.activate-journey__transfer-old {
  opacity: 0.7;
}

/* line 126, app/assets/stylesheets/activate-journey/_stage.scss */
.activate-journey__transfer-caption {
  position: absolute;
  bottom: 30px;
  left: 0;
  right: 0;
  text-align: center;
  color: rgba(255, 255, 255, 0.7);
  font-size: 9px;
  letter-spacing: 0.08em;
  font-weight: 600;
}

/* line 138, app/assets/stylesheets/activate-journey/_stage.scss */
.activate-journey__transfer-pill {
  position: absolute;
  top: 42%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: var(--mp-sapling);
  color: var(--mp-deep-forest);
  padding: 9px 16px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
  box-shadow: 0 12px 32px rgba(202, 234, 74, 0.35);
  z-index: 5;
}

/* line 6, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey__eyebrow {
  font-size: 11px;
  color: var(--mp-pine);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin-bottom: 14px;
  font-weight: 700;
}

/* line 15, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey__title {
  font-family: var(--font-serif-display, "PT Serif", Georgia, serif);
  font-size: 42px;
  font-weight: 500;
  line-height: 1.05;
  margin: 0 0 14px;
  letter-spacing: -0.015em;
  color: var(--mp-grove);
}

/* line 24, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey__title em {
  font-style: italic;
  color: var(--mp-pine);
  font-family: inherit;
  font-weight: 500;
}

@media (max-width: 540px) {
  /* line 15, app/assets/stylesheets/activate-journey/_form.scss */
  .activate-journey__title {
    font-size: 32px;
    line-height: 1.08;
  }
}

/* line 37, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey__lede {
  color: var(--aj-fg-2);
  font-size: 15px;
  line-height: 1.55;
  margin: 0 0 24px;
}

/* line 45, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey__pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 4px 11px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  margin-bottom: 18px;
}

/* line 55, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey__pill::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
}

/* line 63, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey__pill--scheduled {
  background: rgba(245, 217, 122, 0.28);
  color: #7a5b14;
  border: 1px solid rgba(196, 156, 53, 0.35);
}

/* line 71, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey__otp {
  display: flex;
  gap: 10px;
  margin-bottom: 16px;
}

@media (max-width: 540px) {
  /* line 71, app/assets/stylesheets/activate-journey/_form.scss */
  .activate-journey__otp {
    gap: 8px;
  }
}

/* line 81, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey__otp-input {
  width: 64px;
  height: 72px;
  border: 1.5px solid var(--aj-border-strong);
  border-radius: 12px;
  background: #fff;
  color: var(--mp-grove);
  font-size: 28px;
  font-weight: 600;
  text-align: center;
  font-family: inherit;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

/* line 94, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey__otp-input:focus {
  outline: none;
  border-color: var(--mp-pine);
  box-shadow: 0 0 0 4px rgba(37, 103, 81, 0.08);
}

/* line 100, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey__otp-input--error {
  border-color: var(--mp-ember);
  background: rgba(207, 76, 0, 0.04);
  color: var(--mp-ember);
}

@media (max-width: 540px) {
  /* line 81, app/assets/stylesheets/activate-journey/_form.scss */
  .activate-journey__otp-input {
    width: 56px;
    height: 64px;
    font-size: 24px;
  }
}

/* line 114, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey__field {
  margin-bottom: 16px;
}

/* line 117, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey__field--inline {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

/* line 124, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey__label {
  display: block;
  font-size: 13px;
  color: var(--aj-fg-2);
  margin-bottom: 8px;
  font-weight: 500;
}

/* line 132, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey__input {
  width: 100%;
  background: #fff;
  border: 1.5px solid var(--aj-border);
  border-radius: 10px;
  padding: 14px 16px;
  font-size: 15px;
  font-family: inherit;
  color: var(--mp-grove);
  margin-bottom: 6px;
  letter-spacing: 0.01em;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

/* line 145, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey__input:focus {
  outline: none;
  border-color: var(--mp-pine);
  box-shadow: 0 0 0 4px rgba(37, 103, 81, 0.06);
}

/* line 151, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey__input--mono {
  font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

/* line 157, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey__input--error {
  border-color: var(--mp-ember);
  box-shadow: 0 0 0 4px rgba(207, 76, 0, 0.06);
}

/* line 162, app/assets/stylesheets/activate-journey/_form.scss */
.field_with_errors .activate-journey__input {
  border-color: var(--mp-ember);
}

/* line 167, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey__field-help {
  font-size: 12px;
  color: var(--aj-fg-3);
  margin-bottom: 16px;
}

/* line 172, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey__field-help strong {
  color: var(--aj-fg-2);
  font-weight: 600;
}

/* line 178, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey__field-error {
  color: var(--mp-ember);
  font-size: 12.5px;
  margin: 4px 0 0;
  font-weight: 500;
}

/* line 186, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey .field_with_errors {
  display: contents;
}

/* line 191, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 15px 22px;
  border-radius: 10px;
  font-family: inherit;
  font-weight: 600;
  font-size: 14.5px;
  cursor: pointer;
  text-decoration: none;
  border: none;
  transition: filter 0.15s ease, background 0.15s ease, color 0.15s ease;
  width: 100%;
}

/* line 207, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey__btn--primary {
  background: var(--mp-pine);
  color: #fff;
}

/* line 211, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey__btn--primary:hover:not(:disabled) {
  filter: brightness(1.08);
}

/* line 216, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey__btn--ghost {
  background: transparent;
  color: var(--aj-fg-2);
  border: 1.5px solid var(--aj-border);
  padding: 14px 22px;
  font-weight: 500;
  font-size: 14px;
}

/* line 224, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey__btn--ghost:hover {
  border-color: var(--aj-border-strong);
  color: var(--mp-deep-forest);
}

/* line 230, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey__btn:disabled {
  background: rgba(10, 31, 21, 0.12);
  color: var(--aj-fg-3);
  cursor: not-allowed;
}

/* line 237, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey__btn-row {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 10px;
}

/* line 242, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey__btn-row--even {
  grid-template-columns: 1fr 1fr;
}

@media (max-width: 540px) {
  /* line 237, app/assets/stylesheets/activate-journey/_form.scss */
  .activate-journey__btn-row {
    grid-template-columns: 1fr;
  }
}

/* line 252, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey__info {
  background: #fff;
  border: 1px solid var(--aj-border);
  border-radius: 12px;
  padding: 14px 16px;
  font-size: 13px;
  color: var(--aj-fg-2);
  margin-bottom: 28px;
  display: flex;
  gap: 12px;
  align-items: flex-start;
}

/* line 264, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey__info strong {
  color: var(--mp-grove);
  font-weight: 600;
}

/* line 266, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey__info svg {
  flex-shrink: 0;
  margin-top: 1px;
  color: var(--mp-pine);
}

/* line 272, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey__info--mist {
  background: var(--mp-mist);
  border-color: rgba(37, 103, 81, 0.18);
  color: var(--mp-pine);
  font-weight: 500;
  align-items: center;
}

/* line 279, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey__info--mist svg {
  color: currentColor;
  margin-top: 0;
}

/* line 282, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey__info--error {
  background: rgba(207, 76, 0, 0.06);
  border-color: rgba(207, 76, 0, 0.18);
  color: var(--mp-ember);
  font-weight: 500;
  align-items: flex-start;
}

/* line 289, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey__info--error svg {
  color: currentColor;
}

/* line 294, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey__steps {
  list-style: none;
  padding: 0;
  margin: 0 0 24px;
  counter-reset: aj-step;
}

/* line 301, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey__step {
  counter-increment: aj-step;
  display: flex;
  gap: 14px;
  align-items: flex-start;
  margin-bottom: 14px;
}

/* line 308, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey__step::before {
  content: counter(aj-step);
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #fff;
  border: 1.5px solid var(--aj-border);
  color: var(--aj-fg-2);
  font-size: 13px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

/* line 324, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey__step--mist::before {
  background: var(--mp-mist);
  border-color: transparent;
  color: var(--mp-pine);
}

/* line 331, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey__step-text {
  font-size: 14.5px;
  color: var(--aj-fg-2);
  line-height: 1.5;
  padding-top: 3px;
}

/* line 337, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey__step-text strong {
  color: var(--mp-grove);
  font-weight: 600;
}

/* line 341, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey__check-disc {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--mp-sapling);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 22px;
  color: var(--mp-deep-forest);
}

/* line 354, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey__summary {
  background: #fff;
  border: 1px solid var(--aj-border);
  border-radius: 14px;
  padding: 20px 22px;
  margin-bottom: 28px;
}

/* line 362, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey__summary-eyebrow {
  font-size: 11px;
  color: var(--aj-fg-3);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: 10px;
}

/* line 371, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey__summary-value {
  font-family: var(--font-serif-display, "PT Serif", Georgia, serif);
  font-size: 32px;
  font-weight: 600;
  color: var(--mp-grove);
  letter-spacing: -0.01em;
  line-height: 1.1;
}

/* line 379, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey__summary-value--md {
  font-size: 24px;
}

/* line 382, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey__summary-meta {
  display: flex;
  gap: 18px;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px dashed var(--aj-border);
  font-size: 13px;
  color: var(--aj-fg-3);
  flex-wrap: wrap;
}

/* line 392, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey__summary-meta strong {
  color: var(--mp-grove);
  font-weight: 600;
}

/* line 395, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey__summary-note {
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px dashed var(--aj-border);
  font-size: 13px;
  color: var(--aj-fg-2);
  line-height: 1.55;
}

/* line 405, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey__date-trigger {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  background: #fff;
  border: 1.5px solid var(--aj-border);
  border-radius: 10px;
  padding: 14px 16px;
  font-size: 15px;
  font-family: inherit;
  color: var(--mp-grove);
  cursor: pointer;
  text-align: left;
  margin-bottom: 6px;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

/* line 423, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey__date-trigger:hover, .activate-journey__date-trigger:focus {
  outline: none;
  border-color: var(--mp-pine);
  box-shadow: 0 0 0 4px rgba(37, 103, 81, 0.06);
}

/* line 430, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey__date-trigger svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  color: var(--aj-fg-3);
}

/* line 440, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey__date-input {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

/* line 453, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey .the-datepicker__container {
  font-family: inherit !important;
  color: var(--mp-grove) !important;
}

/* line 458, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey .the-datepicker__main {
  background: #fff !important;
  border: 1px solid var(--aj-border) !important;
  border-radius: 12px !important;
  box-shadow: 0 12px 28px rgba(2, 27, 17, 0.08) !important;
  padding: 12px !important;
}

/* line 466, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey .the-datepicker__header,
.activate-journey .the-datepicker__navigation,
.activate-journey .the-datepicker__state,
.activate-journey .the-datepicker__month,
.activate-journey .the-datepicker__year,
.activate-journey .the-datepicker__week-day {
  color: var(--mp-grove) !important;
  font-family: inherit !important;
}

/* line 476, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey .the-datepicker__week-day {
  color: var(--aj-fg-3) !important;
  font-weight: 600;
  font-size: 11px;
  letter-spacing: 0.04em;
}

/* line 484, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey .the-datepicker__day .the-datepicker__button,
.activate-journey .the-datepicker__year-button {
  color: var(--mp-pine) !important;
  font-weight: 600;
  text-decoration: none !important;
}

/* line 492, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey .the-datepicker__day-content {
  border-radius: 8px !important;
  padding: 4px 0;
  transition: background 0.15s ease, color 0.15s ease;
}

/* line 499, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey .the-datepicker__day--selected .the-datepicker__day-content {
  background: var(--mp-pine) !important;
  color: #fff !important;
}

/* line 505, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey .the-datepicker__day:not(.the-datepicker__day--unavailable):not(.the-datepicker__day--out-of-range):not(.the-datepicker__day--selected) .the-datepicker__day-content:hover {
  background: var(--mp-mist) !important;
  color: var(--mp-pine) !important;
}

/* line 511, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey .the-datepicker__day--unavailable .the-datepicker__button,
.activate-journey .the-datepicker__day--out-of-range .the-datepicker__button {
  color: var(--aj-fg-3) !important;
  opacity: 0.45;
  cursor: default !important;
}

/* line 519, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey .the-datepicker__day--today:not(.the-datepicker__day--selected) .the-datepicker__day-content {
  box-shadow: inset 0 0 0 1px var(--mp-pine);
  color: var(--mp-pine) !important;
}

/* line 525, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey .the-datepicker__go .the-datepicker__button,
.activate-journey .the-datepicker__reset .the-datepicker__button,
.activate-journey .the-datepicker__close .the-datepicker__button {
  color: var(--mp-pine) !important;
}

/* line 532, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey__link {
  color: var(--mp-pine);
  font-weight: 600;
  text-decoration: none;
}

/* line 537, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey__link:hover {
  text-decoration: underline;
}

/* line 540, app/assets/stylesheets/activate-journey/_form.scss */
.activate-journey__hint {
  font-size: 13px;
  color: var(--aj-fg-3);
  line-height: 1.5;
  margin: 0;
}

@keyframes aj-sim-slide {
  0% {
    transform: translate(150px, 90px) rotate(0deg) scale(1);
    opacity: 1;
  }
  60% {
    transform: translate(70px, 110px) rotate(-8deg) scale(0.7);
    opacity: 1;
  }
  100% {
    transform: translate(40px, 120px) rotate(-8deg) scale(0.4);
    opacity: 0;
  }
}

@keyframes aj-qr-pulse {
  0%, 100% {
    box-shadow: 0 24px 48px rgba(0, 0, 0, 0.25);
    transform: scale(1);
  }
  50% {
    box-shadow: 0 32px 64px rgba(202, 234, 74, 0.18);
    transform: scale(1.02);
  }
}

@keyframes aj-number-leap {
  0% {
    transform: translate(-90%, -50%);
  }
  45% {
    transform: translate(-50%, -50%) scale(1.04);
  }
  100% {
    transform: translate(20%, -50%);
  }
}

@keyframes aj-screen-fade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes aj-spin {
  to {
    transform: rotate(360deg);
  }
}

/* line 32, app/assets/stylesheets/activate-journey/_animations.scss */
.activate-journey__sim-floating--sliding {
  animation: aj-sim-slide 2.4s cubic-bezier(0.4, 0.1, 0.2, 1) infinite;
}

/* line 36, app/assets/stylesheets/activate-journey/_animations.scss */
.activate-journey__sim-floating--idle {
  transform: translate(150px, 90px);
}

/* line 40, app/assets/stylesheets/activate-journey/_animations.scss */
.activate-journey__sim-floating--inserted {
  opacity: 0;
}

/* line 45, app/assets/stylesheets/activate-journey/_animations.scss */
.activate-journey__phone-screen {
  opacity: 0;
  transition: opacity 0.4s ease;
}

/* line 50, app/assets/stylesheets/activate-journey/_animations.scss */
.activate-journey__phone-screen--lit {
  opacity: 1;
  animation: aj-screen-fade 0.6s ease-out;
}

/* line 56, app/assets/stylesheets/activate-journey/_animations.scss */
.activate-journey__qr-card--pulse {
  animation: aj-qr-pulse 2.6s ease-in-out infinite;
}

/* line 61, app/assets/stylesheets/activate-journey/_animations.scss */
.activate-journey__transfer-pill--leaping {
  animation: aj-number-leap 3.6s cubic-bezier(0.4, 0.1, 0.2, 1) infinite alternate;
}

@media (prefers-reduced-motion: reduce) {
  /* line 67, app/assets/stylesheets/activate-journey/_animations.scss */
  .activate-journey__sim-floating--sliding, .activate-journey__qr-card--pulse, .activate-journey__transfer-pill--leaping {
    animation: none;
  }
  /* line 73, app/assets/stylesheets/activate-journey/_animations.scss */
  .activate-journey__phone-screen--lit {
    animation: none;
  }
}

/* line 1, app/assets/stylesheets/plans/index.scss */
.plans {
  align-items: center;
}

@media only screen and (min-width: 1025px) {
  /* line 1, app/assets/stylesheets/plans/index.scss */
  .plans {
    display: flex;
    justify-content: center;
    min-height: 100vh;
  }
}

/* line 10, app/assets/stylesheets/plans/index.scss */
.plans__column, .plans__column--dark {
  position: relative;
  width: 100%;
  background: #f8f4ee;
}

@media only screen and (min-width: 1025px) {
  /* line 10, app/assets/stylesheets/plans/index.scss */
  .plans__column, .plans__column--dark {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    align-self: stretch;
  }
}

@media only screen and (max-width: 1024px) {
  /* line 10, app/assets/stylesheets/plans/index.scss */
  .plans__column, .plans__column--dark {
    width: 100%;
  }
}

/* line 27, app/assets/stylesheets/plans/index.scss */
.plans__column--dark {
  background: #063412;
}

@media only screen and (max-width: 1024px) {
  /* line 27, app/assets/stylesheets/plans/index.scss */
  .plans__column--dark {
    padding: 100px 0px 40px 0px;
    display: flex;
    justify-content: center;
  }
}

@media only screen and (min-width: 1025px) {
  /* line 40, app/assets/stylesheets/plans/index.scss */
  .plans__column-wrapper {
    flex: 1 1 50vw;
    width: 100%;
    display: flex;
    flex-direction: column;
  }
}

@media only screen and (max-width: 1024px) {
  /* line 40, app/assets/stylesheets/plans/index.scss */
  .plans__column-wrapper {
    padding: 0px 30px;
  }
}

/* line 53, app/assets/stylesheets/plans/index.scss */
.plans__text-wrapper {
  display: block;
}

@media only screen and (min-width: 1025px) {
  /* line 53, app/assets/stylesheets/plans/index.scss */
  .plans__text-wrapper {
    padding: 0px 100px;
  }
}

@media only screen and (max-width: 1024px) {
  /* line 53, app/assets/stylesheets/plans/index.scss */
  .plans__text-wrapper {
    padding: 10px 0px 0px 0px;
  }
}

/* line 65, app/assets/stylesheets/plans/index.scss */
.plans__promo-code-container {
  margin-top: 20px;
  padding: 20px 0px;
  display: block;
  max-width: 250px;
}

/* line 73, app/assets/stylesheets/plans/index.scss */
.plans__info span {
  color: #E80000;
  font-weight: bold;
}

/* line 79, app/assets/stylesheets/plans/index.scss */
.plans__form {
  margin: 0 auto;
}

/* line 83, app/assets/stylesheets/plans/index.scss */
.plans__select {
  padding: 16px;
  width: 100%;
  font-weight: 600;
  font-size: 20px;
  font-family: "Figtree";
}

/* line 91, app/assets/stylesheets/plans/index.scss */
.plans__header, .plans__header--spacing {
  color: #FFFFFF;
  font-size: 54px;
  font-style: normal;
  font-weight: 700;
  line-height: 54px;
  margin: 20px 0px;
}

@media only screen and (max-width: 1252px) {
  /* line 91, app/assets/stylesheets/plans/index.scss */
  .plans__header, .plans__header--spacing {
    font-size: 38px;
    line-height: 38px;
  }
}

@media only screen and (max-width: 1024px) {
  /* line 91, app/assets/stylesheets/plans/index.scss */
  .plans__header, .plans__header--spacing {
    font-size: 30px;
    line-height: 30px;
  }
}

/* line 109, app/assets/stylesheets/plans/index.scss */
.plans__header span, .plans__header--spacing span {
  font-size: 24px;
  font-style: normal;
  font-weight: 400;
  line-height: 24px;
}

/* line 116, app/assets/stylesheets/plans/index.scss */
.plans__header--spacing {
  font-size: 40px;
  line-height: 44px;
  margin: 30px 0px;
}

/* line 125, app/assets/stylesheets/plans/index.scss */
.plans__promo-code {
  font-size: 12px;
  background: #EF767A;
  border-radius: 24px;
  padding: 10px;
  color: #FFFFFF;
  font-weight: bold;
}

/* line 134, app/assets/stylesheets/plans/index.scss */
.plans__subheader {
  color: #000000;
  font-style: normal;
  font-weight: 700;
  padding: 20px 0px;
}

@media only screen and (min-width: 1025px) {
  /* line 134, app/assets/stylesheets/plans/index.scss */
  .plans__subheader {
    font-size: 24px;
    line-height: 24px;
  }
}

@media only screen and (max-width: 1024px) {
  /* line 134, app/assets/stylesheets/plans/index.scss */
  .plans__subheader {
    font-size: 20px;
    line-height: 20px;
  }
}

/* line 151, app/assets/stylesheets/plans/index.scss */
.plans__form-title {
  color: #000000;
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: 24px;
}

/* line 159, app/assets/stylesheets/plans/index.scss */
.plans__text {
  color: #FFFFFF;
  font-size: 24px;
  font-style: normal;
  font-weight: 400;
  line-height: 30px;
  margin: 0;
}

@media only screen and (max-width: 1252px) {
  /* line 159, app/assets/stylesheets/plans/index.scss */
  .plans__text {
    font-size: 20px;
    line-height: 24px;
  }
}

/* line 172, app/assets/stylesheets/plans/index.scss */
.plans__text--big {
  color: #FFFFFF;
  font-size: 18px !important;
  font-style: normal;
  font-weight: 400;
  line-height: 20px !important;
  margin: 20px 0px;
}

/* line 180, app/assets/stylesheets/plans/index.scss */
.plans__text--big a {
  font-weight: bold;
  color: #FFFFFF;
}

/* line 186, app/assets/stylesheets/plans/index.scss */
.plans__text--small {
  color: #FFFFFF;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 16px;
  margin: 0;
}

/* line 196, app/assets/stylesheets/plans/index.scss */
.plans__card-image {
  margin-bottom: 20px;
}

/* line 200, app/assets/stylesheets/plans/index.scss */
.plans__list, .plans__ordered-list {
  margin: 0;
  padding: 0;
  padding-left: 30px;
}

/* line 206, app/assets/stylesheets/plans/index.scss */
.plans__list-element {
  position: relative;
  list-style-type: none;
  color: #FFFFFF;
  font-size: 24px;
  font-style: normal;
  font-weight: 400;
  line-height: 30px;
}

@media only screen and (max-width: 1252px) {
  /* line 206, app/assets/stylesheets/plans/index.scss */
  .plans__list-element {
    font-size: 20px;
    line-height: 24px;
  }
}

/* line 220, app/assets/stylesheets/plans/index.scss */
.plans__list-element::before {
  content: "";
  position: absolute;
  left: -40px;
  top: 0;
  width: 30px;
  height: 30px;
  background-repeat: no-repeat;
  background-image: url(/assets/green-tick-icon-7e955d183f98412c319392bf1afd20aa09ca178d7d71c42dbf5fab0f4547b4f9.svg);
}

/* line 232, app/assets/stylesheets/plans/index.scss */
.plans__ordered-list-element {
  position: relative;
  list-style-type: none;
  color: #FFFFFF;
  font-size: 24px;
  font-style: normal;
  font-weight: 400;
  line-height: 30px;
  margin: 15px 0px;
}

@media only screen and (max-width: 1252px) {
  /* line 232, app/assets/stylesheets/plans/index.scss */
  .plans__ordered-list-element {
    font-size: 20px;
    line-height: 24px;
  }
}

/* line 247, app/assets/stylesheets/plans/index.scss */
.plans__ordered-list-element::before {
  content: "1";
  position: absolute;
  left: -40px;
  top: 0;
  width: 30px;
  height: 30px;
  background-color: #1c6b4d;
  font-size: 18px;
  line-height: 30px;
  font-weight: normal;
  color: #FFFFFF;
  text-align: center;
  border-radius: 20px;
  top: 50%;
  transform: translateY(-50%);
}

/* line 266, app/assets/stylesheets/plans/index.scss */
.plans__ordered-list-element:nth-of-type(2)::before {
  content: "2";
}

/* line 266, app/assets/stylesheets/plans/index.scss */
.plans__ordered-list-element:nth-of-type(3)::before {
  content: "3";
}

/* line 266, app/assets/stylesheets/plans/index.scss */
.plans__ordered-list-element:nth-of-type(4)::before {
  content: "4";
}

/* line 266, app/assets/stylesheets/plans/index.scss */
.plans__ordered-list-element:nth-of-type(5)::before {
  content: "5";
}

/* line 266, app/assets/stylesheets/plans/index.scss */
.plans__ordered-list-element:nth-of-type(6)::before {
  content: "6";
}

/* line 266, app/assets/stylesheets/plans/index.scss */
.plans__ordered-list-element:nth-of-type(7)::before {
  content: "7";
}

/* line 266, app/assets/stylesheets/plans/index.scss */
.plans__ordered-list-element:nth-of-type(8)::before {
  content: "8";
}

/* line 266, app/assets/stylesheets/plans/index.scss */
.plans__ordered-list-element:nth-of-type(9)::before {
  content: "9";
}

/* line 266, app/assets/stylesheets/plans/index.scss */
.plans__ordered-list-element:nth-of-type(10)::before {
  content: "10";
}

/* line 272, app/assets/stylesheets/plans/index.scss */
.plans__card-section {
  display: flex;
}

/* line 275, app/assets/stylesheets/plans/index.scss */
.plans__card-section--row {
  display: block;
}

/* line 280, app/assets/stylesheets/plans/index.scss */
.plans__radio-input {
  display: none;
}

/* line 283, app/assets/stylesheets/plans/index.scss */
.plans__radio-input:checked + .plans__radio-button, .plans__radio-input:checked + .plans__radio-button--disabled {
  outline: 4px solid #1c6b4d;
}

/* line 288, app/assets/stylesheets/plans/index.scss */
.plans__radio-button--selected {
  outline: 4px solid #1c6b4d;
}

@media only screen and (min-width: 1025px) {
  /* line 292, app/assets/stylesheets/plans/index.scss */
  .plans .data .plans__radio-button, .plans .data .plans__radio-button--disabled {
    font-size: 36px;
    line-height: 32px;
  }
}

@media only screen and (max-width: 1024px) {
  /* line 292, app/assets/stylesheets/plans/index.scss */
  .plans .data .plans__radio-button, .plans .data .plans__radio-button--disabled {
    font-size: 24px;
    line-height: 20px;
  }
}

/* line 304, app/assets/stylesheets/plans/index.scss */
.plans__welcome-text {
  padding: 15px 0px;
}

/* line 308, app/assets/stylesheets/plans/index.scss */
.plans__number-field {
  z-index: 3;
  background: #FFFFFF;
  font-size: 36px;
  line-height: 32px;
  font-style: normal;
  font-weight: 700;
  color: #000000;
  position: absolute;
  top: 28px;
  left: 32px;
  width: 40px;
}

/* line 322, app/assets/stylesheets/plans/index.scss */
.plans__radio-button, .plans__radio-button--disabled {
  background: #FFFFFF;
  padding: 30px 0px;
  border-radius: 20px;
  box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.1);
  margin: 0px 5px;
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 24px;
  color: #000000;
  width: 100%;
  text-align: center;
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
  z-index: 2;
  min-height: 100px;
}

/* line 342, app/assets/stylesheets/plans/index.scss */
.plans__radio-button--padding {
  padding: 30px 0px 30px 40px;
}

/* line 346, app/assets/stylesheets/plans/index.scss */
.plans__radio-button--disabled {
  opacity: 0.5;
}

/* line 350, app/assets/stylesheets/plans/index.scss */
.plans__radio-button--disabled::before {
  content: "Coming soon";
  position: absolute;
  bottom: -40px;
  background: #D9D9D9;
  font-family: "Figtree";
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  line-height: 24px;
  width: 94%;
  left: calc(0 + 2%);
  padding: 5px 0px;
  border-radius: 0px 0px 8px 8px;
}

/* line 367, app/assets/stylesheets/plans/index.scss */
.plans__radio-button.contract_12, .contract_12.plans__radio-button--disabled, .plans__radio-button.contract_24, .contract_24.plans__radio-button--disabled {
  flex-direction: column;
}

/* line 371, app/assets/stylesheets/plans/index.scss */
.plans__radio-button.contract_12::after, .contract_12.plans__radio-button--disabled::after, .plans__radio-button.contract_24::after, .contract_24.plans__radio-button--disabled::after {
  content: "Save 10%";
  position: absolute;
  bottom: -4px;
  display: block;
  width: 100%;
  font-weight: 400;
  font-size: 16px;
  background-color: #D9D9D9;
  border-top-width: 0;
  border-bottom-width: 0;
  border-bottom-left-radius: 20px;
  border-bottom-right-radius: 20px;
  padding-bottom: 8px;
  z-index: -1;
}

/* line 390, app/assets/stylesheets/plans/index.scss */
.plans__radio-button.contract_24::after, .contract_24.plans__radio-button--disabled::after {
  content: "Save 15%";
}

/* line 395, app/assets/stylesheets/plans/index.scss */
.plans__radio-button p, .plans__radio-button--disabled p {
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 24px;
  text-align: left;
  margin: 0;
}

/* line 404, app/assets/stylesheets/plans/index.scss */
.plans__radio-button h4, .plans__radio-button--disabled h4 {
  text-align: left;
  font-style: normal;
  font-weight: 700;
  margin: 0;
}

@media only screen and (min-width: 1025px) {
  /* line 404, app/assets/stylesheets/plans/index.scss */
  .plans__radio-button h4, .plans__radio-button--disabled h4 {
    font-size: 36px;
    line-height: 36px;
  }
}

@media only screen and (max-width: 1024px) {
  /* line 404, app/assets/stylesheets/plans/index.scss */
  .plans__radio-button h4, .plans__radio-button--disabled h4 {
    font-size: 24px;
    line-height: 24px;
  }
}

/* line 421, app/assets/stylesheets/plans/index.scss */
.plans__radio-button img, .plans__radio-button--disabled img {
  margin: 0 20px;
}

/* line 426, app/assets/stylesheets/plans/index.scss */
.plans__icon-box {
  display: flex;
  justify-content: center;
  margin-right: 20px;
}

/* line 432, app/assets/stylesheets/plans/index.scss */
.plans__card {
  display: inline-flex;
  width: 100%;
  margin: 10px 0px;
  position: relative;
}

/* line 439, app/assets/stylesheets/plans/index.scss */
.plans__summary {
  background: #FFFFFF;
  border-radius: 6px;
  display: flex;
  align-items: center;
  text-align: center;
}

@media only screen and (min-width: 1025px) {
  /* line 439, app/assets/stylesheets/plans/index.scss */
  .plans__summary {
    padding: 10px;
    margin: 0 auto;
    display: block;
    margin-top: 40px;
  }
}

@media only screen and (max-width: 1024px) {
  /* line 439, app/assets/stylesheets/plans/index.scss */
  .plans__summary {
    width: 100%;
    margin: 20px 0px;
  }
}

@media only screen and (min-width: 1025px) {
  /* line 459, app/assets/stylesheets/plans/index.scss */
  .plans__summary-element {
    padding: 0px 20px;
  }
}

@media only screen and (max-width: 1024px) {
  /* line 459, app/assets/stylesheets/plans/index.scss */
  .plans__summary-element {
    padding: 20px;
    width: 100%;
  }
}

/* line 470, app/assets/stylesheets/plans/index.scss */
.plans__summary-text, .plans__summary-text--light {
  color: #000000;
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  margin: 0;
}

/* line 478, app/assets/stylesheets/plans/index.scss */
.plans__summary-text--light {
  font-weight: 400;
}

/* line 484, app/assets/stylesheets/plans/index.scss */
.plans__price {
  margin: 10px 0px;
  font-size: 30px;
  font-style: normal;
  font-weight: 700;
  line-height: 24px;
}

@media only screen and (min-width: 1025px) {
  /* line 484, app/assets/stylesheets/plans/index.scss */
  .plans__price {
    font-size: 30px;
  }
}

@media only screen and (max-width: 1024px) {
  /* line 484, app/assets/stylesheets/plans/index.scss */
  .plans__price {
    font-size: 24px;
  }
}

/* line 500, app/assets/stylesheets/plans/index.scss */
.plans__original-price {
  font-size: 16px;
  color: #6B7280;
  font-weight: normal;
  text-decoration: line-through;
}

/* line 507, app/assets/stylesheets/plans/index.scss */
.plans__button {
  background: #1c6b4d;
  border-radius: 6px;
  border: none;
  color: #FFFFFF;
  cursor: pointer;
  font-family: "Figtree";
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 24px;
  margin-top: 10px;
  margin-bottom: 10px;
  padding: 5px 50px;
  width: 100%;
}

/* line 523, app/assets/stylesheets/plans/index.scss */
.plans__button:disabled {
  opacity: 0.75;
}

/* line 527, app/assets/stylesheets/plans/index.scss */
.plans__button--dark {
  background: #063412;
}

/* line 530, app/assets/stylesheets/plans/index.scss */
.plans__button--dark:hover {
  background: #031d0a;
}

/* line 535, app/assets/stylesheets/plans/index.scss */
.plans__button--single {
  background: #1c6b4d;
  border-radius: 6px;
  border: none;
  color: #FFFFFF;
  cursor: pointer;
  float: right;
  font-family: "Figtree";
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 24px;
  margin-top: 40px;
  padding: 10px 50px;
  width: 100%;
}

@media only screen and (min-width: 1025px) {
  /* line 553, app/assets/stylesheets/plans/index.scss */
  .plans__icons {
    font-size: 36px;
  }
}

@media only screen and (max-width: 1024px) {
  /* line 553, app/assets/stylesheets/plans/index.scss */
  .plans__icons {
    font-size: 20px;
  }
}

/* line 564, app/assets/stylesheets/plans/index.scss */
.plans .plan_summary .plans__header, .plans .plan_summary .plans__header--spacing {
  margin: 5px 0;
}

/* line 569, app/assets/stylesheets/plans/index.scss */
.plans__perks {
  margin: 20px 0;
}

/* line 573, app/assets/stylesheets/plans/index.scss */
.plans__label {
  font-weight: 400;
}

/* line 577, app/assets/stylesheets/plans/index.scss */
.plans__label--with-margin {
  margin-bottom: 10px;
}

/* line 582, app/assets/stylesheets/plans/index.scss */
.plans select {
  background: url(/assets/dropdown-arrow-6ab802aea67fcced8262391b1de2738859cff0acfcb9a1ef4a49dabcd3cb1d29.svg) 97% center no-repeat, linear-gradient(to right, #FFFFFF, #FFFFFF);
  appearance: none;
}

/* line 587, app/assets/stylesheets/plans/index.scss */
.plans__promo-form {
  margin-top: 15px;
}

/* line 591, app/assets/stylesheets/plans/index.scss */
.plans__promo-button {
  color: #FFFFFF;
  border: 1px solid #FFFFFF;
  padding: 5px 10px;
  font-size: 14px;
  border-radius: 6px;
  cursor: pointer;
  background: #063412;
  opacity: 0.7;
}

/* line 601, app/assets/stylesheets/plans/index.scss */
.plans__promo-button:hover {
  opacity: 1;
}

/* line 606, app/assets/stylesheets/plans/index.scss */
.plans__promo-input {
  color: #FFFFFF;
  border: 1px solid #FFFFFF;
  padding: 5px 10px;
  font-size: 14px;
  border-radius: 6px;
  background: #6B7280;
  opacity: 0.7;
}

/* line 615, app/assets/stylesheets/plans/index.scss */
.plans__promo-input:hover, .plans__promo-input:focus {
  opacity: 1;
  color: #000000;
  border: 1px solid #000000;
  background: #FFFFFF;
}

/* line 626, app/assets/stylesheets/plans/index.scss */
.plans__input--no-margin {
  margin: 0;
}

/* line 630, app/assets/stylesheets/plans/index.scss */
.plans__input--one-group {
  margin: 0;
}

/* line 634, app/assets/stylesheets/plans/index.scss */
.plans__input--border {
  border-radius: 6px 6px 0px 0px;
  border-bottom: none;
}

/* line 639, app/assets/stylesheets/plans/index.scss */
.plans__input--no-border-top {
  border-top: none;
  border-radius: 0px 0px 8px 8px;
  margin-bottom: 10px;
}

/* line 645, app/assets/stylesheets/plans/index.scss */
.plans__input--error {
  border-color: #E80000;
}

/* line 652, app/assets/stylesheets/plans/index.scss */
.plans__form {
  margin: 20px 0px 0px 0px;
  max-width: 500px;
  margin: 0 auto;
}

/* line 659, app/assets/stylesheets/plans/index.scss */
.plans__form-group--one-row-inputs {
  margin-bottom: 20px;
  display: flex;
  justify-content: left;
  flex-direction: row;
}

/* line 665, app/assets/stylesheets/plans/index.scss */
.plans__form-group--one-row-inputs input {
  height: 38px;
  width: 38px;
  margin: 0px 18px 0 0;
  padding: 8px;
  text-align: center;
  font-size: 28px;
}

/* line 673, app/assets/stylesheets/plans/index.scss */
.plans__form-group--one-row-inputs input::placeholder {
  text-align: center;
  font-size: 28px;
}

/* line 680, app/assets/stylesheets/plans/index.scss */
.plans__form-group--one-row {
  display: flex;
  margin-bottom: 10px;
}

/* line 684, app/assets/stylesheets/plans/index.scss */
.plans__form-group--one-row .field_with_errors {
  width: 50%;
}

/* line 688, app/assets/stylesheets/plans/index.scss */
.plans__form-group--one-row .field_with_errors:first-child .plans__input--error {
  border-radius: 0px 0px 0px 6px;
}

/* line 694, app/assets/stylesheets/plans/index.scss */
.plans__form-group--one-row .field_with_errors:last-child .plans__input--error {
  border-radius: 0px 0px 6px 0px;
}

/* line 701, app/assets/stylesheets/plans/index.scss */
.plans__form-group--one-row input:first-child {
  border-radius: 0px 0px 0px 6px;
}

/* line 705, app/assets/stylesheets/plans/index.scss */
.plans__form-group--one-row input:last-child {
  border-radius: 0px 0px 6px 0px;
}

/* line 716, app/assets/stylesheets/plans/index.scss */
.plans__form-button {
  background-color: #1c6b4d;
  margin: 20px 0px;
}

/* line 723, app/assets/stylesheets/plans/index.scss */
.plans__disclaimer {
  font-size: 12px;
  font-style: normal;
  font-weight: 500;
  line-height: 16px;
  color: #000000;
  margin: 0;
}

/* line 732, app/assets/stylesheets/plans/index.scss */
.plans__e-sim-icon {
  margin: 0 auto;
  display: block;
  max-width: 200px;
}

/* line 738, app/assets/stylesheets/plans/index.scss */
.plans #sim_plan_form_country {
  border-radius: 8px 8px 0px 0px;
}

/* line 742, app/assets/stylesheets/plans/index.scss */
.plans #payment-form {
  margin: 0 auto 30px;
  padding: 0 30px;
}

@media only screen and (min-width: 1025px) {
  /* line 742, app/assets/stylesheets/plans/index.scss */
  .plans #payment-form {
    width: 600px;
  }
}

@media only screen and (max-width: 1024px) {
  /* line 742, app/assets/stylesheets/plans/index.scss */
  .plans #payment-form {
    max-width: 500px;
  }
}

/* line 754, app/assets/stylesheets/plans/index.scss */
.plans #payment-form #payment-element {
  margin-bottom: 10px;
}

/* line 758, app/assets/stylesheets/plans/index.scss */
.plans #payment-form #error-message {
  color: #FF4D4D;
  font-size: 16px;
  line-height: 20px;
}

/* line 764, app/assets/stylesheets/plans/index.scss */
.plans #payment-form button {
  margin-top: 10px;
}

/* line 770, app/assets/stylesheets/plans/index.scss */
.plans.success .plans__image-wrapper {
  padding: 0px 60px;
  position: relative;
}

/* line 774, app/assets/stylesheets/plans/index.scss */
.plans.success .plans__image-wrapper img {
  max-width: 100%;
  display: block;
  border-radius: 20px;
  filter: brightness(0.92);
}

/* line 781, app/assets/stylesheets/plans/index.scss */
.plans.success .plans__image-wrapper::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 20px;
  background: linear-gradient(to bottom, rgba(6, 52, 18, 0.85) 0%, transparent 25%, transparent 70%, rgba(6, 52, 18, 0.95) 100%), linear-gradient(to right, rgba(6, 52, 18, 0.45) 0%, transparent 18% 82%, rgba(6, 52, 18, 0.45) 100%);
  pointer-events: none;
}

/* line 793, app/assets/stylesheets/plans/index.scss */
.plans.success .plans__text-wrapper {
  margin: 0 auto;
}

/* line 797, app/assets/stylesheets/plans/index.scss */
.plans.success .plans__content-wrapper {
  position: relative;
  padding-left: 60px;
}

/* line 801, app/assets/stylesheets/plans/index.scss */
.plans.success .plans__content-wrapper p {
  padding: 5px 0px;
  font-size: 22px;
  line-height: 32px;
}

@media only screen and (max-width: 1024px) {
  /* line 801, app/assets/stylesheets/plans/index.scss */
  .plans.success .plans__content-wrapper p {
    font-size: 16px;
    line-height: 20px;
  }
}

/* line 811, app/assets/stylesheets/plans/index.scss */
.plans.success .plans__content-wrapper p::before {
  content: "1";
  position: absolute;
  left: 0;
  display: block;
  height: 40px;
  width: 40px;
  font-size: 28px;
  line-height: 40px;
  font-weight: 700;
  color: #FFFFFF;
  text-align: center;
  background-color: #1c6b4d;
  border-radius: 20px;
}

@media only screen and (max-width: 1024px) {
  /* line 811, app/assets/stylesheets/plans/index.scss */
  .plans.success .plans__content-wrapper p::before {
    font-size: 20px;
    line-height: 32px;
    height: 32px;
    width: 32px;
  }
}

/* line 834, app/assets/stylesheets/plans/index.scss */
.plans.success .plans__content-wrapper p:nth-of-type(2)::before {
  content: "2";
}

/* line 838, app/assets/stylesheets/plans/index.scss */
.plans.success .plans__content-wrapper p:nth-of-type(3)::before {
  content: "3";
}

/* line 842, app/assets/stylesheets/plans/index.scss */
.plans.success .plans__content-wrapper p:nth-of-type(4)::before {
  content: "4";
}

/* line 848, app/assets/stylesheets/plans/index.scss */
.plans.success .store-icon,
.plans.success .social-icon {
  display: inline-block;
  margin-right: 25px;
}

/* line 1, app/assets/stylesheets/the-datepicker.css */
body.the-datepicker-page {
  overflow: hidden;
}

@media (min-width: 37.5em) {
  /* line 5, app/assets/stylesheets/the-datepicker.css */
  body.the-datepicker-page {
    overflow: auto;
  }
}

/* line 9, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__container {
  position: absolute;
  left: auto;
  top: auto;
  z-index: 99;
}

/* line 16, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__container .the-datepicker__main {
  border-top-left-radius: 0;
}

/* line 19, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__container.the-datepicker__container--over .the-datepicker__main {
  border-top-left-radius: 0.3em;
  border-bottom-left-radius: 0;
}

/* line 23, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__container.the-datepicker__container--left .the-datepicker__main {
  border-top-left-radius: 0.3em;
  border-top-right-radius: 0;
}

/* line 27, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__container.the-datepicker__container--over.the-datepicker__container--left .the-datepicker__main {
  border-bottom-left-radius: 0.3em;
  border-top-right-radius: 0.3em;
  border-bottom-right-radius: 0;
}

/* line 32, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__main {
  width: auto;
  height: auto;
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 0.3em;
  font-family: Arial, Helvetica, sans-serif;
  line-height: 1em;
  box-sizing: border-box;
  overflow-y: auto;
}

/* line 43, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__main.the-datepicker__main--darkmode {
  background-color: #000;
  border-color: #494949;
}

@media (min-width: 37.5em) {
  /* line 49, app/assets/stylesheets/the-datepicker.css */
  .the-datepicker__container--responsive .the-datepicker__main {
    width: auto;
    height: auto;
  }
}

/* line 54, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__main .the-datepicker__header {
  padding: 0.4em 0.4em 0 0.4em;
}

/* line 57, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__main .the-datepicker__body {
  margin-top: 1em;
  padding: 0 0.4em 0.4em 0.4em;
  overflow-x: hidden;
  overflow-y: hidden;
}

/* line 63, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__main .the-datepicker__body.the-datepicker__body--swipeable {
  touch-action: none;
}

/* line 66, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__main th.the-datepicker__week-day {
  padding: 0.5em 0;
  text-align: center;
  font-weight: normal;
  text-transform: uppercase;
  color: #666;
  font-size: 0.85em;
}

/* line 74, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__main a.the-datepicker__button {
  display: block;
  width: 2.1em;
  padding: 0.6em 0;
  text-decoration: none;
  text-align: center;
  color: #007eff;
  border-radius: 0.3em;
}

/* line 83, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__main a.the-datepicker__button:hover {
  background-color: #d1e8ff;
  text-decoration: none;
}

/* line 87, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__main--darkmode.the-datepicker__main a.the-datepicker__button:hover {
  background-color: #003b75;
}

/* line 90, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__main a.the-datepicker__day-button {
  width: auto;
}

/* line 93, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__container .the-datepicker__main a.the-datepicker__day-button {
  width: 2.1em;
}

/* line 96, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__container.the-datepicker__container--responsive .the-datepicker__main a.the-datepicker__day-button {
  width: auto;
}

@media (min-width: 37.5em) {
  /* line 100, app/assets/stylesheets/the-datepicker.css */
  .the-datepicker__container.the-datepicker__container--responsive .the-datepicker__main a.the-datepicker__day-button {
    width: 2.1em;
  }
}

/* line 104, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__main a.the-datepicker__year-button {
  width: auto;
}

/* line 107, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__main a.the-datepicker__year-cell-button {
  width: auto;
}

/* line 110, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__container .the-datepicker__main a.the-datepicker__year-cell-button {
  width: 3.825em;
}

/* line 113, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__container.the-datepicker__container--responsive .the-datepicker__main a.the-datepicker__year-cell-button {
  width: auto;
}

@media (min-width: 37.5em) {
  /* line 117, app/assets/stylesheets/the-datepicker.css */
  .the-datepicker__container.the-datepicker__container--responsive .the-datepicker__main a.the-datepicker__year-cell-button {
    width: 3.825em;
  }
}

/* line 121, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__main .the-datepicker__title {
  display: inline-block;
  width: 70%;
}

/* line 125, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__main .the-datepicker__title-content {
  display: inline-block;
  padding: 0.5em;
}

/* line 129, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__main .the-datepicker__control {
  display: inline-block;
  width: 30%;
  text-align: right;
}

/* line 134, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__main .the-datepicker__reset,
.the-datepicker__main .the-datepicker__close {
  display: inline-block;
  font-weight: bold;
}

/* line 139, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__main .the-datepicker__navigation {
  margin-top: 0.3em;
}

/* line 142, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__main .the-datepicker__go {
  display: inline-block;
  width: 15%;
}

/* line 146, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__main .the-datepicker__go a.the-datepicker__button {
  display: inline-block;
  font-weight: bold;
}

/* line 150, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__main .the-datepicker__go-next {
  text-align: right;
}

/* line 153, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__main .the-datepicker__state {
  display: inline-block;
  width: 70%;
}

/* line 157, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__main .the-datepicker__month {
  display: inline-block;
  width: 62%;
  text-align: center;
}

/* line 162, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__main .the-datepicker__year {
  display: inline-block;
  width: 38%;
  text-align: center;
}

/* line 167, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__main .the-datepicker__month-year {
  text-align: center;
}

/* line 170, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__main select.the-datepicker__select {
  font-size: 0.9em;
  margin: 0;
  padding: 0;
  background-color: #fff;
  color: #000;
}

/* line 177, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__main--darkmode.the-datepicker__main select.the-datepicker__select {
  background-color: #000;
  color: #cdcdcd;
}

/* line 181, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__main table.the-datepicker__table {
  width: 100%;
  border-collapse: collapse;
}

/* line 185, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__container .the-datepicker__main table.the-datepicker__table {
  width: auto;
}

/* line 188, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__container.the-datepicker__container--responsive .the-datepicker__main table.the-datepicker__table {
  width: 100%;
}

@media (min-width: 37.5em) {
  /* line 192, app/assets/stylesheets/the-datepicker.css */
  .the-datepicker__container.the-datepicker__container--responsive .the-datepicker__main table.the-datepicker__table {
    width: auto;
  }
}

/* line 196, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__main td.the-datepicker__cell {
  padding: 0;
}

/* line 199, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__main td.the-datepicker__cell a.the-datepicker__button {
  padding: 0.1em;
  margin: 0 auto;
}

/* line 203, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__main td.the-datepicker__cell a.the-datepicker__button .the-datepicker__button-content {
  display: block;
}

/* line 206, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__main td.the-datepicker__cell a.the-datepicker__button .the-datepicker__button-content.the-datepicker__day-content {
  padding: 0.6em 0;
}

/* line 209, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__main td.the-datepicker__cell a.the-datepicker__button .the-datepicker__button-content.the-datepicker__year-cell-content {
  padding: 0.755em 0;
}

/* line 212, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__main td.the-datepicker__cell a.the-datepicker__button .the-datepicker__button-content {
  text-align: center;
  border-radius: 0.3em;
}

/* line 216, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__main td.the-datepicker__cell a.the-datepicker__button:hover {
  background-color: transparent;
}

/* line 219, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__main td.the-datepicker__cell a.the-datepicker__button:hover .the-datepicker__button-content {
  background-color: #d1e8ff;
}

/* line 222, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__main--darkmode.the-datepicker__main td.the-datepicker__cell a.the-datepicker__button:hover .the-datepicker__button-content {
  background-color: #003b75;
}

/* line 225, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__main td.the-datepicker__cell--highlighted a.the-datepicker__button .the-datepicker__button-content {
  background-color: #d1e8ff;
}

/* line 228, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__main--darkmode.the-datepicker__main td.the-datepicker__cell--highlighted a.the-datepicker__button .the-datepicker__button-content {
  background-color: #003b75;
}

/* line 231, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__main td.the-datepicker__day--outside a.the-datepicker__button {
  color: #8ac4ff;
}

/* line 234, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__main--darkmode.the-datepicker__main td.the-datepicker__day--outside a.the-datepicker__button {
  color: #002a41;
}

/* line 237, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__main td.the-datepicker__cell--unavailable a.the-datepicker__button {
  color: #aaa;
}

/* line 240, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__main--darkmode.the-datepicker__main td.the-datepicker__cell--unavailable a.the-datepicker__button {
  color: #323232;
}

/* line 243, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__main td.the-datepicker__cell--unavailable a.the-datepicker__button:hover .the-datepicker__button-content {
  background-color: transparent;
}

/* line 246, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__main--darkmode.the-datepicker__main td.the-datepicker__cell--unavailable a.the-datepicker__button:hover .the-datepicker__button-content {
  background-color: transparent;
}

/* line 249, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__main td.the-datepicker__cell--selected a.the-datepicker__button,
.the-datepicker__main td.the-datepicker__cell--selected.the-datepicker__cell--highlighted a.the-datepicker__button {
  color: #fff;
}

/* line 253, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__main--darkmode.the-datepicker__main td.the-datepicker__cell--selected a.the-datepicker__button,
.the-datepicker__main--darkmode.the-datepicker__main td.the-datepicker__cell--selected.the-datepicker__cell--highlighted a.the-datepicker__button {
  color: #fff;
}

/* line 257, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__main td.the-datepicker__cell--selected a.the-datepicker__button .the-datepicker__button-content,
.the-datepicker__main td.the-datepicker__cell--selected.the-datepicker__cell--highlighted a.the-datepicker__button .the-datepicker__button-content {
  background-color: #007eff;
}

/* line 261, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__main td.the-datepicker__cell--selected a.the-datepicker__button:hover .the-datepicker__button-content,
.the-datepicker__main td.the-datepicker__cell--selected.the-datepicker__cell--highlighted a.the-datepicker__button:hover .the-datepicker__button-content {
  background-color: #007eff;
}

/* line 265, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__main--darkmode.the-datepicker__main td.the-datepicker__cell--selected a.the-datepicker__button:hover .the-datepicker__button-content,
.the-datepicker__main--darkmode.the-datepicker__main td.the-datepicker__cell--selected.the-datepicker__cell--highlighted a.the-datepicker__button:hover .the-datepicker__button-content {
  background-color: #007eff;
}

/* line 269, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__main .the-datepicker__animated {
  animation-duration: 0.1s;
  animation-fill-mode: both;
}

/* line 273, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__deselect {
  position: absolute;
}

/* line 276, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__deselect .the-datepicker__deselect-button {
  position: relative;
  left: -0.8em;
  text-decoration: none;
  color: #007eff;
  font-weight: bold;
}

/* line 283, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__deselect .the-datepicker__deselect-button:hover {
  text-decoration: none;
}

/* line 286, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__fade-out-left {
  animation-name: the-datepicker-fade-out-left;
}

/* line 289, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__fade-out-right {
  animation-name: the-datepicker-fade-out-right;
}

/* line 292, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__fade-in-left {
  animation-name: the-datepicker-fade-in-left;
}

/* line 295, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__fade-in-right {
  animation-name: the-datepicker-fade-in-right;
}

/* line 298, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__fade-out-up {
  animation-name: the-datepicker-fade-out-up;
}

/* line 301, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__fade-out-down {
  animation-name: the-datepicker-fade-out-down;
}

/* line 304, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__fade-in-up {
  animation-name: the-datepicker-fade-in-up;
}

/* line 307, app/assets/stylesheets/the-datepicker.css */
.the-datepicker__fade-in-down {
  animation-name: the-datepicker-fade-in-down;
}

@-moz-keyframes the-datepicker-fade-out-left {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(-100%, 0, 0);
  }
}

@-webkit-keyframes the-datepicker-fade-out-left {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(-100%, 0, 0);
  }
}

@-o-keyframes the-datepicker-fade-out-left {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(-100%, 0, 0);
  }
}

@keyframes the-datepicker-fade-out-left {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(-100%, 0, 0);
  }
}

@-moz-keyframes the-datepicker-fade-out-right {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(100%, 0, 0);
  }
}

@-webkit-keyframes the-datepicker-fade-out-right {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(100%, 0, 0);
  }
}

@-o-keyframes the-datepicker-fade-out-right {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(100%, 0, 0);
  }
}

@keyframes the-datepicker-fade-out-right {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(100%, 0, 0);
  }
}

@-moz-keyframes the-datepicker-fade-in-left {
  from {
    transform: translate3d(-100%, 0, 0);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}

@-webkit-keyframes the-datepicker-fade-in-left {
  from {
    transform: translate3d(-100%, 0, 0);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}

@-o-keyframes the-datepicker-fade-in-left {
  from {
    transform: translate3d(-100%, 0, 0);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}

@keyframes the-datepicker-fade-in-left {
  from {
    transform: translate3d(-100%, 0, 0);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}

@-moz-keyframes the-datepicker-fade-in-right {
  from {
    transform: translate3d(100%, 0, 0);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}

@-webkit-keyframes the-datepicker-fade-in-right {
  from {
    transform: translate3d(100%, 0, 0);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}

@-o-keyframes the-datepicker-fade-in-right {
  from {
    transform: translate3d(100%, 0, 0);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}

@keyframes the-datepicker-fade-in-right {
  from {
    transform: translate3d(100%, 0, 0);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}

@-moz-keyframes the-datepicker-fade-out-up {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(0, -100%, 0);
  }
}

@-webkit-keyframes the-datepicker-fade-out-up {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(0, -100%, 0);
  }
}

@-o-keyframes the-datepicker-fade-out-up {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(0, -100%, 0);
  }
}

@keyframes the-datepicker-fade-out-up {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(0, -100%, 0);
  }
}

@-moz-keyframes the-datepicker-fade-out-down {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(0, 100%, 0);
  }
}

@-webkit-keyframes the-datepicker-fade-out-down {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(0, 100%, 0);
  }
}

@-o-keyframes the-datepicker-fade-out-down {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(0, 100%, 0);
  }
}

@keyframes the-datepicker-fade-out-down {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(0, 100%, 0);
  }
}

@-moz-keyframes the-datepicker-fade-in-up {
  from {
    transform: translate3d(0, -100%, 0);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}

@-webkit-keyframes the-datepicker-fade-in-up {
  from {
    transform: translate3d(0, -100%, 0);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}

@-o-keyframes the-datepicker-fade-in-up {
  from {
    transform: translate3d(0, -100%, 0);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}

@keyframes the-datepicker-fade-in-up {
  from {
    transform: translate3d(0, -100%, 0);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}

@-moz-keyframes the-datepicker-fade-in-down {
  from {
    transform: translate3d(0, 100%, 0);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}

@-webkit-keyframes the-datepicker-fade-in-down {
  from {
    transform: translate3d(0, 100%, 0);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}

@-o-keyframes the-datepicker-fade-in-down {
  from {
    transform: translate3d(0, 100%, 0);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}

@keyframes the-datepicker-fade-in-down {
  from {
    transform: translate3d(0, 100%, 0);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}

@font-face {
  font-family: Figtree;
  src: url(/assets/Figtree-Light-087d484be52722d658f1efdf1baf48155cd08692f5e2360894a5b96cc487619c.ttf) format("truetype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Figtree;
  src: url(/assets/Figtree-Regular-34407dff25ba868f7ba91aafdadf34c35f706485d16572d66f02eaf86b256e79.ttf) format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Figtree;
  src: url(/assets/Figtree-Medium-33dab9910a4a2e206573b398d751d3c1827aa254e9fb5d0dda9737ce70ba3c56.ttf) format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Figtree;
  src: url(/assets/Figtree-SemiBold-21fac68c9bd93797e2d2528bcdf92bb72b5bd9518e7f1b4536975fb35dd8b63b.ttf) format("truetype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Figtree;
  src: url(/assets/Figtree-Bold-e9aa7803bd617372d2557cbcc676b0cb6c626ef1895b1dec597e00251281cfb1.ttf) format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Figtree;
  src: url(/assets/Figtree-ExtraBold-de87d9b7250e77bf6c3357a65b35ffa1eff5fe4e9c493bb77f6f544be3ea95be.ttf) format("truetype");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Figtree;
  src: url(/assets/Figtree-Italic-c8138db092cd7926fa941968e763309793e7ef7d29626ca96a7c87d96ba9df30.ttf) format("truetype");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

/* line 3, app/assets/stylesheets/file-upload.scss */
.file-upload {
  max-width: 600px;
  margin: 20px auto;
  font-family: "Figtree";
}

/* line 8, app/assets/stylesheets/file-upload.scss */
.file-upload__dropzone {
  border: 2px dashed #9B9696;
  border-radius: 8px;
  padding: 40px;
  text-align: center;
  background-color: #FAFAFA;
  transition: all 0.3s ease;
  margin-bottom: 16px;
}

/* line 17, app/assets/stylesheets/file-upload.scss */
.file-upload__dropzone--dragover {
  border-color: #1c6b4d;
  background-color: #E2E8F0;
}

/* line 23, app/assets/stylesheets/file-upload.scss */
.file-upload__instructions {
  color: #334155;
  margin-bottom: 16px;
  font-size: 16px;
}

/* line 29, app/assets/stylesheets/file-upload.scss */
.file-upload__input {
  display: none;
}

/* line 33, app/assets/stylesheets/file-upload.scss */
.file-upload__preview {
  margin-top: 20px;
}

/* line 37, app/assets/stylesheets/file-upload.scss */
.file-upload__preview-item {
  display: flex;
  align-items: center;
  padding: 8px 12px;
  background-color: #FAFAFA;
  border-radius: 4px;
  margin-bottom: 8px;
}

/* line 46, app/assets/stylesheets/file-upload.scss */
.file-upload__preview-name {
  flex-grow: 1;
  margin-left: 10px;
  color: #334155;
}

/* line 52, app/assets/stylesheets/file-upload.scss */
.file-upload__preview-remove {
  background: none;
  border: none;
  color: #E80000;
  cursor: pointer;
  font-size: 1.2em;
  margin-left: 10px;
  padding: 0 5px;
}

/* line 61, app/assets/stylesheets/file-upload.scss */
.file-upload__preview-remove:hover {
  color: #DC2626;
}

/* line 66, app/assets/stylesheets/file-upload.scss */
.file-upload__preview-size {
  color: #605D5D;
  font-size: 0.8em;
  margin-left: 5px;
}

/* line 72, app/assets/stylesheets/file-upload.scss */
.file-upload__preview-icon {
  width: 20px;
  height: 20px;
  fill: #D9D9D9;
}
