:root {
  --toastify-color-light: #fff;
  --toastify-color-dark: #121212;
  --toastify-color-info: #3498db;
  --toastify-color-success: #07bc0c;
  --toastify-color-warning: #f1c40f;
  --toastify-color-error: hsl(6, 78%, 57%);
  --toastify-color-transparent: rgba(255, 255, 255, 0.7);

  --toastify-icon-color-info: var(--toastify-color-info);
  --toastify-icon-color-success: var(--toastify-color-success);
  --toastify-icon-color-warning: var(--toastify-color-warning);
  --toastify-icon-color-error: var(--toastify-color-error);

  --toastify-container-width: fit-content;
  --toastify-toast-width: 320px;
  --toastify-toast-offset: 16px;
  --toastify-toast-top: max(var(--toastify-toast-offset), env(safe-area-inset-top));
  --toastify-toast-right: max(var(--toastify-toast-offset), env(safe-area-inset-right));
  --toastify-toast-left: max(var(--toastify-toast-offset), env(safe-area-inset-left));
  --toastify-toast-bottom: max(var(--toastify-toast-offset), env(safe-area-inset-bottom));
  --toastify-toast-background: #fff;
  --toastify-toast-padding: 14px;
  --toastify-toast-min-height: 64px;
  --toastify-toast-max-height: 800px;
  --toastify-toast-bd-radius: 6px;
  --toastify-toast-shadow: 0px 4px 12px rgba(0, 0, 0, 0.1);
  --toastify-font-family: sans-serif;
  --toastify-z-index: 9999;
  --toastify-text-color-light: #757575;
  --toastify-text-color-dark: #fff;

  /* Used only for colored theme */
  --toastify-text-color-info: #fff;
  --toastify-text-color-success: #fff;
  --toastify-text-color-warning: #fff;
  --toastify-text-color-error: #fff;

  --toastify-spinner-color: #616161;
  --toastify-spinner-color-empty-area: #e0e0e0;
  --toastify-color-progress-light: linear-gradient(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55);
  --toastify-color-progress-dark: #bb86fc;
  --toastify-color-progress-info: var(--toastify-color-info);
  --toastify-color-progress-success: var(--toastify-color-success);
  --toastify-color-progress-warning: var(--toastify-color-warning);
  --toastify-color-progress-error: var(--toastify-color-error);
  /* used to control the opacity of the progress trail */
  --toastify-color-progress-bgo: 0.2;
}

.Toastify__toast-container {
  z-index: var(--toastify-z-index);
  -webkit-transform: translate3d(0, 0, var(--toastify-z-index));
  position: fixed;
  width: var(--toastify-container-width);
  box-sizing: border-box;
  color: #fff;
  display: flex;
  flex-direction: column;
}

.Toastify__toast-container--top-left {
  top: var(--toastify-toast-top);
  left: var(--toastify-toast-left);
}
.Toastify__toast-container--top-center {
  top: var(--toastify-toast-top);
  left: 50%;
  transform: translateX(-50%);
  align-items: center;
}
.Toastify__toast-container--top-right {
  top: var(--toastify-toast-top);
  right: var(--toastify-toast-right);
  align-items: end;
}
.Toastify__toast-container--bottom-left {
  bottom: var(--toastify-toast-bottom);
  left: var(--toastify-toast-left);
}
.Toastify__toast-container--bottom-center {
  bottom: var(--toastify-toast-bottom);
  left: 50%;
  transform: translateX(-50%);
  align-items: center;
}
.Toastify__toast-container--bottom-right {
  bottom: var(--toastify-toast-bottom);
  right: var(--toastify-toast-right);
  align-items: end;
}

.Toastify__toast {
  --y: 0;
  position: relative;
  touch-action: none;
  width: var(--toastify-toast-width);
  min-height: var(--toastify-toast-min-height);
  box-sizing: border-box;
  margin-bottom: 1rem;
  padding: var(--toastify-toast-padding);
  border-radius: var(--toastify-toast-bd-radius);
  box-shadow: var(--toastify-toast-shadow);
  max-height: var(--toastify-toast-max-height);
  font-family: var(--toastify-font-family);
  /* webkit only issue #791 */
  z-index: 0;
  /* inner swag */
  display: flex;
  flex: 1 auto;
  align-items: center;
  word-break: break-word;
}

@media only screen and (max-width: 480px) {
  .Toastify__toast-container {
    width: 100vw;
    left: env(safe-area-inset-left);
    margin: 0;
  }
  .Toastify__toast-container--top-left,
  .Toastify__toast-container--top-center,
  .Toastify__toast-container--top-right {
    top: env(safe-area-inset-top);
    transform: translateX(0);
  }
  .Toastify__toast-container--bottom-left,
  .Toastify__toast-container--bottom-center,
  .Toastify__toast-container--bottom-right {
    bottom: env(safe-area-inset-bottom);
    transform: translateX(0);
  }
  .Toastify__toast-container--rtl {
    right: env(safe-area-inset-right);
    left: initial;
  }
  .Toastify__toast {
    --toastify-toast-width: 100%;
    margin-bottom: 0;
    border-radius: 0;
  }
}

.Toastify__toast-container[data-stacked='true'] {
  width: var(--toastify-toast-width);
}

.Toastify__toast--stacked {
  position: absolute;
  width: 100%;
  transform: translate3d(0, var(--y), 0) scale(var(--s));
  transition: transform 0.3s;
}

.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body,
.Toastify__toast--stacked[data-collapsed] .Toastify__close-button {
  transition: opacity 0.1s;
}

.Toastify__toast--stacked[data-collapsed='false'] {
  overflow: visible;
}

.Toastify__toast--stacked[data-collapsed='true']:not(:last-child) > * {
  opacity: 0;
}

.Toastify__toast--stacked:after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  height: calc(var(--g) * 1px);
  bottom: 100%;
}

.Toastify__toast--stacked[data-pos='top'] {
  top: 0;
}

.Toastify__toast--stacked[data-pos='bot'] {
  bottom: 0;
}

.Toastify__toast--stacked[data-pos='bot'].Toastify__toast--stacked:before {
  transform-origin: top;
}

.Toastify__toast--stacked[data-pos='top'].Toastify__toast--stacked:before {
  transform-origin: bottom;
}

.Toastify__toast--stacked:before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 100%;
  transform: scaleY(3);
  z-index: -1;
}

.Toastify__toast--rtl {
  direction: rtl;
}

.Toastify__toast--close-on-click {
  cursor: pointer;
}

.Toastify__toast-icon {
  margin-inline-end: 10px;
  width: 22px;
  flex-shrink: 0;
  display: flex;
}

.Toastify--animate {
  animation-fill-mode: both;
  animation-duration: 0.5s;
}

.Toastify--animate-icon {
  animation-fill-mode: both;
  animation-duration: 0.3s;
}

.Toastify__toast-theme--dark {
  background: var(--toastify-color-dark);
  color: var(--toastify-text-color-dark);
}

.Toastify__toast-theme--light {
  background: var(--toastify-color-light);
  color: var(--toastify-text-color-light);
}

.Toastify__toast-theme--colored.Toastify__toast--default {
  background: var(--toastify-color-light);
  color: var(--toastify-text-color-light);
}

.Toastify__toast-theme--colored.Toastify__toast--info {
  color: var(--toastify-text-color-info);
  background: var(--toastify-color-info);
}

.Toastify__toast-theme--colored.Toastify__toast--success {
  color: var(--toastify-text-color-success);
  background: var(--toastify-color-success);
}

.Toastify__toast-theme--colored.Toastify__toast--warning {
  color: var(--toastify-text-color-warning);
  background: var(--toastify-color-warning);
}

.Toastify__toast-theme--colored.Toastify__toast--error {
  color: var(--toastify-text-color-error);
  background: var(--toastify-color-error);
}

.Toastify__progress-bar-theme--light {
  background: var(--toastify-color-progress-light);
}

.Toastify__progress-bar-theme--dark {
  background: var(--toastify-color-progress-dark);
}

.Toastify__progress-bar--info {
  background: var(--toastify-color-progress-info);
}

.Toastify__progress-bar--success {
  background: var(--toastify-color-progress-success);
}

.Toastify__progress-bar--warning {
  background: var(--toastify-color-progress-warning);
}

.Toastify__progress-bar--error {
  background: var(--toastify-color-progress-error);
}

.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,
.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,
.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning,
.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error {
  background: var(--toastify-color-transparent);
}

.Toastify__close-button {
  color: #fff;
  position: absolute;
  top: 6px;
  right: 6px;
  background: transparent;
  outline: none;
  border: none;
  padding: 0;
  cursor: pointer;
  opacity: 0.7;
  transition: 0.3s ease;
  z-index: 1;
}

.Toastify__toast--rtl .Toastify__close-button {
  left: 6px;
  right: unset;
}

.Toastify__close-button--light {
  color: #000;
  opacity: 0.3;
}

.Toastify__close-button > svg {
  fill: currentColor;
  height: 16px;
  width: 14px;
}

.Toastify__close-button:hover,
.Toastify__close-button:focus {
  opacity: 1;
}

@keyframes Toastify__trackProgress {
  0% {
    transform: scaleX(1);
  }
  100% {
    transform: scaleX(0);
  }
}

.Toastify__progress-bar {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  opacity: 0.7;
  transform-origin: left;
}

.Toastify__progress-bar--animated {
  animation: Toastify__trackProgress linear 1 forwards;
}

.Toastify__progress-bar--controlled {
  transition: transform 0.2s;
}

.Toastify__progress-bar--rtl {
  right: 0;
  left: initial;
  transform-origin: right;
  border-bottom-left-radius: initial;
}

.Toastify__progress-bar--wrp {
  position: absolute;
  overflow: hidden;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 5px;
  border-bottom-left-radius: var(--toastify-toast-bd-radius);
  border-bottom-right-radius: var(--toastify-toast-bd-radius);
}

.Toastify__progress-bar--wrp[data-hidden='true'] {
  opacity: 0;
}

.Toastify__progress-bar--bg {
  opacity: var(--toastify-color-progress-bgo);
  width: 100%;
  height: 100%;
}

.Toastify__spinner {
  width: 20px;
  height: 20px;
  box-sizing: border-box;
  border: 2px solid;
  border-radius: 100%;
  border-color: var(--toastify-spinner-color-empty-area);
  border-right-color: var(--toastify-spinner-color);
  animation: Toastify__spin 0.65s linear infinite;
}

@keyframes Toastify__bounceInRight {
  from,
  60%,
  75%,
  90%,
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  from {
    opacity: 0;
    transform: translate3d(3000px, 0, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(-25px, 0, 0);
  }
  75% {
    transform: translate3d(10px, 0, 0);
  }
  90% {
    transform: translate3d(-5px, 0, 0);
  }
  to {
    transform: none;
  }
}

@keyframes Toastify__bounceOutRight {
  20% {
    opacity: 1;
    transform: translate3d(-20px, var(--y), 0);
  }
  to {
    opacity: 0;
    transform: translate3d(2000px, var(--y), 0);
  }
}

@keyframes Toastify__bounceInLeft {
  from,
  60%,
  75%,
  90%,
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    transform: translate3d(-3000px, 0, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(25px, 0, 0);
  }
  75% {
    transform: translate3d(-10px, 0, 0);
  }
  90% {
    transform: translate3d(5px, 0, 0);
  }
  to {
    transform: none;
  }
}

@keyframes Toastify__bounceOutLeft {
  20% {
    opacity: 1;
    transform: translate3d(20px, var(--y), 0);
  }
  to {
    opacity: 0;
    transform: translate3d(-2000px, var(--y), 0);
  }
}

@keyframes Toastify__bounceInUp {
  from,
  60%,
  75%,
  90%,
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  from {
    opacity: 0;
    transform: translate3d(0, 3000px, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(0, -20px, 0);
  }
  75% {
    transform: translate3d(0, 10px, 0);
  }
  90% {
    transform: translate3d(0, -5px, 0);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}

@keyframes Toastify__bounceOutUp {
  20% {
    transform: translate3d(0, calc(var(--y) - 10px), 0);
  }
  40%,
  45% {
    opacity: 1;
    transform: translate3d(0, calc(var(--y) + 20px), 0);
  }
  to {
    opacity: 0;
    transform: translate3d(0, -2000px, 0);
  }
}

@keyframes Toastify__bounceInDown {
  from,
  60%,
  75%,
  90%,
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    transform: translate3d(0, -3000px, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(0, 25px, 0);
  }
  75% {
    transform: translate3d(0, -10px, 0);
  }
  90% {
    transform: translate3d(0, 5px, 0);
  }
  to {
    transform: none;
  }
}

@keyframes Toastify__bounceOutDown {
  20% {
    transform: translate3d(0, calc(var(--y) - 10px), 0);
  }
  40%,
  45% {
    opacity: 1;
    transform: translate3d(0, calc(var(--y) + 20px), 0);
  }
  to {
    opacity: 0;
    transform: translate3d(0, 2000px, 0);
  }
}

.Toastify__bounce-enter--top-left,
.Toastify__bounce-enter--bottom-left {
  animation-name: Toastify__bounceInLeft;
}

.Toastify__bounce-enter--top-right,
.Toastify__bounce-enter--bottom-right {
  animation-name: Toastify__bounceInRight;
}

.Toastify__bounce-enter--top-center {
  animation-name: Toastify__bounceInDown;
}

.Toastify__bounce-enter--bottom-center {
  animation-name: Toastify__bounceInUp;
}

.Toastify__bounce-exit--top-left,
.Toastify__bounce-exit--bottom-left {
  animation-name: Toastify__bounceOutLeft;
}

.Toastify__bounce-exit--top-right,
.Toastify__bounce-exit--bottom-right {
  animation-name: Toastify__bounceOutRight;
}

.Toastify__bounce-exit--top-center {
  animation-name: Toastify__bounceOutUp;
}

.Toastify__bounce-exit--bottom-center {
  animation-name: Toastify__bounceOutDown;
}

@keyframes Toastify__zoomIn {
  from {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
  50% {
    opacity: 1;
  }
}

@keyframes Toastify__zoomOut {
  from {
    opacity: 1;
  }
  50% {
    opacity: 0;
    transform: translate3d(0, var(--y), 0) scale3d(0.3, 0.3, 0.3);
  }
  to {
    opacity: 0;
  }
}

.Toastify__zoom-enter {
  animation-name: Toastify__zoomIn;
}

.Toastify__zoom-exit {
  animation-name: Toastify__zoomOut;
}

@keyframes Toastify__flipIn {
  from {
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    animation-timing-function: ease-in;
  }
  60% {
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }
  80% {
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }
  to {
    transform: perspective(400px);
  }
}

@keyframes Toastify__flipOut {
  from {
    transform: translate3d(0, var(--y), 0) perspective(400px);
  }
  30% {
    transform: translate3d(0, var(--y), 0) perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }
  to {
    transform: translate3d(0, var(--y), 0) perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}

.Toastify__flip-enter {
  animation-name: Toastify__flipIn;
}

.Toastify__flip-exit {
  animation-name: Toastify__flipOut;
}

@keyframes Toastify__slideInRight {
  from {
    transform: translate3d(110%, 0, 0);
    visibility: visible;
  }
  to {
    transform: translate3d(0, var(--y), 0);
  }
}

@keyframes Toastify__slideInLeft {
  from {
    transform: translate3d(-110%, 0, 0);
    visibility: visible;
  }
  to {
    transform: translate3d(0, var(--y), 0);
  }
}

@keyframes Toastify__slideInUp {
  from {
    transform: translate3d(0, 110%, 0);
    visibility: visible;
  }
  to {
    transform: translate3d(0, var(--y), 0);
  }
}

@keyframes Toastify__slideInDown {
  from {
    transform: translate3d(0, -110%, 0);
    visibility: visible;
  }
  to {
    transform: translate3d(0, var(--y), 0);
  }
}

@keyframes Toastify__slideOutRight {
  from {
    transform: translate3d(0, var(--y), 0);
  }
  to {
    visibility: hidden;
    transform: translate3d(110%, var(--y), 0);
  }
}

@keyframes Toastify__slideOutLeft {
  from {
    transform: translate3d(0, var(--y), 0);
  }
  to {
    visibility: hidden;
    transform: translate3d(-110%, var(--y), 0);
  }
}

@keyframes Toastify__slideOutDown {
  from {
    transform: translate3d(0, var(--y), 0);
  }
  to {
    visibility: hidden;
    transform: translate3d(0, 500px, 0);
  }
}

@keyframes Toastify__slideOutUp {
  from {
    transform: translate3d(0, var(--y), 0);
  }
  to {
    visibility: hidden;
    transform: translate3d(0, -500px, 0);
  }
}

.Toastify__slide-enter--top-left,
.Toastify__slide-enter--bottom-left {
  animation-name: Toastify__slideInLeft;
}

.Toastify__slide-enter--top-right,
.Toastify__slide-enter--bottom-right {
  animation-name: Toastify__slideInRight;
}

.Toastify__slide-enter--top-center {
  animation-name: Toastify__slideInDown;
}

.Toastify__slide-enter--bottom-center {
  animation-name: Toastify__slideInUp;
}

.Toastify__slide-exit--top-left,
.Toastify__slide-exit--bottom-left {
  animation-name: Toastify__slideOutLeft;
  animation-timing-function: ease-in;
  animation-duration: 0.3s;
}

.Toastify__slide-exit--top-right,
.Toastify__slide-exit--bottom-right {
  animation-name: Toastify__slideOutRight;
  animation-timing-function: ease-in;
  animation-duration: 0.3s;
}

.Toastify__slide-exit--top-center {
  animation-name: Toastify__slideOutUp;
  animation-timing-function: ease-in;
  animation-duration: 0.3s;
}

.Toastify__slide-exit--bottom-center {
  animation-name: Toastify__slideOutDown;
  animation-timing-function: ease-in;
  animation-duration: 0.3s;
}

@keyframes Toastify__spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.layout-container {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.layout-container main {
  flex: 1;
}

/* Acessibilidade */
#acessibilidade {
  position: fixed;
  bottom: 80px;
  right: 20px;
  display: flex;
  gap: 10px;
  z-index: 999;
}
#acessibilidade button {
  background: var(--primary-color);
  color: var(--text-light);
  border: none;
  border-radius: 50%;
  font-size: 1.2rem;
  padding: 15px;
  cursor: pointer;
  width: 55px;
  height: 55px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.3s, transform 0.2s;
}
#acessibilidade button:hover {
  background: var(--primary-color-dark);
  transform: scale(1.1);
}

/* Seletor de Idioma */
#seletor-idioma {
  position: absolute;
  top: 20px;
  right: 50px;
  background: rgba(255, 255, 255, 0.9);
  padding: 10px;
  border-radius: 5px;
  display: flex;
  gap: 8px;
  z-index: 1000;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}
#seletor-idioma button {
  border: none;
  background: none;
  cursor: pointer;
  transition: transform 0.2s;
}
#seletor-idioma button:hover {
  transform: translateY(-2px);
}

.bandeira {
  width: 30px;
  height: auto;
  border-radius: 50%;
  border: 1px solid #ddd;
}

/* ========== Responsividade ========== */
@media (max-width: 768px) {
  #acessibilidade {
    bottom: 70px;
    right: 10px;
  }
  #seletor-idioma {
    top: 30px;
    right: 10px;
  }
}

@media (max-width: 480px) {
  #acessibilidade button {
    width: 45px;:root {
  --primary-color: #19cfa2;
  --primary-color-dark: #0ea784;
  --secondary-color: #2dffbd;
  --hover-color: #29b993;
  --background-light: #f9f9f9;
  --background-dark: #24323a;
  --text-light: #333;
  --text-dark: #f9f9f9;
  --font-primary: 'Poppins', Arial, sans-serif;
}

/* Layout base */
.layout-container {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.layout-container main {
  flex: 1;
}

/* Acessibilidade */
#acessibilidade {
  position: fixed;
  bottom: 80px;
  right: 20px;
  display: flex;
  gap: 10px;
  z-index: 999;
}

#acessibilidade button {
  background: var(--primary-color);
  color: var(--text-light);
  border: none;
  border-radius: 50%;
  font-size: 1.2rem;
  padding: 15px;
  cursor: pointer;
  width: 55px;
  height: 55px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.3s, transform 0.2s;
}

#acessibilidade button:hover {
  background: var(--primary-color-dark);
  transform: scale(1.1);
}

/* Botões flutuantes do admin - unificado */
.admin-floating-panel {
  position: fixed;
  bottom: 100px;
  right: 20px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  z-index: 998;
}

.admin-floating-panel a {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1.3rem;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  text-decoration: none;
  transition: background 0.3s, transform 0.2s;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
}

/* Cores individuais por função */
.admin-floating-panel a[title="Painel Admin"] { background: #2b9348; }
.admin-floating-panel a[title="Gráficos"] { background: #f8961e; }
.admin-floating-panel a[title="Transações"] { background: #005f73; }
.admin-floating-panel a[title="E-books"] { background: #2196f3; }
.admin-floating-panel a[title="Planos"] { background: #9d4edd; }

.admin-floating-panel a:hover {
  transform: scale(1.1);
}

/* Cores ao passar o mouse */
.admin-floating-panel a[title="Painel Admin"]:hover { background: #23833d; }
.admin-floating-panel a[title="Gráficos"]:hover { background: #e07a00; }
.admin-floating-panel a[title="Transações"]:hover { background: #003c4c; }
.admin-floating-panel a[title="E-books"]:hover { background: #1769aa; }
.admin-floating-panel a[title="Planos"]:hover { background: #7b2cbf; }

/* Responsivo */
@media (max-width: 768px) {
  #acessibilidade {
    bottom: 70px;
    right: 10px;
  }
  .admin-floating-panel {
    bottom: 90px;
    right: 10px;
  }
}

@media (max-width: 480px) {
  #acessibilidade button {
    width: 45px;
    height: 45px;
    font-size: 1rem;
    padding: 10px;
  }
  .admin-floating-panel a {
    width: 45px;
    height: 45px;
    font-size: 1.1rem;
  }
}

    height: 45px;
    font-size: 1rem;
    padding: 10px;
  }
  #seletor-idioma {
    padding: 5px;
  }
  .bandeira {
    width: 25px;
  }
}

/* Botões flutuantes do admin */
#painel-admin {
  position: fixed;
  bottom: 150px;
  right: 20px;
  z-index: 999;
}

#painel-admin a {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #2b9348;
  color: #fff;
  font-size: 1.4rem;
  width: 55px;
  height: 55px;
  border-radius: 50%;
  text-decoration: none;
  box-shadow: 0 0 8px rgba(0,0,0,0.1);
  transition: background 0.3s, transform 0.2s;
}

#painel-admin a:hover {
  background: #23833d;
  transform: scale(1.1);
}

#painel-transacoes {
  position: fixed;
  bottom: 220px;
  right: 20px;
  z-index: 999;
}

#painel-transacoes a {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #005f73;
  color: #fff;
  font-size: 1.4rem;
  width: 55px;
  height: 55px;
  border-radius: 50%;
  text-decoration: none;
  box-shadow: 0 0 8px rgba(0,0,0,0.1);
  transition: background 0.3s, transform 0.2s;
}

#painel-transacoes a:hover {
  background: #003c4c;
  transform: scale(1.1);
}

#painel-graficos {
  position: fixed;
  bottom: 290px;
  right: 20px;
  z-index: 999;
}

#painel-graficos a {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f8961e;
  color: #fff;
  font-size: 1.4rem;
  width: 55px;
  height: 55px;
  border-radius: 50%;
  text-decoration: none;
  box-shadow: 0 0 8px rgba(0,0,0,0.1);
  transition: background 0.3s, transform 0.2s;
}

#painel-graficos a:hover {
  background: #e07a00;
  transform: scale(1.1);
}

#painel-planos {
  position: fixed;
  bottom: 360px;
  right: 20px;
  z-index: 999;
}

#painel-planos a {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #9d4edd;
  color: #fff;
  font-size: 1.4rem;
  width: 55px;
  height: 55px;
  border-radius: 50%;
  text-decoration: none;
  box-shadow: 0 0 8px rgba(0,0,0,0.1);
  transition: background 0.3s, transform 0.2s;
}

#painel-planos a:hover {
  background: #7b2cbf;
  transform: scale(1.1);
}
#painel-ebooks {
  position: fixed;
  bottom: 430px;
  right: 20px;
  z-index: 999;
}

#painel-ebooks a {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #2196f3;
  color: #fff;
  font-size: 1.4rem;
  width: 55px;
  height: 55px;
  border-radius: 50%;
  text-decoration: none;
  box-shadow: 0 0 8px rgba(0,0,0,0.1);
  transition: background 0.3s, transform 0.2s;
}

#painel-ebooks a:hover {
  background: #1769aa;
  transform: scale(1.1);
}
.admin-floating-panel {
  position: fixed;
  bottom: 100px;
  right: 20px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  z-index: 998;
}

.admin-floating-panel a {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #2f855a;
  color: #fff;
  font-size: 1.3rem;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  text-decoration: none;
  transition: background 0.3s, transform 0.2s;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
}

.admin-floating-panel a:hover {
  background: #276749;
  transform: scale(1.1);
}
:root {
  --primary-color: #19cfa2;
  --primary-color-dark: #0ea784;
  --text-color: #222;
  --text-color-light: #fff;
  --bg-color: #fff;
  --hover-color: #19cfa2;
  --font: 'Inter', 'Poppins', sans-serif;
}

/* Dark Mode */
body.dark {
  --bg-color: #121212;
  --text-color: #eee;
}

/* Reset e base */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  transition: background-color 0.3s, color 0.3s, border-color 0.3s, transform 0.2s;
}
body {
  font-family: var(--font);
  background: var(--bg-color);
  color: var(--text-color);
}

/* Header */
.main-header {
  background: var(--bg-color);
  border-bottom: 1px solid #e5e7eb;
  padding: 0.75rem 1rem;
  position: sticky;
  top: 0;
  z-index: 50;
}

/* Container */
.header-container {
  max-width: 1240px;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}

/* Logo */
.logo-section {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.logo {
  height: 42px;
}
.site-title {
  font-weight: 600;
  font-size: 1.3rem;
  color: var(--text-color);
}

/* Nav + Ações (direita) */
.nav-actions {
  display: flex;
  align-items: center;
  gap: 1.2rem;
}

/* Navegação */
.nav ul {
  display: flex;
  gap: 0.6rem;
  list-style: none;
  flex-wrap: wrap;
}
.nav ul li a,
.nav ul li .btn-link {
  text-decoration: none;
  color: var(--text-color);
  font-weight: 500;
  padding: 0.35rem 0.65rem;
  border-radius: 6px;
  display: inline-block;
}
.nav ul li a:hover,
.nav ul li a.active,
.nav ul li .btn-link:hover {
  background: var(--primary-color);
  color: #fff;
}
.nav ul li .btn-link {
  background: #f3f4f6;
  border: 1px solid #ddd;
}
.nav ul li .btn-link:hover {
  border-color: var(--primary-color);
}

/* Ações */
.actions {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  flex-wrap: wrap;
}
.quick-links {
  display: flex;
  gap: 0.4rem;
}

/* Ícones destacados */
.icon-highlight {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f3f4f6;
  border-radius: 8px;
  width: 38px;
  height: 38px;
  cursor: pointer;
  font-size: 1.1rem;
  transition: all 0.3s ease;
}
.icon-highlight:hover {
  background: var(--primary-color);
  color: #fff;
}

/* Carrinho */
.cart {
  position: relative;
  display: flex;
  align-items: center;
}
.cart svg {
  stroke: var(--text-color);
  width: 22px;
  height: 22px;
}
.cart:hover svg {
  stroke: var(--hover-color);
}
.cart-badge {
  background: var(--primary-color);
  color: #fff;
  border-radius: 50%;
  padding: 0.2rem 0.55rem;
  font-size: 0.75rem;
  position: absolute;
  top: -6px;
  right: -10px;
  animation: badgePulse 1s infinite alternate;
}

/* Badge animado */
@keyframes badgePulse {
  from { transform: scale(1); }
  to { transform: scale(1.2); }
}

/* Botões */
.btn {
  border: none;
  padding: 0.4rem 0.9rem;
  border-radius: 6px;
  cursor: pointer;
  font-weight: 500;
  background: #f3f4f6;
  color: var(--text-color);
}
.btn:hover {
  background: #e5e7eb;
}
.btn.primary {
  background: var(--primary-color);
  color: #fff;
}
.btn.primary:hover {
  background: var(--primary-color-dark);
}
.btn.upgrade {
  background: #facc15;
  color: #333;
}

/* Dropdown idioma */
.select-language {
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 0.3rem 0.6rem;
  font-size: 0.9rem;
  cursor: pointer;
  background: #f3f4f6;
  color: var(--text-color);
}
.select-language:hover {
  background: #e5e7eb;
}

/* Busca */
.search-container {
  display: flex;
  align-items: center;
  background: #f3f4f6;
  border-radius: 6px;
  padding: 0 0.3rem;
  position: relative;
}
.search-container:focus-within {
  box-shadow: 0 0 0 2px rgba(25,207,162,0.4);
}
.search-input {
  border: none;
  background: transparent;
  padding: 0.4rem;
  font-size: 0.9rem;
  width: 140px;
  color: var(--text-color);
}
.search-button {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0.3rem;
  color: var(--text-color);
}
.search-button:hover {
  color: var(--hover-color);
}

/* Sugestões */
.suggestions-list {
  position: absolute;
  top: 110%;
  left: 0;
  right: 0;
  background: var(--bg-color);
  border: 1px solid #ddd;
  border-radius: 4px;
  list-style: none;
  z-index: 100;
}
.suggestions-list li {
  padding: 0.4rem 0.8rem;
  cursor: pointer;
}
.suggestions-list li:hover {
  background: #eee;
}

/* Hamburguer */
.menu-toggle {
  display: none;
  font-size: 1.4rem;
  cursor: pointer;
}

/* Responsivo */
@media (max-width: 900px) {
  .header-container {
    flex-direction: column;
    align-items: flex-start;
  }
  .nav-actions {
    flex-direction: column;
    width: 100%;
    align-items: flex-start;
  }
  .nav {
    width: 100%;
  }
  .nav ul {
    flex-direction: column;
    gap: 0.8rem;
    width: 100%;
  }
  .actions {
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.8rem;
  }
  .menu-toggle {
    display: block;
    margin-left: auto;
  }
  .search-container {
    width: 100%;
  }
}
:root {
  --primary-color: #19cfa2;
  --primary-color-dark: #0ea784;
  --text-color: #222;
  --text-color-light: #fff;
  --bg-color: #fff;
  --hover-color: #19cfa2;
  --font: 'Inter', 'Poppins', sans-serif;
}

/* Dark Mode */
body.dark {
  --bg-color: #121212;
  --text-color: #eee;
}

/* Reset e base */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  transition: background-color 0.3s, color 0.3s, border-color 0.3s, transform 0.2s;
}
body {
  font-family: var(--font);
  background: var(--bg-color);
  color: var(--text-color);
}

/* Header */
.main-header {
  background: var(--bg-color);
  border-bottom: 1px solid #e5e7eb;
  padding: 0.75rem 1rem;
  position: sticky;
  top: 0;
  z-index: 50;
}

/* Container */
.container {
  max-width: 1240px;
  margin: auto;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
}

/* Logo */
.logo-section {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex: 0 0 100%;
}
.logo {
  height: 42px;
}
.site-title {
  font-weight: 600;
  font-size: 1.3rem;
  color: var(--text-color);
}

/* Grupo nav e ações */
.nav-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.8rem;
  width: 100%;
}

/* Navegação */
.nav ul {
  display: flex;
  gap: 0.6rem;
  list-style: none;
  flex-wrap: wrap;
}
.nav ul li a,
.nav ul li .btn-link {
  text-decoration: none;
  color: var(--text-color);
  font-weight: 500;
  padding: 0.35rem 0.65rem;
  border-radius: 6px;
  display: inline-block;
}
.nav ul li a:hover,
.nav ul li a.active,
.nav ul li .btn-link:hover {
  background: var(--primary-color);
  color: #fff;
}
.nav ul li .btn-link {
  background: #f3f4f6;
  border: 1px solid #ddd;
}
.nav ul li .btn-link:hover {
  border-color: var(--primary-color);
}

/* Ações */
.actions {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  flex-wrap: wrap;
}
.quick-links {
  display: flex;
  gap: 0.4rem;
}

/* Ícones destacados */
.icon-highlight {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f3f4f6;
  border-radius: 8px;
  width: 38px;
  height: 38px;
  cursor: pointer;
  font-size: 1.1rem;
  transition: all 0.3s ease;
}
.icon-highlight:hover {
  background: var(--primary-color);
  color: #fff;
}

/* Carrinho */
.cart {
  position: relative;
  display: flex;
  align-items: center;
}
.cart svg {
  stroke: var(--text-color);
  width: 22px;
  height: 22px;
}
.cart:hover svg {
  stroke: var(--hover-color);
}
.cart-badge {
  background: var(--primary-color);
  color: #fff;
  border-radius: 50%;
  padding: 0.2rem 0.55rem;
  font-size: 0.75rem;
  position: absolute;
  top: -6px;
  right: -10px;
  animation: badgePulse 1s infinite alternate;
}

/* Badge animado */
@keyframes badgePulse {
  from { transform: scale(1); }
  to { transform: scale(1.2); }
}

/* Botões */
.btn {
  border: none;
  padding: 0.4rem 0.9rem;
  border-radius: 6px;
  cursor: pointer;
  font-weight: 500;
  background: #f3f4f6;
  color: var(--text-color);
}
.btn:hover {
  background: #e5e7eb;
}
.btn.primary {
  background: var(--primary-color);
  color: #fff;
}
.btn.primary:hover {
  background: var(--primary-color-dark);
}
.btn.upgrade {
  background: #facc15;
  color: #333;
}

/* Dropdown idioma */
.select-language {
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 0.3rem 0.6rem;
  font-size: 0.9rem;
  cursor: pointer;
  background: #f3f4f6;
  color: var(--text-color);
}
.select-language:hover {
  background: #e5e7eb;
}

/* Busca */
.search-container {
  display: flex;
  align-items: center;
  background: #f3f4f6;
  border-radius: 6px;
  padding: 0 0.3rem;
  position: relative;
}
.search-container:focus-within {
  box-shadow: 0 0 0 2px rgba(25,207,162,0.4);
}
.search-input {
  border: none;
  background: transparent;
  padding: 0.4rem;
  font-size: 0.9rem;
  width: 140px;
  color: var(--text-color);
}
.search-button {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0.3rem;
  color: var(--text-color);
}
.search-button:hover {
  color: var(--hover-color);
}

/* Sugestões */
.suggestions-list {
  position: absolute;
  top: 110%;
  left: 0;
  right: 0;
  background: var(--bg-color);
  border: 1px solid #ddd;
  border-radius: 4px;
  list-style: none;
  z-index: 100;
}
.suggestions-list li {
  padding: 0.4rem 0.8rem;
  cursor: pointer;
}
.suggestions-list li:hover {
  background: #eee;
}

/* Hamburguer */
.menu-toggle {
  display: none;
  font-size: 1.4rem;
  cursor: pointer;
}

/* Responsivo */
@media (max-width: 900px) {
  .nav {
    position: relative;
    width: 100%;
  }
  .nav ul {
    flex-direction: column;
    gap: 0.8rem;
  }
  .menu-toggle {
    display: block;
  }
  .search-container {
    width: 100%;
  }
  .actions {
    width: 100%;
    justify-content: flex-start;
  }
}
:root {
  --primary-color: #19cfa2;
  --primary-color-dark: #0ea784;
  --secondary-color: #facc15;
  --text-light: #f9f9f9;
  --text-color: #333;
  --bg-color: #fff;
  --font: 'Inter', 'Poppins', sans-serif;
}

/* Dark Mode */
body.dark {
  --bg-color: #121212;
  --text-color: #eee;
}

/* Transição suave */
body,
* {
  transition: background-color 0.3s, color 0.3s, border-color 0.3s;
}

/* Footer base */
.main-footer {
  background: var(--primary-color-dark);
  color: var(--text-light);
  padding: 2rem 1.5rem;
  text-align: center;
  font-size: 0.95rem;
  font-family: var(--font);
  box-shadow: 0 -2px 8px rgba(0,0,0,0.2);
  position: relative;
}

/* Container */
.footer-container {
  max-width: 1200px;
  margin: 0 auto;
  animation: fadeIn 0.5s ease;
}

@keyframes fadeIn {
  from {opacity:0; transform: translateY(10px);}
  to {opacity:1; transform: translateY(0);}
}

.main-footer p {
  margin: 0;
}

/* Inovações */
.footer-innovations {
  margin-top: 2rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(255,255,255,0.1);
}

.footer-innovations h4 {
  font-size: 1.15rem;
  font-weight: 600;
  color: var(--secondary-color);
  margin-bottom: 1rem;
}

/* Lista */
.footer-innovations ul {
  list-style: none;
  padding: 0;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: center;
  max-width: 1000px;
}

.footer-innovations li {
  margin: 0;
}

.footer-innovations a {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  color: var(--text-light);
  text-decoration: none;
  padding: 0.4rem 0.8rem;
  border-radius: 6px;
  background-color: rgba(255,255,255,0.05);
  font-weight: 500;
  transition: all 0.25s ease;
}

.footer-innovations a:hover {
  background-color: var(--secondary-color);
  color: #333;
  transform: translateY(-2px);
}

/* Redes sociais */
.footer-socials {
  margin-top: 2rem;
  display: flex;
  justify-content: center;
  gap: 1.2rem;
}

.footer-socials svg {
  stroke: var(--text-light);
  transition: stroke 0.3s, transform 0.3s;
}

.footer-socials a:hover svg {
  stroke: var(--secondary-color);
  transform: scale(1.2);
}

/* Voltar ao topo */
.back-to-top {
  position: absolute;
  right: 1rem;
  top: 1rem;
  background: rgba(255,255,255,0.1);
  border: none;
  padding: 0.4rem 0.6rem;
  border-radius: 4px;
  cursor: pointer;
  color: var(--text-light);
  transition: all 0.3s;
}

.back-to-top:hover {
  background: var(--secondary-color);
  color: #333;
}

/* Responsivo */
@media (max-width: 768px) {
  .footer-innovations ul {
    flex-direction: column;
    gap: 0.6rem;
  }

  .footer-innovations a {
    display: block;
    font-size: 0.95rem;
    width: 100%;
    max-width: 300px;
    margin: 0 auto;
  }

  .footer-innovations h4 {
    font-size: 1rem;
  }

  .footer-socials {
    flex-wrap: wrap;
    gap: 0.8rem;
  }

  .back-to-top {
    right: 0.5rem;
    top: 0.5rem;
  }
}
/**
 * Swiper 11.2.10
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2025 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: June 28, 2025
 */

/* FONT_START */
@font-face {
  font-family: 'swiper-icons';
  src: url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA');
  font-weight: 400;
  font-style: normal;
}
/* FONT_END */
:root {
  --swiper-theme-color: #007aff;
  /*
  --swiper-preloader-color: var(--swiper-theme-color);
  --swiper-wrapper-transition-timing-function: initial;
  */
}
:host {
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
}
.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
  display: block;
}
.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}
.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box;
}
.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}
.swiper-horizontal {
  touch-action: pan-y;
}
.swiper-vertical {
  touch-action: pan-x;
}
.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
  display: block;
}
.swiper-slide-invisible-blank {
  visibility: hidden;
}
/* Auto Height */
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto;
}
.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}
.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
/* 3D Effects */
.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}
.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}
.swiper-3d {
  perspective: 1200px;
}
.swiper-3d .swiper-slide,
.swiper-3d .swiper-cube-shadow {
  transform-style: preserve-3d;
}
/* CSS Mode */
.swiper-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  /* For Firefox */
  -ms-overflow-style: none;
  /* For Internet Explorer and Edge */
}
.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}
.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}
.swiper-css-mode.swiper-horizontal > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}
.swiper-css-mode.swiper-vertical > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}
.swiper-css-mode.swiper-free-mode > .swiper-wrapper {
  scroll-snap-type: none;
}
.swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: none;
}
.swiper-css-mode.swiper-centered > .swiper-wrapper::before {
  content: '';
  flex-shrink: 0;
  order: 9999;
}
.swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
  scroll-snap-stop: always;
}
.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  margin-inline-start: var(--swiper-centered-offset-before);
}
.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after);
}
.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  margin-block-start: var(--swiper-centered-offset-before);
}
.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after);
}
/* Slide styles start */
/* 3D Shadows */
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}
.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}
.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}
.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}
.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,
.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {
  animation: swiper-preloader-spin 1s infinite linear;
}
.swiper-lazy-preloader-white {
  --swiper-preloader-color: #fff;
}
.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000;
}
@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* Slide styles end */
:root {
  /*
  --swiper-pagination-color: var(--swiper-theme-color);
  --swiper-pagination-left: auto;
  --swiper-pagination-right: 8px;
  --swiper-pagination-bottom: 8px;
  --swiper-pagination-top: auto;
  --swiper-pagination-fraction-color: inherit;
  --swiper-pagination-progressbar-bg-color: rgba(0,0,0,0.25);
  --swiper-pagination-progressbar-size: 4px;
  --swiper-pagination-bullet-size: 8px;
  --swiper-pagination-bullet-width: 8px;
  --swiper-pagination-bullet-height: 8px;
  --swiper-pagination-bullet-border-radius: 50%;
  --swiper-pagination-bullet-inactive-color: #000;
  --swiper-pagination-bullet-inactive-opacity: 0.2;
  --swiper-pagination-bullet-opacity: 1;
  --swiper-pagination-bullet-horizontal-gap: 4px;
  --swiper-pagination-bullet-vertical-gap: 6px;
  */
}
.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: 300ms opacity;
  transform: translate3d(0, 0, 0);
  z-index: 10;
}
.swiper-pagination.swiper-pagination-hidden {
  opacity: 0;
}
.swiper-pagination-disabled > .swiper-pagination,
.swiper-pagination.swiper-pagination-disabled {
  display: none !important;
}
/* Common Styles */
.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal {
  bottom: var(--swiper-pagination-bottom, 8px);
  top: var(--swiper-pagination-top, auto);
  left: 0;
  width: 100%;
}
/* Bullets */
.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0;
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transform: scale(0.33);
  position: relative;
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  transform: scale(1);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  transform: scale(1);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  transform: scale(0.66);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  transform: scale(0.33);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  transform: scale(0.66);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  transform: scale(0.33);
}
.swiper-pagination-bullet {
  width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
  height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
  display: inline-block;
  border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
  background: var(--swiper-pagination-bullet-inactive-color, #000);
  opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
}
button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  -webkit-appearance: none;
          appearance: none;
}
.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}
.swiper-pagination-bullet:only-child {
  display: none !important;
}
.swiper-pagination-bullet-active {
  opacity: var(--swiper-pagination-bullet-opacity, 1);
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
}
.swiper-vertical > .swiper-pagination-bullets,
.swiper-pagination-vertical.swiper-pagination-bullets {
  right: var(--swiper-pagination-right, 8px);
  left: var(--swiper-pagination-left, auto);
  top: 50%;
  transform: translate3d(0px, -50%, 0);
}
.swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
  display: block;
}
.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
}
.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  transition: 200ms transform,
        200ms top;
}
.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
}
.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}
.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms transform,
        200ms left;
}
.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms transform,
    200ms right;
}
/* Fraction */
.swiper-pagination-fraction {
  color: var(--swiper-pagination-fraction-color, inherit);
}
/* Progress */
.swiper-pagination-progressbar {
  background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, 0.25));
  position: absolute;
}
.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transform-origin: left top;
}
.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  transform-origin: right top;
}
.swiper-horizontal > .swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-horizontal,
.swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: var(--swiper-pagination-progressbar-size, 4px);
  left: 0;
  top: 0;
}
.swiper-vertical > .swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-vertical,
.swiper-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite {
  width: var(--swiper-pagination-progressbar-size, 4px);
  height: 100%;
  left: 0;
  top: 0;
}
.swiper-pagination-lock {
  display: none;
}
:root {
  --primary-color: #19cfa2;
  --primary-color-dark: #0ea784;
  --secondary-color: #2e8b57;
  --accent-color: #4682b4;
  --text-color: #222;
  --text-color-light: #fff;
  --bg-color: #fff;
  --hover-color: #19cfa2;
  --font: 'Inter', 'Poppins', sans-serif;
}

/* RESET */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: var(--font);
  background: var(--bg-color);
  color: var(--text-color);
  line-height: 1.6;
}

/* HERO */
.hero-home {
  position: relative;
  width: 100%;
  height: 65vh;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}
.hero-video {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hero-overlay {
  position: relative;
  z-index: 2;
  text-align: center;
  padding: 2rem;
  background: rgba(0,0,0,0.6);
  color: #fff;
}
.hero-overlay h1 {
  font-size: 2.4rem;
  margin-bottom: 1rem;
}
.intro-text {
  font-size: 1.2rem;
  margin-bottom: 1.5rem;
  text-shadow: 1px 1px 3px rgba(0,0,0,0.6);
}
.hero-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: center;
}
.hero-buttons button {
  padding: 0.85rem 1.5rem;
  font-size: 1rem;
  background: var(--primary-color);
  border: none;
  border-radius: 6px;
  color: #fff;
  cursor: pointer;
  font-weight: 600;
  transition: background 0.3s, transform 0.2s;
}
.hero-buttons button:hover {
  background: var(--primary-color-dark);
  transform: translateY(-2px);
}

/* SECTION */
section {
  padding: 3rem 1rem;
  text-align: center;
}
section h2 {
  font-size: 1.8rem;
  color: var(--primary-color-dark);
  margin-bottom: 1rem;
}

/* PRODUTOS */
.destaque-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: center;
}
.produto-card {
  background: #fff;
  border-radius: 10px;
  width: 200px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
  cursor: pointer;
  transition: transform 0.3s, box-shadow 0.3s;
}
.produto-card:hover {
  transform: translateY(-6px) scale(1.02);
  box-shadow: 0 8px 20px rgba(0,0,0,0.15);
}
.produto-card img {
  width: 100%;
  height: 130px;
  object-fit: cover;
  border-radius: 10px 10px 0 0;
}
.produto-card h3 {
  margin: 0.6rem;
  font-size: 1rem;
}
.produto-card p {
  color: var(--primary-color);
  font-weight: 600;
  margin-bottom: 0.6rem;
}

/* BOTÃO VER TODOS */
.ver-todos-btn {
  margin-top: 1rem;
  padding: 0.75rem 1.5rem;
  font-size: 1rem;
  background: var(--primary-color);
  color: #fff;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-weight: 600;
  transition: background 0.3s, transform 0.2s;
}
.ver-todos-btn:hover {
  background: var(--primary-color-dark);
  transform: translateY(-2px);
}

/* ANÚNCIOS */
.anuncios-container {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: center;
}
.anuncio-card {
  width: 230px;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 3px 10px rgba(0,0,0,0.1);
  transition: transform 0.3s;
}
.anuncio-card:hover {
  transform: translateY(-4px);
}
.anuncio-card img {
  width: 100%;
  display: block;
}
.anuncio-card span {
  display: block;
  padding: 0.5rem;
  font-size: 0.95rem;
  font-weight: 500;
  color: var(--text-color);
}

/* PARCEIROS */
.logos-patrocinadores {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  justify-content: center;
}
.logos-patrocinadores img {
  max-width: 160px;
}

/* QUEM SOMOS */
.quem-somos-img {
  max-width: 400px;
  margin-top: 1rem;
  border-radius: 8px;
  box-shadow: 0 3px 10px rgba(0,0,0,0.15);
}

/* IMPACTO */
.grafico-pegada {
  width: 80%;
  max-width: 500px;
  margin: 1rem auto;
  background: #ddd;
  border-radius: 5px;
}
.barra {
  background: var(--primary-color);
  color: #fff;
  text-align: center;
  padding: 0.5rem;
  border-radius: 5px;
  transition: width 0.5s ease;
}

/* CARDS DE AÇÃO */
.home-cards {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  justify-content: center;
}
.home-cards .card {
  background: #f9f9f9;
  border-radius: 10px;
  padding: 1rem;
  width: 200px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  cursor: pointer;
  transition: transform 0.3s, box-shadow 0.3s;
}
.home-cards .card:hover {
  transform: translateY(-4px) scale(1.02);
  box-shadow: 0 8px 20px rgba(0,0,0,0.15);
}
.home-cards .card i {
  margin-bottom: 0.5rem;
  color: var(--primary-color);
}

/* PREMIUM CTA */
.premium-cta {
  background: var(--secondary-color);
  color: #fff;
  border-radius: 8px;
  padding: 2rem;
}
.premium-cta p {
  margin-bottom: 1rem;
}
.premium-cta button {
  margin: 0.5rem;
  padding: 0.75rem 1.2rem;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-weight: 600;
  transition: background 0.3s ease;
}
.btn-premium-white {
  background: #fff;
  color: var(--secondary-color);
}
.btn-premium-blue {
  background: var(--accent-color);
  color: #fff;
}
.btn-premium-white:hover {
  background: #eee;
}
.btn-premium-blue:hover {
  background: #366a99;
}

/* ANIMAÇÕES */
.fade-in {
  opacity: 0;
  transform: translateY(20px);
  animation: fadeIn 0.8s forwards;
}
@keyframes fadeIn {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.slide-up {
  opacity: 0;
  transform: translateY(30px);
  animation: slideUp 0.8s forwards;
}
@keyframes slideUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.zoom-in {
  opacity: 0;
  transform: scale(0.9);
  animation: zoomIn 0.8s forwards;
}
@keyframes zoomIn {
  to {
    opacity: 1;
    transform: scale(1);
  }
}

/* RESPONSIVO */
@media (max-width: 768px) {
  .hero-home {
    height: 50vh;
  }
  .hero-overlay h1 {
    font-size: 1.8rem;
  }
  .intro-text {
    font-size: 1rem;
  }
  .produto-card {
    width: 160px;
  }
  .anuncio-card {
    width: 180px;
  }
  .home-cards .card {
    width: 160px;
  }
}
@media (max-width: 480px) {
  .hero-home {
    height: 40vh;
  }
  .hero-overlay h1 {
    font-size: 1.5rem;
  }
  .intro-text {
    font-size: 0.95rem;
  }
  .produto-card {
    width: 140px;
  }
  .anuncio-card {
    width: 150px;
  }
  .home-cards .card {
    width: 140px;
  }
}
/* SWIPER ESTILOS */
.swiper {
  padding: 1rem 0;
}

.swiper-slide {
  display: flex;
  justify-content: center;
}

.swiper-pagination-bullet {
  background: var(--primary-color);
  opacity: 0.5;
  transition: opacity 0.3s, transform 0.3s;
}

.swiper-pagination-bullet-active {
  opacity: 1;
  transform: scale(1.2);
}

/* INTERACTIVE CARDS */
.interactive-card {
  transform: translateY(0);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.interactive-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

/* SCROLL ANIMATIONS */
.fade-in {
  opacity: 0;
  transform: translateY(20px);
  animation: fadeIn 0.8s forwards;
}

@keyframes fadeIn {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.slide-up {
  opacity: 0;
  transform: translateY(30px);
  animation: slideUp 0.8s forwards;
}

@keyframes slideUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* SWIPER RESPONSIVO */
@media (max-width: 640px) {
  .swiper-slide {
    width: 80% !important;
  }
}
/* 🌿 SWIPER CUSTOMIZAÇÃO */
.swiper {
  padding: 1rem 0;
}

.swiper-slide {
  display: flex;
  justify-content: center;
}

.swiper-pagination-bullet {
  background: var(--primary-color);
  opacity: 0.4;
  transition: opacity 0.3s, transform 0.3s;
}

.swiper-pagination-bullet-active {
  opacity: 1;
  transform: scale(1.2);
}

/* 🌿 CARDS INTERATIVOS */
.interactive-card {
  transform: translateY(0);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  cursor: pointer;
}

.interactive-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 8px 20px rgba(0,0,0,0.15);
}

/* 🌿 ANIMAÇÃO FADE IN */
.fade-in {
  opacity: 0;
  transform: translateY(20px);
  animation: fadeIn 0.8s forwards;
}

@keyframes fadeIn {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* 🌿 ANIMAÇÃO SLIDE UP */
.slide-up {
  opacity: 0;
  transform: translateY(30px);
  animation: slideUp 0.8s forwards;
}

@keyframes slideUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* 🌿 RESPONSIVO SWIPER */
@media (max-width: 640px) {
  .swiper-slide {
    width: 80% !important;
  }
}
/* 🌿 FADE IN COM DELAY */
.fade-in {
  opacity: 0;
  transform: translateY(20px);
  animation: fadeIn 0.8s forwards;
}

.fade-in-delay {
  opacity: 0;
  transform: translateY(20px);
  animation: fadeIn 0.8s forwards;
  animation-delay: 0.4s;
}

/* 🌿 SLIDE UP */
.slide-up {
  opacity: 0;
  transform: translateY(30px);
  animation: slideUp 0.8s forwards;
}

/* 🌿 ZOOM IN */
.zoom-in {
  opacity: 0;
  transform: scale(0.8);
  animation: zoomIn 0.8s forwards;
}

@keyframes fadeIn {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes slideUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes zoomIn {
  to {
    opacity: 1;
    transform: scale(1);
  }
}

/* 🌿 FADE LEFT */
.fade-left {
  opacity: 0;
  transform: translateX(-30px);
  animation: fadeLeft 0.8s forwards;
}

@keyframes fadeLeft {
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* 🌿 FADE RIGHT */
.fade-right {
  opacity: 0;
  transform: translateX(30px);
  animation: fadeRight 0.8s forwards;
}

@keyframes fadeRight {
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* 🌿 RESPONSIVO - garantir suavidade */
@media (prefers-reduced-motion: reduce) {
  .fade-in,
  .fade-in-delay,
  .slide-up,
  .zoom-in,
  .fade-left,
  .fade-right {
    animation: none;
    opacity: 1;
    transform: none;
  }
}
.produto-card {
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
  padding: 1rem;
  max-width: 280px;
  text-align: center;
  margin: 1rem auto;
  transition: transform 0.3s;
}
.produto-card:hover {
  transform: translateY(-5px);
}
.produto-img {
  width: 100%;
  height: 150px;
  object-fit: cover;
  border-radius: 8px;
}
.preco {
  font-weight: bold;
  color: var(--primary-color);
  margin: 0.5rem 0;
}
.entrega input {
  width: 100%;
  padding: 0.5rem;
  margin-bottom: 0.3rem;
  border-radius: 5px;
  border: 1px solid #ccc;
}
.entrega button {
  padding: 0.5rem 1rem;
  background: var(--primary-color);
  color: #fff;
  border: none;
  border-radius: 5px;
  margin-top: 0.3rem;
  cursor: pointer;
}
.entrega-info {
  margin-top: 0.5rem;
  font-size: 0.9rem;
}
.acoes button {
  margin-top: 0.5rem;
  margin-right: 0.4rem;
  padding: 0.5rem 1rem;
  font-size: 0.9rem;
  border: none;
  border-radius: 6px;
  cursor: pointer;
}
.btn-add {
  background: #2f855a;
  color: #fff;
}
.btn-rastrear {
  background: #3182ce;
  color: #fff;
}
.modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0,0,0,0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
}
.modal-content {
  background: #fff;
  padding: 2rem;
  border-radius: 10px;
  max-width: 400px;
  width: 90%;
  position: relative;
  box-shadow: 0 4px 15px rgba(0,0,0,0.2);
}
.modal-close {
  position: absolute;
  top: 8px;
  right: 10px;
  background: none;
  border: none;
  font-size: 1.5rem;
  cursor: pointer;
}
/* 🧱 Fundo escuro translúcido do modal */
.modal-upgrade {
  position: fixed;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 9999;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1rem;
  animation: fadeIn 0.3s ease-out forwards;
}

/* 🗃️ Conteúdo do modal */
.modal-content {
  background-color: #fff;
  padding: 2rem;
  border-radius: 12px;
  max-width: 400px;
  width: 100%;
  text-align: center;
  position: relative;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.25);
  animation: slideDown 0.3s ease-out;
  transition: all 0.3s ease-in-out;
}

/* 📝 Título */
.modal-content h2 {
  margin-bottom: 1rem;
  color: #1e3932;
  font-size: 1.8rem;
  font-weight: 700;
}

/* 📄 Texto do modal */
.modal-content p {
  margin-bottom: 1.5rem;
  color: #555;
  font-size: 1rem;
  line-height: 1.5;
}

/* 🔘 Botão principal */
.btn-upgrade {
  display: inline-block;
  background: linear-gradient(135deg, #27ae60, #219653);
  color: white;
  padding: 0.8rem 1.5rem;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 600;
  transition: all 0.3s ease;
  box-shadow: 0 4px 12px rgba(39, 174, 96, 0.3);
}
.btn-upgrade:hover {
  background: linear-gradient(135deg, #1e874b, #19703f);
  transform: scale(1.03);
}

/* ❌ Botão de fechar */
.btn-close {
  position: absolute;
  top: 0.8rem;
  right: 1rem;
  background: #e74c3c;
  color: white;
  border: none;
  border-radius: 50%;
  width: 32px;
  height: 32px;
  font-size: 1.2rem;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
  transition: background 0.2s ease, transform 0.2s ease;
}
.btn-close:hover {
  background: #c0392b;
  transform: scale(1.1);
}

/* 🎞️ Animações */
@keyframes slideDown {
  from {
    transform: translateY(-20px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes fadeOut {
  from { opacity: 1; }
  to { opacity: 0; }
}

/* ✨ Efeito de saída */
.modal-upgrade.fade-out {
  animation: fadeOut 0.3s ease-out forwards;
}

/* 📱 Responsivo */
@media (max-width: 480px) {
  .modal-content {
    padding: 1.5rem;
  }

  .modal-content h2 {
    font-size: 1.5rem;
  }

  .modal-content p {
    font-size: 0.95rem;
  }

  .btn-upgrade {
    font-size: 0.95rem;
    padding: 0.65rem 1.2rem;
  }
}
:root {
  --primary-color: #27ae60;
  --primary-color-dark: #219653;
  --text-color: #2c3e50;
  --bg-light: #f8f8f8;
  --white: #fff;
}

/* Página de produtos */
.pagina-produtos {
  background-color: var(--bg-light);
  padding: 2rem 1rem;
}

/* Sessão explicativa */
.explicacao-produtos {
  max-width: 900px;
  margin: 0 auto 2rem;
  text-align: center;
}

.explicacao-produtos h1 {
  font-size: 2rem;
  color: var(--primary-color-dark);
  margin-bottom: 0.5rem;
}

.explicacao-produtos p {
  color: #555;
  font-size: 1rem;
  margin-bottom: 0.5rem;
}

.subexplicacao {
  color: #666;
  font-size: 0.95rem;
  margin-bottom: 1.5rem;
  text-align: center;
}

/* Container principal */
.produtos-container {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  justify-content: center;
  padding: 2rem 1rem;
  background-color: var(--bg-light);
  margin-bottom: 5rem; /* espaço para ToastContainer se fixo */
}

/* Card de produto */
.produto {
  background-color: var(--white);
  border: 1px solid var(--primary-color);
  border-radius: 10px;
  width: 240px;
  padding: 1rem;
  text-align: center;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.06);
  transition: all 0.3s ease-in-out;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}

@media (hover: hover) {
  .produto:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.12);
  }
}

/* Estilo para produtos em destaque */
.produto.destaque {
  border: 2px solid gold;
  box-shadow: 0 0 12px rgba(255, 215, 0, 0.6);
}

.produto.destaque::before {
  content: "🌟 Destaque";
  position: absolute;
  top: 10px;
  left: 10px;
  background-color: gold;
  color: #333;
  font-weight: bold;
  padding: 0.2rem 0.5rem;
  border-radius: 5px;
  font-size: 0.75rem;
}

/* Imagem */
.produto img {
  width: 100%;
  height: 150px;
  object-fit: cover;
  border-radius: 6px;
  margin-bottom: 0.75rem;
}

/* Título */
.produto h3 {
  font-size: clamp(1rem, 1.5vw, 1.2rem);
  color: var(--text-color);
  margin-bottom: 0.5rem;
}

/* Preço */
.produto .preco {
  font-size: 1rem;
  color: var(--primary-color);
  font-weight: 600;
  margin-bottom: 0.75rem;
}

/* CEP e Frete */
.frete-container {
  display: flex;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
}
.frete-container input {
  width: 100px;
  padding: 0.45rem;
  border: 1px solid var(--primary-color);
  border-radius: 5px;
  font-size: 0.9rem;
}
.frete-container button {
  padding: 0.4rem 0.75rem;
  background-color: var(--primary-color);
  color: var(--white);
  border: none;
  border-radius: 5px;
  font-size: 0.9rem;
  cursor: pointer;
  transition: background 0.3s;
}
.frete-container button:hover,
.frete-container button:focus {
  background-color: var(--primary-color-dark);
  outline: none;
}

.frete-info {
  font-size: 0.9rem;
  color: #555;
}

/* Botões do card */
.botao-grupo {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  width: 100%;
}
.botao-grupo button {
  background-color: var(--primary-color);
  color: var(--white);
  border: none;
  border-radius: 6px;
  padding: 0.5rem 0.8rem;
  font-size: 0.9rem;
  cursor: pointer;
  transition: background 0.3s;
}
.botao-grupo button:hover,
.botao-grupo button:focus {
  background-color: var(--primary-color-dark);
  outline: none;
}

/* Botão de rastreio */
.btn-rastrear {
  background-color: #3498db;
  color: white;
  border: none;
  border-radius: 6px;
  padding: 0.4rem 0.8rem;
  font-size: 0.85rem;
  cursor: pointer;
  transition: background 0.3s;
}
.btn-rastrear:hover {
  background-color: #2980b9;
}

/* Modal */
.modal {
  position: fixed;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 999;
}
.modal-content {
  background-color: var(--white);
  padding: 1.5rem 2rem;
  border-radius: 8px;
  width: 400px;
  max-width: 90%;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  position: relative;
  animation: aparecer 0.3s ease-out;
}
@keyframes aparecer {
  from {
    transform: translateY(-20px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
.close-modal {
  position: absolute;
  top: 0.5rem;
  right: 1rem;
  font-size: 1.5rem;
  cursor: pointer;
}
.modal-content h3 {
  margin-bottom: 1rem;
  font-size: 1.2rem;
  color: #333;
}

/* Responsivo */
@media (max-width: 768px) {
  .produto {
    width: 45%;
  }
  .produto img {
    height: 130px;
  }
}

@media (max-width: 480px) {
  .produto {
    width: 90%;
  }
  .produto img {
    height: 120px;
  }
  .frete-container input {
    width: 80px;
    font-size: 0.85rem;
  }
  .botao-grupo button {
    font-size: 0.85rem;
  }
}

/* Toast responsivo */
@media (max-height: 600px) {
  .Toastify__toast-container--bottom-center {
    bottom: 4rem;
  }
}
:root {
  --primary-color: #27ae60;
  --primary-color-dark: #219653;
  --secondary-color: #f39c12;
  --error-color: #e74c3c;
  --bg-light: #f8f8f8;
  --text-light: #2c3e50;
  --transition-fast: 0.3s;
}

/* ==========================
   Hero do Produtor
========================== */
.hero-produtor {
  background-size: cover;
  background-position: center;
  height: 50vh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  position: relative;
  color: #fff;
  overflow: hidden;
}

.hero-produtor::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
  z-index: 1;
}

.hero-produtor > div {
  position: relative;
  z-index: 2;
}

.hero-produtor h2 {
  font-size: 2.8rem;
  margin-bottom: 1rem;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
}

.hero-produtor p {
  font-size: 1.25rem;
  margin-bottom: 2rem;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
}

/* ==========================
   Seção de Cadastro
========================== */
#cadastro-produtor {
  padding: 60px 12%;
  background: var(--bg-light);
}

#cadastro-produtor h2 {
  font-size: 2.2rem;
  margin-bottom: 30px;
  color: var(--text-light);
  text-align: center;
}

#cadastro-produtor form {
  max-width: 750px;
  margin: 0 auto;
  background: #fff;
  padding: 40px;
  border-radius: 12px;
  box-shadow: 0 0 25px rgba(0, 0, 0, 0.06);
}

/* ==========================
   Grupo de Campos
========================== */
.input-group {
  margin-bottom: 25px;
}

.input-group label {
  display: block;
  font-size: 1rem;
  font-weight: 600;
  color: #333;
  margin-bottom: 8px;
}

.input-group input,
.input-group textarea,
.input-group select {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid #ccc;
  border-radius: 8px;
  font-size: 1rem;
  background: #fff;
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.input-group input:focus,
.input-group textarea:focus,
.input-group select:focus {
  border-color: var(--primary-color);
  box-shadow: 0 0 0 3px rgba(39, 174, 96, 0.2);
  outline: none;
}

.input-group input:invalid,
.input-group textarea:invalid,
.input-group select:invalid {
  border-color: var(--error-color);
}

.input-group textarea {
  resize: vertical;
  min-height: 100px;
}

/* ==========================
   Agrupamento por título
========================== */
.form-group-title {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--primary-color-dark);
  margin: 30px 0 15px;
  border-bottom: 2px solid var(--primary-color);
  padding-bottom: 5px;
}

/* ==========================
   Selos e Checkboxes
========================== */
.input-group.selos {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 10px;
}

.input-group.selos label {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  font-weight: 600;
  background-color: #e9fbe9;
  padding: 10px 16px;
  border-radius: 8px;
  border: 2px solid var(--primary-color);
  color: var(--primary-color-dark);
  cursor: pointer;
  transition: all 0.3s ease;
  min-width: 200px;
}

.input-group.selos label:hover {
  background-color: #d4f5d4;
}

.input-group.selos input[type="checkbox"] {
  accent-color: var(--primary-color);
  transform: scale(1.2);
  margin: 0;
}

/* ==========================
   Checkbox de Destaque do Produto
========================== */
.input-group.destaque {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 20px;
}

.input-group.destaque input[type="checkbox"] {
  accent-color: var(--primary-color);
  transform: scale(1.4);
  margin: 0;
}

.input-group.destaque label {
  font-size: 1rem;
  font-weight: 600;
  color: var(--primary-color-dark);
  background-color: #e9fbe9;
  padding: 10px 16px;
  border: 2px solid var(--primary-color);
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.3s ease;
}

.input-group.destaque input[type="checkbox"]:checked + label {
  background-color: #c7f3d0;
  box-shadow: 0 0 0 2px var(--primary-color);
}

/* ==========================
   Previsão de Imagem
========================== */
.image-preview {
  text-align: center;
  margin-top: 1rem;
}

.image-preview img {
  width: 200px;
  border-radius: 8px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

/* ==========================
   Botões
========================== */
.cta-button {
  background: linear-gradient(135deg, var(--primary-color), var(--primary-color-dark));
  color: #fff;
  border: none;
  border-radius: 10px;
  padding: 1rem 2rem;
  font-size: 1rem;
  font-weight: bold;
  cursor: pointer;
  transition: all var(--transition-fast) ease;
  width: 100%;
  margin-top: 20px;
}

.cta-button:hover {
  transform: scale(1.02);
  background: linear-gradient(135deg, #1e874b, #19703f);
}

#microfone {
  margin-top: 20px;
  background: var(--secondary-color);
  color: #fff;
  border: none;
  border-radius: 10px;
  padding: 0.9rem 1.8rem;
  font-size: 1rem;
  font-weight: bold;
  cursor: pointer;
  width: 100%;
}

#microfone:hover {
  background: #e67e22;
}

/* ==========================
   Mensagem Final
========================== */
#cadastro-produtor .gamificacao {
  margin-top: 2rem;
  text-align: center;
  font-size: 0.95rem;
  color: #555;
}

/* ==========================
   Responsivo
========================== */
@media (max-width: 768px) {
  #cadastro-produtor {
    padding: 40px 6%;
  }

  #cadastro-produtor form {
    padding: 30px 20px;
  }

  .hero-produtor h2 {
    font-size: 2rem;
  }

  .hero-produtor p {
    font-size: 1.1rem;
  }

  .cta-button,
  #microfone {
    padding: 0.8rem 1.4rem;
    font-size: 0.95rem;
  }

  .input-group.selos {
    flex-direction: column;
    align-items: stretch;
  }

  .input-group.destaque {
    flex-direction: column;
    align-items: flex-start;
  }

  .input-group.destaque label {
    width: 100%;
    text-align: center;
  }
}
:root {
  --primary-color: #27ae60;
  --primary-color-dark: #219653;
  --secondary-color: #f39c12;
  --background-light: #f8f8f8;
  --text-dark: #2c3e50;
  --transition-fast: 0.3s;
  --info-color: #dff9fb;
  --info-border: #00cec9;
}

/* ============================
   HERO SECTION
============================= */
.hero-perfil {
  background-size: cover;
  background-position: center;
  height: 60vh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  position: relative;
  color: #fff;
  overflow: hidden;
}

.hero-perfil::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
  z-index: -1;
}

.hero-perfil > div {
  position: relative;
  z-index: 1;
  max-width: 800px;
  padding: 1rem;
}

.hero-perfil h2 {
  font-size: 2.5rem;
  margin-bottom: 1rem;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.6);
}

.hero-perfil p {
  font-size: 1.2rem;
  margin-bottom: 1.5rem;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.6);
}

/* ============================
   GAMIFICAÇÃO
============================= */
#gamificacao {
  padding: 2rem;
  background: var(--background-light);
  text-align: center;
}

#gamificacao h2 {
  font-size: 1.8rem;
  margin-bottom: 1rem;
}

.pontuacao p {
  margin: 0.3rem 0;
  font-size: 1rem;
  background: var(--info-color);
  border-left: 5px solid var(--info-border);
  padding: 0.6rem;
  border-radius: 6px;
  max-width: 400px;
  margin-inline: auto;
}

/* ============================
   INFORMAÇÕES PESSOAIS
============================= */
#informacoes-pessoais {
  padding: 2rem;
  background: #fff;
  text-align: center;
}

#informacoes-pessoais h2 {
  font-size: 1.8rem;
  margin-bottom: 1rem;
}

#form-perfil {
  max-width: 600px;
  margin: 0 auto;
  text-align: left;
}

.input-group {
  margin-bottom: 1.2rem;
}

.input-group label {
  display: block;
  margin-bottom: 0.3rem;
  font-weight: 600;
  color: var(--text-dark);
}

.input-group input {
  width: 100%;
  padding: 0.75rem;
  border: 1px solid #ccc;
  border-radius: 6px;
  font-size: 1rem;
  transition: border-color 0.3s;
}

.input-group input:focus {
  outline: none;
  border-color: var(--primary-color);
  box-shadow: 0 0 0 2px rgba(39, 174, 96, 0.2);
}

/* ============================
   BOTÕES
============================= */
.cta-button {
  background: linear-gradient(135deg, var(--primary-color), var(--primary-color-dark));
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 0.8rem 1.5rem;
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: all var(--transition-fast) ease-in-out;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  box-shadow: 0 4px 10px rgba(39, 174, 96, 0.3);
}

.cta-button:hover,
.cta-button:focus {
  background: linear-gradient(135deg, #1e874b, #19703f);
  box-shadow: 0 6px 14px rgba(39, 174, 96, 0.45);
  transform: scale(1.03);
  outline: none;
}

#microfone {
  display: block;
  margin: 1.5rem auto 2.5rem;
  background: var(--secondary-color);
}

#microfone:hover {
  background: #e69500;
}

/* ============================
   HISTÓRICO DE PEDIDOS
============================= */
#historico-pedidos {
  padding: 2rem;
  background: var(--background-light);
  text-align: center;
}

#historico-pedidos h2 {
  font-size: 1.8rem;
  margin-bottom: 1rem;
}

.pedidos-container {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: center;
}

.pedido {
  background: #fff;
  padding: 1.2rem;
  border-radius: 10px;
  width: 260px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
  text-align: left;
  transition: transform 0.3s, box-shadow 0.3s;
}

.pedido:hover {
  transform: translateY(-6px);
  box-shadow: 0 10px 16px rgba(0, 0, 0, 0.15);
}

.pedido h3 {
  font-size: 1.2rem;
  margin-bottom: 0.5rem;
  color: var(--primary-color-dark);
}

.pedido p {
  font-size: 0.95rem;
  margin-bottom: 0.5rem;
}

.detalhes-button {
  display: inline-block;
  background: linear-gradient(135deg, var(--primary-color), var(--primary-color-dark));
  color: #fff;
  padding: 0.5rem 1rem;
  border-radius: 6px;
  text-decoration: none;
  font-size: 0.9rem;
  transition: all 0.3s;
}

.detalhes-button:hover {
  background: linear-gradient(135deg, #1e874b, #19703f);
  transform: scale(1.05);
}

/* ============================
   ERROS
============================= */
.error {
  color: red;
  font-size: 0.85rem;
  margin-top: 5px;
}

/* ============================
   RESPONSIVIDADE
============================= */
@media (max-width: 768px) {
  .hero-perfil {
    height: auto;
    padding: 2rem 1rem;
  }

  .hero-perfil h2 {
    font-size: 1.8rem;
  }

  .hero-perfil p {
    font-size: 1rem;
  }

  #form-perfil {
    margin: 1rem;
  }

  .pedido {
    width: 80%;
  }
}

@media (max-width: 480px) {
  .hero-perfil h2 {
    font-size: 1.5rem;
  }

  .hero-perfil p {
    font-size: 0.9rem;
  }

  .pedido {
    width: 100%;
  }

  .cta-button {
    font-size: 0.9rem;
    padding: 0.7rem 1.2rem;
  }
}
.pedido-detalhe-container {
  max-width: 700px;
  margin: 2rem auto;
  background: #fff;
  padding: 2rem;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  font-family: 'Segoe UI', sans-serif;
  color: #333;
}

.pedido-detalhe-container h2 {
  margin-bottom: 1.2rem;
  text-align: center;
  color: #2f855a;
  font-size: 1.8rem;
}

.pedido-detalhe-container .pedido-info {
  margin-bottom: 1.5rem;
  background-color: #f4fdf7;
  padding: 1rem;
  border-left: 5px solid #2f855a;
  border-radius: 8px;
}

.pedido-detalhe-container .pedido-info p {
  margin: 0.4rem 0;
  font-size: 1rem;
}

.pedido-detalhe-container h3 {
  margin-top: 1.5rem;
  font-size: 1.3rem;
  color: #276749;
}

.pedido-itens {
  list-style: none;
  padding: 0;
  margin: 1rem 0;
}

.pedido-itens li {
  display: flex;
  justify-content: space-between;
  padding: 0.6rem 1rem;
  border-bottom: 1px solid #ddd;
}

.item-produto {
  font-weight: 500;
}

.item-detalhe {
  color: #444;
}

.voltar-button {
  background-color: #2f855a;
  color: #fff;
  border: none;
  padding: 0.75rem 1.5rem;
  border-radius: 8px;
  font-weight: bold;
  cursor: pointer;
  transition: background 0.3s, transform 0.3s;
  display: block;
  margin: 2rem auto 0;
}

.voltar-button:hover {
  background-color: #276749;
  transform: scale(1.02);
}

/* ========== Responsividade ========== */
@media (max-width: 768px) {
  .pedido-detalhe-container {
    margin: 1rem;
    padding: 1.2rem;
  }

  .pedido-detalhe-container h2 {
    font-size: 1.5rem;
  }

  .pedido-detalhe-container h3 {
    font-size: 1.1rem;
  }

  .voltar-button {
    width: 100%;
  }
}

@media (max-width: 480px) {
  .pedido-itens li {
    flex-direction: column;
    align-items: flex-start;
  }

  .item-detalhe {
    margin-top: 0.3rem;
  }
}
.pedido-detalhes-page {
  max-width: 700px;
  margin: 2rem auto;
  background: #fff;
  padding: 2rem;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
  font-family: 'Segoe UI', sans-serif;
  color: #333;
}

.pedido-detalhes-page h1 {
  margin-bottom: 1rem;
  text-align: center;
  color: #276749;
}

.pedido-info {
  margin-bottom: 1.5rem;
  background: #f4fdf7;
  padding: 1rem;
  border-left: 4px solid #276749;
  border-radius: 8px;
}

.pix-box {
  background: #fdf9f4;
  padding: 1rem;
  border: 1px solid #e0d7cc;
  border-radius: 8px;
  text-align: center;
}

.pix-box img {
  max-width: 200px;
  margin: 1rem auto;
  display: block;
}

.btn.primary {
  background: #276749;
  color: #fff;
  padding: 0.6rem 1.2rem;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-weight: bold;
}

.btn.primary:hover {
  background: #22543d;
}
.suporte-container {
  min-height: 100vh;
  background-color: #f9f9f9;
  color: #333;
  padding: 1rem;
  transition: background-color 0.3s, color 0.3s;
}

/* Formulário de suporte */
.suporte-form {
  max-width: 600px;
  margin: 2rem auto;
  background: #fff;
  padding: 1.5rem;
  border-radius: 5px;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.suporte-form .form-group {
  margin-bottom: 1rem;
}

.suporte-form .form-group label {
  display: block;
  font-weight: 500;
  margin-bottom: 0.3rem;
}

.suporte-form .form-group input,
.suporte-form .form-group textarea {
  width: 100%;
  padding: 0.8rem;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 1rem;
  background-color: #fff;
}

.suporte-form .form-group input:focus,
.suporte-form .form-group textarea:focus {
  outline: none;
  border-color: #4CAF50;
  background-color: #f0fff0;
}

.suporte-form .btn-enviar {
  background-color: #4CAF50;
  color: white;
  border: none;
  padding: 0.8rem 1.2rem;
  border-radius: 4px;
  cursor: pointer;
  font-size: 1rem;
  transition: background 0.3s;
}

.suporte-form .btn-enviar:hover {
  background-color: #45a049;
}

/* Explicação de instruções */
.descricao-explicativa {
  max-width: 600px;
  margin: 0 auto 1.5rem auto;
  font-size: 0.95rem;
  color: #555;
  line-height: 1.4;
  text-align: center;
}

/* Erro de validação */
.error-message {
  color: red;
  font-size: 0.85rem;
  margin-top: 5px;
}

/* FAQ */
.faq-section {
  max-width: 600px;
  margin: 2rem auto;
  background: #fff;
  padding: 1.5rem;
  border-radius: 5px;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.faq-section h2 {
  text-align: center;
  margin-bottom: 1rem;
}

.faq-section details {
  margin-bottom: 1rem;
  border-bottom: 1px solid #eee;
  padding-bottom: 0.5rem;
}

.faq-section summary {
  cursor: pointer;
  font-weight: bold;
  color: #333;
}

.faq-section summary:hover {
  color: #4CAF50;
}

/* Comando de voz */
#microfone {
  display: block;
  margin: 2rem auto 0;
  background: #FFA500;
  color: #fff;
  border: none;
  padding: 0.7rem 1.2rem;
  border-radius: 4px;
  cursor: pointer;
  font-size: 1rem;
  transition: background 0.3s;
}

#microfone:hover {
  background: #e69500;
}

.comando-exemplo {
  text-align: center;
  font-size: 0.85rem;
  margin-top: 0.5rem;
  color: #666;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}

/* Toast de feedback */
.toast {
  position: fixed;
  top: 10px;
  right: 10px;
  background: #4caf50;
  color: #fff;
  padding: 0.8rem 1.2rem;
  border-radius: 4px;
  box-shadow: 0 2px 5px rgba(0,0,0,0.2);
  animation: fadeOut 3s forwards;
  z-index: 9999;
}

@keyframes fadeOut {
  0% { opacity: 1; }
  80% { opacity: 1; }
  100% { opacity: 0; visibility: hidden; }
}

/* Responsividade */
@media (max-width: 768px) {
  .suporte-form,
  .faq-section {
    margin: 1rem;
    padding: 1rem;
  }
}

@media (max-width: 480px) {
  #microfone {
    padding: 0.6rem 1rem;
    font-size: 0.9rem;
  }

  .suporte-form .form-group label {
    font-size: 0.95rem;
  }

  .suporte-form .btn-enviar {
    font-size: 0.9rem;
  }

  .descricao-explicativa {
    font-size: 0.9rem;
  }
}
/* 🌿 Estilo geral da página do Blog */
.pagina-blog {
  background-color: #f9f9f9;
  color: #333;
  font-family: 'Arial', sans-serif;
  line-height: 1.6;
  min-height: 100vh;
  padding: 2rem;
}

/* Títulos principais */
.pagina-blog h2 {
  text-align: center;
  font-size: 2rem;
  color: #2b9348;
  margin-bottom: 0.5rem;
}

/* Texto introdutório */
.subtitulo,
.descricao-cotacao {
  font-size: 1rem;
  color: #444;
  margin-bottom: 1rem;
  line-height: 1.4;
  background: #f1f1f1;
  padding: 1rem;
  border-left: 5px solid #4CAF50;
  border-radius: 5px;
  text-align: center;
}

/* 🔎 Campo de busca e filtro por categoria */
.filtros-blog {
  display: flex;
  gap: 1rem;
  justify-content: center;
  margin-bottom: 2rem;
  flex-wrap: wrap;
}

.filtros-blog input,
.filtros-blog select {
  padding: 0.6rem 1rem;
  border: 1px solid #ccc;
  border-radius: 8px;
  font-size: 0.95rem;
  background-color: #fff;
  color: #333;
  outline: none;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.filtros-blog input:focus,
.filtros-blog select:focus {
  border-color: #2b9348;
  box-shadow: 0 0 0 2px rgba(43, 147, 72, 0.2);
}

/* 📊 Bloco de cotações */
.cotacoes-header {
  background: #eaf8ef;
  border: 1px solid #c8e6c9;
  padding: 1rem;
  border-radius: 8px;
  margin-bottom: 2rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  gap: 1rem;
  font-size: 0.95rem;
  color: #2b9348;
  font-weight: 600;
}

.cotacoes-header .atualizado {
  flex-basis: 100%;
  text-align: center;
  font-size: 0.85rem;
  color: #666;
}

/* 📚 Container dos cards de postagens */
.postagens {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 2rem;
  max-width: 1200px;
  margin: 0 auto;
}

/* 📝 Card individual do post */
.postagem {
  background-color: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
  transition: transform 0.3s, box-shadow 0.3s;
  animation: fadeInUp 0.4s ease forwards;
  opacity: 0;
}

.postagem:hover {
  transform: translateY(-8px);
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.12);
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(15px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* 🖼 Imagem da postagem */
.postagem img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  background-color: #eee;
}

/* 📄 Conteúdo textual */
.postagem .conteudo {
  padding: 1.5rem;
}

.postagem h3 {
  font-size: 1.4rem;
  color: #2c3e50;
  margin-bottom: 0.5rem;
}

.postagem p {
  font-size: 1rem;
  color: #555;
  margin-bottom: 1rem;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ℹ️ Informações do autor, data, tempo de leitura */
.meta-preview {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  font-size: 0.85rem;
  color: #777;
  margin-bottom: 1rem;
}

.meta-preview span {
  display: flex;
  align-items: center;
  gap: 0.3rem;
}

/* 🔗 Botão de navegação "Leia mais" */
.postagem .leia-mais {
  display: inline-flex;
  align-items: center;
  color: #2b9348;
  text-decoration: none;
  font-weight: bold;
  transition: color 0.3s;
}

.postagem .leia-mais i {
  margin-left: 0.5rem;
  transition: margin-left 0.3s ease;
}

.postagem .leia-mais:hover {
  color: #1e7a3d;
}

.postagem .leia-mais:hover i {
  margin-left: 1rem;
}

/* ⏳ Indicador de carregamento */
.carregando {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100px;
}

.carregando::after {
  content: "";
  width: 40px;
  height: 40px;
  border: 4px solid #ccc;
  border-top: 4px solid #2b9348;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* 🧾 Aviso quando não há posts */
.sem-posts {
  margin-top: 2rem;
  font-size: 1.1rem;
  color: #666;
  text-align: center;
}

/* 📱 Ajustes para telas menores */
@media (max-width: 768px) {
  .pagina-blog {
    padding: 1rem;
  }

  .cotacoes-header {
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.9rem;
  }

  .postagens {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .postagem img {
    height: 160px;
  }

  .filtros-blog {
    flex-direction: column;
    align-items: center;
  }

  .filtros-blog input,
  .filtros-blog select {
    width: 100%;
  }
}

@media (max-width: 480px) {
  .postagem h3 {
    font-size: 1.2rem;
  }

  .postagem p {
    font-size: 0.95rem;
  }

  .postagem .leia-mais {
    font-size: 0.9rem;
  }

  .postagem img {
    height: 120px;
  }

  .meta-preview {
    flex-direction: column;
    gap: 0.4rem;
  }
}
/* 📄 Container principal */
.blog-post-detalhe-container {
  max-width: 900px;
  margin: 2rem auto;
  padding: 2rem;
  background-color: #fff;
  border-radius: 12px;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08);
  font-family: 'Segoe UI', sans-serif;
  position: relative;
}

/* 🧭 Título principal do post */
.blog-post-detalhe-container h1 {
  font-size: 2.2rem;
  color: #2b9348;
  text-align: center;
  margin-bottom: 1rem;
}

/* 📅 Informações do post: autor, data, leitura */
.post-meta {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1.2rem;
  font-size: 0.95rem;
  color: #777;
  margin-bottom: 1.5rem;
}
.post-meta span {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

/* 🖼️ Imagem destacada do post */
.blog-post-detalhe-container img {
  width: 100%;
  height: auto;
  border-radius: 10px;
  margin: 1.5rem 0;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.1);
  object-fit: cover;
}

/* ✏️ Conteúdo principal do post */
.blog-post-conteudo {
  font-size: 1.05rem;
  line-height: 1.8;
  color: #444;
  text-align: justify;
}
.blog-post-conteudo p {
  margin-bottom: 1.5rem;
}

/* 💬 Citação (blockquote) */
.blog-post-conteudo blockquote {
  border-left: 4px solid #2b9348;
  padding-left: 1rem;
  font-style: italic;
  margin: 1.5rem 0;
  color: #333;
  background: #f1fdf6;
}

/* 🏷️ Tags relacionadas ao post */
.post-tags {
  margin-top: 2rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  justify-content: center;
}
.post-tags span {
  background-color: #e0f6e6;
  color: #2b9348;
  padding: 0.4rem 0.9rem;
  border-radius: 20px;
  font-size: 0.85rem;
  font-weight: 600;
  transition: background 0.3s;
}
.post-tags span:hover {
  background-color: #d0eddc;
}

/* 📤 Botões de compartilhamento */
.compartilhar {
  margin-top: 2rem;
  text-align: center;
}
.compartilhar button {
  background: none;
  border: none;
  font-size: 1.4rem;
  margin: 0 0.6rem;
  cursor: pointer;
  color: #2b9348;
  transition: transform 0.2s ease, color 0.2s ease;
}
.compartilhar button:hover {
  transform: scale(1.2);
  color: #1e7a3d;
}

/* 🔙 Botão de voltar ao blog */
.voltar-button {
  background-color: #2b9348;
  color: #fff;
  border: none;
  padding: 0.9rem 1.6rem;
  border-radius: 6px;
  font-size: 1rem;
  font-weight: bold;
  cursor: pointer;
  margin: 2.5rem auto 0;
  display: block;
  text-align: center;
  transition: background-color 0.3s ease, transform 0.2s ease;
}
.voltar-button:hover {
  background-color: #207a3b;
  transform: scale(1.05);
}

/* 🔄 Estados de carregamento e erro */
.blog-post-loading,
.blog-post-erro {
  text-align: center;
  padding: 2rem;
  font-size: 1.1rem;
  color: #555;
}

/* 📱 Responsividade */
@media (max-width: 768px) {
  .blog-post-detalhe-container {
    padding: 1.2rem;
  }

  .blog-post-detalhe-container h1 {
    font-size: 1.8rem;
  }

  .post-meta {
    flex-direction: column;
    gap: 0.5rem;
  }

  .blog-post-conteudo {
    font-size: 1rem;
  }
}

@media (max-width: 480px) {
  .blog-post-detalhe-container h1 {
    font-size: 1.5rem;
  }

  .voltar-button {
    width: 100%;
    padding: 1rem;
  }
}
/* ====== Layout base da página ====== */
.pagina-sustentabilidade {
  min-height: 100vh;
  background-color: var(--background-light);
  color: var(--text-light);
  font-family: var(--font-primary, Arial, sans-serif);
  transition: background-color 0.3s, color 0.3s;
}

/* ====== Hero Section ====== */
.hero-sustentabilidade {
  position: unset;
  height: 400px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #fff;
}

.hero-sustentabilidade h2 {
  font-size: 2rem;
  margin-bottom: 0.5rem;
  text-shadow: 1px 1px 2px rgba(0,0,0,0.5);
}

.hero-sustentabilidade p {
  font-size: 1.2rem;
  max-width: 600px;
  line-height: 1.4;
  text-shadow: 1px 1px 2px rgba(0,0,0,0.5);
}

.legenda-imagem {
  font-size: 0.85rem;
  color: #eee;
  margin-top: 0.5rem;
  font-style: italic;
}

/* ====== Seção Compromissos ====== */
#compromisso {
  padding: 2rem;
  text-align: center;
  background-color: var(--background-light);
}

#compromisso h2 {
  font-size: 1.8rem;
  margin-bottom: 1rem;
  color: var(--primary-color-dark);
}

.descricao-bloco {
  max-width: 800px;
  margin: 0 auto 2rem;
  font-size: 1rem;
  line-height: 1.5;
  color: var(--text-light);
}

#compromisso .cards {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
  gap: 1rem;
}

#compromisso .card {
  background-color: #fff;
  color: var(--text-light);
  padding: 1.5rem;
  border-radius: 10px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
  width: 30%;
  min-width: 250px;
  text-align: center;
  transition: transform 0.3s;
}

#compromisso .card:hover {
  transform: translateY(-5px);
}

#compromisso .card i {
  font-size: 2rem;
  color: var(--primary-color);
  margin-bottom: 1rem;
}

/* ====== Seção Métricas ====== */
#metricas-impacto {
  padding: 2rem;
  text-align: center;
}

#metricas-impacto h2 {
  font-size: 1.8rem;
  margin-bottom: 1rem;
  color: var(--primary-color-dark);
}

#metricas-impacto .metricas {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
  gap: 1rem;
}

#metricas-impacto .metrica {
  background-color: #fff;
  color: var(--text-light);
  padding: 1.5rem;
  border-radius: 10px;
  width: 30%;
  min-width: 250px;
  text-align: center;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
  transition: transform 0.3s;
}

#metricas-impacto .metrica:hover {
  transform: translateY(-5px);
}

#metricas-impacto .metrica h3 {
  margin-bottom: 0.5rem;
  color: var(--primary-color);
}

#metricas-impacto .metrica p {
  font-size: 1rem;
  color: var(--text-light);
}

.grafico-pegada {
  width: 80%;
  max-width: 600px;
  margin: 2rem auto 0;
  background: #ddd;
  border-radius: 5px;
  overflow: hidden;
}

.barra {
  background: var(--primary-color);
  color: #fff;
  text-align: center;
  padding: 0.5rem;
  border-radius: 5px;
  transition: width 0.3s;
}

/* ====== Seção Depoimentos ====== */
#depoimentos {
  padding: 2rem;
  text-align: center;
  background-color: var(--background-light);
}

#depoimentos h2 {
  font-size: 1.8rem;
  margin-bottom: 1rem;
  color: var(--primary-color-dark);
}

.carrossel-depoimentos {
  max-width: 800px;
  margin: 0 auto;
  overflow: hidden;
  position: relative;
}

.depoimentos-wrapper {
  display: flex;
  transition: transform 0.5s ease;
}

.depoimento {
  background-color: #fff;
  color: var(--text-light);
  padding: 1.5rem;
  border-radius: 10px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
  width: 300px;
  margin: 0 1rem;
  text-align: center;
  flex-shrink: 0;
  transition: transform 0.3s;
}

.depoimento:hover {
  transform: translateY(-5px);
}

.depoimento img {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  margin-bottom: 1rem;
  object-fit: cover;
}

.depoimento p {
  margin-bottom: 1rem;
  color: var(--text-light);
}

.depoimento span {
  font-size: 0.9rem;
  color: #777;
}

.carrossel-botoes {
  margin-top: 1rem;
  display: flex;
  gap: 1rem;
  justify-content: center;
}

.btn-carrossel {
  background-color: var(--primary-color);
  color: #fff;
  border: none;
  padding: 0.6rem 1.2rem;
  border-radius: 5px;
  cursor: pointer;
  transition: background 0.3s;
}

.btn-carrossel:hover {
  background-color: var(--primary-color-dark);
}

/* ====== Responsividade ====== */
@media (max-width: 768px) {
  .hero-sustentabilidade {
    height: 300px;
  }
  #compromisso .card,
  #metricas-impacto .metrica {
    width: 45%;
  }
}

@media (max-width: 480px) {
  .hero-sustentabilidade {
    height: 240px;
  }
  #compromisso .card,
  #metricas-impacto .metrica {
    width: 100%;
    margin-bottom: 1rem;
  }
  .depoimento {
    width: 280px;
  }
}
/* src/styles/emConstrucao.css */

/* Container principal da página */
.em-construcao-container {
  min-height: 60vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  text-align: center;
}
  
.em-construcao-container h2 {
  font-size: 2rem;
  margin-bottom: 1rem;
}
  
.em-construcao-container p {
  font-size: 1rem;
  color: #555;
  max-width: 600px;
  margin: 0 auto;
}

/* ========== Responsividade ========== */
@media (max-width: 768px) {
  .em-construcao-container h2 {
    font-size: 1.8rem;
  }
}

@media (max-width: 480px) {
  .em-construcao-container h2 {
    font-size: 1.4rem;
  }
  .em-construcao-container p {
    font-size: 0.9rem;
  }
}
:root {
  --primary-color: #27ae60;
  --primary-color-dark: #219653;
  --danger-color: #e74c3c;
  --neutral-color: #95a5a6;
  --background-light: #f9f9f9;
  --info-color: #f0f8f4;
  --text-color: #2c3e50;
  --text-muted: #666;
}

.carrinho-container {
  max-width: 600px;
  margin: 2rem auto;
  background: var(--background-light);
  border-radius: 10px;
  padding: 2rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
  font-family: Arial, sans-serif;
  color: var(--text-color);
}

.carrinho-container h2 {
  margin-bottom: 1.2rem;
  text-align: center;
  font-size: 1.6rem;
  color: var(--primary-color);
}

.explicacao,
.explicacao-menor {
  text-align: center;
  font-size: 0.95rem;
  color: var(--text-muted);
  margin-bottom: 1rem;
}

.explicacao-menor {
  font-size: 0.85rem;
  margin-top: 0.3rem;
  margin-bottom: 0.8rem;
}

.carrinho-vazio {
  text-align: center;
  font-style: italic;
  color: #999;
}

.carrinho-lista {
  list-style: none;
  padding: 0;
  margin-bottom: 1.5rem;
}

.carrinho-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.75rem;
  padding: 0.75rem 1rem;
  background: #fff;
  border-radius: 6px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
  font-size: 0.95rem;
}

.carrinho-item button {
  background: var(--danger-color);
  color: #fff;
  border: none;
  padding: 0.3rem 0.7rem;
  border-radius: 4px;
  cursor: pointer;
  font-size: 0.85rem;
  transition: background 0.3s;
}

.carrinho-item button:hover {
  background: #c0392b;
}

.carrinho-subtotal,
.carrinho-total {
  margin-top: 1rem;
  font-weight: bold;
  font-size: 1rem;
  color: #333;
  text-align: right;
}

.carrinho-entrega {
  margin-top: 1.5rem;
}

.carrinho-entrega label {
  font-weight: 500;
  display: block;
  margin-bottom: 0.5rem;
}

.carrinho-entrega select {
  width: 100%;
  padding: 0.5rem;
  border: 1px solid #ccc;
  border-radius: 6px;
  font-size: 0.95rem;
  background-color: white;
}

.carrinho-frete-info {
  margin-top: 1rem;
  background: var(--info-color);
  border-left: 5px solid var(--primary-color);
  border-radius: 6px;
  padding: 0.75rem;
  color: var(--text-color);
  font-size: 0.95rem;
}

.carrinho-acoes {
  display: flex;
  gap: 1rem;
  margin-top: 2rem;
  justify-content: space-between;
}

.btn-limpar {
  background: var(--neutral-color);
  color: white;
  border: none;
  padding: 0.6rem 1.2rem;
  border-radius: 6px;
  cursor: pointer;
  transition: background 0.3s;
}

.btn-limpar:hover {
  background: #7f8c8d;
}

.btn-finalizar {
  background: var(--primary-color);
  color: white;
  border: none;
  padding: 0.6rem 1.2rem;
  border-radius: 6px;
  cursor: pointer;
  font-weight: bold;
  transition: background 0.3s;
}

.btn-finalizar:hover {
  background: var(--primary-color-dark);
}

/* ✅ Responsivo */
@media (max-width: 480px) {
  .carrinho-container {
    padding: 1.2rem;
  }

  .carrinho-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.3rem;
  }

  .carrinho-acoes {
    flex-direction: column;
    gap: 0.8rem;
  }

  .btn-limpar,
  .btn-finalizar {
    width: 100%;
    text-align: center;
  }

  .carrinho-subtotal,
  .carrinho-total {
    text-align: left;
  }
}
.dashboard-container {
  padding: 2rem;
  max-width: 1200px;
  margin: auto;
  font-family: 'Segoe UI', sans-serif;
  color: #2b2b2b;
}

.dashboard-container h2 {
  text-align: center;
  margin-bottom: 1.5rem;
  font-size: 2rem;
  color: #1b5e20;
}

.status-indicator {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin-bottom: 1rem;
  gap: 0.5rem;
  font-weight: 500;
}

.status-indicator.online::before {
  content: '';
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #4caf50;
  animation: pulse 1.5s infinite;
}

.status-indicator.offline::before {
  content: '';
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #f44336;
  animation: pulse 1.5s infinite;
}

@keyframes pulse {
  0% { transform: scale(1); opacity: 0.9; }
  50% { transform: scale(1.3); opacity: 0.4; }
  100% { transform: scale(1); opacity: 0.9; }
}

.chart-wrapper {
  position: relative;
  height: 480px;
  background: #ffffff;
  border: 1px solid #ddd;
  border-radius: 12px;
  padding: 1rem;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
}
/* src/styles/relatorios.css */

.relatorios-container {
    padding: 2rem;
    max-width: 900px;
    margin: 0 auto;
  }
  
  .relatorios-container h2 {
    font-size: 1.8rem;
    margin-bottom: 1.5rem;
    color: var(--primary-color);
    text-align: center;
  }
  
  .relatorios-list {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
  
  .relatorios-item {
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 1rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: box-shadow 0.3s;
  }
  
  .relatorios-item:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  }
  
  .relatorios-info {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
  }
  
  .relatorios-info strong {
    color: #444;
  }
  
  .relatorios-info span {
    font-size: 0.9rem;
    color: #666;
  }
  
  .relatorios-actions button {
    padding: 0.4rem 0.8rem;
    background-color: var(--primary-color);
    border: none;
    border-radius: 4px;
    color: #fff;
    cursor: pointer;
    font-size: 0.9rem;
    transition: background 0.3s;
  }
  
  .relatorios-actions button:hover {
    background-color: var(--primary-color-dark);
  }
  
  @media (max-width: 600px) {
    .relatorios-item {
      flex-direction: column;
      align-items: flex-start;
      gap: 0.8rem;
    }
  
    .relatorios-actions {
      width: 100%;
      display: flex;
      justify-content: flex-end;
    }
  }
  .relatorios-container .descricao {
  font-size: 1rem;
  margin-bottom: 1rem;
  color: #444;
  line-height: 1.5;
  background: #f1f1f1;
  padding: 1rem;
  border-left: 5px solid var(--primary-color, #4CAF50);
  border-radius: 5px;
}

.relatorios-container .instrucoes {
  font-size: 0.95rem;
  margin-bottom: 2rem;
  color: #333;
  background: #fffbe6;
  padding: 0.8rem;
  border-left: 4px solid #ffcc00;
  border-radius: 5px;
}
.painel-sensores {
    padding: 2rem;
    max-width: 1000px;
    margin: 0 auto;
    animation: fadeIn 0.8s ease-in;
  }
  
  @keyframes fadeIn {
    from { opacity: 0; transform: translateY(20px); }
    to   { opacity: 1; transform: translateY(0); }
  }
  
  .painel-sensores h2 {
    text-align: center;
    font-size: 2.2rem;
    margin-bottom: 2rem;
    color: var(--primary-color);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
  }
  
  .painel-sensores h2 i {
    color: var(--secondary-color);
    font-size: 1.8rem;
  }
  
  /* Caixa do gráfico */
  .grafico-box {
    margin-bottom: 3rem;
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    padding: 1rem 1.5rem;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
  }
  
  .grafico-box:hover {
    transform: translateY(-4px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
  }
  
  /* Título do gráfico */
  .grafico-box h3 {
    margin-bottom: 1rem;
    color: #333;
    font-size: 1.2rem;
    border-left: 4px solid var(--primary-color);
    padding-left: 0.5rem;
    display: flex;
    align-items: center;
    gap: 0.4rem;
  }
  
  .grafico-box h3 i {
    color: var(--primary-color);
  }
  
  @media (max-width: 768px) {
    .painel-sensores {
      padding: 1rem;
    }
  
    .grafico-box {
      padding: 1rem;
    }
  
    .grafico-box h3 {
      font-size: 1rem;
    }
  
    .painel-sensores h2 {
      font-size: 1.6rem;
    }
  }
  .pagina-esg {
  padding: 2rem;
  font-family: Arial, sans-serif;
  background-color: #f4f4f4;
  min-height: 100vh;
}

.pagina-esg h2 {
  font-size: 2rem;
  margin-bottom: 1rem;
  color: var(--primary-color);
}

/* Grid de métricas ESG */
.metricas-esg {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}

.metricas-esg .grafico-box {
  background-color: white;
  border-radius: 8px;
  padding: 1rem;
  flex: 1 1 45%;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.metricas-esg .grafico-box h3 {
  font-size: 1.2rem;
  margin-bottom: 0.5rem;
}

/* Responsividade */
@media (max-width: 768px) {
  .metricas-esg .grafico-box {
    flex: 1 1 100%;
  }
}

/* Seção de identificação */
.identificacao-box {
  margin-top: 3rem;
  padding: 1.5rem;
  background-color: #eefaf2;
  border-left: 6px solid #2f855a;
  border-radius: 10px;
  text-align: center;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
}

.identificacao-box h3 {
  margin-bottom: 0.5rem;
  color: #2f855a;
}

.identificacao-box p {
  color: #555;
  margin-bottom: 1rem;
}

/* Botão de identificação */
.btn-identificar {
  background-color: #2f855a;
  color: white;
  padding: 0.75rem 1.5rem;
  border-radius: 8px;
  text-decoration: none;
  font-weight: bold;
  transition: background-color 0.3s ease;
}

.btn-identificar:hover {
  background-color: #276749;
}

.btn-secundario,
.btn-vender {
  padding: 0.5rem 1rem;
  font-size: 0.9rem;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-weight: bold;
  transition: background 0.3s;
}

.btn-secundario {
  background-color: #f0f0f0;
  color: #333;
}

.btn-secundario:hover {
  background-color: #ddd;
}

.btn-vender {
  background-color: #2b9348;
  color: #fff;
}

.btn-vender:hover {
  background-color: #218838;
}
.lista-relatorios {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin-top: 2rem;
}

.relatorio-card {
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 1rem;
  background: #fff;
  box-shadow: 0 0 6px rgba(0,0,0,0.05);
}

.relatorio-card h3 {
  margin: 0 0 0.5rem;
  color: var(--primary-color-dark);
}

.relatorio-card input[type="file"] {
  margin: 1rem 0;
}

.link-pdf-atual {
  display: inline-block;
  margin-top: 0.5rem;
  color: var(--primary-color);
  text-decoration: underline;
}
.identificador-container {
  max-width: 600px;
  margin: 2rem auto;
  padding: 2rem;
  background: linear-gradient(135deg, #f9fdf9, #f2f9f2);
  border-radius: 16px;
  box-shadow: 0 4px 16px rgba(0, 128, 0, 0.12);
  text-align: center;
  animation: fadeIn 0.5s ease-in-out;
  transition: all 0.3s ease;
}

.identificador-container h2 {
  font-size: 2rem;
  color: var(--primary-color-dark);
  margin-bottom: 0.75rem;
}

.identificador-container p {
  font-size: 1rem;
  color: #444;
  margin-bottom: 1rem;
}

input[type="file"] {
  margin: 1.2rem auto;
  padding: 0.6rem;
  display: block;
  font-size: 1rem;
  cursor: pointer;
  border: 2px dashed var(--primary-color);
  border-radius: 10px;
  background: #f9f9f9;
  transition: background 0.3s ease;
}

input[type="file"]:hover {
  background: #eef9ef;
}

button[type="submit"] {
  background: linear-gradient(135deg, var(--primary-color), var(--primary-color-dark));
  color: white;
  border: none;
  padding: 0.85rem 1.8rem;
  font-size: 1rem;
  font-weight: bold;
  border-radius: 10px;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 4px 12px rgba(0, 128, 0, 0.2);
}

button[type="submit"]:hover {
  background: linear-gradient(135deg, #1e874b, #19703f);
  transform: translateY(-2px);
}

.imagem-preview {
  margin-top: 1.5rem;
  max-width: 100%;
  border-radius: 12px;
  box-shadow: 0 0 10px rgba(0, 128, 0, 0.15);
  border: 3px solid var(--primary-color);
}

/* 🔒 Aviso de limite */
.aviso-limite {
  background-color: #fff8e1;
  border-left: 4px solid #f4c430;
  color: #7a6000;
  padding: 0.75rem 1rem;
  margin: 1.2rem 0;
  border-radius: 8px;
  font-size: 0.95rem;
  text-align: left;
}

/* ✅ Resultado amigável */
.resultado-identificacao {
  margin-top: 2rem;
  background-color: #f0fff4;
  border: 2px solid var(--primary-color);
  border-radius: 12px;
  padding: 1.5rem;
  box-shadow: 0 0 12px rgba(0, 128, 0, 0.1);
  animation: fadeIn 0.5s ease-in-out;
  text-align: left;
}

.resultado-identificacao h3 {
  color: var(--primary-color-dark);
  margin-bottom: 1rem;
  font-size: 1.4rem;
}

.resultado-identificacao p {
  margin-bottom: 0.75rem;
  font-size: 1.05rem;
  color: #2c3e50;
}

.resultado-identificacao strong {
  color: var(--primary-color-dark);
}

/* 🔴 Mensagem de erro */
.erro {
  margin-top: 1rem;
  background-color: #fdecea;
  border-left: 4px solid #e74c3c;
  color: #a94442;
  padding: 0.75rem 1rem;
  border-radius: 8px;
  font-size: 0.95rem;
  text-align: left;
}

/* 📱 Responsividade */
@media (max-width: 480px) {
  .identificador-container {
    padding: 1rem;
  }

  .identificador-container h2 {
    font-size: 1.6rem;
  }

  .identificador-container p,
  .aviso-limite,
  .resultado-identificacao p,
  .erro {
    font-size: 0.95rem;
  }

  button[type="submit"] {
    width: 100%;
  }
}

/* ✨ Animação */
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(15px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* src/styles/premium.css */
:root {
  --primary-color: #2f855a;
  --primary-hover: #276749;
  --bg-light: #f9f9f9;
  --card-bg: #fff;
  --accent-color: #e6f4ec;
  --text-color: #333;
  --transition: 0.3s ease;
}

/* Estilização principal da página Premium */
.pagina-premium {
  padding: 2rem;
  background-color: var(--bg-light);
  min-height: 100vh;
  font-family: 'Segoe UI', sans-serif;
  color: var(--text-color);
}

/* Título principal */
.pagina-premium h2 {
  font-size: 2.4rem;
  margin-bottom: 1rem;
  color: var(--primary-color);
  text-align: center;
}

/* Parágrafo explicativo */
.pagina-premium .descricao {
  font-size: 1.1rem;
  margin-bottom: 2rem;
  line-height: 1.6;
  text-align: center;
  max-width: 700px;
  margin-inline: auto;
}

/* Chamada com destaque (tipo dica) */
.chamada-upgrade {
  background-color: var(--accent-color);
  border-left: 6px solid var(--primary-color);
  padding: 1.5rem;
  border-radius: 10px;
  text-align: center;
  margin-top: 2rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
}

/* Botões de ação */
.botao-upgrade,
.btn-assinar {
  display: inline-block;
  padding: 0.75rem 1.5rem;
  background-color: var(--primary-color);
  color: white;
  text-decoration: none;
  border-radius: 8px;
  font-weight: bold;
  transition: background-color var(--transition), transform var(--transition);
  text-align: center;
}

.botao-upgrade:hover,
.btn-assinar:hover {
  background-color: var(--primary-hover);
  transform: scale(1.03);
}

/* Botão desabilitado */
.btn-assinar:disabled {
  background-color: #ccc;
  color: #666;
  cursor: not-allowed;
  opacity: 0.7;
  pointer-events: none;
}

/* Container dos cards dos planos */
.planos-container {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 2rem;
  margin-top: 2rem;
}

/* Estilo de cada plano */
.plano-box {
  background-color: var(--card-bg);
  padding: 1.5rem;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  flex: 1 1 280px;
  max-width: 350px;
  text-align: center;
  transition: transform var(--transition), box-shadow var(--transition);
}

.plano-box:hover {
  transform: translateY(-5px);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.1);
}

.plano-box h3 {
  color: var(--primary-color);
  font-size: 1.4rem;
  margin-bottom: 0.8rem;
}

.plano-box p {
  font-size: 0.95rem;
  margin: 0.4rem 0;
}

.plano-box strong {
  display: block;
  margin: 1rem 0;
  font-size: 1.2rem;
  color: #000;
}

/* Card em destaque (como o plano ESG) */
.plano-box.destaque {
  border: 2px solid var(--primary-color);
  transform: scale(1.04);
  background: #f3fdf6;
}

/* Responsividade para mobile */
@media (max-width: 768px) {
  .planos-container {
    flex-direction: column;
    align-items: center;
  }

  .plano-box {
    max-width: 100%;
  }

  .pagina-premium h2 {
    font-size: 2rem;
  }

  .pagina-premium .descricao {
    font-size: 1rem;
  }

  .chamada-upgrade {
    font-size: 0.95rem;
  }
}
.card-resumo {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 1rem;
  margin-top: 1.5rem;
  background: transparent;
}

.resumo-item {
  background-color: var(--card-bg);
  border: 2px solid var(--border-color);
  border-left: 6px solid #2b9348;
  padding: 1rem;
  border-radius: 10px;
  text-align: center;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.05);
  transition: transform 0.2s ease;
}

.resumo-item:hover {
  transform: translateY(-3px);
}

.resumo-item h4 {
  margin-bottom: 0.5rem;
  font-size: 1rem;
  color: var(--text-color);
}

.resumo-item p {
  font-size: 1.25rem;
  font-weight: bold;
  color: #2c3e50;
}

.resumo-item.destaque {
  border-left-color: #f39c12;
  background-color: #fff3cd;
  color: #856404;
}

@media (prefers-color-scheme: dark) {
  .resumo-item.destaque {
    background-color: #2e2e1e;
    color: #f9d976;
  }
}
.painel-admin {
  max-width: 700px;
  margin: 2rem auto;
  padding: 1rem;
  color: #333;
}

.painel-admin h2 {
  text-align: center;
  margin-bottom: 1rem;
  color: #2b9348;
}

.formulario {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-bottom: 2rem;
}

.formulario input,
.formulario textarea {
  border: 1px solid #ccc;
  padding: 0.6rem;
  border-radius: 6px;
  outline: none;
}

.formulario button {
  background-color: #2b9348;
  color: white;
  padding: 0.6rem 1rem;
  border-radius: 6px;
  border: none;
  cursor: pointer;
  transition: background 0.3s ease;
}

.formulario button:hover {
  background-color: #218039;
}

.lista-ebooks {
  list-style: none;
  padding: 0;
}

.ebook-item {
  background: #f9f9f9;
  padding: 1rem;
  border-radius: 8px;
  margin-bottom: 1rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.ebook-acoes button {
  background: transparent;
  border: none;
  cursor: pointer;
  margin-left: 0.5rem;
}

.ebook-acoes a {
  text-decoration: none;
  color: #2b9348;
  margin-right: 0.5rem;
}

@media (max-width: 600px) {
  .ebook-item {
    flex-direction: column;
    align-items: flex-start;
  }

  .ebook-acoes {
    margin-top: 0.5rem;
  }
}
.painel-diagnosticos {
  max-width: 1100px;
  margin: 2rem auto;
  padding: 1rem;
  color: var(--text-color);
}

.painel-diagnosticos h2 {
  text-align: center;
  margin-bottom: 1.5rem;
  color: #2b9348;
  font-size: 1.8rem;
}

/* Tabela */
.tabela-diagnosticos {
  width: 100%;
  border-collapse: collapse;
  background: var(--card-bg);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
  border-radius: 8px;
  overflow: hidden;
}

.tabela-diagnosticos th,
.tabela-diagnosticos td {
  padding: 0.85rem 1rem;
  border-bottom: 1px solid var(--border-color);
  text-align: center;
}

.tabela-diagnosticos th {
  background: var(--header-bg);
  color: var(--header-text);
  text-transform: uppercase;
  font-size: 0.85rem;
  letter-spacing: 0.5px;
}

.tabela-diagnosticos td span.nome {
  font-weight: bold;
  color: #2b9348;
}

.tabela-diagnosticos td span.confianca {
  color: #555;
  font-size: 0.95rem;
}

.tabela-diagnosticos td .dispositivo {
  font-style: italic;
  font-size: 0.9rem;
  color: var(--pending-color);
}

.tabela-diagnosticos tr:hover {
  background-color: rgba(0, 0, 0, 0.04);
}

/* Células vazias com traço */
.tabela-diagnosticos td:empty::after {
  content: "-";
  color: #999;
}

/* Responsividade */
@media (max-width: 768px) {
  .tabela-diagnosticos,
  .tabela-diagnosticos thead,
  .tabela-diagnosticos tbody,
  .tabela-diagnosticos th,
  .tabela-diagnosticos td,
  .tabela-diagnosticos tr {
    display: block;
  }

  .tabela-diagnosticos thead tr {
    display: none;
  }

  .tabela-diagnosticos tr {
    border: 1px solid var(--border-color);
    border-radius: 6px;
    margin-bottom: 1rem;
    background: var(--card-bg);
    padding: 0.5rem 0;
  }

  .tabela-diagnosticos td {
    border: none;
    position: relative;
    padding: 0.75rem 1rem 0.75rem 50%;
    text-align: left;
  }

  .tabela-diagnosticos td::before {
    position: absolute;
    top: 0.7rem;
    left: 1rem;
    width: 45%;
    white-space: nowrap;
    font-weight: bold;
    color: var(--text-color);
    content: attr(data-label);
  }
}
:root {
  --verde-claro: #2b9348;
  --verde-escuro: #1e7c38;
  --cinza-claro: #f5f5f5;
  --texto-principal: #333;
  --texto-secundario: #666;
}

/* 🌿 Estilo base da página de e-books */
.pagina-ebooks {
  padding: 2rem;
  max-width: 900px;
  margin: auto;
  color: var(--texto-principal);
  font-family: Arial, sans-serif;
}

.pagina-ebooks h2 {
  text-align: center;
  color: var(--verde-claro);
  margin-bottom: 0.5rem;
  font-size: 1.8rem;
}

.pagina-ebooks .descricao {
  text-align: center;
  margin-bottom: 1.5rem;
  font-size: 1rem;
  color: var(--texto-secundario);
}

/* 🔍 Campo de busca */
.campo-busca {
  display: flex;
  justify-content: center;
  margin-bottom: 2rem;
}

.campo-busca input {
  width: 100%;
  max-width: 400px;
  padding: 0.6rem 1rem;
  border-radius: 8px;
  border: 1px solid #ccc;
  font-size: 1rem;
  outline: none;
  transition: border 0.3s ease, box-shadow 0.3s ease;
}

.campo-busca input:focus {
  border-color: var(--verde-claro);
  box-shadow: 0 0 5px rgba(43, 147, 72, 0.3);
}

/* 📚 Lista de e-books */
.lista-ebooks {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  justify-content: center;
}

.ebook-card {
  background: #fff;
  border: 1px solid #ddd;
  padding: 1.5rem;
  border-radius: 10px;
  width: 100%;
  max-width: 280px;
  text-align: center;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.05);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.ebook-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.ebook-card h3 {
  color: var(--verde-claro);
  margin-bottom: 0.5rem;
  font-size: 1.1rem;
}

.ebook-card p {
  font-size: 0.95rem;
  color: #555;
  margin-bottom: 1rem;
}

.ebook-preco {
  font-weight: bold;
  color: var(--verde-claro);
  margin-bottom: 0.5rem;
}

.ebook-card button {
  background: var(--verde-claro);
  color: white;
  padding: 0.5rem 1rem;
  border-radius: 8px;
  font-weight: bold;
  border: none;
  cursor: pointer;
  transition: background 0.3s ease;
}

.ebook-card button:hover {
  background: var(--verde-escuro);
}

/* 📖 Modal de Detalhes */
.modal-ebook {
  position: fixed;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.6);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 999;
}

.modal-conteudo {
  background-color: #fff;
  padding: 2rem;
  border-radius: 12px;
  max-width: 500px;
  width: 90%;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  position: relative;
  text-align: center;
}

.modal-conteudo h2 {
  margin-bottom: 1rem;
  color: var(--verde-claro);
  font-size: 1.5rem;
}

.modal-conteudo p {
  font-size: 1rem;
  color: #444;
  margin-bottom: 1rem;
}

.modal-conteudo button {
  background: var(--verde-claro);
  color: white;
  padding: 0.7rem 1.4rem;
  border-radius: 8px;
  font-weight: bold;
  cursor: pointer;
  transition: background 0.3s ease;
  margin-top: 1rem;
}

.modal-conteudo button:hover {
  background-color: var(--verde-escuro);
}

.btn-fechar {
  position: absolute;
  top: 10px;
  right: 15px;
  font-size: 1.5rem;
  border: none;
  background: transparent;
  cursor: pointer;
  color: #666;
}

.btn-fechar:hover {
  color: #000;
}

/* 📱 Responsivo */
@media (max-width: 600px) {
  .lista-ebooks {
    flex-direction: column;
    align-items: center;
  }

  .modal-conteudo {
    padding: 1.2rem;
  }
}
.bloqueio-premium-container {
  max-width: 500px;
  margin: 3rem auto;
  background-color: #fff;
  padding: 2rem;
  border: 1px solid #eee;
  border-radius: 12px;
  text-align: center;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.bloqueio-premium-container h2 {
  font-size: 1.8rem;
  color: #e67e22;
  margin-bottom: 1rem;
}

.bloqueio-premium-container p {
  font-size: 1rem;
  color: #555;
  margin-bottom: 1.5rem;
}

.btn-upgrade {
  display: inline-block;
  background-color: var(--primary-color, #27ae60);
  color: white;
  padding: 0.7rem 1.4rem;
  border-radius: 6px;
  font-weight: bold;
  text-decoration: none;
  transition: background-color 0.3s ease;
}

.btn-upgrade:hover {
  background-color: var(--primary-color-dark, #219653);
}
/*
 * Amplify UI Basic Theme
 */
:root, [data-amplify-theme] {
  --amplify-components-accordion-background-color: var(--amplify-colors-background-primary);
  --amplify-components-accordion-item-border-color: var(--amplify-colors-border-secondary);
  --amplify-components-accordion-item-border-width: var(--amplify-border-widths-small);
  --amplify-components-accordion-item-border-style: solid;
  --amplify-components-accordion-item-border-radius: var(--amplify-radii-small);
  --amplify-components-accordion-item-trigger-align-items: center;
  --amplify-components-accordion-item-trigger-background-color: var(--amplify-colors-background-primary);
  --amplify-components-accordion-item-trigger-color: inherit;
  --amplify-components-accordion-item-trigger-gap: var(--amplify-space-small);
  --amplify-components-accordion-item-trigger-justify-content: space-between;
  --amplify-components-accordion-item-trigger-padding-block: var(--amplify-space-xs);
  --amplify-components-accordion-item-trigger-padding-inline: var(--amplify-space-small);
  --amplify-components-accordion-item-trigger-hover-color: inherit;
  --amplify-components-accordion-item-trigger-hover-background-color: var(--amplify-colors-overlay-5);
  --amplify-components-accordion-item-trigger-focus-border-color: var(--amplify-colors-border-focus);
  --amplify-components-accordion-item-trigger-focus-box-shadow: 0 0 0 2px var(--amplify-colors-border-focus);
  --amplify-components-accordion-item-content-color: inherit;
  --amplify-components-accordion-item-content-padding-inline: var(--amplify-space-small);
  --amplify-components-accordion-item-content-padding-block-end: var(--amplify-space-small);
  --amplify-components-accordion-item-content-padding-block-start: var(--amplify-space-xxxs);
  --amplify-components-accordion-item-icon-color: var(--amplify-colors-font-tertiary);
  --amplify-components-accordion-item-icon-transition-duration: var(--amplify-time-medium);
  --amplify-components-accordion-item-icon-transition-timing-function: cubic-bezier(0.87, 0, 0.13, 1);
  --amplify-components-ai-conversation-message-background-color: var(--amplify-colors-background-secondary);
  --amplify-components-ai-conversation-message-border-radius: var(--amplify-radii-large);
  --amplify-components-ai-conversation-message-gap: var(--amplify-space-small);
  --amplify-components-ai-conversation-message-padding-block: var(--amplify-space-small);
  --amplify-components-ai-conversation-message-padding-inline: var(--amplify-space-small);
  --amplify-components-ai-conversation-message-user-background-color: var(--amplify-colors-background-secondary);
  --amplify-components-ai-conversation-message-assistant-background-color: var(--amplify-colors-primary-10);
  --amplify-components-ai-conversation-message-sender-gap: var(--amplify-space-small);
  --amplify-components-ai-conversation-message-sender-username-color: var(--amplify-colors-font-primary);
  --amplify-components-ai-conversation-message-sender-username-font-size: inherit;
  --amplify-components-ai-conversation-message-sender-username-font-weight: var(--amplify-font-weights-bold);
  --amplify-components-ai-conversation-message-sender-timestamp-color: var(--amplify-colors-font-tertiary);
  --amplify-components-ai-conversation-message-sender-timestamp-font-size: inherit;
  --amplify-components-ai-conversation-message-sender-timestamp-font-weight: inherit;
  --amplify-components-ai-conversation-message-body-gap: var(--amplify-space-xs);
  --amplify-components-ai-conversation-message-actions-gap: var(--amplify-space-xs);
  --amplify-components-ai-conversation-form-gap: var(--amplify-space-small);
  --amplify-components-ai-conversation-form-padding: var(--amplify-space-small);
  --amplify-components-ai-conversation-attachment-border-color: var(--amplify-colors-border-secondary);
  --amplify-components-ai-conversation-attachment-border-width: var(--amplify-border-widths-small);
  --amplify-components-ai-conversation-attachment-border-radius: var(--amplify-radii-small);
  --amplify-components-ai-conversation-attachment-font-size: var(--amplify-font-sizes-small);
  --amplify-components-ai-conversation-attachment-padding-block: var(--amplify-space-xxxs);
  --amplify-components-ai-conversation-attachment-padding-inline: var(--amplify-space-xs);
  --amplify-components-ai-conversation-attachment-gap: var(--amplify-space-xs);
  --amplify-components-ai-conversation-attachment-list-padding: var(--amplify-space-xs);
  --amplify-components-ai-conversation-attachment-list-padding-block-start: 0;
  --amplify-components-ai-conversation-attachment-list-gap: var(--amplify-space-xxs);
  --amplify-components-ai-conversation-attachment-name-color: var(--amplify-colors-font-primary);
  --amplify-components-ai-conversation-attachment-name-font-size: var(--amplify-font-sizes-small);
  --amplify-components-ai-conversation-attachment-name-font-weight: var(--amplify-font-weights-normal);
  --amplify-components-ai-conversation-attachment-size-color: var(--amplify-colors-font-tertiary);
  --amplify-components-ai-conversation-attachment-size-font-size: var(--amplify-font-sizes-small);
  --amplify-components-ai-conversation-attachment-size-font-weight: var(--amplify-font-weights-normal);
  --amplify-components-ai-conversation-attachment-remove-padding: var(--amplify-space-xxs);
  --amplify-components-ai-conversation-attachment-image-width: var(--amplify-font-sizes-medium);
  --amplify-components-ai-conversation-attachment-image-height: var(--amplify-font-sizes-medium);
  --amplify-components-alert-align-items: center;
  --amplify-components-alert-justify-content: space-between;
  --amplify-components-alert-color: var(--amplify-colors-font-primary);
  --amplify-components-alert-background-color: var(--amplify-colors-background-tertiary);
  --amplify-components-alert-padding-block: var(--amplify-space-small);
  --amplify-components-alert-padding-inline: var(--amplify-space-medium);
  --amplify-components-alert-icon-size: var(--amplify-font-sizes-xl);
  --amplify-components-alert-heading-font-size: var(--amplify-font-sizes-medium);
  --amplify-components-alert-heading-font-weight: var(--amplify-font-weights-bold);
  --amplify-components-alert-info-color: var(--amplify-colors-font-info);
  --amplify-components-alert-info-background-color: var(--amplify-colors-background-info);
  --amplify-components-alert-error-color: var(--amplify-colors-font-error);
  --amplify-components-alert-error-background-color: var(--amplify-colors-background-error);
  --amplify-components-alert-warning-color: var(--amplify-colors-font-warning);
  --amplify-components-alert-warning-background-color: var(--amplify-colors-background-warning);
  --amplify-components-alert-success-color: var(--amplify-colors-font-success);
  --amplify-components-alert-success-background-color: var(--amplify-colors-background-success);
  --amplify-components-authenticator-max-width: 60rem;
  --amplify-components-authenticator-modal-width: var(--amplify-space-relative-full);
  --amplify-components-authenticator-modal-height: var(--amplify-space-relative-full);
  --amplify-components-authenticator-modal-background-color: var(--amplify-colors-overlay-50);
  --amplify-components-authenticator-modal-top: var(--amplify-space-zero);
  --amplify-components-authenticator-modal-left: var(--amplify-space-zero);
  --amplify-components-authenticator-container-width-max: 30rem;
  --amplify-components-authenticator-router-border-width: var(--amplify-border-widths-small);
  --amplify-components-authenticator-router-border-style: solid;
  --amplify-components-authenticator-router-border-color: var(--amplify-colors-border-primary);
  --amplify-components-authenticator-router-background-color: var(--amplify-colors-background-primary);
  --amplify-components-authenticator-router-box-shadow: var(--amplify-shadows-medium);
  --amplify-components-authenticator-footer-padding-bottom: var(--amplify-space-medium);
  --amplify-components-authenticator-form-padding: var(--amplify-space-xl);
  --amplify-components-authenticator-state-inactive-background-color: var(--amplify-colors-background-secondary);
  --amplify-components-authenticator-or-container-color: var(--amplify-colors-neutral-80);
  --amplify-components-authenticator-or-container-or-line-background-color: var(--amplify-colors-background-primary);
  --amplify-components-autocomplete-menu-width: 100%;
  --amplify-components-autocomplete-menu-margin-block-start: var(--amplify-space-xxxs);
  --amplify-components-autocomplete-menu-background-color: var(--amplify-colors-background-primary);
  --amplify-components-autocomplete-menu-border-color: var(--amplify-colors-border-primary);
  --amplify-components-autocomplete-menu-border-width: var(--amplify-border-widths-small);
  --amplify-components-autocomplete-menu-border-style: solid;
  --amplify-components-autocomplete-menu-border-radius: var(--amplify-radii-small);
  --amplify-components-autocomplete-menu-options-display: flex;
  --amplify-components-autocomplete-menu-options-flex-direction: column;
  --amplify-components-autocomplete-menu-options-max-height: 300px;
  --amplify-components-autocomplete-menu-option-background-color: var(--amplify-colors-background-primary);
  --amplify-components-autocomplete-menu-option-color: currentcolor;
  --amplify-components-autocomplete-menu-option-cursor: pointer;
  --amplify-components-autocomplete-menu-option-transition-duration: var(--amplify-time-short);
  --amplify-components-autocomplete-menu-option-transition-property: background-color, color;
  --amplify-components-autocomplete-menu-option-transition-timing-function: ease;
  --amplify-components-autocomplete-menu-option-active-background-color: var(--amplify-colors-primary-80);
  --amplify-components-autocomplete-menu-option-active-color: var(--amplify-colors-white);
  --amplify-components-autocomplete-menu-empty-display: flex;
  --amplify-components-autocomplete-menu-loading-align-items: center;
  --amplify-components-autocomplete-menu-loading-display: flex;
  --amplify-components-autocomplete-menu-loading-gap: var(--amplify-space-xxxs);
  --amplify-components-autocomplete-menu-space-shared-padding-block: var(--amplify-space-xs);
  --amplify-components-autocomplete-menu-space-shared-padding-inline: var(--amplify-space-small);
  --amplify-components-avatar-color: var(--amplify-colors-font-tertiary);
  --amplify-components-avatar-line-height: 1;
  --amplify-components-avatar-font-weight: var(--amplify-font-weights-semibold);
  --amplify-components-avatar-font-size: var(--amplify-font-sizes-small);
  --amplify-components-avatar-text-align: center;
  --amplify-components-avatar-width: var(--amplify-font-sizes-xxl);
  --amplify-components-avatar-height: var(--amplify-font-sizes-xxl);
  --amplify-components-avatar-background-color: var(--amplify-colors-background-tertiary);
  --amplify-components-avatar-border-radius: 100%;
  --amplify-components-avatar-border-color: var(--amplify-colors-border-primary);
  --amplify-components-avatar-border-width: var(--amplify-border-widths-medium);
  --amplify-components-avatar-info-color: var(--amplify-colors-font-info);
  --amplify-components-avatar-info-background-color: var(--amplify-colors-background-info);
  --amplify-components-avatar-info-border-color: var(--amplify-colors-border-info);
  --amplify-components-avatar-warning-color: var(--amplify-colors-font-warning);
  --amplify-components-avatar-warning-background-color: var(--amplify-colors-background-warning);
  --amplify-components-avatar-warning-border-color: var(--amplify-colors-border-warning);
  --amplify-components-avatar-success-color: var(--amplify-colors-font-success);
  --amplify-components-avatar-success-background-color: var(--amplify-colors-background-success);
  --amplify-components-avatar-success-border-color: var(--amplify-colors-border-success);
  --amplify-components-avatar-error-color: var(--amplify-colors-font-error);
  --amplify-components-avatar-error-background-color: var(--amplify-colors-background-error);
  --amplify-components-avatar-error-border-color: var(--amplify-colors-border-error);
  --amplify-components-avatar-small-font-size: var(--amplify-font-sizes-xs);
  --amplify-components-avatar-small-width: var(--amplify-font-sizes-xl);
  --amplify-components-avatar-small-height: var(--amplify-font-sizes-xl);
  --amplify-components-avatar-large-font-size: var(--amplify-font-sizes-medium);
  --amplify-components-avatar-large-width: var(--amplify-font-sizes-xxxl);
  --amplify-components-avatar-large-height: var(--amplify-font-sizes-xxxl);
  --amplify-components-badge-color: var(--amplify-colors-font-primary);
  --amplify-components-badge-line-height: 1;
  --amplify-components-badge-font-weight: var(--amplify-font-weights-semibold);
  --amplify-components-badge-font-size: var(--amplify-font-sizes-small);
  --amplify-components-badge-text-align: center;
  --amplify-components-badge-padding-vertical: var(--amplify-space-xs);
  --amplify-components-badge-padding-horizontal: var(--amplify-space-small);
  --amplify-components-badge-background-color: var(--amplify-colors-background-tertiary);
  --amplify-components-badge-border-radius: var(--amplify-radii-xl);
  --amplify-components-badge-info-color: var(--amplify-colors-font-info);
  --amplify-components-badge-info-background-color: var(--amplify-colors-background-info);
  --amplify-components-badge-warning-color: var(--amplify-colors-font-warning);
  --amplify-components-badge-warning-background-color: var(--amplify-colors-background-warning);
  --amplify-components-badge-success-color: var(--amplify-colors-font-success);
  --amplify-components-badge-success-background-color: var(--amplify-colors-background-success);
  --amplify-components-badge-error-color: var(--amplify-colors-font-error);
  --amplify-components-badge-error-background-color: var(--amplify-colors-background-error);
  --amplify-components-badge-small-font-size: var(--amplify-font-sizes-xs);
  --amplify-components-badge-small-padding-vertical: var(--amplify-space-xxs);
  --amplify-components-badge-small-padding-horizontal: var(--amplify-space-xs);
  --amplify-components-badge-large-font-size: var(--amplify-font-sizes-medium);
  --amplify-components-badge-large-padding-vertical: var(--amplify-space-small);
  --amplify-components-badge-large-padding-horizontal: var(--amplify-space-medium);
  --amplify-components-breadcrumbs-flex-direction: row;
  --amplify-components-breadcrumbs-flex-wrap: wrap;
  --amplify-components-breadcrumbs-gap: 0;
  --amplify-components-breadcrumbs-color: var(--amplify-colors-font-tertiary);
  --amplify-components-breadcrumbs-item-flex-direction: row;
  --amplify-components-breadcrumbs-item-color: inherit;
  --amplify-components-breadcrumbs-item-font-size: inherit;
  --amplify-components-breadcrumbs-item-align-items: center;
  --amplify-components-breadcrumbs-item-line-height: 1;
  --amplify-components-breadcrumbs-separator-color: inherit;
  --amplify-components-breadcrumbs-separator-font-size: inherit;
  --amplify-components-breadcrumbs-separator-padding-inline: var(--amplify-space-xxs);
  --amplify-components-breadcrumbs-link-color: var(--amplify-components-link-color);
  --amplify-components-breadcrumbs-link-font-size: inherit;
  --amplify-components-breadcrumbs-link-font-weight: normal;
  --amplify-components-breadcrumbs-link-text-decoration: none;
  --amplify-components-breadcrumbs-link-padding-inline: var(--amplify-space-xs);
  --amplify-components-breadcrumbs-link-padding-block: var(--amplify-space-xxs);
  --amplify-components-breadcrumbs-link-current-color: inherit;
  --amplify-components-breadcrumbs-link-current-font-size: inherit;
  --amplify-components-breadcrumbs-link-current-font-weight: normal;
  --amplify-components-breadcrumbs-link-current-text-decoration: none;
  --amplify-components-button-font-weight: var(--amplify-font-weights-bold);
  --amplify-components-button-transition-duration: var(--amplify-components-fieldcontrol-transition-duration);
  --amplify-components-button-font-size: var(--amplify-components-fieldcontrol-font-size);
  --amplify-components-button-line-height: var(--amplify-components-fieldcontrol-line-height);
  --amplify-components-button-padding-block-start: var(--amplify-components-fieldcontrol-padding-block-start);
  --amplify-components-button-padding-block-end: var(--amplify-components-fieldcontrol-padding-block-end);
  --amplify-components-button-padding-inline-start: var(--amplify-components-fieldcontrol-padding-inline-start);
  --amplify-components-button-padding-inline-end: var(--amplify-components-fieldcontrol-padding-inline-end);
  --amplify-components-button-background-color: transparent;
  --amplify-components-button-border-color: var(--amplify-components-fieldcontrol-border-color);
  --amplify-components-button-border-width: var(--amplify-components-fieldcontrol-border-width);
  --amplify-components-button-border-style: var(--amplify-components-fieldcontrol-border-style);
  --amplify-components-button-border-radius: var(--amplify-components-fieldcontrol-border-radius);
  --amplify-components-button-color: var(--amplify-colors-font-primary);
  --amplify-components-button-hover-color: var(--amplify-colors-font-focus);
  --amplify-components-button-hover-background-color: var(--amplify-colors-primary-10);
  --amplify-components-button-hover-border-color: var(--amplify-colors-primary-60);
  --amplify-components-button-focus-color: var(--amplify-colors-font-focus);
  --amplify-components-button-focus-background-color: var(--amplify-colors-primary-10);
  --amplify-components-button-focus-border-color: var(--amplify-colors-border-focus);
  --amplify-components-button-focus-box-shadow: var(--amplify-components-fieldcontrol-focus-box-shadow);
  --amplify-components-button-active-color: var(--amplify-colors-font-active);
  --amplify-components-button-active-background-color: var(--amplify-colors-primary-20);
  --amplify-components-button-active-border-color: var(--amplify-colors-primary-100);
  --amplify-components-button-loading-color: var(--amplify-colors-font-disabled);
  --amplify-components-button-loading-background-color: transparent;
  --amplify-components-button-loading-border-color: var(--amplify-colors-border-tertiary);
  --amplify-components-button-disabled-color: var(--amplify-colors-font-disabled);
  --amplify-components-button-disabled-background-color: transparent;
  --amplify-components-button-disabled-border-color: var(--amplify-colors-border-tertiary);
  --amplify-components-button-outlined-info-border-color: var(--amplify-colors-blue-60);
  --amplify-components-button-outlined-info-background-color: transparent;
  --amplify-components-button-outlined-info-color: var(--amplify-colors-blue-100);
  --amplify-components-button-outlined-info-hover-border-color: var(--amplify-colors-blue-60);
  --amplify-components-button-outlined-info-hover-background-color: var(--amplify-colors-blue-10);
  --amplify-components-button-outlined-info-hover-color: var(--amplify-colors-blue-100);
  --amplify-components-button-outlined-info-focus-border-color: var(--amplify-colors-blue-100);
  --amplify-components-button-outlined-info-focus-background-color: var(--amplify-colors-blue-10);
  --amplify-components-button-outlined-info-focus-color: var(--amplify-colors-blue-100);
  --amplify-components-button-outlined-info-focus-box-shadow: var(--amplify-components-fieldcontrol-info-focus-box-shadow);
  --amplify-components-button-outlined-info-active-border-color: var(--amplify-colors-blue-100);
  --amplify-components-button-outlined-info-active-background-color: var(--amplify-colors-blue-20);
  --amplify-components-button-outlined-info-active-color: var(--amplify-colors-blue-100);
  --amplify-components-button-outlined-warning-border-color: var(--amplify-colors-orange-60);
  --amplify-components-button-outlined-warning-background-color: transparent;
  --amplify-components-button-outlined-warning-color: var(--amplify-colors-orange-100);
  --amplify-components-button-outlined-warning-hover-border-color: var(--amplify-colors-orange-60);
  --amplify-components-button-outlined-warning-hover-background-color: var(--amplify-colors-orange-10);
  --amplify-components-button-outlined-warning-hover-color: var(--amplify-colors-orange-100);
  --amplify-components-button-outlined-warning-focus-border-color: var(--amplify-colors-orange-100);
  --amplify-components-button-outlined-warning-focus-background-color: var(--amplify-colors-orange-10);
  --amplify-components-button-outlined-warning-focus-color: var(--amplify-colors-orange-100);
  --amplify-components-button-outlined-warning-focus-box-shadow: var(--amplify-components-fieldcontrol-warning-focus-box-shadow);
  --amplify-components-button-outlined-warning-active-border-color: var(--amplify-colors-orange-100);
  --amplify-components-button-outlined-warning-active-background-color: var(--amplify-colors-orange-20);
  --amplify-components-button-outlined-warning-active-color: var(--amplify-colors-orange-100);
  --amplify-components-button-outlined-success-border-color: var(--amplify-colors-green-60);
  --amplify-components-button-outlined-success-background-color: transparent;
  --amplify-components-button-outlined-success-color: var(--amplify-colors-green-100);
  --amplify-components-button-outlined-success-hover-border-color: var(--amplify-colors-green-60);
  --amplify-components-button-outlined-success-hover-background-color: var(--amplify-colors-green-10);
  --amplify-components-button-outlined-success-hover-color: var(--amplify-colors-green-100);
  --amplify-components-button-outlined-success-focus-border-color: var(--amplify-colors-green-100);
  --amplify-components-button-outlined-success-focus-background-color: var(--amplify-colors-green-10);
  --amplify-components-button-outlined-success-focus-color: var(--amplify-colors-green-100);
  --amplify-components-button-outlined-success-focus-box-shadow: var(--amplify-components-fieldcontrol-success-focus-box-shadow);
  --amplify-components-button-outlined-success-active-border-color: var(--amplify-colors-green-100);
  --amplify-components-button-outlined-success-active-background-color: var(--amplify-colors-green-20);
  --amplify-components-button-outlined-success-active-color: var(--amplify-colors-green-100);
  --amplify-components-button-outlined-error-border-color: var(--amplify-colors-red-80);
  --amplify-components-button-outlined-error-background-color: transparent;
  --amplify-components-button-outlined-error-color: var(--amplify-colors-red-100);
  --amplify-components-button-outlined-error-hover-border-color: var(--amplify-colors-red-80);
  --amplify-components-button-outlined-error-hover-background-color: var(--amplify-colors-red-10);
  --amplify-components-button-outlined-error-hover-color: var(--amplify-colors-red-100);
  --amplify-components-button-outlined-error-focus-border-color: var(--amplify-colors-red-100);
  --amplify-components-button-outlined-error-focus-background-color: var(--amplify-colors-red-10);
  --amplify-components-button-outlined-error-focus-color: var(--amplify-colors-red-100);
  --amplify-components-button-outlined-error-focus-box-shadow: var(--amplify-components-fieldcontrol-error-focus-box-shadow);
  --amplify-components-button-outlined-error-active-border-color: var(--amplify-colors-red-100);
  --amplify-components-button-outlined-error-active-background-color: var(--amplify-colors-red-20);
  --amplify-components-button-outlined-error-active-color: var(--amplify-colors-red-100);
  --amplify-components-button-outlined-overlay-border-color: var(--amplify-colors-overlay-60);
  --amplify-components-button-outlined-overlay-background-color: transparent;
  --amplify-components-button-outlined-overlay-color: var(--amplify-colors-font-primary);
  --amplify-components-button-outlined-overlay-hover-border-color: var(--amplify-colors-overlay-60);
  --amplify-components-button-outlined-overlay-hover-background-color: var(--amplify-colors-overlay-5);
  --amplify-components-button-outlined-overlay-hover-color: var(--amplify-colors-neutral-90);
  --amplify-components-button-outlined-overlay-focus-border-color: var(--amplify-colors-overlay-90);
  --amplify-components-button-outlined-overlay-focus-background-color: var(--amplify-colors-overlay-5);
  --amplify-components-button-outlined-overlay-focus-color: var(--amplify-colors-neutral-90);
  --amplify-components-button-outlined-overlay-focus-box-shadow: var(--amplify-components-fieldcontrol-overlay-focus-box-shadow);
  --amplify-components-button-outlined-overlay-active-border-color: var(--amplify-colors-overlay-90);
  --amplify-components-button-outlined-overlay-active-background-color: var(--amplify-colors-overlay-10);
  --amplify-components-button-outlined-overlay-active-color: var(--amplify-colors-neutral-100);
  --amplify-components-button-primary-border-color: transparent;
  --amplify-components-button-primary-border-width: var(--amplify-border-widths-small);
  --amplify-components-button-primary-border-style: solid;
  --amplify-components-button-primary-background-color: var(--amplify-colors-primary-80);
  --amplify-components-button-primary-color: var(--amplify-colors-font-inverse);
  --amplify-components-button-primary-disabled-border-color: transparent;
  --amplify-components-button-primary-disabled-background-color: var(--amplify-colors-background-disabled);
  --amplify-components-button-primary-disabled-color: var(--amplify-colors-font-disabled);
  --amplify-components-button-primary-loading-border-color: transparent;
  --amplify-components-button-primary-loading-background-color: var(--amplify-colors-background-disabled);
  --amplify-components-button-primary-loading-color: var(--amplify-colors-font-disabled);
  --amplify-components-button-primary-hover-border-color: transparent;
  --amplify-components-button-primary-hover-background-color: var(--amplify-colors-primary-90);
  --amplify-components-button-primary-hover-color: var(--amplify-colors-font-inverse);
  --amplify-components-button-primary-focus-border-color: transparent;
  --amplify-components-button-primary-focus-background-color: var(--amplify-colors-primary-90);
  --amplify-components-button-primary-focus-color: var(--amplify-colors-font-inverse);
  --amplify-components-button-primary-focus-box-shadow: var(--amplify-components-fieldcontrol-focus-box-shadow);
  --amplify-components-button-primary-active-border-color: transparent;
  --amplify-components-button-primary-active-background-color: var(--amplify-colors-primary-100);
  --amplify-components-button-primary-active-color: var(--amplify-colors-font-inverse);
  --amplify-components-button-primary-info-border-color: transparent;
  --amplify-components-button-primary-info-background-color: var(--amplify-colors-blue-80);
  --amplify-components-button-primary-info-color: var(--amplify-colors-font-inverse);
  --amplify-components-button-primary-info-hover-border-color: transparent;
  --amplify-components-button-primary-info-hover-background-color: var(--amplify-colors-blue-90);
  --amplify-components-button-primary-info-hover-color: var(--amplify-colors-font-inverse);
  --amplify-components-button-primary-info-focus-border-color: transparent;
  --amplify-components-button-primary-info-focus-background-color: var(--amplify-colors-blue-90);
  --amplify-components-button-primary-info-focus-color: var(--amplify-colors-font-inverse);
  --amplify-components-button-primary-info-focus-box-shadow: var(--amplify-components-fieldcontrol-info-focus-box-shadow);
  --amplify-components-button-primary-info-active-border-color: transparent;
  --amplify-components-button-primary-info-active-background-color: var(--amplify-colors-blue-100);
  --amplify-components-button-primary-info-active-color: var(--amplify-colors-font-inverse);
  --amplify-components-button-primary-warning-border-color: transparent;
  --amplify-components-button-primary-warning-background-color: var(--amplify-colors-orange-80);
  --amplify-components-button-primary-warning-color: var(--amplify-colors-font-inverse);
  --amplify-components-button-primary-warning-hover-border-color: transparent;
  --amplify-components-button-primary-warning-hover-background-color: var(--amplify-colors-orange-90);
  --amplify-components-button-primary-warning-hover-color: var(--amplify-colors-font-inverse);
  --amplify-components-button-primary-warning-focus-border-color: transparent;
  --amplify-components-button-primary-warning-focus-background-color: var(--amplify-colors-orange-90);
  --amplify-components-button-primary-warning-focus-color: var(--amplify-colors-font-inverse);
  --amplify-components-button-primary-warning-focus-box-shadow: var(--amplify-components-fieldcontrol-overlay-focus-box-shadow);
  --amplify-components-button-primary-warning-active-border-color: transparent;
  --amplify-components-button-primary-warning-active-background-color: var(--amplify-colors-orange-100);
  --amplify-components-button-primary-warning-active-color: var(--amplify-colors-font-inverse);
  --amplify-components-button-primary-error-border-color: transparent;
  --amplify-components-button-primary-error-background-color: var(--amplify-colors-red-80);
  --amplify-components-button-primary-error-color: var(--amplify-colors-font-inverse);
  --amplify-components-button-primary-error-hover-border-color: transparent;
  --amplify-components-button-primary-error-hover-background-color: var(--amplify-colors-red-90);
  --amplify-components-button-primary-error-hover-color: var(--amplify-colors-font-inverse);
  --amplify-components-button-primary-error-focus-border-color: transparent;
  --amplify-components-button-primary-error-focus-background-color: var(--amplify-colors-red-90);
  --amplify-components-button-primary-error-focus-color: var(--amplify-colors-font-inverse);
  --amplify-components-button-primary-error-focus-box-shadow: var(--amplify-components-fieldcontrol-error-focus-box-shadow);
  --amplify-components-button-primary-error-active-border-color: transparent;
  --amplify-components-button-primary-error-active-background-color: var(--amplify-colors-red-100);
  --amplify-components-button-primary-error-active-color: var(--amplify-colors-font-inverse);
  --amplify-components-button-primary-success-border-color: transparent;
  --amplify-components-button-primary-success-background-color: var(--amplify-colors-green-80);
  --amplify-components-button-primary-success-color: var(--amplify-colors-font-inverse);
  --amplify-components-button-primary-success-hover-border-color: transparent;
  --amplify-components-button-primary-success-hover-background-color: var(--amplify-colors-green-90);
  --amplify-components-button-primary-success-hover-color: var(--amplify-colors-font-inverse);
  --amplify-components-button-primary-success-focus-border-color: transparent;
  --amplify-components-button-primary-success-focus-background-color: var(--amplify-colors-green-90);
  --amplify-components-button-primary-success-focus-color: var(--amplify-colors-font-inverse);
  --amplify-components-button-primary-success-focus-box-shadow: var(--amplify-components-fieldcontrol-success-focus-box-shadow);
  --amplify-components-button-primary-success-active-border-color: transparent;
  --amplify-components-button-primary-success-active-background-color: var(--amplify-colors-green-100);
  --amplify-components-button-primary-success-active-color: var(--amplify-colors-font-inverse);
  --amplify-components-button-primary-overlay-border-color: transparent;
  --amplify-components-button-primary-overlay-background-color: var(--amplify-colors-overlay-70);
  --amplify-components-button-primary-overlay-color: var(--amplify-colors-font-inverse);
  --amplify-components-button-primary-overlay-hover-border-color: transparent;
  --amplify-components-button-primary-overlay-hover-background-color: var(--amplify-colors-overlay-90);
  --amplify-components-button-primary-overlay-hover-color: var(--amplify-colors-font-inverse);
  --amplify-components-button-primary-overlay-focus-border-color: transparent;
  --amplify-components-button-primary-overlay-focus-background-color: var(--amplify-colors-overlay-90);
  --amplify-components-button-primary-overlay-focus-color: var(--amplify-colors-font-inverse);
  --amplify-components-button-primary-overlay-focus-box-shadow: var(--amplify-components-fieldcontrol-overlay-focus-box-shadow);
  --amplify-components-button-primary-overlay-active-border-color: transparent;
  --amplify-components-button-primary-overlay-active-background-color: var(--amplify-colors-overlay-90);
  --amplify-components-button-primary-overlay-active-color: var(--amplify-colors-font-inverse);
  --amplify-components-button-menu-border-width: var(--amplify-space-zero);
  --amplify-components-button-menu-background-color: transparent;
  --amplify-components-button-menu-justify-content: start;
  --amplify-components-button-menu-hover-color: var(--amplify-colors-font-inverse);
  --amplify-components-button-menu-hover-background-color: var(--amplify-colors-primary-80);
  --amplify-components-button-menu-focus-color: var(--amplify-colors-font-inverse);
  --amplify-components-button-menu-focus-background-color: var(--amplify-colors-primary-80);
  --amplify-components-button-menu-active-color: var(--amplify-colors-font-inverse);
  --amplify-components-button-menu-active-background-color: var(--amplify-colors-primary-90);
  --amplify-components-button-menu-disabled-color: var(--amplify-colors-font-disabled);
  --amplify-components-button-link-background-color: transparent;
  --amplify-components-button-link-border-color: transparent;
  --amplify-components-button-link-border-width: var(--amplify-border-widths-small);
  --amplify-components-button-link-color: var(--amplify-colors-font-interactive);
  --amplify-components-button-link-hover-border-color: transparent;
  --amplify-components-button-link-hover-background-color: var(--amplify-colors-primary-10);
  --amplify-components-button-link-hover-color: var(--amplify-colors-font-hover);
  --amplify-components-button-link-focus-border-color: transparent;
  --amplify-components-button-link-focus-background-color: var(--amplify-colors-primary-10);
  --amplify-components-button-link-focus-color: var(--amplify-colors-font-focus);
  --amplify-components-button-link-focus-box-shadow: var(--amplify-components-fieldcontrol-focus-box-shadow);
  --amplify-components-button-link-active-border-color: transparent;
  --amplify-components-button-link-active-background-color: var(--amplify-colors-primary-20);
  --amplify-components-button-link-active-color: var(--amplify-colors-font-active);
  --amplify-components-button-link-disabled-border-color: transparent;
  --amplify-components-button-link-disabled-background-color: transparent;
  --amplify-components-button-link-disabled-color: var(--amplify-colors-font-disabled);
  --amplify-components-button-link-loading-border-color: transparent;
  --amplify-components-button-link-loading-background-color: transparent;
  --amplify-components-button-link-loading-color: var(--amplify-colors-font-disabled);
  --amplify-components-button-link-info-border-color: transparent;
  --amplify-components-button-link-info-background-color: transparent;
  --amplify-components-button-link-info-color: var(--amplify-colors-blue-100);
  --amplify-components-button-link-info-hover-border-color: transparent;
  --amplify-components-button-link-info-hover-background-color: var(--amplify-colors-blue-10);
  --amplify-components-button-link-info-hover-color: var(--amplify-colors-blue-90);
  --amplify-components-button-link-info-focus-border-color: transparent;
  --amplify-components-button-link-info-focus-background-color: var(--amplify-colors-blue-10);
  --amplify-components-button-link-info-focus-color: var(--amplify-colors-blue-100);
  --amplify-components-button-link-info-focus-box-shadow: var(--amplify-components-fieldcontrol-info-focus-box-shadow);
  --amplify-components-button-link-info-active-border-color: transparent;
  --amplify-components-button-link-info-active-background-color: var(--amplify-colors-blue-20);
  --amplify-components-button-link-info-active-color: var(--amplify-colors-blue-100);
  --amplify-components-button-link-warning-border-color: transparent;
  --amplify-components-button-link-warning-background-color: transparent;
  --amplify-components-button-link-warning-color: var(--amplify-colors-orange-100);
  --amplify-components-button-link-warning-hover-border-color: transparent;
  --amplify-components-button-link-warning-hover-background-color: var(--amplify-colors-orange-10);
  --amplify-components-button-link-warning-hover-color: var(--amplify-colors-orange-90);
  --amplify-components-button-link-warning-focus-border-color: transparent;
  --amplify-components-button-link-warning-focus-background-color: var(--amplify-colors-orange-10);
  --amplify-components-button-link-warning-focus-color: var(--amplify-colors-orange-100);
  --amplify-components-button-link-warning-focus-box-shadow: var(--amplify-components-fieldcontrol-warning-focus-box-shadow);
  --amplify-components-button-link-warning-active-border-color: transparent;
  --amplify-components-button-link-warning-active-background-color: var(--amplify-colors-orange-20);
  --amplify-components-button-link-warning-active-color: var(--amplify-colors-orange-100);
  --amplify-components-button-link-success-border-color: transparent;
  --amplify-components-button-link-success-background-color: transparent;
  --amplify-components-button-link-success-color: var(--amplify-colors-green-100);
  --amplify-components-button-link-success-hover-border-color: transparent;
  --amplify-components-button-link-success-hover-background-color: var(--amplify-colors-green-10);
  --amplify-components-button-link-success-hover-color: var(--amplify-colors-green-90);
  --amplify-components-button-link-success-focus-border-color: transparent;
  --amplify-components-button-link-success-focus-background-color: var(--amplify-colors-green-10);
  --amplify-components-button-link-success-focus-color: var(--amplify-colors-green-100);
  --amplify-components-button-link-success-focus-box-shadow: var(--amplify-components-fieldcontrol-success-focus-box-shadow);
  --amplify-components-button-link-success-active-border-color: transparent;
  --amplify-components-button-link-success-active-background-color: var(--amplify-colors-green-20);
  --amplify-components-button-link-success-active-color: var(--amplify-colors-green-100);
  --amplify-components-button-link-error-border-color: transparent;
  --amplify-components-button-link-error-background-color: transparent;
  --amplify-components-button-link-error-color: var(--amplify-colors-red-100);
  --amplify-components-button-link-error-hover-border-color: transparent;
  --amplify-components-button-link-error-hover-background-color: var(--amplify-colors-red-10);
  --amplify-components-button-link-error-hover-color: var(--amplify-colors-red-90);
  --amplify-components-button-link-error-focus-border-color: transparent;
  --amplify-components-button-link-error-focus-background-color: var(--amplify-colors-red-10);
  --amplify-components-button-link-error-focus-color: var(--amplify-colors-red-100);
  --amplify-components-button-link-error-focus-box-shadow: var(--amplify-components-fieldcontrol-error-focus-box-shadow);
  --amplify-components-button-link-error-active-border-color: transparent;
  --amplify-components-button-link-error-active-background-color: var(--amplify-colors-red-20);
  --amplify-components-button-link-error-active-color: var(--amplify-colors-red-100);
  --amplify-components-button-link-overlay-border-color: transparent;
  --amplify-components-button-link-overlay-background-color: transparent;
  --amplify-components-button-link-overlay-color: var(--amplify-colors-neutral-100);
  --amplify-components-button-link-overlay-hover-border-color: transparent;
  --amplify-components-button-link-overlay-hover-background-color: var(--amplify-colors-overlay-5);
  --amplify-components-button-link-overlay-hover-color: var(--amplify-colors-overlay-80);
  --amplify-components-button-link-overlay-focus-border-color: transparent;
  --amplify-components-button-link-overlay-focus-background-color: var(--amplify-colors-overlay-5);
  --amplify-components-button-link-overlay-focus-color: var(--amplify-colors-overlay-90);
  --amplify-components-button-link-overlay-focus-box-shadow: var(--amplify-components-fieldcontrol-overlay-focus-box-shadow);
  --amplify-components-button-link-overlay-active-border-color: transparent;
  --amplify-components-button-link-overlay-active-background-color: var(--amplify-colors-overlay-10);
  --amplify-components-button-link-overlay-active-color: var(--amplify-colors-overlay-90);
  --amplify-components-button-warning-background-color: transparent;
  --amplify-components-button-warning-border-color: var(--amplify-colors-red-60);
  --amplify-components-button-warning-border-width: var(--amplify-border-widths-small);
  --amplify-components-button-warning-color: var(--amplify-colors-red-60);
  --amplify-components-button-warning-hover-border-color: var(--amplify-colors-red-80);
  --amplify-components-button-warning-hover-background-color: var(--amplify-colors-red-10);
  --amplify-components-button-warning-hover-color: var(--amplify-colors-font-error);
  --amplify-components-button-warning-focus-border-color: var(--amplify-colors-red-80);
  --amplify-components-button-warning-focus-background-color: var(--amplify-colors-red-10);
  --amplify-components-button-warning-focus-color: var(--amplify-colors-red-80);
  --amplify-components-button-warning-focus-box-shadow: var(--amplify-components-fieldcontrol-error-focus-box-shadow);
  --amplify-components-button-warning-active-border-color: var(--amplify-colors-red-100);
  --amplify-components-button-warning-active-background-color: var(--amplify-colors-red-20);
  --amplify-components-button-warning-active-color: var(--amplify-colors-red-100);
  --amplify-components-button-warning-disabled-border-color: var(--amplify-colors-border-tertiary);
  --amplify-components-button-warning-disabled-background-color: transparent;
  --amplify-components-button-warning-disabled-color: var(--amplify-colors-font-disabled);
  --amplify-components-button-warning-loading-border-color: var(--amplify-colors-border-tertiary);
  --amplify-components-button-warning-loading-background-color: transparent;
  --amplify-components-button-warning-loading-color: var(--amplify-colors-font-disabled);
  --amplify-components-button-destructive-border-color: transparent;
  --amplify-components-button-destructive-border-width: var(--amplify-border-widths-small);
  --amplify-components-button-destructive-border-style: solid;
  --amplify-components-button-destructive-background-color: var(--amplify-colors-red-60);
  --amplify-components-button-destructive-color: var(--amplify-colors-font-inverse);
  --amplify-components-button-destructive-disabled-border-color: transparent;
  --amplify-components-button-destructive-disabled-background-color: var(--amplify-colors-background-disabled);
  --amplify-components-button-destructive-disabled-color: var(--amplify-colors-font-disabled);
  --amplify-components-button-destructive-loading-border-color: transparent;
  --amplify-components-button-destructive-loading-background-color: var(--amplify-colors-background-disabled);
  --amplify-components-button-destructive-loading-color: var(--amplify-colors-font-disabled);
  --amplify-components-button-destructive-hover-border-color: transparent;
  --amplify-components-button-destructive-hover-background-color: var(--amplify-colors-red-80);
  --amplify-components-button-destructive-hover-color: var(--amplify-colors-font-inverse);
  --amplify-components-button-destructive-focus-border-color: transparent;
  --amplify-components-button-destructive-focus-background-color: var(--amplify-colors-red-80);
  --amplify-components-button-destructive-focus-color: var(--amplify-colors-font-inverse);
  --amplify-components-button-destructive-focus-box-shadow: var(--amplify-components-fieldcontrol-error-focus-box-shadow);
  --amplify-components-button-destructive-active-border-color: transparent;
  --amplify-components-button-destructive-active-background-color: var(--amplify-colors-red-100);
  --amplify-components-button-destructive-active-color: var(--amplify-colors-font-inverse);
  --amplify-components-button-small-font-size: var(--amplify-components-fieldcontrol-small-font-size);
  --amplify-components-button-small-padding-block-start: var(--amplify-components-fieldcontrol-small-padding-block-start);
  --amplify-components-button-small-padding-block-end: var(--amplify-components-fieldcontrol-small-padding-block-end);
  --amplify-components-button-small-padding-inline-start: var(--amplify-components-fieldcontrol-small-padding-inline-start);
  --amplify-components-button-small-padding-inline-end: var(--amplify-components-fieldcontrol-small-padding-inline-end);
  --amplify-components-button-large-font-size: var(--amplify-components-fieldcontrol-large-font-size);
  --amplify-components-button-large-padding-block-start: var(--amplify-components-fieldcontrol-large-padding-block-start);
  --amplify-components-button-large-padding-block-end: var(--amplify-components-fieldcontrol-large-padding-block-end);
  --amplify-components-button-large-padding-inline-start: var(--amplify-components-fieldcontrol-large-padding-inline-start);
  --amplify-components-button-large-padding-inline-end: var(--amplify-components-fieldcontrol-large-padding-inline-end);
  --amplify-components-button-loader-wrapper-align-items: center;
  --amplify-components-button-loader-wrapper-gap: var(--amplify-space-xs);
  --amplify-components-card-background-color: var(--amplify-colors-background-primary);
  --amplify-components-card-border-radius: var(--amplify-radii-xs);
  --amplify-components-card-border-width: 0;
  --amplify-components-card-border-style: solid;
  --amplify-components-card-border-color: transparent;
  --amplify-components-card-box-shadow: none;
  --amplify-components-card-padding: var(--amplify-space-medium);
  --amplify-components-card-outlined-background-color: var(--amplify-components-card-background-color);
  --amplify-components-card-outlined-border-radius: var(--amplify-radii-xs);
  --amplify-components-card-outlined-border-width: var(--amplify-border-widths-small);
  --amplify-components-card-outlined-border-style: solid;
  --amplify-components-card-outlined-border-color: var(--amplify-colors-border-primary);
  --amplify-components-card-outlined-box-shadow: var(--amplify-components-card-box-shadow);
  --amplify-components-card-elevated-background-color: var(--amplify-components-card-background-color);
  --amplify-components-card-elevated-border-radius: var(--amplify-radii-xs);
  --amplify-components-card-elevated-border-width: 0;
  --amplify-components-card-elevated-border-style: solid;
  --amplify-components-card-elevated-border-color: transparent;
  --amplify-components-card-elevated-box-shadow: var(--amplify-shadows-medium);
  --amplify-components-checkbox-cursor: pointer;
  --amplify-components-checkbox-align-items: center;
  --amplify-components-checkbox-disabled-cursor: not-allowed;
  --amplify-components-checkbox-button-position: relative;
  --amplify-components-checkbox-button-align-items: center;
  --amplify-components-checkbox-button-justify-content: center;
  --amplify-components-checkbox-button-color: var(--amplify-colors-font-inverse);
  --amplify-components-checkbox-button-before-width: 100%;
  --amplify-components-checkbox-button-before-height: 100%;
  --amplify-components-checkbox-button-before-border-width: var(--amplify-border-widths-medium);
  --amplify-components-checkbox-button-before-border-radius: 20%;
  --amplify-components-checkbox-button-before-border-style: solid;
  --amplify-components-checkbox-button-before-border-color: var(--amplify-colors-border-primary);
  --amplify-components-checkbox-button-focus-outline-color: var(--amplify-colors-transparent);
  --amplify-components-checkbox-button-focus-outline-style: solid;
  --amplify-components-checkbox-button-focus-outline-width: var(--amplify-outline-widths-medium);
  --amplify-components-checkbox-button-focus-outline-offset: var(--amplify-outline-offsets-medium);
  --amplify-components-checkbox-button-focus-border-color: var(--amplify-colors-border-focus);
  --amplify-components-checkbox-button-focus-box-shadow: var(--amplify-components-fieldcontrol-focus-box-shadow);
  --amplify-components-checkbox-button-disabled-border-color: var(--amplify-colors-border-disabled);
  --amplify-components-checkbox-button-error-border-color: var(--amplify-colors-border-error);
  --amplify-components-checkbox-button-error-focus-border-color: var(--amplify-colors-border-error);
  --amplify-components-checkbox-button-error-focus-box-shadow: var(--amplify-components-fieldcontrol-error-focus-box-shadow);
  --amplify-components-checkbox-icon-background-color: var(--amplify-colors-primary-80);
  --amplify-components-checkbox-icon-border-radius: 20%;
  --amplify-components-checkbox-icon-opacity: var(--amplify-opacities-0);
  --amplify-components-checkbox-icon-transform: scale(0);
  --amplify-components-checkbox-icon-transition-property: all;
  --amplify-components-checkbox-icon-transition-duration: var(--amplify-time-short);
  --amplify-components-checkbox-icon-transition-timing-function: ease-in-out;
  --amplify-components-checkbox-icon-checked-opacity: var(--amplify-opacities-100);
  --amplify-components-checkbox-icon-checked-transform: scale(1);
  --amplify-components-checkbox-icon-checked-disabled-background-color: var(--amplify-colors-background-disabled);
  --amplify-components-checkbox-icon-indeterminate-opacity: var(--amplify-opacities-100);
  --amplify-components-checkbox-icon-indeterminate-transform: scale(1);
  --amplify-components-checkbox-icon-indeterminate-disabled-background-color: var(--amplify-colors-background-disabled);
  --amplify-components-checkbox-label-color: var(--amplify-components-text-color);
  --amplify-components-checkbox-label-disabled-color: var(--amplify-colors-font-disabled);
  --amplify-components-checkboxfield-align-items: flex-start;
  --amplify-components-checkboxfield-align-content: center;
  --amplify-components-checkboxfield-flex-direction: column;
  --amplify-components-checkboxfield-justify-content: center;
  --amplify-components-collection-pagination-current-color: var(--amplify-components-pagination-current-color);
  --amplify-components-collection-pagination-current-background-color: var(--amplify-components-pagination-current-background-color);
  --amplify-components-collection-pagination-button-color: var(--amplify-components-pagination-button-color);
  --amplify-components-collection-pagination-button-hover-background-color: var(--amplify-components-pagination-button-hover-background-color);
  --amplify-components-collection-pagination-button-hover-color: var(--amplify-components-pagination-button-hover-color);
  --amplify-components-collection-pagination-button-disabled-color: var(--amplify-components-pagination-button-disabled-color);
  --amplify-components-collection-search-input-color: var(--amplify-components-searchfield-color);
  --amplify-components-collection-search-button-color: var(--amplify-components-searchfield-button-color);
  --amplify-components-collection-search-button-active-background-color: var(--amplify-components-searchfield-button-active-background-color);
  --amplify-components-collection-search-button-active-border-color: var(--amplify-components-searchfield-button-active-border-color);
  --amplify-components-collection-search-button-active-color: var(--amplify-components-searchfield-button-active-color);
  --amplify-components-collection-search-button-disabled-background-color: var(--amplify-components-searchfield-button-disabled-background-color);
  --amplify-components-collection-search-button-disabled-border-color: var(--amplify-components-searchfield-button-disabled-border-color);
  --amplify-components-collection-search-button-disabled-color: var(--amplify-components-searchfield-button-disabled-color);
  --amplify-components-collection-search-button-focus-background-color: var(--amplify-components-searchfield-button-focus-background-color);
  --amplify-components-collection-search-button-focus-border-color: var(--amplify-components-searchfield-button-focus-border-color);
  --amplify-components-collection-search-button-focus-color: var(--amplify-components-searchfield-button-focus-color);
  --amplify-components-collection-search-button-hover-background-color: var(--amplify-components-searchfield-button-hover-background-color);
  --amplify-components-collection-search-button-hover-border-color: var(--amplify-components-searchfield-button-hover-border-color);
  --amplify-components-collection-search-button-hover-color: var(--amplify-components-searchfield-button-hover-color);
  --amplify-components-copy-font-size: var(--amplify-font-sizes-xs);
  --amplify-components-copy-gap: var(--amplify-space-relative-medium);
  --amplify-components-copy-svg-path-fill: var(--amplify-colors-font-primary);
  --amplify-components-copy-tool-tip-bottom: var(--amplify-space-large);
  --amplify-components-copy-tool-tip-color: var(--amplify-colors-teal-100);
  --amplify-components-copy-tool-tip-font-size: var(--amplify-font-sizes-xxs);
  --amplify-components-countrycodeselect-height: var(--amplify-space-relative-full);
  --amplify-components-divider-border-style: solid;
  --amplify-components-divider-border-color: var(--amplify-colors-border-primary);
  --amplify-components-divider-border-width: var(--amplify-border-widths-medium);
  --amplify-components-divider-label-color: var(--amplify-colors-font-tertiary);
  --amplify-components-divider-label-padding-inline: var(--amplify-space-medium);
  --amplify-components-divider-label-font-size: var(--amplify-font-sizes-small);
  --amplify-components-divider-label-background-color: var(--amplify-colors-background-primary);
  --amplify-components-divider-small-border-width: var(--amplify-border-widths-small);
  --amplify-components-divider-large-border-width: var(--amplify-border-widths-large);
  --amplify-components-divider-opacity: var(--amplify-opacities-60);
  --amplify-components-dropzone-background-color: var(--amplify-colors-background-primary);
  --amplify-components-dropzone-border-radius: var(--amplify-radii-small);
  --amplify-components-dropzone-border-color: var(--amplify-colors-border-primary);
  --amplify-components-dropzone-border-style: dashed;
  --amplify-components-dropzone-border-width: var(--amplify-border-widths-small);
  --amplify-components-dropzone-color: var(--amplify-colors-font-primary);
  --amplify-components-dropzone-gap: var(--amplify-space-small);
  --amplify-components-dropzone-padding-block: var(--amplify-space-xl);
  --amplify-components-dropzone-padding-inline: var(--amplify-space-large);
  --amplify-components-dropzone-text-align: center;
  --amplify-components-dropzone-active-background-color: var(--amplify-colors-primary-10);
  --amplify-components-dropzone-active-border-radius: var(--amplify-components-dropzone-border-radius);
  --amplify-components-dropzone-active-border-color: var(--amplify-colors-border-pressed);
  --amplify-components-dropzone-active-border-style: var(--amplify-components-dropzone-border-style);
  --amplify-components-dropzone-active-border-width: var(--amplify-components-dropzone-border-width);
  --amplify-components-dropzone-active-color: var(--amplify-colors-font-primary);
  --amplify-components-dropzone-disabled-background-color: var(--amplify-colors-background-disabled);
  --amplify-components-dropzone-disabled-border-radius: var(--amplify-components-dropzone-border-radius);
  --amplify-components-dropzone-disabled-border-color: var(--amplify-colors-border-disabled);
  --amplify-components-dropzone-disabled-border-style: var(--amplify-components-dropzone-border-style);
  --amplify-components-dropzone-disabled-border-width: var(--amplify-components-dropzone-border-width);
  --amplify-components-dropzone-disabled-color: var(--amplify-colors-font-disabled);
  --amplify-components-dropzone-accepted-background-color: var(--amplify-colors-background-success);
  --amplify-components-dropzone-accepted-border-radius: var(--amplify-components-dropzone-border-radius);
  --amplify-components-dropzone-accepted-border-color: var(--amplify-colors-border-success);
  --amplify-components-dropzone-accepted-border-style: var(--amplify-components-dropzone-border-style);
  --amplify-components-dropzone-accepted-border-width: var(--amplify-components-dropzone-border-width);
  --amplify-components-dropzone-accepted-color: var(--amplify-colors-font-success);
  --amplify-components-dropzone-rejected-background-color: var(--amplify-colors-background-error);
  --amplify-components-dropzone-rejected-border-radius: var(--amplify-components-dropzone-border-radius);
  --amplify-components-dropzone-rejected-border-color: var(--amplify-colors-border-pressed);
  --amplify-components-dropzone-rejected-border-style: var(--amplify-components-dropzone-border-style);
  --amplify-components-dropzone-rejected-border-width: var(--amplify-components-dropzone-border-width);
  --amplify-components-dropzone-rejected-color: var(--amplify-colors-font-error);
  --amplify-components-field-gap: var(--amplify-space-xs);
  --amplify-components-field-font-size: var(--amplify-font-sizes-medium);
  --amplify-components-field-flex-direction: column;
  --amplify-components-field-small-gap: var(--amplify-space-xxxs);
  --amplify-components-field-small-font-size: var(--amplify-font-sizes-small);
  --amplify-components-field-large-gap: var(--amplify-space-small);
  --amplify-components-field-large-font-size: var(--amplify-font-sizes-large);
  --amplify-components-field-label-color: var(--amplify-colors-font-secondary);
  --amplify-components-fieldcontrol-border-style: solid;
  --amplify-components-fieldcontrol-border-color: var(--amplify-colors-border-primary);
  --amplify-components-fieldcontrol-border-width: var(--amplify-border-widths-small);
  --amplify-components-fieldcontrol-border-radius: var(--amplify-radii-small);
  --amplify-components-fieldcontrol-color: var(--amplify-colors-font-primary);
  --amplify-components-fieldcontrol-padding-block-start: var(--amplify-space-xs);
  --amplify-components-fieldcontrol-padding-block-end: var(--amplify-space-xs);
  --amplify-components-fieldcontrol-padding-inline-start: var(--amplify-space-medium);
  --amplify-components-fieldcontrol-padding-inline-end: var(--amplify-space-medium);
  --amplify-components-fieldcontrol-font-size: var(--amplify-components-field-font-size);
  --amplify-components-fieldcontrol-line-height: var(--amplify-line-heights-medium);
  --amplify-components-fieldcontrol-transition-duration: var(--amplify-time-medium);
  --amplify-components-fieldcontrol-outline-color: var(--amplify-colors-transparent);
  --amplify-components-fieldcontrol-outline-style: solid;
  --amplify-components-fieldcontrol-outline-width: var(--amplify-outline-widths-medium);
  --amplify-components-fieldcontrol-outline-offset: var(--amplify-outline-offsets-medium);
  --amplify-components-fieldcontrol-small-font-size: var(--amplify-components-field-small-font-size);
  --amplify-components-fieldcontrol-small-padding-block-start: var(--amplify-space-xxs);
  --amplify-components-fieldcontrol-small-padding-block-end: var(--amplify-space-xxs);
  --amplify-components-fieldcontrol-small-padding-inline-start: var(--amplify-space-small);
  --amplify-components-fieldcontrol-small-padding-inline-end: var(--amplify-space-small);
  --amplify-components-fieldcontrol-large-font-size: var(--amplify-components-field-large-font-size);
  --amplify-components-fieldcontrol-large-padding-block-start: var(--amplify-space-xs);
  --amplify-components-fieldcontrol-large-padding-block-end: var(--amplify-space-xs);
  --amplify-components-fieldcontrol-large-padding-inline-start: var(--amplify-space-medium);
  --amplify-components-fieldcontrol-large-padding-inline-end: var(--amplify-space-medium);
  --amplify-components-fieldcontrol-quiet-border-style: none;
  --amplify-components-fieldcontrol-quiet-border-inline-start: none;
  --amplify-components-fieldcontrol-quiet-border-inline-end: none;
  --amplify-components-fieldcontrol-quiet-border-block-start: none;
  --amplify-components-fieldcontrol-quiet-border-radius: 0;
  --amplify-components-fieldcontrol-quiet-focus-border-block-end-color: transparent;
  --amplify-components-fieldcontrol-quiet-focus-box-shadow: var(--amplify-components-fieldcontrol-focus-box-shadow);
  --amplify-components-fieldcontrol-quiet-error-border-block-end-color: var(--amplify-colors-border-error);
  --amplify-components-fieldcontrol-quiet-error-focus-border-block-end-color: transparent;
  --amplify-components-fieldcontrol-quiet-error-focus-box-shadow: var(--amplify-components-fieldcontrol-error-focus-box-shadow);
  --amplify-components-fieldcontrol-focus-border-color: var(--amplify-colors-border-focus);
  --amplify-components-fieldcontrol-focus-box-shadow: 0px 0px 0px 2px var(--amplify-colors-border-focus);
  --amplify-components-fieldcontrol-disabled-color: var(--amplify-colors-font-disabled);
  --amplify-components-fieldcontrol-disabled-cursor: not-allowed;
  --amplify-components-fieldcontrol-disabled-border-color: var(--amplify-colors-transparent);
  --amplify-components-fieldcontrol-disabled-background-color: var(--amplify-colors-background-disabled);
  --amplify-components-fieldcontrol-error-border-color: var(--amplify-colors-border-error);
  --amplify-components-fieldcontrol-error-color: var(--amplify-colors-font-error);
  --amplify-components-fieldcontrol-error-focus-box-shadow: 0px 0px 0px 2px var(--amplify-colors-border-error);
  --amplify-components-fieldcontrol-info-focus-box-shadow: 0px 0px 0px 2px var(--amplify-colors-blue-100);
  --amplify-components-fieldcontrol-warning-focus-box-shadow: 0px 0px 0px 2px var(--amplify-colors-orange-100);
  --amplify-components-fieldcontrol-success-focus-box-shadow: 0px 0px 0px 2px var(--amplify-colors-green-100);
  --amplify-components-fieldcontrol-overlay-focus-box-shadow: 0px 0px 0px 2px var(--amplify-colors-overlay-90);
  --amplify-components-fieldgroup-gap: var(--amplify-space-zero);
  --amplify-components-fieldgroup-vertical-align-items: center;
  --amplify-components-fieldgroup-outer-align-items: center;
  --amplify-components-fieldmessages-error-color: var(--amplify-colors-font-error);
  --amplify-components-fieldmessages-error-font-size: var(--amplify-font-sizes-small);
  --amplify-components-fieldmessages-description-color: var(--amplify-colors-font-secondary);
  --amplify-components-fieldmessages-description-font-style: italic;
  --amplify-components-fieldmessages-description-font-size: var(--amplify-font-sizes-small);
  --amplify-components-fieldset-background-color: transparent;
  --amplify-components-fieldset-border-radius: var(--amplify-radii-xs);
  --amplify-components-fieldset-flex-direction: column;
  --amplify-components-fieldset-gap: var(--amplify-components-field-gap);
  --amplify-components-fieldset-legend-color: var(--amplify-colors-font-primary);
  --amplify-components-fieldset-legend-font-size: var(--amplify-components-field-font-size);
  --amplify-components-fieldset-legend-font-weight: var(--amplify-font-weights-bold);
  --amplify-components-fieldset-legend-line-height: var(--amplify-line-heights-medium);
  --amplify-components-fieldset-legend-small-font-size: var(--amplify-components-field-small-font-size);
  --amplify-components-fieldset-legend-large-font-size: var(--amplify-components-field-large-font-size);
  --amplify-components-fieldset-outlined-padding: var(--amplify-space-medium);
  --amplify-components-fieldset-outlined-border-color: var(--amplify-colors-neutral-40);
  --amplify-components-fieldset-outlined-border-width: var(--amplify-border-widths-small);
  --amplify-components-fieldset-outlined-border-style: solid;
  --amplify-components-fieldset-outlined-small-padding: var(--amplify-space-small);
  --amplify-components-fieldset-outlined-large-padding: var(--amplify-space-large);
  --amplify-components-fieldset-small-gap: var(--amplify-components-field-small-gap);
  --amplify-components-fieldset-large-gap: var(--amplify-components-field-large-gap);
  --amplify-components-fileuploader-dropzone-background-color: var(--amplify-colors-background-primary);
  --amplify-components-fileuploader-dropzone-border-radius: var(--amplify-radii-small);
  --amplify-components-fileuploader-dropzone-border-color: var(--amplify-colors-border-primary);
  --amplify-components-fileuploader-dropzone-border-style: dashed;
  --amplify-components-fileuploader-dropzone-border-width: var(--amplify-border-widths-small);
  --amplify-components-fileuploader-dropzone-gap: var(--amplify-space-small);
  --amplify-components-fileuploader-dropzone-padding-block: var(--amplify-space-xl);
  --amplify-components-fileuploader-dropzone-padding-inline: var(--amplify-space-large);
  --amplify-components-fileuploader-dropzone-text-align: center;
  --amplify-components-fileuploader-dropzone-active-background-color: var(--amplify-colors-primary-10);
  --amplify-components-fileuploader-dropzone-active-border-radius: var(--amplify-components-fileuploader-dropzone-border-radius);
  --amplify-components-fileuploader-dropzone-active-border-color: var(--amplify-colors-border-pressed);
  --amplify-components-fileuploader-dropzone-active-border-style: var(--amplify-components-fileuploader-dropzone-border-style);
  --amplify-components-fileuploader-dropzone-active-border-width: var(--amplify-border-widths-medium);
  --amplify-components-fileuploader-dropzone-icon-color: var(--amplify-colors-border-primary);
  --amplify-components-fileuploader-dropzone-icon-font-size: var(--amplify-font-sizes-xxl);
  --amplify-components-fileuploader-dropzone-text-color: var(--amplify-colors-font-tertiary);
  --amplify-components-fileuploader-dropzone-text-font-size: var(--amplify-font-sizes-medium);
  --amplify-components-fileuploader-dropzone-text-font-weight: var(--amplify-font-weights-bold);
  --amplify-components-fileuploader-file-background-color: var(--amplify-colors-background-primary);
  --amplify-components-fileuploader-file-border-radius: var(--amplify-radii-small);
  --amplify-components-fileuploader-file-border-color: var(--amplify-colors-border-primary);
  --amplify-components-fileuploader-file-border-style: solid;
  --amplify-components-fileuploader-file-border-width: var(--amplify-border-widths-small);
  --amplify-components-fileuploader-file-padding-block: var(--amplify-space-xs);
  --amplify-components-fileuploader-file-padding-inline: var(--amplify-space-small);
  --amplify-components-fileuploader-file-gap: var(--amplify-space-small);
  --amplify-components-fileuploader-file-align-items: baseline;
  --amplify-components-fileuploader-file-name-font-size: var(--amplify-font-sizes-medium);
  --amplify-components-fileuploader-file-name-font-weight: var(--amplify-font-weights-bold);
  --amplify-components-fileuploader-file-name-color: var(--amplify-colors-font-primary);
  --amplify-components-fileuploader-file-size-font-size: var(--amplify-font-sizes-small);
  --amplify-components-fileuploader-file-size-font-weight: var(--amplify-font-weights-normal);
  --amplify-components-fileuploader-file-size-color: var(--amplify-colors-font-tertiary);
  --amplify-components-fileuploader-file-image-width: var(--amplify-space-xxl);
  --amplify-components-fileuploader-file-image-height: var(--amplify-space-xxl);
  --amplify-components-fileuploader-file-image-background-color: var(--amplify-colors-background-secondary);
  --amplify-components-fileuploader-file-image-color: var(--amplify-colors-font-tertiary);
  --amplify-components-fileuploader-file-image-border-radius: var(--amplify-radii-small);
  --amplify-components-fileuploader-filelist-flex-direction: column;
  --amplify-components-fileuploader-filelist-gap: var(--amplify-space-small);
  --amplify-components-fileuploader-loader-stroke-linecap: round;
  --amplify-components-fileuploader-loader-stroke-empty: var(--amplify-colors-border-secondary);
  --amplify-components-fileuploader-loader-stroke-filled: var(--amplify-components-loader-stroke-filled);
  --amplify-components-fileuploader-loader-stroke-width: var(--amplify-border-widths-large);
  --amplify-components-fileuploader-previewer-background-color: var(--amplify-colors-background-primary);
  --amplify-components-fileuploader-previewer-border-color: var(--amplify-colors-border-primary);
  --amplify-components-fileuploader-previewer-border-style: solid;
  --amplify-components-fileuploader-previewer-border-width: var(--amplify-border-widths-small);
  --amplify-components-fileuploader-previewer-border-radius: var(--amplify-radii-small);
  --amplify-components-fileuploader-previewer-padding-block: var(--amplify-space-zero);
  --amplify-components-fileuploader-previewer-padding-inline: var(--amplify-space-zero);
  --amplify-components-fileuploader-previewer-max-height: 40rem;
  --amplify-components-fileuploader-previewer-max-width: auto;
  --amplify-components-fileuploader-previewer-text-font-size: var(--amplify-font-sizes-medium);
  --amplify-components-fileuploader-previewer-text-font-weight: var(--amplify-font-weights-bold);
  --amplify-components-fileuploader-previewer-text-color: var(--amplify-colors-font-primary);
  --amplify-components-fileuploader-previewer-body-padding-block: var(--amplify-space-medium);
  --amplify-components-fileuploader-previewer-body-padding-inline: var(--amplify-space-medium);
  --amplify-components-fileuploader-previewer-body-gap: var(--amplify-space-small);
  --amplify-components-fileuploader-previewer-footer-justify-content: flex-end;
  --amplify-components-flex-gap: var(--amplify-space-medium);
  --amplify-components-flex-justify-content: normal;
  --amplify-components-flex-align-items: stretch;
  --amplify-components-flex-align-content: normal;
  --amplify-components-flex-flex-wrap: nowrap;
  --amplify-components-heading-1-font-size: var(--amplify-font-sizes-xxxxl);
  --amplify-components-heading-1-font-weight: var(--amplify-font-weights-light);
  --amplify-components-heading-2-font-size: var(--amplify-font-sizes-xxxl);
  --amplify-components-heading-2-font-weight: var(--amplify-font-weights-normal);
  --amplify-components-heading-3-font-size: var(--amplify-font-sizes-xxl);
  --amplify-components-heading-3-font-weight: var(--amplify-font-weights-medium);
  --amplify-components-heading-4-font-size: var(--amplify-font-sizes-xl);
  --amplify-components-heading-4-font-weight: var(--amplify-font-weights-semibold);
  --amplify-components-heading-5-font-size: var(--amplify-font-sizes-large);
  --amplify-components-heading-5-font-weight: var(--amplify-font-weights-bold);
  --amplify-components-heading-6-font-size: var(--amplify-font-sizes-medium);
  --amplify-components-heading-6-font-weight: var(--amplify-font-weights-extrabold);
  --amplify-components-heading-color: var(--amplify-colors-font-primary);
  --amplify-components-heading-line-height: var(--amplify-line-heights-small);
  --amplify-components-icon-line-height: 1;
  --amplify-components-icon-height: 1em;
  --amplify-components-highlightmatch-highlighted-font-weight: var(--amplify-font-weights-bold);
  --amplify-components-image-max-width: 100%;
  --amplify-components-image-height: auto;
  --amplify-components-image-object-fit: initial;
  --amplify-components-image-object-position: initial;
  --amplify-components-inappmessaging-banner-height: 150px ;
  --amplify-components-inappmessaging-banner-width: 400px ;
  --amplify-components-inappmessaging-button-background-color: #e8e8e8;
  --amplify-components-inappmessaging-button-border-radius: 5px;
  --amplify-components-inappmessaging-button-color: black;
  --amplify-components-inappmessaging-dialog-height: 50vh;
  --amplify-components-inappmessaging-dialog-min-height: 400px;
  --amplify-components-inappmessaging-dialog-min-width: 400px;
  --amplify-components-inappmessaging-dialog-width: 30vw;
  --amplify-components-inappmessaging-header-font-size: var(--amplify-font-sizes-medium);
  --amplify-components-inappmessaging-header-font-weight: var(--amplify-font-weights-extrabold);
  --amplify-components-input-color: var(--amplify-components-fieldcontrol-color);
  --amplify-components-input-border-color: var(--amplify-components-fieldcontrol-border-color);
  --amplify-components-input-font-size: var(--amplify-components-fieldcontrol-font-size);
  --amplify-components-input-focus-border-color: var(--amplify-components-fieldcontrol-focus-border-color);
  --amplify-components-link-active-color: var(--amplify-colors-font-active);
  --amplify-components-link-color: var(--amplify-colors-font-interactive);
  --amplify-components-link-focus-color: var(--amplify-colors-font-focus);
  --amplify-components-link-hover-color: var(--amplify-colors-font-hover);
  --amplify-components-link-visited-color: var(--amplify-colors-font-interactive);
  --amplify-components-liveness-camera-module-background-color: var(--amplify-colors-background-primary);
  --amplify-components-loader-width: var(--amplify-font-sizes-medium);
  --amplify-components-loader-height: var(--amplify-font-sizes-medium);
  --amplify-components-loader-font-size: var(--amplify-font-sizes-xs);
  --amplify-components-loader-stroke-empty: var(--amplify-colors-neutral-20);
  --amplify-components-loader-stroke-filled: var(--amplify-colors-primary-80);
  --amplify-components-loader-stroke-linecap: round;
  --amplify-components-loader-animation-duration: 1s;
  --amplify-components-loader-small-width: var(--amplify-font-sizes-small);
  --amplify-components-loader-small-height: var(--amplify-font-sizes-small);
  --amplify-components-loader-small-font-size: var(--amplify-font-sizes-xxs);
  --amplify-components-loader-large-width: var(--amplify-font-sizes-large);
  --amplify-components-loader-large-height: var(--amplify-font-sizes-large);
  --amplify-components-loader-large-font-size: var(--amplify-font-sizes-small);
  --amplify-components-loader-linear-width: 100%;
  --amplify-components-loader-linear-min-width: 5rem;
  --amplify-components-loader-linear-font-size: var(--amplify-font-sizes-xxs);
  --amplify-components-loader-linear-stroke-width: var(--amplify-font-sizes-xxs);
  --amplify-components-loader-linear-stroke-filled: var(--amplify-colors-primary-80);
  --amplify-components-loader-linear-stroke-empty: var(--amplify-colors-neutral-20);
  --amplify-components-loader-linear-stroke-linecap: round;
  --amplify-components-loader-linear-animation-duration: 1s;
  --amplify-components-loader-linear-small-stroke-width: var(--amplify-font-sizes-xxxs);
  --amplify-components-loader-linear-small-font-size: var(--amplify-font-sizes-xxxs);
  --amplify-components-loader-linear-large-stroke-width: var(--amplify-font-sizes-xs);
  --amplify-components-loader-linear-large-font-size: var(--amplify-font-sizes-xs);
  --amplify-components-loader-text-fill: var(--amplify-colors-font-primary);
  --amplify-components-menu-background-color: var(--amplify-colors-background-primary);
  --amplify-components-menu-border-radius: var(--amplify-radii-medium);
  --amplify-components-menu-border-width: var(--amplify-border-widths-small);
  --amplify-components-menu-border-style: solid;
  --amplify-components-menu-border-color: var(--amplify-colors-border-primary);
  --amplify-components-menu-box-shadow: var(--amplify-shadows-large);
  --amplify-components-menu-flex-direction: column;
  --amplify-components-menu-gap: var(--amplify-space-zero);
  --amplify-components-menu-max-width: 30rem;
  --amplify-components-menu-min-width: 14rem;
  --amplify-components-menu-small-width: var(--amplify-font-sizes-medium);
  --amplify-components-menu-small-height: var(--amplify-font-sizes-medium);
  --amplify-components-menu-large-width: var(--amplify-font-sizes-xxxl);
  --amplify-components-menu-large-height: var(--amplify-font-sizes-xxxl);
  --amplify-components-menu-item-min-height: 2.5rem;
  --amplify-components-menu-item-padding-inline-start: var(--amplify-space-medium);
  --amplify-components-menu-item-padding-inline-end: var(--amplify-space-medium);
  --amplify-components-message-align-items: center;
  --amplify-components-message-background-color: var(--amplify-colors-background-tertiary);
  --amplify-components-message-border-color: transparent;
  --amplify-components-message-border-style: solid;
  --amplify-components-message-border-width: var(--amplify-border-widths-small);
  --amplify-components-message-border-radius: var(--amplify-radii-xs);
  --amplify-components-message-color: var(--amplify-colors-font-primary);
  --amplify-components-message-justify-content: flex-start;
  --amplify-components-message-padding-block: var(--amplify-space-small);
  --amplify-components-message-padding-inline: var(--amplify-space-medium);
  --amplify-components-message-line-height: var(--amplify-line-heights-small);
  --amplify-components-message-icon-size: var(--amplify-font-sizes-xl);
  --amplify-components-message-heading-font-size: var(--amplify-font-sizes-medium);
  --amplify-components-message-heading-font-weight: var(--amplify-font-weights-bold);
  --amplify-components-message-dismiss-gap: var(--amplify-space-xxs);
  --amplify-components-message-plain-color: var(--amplify-colors-font-primary);
  --amplify-components-message-plain-background-color: var(--amplify-colors-background-primary);
  --amplify-components-message-plain-border-color: transparent;
  --amplify-components-message-plain-info-color: var(--amplify-colors-font-info);
  --amplify-components-message-plain-info-background-color: var(--amplify-colors-background-primary);
  --amplify-components-message-plain-info-border-color: transparent;
  --amplify-components-message-plain-error-color: var(--amplify-colors-font-error);
  --amplify-components-message-plain-error-background-color: var(--amplify-colors-background-primary);
  --amplify-components-message-plain-error-border-color: transparent;
  --amplify-components-message-plain-success-color: var(--amplify-colors-font-success);
  --amplify-components-message-plain-success-background-color: var(--amplify-colors-background-primary);
  --amplify-components-message-plain-success-border-color: transparent;
  --amplify-components-message-plain-warning-color: var(--amplify-colors-font-warning);
  --amplify-components-message-plain-warning-background-color: var(--amplify-colors-background-primary);
  --amplify-components-message-plain-warning-border-color: transparent;
  --amplify-components-message-outlined-color: var(--amplify-colors-font-primary);
  --amplify-components-message-outlined-background-color: var(--amplify-colors-background-primary);
  --amplify-components-message-outlined-border-color: var(--amplify-colors-border-primary);
  --amplify-components-message-outlined-info-color: var(--amplify-colors-font-info);
  --amplify-components-message-outlined-info-background-color: var(--amplify-colors-background-primary);
  --amplify-components-message-outlined-info-border-color: var(--amplify-colors-border-info);
  --amplify-components-message-outlined-error-color: var(--amplify-colors-font-error);
  --amplify-components-message-outlined-error-background-color: var(--amplify-colors-background-primary);
  --amplify-components-message-outlined-error-border-color: var(--amplify-colors-border-error);
  --amplify-components-message-outlined-success-color: var(--amplify-colors-font-success);
  --amplify-components-message-outlined-success-background-color: var(--amplify-colors-background-primary);
  --amplify-components-message-outlined-success-border-color: var(--amplify-colors-border-success);
  --amplify-components-message-outlined-warning-color: var(--amplify-colors-font-warning);
  --amplify-components-message-outlined-warning-background-color: var(--amplify-colors-background-primary);
  --amplify-components-message-outlined-warning-border-color: var(--amplify-colors-border-warning);
  --amplify-components-message-filled-color: var(--amplify-colors-font-primary);
  --amplify-components-message-filled-background-color: var(--amplify-colors-background-secondary);
  --amplify-components-message-filled-border-color: transparent;
  --amplify-components-message-filled-info-color: var(--amplify-colors-font-info);
  --amplify-components-message-filled-info-background-color: var(--amplify-colors-background-info);
  --amplify-components-message-filled-info-border-color: transparent;
  --amplify-components-message-filled-error-color: var(--amplify-colors-font-error);
  --amplify-components-message-filled-error-background-color: var(--amplify-colors-background-error);
  --amplify-components-message-filled-error-border-color: transparent;
  --amplify-components-message-filled-success-color: var(--amplify-colors-font-success);
  --amplify-components-message-filled-success-background-color: var(--amplify-colors-background-success);
  --amplify-components-message-filled-success-border-color: transparent;
  --amplify-components-message-filled-warning-color: var(--amplify-colors-font-warning);
  --amplify-components-message-filled-warning-background-color: var(--amplify-colors-background-warning);
  --amplify-components-message-filled-warning-border-color: transparent;
  --amplify-components-pagination-current-align-items: center;
  --amplify-components-pagination-current-justify-content: center;
  --amplify-components-pagination-current-color: var(--amplify-colors-font-inverse);
  --amplify-components-pagination-current-font-size: var(--amplify-font-sizes-small);
  --amplify-components-pagination-current-background-color: var(--amplify-colors-overlay-40);
  --amplify-components-pagination-button-color: var(--amplify-colors-font-primary);
  --amplify-components-pagination-button-padding-inline-start: var(--amplify-space-xxs);
  --amplify-components-pagination-button-padding-inline-end: var(--amplify-space-xxs);
  --amplify-components-pagination-button-transition-property: background-color;
  --amplify-components-pagination-button-transition-duration: var(--amplify-time-medium);
  --amplify-components-pagination-button-hover-background-color: var(--amplify-colors-overlay-10);
  --amplify-components-pagination-button-hover-color: var(--amplify-colors-font-primary);
  --amplify-components-pagination-button-disabled-color: var(--amplify-colors-font-disabled);
  --amplify-components-pagination-ellipsis-align-items: baseline;
  --amplify-components-pagination-ellipsis-justify-content: center;
  --amplify-components-pagination-ellipsis-padding-inline-start: var(--amplify-space-xs);
  --amplify-components-pagination-ellipsis-padding-inline-end: var(--amplify-space-xs);
  --amplify-components-pagination-item-container-margin-left: var(--amplify-space-xxxs);
  --amplify-components-pagination-item-container-margin-right: var(--amplify-space-xxxs);
  --amplify-components-pagination-item-shared-height: var(--amplify-font-sizes-xxl);
  --amplify-components-pagination-item-shared-min-width: var(--amplify-font-sizes-xxl);
  --amplify-components-pagination-item-shared-border-radius: var(--amplify-font-sizes-medium);
  --amplify-components-passwordfield-color: var(--amplify-components-fieldcontrol-color);
  --amplify-components-passwordfield-button-color: var(--amplify-components-button-color);
  --amplify-components-passwordfield-button-active-background-color: var(--amplify-components-button-active-background-color);
  --amplify-components-passwordfield-button-active-border-color: var(--amplify-components-button-active-border-color);
  --amplify-components-passwordfield-button-active-color: var(--amplify-components-button-active-color);
  --amplify-components-passwordfield-button-disabled-background-color: var(--amplify-components-button-disabled-background-color);
  --amplify-components-passwordfield-button-disabled-border-color: var(--amplify-components-button-disabled-border-color);
  --amplify-components-passwordfield-button-disabled-color: var(--amplify-components-button-disabled-color);
  --amplify-components-passwordfield-button-error-color: var(--amplify-components-button-outlined-error-color);
  --amplify-components-passwordfield-button-error-background-color: var(--amplify-components-button-outlined-error-background-color);
  --amplify-components-passwordfield-button-error-border-color: var(--amplify-components-button-outlined-error-border-color);
  --amplify-components-passwordfield-button-error-active-border-color: var(--amplify-components-button-outlined-error-active-border-color);
  --amplify-components-passwordfield-button-error-active-background-color: var(--amplify-components-button-outlined-error-active-background-color);
  --amplify-components-passwordfield-button-error-active-color: var(--amplify-components-button-outlined-error-active-color);
  --amplify-components-passwordfield-button-error-focus-border-color: var(--amplify-components-button-outlined-error-focus-border-color);
  --amplify-components-passwordfield-button-error-focus-background-color: var(--amplify-components-button-outlined-error-focus-background-color);
  --amplify-components-passwordfield-button-error-focus-color: var(--amplify-components-button-outlined-error-focus-color);
  --amplify-components-passwordfield-button-error-focus-box-shadow: var(--amplify-components-button-outlined-error-focus-box-shadow);
  --amplify-components-passwordfield-button-error-hover-border-color: var(--amplify-components-button-outlined-error-hover-border-color);
  --amplify-components-passwordfield-button-error-hover-background-color: var(--amplify-components-button-outlined-error-hover-background-color);
  --amplify-components-passwordfield-button-error-hover-color: var(--amplify-components-button-outlined-error-hover-color);
  --amplify-components-passwordfield-button-focus-background-color: var(--amplify-components-button-focus-background-color);
  --amplify-components-passwordfield-button-focus-border-color: var(--amplify-components-button-focus-border-color);
  --amplify-components-passwordfield-button-focus-color: var(--amplify-components-button-focus-color);
  --amplify-components-passwordfield-button-hover-background-color: var(--amplify-components-button-hover-background-color);
  --amplify-components-passwordfield-button-hover-border-color: var(--amplify-components-button-hover-border-color);
  --amplify-components-passwordfield-button-hover-color: var(--amplify-components-button-hover-color);
  --amplify-components-phonenumberfield-color: var(--amplify-components-fieldcontrol-color);
  --amplify-components-phonenumberfield-border-color: var(--amplify-components-fieldcontrol-border-color);
  --amplify-components-phonenumberfield-font-size: var(--amplify-components-fieldcontrol-font-size);
  --amplify-components-phonenumberfield-focus-border-color: var(--amplify-components-fieldcontrol-focus-border-color);
  --amplify-components-placeholder-border-radius: var(--amplify-radii-small);
  --amplify-components-placeholder-transition-duration: var(--amplify-time-long);
  --amplify-components-placeholder-start-color: var(--amplify-colors-background-secondary);
  --amplify-components-placeholder-end-color: var(--amplify-colors-background-tertiary);
  --amplify-components-placeholder-small-height: var(--amplify-space-small);
  --amplify-components-placeholder-default-height: var(--amplify-space-medium);
  --amplify-components-placeholder-large-height: var(--amplify-space-large);
  --amplify-components-radio-align-items: center;
  --amplify-components-radio-justify-content: flex-start;
  --amplify-components-radio-gap: inherit;
  --amplify-components-radio-disabled-cursor: not-allowed;
  --amplify-components-radio-button-align-items: center;
  --amplify-components-radio-button-justify-content: center;
  --amplify-components-radio-button-width: var(--amplify-font-sizes-medium);
  --amplify-components-radio-button-height: var(--amplify-font-sizes-medium);
  --amplify-components-radio-button-box-sizing: border-box;
  --amplify-components-radio-button-border-width: var(--amplify-border-widths-medium);
  --amplify-components-radio-button-border-style: solid;
  --amplify-components-radio-button-border-radius: 50%;
  --amplify-components-radio-button-border-color: var(--amplify-colors-border-primary);
  --amplify-components-radio-button-color: var(--amplify-colors-background-primary);
  --amplify-components-radio-button-background-color: var(--amplify-colors-background-primary);
  --amplify-components-radio-button-transition-property: all;
  --amplify-components-radio-button-transition-duration: var(--amplify-time-medium);
  --amplify-components-radio-button-outline-color: var(--amplify-colors-transparent);
  --amplify-components-radio-button-outline-style: solid;
  --amplify-components-radio-button-outline-width: var(--amplify-outline-widths-medium);
  --amplify-components-radio-button-outline-offset: var(--amplify-outline-offsets-medium);
  --amplify-components-radio-button-padding: var(--amplify-border-widths-medium);
  --amplify-components-radio-button-small-width: var(--amplify-font-sizes-small);
  --amplify-components-radio-button-small-height: var(--amplify-font-sizes-small);
  --amplify-components-radio-button-large-width: var(--amplify-font-sizes-large);
  --amplify-components-radio-button-large-height: var(--amplify-font-sizes-large);
  --amplify-components-radio-button-checked-color: var(--amplify-colors-primary-80);
  --amplify-components-radio-button-checked-disabled-color: var(--amplify-colors-background-disabled);
  --amplify-components-radio-button-focus-border-color: var(--amplify-colors-border-focus);
  --amplify-components-radio-button-focus-box-shadow: var(--amplify-components-fieldcontrol-focus-box-shadow);
  --amplify-components-radio-button-error-border-color: var(--amplify-colors-border-error);
  --amplify-components-radio-button-error-focus-box-shadow: var(--amplify-components-fieldcontrol-error-focus-box-shadow);
  --amplify-components-radio-button-disabled-border-color: var(--amplify-colors-border-disabled);
  --amplify-components-radio-button-disabled-background-color: var(--amplify-colors-background-primary);
  --amplify-components-radio-label-color: var(--amplify-components-text-color);
  --amplify-components-radio-label-disabled-color: var(--amplify-colors-font-disabled);
  --amplify-components-radiogroup-radio-border-width: var(--amplify-components-radio-button-border-width);
  --amplify-components-radiogroup-radio-border-color: var(--amplify-components-radio-button-border-color);
  --amplify-components-radiogroup-radio-background-color: var(--amplify-components-radio-button-background-color);
  --amplify-components-radiogroup-radio-checked-color: var(--amplify-components-radio-button-checked-color);
  --amplify-components-radiogroup-radio-label-color: var(--amplify-components-radio-label-color);
  --amplify-components-radiogroup-legend-color: var(--amplify-components-fieldset-legend-color);
  --amplify-components-radiogroup-legend-font-weight: var(--amplify-font-weights-normal);
  --amplify-components-rating-large-size: var(--amplify-font-sizes-xxxl);
  --amplify-components-rating-default-size: var(--amplify-font-sizes-xl);
  --amplify-components-rating-small-size: var(--amplify-font-sizes-small);
  --amplify-components-rating-filled-color: var(--amplify-colors-secondary-80);
  --amplify-components-rating-empty-color: var(--amplify-colors-background-tertiary);
  --amplify-components-searchfield-color: var(--amplify-components-fieldcontrol-color);
  --amplify-components-searchfield-button-color: var(--amplify-components-button-color);
  --amplify-components-searchfield-button-background-color: var(--amplify-colors-background-primary);
  --amplify-components-searchfield-button-active-background-color: var(--amplify-components-button-active-background-color);
  --amplify-components-searchfield-button-active-border-color: var(--amplify-components-button-active-border-color);
  --amplify-components-searchfield-button-active-color: var(--amplify-components-button-active-color);
  --amplify-components-searchfield-button-disabled-background-color: var(--amplify-components-button-disabled-background-color);
  --amplify-components-searchfield-button-disabled-border-color: var(--amplify-components-button-disabled-border-color);
  --amplify-components-searchfield-button-disabled-color: var(--amplify-components-button-disabled-color);
  --amplify-components-searchfield-button-focus-background-color: var(--amplify-components-button-focus-background-color);
  --amplify-components-searchfield-button-focus-border-color: var(--amplify-components-button-focus-border-color);
  --amplify-components-searchfield-button-focus-color: var(--amplify-components-button-focus-color);
  --amplify-components-searchfield-button-hover-background-color: var(--amplify-components-button-hover-background-color);
  --amplify-components-searchfield-button-hover-border-color: var(--amplify-components-button-hover-border-color);
  --amplify-components-searchfield-button-hover-color: var(--amplify-components-button-hover-color);
  --amplify-components-select-color: var(--amplify-components-fieldcontrol-color);
  --amplify-components-select-background-color: var(--amplify-colors-background-primary);
  --amplify-components-select-padding-inline-end: var(--amplify-space-xxl);
  --amplify-components-select-disabled-color: var(--amplify-colors-font-disabled);
  --amplify-components-select-disabled-background-color: var(--amplify-colors-background-disabled);
  --amplify-components-select-wrapper-flex: 1;
  --amplify-components-select-wrapper-display: block;
  --amplify-components-select-wrapper-position: relative;
  --amplify-components-select-wrapper-cursor: pointer;
  --amplify-components-select-icon-wrapper-align-items: center;
  --amplify-components-select-icon-wrapper-position: absolute;
  --amplify-components-select-icon-wrapper-top: 50%;
  --amplify-components-select-icon-wrapper-right: var(--amplify-space-medium);
  --amplify-components-select-icon-wrapper-transform: translateY(-50%);
  --amplify-components-select-icon-wrapper-pointer-events: none;
  --amplify-components-select-icon-wrapper-small-right: var(--amplify-space-xs);
  --amplify-components-select-icon-wrapper-large-right: var(--amplify-space-medium);
  --amplify-components-select-option-background-color: transparent;
  --amplify-components-select-option-color: var(--amplify-colors-font-primary);
  --amplify-components-select-option-disabled-color: var(--amplify-colors-font-disabled);
  --amplify-components-select-option-disabled-background-color: transparent;
  --amplify-components-select-white-space: nowrap;
  --amplify-components-select-min-width: 6.5rem;
  --amplify-components-select-small-min-width: 5.5rem;
  --amplify-components-select-small-padding-inline-end: var(--amplify-space-xl);
  --amplify-components-select-large-min-width: 7.5rem;
  --amplify-components-select-large-padding-inline-end: var(--amplify-space-xxl);
  --amplify-components-select-expanded-padding-block: var(--amplify-space-xs);
  --amplify-components-select-expanded-padding-inline: var(--amplify-space-small);
  --amplify-components-select-expanded-option-padding-block: var(--amplify-space-xs);
  --amplify-components-select-expanded-option-padding-inline: var(--amplify-space-small);
  --amplify-components-selectfield-border-color: var(--amplify-components-fieldcontrol-border-color);
  --amplify-components-selectfield-color: var(--amplify-components-fieldcontrol-color);
  --amplify-components-selectfield-flex-direction: column;
  --amplify-components-selectfield-font-size: var(--amplify-components-fieldcontrol-font-size);
  --amplify-components-selectfield-focus-border-color: var(--amplify-components-fieldcontrol-focus-border-color);
  --amplify-components-selectfield-label-color: var(--amplify-components-field-label-color);
  --amplify-components-sliderfield-padding-block: var(--amplify-space-xs);
  --amplify-components-sliderfield-track-background-color: var(--amplify-colors-background-quaternary);
  --amplify-components-sliderfield-track-border-radius: 9999px;
  --amplify-components-sliderfield-track-height: 0.375rem;
  --amplify-components-sliderfield-track-min-width: 10rem;
  --amplify-components-sliderfield-range-background-color: var(--amplify-colors-primary-80);
  --amplify-components-sliderfield-range-border-radius: 9999px;
  --amplify-components-sliderfield-range-disabled-background-color: var(--amplify-colors-background-disabled);
  --amplify-components-sliderfield-thumb-width: 1.25rem;
  --amplify-components-sliderfield-thumb-height: 1.25rem;
  --amplify-components-sliderfield-thumb-background-color: var(--amplify-colors-background-primary);
  --amplify-components-sliderfield-thumb-box-shadow: var(--amplify-shadows-small);
  --amplify-components-sliderfield-thumb-border-radius: 50%;
  --amplify-components-sliderfield-thumb-border-width: var(--amplify-border-widths-medium);
  --amplify-components-sliderfield-thumb-border-color: var(--amplify-colors-border-primary);
  --amplify-components-sliderfield-thumb-border-style: solid;
  --amplify-components-sliderfield-thumb-disabled-background-color: var(--amplify-colors-background-disabled);
  --amplify-components-sliderfield-thumb-disabled-border-color: transparent;
  --amplify-components-sliderfield-thumb-disabled-box-shadow: none;
  --amplify-components-sliderfield-thumb-hover-background-color: var(--amplify-colors-background-primary);
  --amplify-components-sliderfield-thumb-hover-border-color: var(--amplify-colors-border-focus);
  --amplify-components-sliderfield-thumb-focus-border-color: var(--amplify-colors-border-focus);
  --amplify-components-sliderfield-thumb-focus-box-shadow: var(--amplify-components-fieldcontrol-focus-box-shadow);
  --amplify-components-sliderfield-small-track-height: 0.25rem;
  --amplify-components-sliderfield-small-thumb-width: 1rem;
  --amplify-components-sliderfield-small-thumb-height: 1rem;
  --amplify-components-sliderfield-large-track-height: 0.625rem;
  --amplify-components-sliderfield-large-thumb-width: 1.5rem;
  --amplify-components-sliderfield-large-thumb-height: 1.5rem;
  --amplify-components-stepperfield-border-color: var(--amplify-components-fieldcontrol-border-color);
  --amplify-components-stepperfield-flex-direction: column;
  --amplify-components-stepperfield-input-color: var(--amplify-components-fieldcontrol-color);
  --amplify-components-stepperfield-input-font-size: var(--amplify-components-fieldcontrol-font-size);
  --amplify-components-stepperfield-input-text-align: center;
  --amplify-components-stepperfield-button-color: var(--amplify-components-button-color);
  --amplify-components-stepperfield-button-background-color: var(--amplify-colors-transparent);
  --amplify-components-stepperfield-button-active-color: var(--amplify-components-button-active-color);
  --amplify-components-stepperfield-button-active-background-color: var(--amplify-components-button-active-background-color);
  --amplify-components-stepperfield-button-focus-color: var(--amplify-components-button-focus-color);
  --amplify-components-stepperfield-button-focus-background-color: var(--amplify-components-button-focus-background-color);
  --amplify-components-stepperfield-button-disabled-color: var(--amplify-components-button-disabled-color);
  --amplify-components-stepperfield-button-disabled-background-color: var(--amplify-components-fieldcontrol-disabled-background-color);
  --amplify-components-stepperfield-button-hover-color: var(--amplify-components-button-hover-color);
  --amplify-components-stepperfield-button-hover-background-color: var(--amplify-components-button-hover-background-color);
  --amplify-components-storagemanager-dropzone-background-color: var(--amplify-colors-background-primary);
  --amplify-components-storagemanager-dropzone-border-radius: var(--amplify-radii-small);
  --amplify-components-storagemanager-dropzone-border-color: var(--amplify-colors-border-primary);
  --amplify-components-storagemanager-dropzone-border-style: dashed;
  --amplify-components-storagemanager-dropzone-border-width: var(--amplify-border-widths-small);
  --amplify-components-storagemanager-dropzone-gap: var(--amplify-space-small);
  --amplify-components-storagemanager-dropzone-padding-block: var(--amplify-space-xl);
  --amplify-components-storagemanager-dropzone-padding-inline: var(--amplify-space-large);
  --amplify-components-storagemanager-dropzone-text-align: center;
  --amplify-components-storagemanager-dropzone-active-background-color: var(--amplify-colors-primary-10);
  --amplify-components-storagemanager-dropzone-active-border-radius: var(--amplify-components-storagemanager-dropzone-border-radius);
  --amplify-components-storagemanager-dropzone-active-border-color: var(--amplify-colors-border-pressed);
  --amplify-components-storagemanager-dropzone-active-border-style: var(--amplify-components-storagemanager-dropzone-border-style);
  --amplify-components-storagemanager-dropzone-active-border-width: var(--amplify-border-widths-medium);
  --amplify-components-storagemanager-dropzone-icon-color: var(--amplify-colors-border-primary);
  --amplify-components-storagemanager-dropzone-icon-font-size: var(--amplify-font-sizes-xxl);
  --amplify-components-storagemanager-dropzone-text-color: var(--amplify-colors-font-tertiary);
  --amplify-components-storagemanager-dropzone-text-font-size: var(--amplify-font-sizes-medium);
  --amplify-components-storagemanager-dropzone-text-font-weight: var(--amplify-font-weights-bold);
  --amplify-components-storagemanager-file-background-color: var(--amplify-colors-background-primary);
  --amplify-components-storagemanager-file-border-radius: var(--amplify-radii-small);
  --amplify-components-storagemanager-file-border-color: var(--amplify-colors-border-primary);
  --amplify-components-storagemanager-file-border-style: solid;
  --amplify-components-storagemanager-file-border-width: var(--amplify-border-widths-small);
  --amplify-components-storagemanager-file-padding-block: var(--amplify-space-xs);
  --amplify-components-storagemanager-file-padding-inline: var(--amplify-space-small);
  --amplify-components-storagemanager-file-gap: var(--amplify-space-small);
  --amplify-components-storagemanager-file-align-items: baseline;
  --amplify-components-storagemanager-file-name-font-size: var(--amplify-font-sizes-medium);
  --amplify-components-storagemanager-file-name-font-weight: var(--amplify-font-weights-bold);
  --amplify-components-storagemanager-file-name-color: var(--amplify-colors-font-primary);
  --amplify-components-storagemanager-file-size-font-size: var(--amplify-font-sizes-small);
  --amplify-components-storagemanager-file-size-font-weight: var(--amplify-font-weights-normal);
  --amplify-components-storagemanager-file-size-color: var(--amplify-colors-font-tertiary);
  --amplify-components-storagemanager-file-image-width: var(--amplify-space-xxl);
  --amplify-components-storagemanager-file-image-height: var(--amplify-space-xxl);
  --amplify-components-storagemanager-file-image-background-color: var(--amplify-colors-background-secondary);
  --amplify-components-storagemanager-file-image-color: var(--amplify-colors-font-tertiary);
  --amplify-components-storagemanager-file-image-border-radius: var(--amplify-radii-small);
  --amplify-components-storagemanager-filelist-flex-direction: column;
  --amplify-components-storagemanager-filelist-gap: var(--amplify-space-small);
  --amplify-components-storagemanager-loader-stroke-linecap: round;
  --amplify-components-storagemanager-loader-stroke-empty: var(--amplify-colors-border-secondary);
  --amplify-components-storagemanager-loader-stroke-filled: var(--amplify-components-loader-stroke-filled);
  --amplify-components-storagemanager-loader-stroke-width: var(--amplify-border-widths-large);
  --amplify-components-storagemanager-previewer-background-color: var(--amplify-colors-background-primary);
  --amplify-components-storagemanager-previewer-border-color: var(--amplify-colors-border-primary);
  --amplify-components-storagemanager-previewer-border-style: solid;
  --amplify-components-storagemanager-previewer-border-width: var(--amplify-border-widths-small);
  --amplify-components-storagemanager-previewer-border-radius: var(--amplify-radii-small);
  --amplify-components-storagemanager-previewer-padding-block: var(--amplify-space-zero);
  --amplify-components-storagemanager-previewer-padding-inline: var(--amplify-space-zero);
  --amplify-components-storagemanager-previewer-max-height: 40rem;
  --amplify-components-storagemanager-previewer-max-width: auto;
  --amplify-components-storagemanager-previewer-text-font-size: var(--amplify-font-sizes-medium);
  --amplify-components-storagemanager-previewer-text-font-weight: var(--amplify-font-weights-bold);
  --amplify-components-storagemanager-previewer-text-color: var(--amplify-colors-font-primary);
  --amplify-components-storagemanager-previewer-body-padding-block: var(--amplify-space-medium);
  --amplify-components-storagemanager-previewer-body-padding-inline: var(--amplify-space-medium);
  --amplify-components-storagemanager-previewer-body-gap: var(--amplify-space-small);
  --amplify-components-storagemanager-previewer-footer-justify-content: flex-end;
  --amplify-components-switchfield-disabled-opacity: var(--amplify-opacities-60);
  --amplify-components-switchfield-focused-shadow: var(--amplify-components-fieldcontrol-focus-box-shadow);
  --amplify-components-switchfield-font-size: var(--amplify-font-sizes-medium);
  --amplify-components-switchfield-large-font-size: var(--amplify-font-sizes-large);
  --amplify-components-switchfield-small-font-size: var(--amplify-font-sizes-small);
  --amplify-components-switchfield-label-padding: var(--amplify-space-xs);
  --amplify-components-switchfield-thumb-background-color: var(--amplify-colors-background-primary);
  --amplify-components-switchfield-thumb-border-color: transparent;
  --amplify-components-switchfield-thumb-border-width: var(--amplify-border-widths-small);
  --amplify-components-switchfield-thumb-border-style: solid;
  --amplify-components-switchfield-thumb-border-radius: var(--amplify-radii-xxxl);
  --amplify-components-switchfield-thumb-checked-transform: var(--amplify-transforms-slide-x-medium);
  --amplify-components-switchfield-thumb-transition-duration: var(--amplify-time-medium);
  --amplify-components-switchfield-thumb-width: var(--amplify-space-relative-medium);
  --amplify-components-switchfield-track-background-color: var(--amplify-colors-background-quaternary);
  --amplify-components-switchfield-track-border-radius: var(--amplify-radii-xxxl);
  --amplify-components-switchfield-track-checked-background-color: var(--amplify-colors-primary-80);
  --amplify-components-switchfield-track-height: var(--amplify-space-relative-medium);
  --amplify-components-switchfield-track-padding: var(--amplify-outline-widths-medium);
  --amplify-components-switchfield-track-transition-duration: var(--amplify-time-short);
  --amplify-components-switchfield-track-width: var(--amplify-space-relative-xl);
  --amplify-components-switchfield-track-error-background-color: var(--amplify-colors-background-error);
  --amplify-components-table-border-collapse: collapse;
  --amplify-components-table-display: table;
  --amplify-components-table-width: 100%;
  --amplify-components-table-head-display: table-header-group;
  --amplify-components-table-head-vertical-align: middle;
  --amplify-components-table-body-display: table-row-group;
  --amplify-components-table-body-vertical-align: middle;
  --amplify-components-table-foot-display: table-footer-group;
  --amplify-components-table-foot-vertical-align: middle;
  --amplify-components-table-row-display: table-row;
  --amplify-components-table-row-vertical-align: middle;
  --amplify-components-table-row-hover-background-color: var(--amplify-colors-background-tertiary);
  --amplify-components-table-row-striped-background-color: var(--amplify-colors-background-secondary);
  --amplify-components-table-header-border-color: var(--amplify-colors-border-tertiary);
  --amplify-components-table-header-border-style: solid;
  --amplify-components-table-header-border-width: var(--amplify-border-widths-small);
  --amplify-components-table-header-color: var(--amplify-colors-font-primary);
  --amplify-components-table-header-display: table-cell;
  --amplify-components-table-header-font-size: var(--amplify-font-sizes-medium);
  --amplify-components-table-header-font-weight: var(--amplify-font-weights-bold);
  --amplify-components-table-header-padding: var(--amplify-space-medium);
  --amplify-components-table-header-vertical-align: middle;
  --amplify-components-table-header-large-font-size: var(--amplify-font-sizes-large);
  --amplify-components-table-header-large-padding: var(--amplify-space-large);
  --amplify-components-table-header-small-font-size: var(--amplify-font-sizes-small);
  --amplify-components-table-header-small-padding: var(--amplify-space-xs);
  --amplify-components-table-data-border-color: var(--amplify-colors-border-tertiary);
  --amplify-components-table-data-border-style: solid;
  --amplify-components-table-data-border-width: var(--amplify-border-widths-small);
  --amplify-components-table-data-color: var(--amplify-colors-font-primary);
  --amplify-components-table-data-display: table-cell;
  --amplify-components-table-data-font-size: var(--amplify-font-sizes-medium);
  --amplify-components-table-data-font-weight: var(--amplify-font-weights-normal);
  --amplify-components-table-data-padding: var(--amplify-space-medium);
  --amplify-components-table-data-vertical-align: middle;
  --amplify-components-table-data-large-font-size: var(--amplify-font-sizes-large);
  --amplify-components-table-data-large-padding: var(--amplify-space-large);
  --amplify-components-table-data-small-font-size: var(--amplify-font-sizes-small);
  --amplify-components-table-data-small-padding: var(--amplify-space-xs);
  --amplify-components-table-caption-caption-side: bottom;
  --amplify-components-table-caption-color: var(--amplify-colors-font-primary);
  --amplify-components-table-caption-display: table-caption;
  --amplify-components-table-caption-font-size: var(--amplify-font-sizes-medium);
  --amplify-components-table-caption-text-align: center;
  --amplify-components-table-caption-word-break: break-all;
  --amplify-components-table-caption-large-font-size: var(--amplify-font-sizes-large);
  --amplify-components-table-caption-small-font-size: var(--amplify-font-sizes-small);
  --amplify-components-tabs-background-color: transparent;
  --amplify-components-tabs-border-color: var(--amplify-colors-border-secondary);
  --amplify-components-tabs-border-style: solid;
  --amplify-components-tabs-border-width: var(--amplify-border-widths-medium);
  --amplify-components-tabs-gap: 0;
  --amplify-components-tabs-item-background-color: transparent;
  --amplify-components-tabs-item-border-color: var(--amplify-colors-border-secondary);
  --amplify-components-tabs-item-border-style: solid;
  --amplify-components-tabs-item-border-width: var(--amplify-border-widths-medium);
  --amplify-components-tabs-item-color: var(--amplify-colors-font-secondary);
  --amplify-components-tabs-item-font-size: var(--amplify-font-sizes-medium);
  --amplify-components-tabs-item-font-weight: var(--amplify-font-weights-bold);
  --amplify-components-tabs-item-padding-vertical: var(--amplify-space-small);
  --amplify-components-tabs-item-padding-horizontal: var(--amplify-space-medium);
  --amplify-components-tabs-item-text-align: center;
  --amplify-components-tabs-item-transition-duration: var(--amplify-time-medium);
  --amplify-components-tabs-item-hover-background-color: transparent;
  --amplify-components-tabs-item-hover-border-color: var(--amplify-colors-border-focus);
  --amplify-components-tabs-item-hover-box-shadow: none;
  --amplify-components-tabs-item-hover-color: var(--amplify-colors-font-hover);
  --amplify-components-tabs-item-focus-background-color: transparent;
  --amplify-components-tabs-item-focus-border-color: var(--amplify-colors-border-focus);
  --amplify-components-tabs-item-focus-box-shadow: 0px 0px 0px var(--amplify-border-widths-medium) var(--amplify-colors-border-focus);
  --amplify-components-tabs-item-focus-color: var(--amplify-colors-font-focus);
  --amplify-components-tabs-item-active-background-color: transparent;
  --amplify-components-tabs-item-active-border-color: var(--amplify-colors-font-interactive);
  --amplify-components-tabs-item-active-box-shadow: none;
  --amplify-components-tabs-item-active-color: var(--amplify-colors-font-interactive);
  --amplify-components-tabs-item-disabled-background-color: transparent;
  --amplify-components-tabs-item-disabled-border-color: var(--amplify-colors-border-tertiary);
  --amplify-components-tabs-item-disabled-box-shadow: none;
  --amplify-components-tabs-item-disabled-color: var(--amplify-colors-font-disabled);
  --amplify-components-tabs-panel-background-color: transparent;
  --amplify-components-tabs-panel-padding-inline: 0;
  --amplify-components-tabs-panel-padding-block: var(--amplify-space-small);
  --amplify-components-text-color: var(--amplify-colors-font-primary);
  --amplify-components-text-primary-color: var(--amplify-colors-font-primary);
  --amplify-components-text-secondary-color: var(--amplify-colors-font-secondary);
  --amplify-components-text-tertiary-color: var(--amplify-colors-font-tertiary);
  --amplify-components-text-error-color: var(--amplify-colors-font-error);
  --amplify-components-text-warning-color: var(--amplify-colors-font-warning);
  --amplify-components-text-success-color: var(--amplify-colors-font-success);
  --amplify-components-text-info-color: var(--amplify-colors-font-info);
  --amplify-components-textareafield-color: var(--amplify-components-fieldcontrol-color);
  --amplify-components-textareafield-border-color: var(--amplify-components-fieldcontrol-border-color);
  --amplify-components-textareafield-focus-border-color: var(--amplify-components-fieldcontrol-focus-border-color);
  --amplify-components-textfield-color: var(--amplify-components-fieldcontrol-color);
  --amplify-components-textfield-border-color: var(--amplify-components-fieldcontrol-border-color);
  --amplify-components-textfield-font-size: var(--amplify-components-fieldcontrol-font-size);
  --amplify-components-textfield-focus-border-color: var(--amplify-components-fieldcontrol-focus-border-color);
  --amplify-components-togglebutton-border-color: var(--amplify-colors-border-primary);
  --amplify-components-togglebutton-color: var(--amplify-colors-font-primary);
  --amplify-components-togglebutton-hover-background-color: var(--amplify-colors-overlay-10);
  --amplify-components-togglebutton-focus-border-color: var(--amplify-colors-border-focus);
  --amplify-components-togglebutton-focus-color: var(--amplify-colors-font-primary);
  --amplify-components-togglebutton-active-background-color: var(--amplify-colors-transparent);
  --amplify-components-togglebutton-disabled-background-color: var(--amplify-colors-transparent);
  --amplify-components-togglebutton-disabled-border-color: var(--amplify-colors-border-disabled);
  --amplify-components-togglebutton-disabled-color: var(--amplify-colors-font-disabled);
  --amplify-components-togglebutton-pressed-border-color: var(--amplify-colors-border-pressed);
  --amplify-components-togglebutton-pressed-color: var(--amplify-colors-font-primary);
  --amplify-components-togglebutton-pressed-background-color: var(--amplify-colors-overlay-20);
  --amplify-components-togglebutton-pressed-hover-background-color: var(--amplify-colors-overlay-30);
  --amplify-components-togglebutton-primary-background-color: var(--amplify-colors-transparent);
  --amplify-components-togglebutton-primary-border-width: var(--amplify-border-widths-small);
  --amplify-components-togglebutton-primary-focus-border-color: var(--amplify-colors-border-focus);
  --amplify-components-togglebutton-primary-focus-background-color: var(--amplify-colors-transparent);
  --amplify-components-togglebutton-primary-focus-box-shadow: var(--amplify-components-fieldcontrol-focus-box-shadow);
  --amplify-components-togglebutton-primary-focus-color: var(--amplify-colors-font-primary);
  --amplify-components-togglebutton-primary-hover-background-color: var(--amplify-colors-overlay-10);
  --amplify-components-togglebutton-primary-hover-color: var(--amplify-colors-font-primary);
  --amplify-components-togglebutton-primary-disabled-border-color: var(--amplify-colors-border-disabled);
  --amplify-components-togglebutton-primary-disabled-background-color: var(--amplify-colors-background-disabled);
  --amplify-components-togglebutton-primary-disabled-color: var(--amplify-colors-font-disabled);
  --amplify-components-togglebutton-primary-pressed-background-color: var(--amplify-colors-primary-80);
  --amplify-components-togglebutton-primary-pressed-border-color: var(--amplify-colors-primary-80);
  --amplify-components-togglebutton-primary-pressed-color: var(--amplify-colors-background-primary);
  --amplify-components-togglebutton-primary-pressed-focus-background-color: var(--amplify-colors-border-focus);
  --amplify-components-togglebutton-primary-pressed-focus-border-color: var(--amplify-colors-border-focus);
  --amplify-components-togglebutton-primary-pressed-focus-color: var(--amplify-colors-background-primary);
  --amplify-components-togglebutton-primary-pressed-hover-border-color: var(--amplify-colors-primary-60);
  --amplify-components-togglebutton-primary-pressed-hover-background-color: var(--amplify-colors-primary-60);
  --amplify-components-togglebutton-primary-pressed-hover-box-shadow: var(--amplify-colors-primary-60);
  --amplify-components-togglebutton-primary-pressed-hover-color: var(--amplify-colors-background-primary);
  --amplify-components-togglebutton-link-background-color: var(--amplify-colors-transparent);
  --amplify-components-togglebutton-link-color: var(--amplify-colors-overlay-50);
  --amplify-components-togglebutton-link-hover-background-color: var(--amplify-colors-transparent);
  --amplify-components-togglebutton-link-hover-color: var(--amplify-colors-overlay-50);
  --amplify-components-togglebutton-link-focus-background-color: var(--amplify-colors-transparent);
  --amplify-components-togglebutton-link-focus-color: var(--amplify-colors-overlay-50);
  --amplify-components-togglebutton-link-disabled-background-color: var(--amplify-colors-transparent);
  --amplify-components-togglebutton-link-disabled-color: var(--amplify-colors-font-disabled);
  --amplify-components-togglebutton-link-pressed-background-color: var(--amplify-colors-transparent);
  --amplify-components-togglebutton-link-pressed-color: var(--amplify-colors-overlay-90);
  --amplify-components-togglebutton-link-pressed-focus-background-color: var(--amplify-colors-transparent);
  --amplify-components-togglebutton-link-pressed-focus-color: var(--amplify-colors-overlay-90);
  --amplify-components-togglebutton-link-pressed-hover-color: var(--amplify-colors-overlay-90);
  --amplify-components-togglebutton-link-pressed-hover-background-color: var(--amplify-colors-transparent);
  --amplify-components-togglebuttongroup-align-items: center;
  --amplify-components-togglebuttongroup-align-content: center;
  --amplify-components-togglebuttongroup-justify-content: flex-start;
  --amplify-border-widths-small: 1px;
  --amplify-border-widths-medium: 2px;
  --amplify-border-widths-large: 3px;
  --amplify-colors-red-10: hsl(0, 75%, 95%);
  --amplify-colors-red-20: hsl(0, 75%, 85%);
  --amplify-colors-red-40: hsl(0, 75%, 75%);
  --amplify-colors-red-60: hsl(0, 50%, 50%);
  --amplify-colors-red-80: hsl(0, 95%, 30%);
  --amplify-colors-red-90: hsl(0, 100%, 20%);
  --amplify-colors-red-100: hsl(0, 100%, 15%);
  --amplify-colors-orange-10: hsl(30, 75%, 95%);
  --amplify-colors-orange-20: hsl(30, 75%, 85%);
  --amplify-colors-orange-40: hsl(30, 75%, 75%);
  --amplify-colors-orange-60: hsl(30, 50%, 50%);
  --amplify-colors-orange-80: hsl(30, 95%, 30%);
  --amplify-colors-orange-90: hsl(30, 100%, 20%);
  --amplify-colors-orange-100: hsl(30, 100%, 15%);
  --amplify-colors-yellow-10: hsl(60, 75%, 95%);
  --amplify-colors-yellow-20: hsl(60, 75%, 85%);
  --amplify-colors-yellow-40: hsl(60, 75%, 75%);
  --amplify-colors-yellow-60: hsl(60, 50%, 50%);
  --amplify-colors-yellow-80: hsl(60, 95%, 30%);
  --amplify-colors-yellow-90: hsl(60, 100%, 20%);
  --amplify-colors-yellow-100: hsl(60, 100%, 15%);
  --amplify-colors-green-10: hsl(130, 60%, 95%);
  --amplify-colors-green-20: hsl(130, 60%, 90%);
  --amplify-colors-green-40: hsl(130, 44%, 63%);
  --amplify-colors-green-60: hsl(130, 43%, 46%);
  --amplify-colors-green-80: hsl(130, 33%, 37%);
  --amplify-colors-green-90: hsl(130, 27%, 29%);
  --amplify-colors-green-100: hsl(130, 22%, 23%);
  --amplify-colors-teal-10: hsl(190, 75%, 95%);
  --amplify-colors-teal-20: hsl(190, 75%, 85%);
  --amplify-colors-teal-40: hsl(190, 70%, 70%);
  --amplify-colors-teal-60: hsl(190, 50%, 50%);
  --amplify-colors-teal-80: hsl(190, 95%, 30%);
  --amplify-colors-teal-90: hsl(190, 100%, 20%);
  --amplify-colors-teal-100: hsl(190, 100%, 15%);
  --amplify-colors-blue-10: hsl(220, 95%, 95%);
  --amplify-colors-blue-20: hsl(220, 85%, 85%);
  --amplify-colors-blue-40: hsl(220, 70%, 70%);
  --amplify-colors-blue-60: hsl(220, 50%, 50%);
  --amplify-colors-blue-80: hsl(220, 95%, 30%);
  --amplify-colors-blue-90: hsl(220, 100%, 20%);
  --amplify-colors-blue-100: hsl(220, 100%, 15%);
  --amplify-colors-purple-10: hsl(300, 95%, 95%);
  --amplify-colors-purple-20: hsl(300, 85%, 85%);
  --amplify-colors-purple-40: hsl(300, 70%, 70%);
  --amplify-colors-purple-60: hsl(300, 50%, 50%);
  --amplify-colors-purple-80: hsl(300, 95%, 30%);
  --amplify-colors-purple-90: hsl(300, 100%, 20%);
  --amplify-colors-purple-100: hsl(300, 100%, 15%);
  --amplify-colors-pink-10: hsl(340, 95%, 95%);
  --amplify-colors-pink-20: hsl(340, 90%, 85%);
  --amplify-colors-pink-40: hsl(340, 70%, 70%);
  --amplify-colors-pink-60: hsl(340, 50%, 50%);
  --amplify-colors-pink-80: hsl(340, 95%, 30%);
  --amplify-colors-pink-90: hsl(340, 100%, 20%);
  --amplify-colors-pink-100: hsl(340, 100%, 15%);
  --amplify-colors-neutral-10: hsl(210, 5%, 98%);
  --amplify-colors-neutral-20: hsl(210, 5%, 94%);
  --amplify-colors-neutral-40: hsl(210, 5%, 87%);
  --amplify-colors-neutral-60: hsl(210, 10%, 58%);
  --amplify-colors-neutral-80: hsl(210, 10%, 40%);
  --amplify-colors-neutral-90: hsl(210, 25%, 25%);
  --amplify-colors-neutral-100: hsl(210, 50%, 10%);
  --amplify-colors-primary-10: var(--amplify-colors-teal-10);
  --amplify-colors-primary-20: var(--amplify-colors-teal-20);
  --amplify-colors-primary-40: var(--amplify-colors-teal-40);
  --amplify-colors-primary-60: var(--amplify-colors-teal-60);
  --amplify-colors-primary-80: var(--amplify-colors-teal-80);
  --amplify-colors-primary-90: var(--amplify-colors-teal-90);
  --amplify-colors-primary-100: var(--amplify-colors-teal-100);
  --amplify-colors-secondary-10: var(--amplify-colors-purple-10);
  --amplify-colors-secondary-20: var(--amplify-colors-purple-20);
  --amplify-colors-secondary-40: var(--amplify-colors-purple-40);
  --amplify-colors-secondary-60: var(--amplify-colors-purple-60);
  --amplify-colors-secondary-80: var(--amplify-colors-purple-80);
  --amplify-colors-secondary-90: var(--amplify-colors-purple-90);
  --amplify-colors-secondary-100: var(--amplify-colors-purple-100);
  --amplify-colors-font-primary: var(--amplify-colors-neutral-100);
  --amplify-colors-font-secondary: var(--amplify-colors-neutral-90);
  --amplify-colors-font-tertiary: var(--amplify-colors-neutral-80);
  --amplify-colors-font-disabled: var(--amplify-colors-neutral-60);
  --amplify-colors-font-inverse: var(--amplify-colors-white);
  --amplify-colors-font-interactive: var(--amplify-colors-primary-80);
  --amplify-colors-font-hover: var(--amplify-colors-primary-90);
  --amplify-colors-font-focus: var(--amplify-colors-primary-100);
  --amplify-colors-font-active: var(--amplify-colors-primary-100);
  --amplify-colors-font-info: var(--amplify-colors-blue-90);
  --amplify-colors-font-warning: var(--amplify-colors-orange-90);
  --amplify-colors-font-error: var(--amplify-colors-red-90);
  --amplify-colors-font-success: var(--amplify-colors-green-90);
  --amplify-colors-background-primary: var(--amplify-colors-white);
  --amplify-colors-background-secondary: var(--amplify-colors-neutral-10);
  --amplify-colors-background-tertiary: var(--amplify-colors-neutral-20);
  --amplify-colors-background-quaternary: var(--amplify-colors-neutral-60);
  --amplify-colors-background-disabled: var(--amplify-colors-background-tertiary);
  --amplify-colors-background-info: var(--amplify-colors-blue-10);
  --amplify-colors-background-warning: var(--amplify-colors-orange-10);
  --amplify-colors-background-error: var(--amplify-colors-red-10);
  --amplify-colors-background-success: var(--amplify-colors-green-10);
  --amplify-colors-border-primary: var(--amplify-colors-neutral-60);
  --amplify-colors-border-secondary: var(--amplify-colors-neutral-40);
  --amplify-colors-border-tertiary: var(--amplify-colors-neutral-20);
  --amplify-colors-border-disabled: var(--amplify-colors-border-tertiary);
  --amplify-colors-border-pressed: var(--amplify-colors-primary-100);
  --amplify-colors-border-focus: var(--amplify-colors-primary-100);
  --amplify-colors-border-error: var(--amplify-colors-red-80);
  --amplify-colors-border-info: var(--amplify-colors-blue-80);
  --amplify-colors-border-success: var(--amplify-colors-green-80);
  --amplify-colors-border-warning: var(--amplify-colors-orange-80);
  --amplify-colors-shadow-primary: hsla(210, 50%, 10%, 0.25);
  --amplify-colors-shadow-secondary: hsla(210, 50%, 10%, 0.15);
  --amplify-colors-shadow-tertiary: hsla(210, 50%, 10%, 0.05);
  --amplify-colors-overlay-5: hsla(0, 0%, 0%, 0.05);
  --amplify-colors-overlay-10: hsla(0, 0%, 0%, 0.1);
  --amplify-colors-overlay-20: hsla(0, 0%, 0%, 0.2);
  --amplify-colors-overlay-30: hsla(0, 0%, 0%, 0.3);
  --amplify-colors-overlay-40: hsla(0, 0%, 0%, 0.4);
  --amplify-colors-overlay-50: hsla(0, 0%, 0%, 0.5);
  --amplify-colors-overlay-60: hsla(0, 0%, 0%, 0.6);
  --amplify-colors-overlay-70: hsla(0, 0%, 0%, 0.7);
  --amplify-colors-overlay-80: hsla(0, 0%, 0%, 0.8);
  --amplify-colors-overlay-90: hsla(0, 0%, 0%, 0.9);
  --amplify-colors-black: hsl(0, 0%, 0%);
  --amplify-colors-white: hsl(0, 0%, 100%);
  --amplify-colors-transparent: transparent;
  --amplify-fonts-default-variable: "InterVariable", "Inter var", "Inter", -apple-system, BlinkMacSystemFont,
          "Helvetica Neue", "Segoe UI", Oxygen, Ubuntu, Cantarell, "Open Sans",
          sans-serif;
  --amplify-fonts-default-static: "Inter", -apple-system, BlinkMacSystemFont, "Helvetica Neue",
          "Segoe UI", Oxygen, Ubuntu, Cantarell, "Open Sans", sans-serif;
  --amplify-font-sizes-xxxs: 0.375rem;
  --amplify-font-sizes-xxs: 0.5rem;
  --amplify-font-sizes-xs: 0.75rem;
  --amplify-font-sizes-small: 0.875rem;
  --amplify-font-sizes-medium: 1rem;
  --amplify-font-sizes-large: 1.25rem;
  --amplify-font-sizes-xl: 1.5rem;
  --amplify-font-sizes-xxl: 2rem;
  --amplify-font-sizes-xxxl: 2.5rem;
  --amplify-font-sizes-xxxxl: 3rem;
  --amplify-font-weights-hairline: 100;
  --amplify-font-weights-thin: 200;
  --amplify-font-weights-light: 300;
  --amplify-font-weights-normal: 400;
  --amplify-font-weights-medium: 500;
  --amplify-font-weights-semibold: 600;
  --amplify-font-weights-bold: 700;
  --amplify-font-weights-extrabold: 800;
  --amplify-font-weights-black: 900;
  --amplify-line-heights-small: 1.25;
  --amplify-line-heights-medium: 1.5;
  --amplify-line-heights-large: 2;
  --amplify-opacities-0: 0;
  --amplify-opacities-10: 0.1;
  --amplify-opacities-20: 0.2;
  --amplify-opacities-30: 0.3;
  --amplify-opacities-40: 0.4;
  --amplify-opacities-50: 0.5;
  --amplify-opacities-60: 0.6;
  --amplify-opacities-70: 0.7;
  --amplify-opacities-80: 0.8;
  --amplify-opacities-90: 0.9;
  --amplify-opacities-100: 1;
  --amplify-outline-offsets-small: 1px;
  --amplify-outline-offsets-medium: 2px;
  --amplify-outline-offsets-large: 3px;
  --amplify-outline-widths-small: 1px;
  --amplify-outline-widths-medium: 2px;
  --amplify-outline-widths-large: 3px;
  --amplify-radii-xs: 0.125rem;
  --amplify-radii-small: 0.25rem;
  --amplify-radii-medium: 0.5rem;
  --amplify-radii-large: 1rem;
  --amplify-radii-xl: 2rem;
  --amplify-radii-xxl: 4rem;
  --amplify-radii-xxxl: 8rem;
  --amplify-shadows-small: 0px 2px 4px var(--amplify-colors-shadow-tertiary);
  --amplify-shadows-medium: 0px 2px 6px var(--amplify-colors-shadow-secondary);
  --amplify-shadows-large: 0px 4px 12px var(--amplify-colors-shadow-primary);
  --amplify-space-zero: 0;
  --amplify-space-xxxs: 0.25rem;
  --amplify-space-xxs: 0.375rem;
  --amplify-space-xs: 0.5rem;
  --amplify-space-small: 0.75rem;
  --amplify-space-medium: 1rem;
  --amplify-space-large: 1.5rem;
  --amplify-space-xl: 2.0rem;
  --amplify-space-xxl: 3.0rem;
  --amplify-space-xxxl: 4.5rem;
  --amplify-space-relative-xxxs: 0.25em;
  --amplify-space-relative-xxs: 0.375em;
  --amplify-space-relative-xs: 0.5em;
  --amplify-space-relative-small: 0.75em;
  --amplify-space-relative-medium: 1em;
  --amplify-space-relative-large: 1.5em;
  --amplify-space-relative-xl: 2.0em;
  --amplify-space-relative-xxl: 3.0em;
  --amplify-space-relative-xxxl: 4.5em;
  --amplify-space-relative-full: 100%;
  --amplify-time-short: 100ms;
  --amplify-time-medium: 250ms;
  --amplify-time-long: 500ms;
  --amplify-transforms-slide-x-small: translateX(0.5em);
  --amplify-transforms-slide-x-medium: translateX(1em);
  --amplify-transforms-slide-x-large: translateX(2em);
}

html,
[data-amplify-theme] {
  font-family: var(--amplify-fonts-default-static);
}

@supports (font-variation-settings: normal) {
  html,
  [data-amplify-theme] {
    font-family: var(--amplify-fonts-default-variable);
  }
}
html:focus-within {
  scroll-behavior: smooth;
}

body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: var(--amplify-line-heights-medium);
}

* {
  box-sizing: border-box;
}

input,
button,
textarea,
select {
  font: inherit;
}

@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }
}
[class*=amplify] {
  all: unset; /* protect against external styles */
  box-sizing: border-box; /* set box-sizing after unset above */
}

.amplify-flex {
  align-content: var(--amplify-components-flex-align-content);
  align-items: var(--amplify-components-flex-align-items);
  display: flex;
  flex-wrap: var(--amplify-components-flex-flex-wrap);
  gap: var(--amplify-components-flex-gap);
  justify-content: var(--amplify-components-flex-justify-content);
}

.amplify-grid {
  display: grid;
}

.amplify-scrollview {
  display: block;
  overflow: auto;
}

.amplify-text {
  display: block;
  color: var(--amplify-components-text-color);
}
b.amplify-text,
em.amplify-text,
i.amplify-text,
span.amplify-text,
strong.amplify-text {
  display: inline;
}

.amplify-text--truncated {
  display: inline-block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.amplify-text--primary {
  color: var(--amplify-components-text-primary-color);
}
.amplify-text--secondary {
  color: var(--amplify-components-text-secondary-color);
}
.amplify-text--tertiary {
  color: var(--amplify-components-text-tertiary-color);
}
.amplify-text--error {
  color: var(--amplify-components-text-error-color);
}
.amplify-text--info {
  color: var(--amplify-components-text-info-color);
}
.amplify-text--success {
  color: var(--amplify-components-text-success-color);
}
.amplify-text--warning {
  color: var(--amplify-components-text-warning-color);
}

.amplify-badge {
  background-color: var(--amplify-components-badge-background-color);
  border-radius: var(--amplify-components-badge-border-radius);
  color: var(--amplify-components-badge-color);
  display: inline-flex;
  font-size: var(--amplify-components-badge-font-size);
  font-weight: var(--amplify-components-badge-font-weight);
  line-height: var(--amplify-components-badge-line-height);
  padding: var(--amplify-components-badge-padding-vertical) var(--amplify-components-badge-padding-horizontal);
  text-align: var(--amplify-components-badge-text-align);
}
.amplify-badge--info {
  color: var(--amplify-components-badge-info-color);
  background-color: var(--amplify-components-badge-info-background-color);
}
.amplify-badge--error {
  color: var(--amplify-components-badge-error-color);
  background-color: var(--amplify-components-badge-error-background-color);
}
.amplify-badge--warning {
  color: var(--amplify-components-badge-warning-color);
  background-color: var(--amplify-components-badge-warning-background-color);
}
.amplify-badge--success {
  color: var(--amplify-components-badge-success-color);
  background-color: var(--amplify-components-badge-success-background-color);
}
.amplify-badge--small {
  font-size: var(--amplify-components-badge-small-font-size);
  padding: var(--amplify-components-badge-small-padding-vertical) var(--amplify-components-badge-small-padding-horizontal);
}
.amplify-badge--large {
  font-size: var(--amplify-components-badge-large-font-size);
  padding: var(--amplify-components-badge-large-padding-vertical) var(--amplify-components-badge-large-padding-horizontal);
}

/*
 * Button base styles
 */
.amplify-button {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-border-color
  );
  --amplify-internal-button-color: var(--amplify-components-button-color);
  --amplify-internal-button-focus-box-shadow: var(
    --amplify-components-button-focus-box-shadow
  );
  --amplify-internal-button-border-width: var(
    --amplify-components-button-border-width
  );
  align-items: center;
  background-color: var(--amplify-internal-button-background-color);
  border-color: var(--amplify-internal-button-border-color);
  border-radius: var(--amplify-components-button-border-radius);
  border-style: var(--amplify-components-button-border-style);
  border-width: var(--amplify-internal-button-border-width);
  box-sizing: border-box;
  color: var(--amplify-internal-button-color);
  cursor: pointer;
  display: inline-flex;
  font-size: var(--amplify-components-button-font-size);
  font-weight: var(--amplify-components-button-font-weight);
  justify-content: center;
  line-height: var(--amplify-components-button-line-height);
  padding-block-start: var(--amplify-components-button-padding-block-start);
  padding-block-end: var(--amplify-components-button-padding-block-end);
  padding-inline-start: var(--amplify-components-button-padding-inline-start);
  padding-inline-end: var(--amplify-components-button-padding-inline-end);
  transition: all var(--amplify-components-button-transition-duration);
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  --amplify-internal-button-disabled-color: var(
    --amplify-components-button-disabled-color
  );
  --amplify-internal-button-disabled-background-color: var(
    --amplify-components-button-disabled-background-color
  );
  --amplify-internal-button-disabled-border-color: var(
    --amplify-components-button-disabled-border-color
  );
  --amplify-internal-button-disabled-text-decoration: initial;
  --amplify-internal-button-loading-background-color: var(
    --amplify-components-button-loading-background-color
  );
  --amplify-internal-button-loading-border-color: var(
    --amplify-components-button-loading-border-color
  );
  --amplify-internal-button-loading-color: var(
    --amplify-components-button-loading-color
  );
  --amplify-internal-button-loading-text-decoration: initial;
}
.amplify-button:hover {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-hover-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-hover-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-hover-color
  );
}
.amplify-button:focus {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-hover-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-focus-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-focus-color
  );
  box-shadow: var(--amplify-internal-button-focus-box-shadow);
}
.amplify-button:active {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-active-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-active-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-active-color
  );
}
.amplify-button--fullwidth {
  width: 100%;
}
.amplify-button--outlined--info {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-outlined-info-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-outlined-info-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-outlined-info-color
  );
}
.amplify-button--outlined--info:hover {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-outlined-info-hover-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-outlined-info-hover-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-outlined-info-hover-color
  );
}
.amplify-button--outlined--info:focus {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-outlined-info-focus-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-outlined-info-focus-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-outlined-info-focus-color
  );
  --amplify-internal-button-focus-box-shadow: var(
    --amplify-components-button-outlined-info-focus-box-shadow
  );
}
.amplify-button--outlined--info:active {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-outlined-info-active-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-outlined-info-active-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-outlined-info-active-color
  );
}
.amplify-button--outlined--warning {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-outlined-warning-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-outlined-warning-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-outlined-warning-color
  );
}
.amplify-button--outlined--warning:hover {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-outlined-warning-hover-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-outlined-warning-hover-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-outlined-warning-hover-color
  );
}
.amplify-button--outlined--warning:focus {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-outlined-warning-focus-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-outlined-warning-focus-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-outlined-warning-focus-color
  );
  --amplify-internal-button-focus-box-shadow: var(
    --amplify-components-button-outlined-warning-focus-box-shadow
  );
}
.amplify-button--outlined--warning:active {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-outlined-warning-active-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-outlined-warning-active-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-outlined-warning-active-color
  );
}
.amplify-button--outlined--error {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-outlined-error-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-outlined-error-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-outlined-error-color
  );
}
.amplify-button--outlined--error:hover {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-outlined-error-hover-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-outlined-error-hover-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-outlined-error-hover-color
  );
}
.amplify-button--outlined--error:focus {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-outlined-error-focus-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-outlined-error-focus-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-outlined-error-focus-color
  );
  --amplify-internal-button-focus-box-shadow: var(
    --amplify-components-button-outlined-error-focus-box-shadow
  );
}
.amplify-button--outlined--error:active {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-outlined-error-active-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-outlined-error-active-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-outlined-error-active-color
  );
}
.amplify-button--outlined--success {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-outlined-success-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-outlined-success-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-outlined-success-color
  );
}
.amplify-button--outlined--success:hover {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-outlined-success-hover-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-outlined-success-hover-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-outlined-success-hover-color
  );
}
.amplify-button--outlined--success:focus {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-outlined-success-focus-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-outlined-success-focus-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-outlined-success-focus-color
  );
  --amplify-internal-button-focus-box-shadow: var(
    --amplify-components-button-outlined-success-focus-box-shadow
  );
}
.amplify-button--outlined--success:active {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-outlined-success-active-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-outlined-success-active-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-outlined-success-active-color
  );
}
.amplify-button--outlined--overlay {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-outlined-overlay-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-outlined-overlay-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-outlined-overlay-color
  );
}
.amplify-button--outlined--overlay:hover {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-outlined-overlay-hover-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-outlined-overlay-hover-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-outlined-overlay-hover-color
  );
}
.amplify-button--outlined--overlay:focus {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-outlined-overlay-focus-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-outlined-overlay-focus-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-outlined-overlay-focus-color
  );
  --amplify-internal-button-focus-box-shadow: var(
    --amplify-components-button-outlined-overlay-focus-box-shadow
  );
}
.amplify-button--outlined--overlay:active {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-outlined-overlay-active-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-outlined-overlay-active-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-outlined-overlay-active-color
  );
}
.amplify-button--menu {
  border-width: var(--amplify-components-button-menu-border-width);
  background-color: var(--amplify-components-button-menu-background-color);
  justify-content: var(--amplify-components-button-menu-justify-content);
  --amplify-internal-button-disabled-color: var(
    --amplify-components-button-menu-disabled-color
  );
}
.amplify-button--menu:hover {
  color: var(--amplify-components-button-menu-hover-color);
  background-color: var(--amplify-components-button-menu-hover-background-color);
}
.amplify-button--menu:focus {
  box-shadow: none;
  color: var(--amplify-components-button-menu-focus-color);
  background-color: var(--amplify-components-button-menu-focus-background-color);
}
.amplify-button--menu:active {
  color: var(--amplify-components-button-menu-active-color);
  background-color: var(--amplify-components-button-menu-active-background-color);
}
.amplify-button--primary {
  --amplify-internal-button-border-width: var(
    --amplify-components-button-primary-border-width
  );
  --amplify-internal-button-background-color: var(
    --amplify-components-button-primary-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-primary-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-primary-color
  );
  --amplify-internal-button-disabled-border-color: var(
    --amplify-components-button-primary-disabled-border-color
  );
  --amplify-internal-button-disabled-background-color: var(
    --amplify-components-button-primary-disabled-background-color
  );
  --amplify-internal-button-disabled-color: var(
    --amplify-components-button-primary-disabled-color
  );
  --amplify-internal-button-loading-background-color: var(
    --amplify-components-button-primary-loading-background-color
  );
  --amplify-internal-button-loading-border-color: var(
    --amplify-components-button-primary-loading-border-color
  );
  --amplify-internal-button-loading-color: var(
    --amplify-components-button-primary-loading-color
  );
}
.amplify-button--primary:hover {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-primary-hover-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-primary-hover-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-primary-hover-color
  );
}
.amplify-button--primary:focus {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-primary-focus-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-primary-focus-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-primary-focus-color
  );
  --amplify-internal-button-focus-box-shadow: var(
    --amplify-components-button-primary-focus-box-shadow
  );
}
.amplify-button--primary:active {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-primary-active-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-primary-active-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-primary-active-color
  );
}
.amplify-button--primary--info {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-primary-info-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-primary-info-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-primary-info-color
  );
}
.amplify-button--primary--info:hover {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-primary-info-hover-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-primary-info-hover-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-primary-info-hover-color
  );
}
.amplify-button--primary--info:focus {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-primary-info-focus-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-primary-info-focus-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-primary-info-focus-color
  );
  --amplify-internal-button-focus-box-shadow: var(
    --amplify-components-button-primary-info-focus-box-shadow
  );
}
.amplify-button--primary--info:active {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-primary-info-active-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-primary-info-active-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-primary-info-active-color
  );
}
.amplify-button--primary--warning {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-primary-warning-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-primary-warning-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-primary-warning-color
  );
}
.amplify-button--primary--warning:hover {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-primary-warning-hover-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-primary-warning-hover-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-primary-warning-hover-color
  );
}
.amplify-button--primary--warning:focus {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-primary-warning-focus-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-primary-warning-focus-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-primary-warning-focus-color
  );
  --amplify-internal-button-focus-box-shadow: var(
    --amplify-components-button-primary-warning-focus-box-shadow
  );
}
.amplify-button--primary--warning:active {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-primary-warning-active-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-primary-warning-active-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-primary-warning-active-color
  );
}
.amplify-button--primary--error {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-primary-error-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-primary-error-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-primary-error-color
  );
}
.amplify-button--primary--error:hover {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-primary-error-hover-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-primary-error-hover-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-primary-error-hover-color
  );
}
.amplify-button--primary--error:focus {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-primary-error-focus-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-primary-error-focus-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-primary-error-focus-color
  );
  --amplify-internal-button-focus-box-shadow: var(
    --amplify-components-button-primary-error-focus-box-shadow
  );
}
.amplify-button--primary--error:active {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-primary-error-active-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-primary-error-active-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-primary-error-active-color
  );
}
.amplify-button--primary--success {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-primary-success-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-primary-success-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-primary-success-color
  );
}
.amplify-button--primary--success:hover {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-primary-success-hover-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-primary-success-hover-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-primary-success-hover-color
  );
}
.amplify-button--primary--success:focus {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-primary-success-focus-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-primary-success-focus-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-primary-success-focus-color
  );
  --amplify-internal-button-focus-box-shadow: var(
    --amplify-components-button-primary-success-focus-box-shadow
  );
}
.amplify-button--primary--success:active {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-primary-success-active-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-primary-success-active-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-primary-success-active-color
  );
}
.amplify-button--primary--overlay {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-primary-overlay-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-primary-overlay-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-primary-overlay-color
  );
}
.amplify-button--primary--overlay:hover {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-primary-overlay-hover-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-primary-overlay-hover-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-primary-overlay-hover-color
  );
}
.amplify-button--primary--overlay:focus {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-primary-overlay-focus-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-primary-overlay-focus-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-primary-overlay-focus-color
  );
  --amplify-internal-button-focus-box-shadow: var(
    --amplify-components-button-primary-overlay-focus-box-shadow
  );
}
.amplify-button--primary--overlay:active {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-primary-overlay-active-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-primary-overlay-active-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-primary-overlay-active-color
  );
}
.amplify-button--link {
  --amplify-internal-button-border-width: var(
    --amplify-components-button-link-border-width
  );
  --amplify-internal-button-background-color: var(
    --amplify-components-button-link-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-link-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-link-color
  );
  --amplify-internal-button-disabled-border-color: var(
    --amplify-components-button-link-disabled-border-color
  );
  --amplify-internal-button-disabled-background-color: var(
    --amplify-components-button-link-disabled-background-color
  );
  --amplify-internal-button-disabled-color: var(
    --amplify-components-button-link-disabled-color
  );
  --amplify-internal-button-loading-background-color: var(
    --amplify-components-button-link-loading-background-color
  );
  --amplify-internal-button-loading-border-color: var(
    --amplify-components-button-link-loading-border-color
  );
  --amplify-internal-button-loading-color: var(
    --amplify-components-button-link-loading-color
  );
}
.amplify-button--link:hover {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-link-hover-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-link-hover-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-link-hover-color
  );
}
.amplify-button--link:focus {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-link-focus-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-link-focus-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-link-focus-color
  );
  --amplify-internal-button-focus-box-shadow: var(
    --amplify-components-button-link-focus-box-shadow
  );
}
.amplify-button--link:active {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-link-active-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-link-active-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-link-active-color
  );
}
.amplify-button--link--info {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-link-info-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-link-info-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-link-info-color
  );
}
.amplify-button--link--info:hover {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-link-info-hover-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-link-info-hover-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-link-info-hover-color
  );
}
.amplify-button--link--info:focus {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-link-info-focus-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-link-info-focus-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-link-info-focus-color
  );
  --amplify-internal-button-focus-box-shadow: var(
    --amplify-components-button-link-info-focus-box-shadow
  );
}
.amplify-button--link--info:active {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-link-info-active-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-link-info-active-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-link-info-active-color
  );
}
.amplify-button--link--warning {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-link-warning-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-link-warning-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-link-warning-color
  );
}
.amplify-button--link--warning:hover {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-link-warning-hover-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-link-warning-hover-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-link-warning-hover-color
  );
}
.amplify-button--link--warning:focus {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-link-warning-focus-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-link-warning-focus-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-link-warning-focus-color
  );
  --amplify-internal-button-focus-box-shadow: var(
    --amplify-components-button-link-warning-focus-box-shadow
  );
}
.amplify-button--link--warning:active {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-link-warning-active-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-link-warning-active-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-link-warning-active-color
  );
}
.amplify-button--link--error {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-link-error-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-link-error-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-link-error-color
  );
}
.amplify-button--link--error:hover {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-link-error-hover-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-link-error-hover-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-link-error-hover-color
  );
}
.amplify-button--link--error:focus {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-link-error-focus-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-link-error-focus-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-link-error-focus-color
  );
  --amplify-internal-button-focus-box-shadow: var(
    --amplify-components-button-link-error-focus-box-shadow
  );
}
.amplify-button--link--error:active {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-link-error-active-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-link-error-active-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-link-error-active-color
  );
}
.amplify-button--link--success {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-link-success-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-link-success-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-link-success-color
  );
}
.amplify-button--link--success:hover {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-link-success-hover-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-link-success-hover-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-link-success-hover-color
  );
}
.amplify-button--link--success:focus {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-link-success-focus-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-link-success-focus-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-link-success-focus-color
  );
  --amplify-internal-button-focus-box-shadow: var(
    --amplify-components-button-link-success-focus-box-shadow
  );
}
.amplify-button--link--success:active {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-link-success-active-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-link-success-active-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-link-success-active-color
  );
}
.amplify-button--link--overlay {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-link-overlay-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-link-overlay-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-link-overlay-color
  );
}
.amplify-button--link--overlay:hover {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-link-overlay-hover-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-link-overlay-hover-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-link-overlay-hover-color
  );
}
.amplify-button--link--overlay:focus {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-link-overlay-focus-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-link-overlay-focus-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-link-overlay-focus-color
  );
  --amplify-internal-button-focus-box-shadow: var(
    --amplify-components-button-link-overlay-focus-box-shadow
  );
}
.amplify-button--link--overlay:active {
  --amplify-internal-button-background-color: var(
    --amplify-components-button-link-overlay-active-background-color
  );
  --amplify-internal-button-border-color: var(
    --amplify-components-button-link-overlay-active-border-color
  );
  --amplify-internal-button-color: var(
    --amplify-components-button-link-overlay-active-color
  );
}
.amplify-button--destructive {
  border-width: var(--amplify-components-button-destructive-border-width);
  background-color: var(--amplify-components-button-destructive-background-color);
  border-color: var(--amplify-components-button-destructive-border-color);
  color: var(--amplify-components-button-destructive-color);
  --amplify-internal-button-disabled-border-color: var(
    --amplify-components-button-destructive-disabled-border-color
  );
  --amplify-internal-button-disabled-background-color: var(
    --amplify-components-button-destructive-disabled-background-color
  );
  --amplify-internal-button-disabled-color: var(
    --amplify-components-button-destructive-disabled-color
  );
  --amplify-internal-button-loading-background-color: var(
    --amplify-components-button-destructive-loading-background-color
  );
  --amplify-internal-button-loading-border-color: var(
    --amplify-components-button-destructive-loading-border-color
  );
  --amplify-internal-button-loading-color: var(
    --amplify-components-button-destructive-loading-color
  );
}
.amplify-button--destructive:hover {
  background-color: var(--amplify-components-button-destructive-hover-background-color);
  border-color: var(--amplify-components-button-destructive-hover-border-color);
  color: var(--amplify-components-button-destructive-hover-color);
}
.amplify-button--destructive:focus {
  background-color: var(--amplify-components-button-destructive-focus-background-color);
  border-color: var(--amplify-components-button-destructive-focus-border-color);
  color: var(--amplify-components-button-destructive-focus-color);
  box-shadow: var(--amplify-components-button-destructive-focus-box-shadow);
}
.amplify-button--destructive:active {
  background-color: var(--amplify-components-button-destructive-active-background-color);
  border-color: var(--amplify-components-button-destructive-active-border-color);
  color: var(--amplify-components-button-destructive-active-color);
}
.amplify-button--warning {
  background-color: var(--amplify-components-button-warning-background-color);
  border-color: var(--amplify-components-button-warning-border-color);
  border-width: var(--amplify-components-button-warning-border-width);
  color: var(--amplify-components-button-warning-color);
  --amplify-internal-button-disabled-text-decoration: none;
  --amplify-internal-button-disabled-border-color: var(
    --amplify-components-button-warning-disabled-border-color
  );
  --amplify-internal-button-disabled-background-color: var(
    --amplify-components-button-warning-disabled-background-color
  );
  --amplify-internal-button-disabled-color: var(
    --amplify-components-button-warning-disabled-color
  );
  --amplify-internal-button-loading-background-color: var(
    --amplify-components-button-warning-loading-background-color
  );
  --amplify-internal-button-loading-border-color: var(
    --amplify-components-button-warning-loading-border-color
  );
  --amplify-internal-button-loading-color: var(
    --amplify-components-button-warning-loading-color
  );
  --amplify-internal-button-loading-text-decoration: none;
}
.amplify-button--warning:hover {
  background-color: var(--amplify-components-button-warning-hover-background-color);
  border-color: var(--amplify-components-button-warning-hover-border-color);
  color: var(--amplify-components-button-warning-hover-color);
}
.amplify-button--warning:focus {
  background-color: var(--amplify-components-button-warning-focus-background-color);
  border-color: var(--amplify-components-button-warning-focus-border-color);
  color: var(--amplify-components-button-warning-focus-color);
  box-shadow: var(--amplify-components-button-warning-focus-box-shadow);
}
.amplify-button--warning:active {
  background-color: var(--amplify-components-button-warning-active-background-color);
  border-color: var(--amplify-components-button-warning-active-border-color);
  color: var(--amplify-components-button-warning-active-color);
}
.amplify-button--small {
  font-size: var(--amplify-components-button-small-font-size);
  padding-block-start: var(--amplify-components-button-small-padding-block-start);
  padding-block-end: var(--amplify-components-button-small-padding-block-end);
  padding-inline-start: var(--amplify-components-button-small-padding-inline-start);
  padding-inline-end: var(--amplify-components-button-small-padding-inline-end);
}
.amplify-button--large {
  font-size: var(--amplify-components-button-large-font-size);
  padding-block-start: var(--amplify-components-button-large-padding-block-start);
  padding-block-end: var(--amplify-components-button-large-padding-block-end);
  padding-inline-start: var(--amplify-components-button-large-padding-inline-start);
  padding-inline-end: var(--amplify-components-button-large-padding-inline-end);
}
.amplify-button--disabled {
  background-color: var(--amplify-internal-button-disabled-background-color);
  border-color: var(--amplify-internal-button-disabled-border-color);
  color: var(--amplify-internal-button-disabled-color);
  -webkit-text-decoration: var(--amplify-internal-button-disabled-text-decoration);
          text-decoration: var(--amplify-internal-button-disabled-text-decoration);
  cursor: not-allowed;
}
.amplify-button--disabled:hover {
  background-color: var(--amplify-internal-button-disabled-background-color);
  border-color: var(--amplify-internal-button-disabled-border-color);
  color: var(--amplify-internal-button-disabled-color);
  -webkit-text-decoration: var(--amplify-internal-button-disabled-text-decoration);
          text-decoration: var(--amplify-internal-button-disabled-text-decoration);
}
.amplify-button--disabled :focus {
  background-color: var(--amplify-internal-button-disabled-background-color);
  border-color: var(--amplify-internal-button-disabled-border-color);
  color: var(--amplify-internal-button-disabled-color);
  -webkit-text-decoration: var(--amplify-internal-button-disabled-text-decoration);
          text-decoration: var(--amplify-internal-button-disabled-text-decoration);
}
.amplify-button--disabled:active {
  background-color: var(--amplify-internal-button-disabled-background-color);
  border-color: var(--amplify-internal-button-disabled-border-color);
  color: var(--amplify-internal-button-disabled-color);
  -webkit-text-decoration: var(--amplify-internal-button-disabled-text-decoration);
          text-decoration: var(--amplify-internal-button-disabled-text-decoration);
}
.amplify-button--loading {
  background-color: var(--amplify-internal-button-loading-background-color);
  border-color: var(--amplify-internal-button-loading-border-color);
  color: var(--amplify-components-button-loading-color);
  -webkit-text-decoration: var(--amplify-internal-button-loading-text-decoration);
          text-decoration: var(--amplify-internal-button-loading-text-decoration);
}
.amplify-button--loading:hover {
  background-color: var(--amplify-internal-button-loading-background-color);
  border-color: var(--amplify-internal-button-loading-border-color);
  color: var(--amplify-components-button-loading-color);
  -webkit-text-decoration: var(--amplify-internal-button-loading-text-decoration);
          text-decoration: var(--amplify-internal-button-loading-text-decoration);
}
.amplify-button--loading:focus {
  background-color: var(--amplify-internal-button-loading-background-color);
  border-color: var(--amplify-internal-button-loading-border-color);
  color: var(--amplify-components-button-loading-color);
  -webkit-text-decoration: var(--amplify-internal-button-loading-text-decoration);
          text-decoration: var(--amplify-internal-button-loading-text-decoration);
}
.amplify-button--loading:active {
  background-color: var(--amplify-internal-button-loading-background-color);
  border-color: var(--amplify-internal-button-loading-border-color);
  color: var(--amplify-components-button-loading-color);
  -webkit-text-decoration: var(--amplify-internal-button-loading-text-decoration);
          text-decoration: var(--amplify-internal-button-loading-text-decoration);
}
.amplify-button__loader-wrapper {
  align-items: var(--amplify-components-button-loader-wrapper-align-items);
  gap: var(--amplify-components-button-loader-wrapper-gap);
}

@media (prefers-reduced-motion: reduce) {
  .amplify-button {
    transition: none;
  }
}
.amplify-dropzone {
  display: block;
  background-color: var(--amplify-components-dropzone-background-color);
  border-color: var(--amplify-components-dropzone-border-color);
  border-width: var(--amplify-components-dropzone-border-width);
  border-style: var(--amplify-components-dropzone-border-style);
  border-radius: var(--amplify-components-dropzone-border-radius);
  color: var(--amplify-components-dropzone-color);
  padding-block: var(--amplify-components-dropzone-padding-block);
  padding-inline: var(--amplify-components-dropzone-padding-inline);
  text-align: var(--amplify-components-dropzone-text-align);
}
.amplify-dropzone--disabled {
  cursor: not-allowed;
  background-color: var(--amplify-components-dropzone-disabled-background-color);
  border-color: var(--amplify-components-dropzone-disabled-border-color);
  border-width: var(--amplify-components-dropzone-disabled-border-width);
  border-style: var(--amplify-components-dropzone-disabled-border-style);
  border-radius: var(--amplify-components-dropzone-disabled-border-radius);
  color: var(--amplify-components-dropzone-disabled-color);
}
.amplify-dropzone--active {
  background-color: var(--amplify-components-dropzone-active-background-color);
  border-color: var(--amplify-components-dropzone-active-border-color);
  border-width: var(--amplify-components-dropzone-active-border-width);
  border-style: var(--amplify-components-dropzone-active-border-style);
  border-radius: var(--amplify-components-dropzone-active-border-radius);
  color: var(--amplify-components-dropzone-active-color);
}
.amplify-dropzone--rejected {
  background-color: var(--amplify-components-dropzone-rejected-background-color);
  border-color: var(--amplify-components-dropzone-rejected-border-color);
  border-width: var(--amplify-components-dropzone-rejected-border-width);
  border-style: var(--amplify-components-dropzone-rejected-border-style);
  border-radius: var(--amplify-components-dropzone-rejected-border-radius);
  color: var(--amplify-components-dropzone-rejected-color);
}
.amplify-dropzone--accepted {
  background-color: var(--amplify-components-dropzone-accepted-background-color);
  border-color: var(--amplify-components-dropzone-accepted-border-color);
  border-width: var(--amplify-components-dropzone-accepted-border-width);
  border-style: var(--amplify-components-dropzone-accepted-border-style);
  border-radius: var(--amplify-components-dropzone-accepted-border-radius);
  color: var(--amplify-components-dropzone-accepted-color);
}

.amplify-field__description {
  color: var(--amplify-components-fieldmessages-description-color);
  font-style: var(--amplify-components-fieldmessages-description-font-style);
  font-size: var(--amplify-components-fieldmessages-description-font-size);
}

.amplify-field__error-message {
  color: var(--amplify-components-fieldmessages-error-color);
  font-size: var(--amplify-components-fieldmessages-error-font-size);
}

.amplify-heading {
  color: var(--amplify-components-heading-color);
  line-height: var(--amplify-components-heading-line-height);
  display: block;
}
.amplify-heading--truncated {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.amplify-heading--1 {
  font-size: var(--amplify-components-heading-1-font-size);
  font-weight: var(--amplify-components-heading-1-font-weight);
}

.amplify-heading--2 {
  font-size: var(--amplify-components-heading-2-font-size);
  font-weight: var(--amplify-components-heading-2-font-weight);
}

.amplify-heading--3 {
  font-size: var(--amplify-components-heading-3-font-size);
  font-weight: var(--amplify-components-heading-3-font-weight);
}

.amplify-heading--4 {
  font-size: var(--amplify-components-heading-4-font-size);
  font-weight: var(--amplify-components-heading-4-font-weight);
}

.amplify-heading--5 {
  font-size: var(--amplify-components-heading-5-font-size);
  font-weight: var(--amplify-components-heading-5-font-weight);
}

.amplify-heading--6 {
  font-size: var(--amplify-components-heading-6-font-size);
  font-weight: var(--amplify-components-heading-6-font-weight);
}

/*
 * Icon base styles
 */
.amplify-icon {
  display: inline-block;
  vertical-align: middle;
  fill: currentColor;
  height: var(--amplify-components-icon-height);
  line-height: var(--amplify-components-icon-line-height);
}
.amplify-icon > svg {
  height: var(--amplify-components-icon-height);
  width: var(--amplify-components-icon-height);
}

.amplify-highlightmatch__highlighted {
  font-weight: var(--amplify-components-highlightmatch-highlighted-font-weight);
}

.amplify-input {
  box-sizing: border-box;
  color: var(--amplify-components-fieldcontrol-color);
  font-size: var(--amplify-components-fieldcontrol-font-size);
  line-height: var(--amplify-components-fieldcontrol-line-height);
  padding-block-start: var(--amplify-components-fieldcontrol-padding-block-start);
  padding-block-end: var(--amplify-components-fieldcontrol-padding-block-end);
  padding-inline-start: var(--amplify-components-fieldcontrol-padding-inline-start);
  padding-inline-end: var(--amplify-components-fieldcontrol-padding-inline-end);
  transition: all var(--amplify-components-fieldcontrol-transition-duration);
  width: 100%;
  border-color: var(--amplify-components-fieldcontrol-border-color);
  border-radius: var(--amplify-components-fieldcontrol-border-radius);
  border-style: var(--amplify-components-fieldcontrol-border-style);
  border-width: var(--amplify-components-fieldcontrol-border-width);
  outline-color: var(--amplify-components-fieldcontrol-outline-color);
  outline-style: var(--amplify-components-fieldcontrol-outline-style);
  outline-width: var(--amplify-components-fieldcontrol-outline-width);
  outline-offset: var(--amplify-components-fieldcontrol-outline-offset);
  -webkit-user-select: text;
     -moz-user-select: text;
          user-select: text;
  display: inline-block;
  --amplify-components-fieldcontrol-color: var(
    --amplify-components-input-color
  );
  --amplify-components-fieldcontrol-border-color: var(
    --amplify-components-input-border-color
  );
  --amplify-components-fieldcontrol-font-size: var(
    --amplify-components-input-font-size
  );
  --amplify-components-fieldcontrol-focus-border-color: var(
    --amplify-components-input-focus-border-color
  );
}
.amplify-input:focus {
  border-color: var(--amplify-components-fieldcontrol-focus-border-color);
  box-shadow: var(--amplify-components-fieldcontrol-focus-box-shadow);
}
.amplify-input--small {
  font-size: var(--amplify-components-fieldcontrol-small-font-size);
  padding-block-start: var(--amplify-components-fieldcontrol-small-padding-block-start);
  padding-block-end: var(--amplify-components-fieldcontrol-small-padding-block-end);
  padding-inline-start: var(--amplify-components-fieldcontrol-small-padding-inline-start);
  padding-inline-end: var(--amplify-components-fieldcontrol-small-padding-inline-end);
}
.amplify-input--large {
  font-size: var(--amplify-components-fieldcontrol-large-font-size);
  padding-block-start: var(--amplify-components-fieldcontrol-large-padding-block-start);
  padding-block-end: var(--amplify-components-fieldcontrol-large-padding-block-end);
  padding-inline-start: var(--amplify-components-fieldcontrol-large-padding-inline-start);
  padding-inline-end: var(--amplify-components-fieldcontrol-large-padding-inline-end);
}
.amplify-input--error {
  border-color: var(--amplify-components-fieldcontrol-error-border-color);
}
.amplify-input--error:focus {
  border-color: var(--amplify-components-fieldcontrol-error-border-color);
  box-shadow: var(--amplify-components-fieldcontrol-error-focus-box-shadow);
}
.amplify-input--quiet {
  border-block-start: var(--amplify-components-fieldcontrol-quiet-border-block-start);
  border-inline-start: var(--amplify-components-fieldcontrol-quiet-border-inline-start);
  border-inline-end: var(--amplify-components-fieldcontrol-quiet-border-inline-end);
  border-radius: var(--amplify-components-fieldcontrol-quiet-border-radius);
}
.amplify-input--quiet:focus {
  border-block-end-color: var(--amplify-components-fieldcontrol-quiet-focus-border-block-end-color);
  box-shadow: var(--amplify-components-fieldcontrol-quiet-focus-box-shadow);
}
.amplify-input--quiet[aria-invalid=true] {
  border-block-end-color: var(--amplify-components-fieldcontrol-quiet-error-border-block-end-color);
}
.amplify-input--quiet[aria-invalid=true]:focus {
  border-block-end-color: var(--amplify-components-fieldcontrol-quiet-error-focus-border-block-end-color);
  box-shadow: var(--amplify-components-fieldcontrol-quiet-error-focus-box-shadow);
}
.amplify-input[disabled] {
  color: var(--amplify-components-fieldcontrol-disabled-color);
  cursor: var(--amplify-components-fieldcontrol-disabled-cursor);
  border-color: var(--amplify-components-fieldcontrol-disabled-border-color);
  background-color: var(--amplify-components-fieldcontrol-disabled-background-color);
}

.amplify-textarea {
  box-sizing: border-box;
  color: var(--amplify-components-fieldcontrol-color);
  font-size: var(--amplify-components-fieldcontrol-font-size);
  line-height: var(--amplify-components-fieldcontrol-line-height);
  padding-block-start: var(--amplify-components-fieldcontrol-padding-block-start);
  padding-block-end: var(--amplify-components-fieldcontrol-padding-block-end);
  padding-inline-start: var(--amplify-components-fieldcontrol-padding-inline-start);
  padding-inline-end: var(--amplify-components-fieldcontrol-padding-inline-end);
  transition: all var(--amplify-components-fieldcontrol-transition-duration);
  width: 100%;
  border-color: var(--amplify-components-fieldcontrol-border-color);
  border-radius: var(--amplify-components-fieldcontrol-border-radius);
  border-style: var(--amplify-components-fieldcontrol-border-style);
  border-width: var(--amplify-components-fieldcontrol-border-width);
  outline-color: var(--amplify-components-fieldcontrol-outline-color);
  outline-style: var(--amplify-components-fieldcontrol-outline-style);
  outline-width: var(--amplify-components-fieldcontrol-outline-width);
  outline-offset: var(--amplify-components-fieldcontrol-outline-offset);
  -webkit-user-select: text;
     -moz-user-select: text;
          user-select: text;
  white-space: pre-wrap;
  max-height: 100%;
}
.amplify-textarea:focus {
  border-color: var(--amplify-components-fieldcontrol-focus-border-color);
  box-shadow: var(--amplify-components-fieldcontrol-focus-box-shadow);
}
.amplify-textarea--small {
  font-size: var(--amplify-components-fieldcontrol-small-font-size);
  padding-block-start: var(--amplify-components-fieldcontrol-small-padding-block-start);
  padding-block-end: var(--amplify-components-fieldcontrol-small-padding-block-end);
  padding-inline-start: var(--amplify-components-fieldcontrol-small-padding-inline-start);
  padding-inline-end: var(--amplify-components-fieldcontrol-small-padding-inline-end);
}
.amplify-textarea--large {
  font-size: var(--amplify-components-fieldcontrol-large-font-size);
  padding-block-start: var(--amplify-components-fieldcontrol-large-padding-block-start);
  padding-block-end: var(--amplify-components-fieldcontrol-large-padding-block-end);
  padding-inline-start: var(--amplify-components-fieldcontrol-large-padding-inline-start);
  padding-inline-end: var(--amplify-components-fieldcontrol-large-padding-inline-end);
}
.amplify-textarea--error {
  border-color: var(--amplify-components-fieldcontrol-error-border-color);
}
.amplify-textarea--error:focus {
  border-color: var(--amplify-components-fieldcontrol-error-border-color);
  box-shadow: var(--amplify-components-fieldcontrol-error-focus-box-shadow);
}
.amplify-textarea--quiet {
  border-block-start: var(--amplify-components-fieldcontrol-quiet-border-block-start);
  border-inline-start: var(--amplify-components-fieldcontrol-quiet-border-inline-start);
  border-inline-end: var(--amplify-components-fieldcontrol-quiet-border-inline-end);
  border-radius: var(--amplify-components-fieldcontrol-quiet-border-radius);
}
.amplify-textarea--quiet:focus {
  border-block-end-color: var(--amplify-components-fieldcontrol-quiet-focus-border-block-end-color);
  box-shadow: var(--amplify-components-fieldcontrol-quiet-focus-box-shadow);
}
.amplify-textarea--quiet[aria-invalid=true] {
  border-block-end-color: var(--amplify-components-fieldcontrol-quiet-error-border-block-end-color);
}
.amplify-textarea--quiet[aria-invalid=true]:focus {
  border-block-end-color: var(--amplify-components-fieldcontrol-quiet-error-focus-border-block-end-color);
  box-shadow: var(--amplify-components-fieldcontrol-quiet-error-focus-box-shadow);
}
.amplify-textarea[disabled] {
  color: var(--amplify-components-fieldcontrol-disabled-color);
  cursor: var(--amplify-components-fieldcontrol-disabled-cursor);
  border-color: var(--amplify-components-fieldcontrol-disabled-border-color);
  background-color: var(--amplify-components-fieldcontrol-disabled-background-color);
}

.amplify-image {
  height: var(--amplify-components-image-height);
  max-width: var(--amplify-components-image-max-width);
  -o-object-fit: var(--amplify-components-image-object-fit);
     object-fit: var(--amplify-components-image-object-fit);
  -o-object-position: var(--amplify-components-image-object-position);
     object-position: var(--amplify-components-image-object-position);
  overflow: clip;
}

.amplify-link {
  color: var(--amplify-components-link-color);
  -webkit-text-decoration: var(--amplify-components-link-text-decoration);
          text-decoration: var(--amplify-components-link-text-decoration);
  cursor: pointer;
}
.amplify-link:visited {
  color: var(--amplify-components-link-visited-color);
  -webkit-text-decoration: var(--amplify-components-link-visited-text-decoration);
          text-decoration: var(--amplify-components-link-visited-text-decoration);
}
.amplify-link:active {
  color: var(--amplify-components-link-active-color);
  -webkit-text-decoration: var(--amplify-components-link-active-text-decoration);
          text-decoration: var(--amplify-components-link-active-text-decoration);
}
.amplify-link:focus {
  color: var(--amplify-components-link-focus-color);
  -webkit-text-decoration: var(--amplify-components-link-focus-text-decoration);
          text-decoration: var(--amplify-components-link-focus-text-decoration);
}
.amplify-link:hover {
  color: var(--amplify-components-link-hover-color);
  -webkit-text-decoration: var(--amplify-components-link-hover-text-decoration);
          text-decoration: var(--amplify-components-link-hover-text-decoration);
}

.amplify-loader {
  width: var(--amplify-components-loader-width);
  height: var(--amplify-components-loader-height);
  font-size: var(--amplify-components-loader-font-size);
  fill: none;
  stroke: var(--amplify-components-loader-stroke-empty);
  --amplify-internal-loader-linear-font-size: var(
    --amplify-components-loader-linear-font-size
  );
  --amplify-internal-loader-linear-stroke-width: var(
    --amplify-components-loader-linear-stroke-width
  );
}
.amplify-loader circle:last-of-type {
  transform-origin: center center;
  animation-name: amplify-loader-circular;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  animation-duration: var(--amplify-components-loader-animation-duration);
  stroke: var(--amplify-components-loader-stroke-filled);
  stroke-linecap: var(--amplify-components-loader-stroke-linecap);
}
@media (prefers-reduced-motion) {
  .amplify-loader circle:last-of-type {
    animation: none;
    stroke-dasharray: 100% 200%;
    stroke-dashoffset: 50%;
  }
}
.amplify-loader line:last-of-type {
  stroke: var(--amplify-components-loader-linear-stroke-filled);
  stroke-dasharray: 50% 200%;
  animation-name: amplify-loader-linear;
  animation-duration: var(--amplify-components-loader-linear-animation-duration);
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}
@media (prefers-reduced-motion) {
  .amplify-loader line:last-of-type {
    animation: none;
    stroke-dashoffset: -50%;
  }
}
.amplify-loader--small {
  width: var(--amplify-components-loader-small-width);
  height: var(--amplify-components-loader-small-height);
  font-size: var(--amplify-components-loader-small-font-size);
  --amplify-internal-loader-linear-stroke-width: var(
    --amplify-components-loader-linear-small-stroke-width
  );
  --amplify-internal-loader-linear-font-size: var(
    --amplify-components-loader-linear-small-font-size
  );
}
.amplify-loader--large {
  width: var(--amplify-components-loader-large-width);
  height: var(--amplify-components-loader-large-height);
  font-size: var(--amplify-components-loader-large-font-size);
  --amplify-internal-loader-linear-stroke-width: var(
    --amplify-components-loader-linear-large-stroke-width
  );
  --amplify-internal-loader-linear-font-size: var(
    --amplify-components-loader-linear-large-font-size
  );
}
.amplify-loader--linear {
  width: var(--amplify-components-loader-linear-width);
  min-width: var(--amplify-components-loader-linear-min-width);
  stroke: var(--amplify-components-loader-linear-stroke-empty);
  stroke-linecap: var(--amplify-components-loader-linear-stroke-linecap);
  stroke-width: var(--amplify-internal-loader-linear-stroke-width);
  font-size: var(--amplify-internal-loader-linear-font-size);
}
.amplify-loader--determinate circle:last-of-type {
  animation: none;
  transform: rotate(-90deg);
}
.amplify-loader--determinate line:last-of-type {
  animation: none;
  stroke-dashoffset: 0%;
  stroke-dasharray: none;
}
.amplify-loader__label {
  fill: var(--amplify-components-loader-text-fill);
  stroke: none;
}

@keyframes amplify-loader-circular {
  0% {
    stroke-dasharray: 100% 200%;
    transform: rotate(120deg);
  }
  50% {
    stroke-dasharray: 20% 400%;
  }
  100% {
    stroke-dasharray: 100% 200%;
    transform: rotate(480deg);
  }
}
@keyframes amplify-loader-linear {
  0% {
    stroke-dashoffset: 200%;
  }
  100% {
    stroke-dashoffset: -50%;
  }
}
.amplify-placeholder {
  animation-direction: alternate;
  animation-duration: var(--amplify-components-placeholder-transition-duration);
  animation-iteration-count: infinite;
  animation-name: amplify-placeholder-loading;
  border-radius: var(--amplify-components-placeholder-border-radius);
  height: var(--amplify-components-placeholder-default-height);
  width: 100%;
  display: block;
}
.amplify-placeholder--small {
  height: var(--amplify-components-placeholder-small-height);
}
.amplify-placeholder--large {
  height: var(--amplify-components-placeholder-large-height);
}

@keyframes amplify-placeholder-loading {
  0% {
    background-color: var(--amplify-components-placeholder-start-color);
  }
  100% {
    background-color: var(--amplify-components-placeholder-end-color);
  }
}
@media (prefers-reduced-motion: reduce) {
  .amplify-placeholder {
    animation: none;
    background-color: var(--amplify-components-placeholder-end-color);
  }
}
[data-amplify-copy] {
  display: flex;
  font-size: var(--amplify-components-copy-font-size);
  gap: var(--amplify-components-copy-gap);
  justify-content: center;
  align-items: center;
  word-break: break-all;
}

[data-amplify-copy-svg] {
  cursor: pointer;
  position: relative;
}
[data-amplify-copy-svg] path {
  fill: var(--amplify-components-copy-svg-path-fill);
}
[data-amplify-copy-svg]:hover [data-amplify-copy-tooltip] {
  visibility: visible;
  font-size: var(--amplify-components-copy-tool-tip-font-size);
}

[data-amplify-copy-tooltip] {
  visibility: hidden;
  position: absolute;
  bottom: var(--amplify-components-copy-tool-tip-bottom);
  color: var(--amplify-components-copy-tool-tip-color);
}

.amplify-accordion {
  display: block;
  background-color: var(--amplify-components-accordion-background-color);
  border-radius: var(--amplify-components-accordion-item-border-radius);
}

.amplify-accordion__item {
  display: block;
  position: relative;
  border-width: var(--amplify-components-accordion-item-border-width);
  border-style: var(--amplify-components-accordion-item-border-style);
  border-color: var(--amplify-components-accordion-item-border-color);
}
.amplify-accordion__item + .amplify-accordion__item {
  margin-block-start: calc(-1 * var(--amplify-components-accordion-item-border-width));
}
.amplify-accordion__item:where(:first-of-type) {
  border-start-end-radius: var(--amplify-components-accordion-item-border-radius);
  border-start-start-radius: var(--amplify-components-accordion-item-border-radius);
}
.amplify-accordion__item:where(:last-of-type) {
  border-end-end-radius: var(--amplify-components-accordion-item-border-radius);
  border-end-start-radius: var(--amplify-components-accordion-item-border-radius);
}
.amplify-accordion__item__trigger {
  cursor: pointer;
  display: flex;
  position: relative;
  color: var(--amplify-components-accordion-item-trigger-color);
  border-radius: var(--amplify-components-accordion-item-border-radius);
  padding-inline: var(--amplify-components-accordion-item-trigger-padding-inline);
  padding-block: var(--amplify-components-accordion-item-trigger-padding-block);
  gap: var(--amplify-components-accordion-item-trigger-gap);
  align-items: var(--amplify-components-accordion-item-trigger-align-items);
  justify-content: var(--amplify-components-accordion-item-trigger-justify-content);
}
.amplify-accordion__item__trigger:hover {
  background-color: var(--amplify-components-accordion-item-trigger-hover-background-color);
  color: var(--amplify-components-accordion-item-trigger-hover-color);
}
.amplify-accordion__item__trigger:focus {
  box-shadow: var(--amplify-components-accordion-item-trigger-focus-box-shadow);
  border-color: var(--amplify-components-accordion-item-trigger-focus-border-color);
  z-index: 2;
}
.amplify-accordion__item__trigger::-webkit-details-marker {
  display: none;
}
.amplify-accordion__item__content {
  display: block;
  color: var(--amplify-components-accordion-item-content-color);
  padding-block-end: var(--amplify-components-accordion-item-content-padding-block-end);
  padding-block-start: var(--amplify-components-accordion-item-content-padding-block-start);
  padding-inline: var(--amplify-components-accordion-item-content-padding-inline);
}
.amplify-accordion__item__icon {
  color: var(--amplify-components-accordion-item-icon-color);
  transition-property: transform;
  transition-duration: var(--amplify-components-accordion-item-icon-transition-duration);
  transition-timing-function: var(--amplify-components-accordion-item-icon-transition-timing-function);
}
[open] .amplify-accordion__item__icon {
  transform: rotate(180deg);
}

.amplify-alert {
  align-items: var(--amplify-components-alert-align-items);
  background-color: var(--amplify-components-alert-background-color);
  color: var(--amplify-components-alert-color);
  justify-content: var(--amplify-components-alert-justify-content);
  padding-block: var(--amplify-components-alert-padding-block);
  padding-inline: var(--amplify-components-alert-padding-inline);
}
.amplify-alert--info {
  color: var(--amplify-components-alert-info-color);
  background-color: var(--amplify-components-alert-info-background-color);
}
.amplify-alert--error {
  color: var(--amplify-components-alert-error-color);
  background-color: var(--amplify-components-alert-error-background-color);
}
.amplify-alert--warning {
  color: var(--amplify-components-alert-warning-color);
  background-color: var(--amplify-components-alert-warning-background-color);
}
.amplify-alert--success {
  color: var(--amplify-components-alert-success-color);
  background-color: var(--amplify-components-alert-success-background-color);
}

.amplify-alert__icon {
  font-size: var(--amplify-components-alert-icon-size);
  line-height: 1;
}

.amplify-alert__heading {
  display: block;
  font-weight: var(--amplify-components-alert-heading-font-weight);
  font-size: var(--amplify-components-alert-heading-font-size);
}

.amplify-alert__body {
  color: inherit;
  display: block;
}

.amplify-alert__dismiss {
  color: inherit;
}

.amplify-autocomplete__menu__option, .amplify-autocomplete__menu--loading, .amplify-autocomplete__menu--empty {
  padding-block: var(--amplify-components-autocomplete-menu-space-shared-padding-block);
  padding-inline: var(--amplify-components-autocomplete-menu-space-shared-padding-inline);
}

.amplify-autocomplete {
  position: relative;
  display: block;
}

.amplify-autocomplete__menu {
  position: absolute;
  z-index: 999999;
  width: var(--amplify-components-autocomplete-menu-width);
  margin-block-start: var(--amplify-components-autocomplete-menu-margin-block-start);
  background-color: var(--amplify-components-autocomplete-menu-background-color);
  border-color: var(--amplify-components-autocomplete-menu-border-color);
  border-width: var(--amplify-components-autocomplete-menu-border-width);
  border-style: var(--amplify-components-autocomplete-menu-border-style);
  border-radius: var(--amplify-components-autocomplete-menu-border-radius);
}
.amplify-autocomplete__menu--empty {
  display: var(--amplify-components-autocomplete-menu-empty-display);
}
.amplify-autocomplete__menu--loading {
  display: var(--amplify-components-autocomplete-menu-loading-display);
  align-items: var(--amplify-components-autocomplete-menu-loading-align-items);
  gap: var(--amplify-components-autocomplete-menu-loading-gap);
}
.amplify-autocomplete__menu__options {
  position: relative;
  overscroll-behavior: contain;
  display: var(--amplify-components-autocomplete-menu-options-display);
  flex-direction: var(--amplify-components-autocomplete-menu-options-flex-direction);
  max-height: var(--amplify-components-autocomplete-menu-options-max-height);
}
.amplify-autocomplete__menu__option {
  background-color: var(--amplify-components-autocomplete-menu-option-background-color);
  color: var(--amplify-components-autocomplete-menu-option-color);
  cursor: var(--amplify-components-autocomplete-menu-option-cursor);
  transition-duration: var(--amplify-components-autocomplete-menu-option-transition-duration);
  transition-property: var(--amplify-components-autocomplete-menu-option-transition-property);
  transition-timing-function: var(--amplify-components-autocomplete-menu-option-transition-timing-function);
}
.amplify-autocomplete__menu__option--active {
  background-color: var(--amplify-components-autocomplete-menu-option-active-background-color);
  color: var(--amplify-components-autocomplete-menu-option-active-color);
}

/* Center by default */
[data-amplify-authenticator] {
  display: grid;
}
[data-amplify-authenticator][data-variation=modal] {
  overflow-y: auto;
  width: var(--amplify-components-authenticator-modal-width);
  height: var(--amplify-components-authenticator-modal-height);
  background-color: var(--amplify-components-authenticator-modal-background-color);
  position: fixed;
  top: var(--amplify-components-authenticator-modal-top);
  left: var(--amplify-components-authenticator-modal-left);
  /* Having a z-index at least "wins" by default */
  z-index: 1;
}
[data-amplify-authenticator] [data-amplify-container] {
  place-self: center;
}
@media (min-width: 30rem) {
  [data-amplify-authenticator] [data-amplify-container] {
    width: var(--amplify-components-authenticator-container-width-max);
  }
}
[data-amplify-authenticator] [data-amplify-router] {
  background-color: var(--amplify-components-authenticator-router-background-color);
  box-shadow: var(--amplify-components-authenticator-router-box-shadow);
  border-color: var(--amplify-components-authenticator-router-border-color);
  border-width: var(--amplify-components-authenticator-router-border-width);
  border-style: var(--amplify-components-authenticator-router-border-style);
}
[data-amplify-authenticator] [data-amplify-footer] {
  padding-bottom: var(--amplify-components-authenticator-footer-padding-bottom);
  text-align: center;
}
[data-amplify-authenticator] [data-amplify-form] {
  padding: var(--amplify-components-authenticator-form-padding);
}
[data-amplify-authenticator] [data-state=inactive] {
  background-color: var(--amplify-components-authenticator-state-inactive-background-color);
}
@media (max-width: 26rem) {
  [data-amplify-authenticator] [data-amplify-sign-up-errors] {
    font-size: 0.688rem;
  }
}

.amplify-authenticator__column {
  display: flex;
  flex-direction: column;
}

.amplify-authenticator__subtitle {
  margin-bottom: var(--amplify-space-medium);
}

.amplify-authenticator__heading {
  font-size: var(--amplify-font-sizes-xl);
}

.amplify-authenticator__federated-text {
  align-self: center;
}

.amplify-authenticator__federated-buttons {
  flex-direction: column;
  padding-block-end: var(--amplify-space-medium);
}

.amplify-authenticator__federated-button {
  font-weight: normal;
  gap: var(--amplify-space-medium);
}

.amplify-avatar {
  --avatar-color: var(--amplify-components-avatar-color);
  --avatar-background-color: var(--amplify-components-avatar-background-color);
  --avatar-filled-background-color: var(--amplify-components-avatar-color);
  --avatar-filled-color: var(--amplify-components-avatar-background-color);
  --avatar-border-color: var(--amplify-components-avatar-border-color);
  --avatar-size: var(--amplify-components-avatar-width);
  --amplify-components-icon-height: 100%;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--avatar-color);
  background-color: var(--avatar-background-color);
  font-weight: var(--amplify-components-avatar-font-weight);
  font-size: var(--amplify-components-avatar-font-size);
  width: var(--amplify-components-avatar-width);
  height: var(--amplify-components-avatar-height);
  overflow: hidden;
  border-radius: var(--amplify-components-avatar-border-radius);
}
.amplify-avatar--filled {
  background-color: var(--avatar-filled-background-color);
  color: var(--avatar-filled-color);
}
.amplify-avatar--outlined {
  border-width: var(--amplify-components-avatar-border-width);
  border-style: solid;
  padding: var(--amplify-components-avatar-border-width);
  border-color: var(--avatar-border-color);
  background-color: transparent;
  color: var(--avatar-color);
}
.amplify-avatar--small {
  --avatar-size: var(--amplify-components-avatar-small-width);
  width: var(--amplify-components-avatar-small-width);
  height: var(--amplify-components-avatar-small-height);
  font-size: var(--amplify-components-avatar-small-font-size);
}
.amplify-avatar--large {
  --avatar-size: var(--amplify-components-avatar-large-width);
  width: var(--amplify-components-avatar-large-width);
  height: var(--amplify-components-avatar-large-height);
  font-size: var(--amplify-components-avatar-large-font-size);
}
.amplify-avatar--warning {
  --avatar-border-color: var(
    --amplify-components-avatar-warning-border-color
  );
  --avatar-background-color: var(
    --amplify-components-avatar-warning-background-color
  );
  --avatar-color: var(--amplify-components-avatar-warning-color);
  --avatar-filled-background-color: var(
    --amplify-components-avatar-warning-color
  );
  --avatar-filled-color: var(
    --amplify-components-avatar-warning-background-color
  );
  --amplify-components-loader-stroke-filled: var(
    --amplify-components-avatar-warning-color
  );
}
.amplify-avatar--error {
  --avatar-border-color: var(--amplify-components-avatar-error-border-color);
  --avatar-background-color: var(
    --amplify-components-avatar-error-background-color
  );
  --avatar-color: var(--amplify-components-avatar-error-color);
  --avatar-filled-background-color: var(
    --amplify-components-avatar-error-color
  );
  --avatar-filled-color: var(
    --amplify-components-avatar-error-background-color
  );
  --amplify-components-loader-stroke-filled: var(
    --amplify-components-avatar-error-color
  );
}
.amplify-avatar--info {
  --avatar-border-color: var(--amplify-components-avatar-info-border-color);
  --avatar-background-color: var(
    --amplify-components-avatar-info-background-color
  );
  --avatar-color: var(--amplify-components-avatar-info-color);
  --avatar-filled-background-color: var(
    --amplify-components-avatar-info-color
  );
  --avatar-filled-color: var(
    --amplify-components-avatar-info-background-color
  );
  --amplify-components-loader-stroke-filled: var(
    --amplify-components-avatar-info-color
  );
}
.amplify-avatar--success {
  --avatar-border-color: var(
    --amplify-components-avatar-success-border-color
  );
  --avatar-background-color: var(
    --amplify-components-avatar-success-background-color
  );
  --avatar-color: var(--amplify-components-avatar-success-color);
  --avatar-filled-background-color: var(
    --amplify-components-avatar-success-color
  );
  --avatar-filled-color: var(
    --amplify-components-avatar-success-background-color
  );
  --amplify-components-loader-stroke-filled: var(
    --amplify-components-avatar-success-color
  );
}
.amplify-avatar__icon {
  display: flex;
  font-size: calc(var(--avatar-size) * 0.6);
}
.amplify-avatar__image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.amplify-avatar__loader {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  stroke: transparent;
}

.amplify-breadcrumbs__list {
  display: flex;
  flex-wrap: var(--amplify-components-breadcrumbs-flex-wrap);
  flex-direction: var(--amplify-components-breadcrumbs-flex-direction);
  gap: var(--amplify-components-breadcrumbs-gap);
  color: var(--amplify-components-breadcrumbs-color);
}

.amplify-breadcrumbs__item {
  display: inline-flex;
  flex-direction: var(--amplify-components-breadcrumbs-item-flex-direction);
  align-items: var(--amplify-components-breadcrumbs-item-align-items);
  line-height: var(--amplify-components-breadcrumbs-item-line-height);
  color: var(--amplify-components-breadcrumbs-item-color);
  font-size: var(--amplify-components-breadcrumbs-item-font-size);
}

.amplify-breadcrumbs__separator {
  color: var(--amplify-components-breadcrumbs-separator-color);
  font-size: var(--amplify-components-breadcrumbs-separator-font-size);
  padding-inline: var(--amplify-components-breadcrumbs-separator-padding-inline);
}

.amplify-breadcrumbs__link {
  color: var(--amplify-components-breadcrumbs-link-color);
  font-size: var(--amplify-components-breadcrumbs-link-font-size);
  font-weight: var(--amplify-components-breadcrumbs-link-font-weight);
  padding-inline: var(--amplify-components-breadcrumbs-link-padding-inline);
  padding-block: var(--amplify-components-breadcrumbs-link-padding-block);
  -webkit-text-decoration: var(--amplify-components-breadcrumbs-link-text-decoration);
          text-decoration: var(--amplify-components-breadcrumbs-link-text-decoration);
}

.amplify-breadcrumbs__link--current {
  color: var(--amplify-components-breadcrumbs-link-current-color);
  font-size: var(--amplify-components-breadcrumbs-link-current-font-size);
  font-weight: var(--amplify-components-breadcrumbs-link-current-font-weight);
  -webkit-text-decoration: var(--amplify-components-breadcrumbs-link-current-text-decoration);
          text-decoration: var(--amplify-components-breadcrumbs-link-current-text-decoration);
}

.amplify-card {
  background-color: var(--amplify-components-card-background-color);
  border-radius: var(--amplify-components-card-border-radius);
  border-width: var(--amplify-components-card-border-width);
  border-style: var(--amplify-components-card-border-style);
  border-color: var(--amplify-components-card-border-color);
  box-shadow: var(--amplify-components-card-box-shadow);
  display: block;
  padding: var(--amplify-components-card-padding);
}
.amplify-card--outlined {
  background-color: var(--amplify-components-card-outlined-background-color);
  border-radius: var(--amplify-components-card-outlined-border-radius);
  border-width: var(--amplify-components-card-outlined-border-width);
  border-style: var(--amplify-components-card-outlined-border-style);
  border-color: var(--amplify-components-card-outlined-border-color);
  box-shadow: var(--amplify-components-card-outlined-box-shadow);
}
.amplify-card--elevated {
  background-color: var(--amplify-components-card-elevated-background-color);
  border-radius: var(--amplify-components-card-elevated-border-radius);
  border-width: var(--amplify-components-card-elevated-border-width);
  border-style: var(--amplify-components-card-elevated-border-style);
  border-color: var(--amplify-components-card-elevated-border-color);
  box-shadow: var(--amplify-components-card-elevated-box-shadow);
}

.amplify-collection {
  flex-direction: column;
}
.amplify-collection__pagination {
  justify-content: center;
  --amplify-components-pagination-current-color: var(
    --amplify-components-collection-pagination-current-color
  );
  --amplify-components-pagination-current-background-color: var(
    --amplify-components-collection-pagination-current-background-color
  );
  --amplify-components-pagination-button-color: var(
    --amplify-components-collection-pagination-button-color
  );
  --amplify-components-pagination-button-hover-color: var(
    --amplify-components-collection-pagination-button-hover-color
  );
  --amplify-components-pagination-button-hover-background-color: var(
    --amplify-components-collection-pagination-button-hover-background-color
  );
  --amplify-components-pagination-button-disabled-color: var(
    --amplify-components-collection-pagination-button-disabled-color
  );
}
.amplify-collection__search {
  flex-direction: row;
  justify-content: center;
  --amplify-components-searchfield-input-color: var(
    --amplify-components-collection-search-input-color
  );
  --amplify-components-searchfield-button-color: var(
    --amplify-components-collection-search-button-color
  );
  --amplify-components-searchfield-button-active-background-color: var(
    --amplify-components-collection-search-button-active-background-color
  );
  --amplify-components-searchfield-button-active-border-color: var(
    --amplify-components-collection-search-button-active-border-color
  );
  --amplify-components-searchfield-button-active-color: var(
    --amplify-components-collection-search-button-active-color
  );
  --amplify-components-searchfield-button-disabled-background-color: var(
    --amplify-components-collection-search-button-disabled-background-color
  );
  --amplify-components-searchfield-button-disabled-border-color: var(
    --amplify-components-collection-search-button-disabled-border-color
  );
  --amplify-components-searchfield-button-disabled-color: var(
    --amplify-components-collection-search-button-disabled-color
  );
  --amplify-components-searchfield-button-focus-background-color: var(
    --amplify-components-collection-search-button-focus-background-color
  );
  --amplify-components-searchfield-button-focus-border-color: var(
    --amplify-components-collection-search-button-focus-border-color
  );
  --amplify-components-searchfield-button-focus-color: var(
    --amplify-components-collection-search-button-focus-color
  );
  --amplify-components-searchfield-button-hover-background-color: var(
    --amplify-components-collection-search-button-hover-background-color
  );
  --amplify-components-searchfield-button-hover-border-color: var(
    --amplify-components-collection-search-button-hover-border-color
  );
  --amplify-components-searchfield-button-hover-color: var(
    --amplify-components-collection-search-button-hover-color
  );
}

.amplify-checkbox {
  cursor: var(--amplify-components-checkbox-cursor);
  align-items: var(--amplify-components-checkbox-align-items);
  flex-direction: row-reverse;
  gap: inherit;
  position: relative;
}
.amplify-checkbox--disabled {
  cursor: var(--amplify-components-checkbox-disabled-cursor);
  color: var(--amplify-components-checkbox-label-disabled-color);
}

.amplify-checkbox__button {
  position: var(--amplify-components-checkbox-button-position);
  align-items: var(--amplify-components-checkbox-button-align-items);
  justify-content: var(--amplify-components-checkbox-button-justify-content);
  color: var(--amplify-components-checkbox-button-color);
  --amplify-internal-checkbox_button-focused-before-border-color: var(
    --amplify-components-checkbox-button-focus-border-color
  );
  --amplify-internal-checkbox_button-focused-before-box-shadow: var(
    --amplify-components-checkbox-button-focus-box-shadow
  );
}
.amplify-checkbox__button::before {
  content: "";
  display: inline-block;
  position: absolute;
  box-sizing: border-box;
  width: var(--amplify-components-checkbox-button-before-width);
  height: var(--amplify-components-checkbox-button-before-height);
  border-width: var(--amplify-components-checkbox-button-before-border-width);
  border-radius: var(--amplify-components-checkbox-button-before-border-radius);
  border-style: var(--amplify-components-checkbox-button-before-border-style);
  border-color: var(--amplify-components-checkbox-button-before-border-color);
}
.amplify-checkbox__button--focused::before {
  outline-color: var(--amplify-components-checkbox-button-focus-outline-color);
  outline-style: var(--amplify-components-checkbox-button-focus-outline-style);
  outline-width: var(--amplify-components-checkbox-button-focus-outline-width);
  outline-offset: var(--amplify-components-checkbox-button-focus-outline-offset);
  border-color: var(--amplify-internal-checkbox_button-focused-before-border-color);
  box-shadow: var(--amplify-internal-checkbox_button-focused-before-box-shadow);
}
.amplify-checkbox__button--error {
  --amplify-internal-checkbox_button-focused-before-border-color: var(
    --amplify-components-checkbox-button-error-focus-border-color
  );
  --amplify-internal-checkbox_button-focused-before-box-shadow: var(
    --amplify-components-checkbox-button-error-focus-box-shadow
  );
}
.amplify-checkbox__button--error::before {
  border-color: var(--amplify-components-checkbox-button-error-border-color);
}
.amplify-checkbox__button--disabled::before {
  border-color: var(--amplify-components-checkbox-button-disabled-border-color);
}

.amplify-checkbox__icon {
  line-height: 1;
  width: 1em;
  height: 1em;
  background-color: var(--amplify-components-checkbox-icon-background-color);
  opacity: var(--amplify-components-checkbox-icon-opacity);
  transform: var(--amplify-components-checkbox-icon-transform);
  border-radius: var(--amplify-components-checkbox-icon-border-radius);
  transition-property: var(--amplify-components-checkbox-icon-transition-property);
  transition-duration: var(--amplify-components-checkbox-icon-transition-duration);
  transition-timing-function: var(--amplify-components-checkbox-icon-transition-timing-function);
  --amplify-internal-checkbox-icon-disabled-background-color: var(
    --amplify-components-checkbox-icon-background-color
  );
}
.amplify-checkbox__icon--checked {
  opacity: var(--amplify-components-checkbox-icon-checked-opacity);
  transform: var(--amplify-components-checkbox-icon-checked-transform);
  --amplify-internal-checkbox-icon-disabled-background-color: var(
    --amplify-components-checkbox-icon-checked-disabled-background-color
  );
}
.amplify-checkbox__icon--indeterminate {
  opacity: var(--amplify-components-checkbox-icon-indeterminate-opacity);
  transform: var(--amplify-components-checkbox-icon-indeterminate-transform);
  --amplify-internal-checkbox-icon-disabled-background-color: var(
    --amplify-components-checkbox-icon-indeterminate-disabled-background-color
  );
}
.amplify-checkbox__icon--disabled {
  background-color: var(--amplify-internal-checkbox-icon-disabled-background-color);
}

.amplify-checkbox__label {
  color: var(--amplify-components-checkbox-label-color);
}
.amplify-checkbox__label--disabled {
  color: var(--amplify-components-checkbox-label-disabled-color);
}

.amplify-checkboxfield {
  align-content: var(--amplify-components-checkboxfield-align-content);
  align-items: var(--amplify-components-checkboxfield-align-items);
  flex-direction: var(--amplify-components-checkboxfield-flex-direction);
  justify-content: var(--amplify-components-checkboxfield-justify-content);
}

.amplify-dialcodeselect {
  height: var(--amplify-components-countrycodeselect-height);
}

.amplify-divider {
  --amplify-internal-divider-size: var(
    --amplify-components-divider-border-width
  );
  border-color: var(--amplify-components-divider-border-color);
  border-style: var(--amplify-components-divider-border-style);
  border-width: 0;
  opacity: var(--amplify-components-divider-opacity);
  padding: 0;
  display: flex;
  position: relative;
  text-align: center;
  justify-content: center;
}
.amplify-divider::after {
  content: attr(data-label);
  position: absolute;
  transform: translateY(-50%);
  font-size: var(--amplify-components-divider-label-font-size);
  padding-inline: var(--amplify-components-divider-label-padding-inline);
  background-color: var(--amplify-components-divider-label-background-color);
  color: var(--amplify-components-divider-label-color);
}
.amplify-divider--small {
  --amplify-internal-divider-size: var(
    --amplify-components-divider-small-border-width
  );
}
.amplify-divider--large {
  --amplify-internal-divider-size: var(
    --amplify-components-divider-large-border-width
  );
}
.amplify-divider--horizontal {
  width: 100%;
  border-bottom-width: var(--amplify-internal-divider-size);
}
.amplify-divider--vertical {
  border-left-width: var(--amplify-internal-divider-size);
  flex-direction: column;
}
.amplify-divider--vertical::after {
  top: auto;
  transform: translateX(-50%);
  padding-block: 0;
  padding-inline: 0;
}

.amplify-field {
  font-size: var(--amplify-components-field-font-size);
  gap: var(--amplify-components-field-gap);
  flex-direction: var(--amplify-components-field-flex-direction);
}
.amplify-field--small {
  font-size: var(--amplify-components-field-small-font-size);
  gap: var(--amplify-components-field-small-gap);
}
.amplify-field--large {
  font-size: var(--amplify-components-field-large-font-size);
  gap: var(--amplify-components-field-large-gap);
}

.amplify-label {
  color: var(--amplify-components-field-label-color);
}

.amplify-field-group__outer-end .amplify-select__wrapper .amplify-select, .amplify-field-group__outer-end .amplify-field-group__control, .amplify-field-group__outer-start .amplify-select__wrapper:not(:first-child) .amplify-select:not(:first-child), .amplify-field-group__outer-start--quiet .amplify-field-group__control, .amplify-field-group__outer-start .amplify-field-group__control:not(:first-child), .amplify-field-group :not(:first-child) .amplify-input {
  border-start-start-radius: 0;
  border-end-start-radius: 0;
}
@supports not (border-start-start-radius: 0) {
  .amplify-field-group__outer-end .amplify-select__wrapper .amplify-select, .amplify-field-group__outer-end .amplify-field-group__control, .amplify-field-group__outer-start .amplify-select__wrapper:not(:first-child) .amplify-select:not(:first-child), .amplify-field-group__outer-start--quiet .amplify-field-group__control, .amplify-field-group__outer-start .amplify-field-group__control:not(:first-child), .amplify-field-group :not(:first-child) .amplify-input {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }
}

.amplify-field-group__outer-end .amplify-select__wrapper:not(:last-child) .amplify-select, .amplify-field-group__outer-end--quiet .amplify-field-group__control, .amplify-field-group__outer-end .amplify-field-group__control:not(:last-child), .amplify-field-group__outer-start .amplify-select__wrapper .amplify-select, .amplify-field-group__outer-start .amplify-field-group__control, .amplify-field-group :not(:last-child) .amplify-input {
  border-end-end-radius: 0;
  border-start-end-radius: 0;
}
@supports not (border-end-end-radius: 0) {
  .amplify-field-group__outer-end .amplify-select__wrapper:not(:last-child) .amplify-select, .amplify-field-group__outer-end--quiet .amplify-field-group__control, .amplify-field-group__outer-end .amplify-field-group__control:not(:last-child), .amplify-field-group__outer-start .amplify-select__wrapper .amplify-select, .amplify-field-group__outer-start .amplify-field-group__control, .amplify-field-group :not(:last-child) .amplify-input {
    border-bottom-right-radius: 0;
    border-top-right-radius: 0;
  }
}

.amplify-field-group {
  gap: var(--amplify-components-fieldgroup-gap);
  align-self: stretch;
}
.amplify-field-group--horizontal {
  flex-direction: row;
}
.amplify-field-group--vertical {
  flex-direction: column;
  align-items: var(--amplify-components-fieldgroup-vertical-align-items);
}
.amplify-field-group__outer-start,
.amplify-field-group__outer-end {
  display: flex;
  flex-shrink: 0;
  align-items: var(--amplify-components-fieldgroup-outer-align-items);
}
.amplify-field-group__outer-start .amplify-field-group__control,
.amplify-field-group__outer-end .amplify-field-group__control {
  height: 100%;
}

/**
 * Outer field group components
 */
.amplify-field-group__outer-start .amplify-field-group__control:not(:focus) {
  border-inline-end-color: transparent;
}
.amplify-field-group__outer-start .amplify-field-group__control:focus {
  z-index: 1;
}
.amplify-field-group__outer-start--quiet .amplify-field-group__control:not(:focus) {
  border-block-start-color: transparent;
  border-inline-start-color: transparent;
}
.amplify-field-group__outer-end .amplify-field-group__control:not(:focus) {
  border-inline-start-color: transparent;
}
.amplify-field-group__outer-end .amplify-field-group__control:focus {
  z-index: 1;
}
.amplify-field-group__outer-end--quiet .amplify-field-group__control:not(:focus) {
  border-block-start-color: transparent;
  border-inline-end-color: transparent;
}
/**
 * Inner field group components
 */
.amplify-field-group__field-wrapper {
  position: relative;
  width: 100%;
}
.amplify-field-group__field-wrapper--vertical {
  width: -moz-fit-content;
  width: fit-content;
}

.amplify-field-group__inner-end,
.amplify-field-group__inner-start {
  position: absolute;
  top: 0;
  height: 100%;
  pointer-events: none;
}
.amplify-field-group__inner-end .amplify-button,
.amplify-field-group__inner-start .amplify-button {
  pointer-events: all;
  height: 100%;
}

.amplify-field-group__inner-end {
  right: 0;
  left: auto;
}

.amplify-field-group__inner-start {
  right: auto;
  left: 0;
}

html[dir=rtl] .amplify-field-group__inner-end {
  right: auto;
  left: 0;
}
html[dir=rtl] .amplify-field-group__inner-start {
  left: auto;
  right: 0;
}

.amplify-field-group--has-inner-end .amplify-input {
  padding-inline-end: calc(var(--amplify-components-fieldcontrol-padding-inline-end) * 3);
}

.amplify-field-group--has-inner-start .amplify-input {
  padding-inline-start: calc(var(--amplify-components-fieldcontrol-padding-inline-start) * 3);
}

/**
 * Inner icon (non-button) component styling requires additional styling
 */
.amplify-field-group__icon:not(.amplify-field-group__icon-button) {
  display: flex;
  padding-inline-start: var(--amplify-components-fieldcontrol-padding-inline-start);
  padding-inline-end: var(--amplify-components-fieldcontrol-padding-inline-start);
  flex-direction: column;
  justify-content: center;
  height: 100%;
}

.amplify-fieldset {
  background-color: var(--amplify-components-fieldset-background-color);
  border-radius: var(--amplify-components-fieldset-border-radius);
  flex-direction: var(--amplify-components-fieldset-flex-direction);
  gap: var(--amplify-components-fieldset-gap);
  /* Sizes */
  /* Variations */
}
.amplify-fieldset--small {
  gap: var(--amplify-components-fieldset-small-gap);
}
.amplify-fieldset--large {
  gap: var(--amplify-components-fieldset-large-gap);
}
.amplify-fieldset--outlined {
  border: var(--amplify-components-fieldset-outlined-border-width) var(--amplify-components-fieldset-outlined-border-style) var(--amplify-components-fieldset-outlined-border-color);
  padding: var(--amplify-components-fieldset-outlined-padding);
}
.amplify-fieldset--outlined.amplify-fieldset--small {
  padding: var(--amplify-components-fieldset-outlined-small-padding);
}
.amplify-fieldset--outlined.amplify-fieldset--large {
  padding: var(--amplify-components-fieldset-outlined-large-padding);
}

.amplify-fieldset__legend {
  color: var(--amplify-components-fieldset-legend-color);
  font-weight: var(--amplify-components-fieldset-legend-font-weight);
  line-height: var(--amplify-components-fieldset-legend-line-height);
  font-size: var(--amplify-components-fieldset-legend-font-size);
}
.amplify-fieldset__legend--small {
  font-size: var(--amplify-components-fieldset-legend-small-font-size);
}
.amplify-fieldset__legend--large {
  font-size: var(--amplify-components-fieldset-legend-large-font-size);
}

.amplify-liveness-cancel-container {
  z-index: 2;
  position: absolute;
  top: var(--amplify-space-medium);
  right: var(--amplify-space-medium);
}

.liveness-detector .amplify-button--primary:focus {
  box-shadow: unset;
  outline: var(--amplify-components-button-focus-color) solid 2px;
  outline-offset: 2px;
}

.amplify-liveness-cancel-button {
  background-color: #fff;
  color: hsl(190, 95%, 30%);
}

.amplify-liveness-fade-out {
  animation-name: amplify-liveness-animation-fadeout;
  animation-duration: 1s;
  animation-fill-mode: forwards;
}

@keyframes amplify-liveness-animation-fadeout {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
.amplify-liveness-camera-module {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: var(--amplify-components-liveness-camera-module-background-color);
  border: 1px solid var(--amplify-colors-neutral-40);
  position: relative;
}

.amplify-liveness-camera-module--mobile {
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 2;
}

.amplify-liveness-video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform: scaleX(-1);
}

.amplify-liveness-freshness-canvas {
  height: 100%;
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  pointer-events: none;
  z-index: 1;
}

.amplify-liveness-loader {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.amplify-liveness-oval-canvas {
  flex-direction: column;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
}

.amplify-liveness-oval-canvas--mobile {
  position: fixed;
}

.amplify-liveness-video-anchor {
  position: relative;
  width: 100%;
}

.amplify-liveness-recording-icon-container {
  z-index: 1;
  position: absolute;
  top: var(--amplify-space-medium);
  left: var(--amplify-space-medium);
}

.amplify-liveness-recording-icon {
  flex-direction: column;
  align-items: center;
  background-color: #fff;
  padding: var(--amplify-space-xxs);
  gap: var(--amplify-space-xxs);
  border-radius: var(--amplify-radii-small);
}

.amplify-liveness-recording-icon .amplify-text {
  color: var(--amplify-colors-black);
}

.amplify-liveness-instruction-overlay {
  z-index: 2;
}

.amplify-liveness-countdown-container {
  background-color: var(--amplify-colors-background-primary);
  border-radius: 100%;
  padding: var(--amplify-space-xs);
}

.amplify-liveness-instruction-list {
  flex-direction: column;
}
.amplify-liveness-instruction-list li {
  display: flex;
}

.amplify-liveness-toast {
  background-color: var(--amplify-colors-background-primary);
  padding: var(--amplify-space-small);
  max-width: 100%;
}

.amplify-liveness-toast__message {
  color: var(--amplify-colors-font-primary);
  text-align: center;
  flex-direction: column;
}

.amplify-liveness-toast--medium {
  border-radius: var(--amplify-radii-medium);
}

.amplify-liveness-toast--large {
  font-size: var(--amplify-font-sizes-xxl);
  padding: 0 var(--amplify-space-xs);
}

.amplify-liveness-toast--primary {
  background-color: var(--amplify-colors-primary-80);
}
.amplify-liveness-toast--primary .amplify-liveness-toast__message {
  color: var(--amplify-colors-font-inverse);
  text-align: center;
  flex-direction: column;
}

.amplify-liveness-toast__container {
  gap: var(--amplify-space-xs);
  flex-direction: column;
  align-items: center;
}

.amplify-liveness-toast--error {
  background-color: var(--amplify-colors-red-80);
}
.amplify-liveness-toast--error .amplify-liveness-toast__message {
  color: var(--amplify-colors-font-inverse);
}

.amplify-liveness-match-indicator {
  display: block;
  width: min(70%, 200px);
  position: relative;
  --amplify-liveness-match-indicator-transition: transform 0.2s linear;
}

.amplify-liveness-match-indicator__bar {
  --percentage: 0;
  display: block;
  width: 100%;
  height: var(--amplify-space-medium);
  border-radius: var(--amplify-radii-medium);
  background: var(--amplify-colors-white);
  position: relative;
  overflow: hidden;
  /* 
    This translateZ transform fixes in issue in Safari where the bar::after
    element doesn't appear clipped from overflow: hidden here */
  transform: translateZ(0);
  border: 1px solid var(--amplify-colors-border-tertiary);
}

.amplify-liveness-match-indicator__pin {
  --percentage: 0;
  display: block;
  width: 100%;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(var(--percentage), 0);
  transition: var(--amplify-liveness-match-indicator-transition);
}

.amplify-liveness-match-indicator__bar:after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  background: var(--amplify-colors-primary-80);
  left: -100%;
  transform: translate(var(--percentage), 0);
  transition: var(--amplify-liveness-match-indicator-transition);
}

.amplify-liveness-match-indicator__pin:after {
  --height: var(--amplify-space-xl);
  position: absolute;
  content: "";
  width: var(--amplify-space-small);
  height: var(--height);
  border-radius: var(--amplify-radii-medium);
  background: var(--amplify-colors-primary-80);
  left: 0;
  top: 0;
  transform: translate(-50%, calc(var(--height) / 2 * -1));
}

.amplify-liveness-figures {
  flex-wrap: wrap;
}

.amplify-liveness-figure {
  flex-direction: column;
  gap: 0;
}

.amplify-liveness-figure__caption {
  padding: var(--amplify-space-xxs);
}

.amplify-liveness-figure__caption--success {
  background-color: var(--amplify-colors-background-success);
  color: var(--amplify-colors-font-success);
}

.amplify-liveness-figure__caption--error {
  background-color: var(--amplify-colors-background-error);
  color: var(--amplify-colors-font-error);
}

.amplify-liveness-figure__image {
  background-color: #fff;
  border: 1px solid var(--amplify-colors-border-primary);
  position: relative;
  display: flex;
  justify-content: center;
}
.amplify-liveness-figure__image svg {
  display: block;
}

.amplify-liveness-figure__image--success {
  border-color: var(--amplify-colors-green-90);
}

.amplify-liveness-figure__image--error {
  border-color: var(--amplify-colors-border-error);
}

.amplify-liveness-figure__icon {
  position: absolute;
  left: 0;
  top: 0;
}

.amplify-liveness-landscape-error-modal {
  background-color: var(--amplify-colors-background-primary);
  flex-direction: column;
  text-align: center;
  align-items: center;
  justify-content: center;
  width: 100%;
}

.amplify-liveness-landscape-error-modal__header {
  font-size: large;
  font-weight: var(--amplify-font-weights-bold);
}

.amplify-liveness-landscape-error-modal__button {
  justify-content: center;
}

.amplify-liveness-start-screen-header {
  display: flex;
  flex-direction: column;
}

.amplify-liveness-start-screen-header__heading {
  color: var(--amplify-colors-font-primary);
  font-weight: var(--amplify-font-weights-bold);
}

.amplify-liveness-start-screen-header__body {
  color: var(--amplify-colors-font-primary);
}

.amplify-liveness-start-screen-warning {
  color: var(--amplify-colors-blue-90);
  background-color: var(--amplify-colors-blue-10);
  align-items: center;
  z-index: 3;
}

.amplify-liveness-start-screen-instructions__heading {
  color: var(--amplify-colors-font-primary);
  font-weight: var(--amplify-font-weights-bold);
}

.amplify-liveness-overlay-opaque {
  background-color: var(--amplify-colors-overlay-40);
}

.amplify-liveness-overlay {
  flex-direction: column;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  padding: var(--amplify-space-large);
}

.amplify-liveness-error-modal {
  gap: var(--amplify-space-xs);
  align-items: center;
  justify-content: center;
  color: var(--amplify-colors-font-error);
}

.amplify-liveness-error-modal__heading {
  font-weight: var(--amplify-font-weights-bold);
}

.amplify-liveness-hint--mobile {
  margin-top: var(--amplify-space-xxxl);
}

.amplify-liveness-hint__text {
  align-items: center;
  gap: var(--amplify-space-xs);
}

.amplify-liveness-popover {
  position: relative;
}

.amplify-liveness-popover__anchor {
  position: absolute;
  top: 26px;
  left: 20px;
  z-index: 3;
  border-style: solid;
  border-width: 0 9px 9px 9px;
  border-color: transparent transparent var(--amplify-colors-background-primary) transparent;
}

.amplify-liveness-popover__anchor-secondary {
  position: absolute;
  top: 24px;
  left: 19px;
  z-index: 2;
  border-style: solid;
  border-width: 0 10px 10px 10px;
  border-color: transparent transparent var(--amplify-colors-border-secondary) transparent;
}

.amplify-liveness-popover__container {
  position: absolute;
  background-color: var(--amplify-colors-background-primary);
  color: var(--amplify-colors-font-primary);
  flex-direction: row;
  font-size: var(--amplify-font-sizes-xs);
  font-weight: var(--amplify-font-weights-normal);
  padding: var(--amplify-space-small);
  top: 33px;
  width: 240px;
  border: 1px solid var(--amplify-colors-border-secondary);
  border-radius: 2px;
  z-index: 4;
}

.amplify-liveness-start-screen-camera-select {
  flex-direction: column;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  padding: var(--amplify-space-xl);
  align-items: center;
  justify-content: flex-end;
  display: flex;
  z-index: 2;
}

.amplify-liveness-start-screen-camera-select__container {
  display: flex;
  justify-content: space-between;
  align-items: inherit;
  gap: var(--amplify-space-xs);
}

.amplify-liveness-start-screen-camera-select__label,
.amplify-liveness-start-screen-camera-select .amplify-select,
.amplify-liveness-start-screen-camera-select .amplify-select__wrapper,
.amplify-liveness-start-screen-camera-select .amplify-select__icon-wrapper {
  background-color: var(--amplify-colors-background-primary);
  color: var(--amplify-colors-font-primary);
}

.amplify-liveness-start-screen-camera-waiting {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  height: 480px;
}

.amplify-menu__wrapper {
  z-index: 999999;
}

.amplify-menu__trigger {
  display: flex;
  justify-content: center;
  align-items: center;
}

.amplify-menu__content {
  background-color: var(--amplify-components-menu-background-color);
  border-radius: var(--amplify-components-menu-border-radius);
  box-shadow: var(--amplify-components-menu-box-shadow);
  flex-direction: var(--amplify-components-menu-flex-direction);
  gap: var(--amplify-components-menu-gap);
  min-width: var(--amplify-components-menu-min-width);
  max-width: var(--amplify-components-menu-max-width);
  border-color: var(--amplify-components-menu-border-color);
  border-width: var(--amplify-components-menu-border-width);
  border-style: var(--amplify-components-menu-border-style);
}

.amplify-menu__content__item {
  min-height: var(--amplify-components-menu-item-min-height);
  padding-inline-start: var(--amplify-components-menu-item-padding-inline-start);
  padding-inline-end: var(--amplify-components-menu-item-padding-inline-end);
}

.amplify-menu__content__item:not(:first-child):not(:last-child) {
  border-radius: 0;
}

.amplify-menu__content__item:first-child {
  border-end-end-radius: 0;
  border-end-start-radius: 0;
}
@supports not (border-end-end-radius: 0) {
  .amplify-menu__content__item:first-child {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
  }
}

.amplify-menu__content__item:last-child {
  border-start-end-radius: 0;
  border-start-start-radius: 0;
}
@supports not (border-end-end-radius: 0) {
  .amplify-menu__content__item:last-child {
    border-top-right-radius: 0;
    border-top-left-radius: 0;
  }
}

.amplify-message {
  align-items: var(--amplify-components-message-align-items);
  background-color: var(--amplify-components-message-background-color);
  color: var(--amplify-components-message-color);
  justify-content: var(--amplify-components-message-justify-content);
  padding-block: var(--amplify-components-message-padding-block);
  padding-inline: var(--amplify-components-message-padding-inline);
  border-color: var(--amplify-components-message-border-color);
  border-radius: var(--amplify-components-message-border-radius);
  border-style: var(--amplify-components-message-border-style);
  border-width: var(--amplify-components-message-border-width);
  line-height: var(--amplify-components-message-line-height);
}
.amplify-message--plain {
  background-color: var(--amplify-components-message-plain-background-color);
  border-color: var(--amplify-components-message-plain-border-color);
  color: var(--amplify-components-message-plain-color);
}
.amplify-message--plain.amplify-message--info {
  background-color: var(--amplify-components-message-plain-info-background-color);
  border-color: var(--amplify-components-message-plain-info-border-color);
  color: var(--amplify-components-message-plain-info-color);
}
.amplify-message--plain.amplify-message--error {
  background-color: var(--amplify-components-message-plain-error-background-color);
  border-color: var(--amplify-components-message-plain-error-border-color);
  color: var(--amplify-components-message-plain-error-color);
}
.amplify-message--plain.amplify-message--warning {
  background-color: var(--amplify-components-message-plain-warning-background-color);
  border-color: var(--amplify-components-message-plain-warning-border-color);
  color: var(--amplify-components-message-plain-warning-color);
}
.amplify-message--plain.amplify-message--success {
  background-color: var(--amplify-components-message-plain-success-background-color);
  border-color: var(--amplify-components-message-plain-success-border-color);
  color: var(--amplify-components-message-plain-success-color);
}
.amplify-message--outlined {
  background-color: var(--amplify-components-message-outlined-background-color);
  border-color: var(--amplify-components-message-outlined-border-color);
  color: var(--amplify-components-message-outlined-color);
}
.amplify-message--outlined.amplify-message--info {
  background-color: var(--amplify-components-message-outlined-info-background-color);
  border-color: var(--amplify-components-message-outlined-info-border-color);
  color: var(--amplify-components-message-outlined-info-color);
}
.amplify-message--outlined.amplify-message--error {
  background-color: var(--amplify-components-message-outlined-error-background-color);
  border-color: var(--amplify-components-message-outlined-error-border-color);
  color: var(--amplify-components-message-outlined-error-color);
}
.amplify-message--outlined.amplify-message--warning {
  background-color: var(--amplify-components-message-outlined-warning-background-color);
  border-color: var(--amplify-components-message-outlined-warning-border-color);
  color: var(--amplify-components-message-outlined-warning-color);
}
.amplify-message--outlined.amplify-message--success {
  background-color: var(--amplify-components-message-outlined-success-background-color);
  border-color: var(--amplify-components-message-outlined-success-border-color);
  color: var(--amplify-components-message-outlined-success-color);
}
.amplify-message--filled {
  background-color: var(--amplify-components-message-filled-background-color);
  border-color: var(--amplify-components-message-filled-border-color);
  color: var(--amplify-components-message-filled-color);
}
.amplify-message--filled.amplify-message--info {
  background-color: var(--amplify-components-message-filled-info-background-color);
  border-color: var(--amplify-components-message-filled-info-border-color);
  color: var(--amplify-components-message-filled-info-color);
}
.amplify-message--filled.amplify-message--error {
  background-color: var(--amplify-components-message-filled-error-background-color);
  border-color: var(--amplify-components-message-filled-error-border-color);
  color: var(--amplify-components-message-filled-error-color);
}
.amplify-message--filled.amplify-message--warning {
  background-color: var(--amplify-components-message-filled-warning-background-color);
  border-color: var(--amplify-components-message-filled-warning-border-color);
  color: var(--amplify-components-message-filled-warning-color);
}
.amplify-message--filled.amplify-message--success {
  background-color: var(--amplify-components-message-filled-success-background-color);
  border-color: var(--amplify-components-message-filled-success-border-color);
  color: var(--amplify-components-message-filled-success-color);
}

.amplify-message__icon {
  font-size: var(--amplify-components-message-icon-size);
}
.amplify-message__icon > * {
  display: block;
}

.amplify-message__heading {
  font-weight: var(--amplify-components-message-heading-font-weight);
  font-size: var(--amplify-components-message-heading-font-size);
}

.amplify-message__content {
  flex: 1;
  flex-direction: column;
  gap: var(--amplify-space-xxxs);
}

.amplify-message__dismiss {
  margin-inline-start: auto;
  gap: var(--amplify-components-message-dismiss-gap);
}

.amplify-pagination {
  list-style-type: none;
}
.amplify-pagination__item {
  height: var(--amplify-components-pagination-item-shared-height);
  min-width: var(--amplify-components-pagination-item-shared-min-width);
  border-radius: var(--amplify-components-pagination-item-shared-border-radius);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: initial;
  color: var(--amplify-components-pagination-button-color);
  margin-inline-start: var(--amplify-components-pagination-item-container-margin-left);
  margin-inline-end: var(--amplify-components-pagination-item-container-margin-right);
  padding-inline-start: var(--amplify-components-pagination-button-padding-inline-start);
  padding-inline-end: var(--amplify-components-pagination-button-padding-inline-end);
  transition-property: var(--amplify-components-pagination-button-transition-property);
  transition-duration: var(--amplify-components-pagination-button-transition-duration);
}
.amplify-pagination__item:hover {
  text-decoration: none;
  color: var(--amplify-components-pagination-button-hover-color);
  background-color: var(--amplify-components-pagination-button-hover-background-color);
}
.amplify-pagination__item--disabled {
  color: var(--amplify-components-pagination-button-disabled-color);
  pointer-events: none;
}
.amplify-pagination__item--current {
  align-items: var(--amplify-components-pagination-current-align-items);
  justify-content: var(--amplify-components-pagination-current-justify-content);
  color: var(--amplify-components-pagination-current-color);
  font-size: var(--amplify-components-pagination-current-font-size);
  background-color: var(--amplify-components-pagination-current-background-color);
}
.amplify-pagination__item--ellipsis {
  align-items: var(--amplify-components-pagination-ellipsis-align-items);
  justify-content: var(--amplify-components-pagination-ellipsis-justify-content);
  padding-inline-start: var(--amplify-components-pagination-ellipsis-padding-inline-start);
  padding-inline-end: var(--amplify-components-pagination-ellipsis-padding-inline-end);
}

.amplify-passwordfield {
  --amplify-components-fieldcontrol-color: var(
    --amplify-components-passwordfield-color
  );
  --amplify-components-button-color: var(
    --amplify-components-passwordfield-button-color
  );
  --amplify-components-button-active-background-color: var(
    --amplify-components-passwordfield-button-active-background-color
  );
  --amplify-components-button-active-border-color: var(
    --amplify-components-passwordfield-button-active-border-color
  );
  --amplify-components-button-active-color: var(
    --amplify-components-passwordfield-button-active-color
  );
  --amplify-components-button-disabled-background-color: var(
    --amplify-components-passwordfield-button-disabled-background-color
  );
  --amplify-components-button-disabled-border-color: var(
    --amplify-components-passwordfield-button-disabled-border-color
  );
  --amplify-components-button-disabled-color: var(
    --amplify-components-passwordfield-button-disabled-color
  );
  --amplify-components-button-focus-background-color: var(
    --amplify-components-passwordfield-button-focus-background-color
  );
  --amplify-components-button-focus-border-color: var(
    --amplify-components-passwordfield-button-focus-border-color
  );
  --amplify-components-button-focus-color: var(
    --amplify-components-passwordfield-button-focus-color
  );
  --amplify-components-button-hover-background-color: var(
    --amplify-components-passwordfield-button-hover-background-color
  );
  --amplify-components-button-hover-border-color: var(
    --amplify-components-passwordfield-button-hover-border-color
  );
  --amplify-components-button-hover-color: var(
    --amplify-components-passwordfield-button-hover-color
  );
  --amplify-components-button-outlined-error-color: var(
    --amplify-components-passwordfield-button-error-color
  );
  --amplify-components-button-outlined-error-border-color: var(
    --amplify-components-passwordfield-button-error-border-color
  );
  --amplify-components-button-outlined-error-background-color: var(
    --amplify-components-passwordfield-button-error-background-color
  );
  --amplify-components-button-outlined-error-active-color: var(
    --amplify-components-passwordfield-button-error-active-color
  );
  --amplify-components-button-outlined-error-active-border-color: var(
    --amplify-components-passwordfield-button-error-active-border-color
  );
  --amplify-components-button-outlined-error-active-background-color: var(
    --amplify-components-passwordfield-button-error-active-background-color
  );
  --amplify-components-button-outlined-error-hover-color: var(
    --amplify-components-passwordfield-button-error-hover-color
  );
  --amplify-components-button-outlined-error-hover-border-color: var(
    --amplify-components-passwordfield-button-error-hover-border-color
  );
  --amplify-components-button-outlined-error-hover-background-color: var(
    --amplify-components-passwordfield-button-error-hover-background-color
  );
  --amplify-components-button-outlined-error-focus-color: var(
    --amplify-components-passwordfield-button-error-focus-color
  );
  --amplify-components-button-outlined-error-focus-box-shadow: var(
    --amplify-components-passwordfield-button-error-focus-box-shadow
  );
  --amplify-components-button-outlined-error-focus-border-color: var(
    --amplify-components-passwordfield-button-error-focus-border-color
  );
  --amplify-components-button-outlined-error-focus-background-color: var(
    --amplify-components-passwordfield-button-error-focus-background-color
  );
}

.amplify-phonenumberfield select:not(:focus) {
  border-right: none;
}

.amplify-phonenumberfield {
  --amplify-components-selectfield-color: var(
    --amplify-components-phonenumberfield-color
  );
  --amplify-components-selectfield-border-color: var(
    --amplify-components-phonenumberfield-border-color
  );
  --amplify-components-selectfield-font-size: var(
    --amplify-components-phonenumberfield-font-size
  );
  --amplify-components-selectfield-focus-border-color: var(
    --amplify-components-phonenumberfield-focus-border-color
  );
  --amplify-components-textfield-color: var(
    --amplify-components-phonenumberfield-color
  );
  --amplify-components-textfield-border-color: var(
    --amplify-components-phonenumberfield-border-color
  );
  --amplify-components-textfield-font-size: var(
    --amplify-components-phonenumberfield-font-size
  );
  --amplify-components-textfield-focus-border-color: var(
    --amplify-components-phonenumberfield-focus-border-color
  );
}

.amplify-rating {
  display: flex;
  position: relative;
  text-align: left;
  font-size: var(--amplify-components-rating-default-size);
  line-height: var(--amplify-components-rating-default-size);
}
.amplify-rating--small {
  font-size: var(--amplify-components-rating-small-size);
  line-height: var(--amplify-components-rating-small-size);
}
.amplify-rating--large {
  font-size: var(--amplify-components-rating-large-size);
  line-height: var(--amplify-components-rating-large-size);
}
.amplify-rating__item {
  position: relative;
  height: 1em;
  width: 1em;
}
.amplify-rating__icon {
  width: 1em;
  height: 1em;
  display: block;
  position: absolute;
  overflow: hidden;
}
.amplify-rating__icon--filled {
  color: var(--amplify-components-rating-filled-color);
}
.amplify-rating__icon--empty {
  color: var(--amplify-components-rating-empty-color);
}

.amplify-radio {
  align-items: var(--amplify-components-radio-align-items);
  justify-content: var(--amplify-components-radio-justify-content);
  gap: inherit;
  flex-direction: row-reverse;
  position: relative;
}
.amplify-radio--disabled {
  cursor: var(--amplify-components-radio-disabled-cursor);
}

.amplify-radio__button {
  flex-shrink: 0;
  align-items: var(--amplify-components-radio-button-align-items);
  justify-content: var(--amplify-components-radio-button-justify-content);
  padding: var(--amplify-components-radio-button-padding);
  box-sizing: var(--amplify-components-radio-button-box-sizing);
  border-width: var(--amplify-components-radio-button-border-width);
  border-style: var(--amplify-components-radio-button-border-style);
  border-radius: var(--amplify-components-radio-button-border-radius);
  border-color: var(--amplify-components-radio-button-border-color);
  color: var(--amplify-components-radio-button-color);
  background-color: var(--amplify-components-radio-button-background-color);
  transition-property: var(--amplify-components-radio-button-transition-property);
  transition-duration: var(--amplify-components-radio-button-transition-duration);
  width: var(--amplify-components-radio-button-width);
  height: var(--amplify-components-radio-button-height);
  outline-color: var(--amplify-components-radio-button-outline-color);
  outline-style: var(--amplify-components-radio-button-outline-style);
  outline-width: var(--amplify-components-radio-button-outline-width);
  outline-offset: var(--amplify-components-radio-button-outline-offset);
}
.amplify-radio__button::before {
  content: "";
  display: inline-block;
  width: 100%;
  height: 100%;
  border-radius: var(--amplify-components-radio-button-before-border-radius);
  background-color: currentColor;
  border-radius: 50%;
}
.amplify-radio__button--small {
  width: var(--amplify-components-radio-button-small-width);
  height: var(--amplify-components-radio-button-small-height);
}
.amplify-radio__button--large {
  width: var(--amplify-components-radio-button-large-width);
  height: var(--amplify-components-radio-button-large-height);
}

.amplify-radio__input:checked + .amplify-radio__button {
  color: var(--amplify-components-radio-button-checked-color);
}

.amplify-radio__input:checked:disabled + .amplify-radio__button {
  color: var(--amplify-components-radio-button-checked-disabled-color);
}

.amplify-radio__input:focus + .amplify-radio__button {
  border-color: var(--amplify-components-radio-button-focus-border-color);
  box-shadow: var(--amplify-components-radio-button-focus-box-shadow);
}

.amplify-radio__input[aria-invalid=true] + .amplify-radio__button {
  border-color: var(--amplify-components-radio-button-error-border-color);
}

.amplify-radio__input[aria-invalid=true]:focus + .amplify-radio__button {
  box-shadow: var(--amplify-components-radio-button-error-focus-box-shadow);
}

.amplify-radio__input:disabled + .amplify-radio__button {
  border-color: var(--amplify-components-radio-button-disabled-border-color);
  background-color: var(--amplify-components-radio-button-disabled-background-color);
}

.amplify-radio__label {
  color: var(--amplify-components-radio-label-color);
}
.amplify-radio__label--disabled {
  color: var(--amplify-components-radio-label-disabled-color);
}

.amplify-radiogroup {
  gap: inherit;
  flex-direction: inherit;
  align-items: inherit;
}

.amplify-radiogroupfield {
  flex-direction: column;
  align-items: flex-start;
  --amplify-components-fieldset-legend-color: var(
    --amplify-components-radiogroup-legend-color
  );
  --amplify-components-fieldset-legend-font-weight: var(
    --amplify-components-radiogroup-legend-font-weight
  );
  --amplify-components-radio-button-border-width: var(
    --amplify-components-radiogroup-radio-border-width
  );
  --amplify-components-radio-button-border-color: var(
    --amplify-components-radiogroup-radio-border-color
  );
  --amplify-components-radio-button-background-color: var(
    --amplify-components-radiogroup-radio-background-color
  );
  --amplify-components-radio-label-color: var(
    --amplify-components-radiogroup-radio-label-color
  );
  --amplify-components-radio-button-checked-color: var(
    --amplify-components-radiogroup-radio-checked-color
  );
}

.amplify-searchfield {
  --amplify-components-fieldcontrol-color: var(
    --amplify-components-searchfield-input-color
  );
}
.amplify-searchfield__search {
  color: var(--amplify-components-searchfield-button-color);
  background-color: var(--amplify-components-searchfield-button-background-color);
}
.amplify-searchfield__search:active {
  background-color: var(--amplify-components-button-active-background-color);
  border-color: var(--amplify-components-button-active-border-color);
  color: var(--amplify-components-button-active-color);
}
.amplify-searchfield__search:focus {
  background-color: var(--amplify-components-searchfield-button-focus-background-color);
  border-color: var(--amplify-components-searchfield-button-focus-border-color);
  color: var(--amplify-components-searchfield-button-focus-color);
}
.amplify-searchfield__search:hover {
  background-color: var(--amplify-components-searchfield-button-hover-background-color);
  border-color: var(--amplify-components-searchfield-button-hover-border-color);
  color: var(--amplify-components-searchfield-button-hover-color);
}
.amplify-searchfield__search:disabled {
  background-color: var(--amplify-components-searchfield-button-disabled-background-color);
  border-color: var(--amplify-components-searchfield-button-disabled-border-color);
  color: var(--amplify-components-searchfield-button-disabled-color);
}

.amplify-select__wrapper {
  flex: var(--amplify-components-select-wrapper-flex);
  display: var(--amplify-components-select-wrapper-display);
  position: var(--amplify-components-select-wrapper-position);
  cursor: var(--amplify-components-select-wrapper-cursor);
  align-self: stretch;
}

.amplify-select__icon {
  color: var(--amplify-components-fieldcontrol-color);
  align-items: var(--amplify-components-select-icon-wrapper-align-items);
  position: var(--amplify-components-select-icon-wrapper-position);
  top: var(--amplify-components-select-icon-wrapper-top);
  right: var(--amplify-components-select-icon-wrapper-right);
  transform: var(--amplify-components-select-icon-wrapper-transform);
  pointer-events: var(--amplify-components-select-icon-wrapper-pointer-events);
}
.amplify-select__icon--small {
  right: var(--amplify-components-select-icon-wrapper-small-right);
}
.amplify-select__icon--large {
  right: var(--amplify-components-select-icon-wrapper-large-right);
}

.amplify-select {
  box-sizing: border-box;
  color: var(--amplify-components-fieldcontrol-color);
  font-size: var(--amplify-components-fieldcontrol-font-size);
  line-height: var(--amplify-components-fieldcontrol-line-height);
  padding-block-start: var(--amplify-components-fieldcontrol-padding-block-start);
  padding-block-end: var(--amplify-components-fieldcontrol-padding-block-end);
  padding-inline-start: var(--amplify-components-fieldcontrol-padding-inline-start);
  padding-inline-end: var(--amplify-components-fieldcontrol-padding-inline-end);
  transition: all var(--amplify-components-fieldcontrol-transition-duration);
  width: 100%;
  border-color: var(--amplify-components-fieldcontrol-border-color);
  border-radius: var(--amplify-components-fieldcontrol-border-radius);
  border-style: var(--amplify-components-fieldcontrol-border-style);
  border-width: var(--amplify-components-fieldcontrol-border-width);
  outline-color: var(--amplify-components-fieldcontrol-outline-color);
  outline-style: var(--amplify-components-fieldcontrol-outline-style);
  outline-width: var(--amplify-components-fieldcontrol-outline-width);
  outline-offset: var(--amplify-components-fieldcontrol-outline-offset);
  background-color: var(--amplify-components-select-background-color);
  color: var(--amplify-components-select-color);
  min-width: var(--amplify-components-select-min-width);
  padding-inline-end: var(--amplify-components-select-padding-inline-end);
  white-space: var(--amplify-components-select-white-space);
}
.amplify-select:focus {
  border-color: var(--amplify-components-fieldcontrol-focus-border-color);
  box-shadow: var(--amplify-components-fieldcontrol-focus-box-shadow);
}
.amplify-select--small {
  font-size: var(--amplify-components-fieldcontrol-small-font-size);
  padding-block-start: var(--amplify-components-fieldcontrol-small-padding-block-start);
  padding-block-end: var(--amplify-components-fieldcontrol-small-padding-block-end);
  padding-inline-start: var(--amplify-components-fieldcontrol-small-padding-inline-start);
  padding-inline-end: var(--amplify-components-fieldcontrol-small-padding-inline-end);
}
.amplify-select--large {
  font-size: var(--amplify-components-fieldcontrol-large-font-size);
  padding-block-start: var(--amplify-components-fieldcontrol-large-padding-block-start);
  padding-block-end: var(--amplify-components-fieldcontrol-large-padding-block-end);
  padding-inline-start: var(--amplify-components-fieldcontrol-large-padding-inline-start);
  padding-inline-end: var(--amplify-components-fieldcontrol-large-padding-inline-end);
}
.amplify-select--error {
  border-color: var(--amplify-components-fieldcontrol-error-border-color);
}
.amplify-select--error:focus {
  border-color: var(--amplify-components-fieldcontrol-error-border-color);
  box-shadow: var(--amplify-components-fieldcontrol-error-focus-box-shadow);
}
.amplify-select--quiet {
  border-block-start: var(--amplify-components-fieldcontrol-quiet-border-block-start);
  border-inline-start: var(--amplify-components-fieldcontrol-quiet-border-inline-start);
  border-inline-end: var(--amplify-components-fieldcontrol-quiet-border-inline-end);
  border-radius: var(--amplify-components-fieldcontrol-quiet-border-radius);
}
.amplify-select--quiet:focus {
  border-block-end-color: var(--amplify-components-fieldcontrol-quiet-focus-border-block-end-color);
  box-shadow: var(--amplify-components-fieldcontrol-quiet-focus-box-shadow);
}
.amplify-select--quiet[aria-invalid=true] {
  border-block-end-color: var(--amplify-components-fieldcontrol-quiet-error-border-block-end-color);
}
.amplify-select--quiet[aria-invalid=true]:focus {
  border-block-end-color: var(--amplify-components-fieldcontrol-quiet-error-focus-border-block-end-color);
  box-shadow: var(--amplify-components-fieldcontrol-quiet-error-focus-box-shadow);
}
.amplify-select[disabled] {
  color: var(--amplify-components-fieldcontrol-disabled-color);
  cursor: var(--amplify-components-fieldcontrol-disabled-cursor);
  border-color: var(--amplify-components-fieldcontrol-disabled-border-color);
  background-color: var(--amplify-components-fieldcontrol-disabled-background-color);
}
.amplify-select option {
  background-color: var(--amplify-components-select-option-background-color);
  color: var(--amplify-components-select-option-color);
}
.amplify-select option[disabled=""] {
  background-color: var(--amplify-components-select-option-disabled-background-color);
  color: var(--amplify-components-select-option-disabled-color);
  cursor: var(--amplify-components-fieldcontrol-disabled-cursor);
}
.amplify-select[disabled] {
  background-color: var(--amplify-components-select-disabled-background-color);
  color: var(--amplify-components-select-disabled-color);
}
.amplify-select[disabled] option {
  color: inherit;
  background-color: inherit;
}
.amplify-select--small {
  min-width: var(--amplify-components-select-small-min-width);
  padding-inline-end: var(--amplify-components-select-small-padding-inline-end);
}
.amplify-select--large {
  min-width: var(--amplify-components-select-large-min-width);
  padding-inline-end: var(--amplify-components-select-large-padding-inline-end);
}
.amplify-select--expanded {
  overflow: auto;
  padding: var(--amplify-components-select-expanded-padding-block) var(--amplify-components-select-expanded-padding-inline);
}
.amplify-select--expanded option {
  padding: var(--amplify-components-select-expanded-option-padding-block) var(--amplify-components-select-expanded-option-padding-inline);
}

.amplify-selectfield {
  flex-direction: var(--amplify-components-selectfield-flex-direction);
  --amplify-components-fieldcontrol-border-color: var(
    --amplify-components-selectfield-border-color
  );
  --amplify-components-fieldcontrol-color: var(
    --amplify-components-selectfield-color
  );
  --amplify-components-fieldcontrol-font-size: var(
    --amplify-components-selectfield-font-size
  );
  --amplify-components-fieldcontrol-focus-border-color: var(
    --amplify-components-selectfield-focus-border-color
  );
  --amplify-components-field-label-color: var(
    --amplify-components-selectfield-label-color
  );
}

.amplify-sliderfield {
  flex-direction: column;
}

.amplify-sliderfield__label {
  display: flex;
  justify-content: space-between;
}

.amplify-sliderfield__root {
  align-items: center;
  box-sizing: content-box;
  display: flex;
  padding-block: var(--amplify-components-sliderfield-padding-block);
  position: relative;
  touch-action: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  --amplify-internal-sliderfield-root-height: var(
    --amplify-components-sliderfield-thumb-height
  );
  --amplify-internal-sliderfield-root-width: var(
    --amplify-components-sliderfield-thumb-height
  );
}
.amplify-sliderfield__root--disabled {
  cursor: not-allowed;
}
.amplify-sliderfield__root--horizontal {
  height: var(--amplify-internal-sliderfield-root-height);
}
.amplify-sliderfield__root--vertical {
  flex-direction: column;
  width: var(--amplify-internal-sliderfield-root-width);
}
.amplify-sliderfield__root--large {
  --amplify-internal-sliderfield-root-height: var(
    --amplify-components-sliderfield-large-thumb-height
  );
  --amplify-internal-sliderfield-root-width: var(
    --amplify-components-sliderfield-large-thumb-height
  );
}
.amplify-sliderfield__root--small {
  --amplify-internal-sliderfield-root-height: var(
    --amplify-components-sliderfield-small-thumb-height
  );
  --amplify-internal-sliderfield-root-width: var(
    --amplify-components-sliderfield-small-thumb-height
  );
}

.amplify-sliderfield__track {
  position: relative;
  flex-grow: 1;
  border-radius: var(--amplify-components-sliderfield-track-border-radius);
  background-color: var(--amplify-components-sliderfield-track-background-color);
  --amplify-internal-sliderfield-track-height: var(
    --amplify-components-sliderfield-track-height
  );
  --amplify-internal-sliderfield-track-min-width: var(
    --amplify-components-sliderfield-track-min-width
  );
  --amplify-internal-sliderfield-track-width: var(
    --amplify-components-sliderfield-track-height
  );
  --amplify-internal-sliderfield-track-min-height: var(
    --amplify-components-sliderfield-track-min-width
  );
}
.amplify-sliderfield__track--horizontal {
  height: var(--amplify-internal-sliderfield-track-height);
  min-width: var(--amplify-internal-sliderfield-track-min-width);
}
.amplify-sliderfield__track--vertical {
  width: var(--amplify-internal-sliderfield-track-width);
  min-height: var(--amplify-internal-sliderfield-track-min-height);
}
.amplify-sliderfield__track--large {
  --amplify-internal-sliderfield-track-height: var(
    --amplify-components-sliderfield-large-track-height
  );
  --amplify-internal-sliderfield-track-width: var(
    --amplify-components-sliderfield-large-track-height
  );
}
.amplify-sliderfield__track--small {
  --amplify-internal-sliderfield-track-height: var(
    --amplify-components-sliderfield-small-track-height
  );
  --amplify-internal-sliderfield-track-width: var(
    --amplify-components-sliderfield-small-track-height
  );
}

.amplify-sliderfield__range {
  position: absolute;
  border-radius: var(--amplify-components-sliderfield-range-border-radius);
  background-color: var(--amplify-components-sliderfield-range-background-color);
}
.amplify-sliderfield__range--disabled {
  background-color: var(--amplify-components-sliderfield-range-disabled-background-color);
}
.amplify-sliderfield__range--horizontal {
  height: 100%;
}
.amplify-sliderfield__range--vertical {
  width: 100%;
}

.amplify-sliderfield__thumb {
  display: block;
  width: var(--amplify-components-sliderfield-thumb-width);
  height: var(--amplify-components-sliderfield-thumb-height);
  background-color: var(--amplify-components-sliderfield-thumb-background-color);
  box-shadow: var(--amplify-components-sliderfield-thumb-box-shadow);
  border-radius: var(--amplify-components-sliderfield-thumb-border-radius);
  border-width: var(--amplify-components-sliderfield-thumb-border-width);
  border-color: var(--amplify-components-sliderfield-thumb-border-color);
  border-style: var(--amplify-components-sliderfield-thumb-border-style);
}
.amplify-sliderfield__thumb:hover {
  background-color: var(--amplify-components-sliderfield-thumb-hover-background-color);
  border-color: var(--amplify-components-sliderfield-thumb-hover-border-color);
}
.amplify-sliderfield__thumb:focus {
  border-color: var(--amplify-components-sliderfield-thumb-focus-border-color);
  box-shadow: var(--amplify-components-sliderfield-thumb-focus-box-shadow);
}
.amplify-sliderfield__thumb--disabled {
  background-color: var(--amplify-components-sliderfield-thumb-disabled-background-color);
  border-color: var(--amplify-components-sliderfield-thumb-disabled-border-color);
  box-shadow: var(--amplify-components-sliderfield-thumb-disabled-box-shadow);
}
.amplify-sliderfield__thumb--large {
  width: var(--amplify-components-sliderfield-large-thumb-width);
  height: var(--amplify-components-sliderfield-large-thumb-height);
}
.amplify-sliderfield__thumb--small {
  width: var(--amplify-components-sliderfield-small-thumb-width);
  height: var(--amplify-components-sliderfield-small-thumb-height);
}

.amplify-stepperfield {
  flex-direction: var(--amplify-components-stepperfield-flex-direction);
  --amplify-components-fieldcontrol-border-color: var(
    --amplify-components-stepperfield-border-color
  );
  --amplify-components-button-border-color: var(
    --amplify-components-stepperfield-border-color
  );
  --amplify-components-fieldcontrol-color: var(
    --amplify-components-stepperfield-input-color
  );
  --amplify-components-fieldcontrol-font-size: var(
    --amplify-components-stepperfield-input-font-size
  );
  --amplify-components-button-color: var(
    --amplify-components-stepperfield-button-color
  );
  --amplify-components-button-active-color: var(
    --amplify-components-stepperfield-button-active-color
  );
  --amplify-components-button-active-background-color: var(
    --amplify-components-stepperfield-button-active-background-color
  );
  --amplify-components-button-focus-color: var(
    --amplify-components-stepperfield-button-focus-color
  );
  --amplify-components-button-focus-background-color: var(
    --amplify-components-stepperfield-button-focus-background-color
  );
  --amplify-components-button-disabled-color: var(
    --amplify-components-stepperfield-button-disabled-color
  );
  --amplify-components-button-disabled-background-color: var(
    --amplify-components-stepperfield-button-disabled-background-color
  );
  --amplify-components-button-hover-color: var(
    --amplify-components-stepperfield-button-hover-color
  );
  --amplify-components-button-hover-background-color: var(
    --amplify-components-stepperfield-button-hover-background-color
  );
}

.amplify-stepperfield__button--decrease,
.amplify-stepperfield__button--increase {
  background-color: var(--amplify-components-stepperfield-button-background-color);
}
.amplify-stepperfield__button--decrease--disabled,
.amplify-stepperfield__button--increase--disabled {
  background-color: var(--amplify-components-stepperfield-button-disabled-background-color);
}
.amplify-stepperfield__button--decrease--quiet,
.amplify-stepperfield__button--increase--quiet {
  border-width: 0 0 var(--amplify-components-button-border-width) 0;
  border-radius: 0;
}

.amplify-stepperfield__button--decrease[data-invalid=true] {
  border-inline-end: none;
}

.amplify-stepperfield__button--increase[data-invalid=true] {
  border-inline-start: none;
}

.amplify-stepperfield__input {
  -moz-appearance: textfield;
  text-align: var(--amplify-components-stepperfield-input-text-align);
}
.amplify-stepperfield__input::-webkit-outer-spin-button, .amplify-stepperfield__input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.amplify-stepperfield__input:not(:focus, [aria-invalid=true]) {
  border-inline-start: none;
  border-inline-end: none;
}

.amplify-switchfield {
  display: inline-block;
  font-size: var(--amplify-components-switchfield-font-size);
  cursor: pointer;
}
.amplify-switchfield--small {
  font-size: var(--amplify-components-switchfield-small-font-size);
}
.amplify-switchfield--large {
  font-size: var(--amplify-components-switchfield-large-font-size);
}

.amplify-switch__wrapper {
  display: inline-flex;
  align-items: center;
}
.amplify-switch__wrapper--start {
  flex-direction: row;
}
.amplify-switch__wrapper--end {
  flex-direction: row-reverse;
}
.amplify-switch__wrapper--top {
  flex-direction: column;
}
.amplify-switch__wrapper--bottom {
  flex-direction: column-reverse;
}

.amplify-switch__track {
  display: inline-flex;
  justify-content: flex-start;
  box-sizing: content-box;
  border-radius: var(--amplify-components-switchfield-track-border-radius);
  padding: var(--amplify-components-switchfield-track-padding);
  width: var(--amplify-components-switchfield-track-width);
  height: var(--amplify-components-switchfield-track-height);
  transition-duration: var(--amplify-components-switchfield-track-transition-duration);
  background-color: var(--amplify-components-switchfield-track-background-color);
}
.amplify-switch__track--checked {
  background-color: var(--amplify-components-switchfield-track-checked-background-color);
}
.amplify-switch__track--disabled {
  opacity: var(--amplify-components-switchfield-disabled-opacity);
  cursor: not-allowed;
}
.amplify-switch__track--focused {
  box-shadow: var(--amplify-components-switchfield-focused-shadow);
}
.amplify-switch__track--error {
  background-color: var(--amplify-components-switchfield-track-error-background-color);
}

.amplify-switch__thumb {
  background-color: var(--amplify-components-switchfield-thumb-background-color);
  transition-duration: var(--amplify-components-switchfield-thumb-transition-duration);
  border-radius: var(--amplify-components-switchfield-thumb-border-radius);
  width: var(--amplify-components-switchfield-thumb-width);
  height: var(--amplify-components-switchfield-thumb-width);
  border-width: var(--amplify-components-switchfield-thumb-border-width);
  border-style: var(--amplify-components-switchfield-thumb-border-style);
  border-color: var(--amplify-components-switchfield-thumb-border-color);
  overflow-wrap: break-word;
}
.amplify-switch__thumb--checked {
  transform: var(--amplify-components-switchfield-thumb-checked-transform);
}
.amplify-switch__thumb--disabled {
  cursor: not-allowed;
}

.amplify-switch__label {
  padding: var(--amplify-components-switchfield-label-padding);
  cursor: pointer;
}

.amplify-table {
  /**
   * Default Table primitive stylings
   */
  border-collapse: var(--amplify-components-table-border-collapse);
  display: var(--amplify-components-table-display);
  width: var(--amplify-components-table-width);
  --amplify-internal-table-caption-font-size: var(
    --amplify-components-table-caption-font-size
  );
  --amplify-internal-table-th-font-size: var(
    --amplify-components-table-header-font-size
  );
  --amplify-internal-table-th-padding: var(
    --amplify-components-table-header-padding
  );
  --amplify-internal-table-td-font-size: var(
    --amplify-components-table-data-font-size
  );
  --amplify-internal-table-td-padding: var(
    --amplify-components-table-data-padding
  );
  --amplify-internal-table-td-border-width: var(
      --amplify-components-table-data-border-width
    )
    0px var(--amplify-components-table-data-border-width) 0px;
  --amplify-internal-table-th-border-width: var(
      --amplify-components-table-header-border-width
    )
    0px var(--amplify-components-table-header-border-width) 0px;
  /**
   * Data attribute stylings
   */
}
.amplify-table--small {
  --amplify-internal-table-caption-font-size: var(
    --amplify-components-table-caption-small-font-size
  );
  --amplify-internal-table-th-font-size: var(
    --amplify-components-table-header-small-font-size
  );
  --amplify-internal-table-th-padding: var(
    --amplify-components-table-header-small-padding
  );
  --amplify-internal-table-td-font-size: var(
    --amplify-components-table-data-small-font-size
  );
  --amplify-internal-table-td-padding: var(
    --amplify-components-table-data-small-padding
  );
}
.amplify-table--large {
  --amplify-internal-table-caption-font-size: var(
    --amplify-components-table-caption-large-font-size
  );
  --amplify-internal-table-th-font-size: var(
    --amplify-components-table-header-large-font-size
  );
  --amplify-internal-table-th-padding: var(
    --amplify-components-table-header-large-padding
  );
  --amplify-internal-table-td-font-size: var(
    --amplify-components-table-data-large-font-size
  );
  --amplify-internal-table-td-padding: var(
    --amplify-components-table-data-large-padding
  );
}
.amplify-table--bordered {
  --amplify-internal-table-td-border-width: var(
      --amplify-components-table-data-border-width
    )
    var(--amplify-components-table-data-border-width)
    var(--amplify-components-table-data-border-width)
    var(--amplify-components-table-data-border-width);
  --amplify-internal-table-th-border-width: var(
      --amplify-components-table-header-border-width
    )
    var(--amplify-components-table-header-border-width)
    var(--amplify-components-table-header-border-width)
    var(--amplify-components-table-header-border-width);
}
.amplify-table--striped .amplify-table__row:not(.amplify-table__head *):nth-child(odd) {
  background-color: var(--amplify-components-table-row-striped-background-color);
}
.amplify-table__caption {
  caption-side: var(--amplify-components-table-caption-caption-side);
  color: var(--amplify-components-table-caption-color);
  display: var(--amplify-components-table-caption-display);
  font-size: var(--amplify-internal-table-caption-font-size);
  text-align: var(--amplify-components-table-caption-text-align);
  word-break: var(--amplify-components-table-caption-word-break);
}
.amplify-table__head {
  display: var(--amplify-components-table-head-display);
  vertical-align: var(--amplify-components-table-head-vertical-align);
}
.amplify-table__body {
  display: var(--amplify-components-table-body-display);
  vertical-align: var(--amplify-components-table-body-vertical-align);
}
.amplify-table__foot {
  display: var(--amplify-components-table-foot-display);
  vertical-align: var(--amplify-components-table-foot-vertical-align);
}
.amplify-table__row {
  display: var(--amplify-components-table-row-display);
  vertical-align: var(--amplify-components-table-row-vertical-align);
}
.amplify-table__th {
  border-color: var(--amplify-components-table-header-border-color);
  border-style: var(--amplify-components-table-header-border-style);
  border-width: var(--amplify-internal-table-th-border-width);
  color: var(--amplify-components-table-header-color);
  display: var(--amplify-components-table-header-display);
  font-size: var(--amplify-internal-table-th-font-size);
  font-weight: var(--amplify-components-table-header-font-weight);
  padding: var(--amplify-internal-table-th-padding);
  vertical-align: var(--amplify-components-table-header-vertical-align);
}
.amplify-table__th:first-child {
  border-left-width: var(--amplify-components-table-header-border-width);
}
.amplify-table__th:last-child {
  border-right-width: var(--amplify-components-table-header-border-width);
}
.amplify-table__td {
  border-color: var(--amplify-components-table-data-border-color);
  border-style: var(--amplify-components-table-data-border-style);
  border-width: var(--amplify-internal-table-td-border-width);
  color: var(--amplify-components-table-data-color);
  display: var(--amplify-components-table-data-display);
  font-size: var(--amplify-internal-table-td-font-size);
  font-weight: var(--amplify-components-table-data-font-weight);
  padding: var(--amplify-internal-table-td-padding);
  vertical-align: var(--amplify-components-table-data-vertical-align);
}
.amplify-table__td:first-child {
  border-left-width: var(--amplify-components-table-data-border-width);
}
.amplify-table__td:last-child {
  border-right-width: var(--amplify-components-table-data-border-width);
}
.amplify-table[data-highlightonhover=true] .amplify-table__row:not(.amplify-table__head *):hover {
  background-color: var(--amplify-components-table-row-hover-background-color);
}

.amplify-tabs__list {
  --internal-item-margin-start: 0;
  --internal-item-margin-end: calc(
    -1 * var(--amplify-components-tabs-item-border-width)
  );
  --internal-item-border-width: 0 0
    var(--amplify-components-tabs-border-width) 0;
  --internal-item-flex: initial;
  display: flex;
  flex-direction: row;
  background-color: var(--amplify-components-tabs-background-color);
  box-shadow: var(--amplify-components-tabs-box-shadow);
  border-width: var(--internal-item-border-width);
  border-style: var(--amplify-components-tabs-border-style);
  border-color: var(--amplify-components-tabs-border-color);
  gap: var(--amplify-components-tabs-gap);
}
.amplify-tabs__list--top {
  --internal-item-border-width: var(--amplify-components-tabs-border-width)
    0 0 0;
  --internal-item-margin-start: calc(
    -1 * var(--amplify-components-tabs-item-border-width)
  );
  --internal-item-margin-end: 0;
}
.amplify-tabs__list--equal {
  --internal-item-flex: 1 1 0;
}
.amplify-tabs__list--relative {
  --internal-item-flex: 1 1 auto;
}
.amplify-tabs__panel {
  display: none;
  background-color: var(--amplify-components-tabs-panel-background-color);
  padding-inline: var(--amplify-components-tabs-panel-padding-inline);
  padding-block: var(--amplify-components-tabs-panel-padding-block);
}
.amplify-tabs__panel--active {
  display: block;
}
.amplify-tabs__item {
  position: relative;
  background-color: var(--amplify-components-tabs-item-background-color);
  box-sizing: border-box;
  color: var(--amplify-components-tabs-item-color);
  font-size: var(--amplify-components-tabs-item-font-size);
  font-weight: var(--amplify-components-tabs-item-font-weight);
  padding: var(--amplify-components-tabs-item-padding-vertical) var(--amplify-components-tabs-item-padding-horizontal);
  text-align: var(--amplify-components-tabs-item-text-align);
  transition: all var(--amplify-components-tabs-item-transition-duration);
  border-width: var(--internal-item-border-width);
  border-style: var(--amplify-components-tabs-item-border-style);
  border-color: var(--amplify-components-tabs-item-border-color);
  flex: var(--internal-item-flex);
  margin-block-start: var(--internal-item-margin-start);
  margin-block-end: var(--internal-item-margin-end);
}
.amplify-tabs__item--active {
  color: var(--amplify-components-tabs-item-active-color);
  border-color: var(--amplify-components-tabs-item-active-border-color);
  background-color: var(--amplify-components-tabs-item-active-background-color);
  transition-property: none;
}
.amplify-tabs__item:hover {
  color: var(--amplify-components-tabs-item-hover-color);
  cursor: pointer;
}
.amplify-tabs__item:focus-visible {
  z-index: 2;
  color: var(--amplify-components-tabs-item-focus-color);
  background-color: var(--amplify-components-tabs-item-focus-background-color);
  border-color: var(--amplify-components-tabs-item-focus-border-color);
  box-shadow: var(--amplify-components-tabs-item-focus-box-shadow);
}
.amplify-tabs__item:active {
  background-color: var(--amplify-components-tabs-item-active-background-color);
  border-color: var(--amplify-components-tabs-item-active-border-color);
  box-shadow: var(--amplify-components-tabs-item-active-box-shadow);
  color: var(--amplify-components-tabs-item-active-color);
}
.amplify-tabs__item[disabled] {
  background-color: var(--amplify-components-tabs-item-disabled-background-color);
  border-color: var(--amplify-components-tabs-item-disabled-border-color);
  box-shadow: var(--amplify-components-tabs-item-disabled-box-shadow);
  color: var(--amplify-components-tabs-item-disabled-color);
  cursor: not-allowed;
}

.amplify-textareafield {
  max-height: 100%;
  flex-direction: column;
  --amplify-components-fieldcontrol-color: var(
    --amplify-components-textareafield-color
  );
  --amplify-components-fieldcontrol-border-color: var(
    --amplify-components-textareafield-border-color
  );
  --amplify-components-fieldcontrol-focus-border-color: var(
    --amplify-components-textareafield-focus-border-color
  );
}

.amplify-textfield {
  --amplify-components-fieldcontrol-color: var(
    --amplify-components-textfield-color
  );
  --amplify-components-fieldcontrol-border-color: var(
    --amplify-components-textfield-border-color
  );
  --amplify-components-fieldcontrol-font-size: var(
    --amplify-components-textfield-font-size
  );
  --amplify-components-fieldcontrol-focus-border-color: var(
    --amplify-components-textfield-focus-border-color
  );
}

.amplify-togglebutton {
  --amplify-internal-togglebutton-background-color: initial;
  --amplify-internal-togglebutton-border-color: var(
    --amplify-components-togglebutton-border-color
  );
  --amplify-internal-togglebutton-color: var(
    --amplify-components-togglebutton-color
  );
  background-color: var(--amplify-internal-togglebutton-background-color);
  border-color: var(--amplify-internal-togglebutton-border-color);
  color: var(--amplify-internal-togglebutton-color);
  --amplify-internal-togglebutton-focus-background-color: var(
    --amplify-internal-togglebutton-background-color
  );
  --amplify-internal-togglebutton-focus-border-color: var(
    --amplify-components-togglebutton-focus-border-color
  );
  --amplify-internal-togglebutton-focus-color: var(
    --amplify-components-togglebutton-focus-color
  );
  --amplify-internal-togglebutton-hover-background-color: var(
    --amplify-components-togglebutton-hover-background-color
  );
  --amplify-internal-togglebutton-hover-border-color: var(
    --amplify-internal-togglebutton-border-color
  );
  --amplify-internal-togglebutton-hover-color: var(
    --amplify-internal-togglebutton-color
  );
  --amplify-internal-togglebutton-active-background-color: var(
    --amplify-components-togglebutton-active-background-color
  );
  --amplify-internal-togglebutton-disabled-background-color: var(
    --amplify-components-togglebutton-disabled-background-color
  );
  --amplify-internal-togglebutton-disabled-border-color: var(
    --amplify-components-togglebutton-disabled-border-color
  );
  --amplify-internal-togglebutton-disabled-color: var(
    --amplify-components-togglebutton-disabled-color
  );
}
.amplify-togglebutton:focus {
  background-color: var(--amplify-internal-togglebutton-focus-background-color);
  border-color: var(--amplify-internal-togglebutton-focus-border-color);
  color: var(--amplify-internal-togglebutton-focus-color);
}
.amplify-togglebutton:hover {
  background-color: var(--amplify-internal-togglebutton-hover-background-color);
  border-color: var(--amplify-internal-togglebutton-hover-border-color);
  color: var(--amplify-internal-togglebutton-hover-color);
}
.amplify-togglebutton:active {
  background-color: var(--amplify-internal-togglebutton-active-background-color);
}
.amplify-togglebutton:disabled {
  background-color: var(--amplify-internal-togglebutton-disabled-background-color);
  border-color: var(--amplify-internal-togglebutton-disabled-border-color);
  color: var(--amplify-internal-togglebutton-disabled-color);
}
.amplify-togglebutton--pressed {
  --amplify-internal-togglebutton-border-color: var(
    --amplify-components-togglebutton-pressed-border-color
  );
  --amplify-internal-togglebutton-background-color: var(
    --amplify-components-togglebutton-pressed-background-color
  );
  --amplify-internal-togglebutton-color: var(
    --amplify-components-togglebutton-pressed-color
  );
  --amplify-internal-togglebutton-hover-background-color: var(
    --amplify-components-togglebutton-pressed-hover-background-color
  );
  --amplify-internal-togglebutton-disabled-background-color: var(
    --amplify-components-togglebutton-pressed-background-color
  );
  --amplify-internal-togglebutton-disabled-border-color: var(
    --amplify-components-togglebutton-pressed-border-color
  );
  --amplify-internal-togglebutton-disabled-color: var(
    --amplify-components-togglebutton-pressed-color
  );
}
.amplify-togglebutton--primary {
  --amplify-internal-togglebutton-primary-background-color: var(
    --amplify-components-togglebutton-primary-background-color
  );
  --amplify-internal-togglebutton-background-color: var(
    --amplify-internal-togglebutton-primary-background-color
  );
  --amplify-internal-togglebutton-primary-border-color: var(
    --amplify-components-togglebutton-border-color
  );
  --amplify-internal-togglebutton-border-color: var(
    --amplify-internal-togglebutton-primary-border-color
  );
  --amplify-internal-togglebutton-primary-color: var(
    --amplify-components-togglebutton-color
  );
  --amplify-internal-togglebutton-color: var(
    --amplify-internal-togglebutton-primary-color
  );
  border-width: var(--amplify-components-togglebutton-primary-border-width);
  --amplify-internal-togglebutton-primary-focus-background-color: var(
    --amplify-components-togglebutton-primary-focus-background-color
  );
  --amplify-internal-togglebutton-primary-focus-border-color: var(
    --amplify-components-togglebutton-primary-focus-border-color
  );
  --amplify-internal-togglebutton-primary-focus-color: var(
    --amplify-components-togglebutton-primary-focus-color
  );
  --amplify-internal-togglebutton-primary-focus-box-shadow: var(
    --amplify-components-togglebutton-primary-focus-box-shadow
  );
  --amplify-internal-togglebutton-focus-background-color: var(
    --amplify-internal-togglebutton-primary-focus-background-color
  );
  --amplify-internal-togglebutton-focus-border-color: var(
    --amplify-internal-togglebutton-primary-focus-border-color
  );
  --amplify-internal-togglebutton-focus-color: var(
    --amplify-internal-togglebutton-primary-focus-color
  );
  --amplify-internal-togglebutton-primary-hover-background-color: var(
    --amplify-components-togglebutton-primary-hover-background-color
  );
  --amplify-internal-togglebutton-primary-hover-border-color: var(
    --amplify-internal-togglebutton-primary-border-color
  );
  --amplify-internal-togglebutton-primary-hover-color: var(
    --amplify-components-togglebutton-primary-hover-color
  );
  --amplify-internal-togglebutton-hover-background-color: var(
    --amplify-internal-togglebutton-primary-hover-background-color
  );
  --amplify-internal-togglebutton-hover-border-color: var(
    --amplify-internal-togglebutton-primary-hover-border-color
  );
  --amplify-internal-togglebutton-hover-color: var(
    --amplify-internal-togglebutton-primary-hover-color
  );
  --amplify-internal-togglebutton-primary-disabled-background-color: var(
    --amplify-components-togglebutton-primary-disabled-background-color
  );
  --amplify-internal-togglebutton-primary-disabled-border-color: var(
    --amplify-components-togglebutton-primary-disabled-border-color
  );
  --amplify-internal-togglebutton-primary-disabled-color: var(
    --amplify-components-togglebutton-primary-disabled-color
  );
  --amplify-internal-togglebutton-disabled-background-color: var(
    --amplify-internal-togglebutton-primary-disabled-background-color
  );
  --amplify-internal-togglebutton-disabled-border-color: var(
    --amplify-internal-togglebutton-primary-disabled-border-color
  );
  --amplify-internal-togglebutton-disabled-color: var(
    --amplify-internal-togglebutton-primary-disabled-color
  );
}
.amplify-togglebutton--primary:focus {
  box-shadow: var(--amplify-internal-togglebutton-primary-focus-box-shadow);
}
.amplify-togglebutton--pressed {
  --amplify-internal-togglebutton-primary-background-color: var(
    --amplify-components-togglebutton-primary-pressed-background-color
  );
  --amplify-internal-togglebutton-primary-border-color: var(
    --amplify-components-togglebutton-primary-pressed-border-color
  );
  --amplify-internal-togglebutton-primary-color: var(
    --amplify-components-togglebutton-primary-pressed-color
  );
  --amplify-internal-togglebutton-primary-focus-background-color: var(
    --amplify-components-togglebutton-primary-pressed-focus-background-color
  );
  --amplify-internal-togglebutton-primary-focus-border-color: var(
    --amplify-components-togglebutton-primary-pressed-focus-border-color
  );
  --amplify-internal-togglebutton-primary-focus-color: var(
    --amplify-components-togglebutton-primary-pressed-focus-color
  );
  --amplify-internal-togglebutton-primary-hover-background-color: var(
    --amplify-components-togglebutton-primary-pressed-hover-background-color
  );
  --amplify-internal-togglebutton-primary-hover-border-color: var(
    --amplify-components-togglebutton-primary-pressed-hover-border-color
  );
  --amplify-internal-togglebutton-primary-hover-color: var(
    --amplify-components-togglebutton-primary-pressed-hover-color
  );
  --amplify-internal-togglebutton-primary-disabled-background-color: var(
    --amplify-components-togglebutton-primary-pressed-background-color
  );
  --amplify-internal-togglebutton-primary-disabled-border-color: var(
    --amplify-components-togglebutton-primary-pressed-border-color
  );
  --amplify-internal-togglebutton-primary-disabled-color: var(
    --amplify-components-togglebutton-primary-pressed-color
  );
}
.amplify-togglebutton--pressed:hover {
  --amplify-internal-togglebutton-primary-focus-box-shadow: var(
    --amplify-components-togglebutton-primary-pressed-hover-box-shadow
  );
}
.amplify-togglebutton--link {
  --amplify-internal-togglebutton-link-background-color: var(
    --amplify-components-togglebutton-link-background-color
  );
  --amplify-internal-togglebutton-link-color: var(
    --amplify-components-togglebutton-link-color
  );
  --amplify-internal-togglebutton-background-color: var(
    --amplify-internal-togglebutton-link-background-color
  );
  --amplify-internal-togglebutton-color: var(
    --amplify-internal-togglebutton-link-color
  );
  --amplify-internal-togglebutton-link-focus-background-color: var(
    --amplify-components-togglebutton-link-focus-background-color
  );
  --amplify-internal-togglebutton-link-focus-color: var(
    --amplify-components-togglebutton-link-focus-color
  );
  --amplify-internal-togglebutton-focus-background-color: var(
    --amplify-internal-togglebutton-link-focus-background-color
  );
  --amplify-internal-togglebutton-focus-color: var(
    --amplify-internal-togglebutton-link-focus-color
  );
  --amplify-internal-togglebutton-link-hover-background-color: var(
    --amplify-components-togglebutton-link-hover-background-color
  );
  --amplify-internal-togglebutton-link-hover-color: var(
    --amplify-components-togglebutton-link-hover-color
  );
  --amplify-internal-togglebutton-hover-background-color: var(
    --amplify-internal-togglebutton-link-hover-background-color
  );
  --amplify-internal-togglebutton-hover-color: var(
    --amplify-internal-togglebutton-link-hover-color
  );
  --amplify-internal-togglebutton-link-disabled-color: var(
    --amplify-components-togglebutton-link-disabled-color
  );
  --amplify-internal-togglebutton-link-disabled-background-color: var(
    --amplify-components-togglebutton-link-disabled-background-color
  );
  --amplify-internal-togglebutton-disabled-color: var(
    --amplify-internal-togglebutton-link-disabled-color
  );
  --amplify-internal-togglebutton-disabled-background-color: var(
    --amplify-internal-togglebutton-link-disabled-background-color
  );
}
.amplify-togglebutton--pressed {
  --amplify-internal-togglebutton-link-color: var(
    --amplify-components-togglebutton-link-pressed-color
  );
  --amplify-internal-togglebutton-link-background-color: var(
    --amplify-components-togglebutton-link-pressed-background-color
  );
  --amplify-internal-togglebutton-link-focus-background-color: var(
    --amplify-components-togglebutton-link-pressed-focus-background-color
  );
  --amplify-internal-togglebutton-link-focus-color: var(
    --amplify-components-togglebutton-link-pressed-focus-color
  );
  --amplify-internal-togglebutton-link-hover-background-color: var(
    --amplify-components-togglebutton-link-pressed-hover-background-color
  );
  --amplify-internal-togglebutton-link-hover-color: var(
    --amplify-components-togglebutton-link-pressed-hover-color
  );
  --amplify-internal-togglebutton-link-disabled-color: var(
    --amplify-components-togglebutton-link-pressed-color
  );
}

.amplify-togglebuttongroup {
  align-items: var(--amplify-components-togglebuttongroup-align-items);
  align-content: var(--amplify-components-togglebuttongroup-align-content);
  justify-content: var(--amplify-components-togglebuttongroup-justify-content);
  gap: 0;
}

.amplify-togglebuttongroup .amplify-togglebutton:focus, .amplify-togglebuttongroup .amplify-togglebutton.amplify-togglebutton--pressed {
  z-index: 2;
}
.amplify-togglebuttongroup .amplify-togglebutton:not(:first-of-type) {
  margin-inline-start: calc(-1 * var(--amplify-components-button-border-width));
  border-start-start-radius: 0;
  border-end-start-radius: 0;
}
@supports not (border-start-start-radius: 0) {
  .amplify-togglebuttongroup .amplify-togglebutton:not(:first-of-type) {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }
}
.amplify-togglebuttongroup .amplify-togglebutton:not(:last-of-type) {
  border-start-end-radius: 0;
  border-end-end-radius: 0;
}
@supports not (border-end-end-radius: 0) {
  .amplify-togglebuttongroup .amplify-togglebutton:not(:last-of-type) {
    border-bottom-right-radius: 0;
    border-top-right-radius: 0;
  }
}

.amplify-fileuploader__dropzone {
  background-color: var(--amplify-components-fileuploader-dropzone-background-color);
  border-color: var(--amplify-components-fileuploader-dropzone-border-color);
  border-radius: var(--amplify-components-fileuploader-dropzone-border-radius);
  border-style: var(--amplify-components-fileuploader-dropzone-border-style);
  border-width: var(--amplify-components-fileuploader-dropzone-border-width);
  text-align: var(--amplify-components-fileuploader-dropzone-text-align);
  padding-block: var(--amplify-components-fileuploader-dropzone-padding-block);
  padding-inline: var(--amplify-components-fileuploader-dropzone-padding-inline);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--amplify-components-fileuploader-dropzone-gap);
}
.amplify-fileuploader__dropzone--small {
  flex-direction: row;
  justify-content: center;
}
.amplify-fileuploader__dropzone--active {
  border-color: var(--amplify-components-fileuploader-dropzone-active-border-color);
  border-width: var(--amplify-components-fileuploader-dropzone-active-border-width);
  background-color: var(--amplify-components-fileuploader-dropzone-active-background-color);
}
.amplify-fileuploader__dropzone__icon {
  font-size: var(--amplify-components-fileuploader-dropzone-icon-font-size);
  color: var(--amplify-components-fileuploader-dropzone-icon-color);
}
.amplify-fileuploader__dropzone__text {
  color: var(--amplify-components-fileuploader-dropzone-text-color);
  font-size: var(--amplify-components-fileuploader-dropzone-text-font-size);
  font-weight: var(--amplify-components-fileuploader-dropzone-text-font-weight);
}
.amplify-fileuploader__file__list {
  display: flex;
  flex-direction: var(--amplify-components-fileuploader-filelist-flex-direction);
  gap: var(--amplify-components-fileuploader-filelist-gap);
}
.amplify-fileuploader__file {
  position: relative;
  border-width: var(--amplify-components-fileuploader-file-border-width);
  border-style: var(--amplify-components-fileuploader-file-border-style);
  border-color: var(--amplify-components-fileuploader-file-border-color);
  border-radius: var(--amplify-components-fileuploader-file-border-radius);
  display: flex;
  flex-direction: column;
  padding-inline: var(--amplify-components-fileuploader-file-padding-inline);
  padding-block: var(--amplify-components-fileuploader-file-padding-block);
  align-items: var(--amplify-components-fileuploader-file-align-items);
}
.amplify-fileuploader__file__wrapper {
  width: 100%;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: var(--amplify-components-fileuploader-file-gap);
}
.amplify-fileuploader__file__name {
  text-overflow: ellipsis;
  overflow: hidden;
  font-weight: var(--amplify-components-fileuploader-file-name-font-weight);
  font-size: var(--amplify-components-fileuploader-file-name-font-size);
  color: var(--amplify-components-fileuploader-file-name-color);
}
.amplify-fileuploader__file__size {
  font-weight: var(--amplify-components-fileuploader-file-size-font-weight);
  font-size: var(--amplify-components-fileuploader-file-size-font-size);
  color: var(--amplify-components-fileuploader-file-size-color);
}
.amplify-fileuploader__file__main {
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
}
.amplify-fileuploader__file__image {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--amplify-components-fileuploader-file-image-width);
  height: var(--amplify-components-fileuploader-file-image-height);
  background-color: var(--amplify-components-fileuploader-file-image-background-color);
  border-radius: var(--amplify-components-fileuploader-file-image-border-radius);
  color: var(--amplify-components-fileuploader-file-image-color);
}
.amplify-fileuploader__file__image img {
  max-height: 100%;
}
.amplify-fileuploader__file__status--error {
  color: var(--amplify-colors-font-error);
  font-size: var(--amplify-components-fileuploader-file-size-font-size);
}
.amplify-fileuploader__file__status--success {
  color: var(--amplify-colors-font-success);
}
.amplify-fileuploader__loader {
  stroke-linecap: var(--amplify-components-fileuploader-loader-stroke-linecap);
  stroke: var(--amplify-components-fileuploader-loader-stroke-empty);
  stroke-width: var(--amplify-components-fileuploader-loader-stroke-width);
  height: var(--amplify-components-fileuploader-loader-stroke-width);
  --amplify-components-loader-linear-stroke-filled: var(
    --amplify-components-fileuploader-loader-stroke-filled
  );
  overflow: hidden;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}
.amplify-fileuploader__previewer {
  display: flex;
  flex-direction: column;
  max-width: var(--amplify-components-fileuploader-previewer-max-width);
  max-height: var(--amplify-components-fileuploader-previewer-max-height);
  overflow: auto;
  gap: var(--amplify-components-fileuploader-previewer-body-gap);
  padding-inline: var(--amplify-components-fileuploader-previewer-body-padding-inline);
  padding-block: var(--amplify-components-fileuploader-previewer-body-padding-block);
  background-color: var(--amplify-components-fileuploader-previewer-background-color);
  border-width: var(--amplify-components-fileuploader-previewer-border-width);
  border-style: var(--amplify-components-fileuploader-previewer-border-style);
  border-color: var(--amplify-components-fileuploader-previewer-border-color);
  border-radius: var(--amplify-components-fileuploader-previewer-border-radius);
}
.amplify-fileuploader__previewer__text {
  font-weight: var(--amplify-components-fileuploader-previewer-text-font-weight);
  font-size: var(--amplify-components-fileuploader-previewer-text-font-size);
  color: var(--amplify-components-fileuploader-previewer-text-color);
}
.amplify-fileuploader__previewer__footer {
  display: flex;
  flex-direction: row;
  justify-content: var(--amplify-components-fileuploader-previewer-footer-justify-content);
}
.amplify-fileuploader__previewer__actions {
  display: flex;
  flex-direction: row;
  gap: var(--amplify-space-small);
}

.amplify-inappmessaging-backdrop {
  background-color: var(--amplify-colors-overlay-50);
  inset: 0;
  position: fixed;
  z-index: 1000;
}

.amplify-inappmessaging-backdrop-content-container {
  align-items: center;
  inset: 0;
  justify-content: center;
  pointer-events: none;
  position: fixed;
  z-index: 1001;
}

.amplify-inappmessaging-backdrop-content {
  pointer-events: auto;
}

.amplify-inappmessaging-bannermessage {
  box-shadow: var(--amplify-shadows-medium);
  height: var(--amplify-components-inappmessaging-banner-height);
  margin: var(--amplify-space-small);
  max-width: 50%;
  position: fixed;
  width: var(--amplify-components-inappmessaging-banner-width);
}
.amplify-inappmessaging-bannermessage--top {
  top: 0;
}
.amplify-inappmessaging-bannermessage--middle {
  bottom: 0;
  margin: auto var(--amplify-space-small);
  top: 0;
}
.amplify-inappmessaging-bannermessage--bottom {
  bottom: 0;
}
.amplify-inappmessaging-bannermessage--left {
  left: 0;
}
.amplify-inappmessaging-bannermessage--center {
  left: 0;
  margin: var(--amplify-space-small) auto;
  right: 0;
}
.amplify-inappmessaging-bannermessage--right {
  right: 0;
}
.amplify-inappmessaging-bannermessage--center-middle {
  inset: 0;
  margin: auto;
}
.amplify-inappmessaging-bannermessage--full-width {
  max-width: initial;
  width: calc(100% - 2 * var(--amplify-space-small));
}

.amplify-inappmessaging-fullscreenmessage {
  height: var(--amplify-components-inappmessaging-dialog-height);
  min-height: var(--amplify-components-inappmessaging-dialog-min-height);
  min-width: var(--amplify-components-inappmessaging-dialog-min-width);
  width: var(--amplify-components-inappmessaging-dialog-width);
}
.amplify-inappmessaging-fullscreenmessage--fullscreen {
  height: auto;
  inset: 0;
  position: fixed;
  width: auto;
  z-index: 1000;
}

.amplify-inappmessaging-messagelayout {
  background-color: var(--amplify-colors-background-primary);
  flex-direction: column;
  flex-grow: 1;
  gap: var(--amplify-space-xxxs);
  max-width: 100%;
  padding: var(--amplify-space-medium);
}
.amplify-inappmessaging-messagelayout__button {
  border-width: 0;
  width: 100%;
}
.amplify-inappmessaging-messagelayout__button, .amplify-inappmessaging-messagelayout__button:active, .amplify-inappmessaging-messagelayout__button:visited, .amplify-inappmessaging-messagelayout__button:hover, .amplify-inappmessaging-messagelayout__button:focus {
  background-color: var(--amplify-components-inappmessaging-button-background-color);
  border-radius: var(--amplify-components-inappmessaging-button-border-radius);
  color: var(--amplify-components-inappmessaging-button-color);
}
.amplify-inappmessaging-messagelayout__button--dark:active, .amplify-inappmessaging-messagelayout__button--dark:visited, .amplify-inappmessaging-messagelayout__button--light:active, .amplify-inappmessaging-messagelayout__button--light:visited {
  filter: brightness(100%);
}
.amplify-inappmessaging-messagelayout__button--dark:hover, .amplify-inappmessaging-messagelayout__button--dark:focus {
  filter: brightness(120%);
}
.amplify-inappmessaging-messagelayout__button--light:hover, .amplify-inappmessaging-messagelayout__button--light:focus {
  filter: brightness(80%);
}
.amplify-inappmessaging-messagelayout__close-button {
  color: var(--amplify-colors-neutral-80);
}
.amplify-inappmessaging-messagelayout__close-button:active, .amplify-inappmessaging-messagelayout__close-button:visited {
  color: var(--amplify-colors-neutral-80);
}
.amplify-inappmessaging-messagelayout__close-button:hover, .amplify-inappmessaging-messagelayout__close-button:focus {
  color: var(--amplify-colors-neutral-100);
}
.amplify-inappmessaging-messagelayout__content {
  flex-grow: 1;
  overflow: hidden;
}
.amplify-inappmessaging-messagelayout__content--horizontal {
  flex-direction: row;
}
.amplify-inappmessaging-messagelayout__content--vertical {
  flex-direction: column;
  justify-content: center;
}
.amplify-inappmessaging-messagelayout__header {
  flex-shrink: 0;
  font-size: var(--amplify-components-inappmessaging-header-font-size);
  font-weight: var(--amplify-components-inappmessaging-header-font-weight);
}
.amplify-inappmessaging-messagelayout__image-container {
  align-items: center;
  display: flex;
  justify-content: center;
  position: relative;
}
.amplify-inappmessaging-messagelayout__image-container img {
  max-height: 100%;
  max-width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  position: absolute;
}
.amplify-inappmessaging-messagelayout__image-container--horizontal {
  max-width: 15%;
  min-width: 15%;
}
.amplify-inappmessaging-messagelayout__image-container--vertical {
  max-height: 40%;
  min-height: 40%;
}
.amplify-inappmessaging-messagelayout__text-container {
  flex-direction: column;
  overflow-y: auto;
  gap: var(--amplify-space-xxxs);
}
.amplify-inappmessaging-messagelayout__text-container--horizontal {
  flex-grow: 1;
}
.amplify-inappmessaging-messagelayout__text-container--vertical {
  flex-grow: 0;
}

.amplify-inappmessaging-modalmessage {
  align-items: center;
  height: initial;
  inset: 0;
  justify-content: center;
  pointer-events: none;
  position: fixed;
  width: initial;
  z-index: 1000;
}
.amplify-inappmessaging-modalmessage__dialog {
  box-shadow: var(--amplify-shadows-medium);
  height: var(--amplify-components-inappmessaging-dialog-height);
  min-height: var(--amplify-components-inappmessaging-dialog-min-height);
  min-width: var(--amplify-components-inappmessaging-dialog-min-width);
  pointer-events: auto;
  width: var(--amplify-components-inappmessaging-dialog-width);
}
.amplify-inappmessaging-modalmessage__dialog--full-width {
  width: 100%;
  margin: var(--amplify-space-small);
}

.amplify-storagemanager__dropzone {
  background-color: var(--amplify-components-storagemanager-dropzone-background-color);
  border-color: var(--amplify-components-storagemanager-dropzone-border-color);
  border-radius: var(--amplify-components-storagemanager-dropzone-border-radius);
  border-style: var(--amplify-components-storagemanager-dropzone-border-style);
  border-width: var(--amplify-components-storagemanager-dropzone-border-width);
  text-align: var(--amplify-components-storagemanager-dropzone-text-align);
  padding-block: var(--amplify-components-storagemanager-dropzone-padding-block);
  padding-inline: var(--amplify-components-storagemanager-dropzone-padding-inline);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--amplify-components-storagemanager-dropzone-gap);
}
.amplify-storagemanager__dropzone--small {
  flex-direction: row;
  justify-content: center;
}
.amplify-storagemanager__dropzone--active {
  border-color: var(--amplify-components-storagemanager-dropzone-active-border-color);
  border-width: var(--amplify-components-storagemanager-dropzone-active-border-width);
  background-color: var(--amplify-components-storagemanager-dropzone-active-background-color);
}
.amplify-storagemanager__dropzone__icon {
  font-size: var(--amplify-components-storagemanager-dropzone-icon-font-size);
  color: var(--amplify-components-storagemanager-dropzone-icon-color);
}
.amplify-storagemanager__dropzone__text {
  color: var(--amplify-components-storagemanager-dropzone-text-color);
  font-size: var(--amplify-components-storagemanager-dropzone-text-font-size);
  font-weight: var(--amplify-components-storagemanager-dropzone-text-font-weight);
}
.amplify-storagemanager__file__list {
  display: flex;
  flex-direction: var(--amplify-components-storagemanager-filelist-flex-direction);
  gap: var(--amplify-components-storagemanager-filelist-gap);
}
.amplify-storagemanager__file {
  position: relative;
  border-width: var(--amplify-components-storagemanager-file-border-width);
  border-style: var(--amplify-components-storagemanager-file-border-style);
  border-color: var(--amplify-components-storagemanager-file-border-color);
  border-radius: var(--amplify-components-storagemanager-file-border-radius);
  display: flex;
  flex-direction: column;
  padding-inline: var(--amplify-components-storagemanager-file-padding-inline);
  padding-block: var(--amplify-components-storagemanager-file-padding-block);
  align-items: var(--amplify-components-storagemanager-file-align-items);
}
.amplify-storagemanager__file__wrapper {
  width: 100%;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: var(--amplify-components-storagemanager-file-gap);
}
.amplify-storagemanager__file__name {
  text-overflow: ellipsis;
  overflow: hidden;
  font-weight: var(--amplify-components-storagemanager-file-name-font-weight);
  font-size: var(--amplify-components-storagemanager-file-name-font-size);
  color: var(--amplify-components-storagemanager-file-name-color);
}
.amplify-storagemanager__file__size {
  font-weight: var(--amplify-components-storagemanager-file-size-font-weight);
  font-size: var(--amplify-components-storagemanager-file-size-font-size);
  color: var(--amplify-components-storagemanager-file-size-color);
}
.amplify-storagemanager__file__main {
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
}
.amplify-storagemanager__file__image {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--amplify-components-storagemanager-file-image-width);
  height: var(--amplify-components-storagemanager-file-image-height);
  background-color: var(--amplify-components-storagemanager-file-image-background-color);
  border-radius: var(--amplify-components-storagemanager-file-image-border-radius);
  color: var(--amplify-components-storagemanager-file-image-color);
}
.amplify-storagemanager__file__image img {
  max-height: 100%;
}
.amplify-storagemanager__file__status--error {
  color: var(--amplify-colors-font-error);
  font-size: var(--amplify-components-storagemanager-file-size-font-size);
}
.amplify-storagemanager__file__status--success {
  color: var(--amplify-colors-font-success);
}
.amplify-storagemanager__loader {
  stroke-linecap: var(--amplify-components-storagemanager-loader-stroke-linecap);
  stroke: var(--amplify-components-storagemanager-loader-stroke-empty);
  stroke-width: var(--amplify-components-storagemanager-loader-stroke-width);
  height: var(--amplify-components-storagemanager-loader-stroke-width);
  --amplify-components-loader-linear-stroke-filled: var(
    --amplify-components-storagemanager-loader-stroke-filled
  );
  overflow: hidden;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}
.amplify-storagemanager__previewer {
  display: flex;
  flex-direction: column;
  max-width: var(--amplify-components-storagemanager-previewer-max-width);
  max-height: var(--amplify-components-storagemanager-previewer-max-height);
  overflow: auto;
  gap: var(--amplify-components-storagemanager-previewer-body-gap);
  padding-inline: var(--amplify-components-storagemanager-previewer-body-padding-inline);
  padding-block: var(--amplify-components-storagemanager-previewer-body-padding-block);
  background-color: var(--amplify-components-storagemanager-previewer-background-color);
  border-width: var(--amplify-components-storagemanager-previewer-border-width);
  border-style: var(--amplify-components-storagemanager-previewer-border-style);
  border-color: var(--amplify-components-storagemanager-previewer-border-color);
  border-radius: var(--amplify-components-storagemanager-previewer-border-radius);
}
.amplify-storagemanager__previewer__text {
  font-weight: var(--amplify-components-storagemanager-previewer-text-font-weight);
  font-size: var(--amplify-components-storagemanager-previewer-text-font-size);
  color: var(--amplify-components-storagemanager-previewer-text-color);
}
.amplify-storagemanager__previewer__footer {
  display: flex;
  flex-direction: row;
  justify-content: var(--amplify-components-storagemanager-previewer-footer-justify-content);
}
.amplify-storagemanager__previewer__actions {
  display: flex;
  flex-direction: row;
  gap: var(--amplify-space-small);
}

.amplify-storage-browser {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  height: 100%;
  position: relative;
  padding: var(--amplify-space-small);
  gap: var(--amplify-space-small);
  /* Error boundary */
}
.amplify-storage-browser__error {
  background-color: var(--amplify-colors-background-error);
  color: var(--amplify-colors-font-error);
  padding: var(--amplify-space-medium);
}
.amplify-storage-browser__navigation, .amplify-storage-browser__exit {
  align-self: flex-start;
}
.amplify-storage-browser__title {
  font-weight: var(--amplify-font-weights-bold);
  font-size: var(--amplify-font-sizes-large);
}
.amplify-storage-browser__controls, .amplify-storage-browser__summary, .amplify-storage-browser__footer {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  gap: var(--amplify-space-medium);
}
.amplify-storage-browser__footer {
  justify-content: flex-end;
}
.amplify-storage-browser__search {
  display: flex;
  flex-direction: row;
  flex: 1;
  gap: var(--amplify-space-small);
}
.amplify-storage-browser__drop-zone {
  flex: 1;
  overflow: hidden;
  position: relative;
  width: 100%;
  display: block;
}
.amplify-storage-browser__data-table {
  overflow: auto;
  position: relative;
  border-width: var(--amplify-border-widths-small);
  border-style: solid;
  border-color: var(--amplify-colors-border-primary);
  border-radius: var(--amplify-radii-small);
  width: 100%;
  height: 100%;
  display: block;
}
.amplify-storage-browser__table {
  width: 100%;
  position: relative;
}
.amplify-storage-browser__table-head {
  position: sticky;
  top: 0;
  background: var(--amplify-colors-background-primary);
  box-shadow: var(--amplify-shadows-small);
  z-index: 2;
}
.amplify-storage-browser__table-header {
  border: none;
  padding: var(--amplify-space-xxxs);
}
.amplify-storage-browser__table-data-cell {
  padding: var(--amplify-space-xxxs);
}
.amplify-storage-browser__table-data-cell:first-child, .amplify-storage-browser__table-data-cell:last-child {
  border-inline-start-width: 0;
  border-inline-end-width: 0;
}
.amplify-storage-browser__table-data-cell-icon {
  vertical-align: middle;
  margin-inline-end: var(--amplify-space-xs);
}
.amplify-storage-browser__table-header--select, .amplify-storage-browser__table-data--select, .amplify-storage-browser__table-header--download, .amplify-storage-browser__table-data--download, .amplify-storage-browser__table-data--cancel {
  text-align: center;
}
.amplify-storage-browser__table-data--size, .amplify-storage-browser__table-header--size {
  text-align: end;
}
.amplify-storage-browser__table-button-data-cell, .amplify-storage-browser__table-date-data-cell, .amplify-storage-browser__table-number-data-cell, .amplify-storage-browser__table-text-data-cell, .amplify-storage-browser__table-sort-header {
  display: flex;
  width: 100%;
  gap: var(--amplify-space-xxs);
  padding: var(--amplify-space-xxs);
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  align-items: center;
  justify-content: flex-start;
}
.amplify-storage-browser__table-button-data-cell-icon--action-progress, .amplify-storage-browser__table-date-data-cell-icon--action-progress, .amplify-storage-browser__table-number-data-cell-icon--action-progress, .amplify-storage-browser__table-text-data-cell-icon--action-progress, .amplify-storage-browser__table-sort-header-icon--action-progress {
  animation-name: amplify-loader-circular;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  animation-duration: var(--amplify-components-loader-animation-duration);
}
.amplify-storage-browser__status {
  display: flex;
  flex-direction: row;
  gap: var(--amplify-space-xs);
  align-items: center;
}
.amplify-storage-browser__status-display {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  align-items: center;
  gap: var(--amplify-space-small);
  flex: 1;
}
.amplify-storage-browser__status-label {
  font-weight: var(--amplify-font-weights-bold);
}
.amplify-storage-browser__status-value {
  color: var(--amplify-colors-font-secondary);
}
.amplify-storage-browser__destination {
  display: flex;
  flex-direction: row;
  gap: var(--amplify-space-xs);
  align-items: center;
}
.amplify-storage-browser__destination-label {
  font-weight: var(--amplify-font-weights-bold);
}
.amplify-storage-browser__message {
  flex: 1;
}
.amplify-storage-browser__buttons {
  justify-content: flex-end;
  display: flex;
  gap: var(--amplify-space-small);
}
.amplify-storage-browser__loader {
  position: absolute;
  stroke-width: var(--amplify-border-widths-large);
  height: var(--amplify-border-widths-large);
  top: 0;
  z-index: 3;
}

.amplify-ai-conversation {
  display: flex;
  flex-direction: column;
  height: 100%;
  flex: 1;
}
.amplify-ai-conversation__message {
  --internal-content-bg: ;
  --internal-flex-direction: ;
  --internal-content-padding: ;
  --internal-body-align-items: ;
  display: flex;
  flex-direction: var(--internal-flex-direction);
  gap: var(--amplify-components-ai-conversation-message-gap);
  padding-inline: var(--amplify-components-ai-conversation-message-padding-inline);
  padding-block: var(--amplify-components-ai-conversation-message-padding-block);
}
.amplify-ai-conversation__message__list {
  display: flex;
  flex-direction: column;
}
.amplify-ai-conversation__message__avatar {
  flex-shrink: 0;
}
.amplify-ai-conversation__message__sender {
  display: flex;
  flex-direction: var(--internal-flex-direction);
  align-items: center;
  min-height: var(--amplify-components-avatar-height);
  gap: var(--amplify-components-ai-conversation-message-sender-gap);
}
.amplify-ai-conversation__message__sender__username {
  color: var(--amplify-components-ai-conversation-message-sender-username-color);
  font-size: var(--amplify-components-ai-conversation-message-sender-username-font-size);
  font-weight: var(--amplify-components-ai-conversation-message-sender-username-font-weight);
}
.amplify-ai-conversation__message__sender__timestamp {
  color: var(--amplify-components-ai-conversation-message-sender-timestamp-color);
  font-size: var(--amplify-components-ai-conversation-message-sender-timestamp-font-size);
  font-weight: var(--amplify-components-ai-conversation-message-sender-timestamp-font-weight);
}
.amplify-ai-conversation__message__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: var(--internal-body-align-items);
  gap: var(--amplify-components-ai-conversation-message-body-gap);
}
.amplify-ai-conversation__message__content {
  background-color: var(--internal-content-bg);
  border-radius: var(--amplify-radii-medium);
  padding: var(--internal-content-padding);
  display: flex;
  flex-direction: column;
  gap: var(--amplify-space-small);
}
.amplify-ai-conversation__message__text {
  display: block;
}
.amplify-ai-conversation__message__image {
  max-width: 25%;
}
.amplify-ai-conversation__message__actions {
  display: flex;
  flex-direction: row;
  gap: var(--amplify-components-ai-conversation-message-actions-gap);
}
.amplify-ai-conversation__message--bubble {
  --internal-content-bg: var(--internal-bg-color);
  --internal-content-padding: var(--amplify-space-xxs)
    var(--amplify-space-xs);
  --internal-flex-direction: row-reverse;
  --internal-body-align-items: flex-end;
}
.amplify-ai-conversation__message--user {
  --internal-bg-color: var(
    --amplify-components-ai-conversation-message-user-background-color
  );
}
.amplify-ai-conversation__message--assistant {
  --internal-bg-color: var(
    --amplify-components-ai-conversation-message-assistant-background-color
  );
  --internal-flex-direction: row;
  --internal-body-align-items: flex-start;
}
.amplify-ai-conversation__scrollview {
  flex: 1 0 50%;
}
.amplify-ai-conversation__form {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  padding: var(--amplify-components-ai-conversation-form-padding);
  gap: var(--amplify-components-ai-conversation-form-gap);
  max-height: 100%;
  overflow: hidden;
}
.amplify-ai-conversation__form__dropzone {
  text-align: initial;
  border: none;
  padding: 0;
  display: grid;
  overflow: hidden;
}
.amplify-ai-conversation__form__error {
  padding: 0;
  padding-block-start: var(--amplify-components-ai-conversation-attachment-list-padding-block-start);
  gap: var(--amplify-components-ai-conversation-attachment-gap);
}
.amplify-ai-conversation__attachment {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding-block: var(--amplify-components-ai-conversation-attachment-padding-block);
  padding-inline: var(--amplify-components-ai-conversation-attachment-padding-inline);
  border-width: var(--amplify-components-ai-conversation-attachment-border-width);
  border-style: solid;
  border-color: var(--amplify-components-ai-conversation-attachment-border-color);
  border-radius: var(--amplify-components-ai-conversation-attachment-border-radius);
  gap: var(--amplify-components-ai-conversation-attachment-gap);
  font-size: var(--amplify-components-ai-conversation-attachment-font-size);
}
.amplify-ai-conversation__attachment__list {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: var(--amplify-components-ai-conversation-attachment-list-gap);
  padding: var(--amplify-components-ai-conversation-attachment-list-padding);
  padding-block-start: var(--amplify-components-ai-conversation-attachment-list-padding-block-start);
}
.amplify-ai-conversation__attachment__image {
  width: var(--amplify-components-ai-conversation-attachment-image-width);
  height: var(--amplify-components-ai-conversation-attachment-image-height);
  -o-object-fit: cover;
     object-fit: cover;
}
.amplify-ai-conversation__attachment__name {
  color: var(--amplify-components-ai-conversation-attachment-name-color);
  font-size: var(--amplify-components-ai-conversation-attachment-name-font-size);
  font-weight: var(--amplify-components-ai-conversation-attachment-name-font-weight);
}
.amplify-ai-conversation__attachment__size {
  color: var(--amplify-components-ai-conversation-attachment-size-color);
  font-size: var(--amplify-components-ai-conversation-attachment-size-font-size);
  font-weight: var(--amplify-components-ai-conversation-attachment-size-font-weight);
}
.amplify-ai-conversation__attachment__remove {
  padding: var(--amplify-components-ai-conversation-attachment-remove-padding);
}
.amplify-ai-conversation__prompt {
  font-weight: normal;
}

.amplify-label-start {
  flex-direction: row;
}

.amplify-label-end {
  flex-direction: row-reverse;
}

.amplify-label-top {
  flex-direction: column;
}

.amplify-label-bottom {
  flex-direction: column-reverse;
}

.amplify-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  fill: transparent;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}:root {
  --primary-color: #27ae60;
  --primary-color-dark: #219653;
  --secondary-color: #f39c12;
  --text-color: #333;
  --background: #f9f9f9;
  --form-background: #fff;
  --shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
}

/* Layout geral */
.pagina-consumidor {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-family: 'Poppins', Arial, sans-serif;
  background-color: var(--background);
  color: var(--text-color);
  min-height: 100vh;
  padding: 2rem;
}

/* Hero com instruções */
.hero-consumidor {
  text-align: center;
  margin-bottom: 2.5rem;
  max-width: 600px;
}

.hero-consumidor h2 {
  font-size: 2rem;
  color: var(--primary-color);
  margin-bottom: 0.5rem;
}

.hero-consumidor p {
  font-size: 1rem;
  color: #555;
  margin-bottom: 0.3rem;
}

/* Lista explicativa */
.hero-consumidor ul {
  text-align: left;
  margin-top: 1rem;
  padding-left: 1.2rem;
  color: #444;
}

.hero-consumidor ul li {
  margin-bottom: 0.5rem;
  line-height: 1.4;
}

/* Authenticator container */
.amplify-authenticator {
  width: 100%;
  max-width: 440px;
  background-color: var(--form-background);
  border-radius: 12px;
  box-shadow: var(--shadow);
  padding: 2rem;
}

/* Rótulo de campo */
.amplify-field__label {
  font-weight: 600;
  margin-bottom: 4px;
  color: var(--text-color);
}

/* Campo de input */
.amplify-input {
  border: 1px solid #ccc;
  border-radius: 6px;
  padding: 0.75rem;
  font-size: 1rem;
  background: #fff;
}

/* Botão principal */
.amplify-button--primary {
  background-color: var(--primary-color);
  border-radius: 6px;
  font-size: 1rem;
  padding: 0.8rem;
  color: #fff;
  font-weight: bold;
}

.amplify-button--primary:hover {
  background-color: var(--primary-color-dark);
}

/* Links */
.amplify-link {
  color: var(--primary-color);
}
.amplify-link:hover {
  text-decoration: underline;
}

/* Mensagens de erro */
.amplify-alert {
  font-size: 0.9rem;
  color: red;
}

/* Feedback visual */
.feedback-info {
  background-color: #eafbea;
  border-left: 4px solid var(--primary-color);
  padding: 0.8rem 1rem;
  border-radius: 6px;
  font-size: 0.95rem;
  color: #2c3e50;
  margin-top: 1rem;
}

/* Responsividade */
@media (max-width: 480px) {
  .hero-consumidor h2 {
    font-size: 1.5rem;
  }

  .hero-consumidor p,
  .hero-consumidor ul {
    font-size: 0.95rem;
  }

  .amplify-authenticator {
    padding: 1.2rem;
    box-shadow: none;
    border: 1px solid #eee;
  }

  .amplify-button--primary {
    font-size: 0.95rem;
    padding: 0.7rem;
  }
}
.pagina-nao-encontrada {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 4rem 2rem;
  min-height: 60vh;
  text-align: center;
  color: #333;
}

.pagina-nao-encontrada h1 {
  font-size: 6rem;
  color: var(--primary-color);
  margin-bottom: 0.5rem;
}

.pagina-nao-encontrada h2 {
  font-size: 2rem;
  margin-bottom: 1rem;
}

.pagina-nao-encontrada p {
  font-size: 1.1rem;
  margin-bottom: 2rem;
}

.btn-voltar {
  padding: 0.8rem 1.6rem;
  background-color: var(--primary-color);
  color: #fff;
  border-radius: 5px;
  text-decoration: none;
  font-weight: bold;
  transition: background-color 0.3s;
}

.btn-voltar:hover {
  background-color: var(--primary-color-dark);
}
.planos-container {
  max-width: 900px;
  margin: 3rem auto;
  padding: 2rem;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.1);
  font-family: 'Segoe UI', sans-serif;
}

.planos-container h1 {
  text-align: center;
  color: #2b9348;
  margin-bottom: 1rem;
}

.intro {
  text-align: center;
  font-size: 1.1rem;
  color: #555;
  margin-bottom: 2rem;
}

.infraestrutura-info {
  background: #f1fdf6;
  padding: 1.5rem;
  border-left: 5px solid #2b9348;
  margin-bottom: 2rem;
  border-radius: 6px;
}

.tabela-planos {
  display: flex;
  gap: 2rem;
  flex-wrap: wrap;
  justify-content: center;
}

.plano {
  background: #f9f9f9;
  padding: 1.5rem;
  border-radius: 10px;
  flex: 1;
  min-width: 260px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

.plano h2 {
  color: #2b9348;
  text-align: center;
}

.plano ul {
  list-style: none;
  padding: 0;
  margin: 1rem 0;
}

.plano ul li {
  margin: 0.6rem 0;
  padding-left: 1.2rem;
  position: relative;
}

.plano ul li::before {
  content: '✔';
  position: absolute;
  left: 0;
  color: #2b9348;
}

.plano.destaque {
  border: 2px solid #2b9348;
  background: #e0f6e6;
}

.preco {
  text-align: center;
  margin-top: 1rem;
}

.preco button {
  background-color: #2b9348;
  color: white;
  border: none;
  padding: 0.8rem 1.6rem;
  border-radius: 6px;
  font-size: 1rem;
  font-weight: bold;
  cursor: pointer;
  margin-top: 0.5rem;
  transition: background-color 0.3s ease;
}

.preco button:hover {
  background-color: #207a3b;
}

.faq {
  margin-top: 2rem;
  font-size: 0.95rem;
  color: #444;
}
:root {
  --primary-color: #19cfa2;
  --primary-color-dark: #0ea784;
  --text-color: #222;
  --text-color-light: #fff;
  --bg-color: #fff;
  --bg-light: #f7f7f7;
  --hover-color: #19cfa2;
  --border-color: #ddd;
  --font: 'Inter', 'Poppins', sans-serif;
}

/* Dark Mode */
body.dark {
  --bg-color: #121212;
  --text-color: #eee;
  --bg-light: #1e1e1e;
  --border-color: #333;
}

/* Reset e base */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  transition: background-color 0.3s, color 0.3s, border-color 0.3s, transform 0.2s;
}
body {
  font-family: var(--font);
  background: var(--bg-color);
  color: var(--text-color);
}

/* ====================================
   Página Meus Pedidos
==================================== */
.meus-pedidos-page {
  padding: 2rem;
  max-width: 1000px;
  margin: auto;
}
.meus-pedidos-page h1 {
  font-size: 2rem;
  color: var(--primary-color);
  margin-bottom: 1rem;
}

/* Filtros */
.filtros-pedidos {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 1.5rem;
}
.filtros-pedidos label {
  display: flex;
  flex-direction: column;
  font-size: 0.9rem;
  color: var(--text-color);
}
.filtros-pedidos select {
  padding: 0.4rem 0.6rem;
  font-size: 0.95rem;
  border: 1px solid var(--border-color);
  border-radius: 4px;
  background: var(--bg-color);
}

/* Lista de pedidos */
.pedidos-lista {
  list-style: none;
  padding: 0;
  display: grid;
  gap: 1rem;
}
.pedido-item {
  background: var(--bg-color);
  border: 1px solid var(--border-color);
  border-radius: 8px;
  padding: 1rem;
  box-shadow: 0 1px 6px rgba(0,0,0,0.05);
}
.pedido-item h3 {
  font-size: 1.2rem;
  color: var(--primary-color);
  margin-bottom: 0.5rem;
}
.pedido-item p {
  font-size: 0.95rem;
  margin-bottom: 0.4rem;
}
.badge {
  display: inline-block;
  padding: 0.3rem 0.6rem;
  border-radius: 0.4rem;
  font-size: 0.85rem;
  font-weight: 600;
  color: #fff;
  text-transform: capitalize;
}
.badge-pendente {
  background: #f0ad4e;
}
.badge-pago {
  background: #5cb85c;
}
.badge-cancelado {
  background: #d9534f;
}

/* Ações do pedido */
.acoes-pedido {
  margin-top: 0.6rem;
  display: flex;
  gap: 0.6rem;
  flex-wrap: wrap;
}
.acoes-pedido a,
.acoes-pedido button {
  padding: 0.4rem 0.9rem;
  border-radius: 4px;
  background: #f3f4f6;
  color: var(--text-color);
  font-size: 0.9rem;
  text-decoration: none;
  border: none;
  cursor: pointer;
  transition: background 0.2s;
}
.acoes-pedido a:hover,
.acoes-pedido button:hover {
  background: var(--primary-color);
  color: #fff;
}

/* ====================================
   Checkout
==================================== */
.checkout-page {
  padding: 2rem;
  max-width: 800px;
  margin: auto;
}
.checkout-card {
  background: var(--bg-color);
  border: 1px solid var(--border-color);
  border-radius: 10px;
  padding: 1.5rem;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}
.checkout-card img {
  width: 100%;
  max-height: 200px;
  object-fit: cover;
  border-radius: 6px;
  margin-bottom: 1rem;
}
.checkout-card h2 {
  font-size: 1.4rem;
  color: var(--primary-color);
  margin-bottom: 0.5rem;
}
.checkout-card p {
  font-size: 1rem;
  margin-bottom: 0.3rem;
}
.checkout-card button {
  margin-top: 1rem;
  width: 100%;
  padding: 0.8rem;
  background: var(--primary-color);
  color: #fff;
  border: none;
  border-radius: 5px;
  font-weight: bold;
  cursor: pointer;
}
.checkout-card button:hover {
  background: var(--primary-color-dark);
}

/* ====================================
   Catálogo de Créditos Ambientais
==================================== */
.creditos-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1.2rem;
}
.credito-card {
  background: var(--bg-color);
  border: 1px solid var(--border-color);
  border-radius: 8px;
  padding: 1rem;
  box-shadow: 0 1px 5px rgba(0,0,0,0.05);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 380px;
}
.credito-card img {
  width: 100%;
  height: 150px;
  object-fit: cover;
  border-radius: 6px;
  margin-bottom: 0.5rem;
}
.credito-card h3 {
  font-size: 1.2rem;
  color: var(--primary-color);
  margin: 0.5rem 0;
}
.credito-card .descricao {
  font-size: 0.95rem;
  color: #555;
  margin-bottom: 0.5rem;
}
.credito-card .preco {
  font-weight: bold;
  font-size: 1.1rem;
  color: #009688;
}
.credito-card button {
  margin-top: auto;
  padding: 0.6rem;
  border: none;
  border-radius: 5px;
  background: var(--primary-color);
  color: #fff;
  cursor: pointer;
  transition: background 0.3s;
}
.credito-card button:hover {
  background: var(--primary-color-dark);
}

/* ====================================
   Outros
==================================== */
.pagination {
  margin-top: 1.2rem;
  display: flex;
  gap: 0.5rem;
  justify-content: center;
}
.pagination button {
  padding: 0.4rem 0.7rem;
  border: 1px solid #ccc;
  background: var(--bg-color);
  cursor: pointer;
  border-radius: 4px;
}
.pagination button.active {
  background: var(--primary-color);
  color: #fff;
  border-color: var(--primary-color);
}
.loading,
.no-results {
  font-size: 1.1rem;
  color: #555;
  text-align: center;
  margin-top: 2rem;
}

/* Responsivo */
@media (max-width: 600px) {
  .filtros-pedidos {
    flex-direction: column;
  }
  .acoes-pedido {
    flex-direction: column;
  }
}
.checkout-creditos-page {
  padding: 2rem;
  max-width: 700px;
  margin: auto;
}

.checkout-creditos-card {
  background: #ffffff;
  border: 1px solid #ddd;
  border-radius: 10px;
  padding: 1.5rem;
  text-align: left;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05);
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.checkout-creditos-card img {
  width: 100%;
  max-height: 240px;
  object-fit: cover;
  border-radius: 6px;
  margin-bottom: 1rem;
}

.checkout-creditos-card h2 {
  color: var(--primary-color);
  margin-bottom: 0.5rem;
  font-size: 1.6rem;
}

.checkout-creditos-card p {
  margin: 0.3rem 0;
  font-size: 1rem;
  color: #555;
  line-height: 1.4;
}

.checkout-creditos-card .total {
  font-weight: bold;
  color: #333;
  font-size: 1.1rem;
}

.checkout-creditos-card .btn {
  margin-top: 1rem;
  padding: 0.65rem 1.4rem;
  background: var(--primary-color);
  color: #fff;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-weight: 500;
  font-size: 1rem;
  transition: background 0.3s ease;
}

.checkout-creditos-card .btn:hover {
  background: var(--primary-color-dark);
}

/* Mensagens de feedback */
.loading,
.error {
  text-align: center;
  font-size: 1.1rem;
  color: #666;
  margin-top: 2rem;
}

/* Responsivo */
@media (max-width: 600px) {
  .checkout-creditos-card {
    padding: 1rem;
  }
  .checkout-creditos-card h2 {
    font-size: 1.4rem;
  }
  .checkout-creditos-card .btn {
    width: 100%;
  }
}
.loader-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  padding: 2rem 0;
  animation: fadeInLoader 0.3s ease forwards;
}

.loader-container.fullscreen {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.6);
  backdrop-filter: blur(3px);
  z-index: 9999;
}

.loader-spinner {
  width: 48px;
  height: 48px;
  animation: spin 1s linear infinite;
}
.loader-spinner circle {
  fill: none;
  stroke: var(--primary-color);
  stroke-width: 4;
  stroke-linecap: round;
  stroke-dasharray: 125;
  stroke-dashoffset: 0;
  transform-origin: 50% 50%;
}

/* Ícones de sucesso e erro */
.loader-icon {
  width: 40px;
  height: 40px;
  stroke-width: 3;
  fill: none;
}
.loader-icon.success {
  stroke: #4caf50;
}
.loader-icon.error {
  stroke: #e53935;
}

/* Texto */
.loader-text {
  font-size: 0.95rem;
  color: var(--text-light);
  animation: pulseText 1.5s ease-in-out infinite;
}

/* Barra de progresso */
.loader-progress {
  width: 160px;
  height: 6px;
  background: rgba(0,0,0,0.1);
  border-radius: 4px;
  overflow: hidden;
}
.loader-bar {
  height: 100%;
  background: var(--primary-color);
  transition: width 0.4s ease;
}

/* Animações */
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
@keyframes fadeInLoader {
  from { opacity: 0; }
  to { opacity: 1; }
}
@keyframes pulseText {
  0% { opacity: 0.6; }
  50% { opacity: 1; }
  100% { opacity: 0.6; }
}

/* Dark mode support */
body.dark .loader-text {
  color: #fff;
}
/* src/styles/animations.css */

/* 🌿 Fade com slide vertical */
.fade-enter {
  opacity: 0;
  transform: translateY(10px);
}
.fade-enter-active {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 300ms ease, transform 300ms ease;
}
.fade-exit {
  opacity: 1;
}
.fade-exit-active {
  opacity: 0;
  transform: translateY(-10px);
  transition: opacity 300ms ease, transform 300ms ease;
}

/* 🌿 Fade com Zoom */
.fade-zoom-enter {
  opacity: 0;
  transform: scale(0.95);
}
.fade-zoom-enter-active {
  opacity: 1;
  transform: scale(1);
  transition: opacity 300ms ease, transform 300ms ease;
}
.fade-zoom-exit {
  opacity: 1;
  transform: scale(1);
}
.fade-zoom-exit-active {
  opacity: 0;
  transform: scale(0.95);
  transition: opacity 200ms ease, transform 200ms ease;
}

/* 🌿 Slide da direita */
.slide-right-enter {
  opacity: 0;
  transform: translateX(30px);
}
.slide-right-enter-active {
  opacity: 1;
  transform: translateX(0);
  transition: opacity 300ms ease, transform 300ms ease;
}
.slide-right-exit {
  opacity: 1;
  transform: translateX(0);
}
.slide-right-exit-active {
  opacity: 0;
  transform: translateX(20px);
  transition: opacity 200ms ease, transform 200ms ease;
}

/* 🌿 Slide da esquerda */
.slide-left-enter {
  opacity: 0;
  transform: translateX(-30px);
}
.slide-left-enter-active {
  opacity: 1;
  transform: translateX(0);
  transition: opacity 300ms ease, transform 300ms ease;
}
.slide-left-exit {
  opacity: 1;
  transform: translateX(0);
}
.slide-left-exit-active {
  opacity: 0;
  transform: translateX(-20px);
  transition: opacity 200ms ease, transform 200ms ease;
}

/* 🌿 Scale in */
.scale-in-enter {
  opacity: 0;
  transform: scale(0.9);
}
.scale-in-enter-active {
  opacity: 1;
  transform: scale(1);
  transition: opacity 300ms ease, transform 300ms ease;
}
.scale-in-exit {
  opacity: 1;
  transform: scale(1);
}
.scale-in-exit-active {
  opacity: 0;
  transform: scale(0.9);
  transition: opacity 200ms ease, transform 200ms ease;
}

/* 🌿 Blur Fade */
.blur-fade-enter {
  opacity: 0;
  filter: blur(4px);
}
.blur-fade-enter-active {
  opacity: 1;
  filter: blur(0);
  transition: opacity 400ms ease, filter 400ms ease;
}
.blur-fade-exit {
  opacity: 1;
  filter: blur(0);
}
.blur-fade-exit-active {
  opacity: 0;
  filter: blur(4px);
  transition: opacity 300ms ease, filter 300ms ease;
}

/* 🌿 Overlay Fade */
.overlay-fade-enter {
  opacity: 0;
}
.overlay-fade-enter-active {
  opacity: 1;
  transition: opacity 250ms ease-out;
}
.overlay-fade-exit {
  opacity: 1;
}
.overlay-fade-exit-active {
  opacity: 0;
  transition: opacity 200ms ease-in;
}
:root {
  --primary-color: #19cfa2;
  --primary-color-dark: #0ea784;
  --secondary-color: #2dffbd;
  --hover-color: #29b993;

  --background-light: #f9f9f9;
  --background-dark: #24323a;
  --background-sepia: #f4ecd8;
  --background-high-contrast: #000;

  --text-light: #333;
  --text-dark: #f9f9f9;
  --text-sepia: #4b3e2c;
  --text-high-contrast: #fff;

  --font-primary: 'Poppins', Arial, sans-serif;
}

/* Reset */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* Transições globais */
html {
  scroll-behavior: smooth;
}

body {
  font-family: var(--font-primary);
  background: var(--background-light);
  color: var(--text-light);
  transition: background 0.3s, color 0.3s;
  opacity: 0;
  animation: fadeInPage 0.5s ease forwards;
  line-height: 1.6;
}

/* Dark Mode */
body.dark {
  background: var(--background-dark);
  color: var(--text-dark);
}
body.dark a {
  color: var(--secondary-color);
}

/* Sepia Mode */
body.sepia {
  background: var(--background-sepia);
  color: var(--text-sepia);
}
body.sepia a {
  color: #8b6f47;
}
body.sepia button:focus,
body.sepia a:focus {
  outline: 2px solid #8b6f47;
}
body.sepia::-webkit-scrollbar-thumb {
  background-color: #8b6f47;
}

/* High Contrast Mode */
body.high-contrast {
  background: var(--background-high-contrast);
  color: var(--text-high-contrast);
}
body.high-contrast a {
  color: var(--secondary-color);
}
body.high-contrast button:focus,
body.high-contrast a:focus {
  outline: 2px solid var(--secondary-color);
}
body.high-contrast::-webkit-scrollbar-thumb {
  background-color: var(--secondary-color);
}

/* Accessible Contrast Mode */
body.accessible-contrast {
  background: #000;
  color: #fff;
  font-size: 1.05rem;
}
body.accessible-contrast a {
  color: #ffd700;
  font-weight: 600;
}
body.accessible-contrast button:focus,
body.accessible-contrast a:focus {
  outline: 3px dashed #ffd700;
}
body.accessible-contrast::-webkit-scrollbar-thumb {
  background-color: #ffd700;
}

/* Animação de entrada */
@keyframes fadeInPage {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Headings */
h1, h2, h3, h4, h5, h6 {
  margin-bottom: 0.75rem;
  font-weight: 600;
  line-height: 1.2;
}

/* Links */
a {
  text-decoration: none;
  color: inherit;
  transition: color 0.3s, background-color 0.3s, transform 0.2s;
}

/* Interações e Inputs */
button, input, select, textarea {
  font-family: inherit;
  font-size: 1rem;
  transition: color 0.3s, background-color 0.3s, transform 0.2s;
}

a, button {
  cursor: pointer;
}

/* Foco Acessível */
button:focus,
input:focus,
select:focus,
textarea:focus,
a:focus {
  outline: 2px solid var(--primary-color);
  outline-offset: 2px;
}

/* Scrollbar Customizada */
body::-webkit-scrollbar {
  width: 10px;
}
body::-webkit-scrollbar-track {
  background: var(--background-light);
}
body.dark::-webkit-scrollbar-track {
  background: #1e1e1e;
}
body.sepia::-webkit-scrollbar-track {
  background: #f1e5cd;
}
body.high-contrast::-webkit-scrollbar-track,
body.accessible-contrast::-webkit-scrollbar-track {
  background: #000;
}
body::-webkit-scrollbar-thumb {
  background-color: var(--primary-color);
  border-radius: 6px;
  border: 2px solid transparent;
  background-clip: content-box;
}
body::-webkit-scrollbar-thumb:hover {
  background-color: var(--hover-color);
}

/* Preferências de acessibilidade: reduzir motion */
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *, *::before, *::after {
    animation: none !important;
    transition: none !important;
  }
}

/* Responsividade */
@media (max-width: 1024px) {
  body {
    font-size: 0.98rem;
  }
}
@media (max-width: 768px) {
  body {
    font-size: 0.95rem;
  }
}
@media (max-width: 480px) {
  body {
    font-size: 0.9rem;
  }
}
