/* src/styles.scss */
:root {
  --swal2-outline: 0 0 0 3px rgba(100, 150, 200, 0.5);
  --swal2-container-padding: 0.625em;
  --swal2-backdrop: rgba(0, 0, 0, 0.4);
  --swal2-backdrop-transition: background-color 0.15s;
  --swal2-width: 32em;
  --swal2-padding: 0 0 1.25em;
  --swal2-border: none;
  --swal2-border-radius: 0.3125rem;
  --swal2-background: white;
  --swal2-color: #545454;
  --swal2-show-animation: swal2-show 0.3s;
  --swal2-hide-animation: swal2-hide 0.15s forwards;
  --swal2-icon-zoom: 1;
  --swal2-title-padding: 0.8em 1em 0;
  --swal2-html-container-padding: 1em 1.6em 0.3em;
  --swal2-input-border: 1px solid #d9d9d9;
  --swal2-input-border-radius: 0.1875em;
  --swal2-input-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.06), 0 0 0 3px transparent;
  --swal2-input-background: transparent;
  --swal2-input-transition: border-color 0.2s, box-shadow 0.2s;
  --swal2-input-hover-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.06), 0 0 0 3px transparent;
  --swal2-input-focus-border: 1px solid #b4dbed;
  --swal2-input-focus-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.06), 0 0 0 3px rgba(100, 150, 200, 0.5);
  --swal2-progress-step-background: #add8e6;
  --swal2-validation-message-background: #f0f0f0;
  --swal2-validation-message-color: #666;
  --swal2-footer-border-color: #eee;
  --swal2-footer-background: transparent;
  --swal2-footer-color: inherit;
  --swal2-timer-progress-bar-background: rgba(0, 0, 0, 0.3);
  --swal2-close-button-position: initial;
  --swal2-close-button-inset: auto;
  --swal2-close-button-font-size: 2.5em;
  --swal2-close-button-color: #ccc;
  --swal2-close-button-transition: color 0.2s, box-shadow 0.2s;
  --swal2-close-button-outline: initial;
  --swal2-close-button-box-shadow: inset 0 0 0 3px transparent;
  --swal2-close-button-focus-box-shadow: inset var(--swal2-outline);
  --swal2-close-button-hover-transform: none;
  --swal2-actions-justify-content: center;
  --swal2-actions-width: auto;
  --swal2-actions-margin: 1.25em auto 0;
  --swal2-actions-padding: 0;
  --swal2-actions-border-radius: 0;
  --swal2-actions-background: transparent;
  --swal2-action-button-transition: background-color 0.2s, box-shadow 0.2s;
  --swal2-action-button-hover: black 10%;
  --swal2-action-button-active: black 10%;
  --swal2-confirm-button-box-shadow: none;
  --swal2-confirm-button-border-radius: 0.25em;
  --swal2-confirm-button-background-color: #7066e0;
  --swal2-confirm-button-color: #fff;
  --swal2-deny-button-box-shadow: none;
  --swal2-deny-button-border-radius: 0.25em;
  --swal2-deny-button-background-color: #dc3741;
  --swal2-deny-button-color: #fff;
  --swal2-cancel-button-box-shadow: none;
  --swal2-cancel-button-border-radius: 0.25em;
  --swal2-cancel-button-background-color: #6e7881;
  --swal2-cancel-button-color: #fff;
  --swal2-toast-show-animation: swal2-toast-show 0.5s;
  --swal2-toast-hide-animation: swal2-toast-hide 0.1s forwards;
  --swal2-toast-border: none;
  --swal2-toast-box-shadow:
    0 0 1px hsl(0deg 0% 0% / 0.075),
    0 1px 2px hsl(0deg 0% 0% / 0.075),
    1px 2px 4px hsl(0deg 0% 0% / 0.075),
    1px 3px 8px hsl(0deg 0% 0% / 0.075),
    2px 4px 16px hsl(0deg 0% 0% / 0.075);
}
[data-swal2-theme=dark] {
  --swal2-dark-theme-black: #19191a;
  --swal2-dark-theme-white: #e1e1e1;
  --swal2-background: var(--swal2-dark-theme-black);
  --swal2-color: var(--swal2-dark-theme-white);
  --swal2-footer-border-color: #555;
  --swal2-input-background: color-mix(in srgb, var(--swal2-dark-theme-black), var(--swal2-dark-theme-white) 10%);
  --swal2-validation-message-background: color-mix( in srgb, var(--swal2-dark-theme-black), var(--swal2-dark-theme-white) 10% );
  --swal2-validation-message-color: var(--swal2-dark-theme-white);
  --swal2-timer-progress-bar-background: rgba(255, 255, 255, 0.7);
}
@media (prefers-color-scheme: dark) {
  [data-swal2-theme=auto] {
    --swal2-dark-theme-black: #19191a;
    --swal2-dark-theme-white: #e1e1e1;
    --swal2-background: var(--swal2-dark-theme-black);
    --swal2-color: var(--swal2-dark-theme-white);
    --swal2-footer-border-color: #555;
    --swal2-input-background: color-mix(in srgb, var(--swal2-dark-theme-black), var(--swal2-dark-theme-white) 10%);
    --swal2-validation-message-background: color-mix( in srgb, var(--swal2-dark-theme-black), var(--swal2-dark-theme-white) 10% );
    --swal2-validation-message-color: var(--swal2-dark-theme-white);
    --swal2-timer-progress-bar-background: rgba(255, 255, 255, 0.7);
  }
}
body.swal2-shown:not(.swal2-no-backdrop, .swal2-toast-shown) {
  overflow: hidden;
}
body.swal2-height-auto {
  height: auto !important;
}
body.swal2-no-backdrop .swal2-container {
  background-color: rgba(0, 0, 0, 0) !important;
  pointer-events: none;
}
body.swal2-no-backdrop .swal2-container .swal2-popup {
  pointer-events: auto;
}
body.swal2-no-backdrop .swal2-container .swal2-modal {
  box-shadow: 0 0 10px var(--swal2-backdrop);
}
body.swal2-toast-shown .swal2-container {
  box-sizing: border-box;
  width: 360px;
  max-width: 100%;
  background-color: rgba(0, 0, 0, 0);
  pointer-events: none;
}
body.swal2-toast-shown .swal2-container.swal2-top {
  inset: 0 auto auto 50%;
  transform: translateX(-50%);
}
body.swal2-toast-shown .swal2-container.swal2-top-end,
body.swal2-toast-shown .swal2-container.swal2-top-right {
  inset: 0 0 auto auto;
}
body.swal2-toast-shown .swal2-container.swal2-top-start,
body.swal2-toast-shown .swal2-container.swal2-top-left {
  inset: 0 auto auto 0;
}
body.swal2-toast-shown .swal2-container.swal2-center-start,
body.swal2-toast-shown .swal2-container.swal2-center-left {
  inset: 50% auto auto 0;
  transform: translateY(-50%);
}
body.swal2-toast-shown .swal2-container.swal2-center {
  inset: 50% auto auto 50%;
  transform: translate(-50%, -50%);
}
body.swal2-toast-shown .swal2-container.swal2-center-end,
body.swal2-toast-shown .swal2-container.swal2-center-right {
  inset: 50% 0 auto auto;
  transform: translateY(-50%);
}
body.swal2-toast-shown .swal2-container.swal2-bottom-start,
body.swal2-toast-shown .swal2-container.swal2-bottom-left {
  inset: auto auto 0 0;
}
body.swal2-toast-shown .swal2-container.swal2-bottom {
  inset: auto auto 0 50%;
  transform: translateX(-50%);
}
body.swal2-toast-shown .swal2-container.swal2-bottom-end,
body.swal2-toast-shown .swal2-container.swal2-bottom-right {
  inset: auto 0 0 auto;
}
@media print {
  body.swal2-shown:not(.swal2-no-backdrop, .swal2-toast-shown) {
    overflow-y: scroll !important;
  }
  body.swal2-shown:not(.swal2-no-backdrop, .swal2-toast-shown) > [aria-hidden=true] {
    display: none;
  }
  body.swal2-shown:not(.swal2-no-backdrop, .swal2-toast-shown) .swal2-container {
    position: static !important;
  }
}
div:where(.swal2-container) {
  display: grid;
  position: fixed;
  z-index: 1060;
  inset: 0;
  box-sizing: border-box;
  grid-template-areas: "top-start     top            top-end" "center-start  center         center-end" "bottom-start  bottom-center  bottom-end";
  grid-template-rows: minmax(min-content, auto) minmax(min-content, auto) minmax(min-content, auto);
  height: 100%;
  padding: var(--swal2-container-padding);
  overflow-x: hidden;
  transition: var(--swal2-backdrop-transition);
  -webkit-overflow-scrolling: touch;
}
div:where(.swal2-container).swal2-backdrop-show,
div:where(.swal2-container).swal2-noanimation {
  background: var(--swal2-backdrop);
}
div:where(.swal2-container).swal2-backdrop-hide {
  background: rgba(0, 0, 0, 0) !important;
}
div:where(.swal2-container).swal2-top-start,
div:where(.swal2-container).swal2-center-start,
div:where(.swal2-container).swal2-bottom-start {
  grid-template-columns: minmax(0, 1fr) auto auto;
}
div:where(.swal2-container).swal2-top,
div:where(.swal2-container).swal2-center,
div:where(.swal2-container).swal2-bottom {
  grid-template-columns: auto minmax(0, 1fr) auto;
}
div:where(.swal2-container).swal2-top-end,
div:where(.swal2-container).swal2-center-end,
div:where(.swal2-container).swal2-bottom-end {
  grid-template-columns: auto auto minmax(0, 1fr);
}
div:where(.swal2-container).swal2-top-start > .swal2-popup {
  align-self: start;
}
div:where(.swal2-container).swal2-top > .swal2-popup {
  grid-column: 2;
  place-self: start center;
}
div:where(.swal2-container).swal2-top-end > .swal2-popup,
div:where(.swal2-container).swal2-top-right > .swal2-popup {
  grid-column: 3;
  place-self: start end;
}
div:where(.swal2-container).swal2-center-start > .swal2-popup,
div:where(.swal2-container).swal2-center-left > .swal2-popup {
  grid-row: 2;
  align-self: center;
}
div:where(.swal2-container).swal2-center > .swal2-popup {
  grid-column: 2;
  grid-row: 2;
  place-self: center center;
}
div:where(.swal2-container).swal2-center-end > .swal2-popup,
div:where(.swal2-container).swal2-center-right > .swal2-popup {
  grid-column: 3;
  grid-row: 2;
  place-self: center end;
}
div:where(.swal2-container).swal2-bottom-start > .swal2-popup,
div:where(.swal2-container).swal2-bottom-left > .swal2-popup {
  grid-column: 1;
  grid-row: 3;
  align-self: end;
}
div:where(.swal2-container).swal2-bottom > .swal2-popup {
  grid-column: 2;
  grid-row: 3;
  place-self: end center;
}
div:where(.swal2-container).swal2-bottom-end > .swal2-popup,
div:where(.swal2-container).swal2-bottom-right > .swal2-popup {
  grid-column: 3;
  grid-row: 3;
  place-self: end end;
}
div:where(.swal2-container).swal2-grow-row > .swal2-popup,
div:where(.swal2-container).swal2-grow-fullscreen > .swal2-popup {
  grid-column: 1/4;
  width: 100%;
}
div:where(.swal2-container).swal2-grow-column > .swal2-popup,
div:where(.swal2-container).swal2-grow-fullscreen > .swal2-popup {
  grid-row: 1/4;
  align-self: stretch;
}
div:where(.swal2-container).swal2-no-transition {
  transition: none !important;
}
div:where(.swal2-container)[popover] {
  width: auto;
  border: 0;
}
div:where(.swal2-container) div:where(.swal2-popup) {
  display: none;
  position: relative;
  box-sizing: border-box;
  grid-template-columns: minmax(0, 100%);
  width: var(--swal2-width);
  max-width: 100%;
  padding: var(--swal2-padding);
  border: var(--swal2-border);
  border-radius: var(--swal2-border-radius);
  background: var(--swal2-background);
  color: var(--swal2-color);
  font-family: inherit;
  font-size: 1rem;
}
div:where(.swal2-container) div:where(.swal2-popup):focus {
  outline: none;
}
div:where(.swal2-container) div:where(.swal2-popup).swal2-loading {
  overflow-y: hidden;
}
div:where(.swal2-container) div:where(.swal2-popup).swal2-draggable {
  cursor: grab;
}
div:where(.swal2-container) div:where(.swal2-popup).swal2-draggable div:where(.swal2-icon) {
  cursor: grab;
}
div:where(.swal2-container) div:where(.swal2-popup).swal2-dragging {
  cursor: grabbing;
}
div:where(.swal2-container) div:where(.swal2-popup).swal2-dragging div:where(.swal2-icon) {
  cursor: grabbing;
}
div:where(.swal2-container) h2:where(.swal2-title) {
  position: relative;
  max-width: 100%;
  margin: 0;
  padding: var(--swal2-title-padding);
  color: inherit;
  font-size: 1.875em;
  font-weight: 600;
  text-align: center;
  text-transform: none;
  overflow-wrap: break-word;
  cursor: initial;
}
div:where(.swal2-container) div:where(.swal2-actions) {
  display: flex;
  z-index: 1;
  box-sizing: border-box;
  flex-wrap: wrap;
  align-items: center;
  justify-content: var(--swal2-actions-justify-content);
  width: var(--swal2-actions-width);
  margin: var(--swal2-actions-margin);
  padding: var(--swal2-actions-padding);
  border-radius: var(--swal2-actions-border-radius);
  background: var(--swal2-actions-background);
}
div:where(.swal2-container) div:where(.swal2-loader) {
  display: none;
  align-items: center;
  justify-content: center;
  width: 2.2em;
  height: 2.2em;
  margin: 0 1.875em;
  animation: swal2-rotate-loading 1.5s linear 0s infinite normal;
  border-width: 0.25em;
  border-style: solid;
  border-radius: 100%;
  border-color: #2778c4 rgba(0, 0, 0, 0) #2778c4 rgba(0, 0, 0, 0);
}
div:where(.swal2-container) button:where(.swal2-styled) {
  margin: 0.3125em;
  padding: 0.625em 1.1em;
  transition: var(--swal2-action-button-transition);
  border: none;
  box-shadow: 0 0 0 3px rgba(0, 0, 0, 0);
  font-weight: 500;
}
div:where(.swal2-container) button:where(.swal2-styled):not([disabled]) {
  cursor: pointer;
}
div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-confirm) {
  border-radius: var(--swal2-confirm-button-border-radius);
  background: initial;
  background-color: var(--swal2-confirm-button-background-color);
  box-shadow: var(--swal2-confirm-button-box-shadow);
  color: var(--swal2-confirm-button-color);
  font-size: 1em;
}
div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-confirm):hover {
  background-color: color-mix(in srgb, var(--swal2-confirm-button-background-color), var(--swal2-action-button-hover));
}
div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-confirm):active {
  background-color: color-mix(in srgb, var(--swal2-confirm-button-background-color), var(--swal2-action-button-active));
}
div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-deny) {
  border-radius: var(--swal2-deny-button-border-radius);
  background: initial;
  background-color: var(--swal2-deny-button-background-color);
  box-shadow: var(--swal2-deny-button-box-shadow);
  color: var(--swal2-deny-button-color);
  font-size: 1em;
}
div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-deny):hover {
  background-color: color-mix(in srgb, var(--swal2-deny-button-background-color), var(--swal2-action-button-hover));
}
div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-deny):active {
  background-color: color-mix(in srgb, var(--swal2-deny-button-background-color), var(--swal2-action-button-active));
}
div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-cancel) {
  border-radius: var(--swal2-cancel-button-border-radius);
  background: initial;
  background-color: var(--swal2-cancel-button-background-color);
  box-shadow: var(--swal2-cancel-button-box-shadow);
  color: var(--swal2-cancel-button-color);
  font-size: 1em;
}
div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-cancel):hover {
  background-color: color-mix(in srgb, var(--swal2-cancel-button-background-color), var(--swal2-action-button-hover));
}
div:where(.swal2-container) button:where(.swal2-styled):where(.swal2-cancel):active {
  background-color: color-mix(in srgb, var(--swal2-cancel-button-background-color), var(--swal2-action-button-active));
}
div:where(.swal2-container) button:where(.swal2-styled):focus-visible {
  outline: none;
  box-shadow: var(--swal2-action-button-focus-box-shadow);
}
div:where(.swal2-container) button:where(.swal2-styled)[disabled]:not(.swal2-loading) {
  opacity: 0.4;
}
div:where(.swal2-container) button:where(.swal2-styled)::-moz-focus-inner {
  border: 0;
}
div:where(.swal2-container) div:where(.swal2-footer) {
  margin: 1em 0 0;
  padding: 1em 1em 0;
  border-top: 1px solid var(--swal2-footer-border-color);
  background: var(--swal2-footer-background);
  color: var(--swal2-footer-color);
  font-size: 1em;
  text-align: center;
  cursor: initial;
}
div:where(.swal2-container) .swal2-timer-progress-bar-container {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  grid-column: auto !important;
  overflow: hidden;
  border-bottom-right-radius: var(--swal2-border-radius);
  border-bottom-left-radius: var(--swal2-border-radius);
}
div:where(.swal2-container) div:where(.swal2-timer-progress-bar) {
  width: 100%;
  height: 0.25em;
  background: var(--swal2-timer-progress-bar-background);
}
div:where(.swal2-container) img:where(.swal2-image) {
  max-width: 100%;
  margin: 2em auto 1em;
  cursor: initial;
}
div:where(.swal2-container) button:where(.swal2-close) {
  position: var(--swal2-close-button-position);
  inset: var(--swal2-close-button-inset);
  z-index: 2;
  align-items: center;
  justify-content: center;
  width: 1.2em;
  height: 1.2em;
  margin-top: 0;
  margin-right: 0;
  margin-bottom: -1.2em;
  padding: 0;
  overflow: hidden;
  transition: var(--swal2-close-button-transition);
  border: none;
  border-radius: var(--swal2-border-radius);
  outline: var(--swal2-close-button-outline);
  background: rgba(0, 0, 0, 0);
  color: var(--swal2-close-button-color);
  font-family: monospace;
  font-size: var(--swal2-close-button-font-size);
  cursor: pointer;
  justify-self: end;
}
div:where(.swal2-container) button:where(.swal2-close):hover {
  transform: var(--swal2-close-button-hover-transform);
  background: rgba(0, 0, 0, 0);
  color: #f27474;
}
div:where(.swal2-container) button:where(.swal2-close):focus-visible {
  outline: none;
  box-shadow: var(--swal2-close-button-focus-box-shadow);
}
div:where(.swal2-container) button:where(.swal2-close)::-moz-focus-inner {
  border: 0;
}
div:where(.swal2-container) div:where(.swal2-html-container) {
  z-index: 1;
  justify-content: center;
  margin: 0;
  padding: var(--swal2-html-container-padding);
  overflow: auto;
  color: inherit;
  font-size: 1.125em;
  font-weight: normal;
  line-height: normal;
  text-align: center;
  overflow-wrap: break-word;
  word-break: break-word;
  cursor: initial;
}
div:where(.swal2-container) input:where(.swal2-input),
div:where(.swal2-container) input:where(.swal2-file),
div:where(.swal2-container) textarea:where(.swal2-textarea),
div:where(.swal2-container) select:where(.swal2-select),
div:where(.swal2-container) div:where(.swal2-radio),
div:where(.swal2-container) label:where(.swal2-checkbox) {
  margin: 1em 2em 3px;
}
div:where(.swal2-container) input:where(.swal2-input),
div:where(.swal2-container) input:where(.swal2-file),
div:where(.swal2-container) textarea:where(.swal2-textarea) {
  box-sizing: border-box;
  width: auto;
  transition: var(--swal2-input-transition);
  border: var(--swal2-input-border);
  border-radius: var(--swal2-input-border-radius);
  background: var(--swal2-input-background);
  box-shadow: var(--swal2-input-box-shadow);
  color: inherit;
  font-size: 1.125em;
}
div:where(.swal2-container) input:where(.swal2-input).swal2-inputerror,
div:where(.swal2-container) input:where(.swal2-file).swal2-inputerror,
div:where(.swal2-container) textarea:where(.swal2-textarea).swal2-inputerror {
  border-color: #f27474 !important;
  box-shadow: 0 0 2px #f27474 !important;
}
div:where(.swal2-container) input:where(.swal2-input):hover,
div:where(.swal2-container) input:where(.swal2-file):hover,
div:where(.swal2-container) textarea:where(.swal2-textarea):hover {
  box-shadow: var(--swal2-input-hover-box-shadow);
}
div:where(.swal2-container) input:where(.swal2-input):focus,
div:where(.swal2-container) input:where(.swal2-file):focus,
div:where(.swal2-container) textarea:where(.swal2-textarea):focus {
  border: var(--swal2-input-focus-border);
  outline: none;
  box-shadow: var(--swal2-input-focus-box-shadow);
}
div:where(.swal2-container) input:where(.swal2-input)::placeholder,
div:where(.swal2-container) input:where(.swal2-file)::placeholder,
div:where(.swal2-container) textarea:where(.swal2-textarea)::placeholder {
  color: #ccc;
}
div:where(.swal2-container) .swal2-range {
  margin: 1em 2em 3px;
  background: var(--swal2-background);
}
div:where(.swal2-container) .swal2-range input {
  width: 80%;
}
div:where(.swal2-container) .swal2-range output {
  width: 20%;
  color: inherit;
  font-weight: 600;
  text-align: center;
}
div:where(.swal2-container) .swal2-range input,
div:where(.swal2-container) .swal2-range output {
  height: 2.625em;
  padding: 0;
  font-size: 1.125em;
  line-height: 2.625em;
}
div:where(.swal2-container) .swal2-input {
  height: 2.625em;
  padding: 0 0.75em;
}
div:where(.swal2-container) .swal2-file {
  width: 75%;
  margin-right: auto;
  margin-left: auto;
  background: var(--swal2-input-background);
  font-size: 1.125em;
}
div:where(.swal2-container) .swal2-textarea {
  height: 6.75em;
  padding: 0.75em;
}
div:where(.swal2-container) .swal2-select {
  min-width: 50%;
  max-width: 100%;
  padding: 0.375em 0.625em;
  background: var(--swal2-input-background);
  color: inherit;
  font-size: 1.125em;
}
div:where(.swal2-container) .swal2-radio,
div:where(.swal2-container) .swal2-checkbox {
  align-items: center;
  justify-content: center;
  background: var(--swal2-background);
  color: inherit;
}
div:where(.swal2-container) .swal2-radio label,
div:where(.swal2-container) .swal2-checkbox label {
  margin: 0 0.6em;
  font-size: 1.125em;
}
div:where(.swal2-container) .swal2-radio input,
div:where(.swal2-container) .swal2-checkbox input {
  flex-shrink: 0;
  margin: 0 0.4em;
}
div:where(.swal2-container) label:where(.swal2-input-label) {
  display: flex;
  justify-content: center;
  margin: 1em auto 0;
}
div:where(.swal2-container) div:where(.swal2-validation-message) {
  align-items: center;
  justify-content: center;
  margin: 1em 0 0;
  padding: 0.625em;
  overflow: hidden;
  background: var(--swal2-validation-message-background);
  color: var(--swal2-validation-message-color);
  font-size: 1em;
  font-weight: 300;
}
div:where(.swal2-container) div:where(.swal2-validation-message)::before {
  content: "!";
  display: inline-block;
  width: 1.5em;
  min-width: 1.5em;
  height: 1.5em;
  margin: 0 0.625em;
  border-radius: 50%;
  background-color: #f27474;
  color: #fff;
  font-weight: 600;
  line-height: 1.5em;
  text-align: center;
}
div:where(.swal2-container) .swal2-progress-steps {
  flex-wrap: wrap;
  align-items: center;
  max-width: 100%;
  margin: 1.25em auto;
  padding: 0;
  background: rgba(0, 0, 0, 0);
  font-weight: 600;
}
div:where(.swal2-container) .swal2-progress-steps li {
  display: inline-block;
  position: relative;
}
div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step {
  z-index: 20;
  flex-shrink: 0;
  width: 2em;
  height: 2em;
  border-radius: 2em;
  background: #2778c4;
  color: #fff;
  line-height: 2em;
  text-align: center;
}
div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step {
  background: #2778c4;
}
div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step ~ .swal2-progress-step {
  background: var(--swal2-progress-step-background);
  color: #fff;
}
div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step ~ .swal2-progress-step-line {
  background: var(--swal2-progress-step-background);
}
div:where(.swal2-container) .swal2-progress-steps .swal2-progress-step-line {
  z-index: 10;
  flex-shrink: 0;
  width: 2.5em;
  height: 0.4em;
  margin: 0 -1px;
  background: #2778c4;
}
div:where(.swal2-icon) {
  position: relative;
  box-sizing: content-box;
  justify-content: center;
  width: 5em;
  height: 5em;
  margin: 2.5em auto 0.6em;
  zoom: var(--swal2-icon-zoom);
  border: 0.25em solid rgba(0, 0, 0, 0);
  border-radius: 50%;
  border-color: #000;
  font-family: inherit;
  line-height: 5em;
  cursor: default;
  -webkit-user-select: none;
  user-select: none;
}
div:where(.swal2-icon) .swal2-icon-content {
  display: flex;
  align-items: center;
  font-size: 3.75em;
}
div:where(.swal2-icon).swal2-error {
  border-color: #f27474;
  color: #f27474;
}
div:where(.swal2-icon).swal2-error .swal2-x-mark {
  position: relative;
  flex-grow: 1;
}
div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line] {
  display: block;
  position: absolute;
  top: 2.3125em;
  width: 2.9375em;
  height: 0.3125em;
  border-radius: 0.125em;
  background-color: #f27474;
}
div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line][class$=left] {
  left: 1.0625em;
  transform: rotate(45deg);
}
div:where(.swal2-icon).swal2-error [class^=swal2-x-mark-line][class$=right] {
  right: 1em;
  transform: rotate(-45deg);
}
div:where(.swal2-icon).swal2-error.swal2-icon-show {
  animation: swal2-animate-error-icon 0.5s;
}
div:where(.swal2-icon).swal2-error.swal2-icon-show .swal2-x-mark {
  animation: swal2-animate-error-x-mark 0.5s;
}
div:where(.swal2-icon).swal2-warning {
  border-color: #f8bb86;
  color: #f8bb86;
}
div:where(.swal2-icon).swal2-warning.swal2-icon-show {
  animation: swal2-animate-error-icon 0.5s;
}
div:where(.swal2-icon).swal2-warning.swal2-icon-show .swal2-icon-content {
  animation: swal2-animate-i-mark 0.5s;
}
div:where(.swal2-icon).swal2-info {
  border-color: #3fc3ee;
  color: #3fc3ee;
}
div:where(.swal2-icon).swal2-info.swal2-icon-show {
  animation: swal2-animate-error-icon 0.5s;
}
div:where(.swal2-icon).swal2-info.swal2-icon-show .swal2-icon-content {
  animation: swal2-animate-i-mark 0.8s;
}
div:where(.swal2-icon).swal2-question {
  border-color: #87adbd;
  color: #87adbd;
}
div:where(.swal2-icon).swal2-question.swal2-icon-show {
  animation: swal2-animate-error-icon 0.5s;
}
div:where(.swal2-icon).swal2-question.swal2-icon-show .swal2-icon-content {
  animation: swal2-animate-question-mark 0.8s;
}
div:where(.swal2-icon).swal2-success {
  border-color: #a5dc86;
  color: #a5dc86;
}
div:where(.swal2-icon).swal2-success [class^=swal2-success-circular-line] {
  position: absolute;
  width: 3.75em;
  height: 7.5em;
  border-radius: 50%;
}
div:where(.swal2-icon).swal2-success [class^=swal2-success-circular-line][class$=left] {
  top: -0.4375em;
  left: -2.0635em;
  transform: rotate(-45deg);
  transform-origin: 3.75em 3.75em;
  border-radius: 7.5em 0 0 7.5em;
}
div:where(.swal2-icon).swal2-success [class^=swal2-success-circular-line][class$=right] {
  top: -0.6875em;
  left: 1.875em;
  transform: rotate(-45deg);
  transform-origin: 0 3.75em;
  border-radius: 0 7.5em 7.5em 0;
}
div:where(.swal2-icon).swal2-success .swal2-success-ring {
  position: absolute;
  z-index: 2;
  top: -0.25em;
  left: -0.25em;
  box-sizing: content-box;
  width: 100%;
  height: 100%;
  border: 0.25em solid rgba(165, 220, 134, 0.3);
  border-radius: 50%;
}
div:where(.swal2-icon).swal2-success .swal2-success-fix {
  position: absolute;
  z-index: 1;
  top: 0.5em;
  left: 1.625em;
  width: 0.4375em;
  height: 5.625em;
  transform: rotate(-45deg);
}
div:where(.swal2-icon).swal2-success [class^=swal2-success-line] {
  display: block;
  position: absolute;
  z-index: 2;
  height: 0.3125em;
  border-radius: 0.125em;
  background-color: #a5dc86;
}
div:where(.swal2-icon).swal2-success [class^=swal2-success-line][class$=tip] {
  top: 2.875em;
  left: 0.8125em;
  width: 1.5625em;
  transform: rotate(45deg);
}
div:where(.swal2-icon).swal2-success [class^=swal2-success-line][class$=long] {
  top: 2.375em;
  right: 0.5em;
  width: 2.9375em;
  transform: rotate(-45deg);
}
div:where(.swal2-icon).swal2-success.swal2-icon-show .swal2-success-line-tip {
  animation: swal2-animate-success-line-tip 0.75s;
}
div:where(.swal2-icon).swal2-success.swal2-icon-show .swal2-success-line-long {
  animation: swal2-animate-success-line-long 0.75s;
}
div:where(.swal2-icon).swal2-success.swal2-icon-show .swal2-success-circular-line-right {
  animation: swal2-rotate-success-circular-line 4.25s ease-in;
}
[class^=swal2] {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.swal2-show {
  animation: var(--swal2-show-animation);
}
.swal2-hide {
  animation: var(--swal2-hide-animation);
}
.swal2-noanimation {
  transition: none;
}
.swal2-scrollbar-measure {
  position: absolute;
  top: -9999px;
  width: 50px;
  height: 50px;
  overflow: scroll;
}
.swal2-rtl .swal2-close {
  margin-right: initial;
  margin-left: 0;
}
.swal2-rtl .swal2-timer-progress-bar {
  right: 0;
  left: auto;
}
.swal2-toast {
  box-sizing: border-box;
  grid-column: 1/4 !important;
  grid-row: 1/4 !important;
  grid-template-columns: min-content auto min-content;
  padding: 1em;
  overflow-y: hidden;
  border: var(--swal2-toast-border);
  background: var(--swal2-background);
  box-shadow: var(--swal2-toast-box-shadow);
  pointer-events: auto;
}
.swal2-toast > * {
  grid-column: 2;
}
.swal2-toast h2:where(.swal2-title) {
  margin: 0.5em 1em;
  padding: 0;
  font-size: 1em;
  text-align: initial;
}
.swal2-toast .swal2-loading {
  justify-content: center;
}
.swal2-toast input:where(.swal2-input) {
  height: 2em;
  margin: 0.5em;
  font-size: 1em;
}
.swal2-toast .swal2-validation-message {
  font-size: 1em;
}
.swal2-toast div:where(.swal2-footer) {
  margin: 0.5em 0 0;
  padding: 0.5em 0 0;
  font-size: 0.8em;
}
.swal2-toast button:where(.swal2-close) {
  grid-column: 3/3;
  grid-row: 1/99;
  align-self: center;
  width: 0.8em;
  height: 0.8em;
  margin: 0;
  font-size: 2em;
}
.swal2-toast div:where(.swal2-html-container) {
  margin: 0.5em 1em;
  padding: 0;
  overflow: initial;
  font-size: 1em;
  text-align: initial;
}
.swal2-toast div:where(.swal2-html-container):empty {
  padding: 0;
}
.swal2-toast .swal2-loader {
  grid-column: 1;
  grid-row: 1/99;
  align-self: center;
  width: 2em;
  height: 2em;
  margin: 0.25em;
}
.swal2-toast .swal2-icon {
  grid-column: 1;
  grid-row: 1/99;
  align-self: center;
  width: 2em;
  min-width: 2em;
  height: 2em;
  margin: 0 0.5em 0 0;
}
.swal2-toast .swal2-icon .swal2-icon-content {
  display: flex;
  align-items: center;
  font-size: 1.8em;
  font-weight: bold;
}
.swal2-toast .swal2-icon.swal2-success .swal2-success-ring {
  width: 2em;
  height: 2em;
}
.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line] {
  top: 0.875em;
  width: 1.375em;
}
.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=left] {
  left: 0.3125em;
}
.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=right] {
  right: 0.3125em;
}
.swal2-toast div:where(.swal2-actions) {
  justify-content: flex-start;
  height: auto;
  margin: 0;
  margin-top: 0.5em;
  padding: 0 0.5em;
}
.swal2-toast button:where(.swal2-styled) {
  margin: 0.25em 0.5em;
  padding: 0.4em 0.6em;
  font-size: 1em;
}
.swal2-toast .swal2-success {
  border-color: #a5dc86;
}
.swal2-toast .swal2-success [class^=swal2-success-circular-line] {
  position: absolute;
  width: 1.6em;
  height: 3em;
  border-radius: 50%;
}
.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=left] {
  top: -0.8em;
  left: -0.5em;
  transform: rotate(-45deg);
  transform-origin: 2em 2em;
  border-radius: 4em 0 0 4em;
}
.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=right] {
  top: -0.25em;
  left: 0.9375em;
  transform-origin: 0 1.5em;
  border-radius: 0 4em 4em 0;
}
.swal2-toast .swal2-success .swal2-success-ring {
  width: 2em;
  height: 2em;
}
.swal2-toast .swal2-success .swal2-success-fix {
  top: 0;
  left: 0.4375em;
  width: 0.4375em;
  height: 2.6875em;
}
.swal2-toast .swal2-success [class^=swal2-success-line] {
  height: 0.3125em;
}
.swal2-toast .swal2-success [class^=swal2-success-line][class$=tip] {
  top: 1.125em;
  left: 0.1875em;
  width: 0.75em;
}
.swal2-toast .swal2-success [class^=swal2-success-line][class$=long] {
  top: 0.9375em;
  right: 0.1875em;
  width: 1.375em;
}
.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-tip {
  animation: swal2-toast-animate-success-line-tip 0.75s;
}
.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-long {
  animation: swal2-toast-animate-success-line-long 0.75s;
}
.swal2-toast.swal2-show {
  animation: var(--swal2-toast-show-animation);
}
.swal2-toast.swal2-hide {
  animation: var(--swal2-toast-hide-animation);
}
@keyframes swal2-show {
  0% {
    transform: translate3d(0, -50px, 0) scale(0.9);
    opacity: 0;
  }
  100% {
    transform: translate3d(0, 0, 0) scale(1);
    opacity: 1;
  }
}
@keyframes swal2-hide {
  0% {
    transform: translate3d(0, 0, 0) scale(1);
    opacity: 1;
  }
  100% {
    transform: translate3d(0, -50px, 0) scale(0.9);
    opacity: 0;
  }
}
@keyframes swal2-animate-success-line-tip {
  0% {
    top: 1.1875em;
    left: 0.0625em;
    width: 0;
  }
  54% {
    top: 1.0625em;
    left: 0.125em;
    width: 0;
  }
  70% {
    top: 2.1875em;
    left: -0.375em;
    width: 3.125em;
  }
  84% {
    top: 3em;
    left: 1.3125em;
    width: 1.0625em;
  }
  100% {
    top: 2.8125em;
    left: 0.8125em;
    width: 1.5625em;
  }
}
@keyframes swal2-animate-success-line-long {
  0% {
    top: 3.375em;
    right: 2.875em;
    width: 0;
  }
  65% {
    top: 3.375em;
    right: 2.875em;
    width: 0;
  }
  84% {
    top: 2.1875em;
    right: 0;
    width: 3.4375em;
  }
  100% {
    top: 2.375em;
    right: 0.5em;
    width: 2.9375em;
  }
}
@keyframes swal2-rotate-success-circular-line {
  0% {
    transform: rotate(-45deg);
  }
  5% {
    transform: rotate(-45deg);
  }
  12% {
    transform: rotate(-405deg);
  }
  100% {
    transform: rotate(-405deg);
  }
}
@keyframes swal2-animate-error-x-mark {
  0% {
    margin-top: 1.625em;
    transform: scale(0.4);
    opacity: 0;
  }
  50% {
    margin-top: 1.625em;
    transform: scale(0.4);
    opacity: 0;
  }
  80% {
    margin-top: -0.375em;
    transform: scale(1.15);
  }
  100% {
    margin-top: 0;
    transform: scale(1);
    opacity: 1;
  }
}
@keyframes swal2-animate-error-icon {
  0% {
    transform: rotateX(100deg);
    opacity: 0;
  }
  100% {
    transform: rotateX(0deg);
    opacity: 1;
  }
}
@keyframes swal2-rotate-loading {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes swal2-animate-question-mark {
  0% {
    transform: rotateY(-360deg);
  }
  100% {
    transform: rotateY(0);
  }
}
@keyframes swal2-animate-i-mark {
  0% {
    transform: rotateZ(45deg);
    opacity: 0;
  }
  25% {
    transform: rotateZ(-25deg);
    opacity: 0.4;
  }
  50% {
    transform: rotateZ(15deg);
    opacity: 0.8;
  }
  75% {
    transform: rotateZ(-5deg);
    opacity: 1;
  }
  100% {
    transform: rotateX(0);
    opacity: 1;
  }
}
@keyframes swal2-toast-show {
  0% {
    transform: translateY(-0.625em) rotateZ(2deg);
  }
  33% {
    transform: translateY(0) rotateZ(-2deg);
  }
  66% {
    transform: translateY(0.3125em) rotateZ(2deg);
  }
  100% {
    transform: translateY(0) rotateZ(0deg);
  }
}
@keyframes swal2-toast-hide {
  100% {
    transform: rotateZ(1deg);
    opacity: 0;
  }
}
@keyframes swal2-toast-animate-success-line-tip {
  0% {
    top: 0.5625em;
    left: 0.0625em;
    width: 0;
  }
  54% {
    top: 0.125em;
    left: 0.125em;
    width: 0;
  }
  70% {
    top: 0.625em;
    left: -0.25em;
    width: 1.625em;
  }
  84% {
    top: 1.0625em;
    left: 0.75em;
    width: 0.5em;
  }
  100% {
    top: 1.125em;
    left: 0.1875em;
    width: 0.75em;
  }
}
@keyframes swal2-toast-animate-success-line-long {
  0% {
    top: 1.625em;
    right: 1.375em;
    width: 0;
  }
  65% {
    top: 1.25em;
    right: 0.9375em;
    width: 0;
  }
  84% {
    top: 0.9375em;
    right: 0;
    width: 1.125em;
  }
  100% {
    top: 0.9375em;
    right: 0.1875em;
    width: 1.375em;
  }
}
:root {
  --font-display: "Sora", sans-serif;
  --font-body: "Plus Jakarta Sans", sans-serif;
  --form-field-height: 42px;
  --form-radius: 0.75rem;
  --danger: #e11d48;
  --danger-soft-bg: #fff1f2;
  --danger-border: #fecdd3;
  --warning: #b45309;
  --warning-soft-bg: #fef3e2;
  --surface: #ffffff;
  --disabled-bg: #e5e7eb;
  --disabled-text: #6b7280;
  --hero-text: #ffffff;
  --hero-muted: rgb(255 255 255 / 74%);
  --hero-spot: rgb(255 255 255 / 9%);
  --hero-line: rgb(255 255 255 / 16%);
  --hero-card: rgb(255 255 255 / 4%);
  --overlay: rgb(15 23 42 / 45%);
  --shadow: 0 18px 50px rgb(15 23 42 / 12%);
  --qr-roxo-nubank: #8d0de3;
  --qr-roxo-900: #420465;
  --qr-roxo-1000: #1e002f;
  --qr-preto: #000000;
  --qr-branco: #ffffff;
  --qr-verde-200: #c9e2bf;
}
[data-theme=wtorre] {
  --brand: #1d54e6;
  --wtorre: #1d54e6;
  --brand-hover: #1442ba;
  --wtorre-hover: #1442ba;
  --brand-tonal-bg: #e8eefd;
  --wtorre-tonal-bg: #e8eefd;
  --brand-focus-ring: color-mix(in srgb, var(--brand) 25%, transparent);
  --app-bg: #f1f5f9;
  --app-border: #e2e8f0;
  --text-primary: #0f172a;
  --text-muted: #64748b;
  --purple-900: #0f172a;
  --brand-ink: #0f172a;
  --purple-1000: #0e1626;
  --premium: #0e1626;
  --core-purple: #1d54e6;
  --success: #0f9f6e;
  --success-soft-bg: #e7f6f0;
  --success-border: #b7e4cd;
  --menu-bg-top: #0e1626;
  --menu-bg: #121d33;
  --menu-active: var(--brand);
  --menu-label-inactive: #aab2c8;
  --menu-icon-inactive: #aab2c8;
  --menu-section: #5d6883;
  --menu-label-active: #ffffff;
  --menu-status: #13a36b;
  --menu-line: rgb(255 255 255 / 7%);
  --menu-muted: #7f8aa6;
  --wt-sidebar-bg: var(--menu-bg);
  --wt-sidebar-bg-top: var(--menu-bg-top);
  --wt-menu-active: var(--menu-active);
  --wt-menu-label: var(--menu-label-inactive);
  --wt-menu-icon: var(--menu-icon-inactive);
  --wt-menu-section: var(--menu-section);
  --wt-menu-line: var(--menu-line);
  --wt-menu-muted: var(--menu-muted);
  --app-nav-active-bg: var(--brand-tonal-bg);
  --app-nav-active: var(--brand);
}
[data-theme=nubank-parque] {
  --brand: #8d0de3;
  --wtorre: #8d0de3;
  --brand-hover: #7209bd;
  --wtorre-hover: #7209bd;
  --brand-tonal-bg: #ecdfff;
  --wtorre-tonal-bg: #ecdfff;
  --brand-focus-ring: color-mix(in srgb, var(--brand) 25%, transparent);
  --app-bg: #f4f1f8;
  --app-border: #e4dced;
  --text-primary: #1e002f;
  --text-muted: #6d6478;
  --purple-900: #420465;
  --brand-ink: #420465;
  --purple-1000: #1e002f;
  --premium: #1e002f;
  --core-purple: #8d0de3;
  --success: #3c8f55;
  --success-soft-bg: #e7f5ea;
  --success-border: #b7dfc2;
  --menu-bg-top: #2e0348;
  --menu-bg: #420465;
  --menu-active: #8d0de3;
  --menu-label-inactive: #e9def7;
  --menu-icon-inactive: #b9a3e4;
  --menu-section: #a98fd6;
  --menu-label-active: #ffffff;
  --menu-status: #a7d296;
  --menu-line: rgb(233 222 247 / 12%);
  --menu-muted: #b9a3e4;
  --wt-sidebar-bg: var(--menu-bg);
  --wt-sidebar-bg-top: var(--menu-bg-top);
  --wt-menu-active: var(--menu-active);
  --wt-menu-label: var(--menu-label-inactive);
  --wt-menu-icon: var(--menu-icon-inactive);
  --wt-menu-section: var(--menu-section);
  --wt-menu-line: var(--menu-line);
  --wt-menu-muted: var(--menu-muted);
  --app-nav-active-bg: var(--brand-tonal-bg);
  --app-nav-active: var(--brand);
}
.wt-page {
  width: 100%;
  max-width: none;
}
.wt-page h1,
.login-hero h1,
.login-panel__title {
  font-family: var(--font-display);
  font-weight: 600;
  letter-spacing: -0.03em;
}
.wt-page h1 {
  margin: 0 0 0.4rem;
  font-size: 1.8rem;
  color: var(--text-primary);
}
.wt-lead {
  margin: 0;
  color: var(--text-muted);
  line-height: 1.5;
}
.btn-action-primary,
.btn-action-secondary,
.btn-action-tonal,
.btn-action-danger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  height: var(--form-field-height);
  padding: 0 1rem;
  border-radius: var(--form-radius);
  border: 1px solid transparent;
  font: 600 0.95rem var(--font-body);
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
}
.btn-action-primary {
  background: var(--brand);
  color: var(--hero-text);
}
.btn-action-primary:hover:not(:disabled) {
  background: var(--brand-hover);
}
.btn-action-secondary {
  background: var(--surface);
  color: var(--text-primary);
  border-color: var(--app-border);
}
.btn-action-tonal {
  background: var(--brand-tonal-bg);
  color: var(--brand);
}
.btn-action-danger {
  background: var(--danger);
  color: var(--hero-text);
}
.btn-action-primary:disabled,
.btn-action-secondary:disabled,
.btn-action-tonal:disabled,
.btn-action-danger:disabled {
  background: var(--disabled-bg);
  color: var(--disabled-text);
  border-color: transparent;
  cursor: not-allowed;
}
.form-label {
  display: block;
  margin-bottom: 0.35rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-muted);
}
.form-field,
.form-select {
  width: 100%;
  height: var(--form-field-height);
  padding: 0 0.85rem;
  border: 1px solid var(--app-border);
  border-radius: var(--form-radius);
  background: var(--surface);
  color: var(--text-primary);
  font: 500 0.95rem var(--font-body);
}
.form-field:focus,
.form-select:focus {
  outline: none;
  border-color: var(--brand);
  box-shadow: 0 0 0 4px var(--brand-focus-ring);
}
.app-toasts {
  position: fixed;
  top: 1rem;
  right: 1rem;
  z-index: 80;
  display: grid;
  gap: 0.6rem;
  width: min(360px, 100vw - 2rem);
}
.app-toast {
  position: relative;
  overflow: hidden;
  padding: 0.85rem 1rem 1rem;
  border: 1px solid var(--app-border);
  border-radius: 0.9rem;
  background: var(--surface);
  box-shadow: var(--shadow);
  color: var(--text-primary);
}
.app-toast strong {
  display: block;
  font-size: 0.95rem;
}
.app-toast p {
  margin: 0.25rem 0 0;
  color: var(--text-muted);
  font-size: 0.88rem;
}
.app-toast__bar {
  position: absolute;
  left: 0;
  bottom: 0;
  height: 3px;
  width: 100%;
  transform-origin: left;
  animation: app-toast-bar 4s linear forwards;
}
.app-toast:hover .app-toast__bar {
  animation-play-state: paused;
}
.app-toast--success .app-toast__bar {
  background: var(--success);
}
.app-toast--error .app-toast__bar {
  background: var(--danger);
}
.app-toast--warning .app-toast__bar {
  background: var(--warning);
}
.app-toast--info .app-toast__bar {
  background: var(--brand);
}
@keyframes app-toast-bar {
  from {
    transform: scaleX(1);
  }
  to {
    transform: scaleX(0);
  }
}
.theme-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 280px));
  gap: 1rem;
  margin-top: 1.5rem;
}
.theme-card {
  padding: 0.7rem;
  border: 1px solid var(--app-border);
  border-radius: 1rem;
  background: var(--surface);
  text-align: left;
  cursor: pointer;
  color: inherit;
  font: inherit;
}
.theme-card--on {
  border-color: var(--brand);
  box-shadow: 0 0 0 3px var(--brand-focus-ring);
}
.theme-card__preview {
  display: grid;
  align-content: space-between;
  min-height: 140px;
  padding: 1rem;
  border-radius: 0.8rem;
  background: var(--app-bg);
}
.theme-card__preview img {
  height: 36px;
  width: auto;
  max-width: 100%;
  object-fit: contain;
  justify-self: start;
}
.theme-card__swatch {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 999px;
  background: var(--brand);
}
.theme-card__name {
  display: block;
  margin-top: 0.75rem;
  font-weight: 650;
}
.upload-dropzone {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  width: 100%;
  margin-top: 0.8rem;
  padding: 0.85rem 1rem;
  border: 1px dashed var(--app-border);
  border-radius: var(--form-radius);
  background: var(--surface);
  cursor: pointer;
}
.upload-dropzone--banner {
  min-height: 4.5rem;
}
.upload-dropzone--centro {
  flex-direction: column;
  justify-content: center;
  gap: 0.45rem;
  min-height: 9.5rem;
  padding: 1.75rem 1.25rem;
  border-width: 1.5px;
  border-radius: 0.95rem;
  text-align: center;
}
.upload-dropzone--centro .upload-dropzone__seta {
  width: 1.7rem;
  height: 1.7rem;
  color: var(--brand);
}
.upload-dropzone--centro .upload-dropzone__preview {
  width: 4.25rem;
  height: 4.25rem;
}
.upload-dropzone--centro .upload-dropzone__texto {
  justify-items: center;
}
.upload-dropzone--centro strong {
  font-size: 0.98rem;
  font-weight: 750;
}
.upload-dropzone--dragover {
  border-color: var(--brand);
  background: var(--brand-tonal-bg);
}
.upload-dropzone--selected {
  border-style: solid;
  border-color: var(--brand);
}
.upload-dropzone input {
  display: none;
}
.upload-dropzone__icone {
  display: grid;
  flex: none;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 0.7rem;
  background: var(--brand-tonal-bg);
  color: var(--brand);
}
.upload-dropzone__preview {
  width: 40px;
  height: 40px;
  flex: none;
  object-fit: contain;
  border-radius: 0.5rem;
}
.upload-dropzone__texto {
  display: grid;
  gap: 0.15rem;
  min-width: 0;
  color: var(--text-primary);
}
.upload-dropzone__link {
  color: var(--brand);
  font-weight: 700;
}
.upload-dropzone__hint {
  color: var(--text-muted);
  font-size: 0.82rem;
}
@media (max-width: 700px) {
  .theme-cards {
    grid-template-columns: 1fr;
  }
}
.wt-layout {
  display: grid;
  grid-template-columns: 264px 1fr;
  height: 100vh;
  background: var(--app-bg);
  color: var(--text-primary);
}
.wt-layout.collapsed {
  grid-template-columns: 78px 1fr;
}
.wt-sidebar {
  display: flex;
  flex-direction: column;
  min-height: 0;
  background:
    linear-gradient(
      180deg,
      var(--menu-bg-top),
      var(--menu-bg));
  color: var(--menu-label-active);
}
.brand {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  min-height: 76px;
  padding: 1rem 0.9rem 0.7rem;
}
.wt-layout.theme-nubank .brand {
  padding-top: 1.15rem;
}
.brand img {
  height: 34px;
  width: auto;
  max-width: 158px;
  object-fit: contain;
}
.wt-layout.collapsed .brand {
  flex-direction: column;
  padding-inline: 0.4rem;
}
.wt-layout.collapsed .brand img {
  height: 28px;
  max-width: 42px;
}
.brand__collapse,
.nav-scroll,
.logout,
.wt-topbar__menu {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  background: transparent;
  color: var(--menu-label-inactive);
  cursor: pointer;
}
.brand__collapse {
  width: 32px;
  height: 32px;
  border-radius: 0.6rem;
}
.brand__collapse:hover,
.logout:hover,
.nav-scroll:hover {
  color: var(--menu-label-active);
}
.profile {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin: 0 0.75rem;
  padding: 0.7rem 0.35rem 0.85rem;
  border-bottom: 1px solid var(--menu-line);
}
.profile__avatar {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  flex: none;
  border-radius: 999px;
  background: color-mix(in srgb, var(--menu-label-active) 14%, transparent);
  color: var(--menu-label-active);
  font-size: 0.78rem;
  font-weight: 700;
  object-fit: cover;
}
.profile__text {
  min-width: 0;
}
.name,
.role {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.name {
  font-size: 0.92rem;
  font-weight: 650;
}
.role {
  color: var(--menu-muted);
  font-size: 0.78rem;
}
.wt-layout.collapsed .profile {
  justify-content: center;
  margin-inline: 0.4rem;
}
.wt-layout.collapsed .profile__text {
  display: none;
}
.nav-scroll {
  height: 28px;
  margin: 0.15rem 0.7rem 0;
}
.nav-scroll[hidden] {
  display: none;
}
.nav {
  flex: 1;
  min-height: 0;
  overflow: auto;
  padding: 0.4rem 0.65rem 0.8rem;
  scrollbar-width: none;
}
.nav::-webkit-scrollbar {
  display: none;
}
.nav-label {
  display: flex;
  width: 100%;
  margin: 0.85rem 0 0.25rem;
  padding: 0.2rem 0.55rem;
  border: 0;
  background: transparent;
  color: var(--menu-section);
  font: 700 0.68rem var(--font-body);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
}
.wt-nav-item {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-height: 42px;
  margin-top: 0.15rem;
  padding: 0 0.7rem;
  border-radius: 0.75rem;
  color: var(--menu-icon-inactive);
  text-decoration: none;
}
.wt-nav-item__label {
  color: var(--menu-label-inactive);
  font-size: 0.94rem;
  font-weight: 550;
}
.wt-nav-item.active {
  background: color-mix(in srgb, var(--menu-active) 22%, transparent);
  color: var(--menu-label-active);
}
.wt-nav-item.active .wt-nav-item__label {
  color: var(--menu-label-active);
}
.wt-nav-item.active::before {
  content: "";
  position: absolute;
  left: 0;
  top: 8px;
  bottom: 8px;
  width: 3px;
  border-radius: 999px;
  background: var(--menu-active);
}
.wt-layout.collapsed .nav-label,
.wt-layout.collapsed .wt-nav-item__label {
  display: none;
}
.wt-layout.collapsed .wt-nav-item {
  justify-content: center;
  padding-inline: 0;
}
.logout {
  gap: 0.7rem;
  justify-content: flex-start;
  margin: 0.4rem 0.75rem 0.9rem;
  padding: 0.8rem 0.7rem;
  border-top: 1px solid var(--menu-line);
  color: var(--menu-label-inactive);
  font: 600 0.92rem var(--font-body);
}
.wt-layout.collapsed .logout span {
  display: none;
}
.wt-layout.collapsed .logout {
  justify-content: center;
}
.wt-main {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
}
.wt-topbar {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  height: 68px;
  padding: 0 1.5rem;
  border-bottom: 1px solid var(--app-border);
  background: var(--surface);
}
.wt-topbar h1 {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.15rem;
  font-weight: 600;
}
.wt-topbar__menu {
  display: none;
  width: 36px;
  height: 36px;
  border-radius: 0.7rem;
  color: var(--text-primary);
}
.wt-content {
  overflow: auto;
  padding: 1.6rem 1.5rem 2rem;
}
.wt-backdrop {
  display: none;
}
@media (max-width: 900px) {
  .wt-layout,
  .wt-layout.collapsed {
    grid-template-columns: 1fr;
  }
  .wt-sidebar {
    position: fixed;
    z-index: 40;
    inset: 0 auto 0 0;
    width: 264px;
    transform: translateX(-105%);
    transition: transform 0.2s ease;
  }
  .wt-layout.nav-open .wt-sidebar {
    transform: none;
  }
  .wt-layout.collapsed .brand {
    flex-direction: row;
  }
  .wt-layout.collapsed .brand img {
    height: 34px;
    max-width: 158px;
  }
  .wt-layout.collapsed .profile {
    justify-content: flex-start;
  }
  .wt-layout.collapsed .profile__text,
  .wt-layout.collapsed .nav-label,
  .wt-layout.collapsed .wt-nav-item__label,
  .wt-layout.collapsed .logout span {
    display: block;
  }
  .wt-layout.collapsed .wt-nav-item,
  .wt-layout.collapsed .logout {
    justify-content: flex-start;
  }
  .wt-topbar__menu {
    display: inline-flex;
  }
  .wt-layout.nav-open .wt-backdrop {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 35;
    border: 0;
    background: rgba(15, 23, 42, 0.45);
  }
}
.settings {
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr);
  gap: 1.25rem 1.5rem;
  align-items: start;
}
.settings-head {
  grid-column: 1/-1;
}
.settings-nav {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding: 0.45rem;
  border: 1px solid var(--app-border);
  border-radius: 1rem;
  background: var(--surface);
}
.settings-nav-item {
  display: flex;
  align-items: flex-start;
  gap: 0.7rem;
  padding: 0.7rem 0.8rem;
  border: 1px solid transparent;
  border-radius: 0.85rem;
  background: transparent;
  color: var(--text-primary);
  text-decoration: none;
}
.settings-nav-item__text {
  min-width: 0;
}
.settings-nav-item__label,
.settings-nav-item__hint {
  display: block;
}
.settings-nav-item__label {
  font-size: 0.94rem;
  font-weight: 650;
}
.settings-nav-item__hint {
  margin-top: 0.1rem;
  color: var(--text-muted);
  font-size: 0.78rem;
  line-height: 1.3;
}
.settings-nav-item.active {
  background: var(--app-nav-active-bg);
  border-color: var(--app-nav-active);
  color: var(--app-nav-active);
}
.settings-nav-item.active .settings-nav-item__hint {
  color: var(--app-nav-active);
}
@media (max-width: 900px) {
  .settings {
    grid-template-columns: 1fr;
  }
}
.login-screen {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 7fr 5fr;
  background: var(--surface);
  color: var(--text-primary);
}
.login-hero {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 2rem;
  padding: 3rem 3.5rem;
  background:
    radial-gradient(
      circle at 16% 18%,
      var(--hero-spot),
      transparent 26%),
    radial-gradient(
      circle at 82% 78%,
      var(--hero-spot),
      transparent 30%),
    var(--menu-bg-top);
  color: var(--hero-text);
}
.login-hero__ring {
  position: absolute;
  border: 1px solid var(--hero-line);
  border-radius: 50%;
  pointer-events: none;
}
.login-hero__ring--a {
  width: 280px;
  height: 280px;
  right: -80px;
  top: -90px;
}
.login-hero__ring--b {
  width: 180px;
  height: 180px;
  left: 8%;
  bottom: 8%;
}
.login-hero__logo {
  position: relative;
  height: 42px;
  width: auto;
  max-width: 220px;
  object-fit: contain;
  align-self: flex-start;
}
.login-hero__copy {
  position: relative;
  max-width: 520px;
}
.login-hero__kicker {
  margin: 0 0 0.6rem;
  color: var(--hero-muted);
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.login-hero h1 {
  margin: 0;
  font-size: clamp(2.2rem, 4vw, 3.4rem);
  line-height: 1.05;
}
.login-hero__copy > p:last-child {
  margin: 1rem 0 0;
  max-width: 38ch;
  color: var(--hero-muted);
  font-size: 1.05rem;
  line-height: 1.5;
}
.login-hero__cards {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.8rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.login-hero__cards li {
  display: grid;
  gap: 0.7rem;
  min-height: 150px;
  padding: 1rem;
  border: 1px solid var(--hero-line);
  border-radius: 1rem;
  background: var(--hero-card);
}
.login-hero__cards strong,
.login-hero__cards span {
  display: block;
}
.login-hero__cards span {
  color: var(--hero-muted);
  font-size: 0.88rem;
  line-height: 1.4;
}
.login-panel {
  display: grid;
  align-content: center;
  justify-items: center;
  padding: 2.5rem 1.5rem;
}
.login-panel__inner {
  width: min(100%, 400px);
}
.login-panel__kicker {
  margin: 0;
  color: var(--brand);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.login-panel__title {
  margin: 0.35rem 0 0;
  color: var(--purple-900);
  font-size: 2rem;
}
.login-panel__lead {
  margin: 0.45rem 0 1.4rem;
  color: var(--text-muted);
}
.login-panel__ms,
.login-panel__ghost,
.login-panel__submit,
.login-panel__back {
  width: 100%;
  height: 46px;
  border-radius: 12px;
  font: 650 0.98rem var(--font-body);
  cursor: pointer;
}
.login-panel__ms,
.login-panel__submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.7rem;
  border: 0;
  background: var(--brand);
  color: var(--hero-text);
}
.login-panel__ms:hover:not(:disabled),
.login-panel__submit:hover:not(:disabled) {
  background: var(--brand-hover);
}
.login-panel__ms img {
  width: 18px;
  height: 18px;
}
.login-panel__ms:disabled,
.login-panel__submit:disabled {
  background: var(--disabled-bg);
  color: var(--disabled-text);
  cursor: not-allowed;
}
.login-panel__divider {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 0.7rem;
  margin: 1rem 0;
  color: var(--text-muted);
  font-size: 0.85rem;
}
.login-panel__divider::before,
.login-panel__divider::after {
  content: "";
  height: 1px;
  background: var(--app-border);
}
.login-panel__ghost,
.login-panel__back {
  border: 1px solid var(--app-border);
  background: var(--surface);
  color: var(--text-primary);
}
.login-panel__back {
  margin-top: 0.8rem;
}
.login-field {
  display: block;
  margin-bottom: 0.85rem;
}
.login-panel__input {
  width: 100%;
  height: var(--form-field-height);
  margin-top: 0.35rem;
  padding: 0 0.85rem;
  border: 1px solid var(--app-border);
  border-radius: 12px;
  background: var(--surface);
  color: var(--text-primary);
  font: 500 1rem var(--font-body);
}
.login-panel__input:focus {
  outline: none;
  border-color: var(--brand);
  box-shadow: 0 0 0 4px var(--brand-focus-ring);
}
.login-field small {
  display: block;
  margin-top: 0.3rem;
  color: var(--danger);
  font-size: 0.8rem;
}
.login-panel__msg {
  margin: 0 0 1rem;
  padding: 0.75rem 0.85rem;
  border-radius: 0.8rem;
  font-size: 0.9rem;
  line-height: 1.4;
}
.login-panel__msg--warn {
  background: var(--warning-soft-bg);
  color: var(--warning);
}
.login-panel__msg--info {
  background: var(--brand-tonal-bg);
  color: var(--brand-ink);
}
.login-panel__secure,
.login-panel__copy {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  margin: 1.4rem 0 0;
  color: var(--text-muted);
  font-size: 0.8rem;
}
.login-panel__secure svg {
  color: var(--success);
}
@media (max-width: 900px) {
  .login-screen {
    grid-template-columns: 1fr;
  }
  .login-hero {
    min-height: 280px;
    padding: 1.5rem;
  }
  .login-hero__cards,
  .login-panel__kicker,
  .login-panel__divider {
    display: none;
  }
}
.wt-page--wide {
  max-width: none;
}
.tenant-lista {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 0.9rem;
}
.tenant-card {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  min-width: 0;
  padding: 1rem;
  border: 1px solid var(--app-border);
  border-radius: 1rem;
  background: var(--surface);
}
.tenant-card__topo {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.6rem;
}
.tenant-card__nome {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 600;
}
.tenant-card__selos {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
}
.tenant-card__id {
  margin: 0;
  color: var(--text-muted);
  font-size: 0.8rem;
  line-height: 1.4;
  word-break: break-all;
}
.tenant-card__id strong {
  color: var(--text-primary);
  font-weight: 650;
}
.tenant-card__acoes {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-top: 0.2rem;
}
.selo {
  display: inline-flex;
  padding: 0.15rem 0.5rem;
  border-radius: 999px;
  background: var(--brand-tonal-bg);
  color: var(--brand);
  font-size: 0.75rem;
  font-weight: 700;
}
.page-head,
.page-head__acoes,
.form-acoes,
.modal-footer__acoes,
.filtros,
.periodos {
  display: flex;
  align-items: end;
  gap: 0.75rem;
  flex-wrap: wrap;
}
.page-head {
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 1.2rem;
}
.page-head__acoes {
  align-items: center;
}
.page-head h1 {
  margin-bottom: 0.25rem;
}
.filtros {
  margin: 0 0 1rem;
  align-items: end;
}
.filtros .form-field,
.filtros .form-select {
  min-width: 180px;
}
.formulario {
  display: grid;
  gap: 0.9rem;
  max-width: 560px;
}
.formulario small,
.aviso-campo {
  color: var(--warning);
  display: block;
  margin-top: 0.3rem;
}
.aviso-fixo {
  margin: 0.6rem 0 1rem;
  padding: 0.75rem 0.9rem;
  border-radius: 0.8rem;
  background: var(--brand-tonal-bg);
  color: var(--brand-ink);
}
.check {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.form-acoes,
.modal-footer__acoes {
  justify-content: flex-end;
}
.tabela-wrap {
  min-width: 0;
  overflow: visible;
}
.tabela {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
}
.tabela th,
.tabela td {
  min-width: 0;
  padding: 0.7rem 0.55rem;
  border-bottom: 1px solid var(--app-border);
  text-align: left;
  vertical-align: middle;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.tabela th button {
  border: 0;
  background: transparent;
  color: var(--text-muted);
  font: 700 0.75rem var(--font-body);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  cursor: pointer;
}
.tabela a {
  color: var(--brand);
  text-decoration: none;
  font-weight: 650;
}
.link-curto {
  display: inline-block;
  max-width: calc(100% - 2.6rem);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  vertical-align: middle;
}
.tabela td.acoes {
  width: 6.5rem;
  overflow: visible;
  white-space: nowrap;
}
.tabela td.acoes > * {
  display: inline-flex;
  vertical-align: middle;
}
.tabela td.acoes > * + * {
  margin-left: 0.35rem;
}
app-action-btn,
app-action-menu {
  display: inline-flex;
  vertical-align: middle;
}
.status {
  display: inline-flex;
  padding: 0.15rem 0.5rem;
  border-radius: 999px;
  background: var(--success-soft-bg);
  color: var(--success);
  font-size: 0.8rem;
  font-weight: 700;
}
.status--off {
  background: var(--disabled-bg);
  color: var(--text-muted);
}
.pager {
  display: flex;
  gap: 0.6rem;
  align-items: center;
  margin-top: 1rem;
  color: var(--text-muted);
}
.action-btn,
.action-menu__kebab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: 1px solid var(--app-border);
  border-radius: 0.7rem;
  background: var(--surface);
  color: var(--text-primary);
  text-decoration: none;
}
.action-btn svg,
.action-menu__kebab svg {
  width: 1.1rem;
  height: 1.1rem;
}
.action-btn--danger,
.action-dropdown__item--danger {
  color: var(--danger);
}
.action-menu {
  display: inline-flex;
  position: relative;
  vertical-align: middle;
}
.action-dropdown {
  position: absolute;
  right: 0;
  z-index: 5;
  min-width: 190px;
  padding: 0.35rem;
  border: 1px solid var(--app-border);
  border-radius: 0.8rem;
  background: var(--surface);
  box-shadow: var(--shadow);
}
.action-dropdown__item {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 0.5rem;
  border: 0;
  background: transparent;
  color: var(--text-primary);
  padding: 0.45rem 0.5rem;
  border-radius: 0.5rem;
  cursor: pointer;
  text-align: left;
}
.action-dropdown__item-icon {
  width: 1.05rem;
  height: 1.05rem;
}
.action-dropdown__divider {
  border: 0;
  border-top: 1px solid var(--app-border);
  margin: 0.25rem 0;
}
.app-modal {
  position: fixed;
  inset: 0;
  z-index: 60;
  display: grid;
  place-items: center;
  padding: 1rem;
  background: var(--overlay);
}
.app-modal__panel {
  width: min(560px, 100%);
  max-height: calc(100vh - 2rem);
  overflow: auto;
  border-radius: 1rem;
  background: var(--surface);
  box-shadow: var(--shadow);
}
.app-modal__panel--sm {
  width: min(420px, 100%);
}
.app-modal__panel--lg,
.app-modal__panel--xl {
  width: min(860px, 100%);
}
.app-modal__head,
.modal-footer {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  padding: 1rem 1.1rem;
}
.app-modal__head h2 {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.25rem;
}
.app-modal__head p,
.app-modal__body {
  color: var(--text-muted);
}
.app-modal__body {
  padding: 0 1.1rem 1rem;
}
.app-modal__body .formulario {
  max-width: none;
}
.modal-footer:not(:has(.modal-footer__acoes)) {
  display: none;
}
.modal-footer {
  justify-content: flex-end;
}
.abas,
.periodos {
  display: flex;
  gap: 0.4rem;
  align-items: center;
  border-bottom: 1px solid var(--app-border);
  margin-bottom: 1rem;
}
.abas button:not([class*=btn-action]),
.periodos button:not([class*=btn-action]) {
  border: 0;
  border-bottom: 2px solid transparent;
  background: transparent;
  color: var(--text-muted);
  font: 650 0.92rem var(--font-body);
  padding: 0.55rem 0.7rem;
  cursor: pointer;
}
.abas__on {
  color: var(--brand);
  border-bottom-color: var(--brand);
}
.resumo {
  display: grid;
  grid-template-columns: minmax(300px, 380px) minmax(0, 1fr);
  gap: 1.15rem;
  align-items: start;
}
.resumo__palco {
  position: sticky;
  top: 1rem;
}
.qr-preview {
  width: 280px;
  min-height: 280px;
}
.qr-palco {
  position: relative;
  display: grid;
  justify-items: center;
  gap: 0.35rem;
  width: fit-content;
  padding: 0.65rem;
  border-radius: 1rem;
  background: var(--qr-fundo, var(--surface));
}
.qr-palco--base,
.qr-palco--topo,
.qr-palco--borda {
  border: 3px solid var(--qr-moldura, var(--brand));
}
.qr-palco__cta {
  margin: 0;
  max-width: 16rem;
  font-family: var(--font-display);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-align: center;
  color: var(--qr-moldura, var(--text-primary));
}
.qr-vista .qr-palco {
  margin-inline: auto;
}
.qr-vista .qr-palco--nenhuma {
  padding: 0.15rem;
  background: transparent;
}
.ficha {
  display: grid;
  gap: 0.7rem;
  margin: 0;
}
.ficha div {
  display: grid;
  gap: 0.15rem;
}
.ficha dt {
  color: var(--text-muted);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.ficha dd {
  margin: 0;
  overflow-wrap: anywhere;
}
.metricas {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.8rem;
  margin: 1rem 0;
}
.metricas article {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding: 1rem;
  border: 1px solid var(--app-border);
  border-radius: 1rem;
  background: var(--surface);
}
.metricas strong {
  display: block;
  font-family: var(--font-display);
  font-size: 1.8rem;
}
.metricas span {
  color: var(--text-muted);
  font-size: 0.82rem;
  font-weight: 650;
}
.grafico text {
  fill: var(--text-muted);
  color: var(--text-muted);
  font-size: 0.8rem;
}
.metricas small {
  color: var(--text-muted);
  font-size: 0.82rem;
}
.graficos {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.25rem 1.25rem;
  margin-bottom: 0.5rem;
}
.graficos h2 {
  margin: 0.2rem 0;
  font-size: 1rem;
}
.grafico {
  display: block;
  width: 100%;
  height: auto;
  max-height: 180px;
  color: var(--brand);
}
.grafico rect {
  fill: var(--brand);
}
.barras-lista {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.55rem;
}
.barras-lista li {
  display: grid;
  grid-template-columns: minmax(10.5rem, 14rem) 1fr auto;
  gap: 0.6rem;
  align-items: center;
}
.rotulo-stat {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  min-width: 0;
}
.bandeira {
  display: block;
  flex: none;
  width: 1.35rem;
  height: 1rem;
  object-fit: cover;
  border-radius: 2px;
  box-shadow: 0 0 0 1px var(--app-border);
}
.barra {
  height: 8px;
  border-radius: 999px;
  background: var(--brand-tonal-bg);
  overflow: hidden;
}
.barra span {
  display: block;
  height: 100%;
  background: var(--brand);
}
.barras-lista strong {
  font-size: 0.85rem;
  font-weight: 650;
  white-space: nowrap;
}
.stat-item--vazio {
  opacity: 0.55;
}
.migalha {
  display: flex;
  gap: 0.4rem;
  align-items: center;
  margin-bottom: 0.8rem;
  color: var(--text-muted);
  font-size: 0.9rem;
}
.migalha a {
  color: var(--brand);
  font-weight: 650;
  text-decoration: none;
}
.qr-cartao {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem;
  align-items: center;
  margin-bottom: 1.2rem;
  padding: 1.1rem 1.25rem;
  border: 1px solid var(--app-border);
  border-radius: 1rem;
  background: var(--surface);
}
.qr-cartao .status {
  align-items: center;
  gap: 0.35rem;
}
.qr-cartao .status::before {
  content: "";
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 50%;
  background: currentColor;
}
.qr-mini {
  width: max-content;
  flex: none;
  border: 1px solid var(--app-border);
  border-radius: 0.75rem;
  background: var(--surface);
}
.qr-mini .qr-preview {
  width: 112px;
  min-height: 0;
  transform: none;
}
.qr-mini .qr-palco {
  padding: 0.3rem;
}
.qr-mini .qr-palco__cta {
  max-width: 7rem;
  font-size: 0.55rem;
}
.qr-cartao__corpo {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 0.4rem;
  min-width: 0;
}
.qr-cartao__titulo {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.6rem;
}
.qr-cartao__titulo h1 {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.55rem;
}
.qr-cartao__link {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin: 0;
}
.qr-cartao__link > span {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.qr-cartao__destino,
.qr-cartao__meta {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  margin: 0;
  color: var(--text-muted);
  overflow-wrap: anywhere;
}
.qr-cartao__destino app-icon {
  flex: none;
  color: var(--text-muted);
}
.qr-cartao__acoes {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin-left: auto;
}
.qr-cartao__acoes .btn-action-primary,
.qr-cartao__acoes .btn-action-secondary,
.btn-copiar,
.faixa-periodo .btn-action-tonal {
  gap: 0.4rem;
}
.qr-cartao app-icon,
.faixa-periodo app-icon,
.metrica-rotulo app-icon {
  color: currentColor;
}
.btn-copiar {
  height: 2rem;
  padding: 0 0.65rem;
  font-size: 0.85rem;
}
.metrica-rotulo {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
}
.info-icone {
  display: inline-flex;
  color: var(--text-muted);
  cursor: help;
}
.btn-icone-perigo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--form-field-height);
  height: var(--form-field-height);
  padding: 0;
  border: 1px solid var(--danger-border);
  border-radius: var(--form-radius);
  background: var(--danger-soft-bg);
  color: var(--danger);
  cursor: pointer;
}
.btn-icone-perigo app-icon {
  color: var(--danger);
}
.faixa-periodo {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.4rem;
}
.faixa-periodo .btn-action-tonal {
  margin-left: auto;
}
.grupo-periodo {
  display: inline-flex;
  gap: 0.15rem;
  padding: 0.2rem;
  border-radius: 0.8rem;
  background: var(--brand-tonal-bg);
}
.grupo-periodo button {
  border: 0;
  border-radius: 0.6rem;
  background: transparent;
  color: var(--text-muted);
  font: 650 0.88rem var(--font-body);
  padding: 0.4rem 0.7rem;
  cursor: pointer;
}
.grupo-periodo button[aria-pressed=true] {
  background: var(--surface);
  color: var(--brand-ink);
}
.faixa-periodo__intervalo {
  margin: 0;
  color: var(--text-muted);
}
.delta--alta {
  color: var(--success);
}
.delta--baixa {
  color: var(--danger);
}
.delta--neutra {
  color: var(--text-muted);
}
.painel-stat {
  margin: 0.4rem 0 1rem;
  padding: 1rem;
  border: 1px solid var(--app-border);
  border-radius: 1rem;
  background: var(--surface);
}
.painel-stat h2 {
  margin: 0;
  font-size: 1rem;
}
.painel-stat__topo {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.35rem 1rem;
  align-items: baseline;
  margin-bottom: 0.8rem;
}
.painel-stat__topo p {
  margin: 0;
  color: var(--text-muted);
  font-size: 0.85rem;
}
.grafico-barras {
  display: grid;
  gap: 0.35rem;
}
.grafico-barras__plot {
  display: flex;
  align-items: stretch;
  gap: 0.2rem;
  height: 180px;
}
.grafico-barras__col {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: center;
  min-width: 0;
  height: 100%;
}
.grafico-barras__valor {
  flex: none;
  height: 1.1rem;
  color: var(--text-primary);
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.1rem;
}
.grafico-barras__trilho {
  display: flex;
  flex: 1;
  align-items: flex-end;
  justify-content: center;
  width: 100%;
  min-height: 0;
}
.grafico-barras__barra {
  display: block;
  width: 100%;
  max-width: 1.5rem;
  border-radius: 0.35rem 0.35rem 0 0;
  background: color-mix(in srgb, var(--brand) 38%, var(--surface));
}
.grafico-barras__barra--pico {
  background: var(--brand);
}
.grafico-barras__rotulos {
  display: flex;
  gap: 0.2rem;
}
.grafico-barras__rotulos span {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  color: var(--text-muted);
  font-size: 0.68rem;
  text-align: center;
  white-space: nowrap;
}
.grafico-barras--horas .grafico-barras__barra {
  max-width: none;
}
.graficos-linha {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  align-items: stretch;
}
.graficos-linha .painel-stat {
  min-width: 0;
}
.stats-lado {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  align-items: start;
}
.painel-stat .barras-lista li {
  grid-template-columns: minmax(0, 1fr) auto;
}
.painel-stat .barras-lista .barra {
  grid-column: 1/-1;
}
.matriz {
  display: grid;
  gap: 0.8rem;
}
.matriz fieldset {
  border: 1px solid var(--app-border);
  border-radius: 0.9rem;
}
.matriz legend {
  padding: 0 0.3rem;
  font-weight: 700;
}
.dash {
  display: grid;
  gap: 0.9rem;
}
.dash-topo {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
}
.dash-intervalo {
  color: var(--text-muted);
}
.dash-controles {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.55rem;
}
.dash-novo {
  gap: 0.35rem;
}
.dash-novo app-icon {
  color: currentColor;
}
.dash-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.8rem;
}
.dash-meio,
.dash-baixo {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(280px, 1fr);
  gap: 0.8rem;
  align-items: start;
}
.dash-lado {
  display: grid;
  gap: 0.8rem;
  min-width: 0;
}
.dash-card {
  min-width: 0;
  padding: 1rem 1.05rem 1.05rem;
  border: 1px solid var(--app-border);
  border-radius: 1rem;
  background: var(--surface);
}
.dash-card__topo {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: baseline;
  gap: 0.35rem 0.8rem;
  margin-bottom: 0.85rem;
}
.dash-card__topo h2 {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 600;
}
.dash-card__topo p,
.dash-card__topo a {
  margin: 0;
  font-size: 0.85rem;
}
.dash-card__topo a {
  color: var(--brand);
  font-weight: 700;
  text-decoration: none;
}
.dash-kpi {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}
.dash-kpi > span,
.dash-kpi small {
  color: var(--text-muted);
  font-size: 0.82rem;
}
.dash-kpi > span {
  font-weight: 650;
}
.dash-kpi__valor {
  display: flex;
  align-items: baseline;
  gap: 0.35rem;
  margin: 0.15rem 0 0;
  min-width: 0;
}
.dash-kpi__valor strong,
.dash-kpi__valor a {
  font-family: var(--font-display);
  font-size: 1.85rem;
  font-weight: 600;
  letter-spacing: -0.03em;
  line-height: 1.1;
  color: var(--text-primary);
  text-decoration: none;
}
.dash-kpi__valor small {
  font-size: 1rem;
  font-weight: 600;
}
.dash-kpi--nome .dash-kpi__valor strong,
.dash-kpi--nome .dash-kpi__valor a {
  font-size: 1.2rem;
  line-height: 1.3;
}
.dash-plot {
  display: grid;
  grid-template-columns: 1.7rem minmax(0, 1fr);
  grid-template-rows: 200px auto;
  column-gap: 0.45rem;
}
.dash-eixo {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding-top: 1.15rem;
  color: var(--text-muted);
  font-size: 0.72rem;
  text-align: right;
}
.dash-miolo {
  position: relative;
  min-width: 0;
  min-height: 0;
}
.dash-grade {
  position: absolute;
  inset: 1.15rem 0 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  pointer-events: none;
}
.dash-grade span {
  border-top: 1px solid var(--app-border);
}
.dash-barras {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: stretch;
  height: 100%;
  gap: 2px;
  padding-top: 1.15rem;
}
.dash-col {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: center;
  min-width: 0;
  height: 100%;
}
.dash-col__valor {
  position: absolute;
  bottom: calc(100% + 0.15rem);
  left: 50%;
  color: var(--text-primary);
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1;
  transform: translateX(-50%);
}
.dash-col__trilho {
  display: flex;
  flex: 1;
  align-items: flex-end;
  justify-content: center;
  width: 100%;
  min-height: 0;
}
.dash-col__barra {
  position: relative;
  display: block;
  width: 100%;
  max-width: 14px;
  border-radius: 0.3rem 0.3rem 0 0;
  background: color-mix(in srgb, var(--brand) 34%, var(--surface));
}
.dash-col__barra--pico {
  background: var(--brand);
}
.dash-rotulos {
  display: flex;
  gap: 2px;
  margin-top: 0.35rem;
}
.dash-rotulos span {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  color: var(--text-muted);
  font-size: 0.68rem;
  text-align: center;
  white-space: nowrap;
}
.dash-plot .dash-rotulos {
  grid-column: 2;
}
.dash-horas {
  display: grid;
  gap: 0.35rem;
}
.dash-barras--horas {
  height: 92px;
  padding-top: 0;
}
.dash-barras--horas .dash-col__barra {
  max-width: 12px;
}
.dash-pico {
  padding: 0.12rem 0.5rem;
  border-radius: 999px;
  background: var(--brand-tonal-bg);
  color: var(--brand);
  font-size: 0.75rem;
  font-weight: 700;
}
.dash-pilha {
  display: flex;
  height: 0.7rem;
  overflow: hidden;
  border-radius: 999px;
  background: var(--brand-tonal-bg);
}
.dash-pilha span {
  display: block;
  height: 100%;
}
.dash-pilha span[data-tipo=ios],
.dash-ponto[data-tipo=ios] {
  background: var(--brand-ink);
}
.dash-pilha span[data-tipo=android],
.dash-ponto[data-tipo=android] {
  background: var(--text-primary);
}
.dash-pilha span[data-tipo=desktop],
.dash-ponto[data-tipo=desktop] {
  background: var(--brand);
}
.dash-pilha span[data-tipo=outros],
.dash-ponto[data-tipo=outros] {
  background: color-mix(in srgb, var(--brand) 42%, var(--surface));
}
.dash-legenda {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.45rem 1rem;
  margin: 0.85rem 0 0;
  padding: 0;
  list-style: none;
}
.dash-legenda li {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  min-width: 0;
  color: var(--text-muted);
  font-size: 0.85rem;
}
.dash-legenda strong {
  margin-left: auto;
  color: var(--text-primary);
  font-size: 0.85rem;
}
.dash-ponto {
  display: block;
  flex: none;
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 999px;
}
.dash-tabela {
  width: 100%;
  border-collapse: collapse;
}
.dash-tabela th {
  padding: 0 0.45rem 0.55rem;
  color: var(--text-muted);
  font-size: 0.75rem;
  font-weight: 650;
  text-align: left;
}
.dash-tabela td {
  padding: 0.7rem 0.45rem;
  border-top: 1px solid var(--app-border);
  vertical-align: middle;
}
.dash-tabela__nome {
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
  min-width: 0;
}
.dash-tabela__nome a,
.dash-tabela__nome strong,
.dash-lista a,
.dash-lista strong,
.dash-atividade a,
.dash-atividade strong {
  color: var(--text-primary);
  font-weight: 700;
  text-decoration: none;
}
.dash-tabela__nome small,
.dash-lista small,
.dash-atividade small {
  color: var(--text-muted);
  font-size: 0.78rem;
}
.dash-tabela__nome a,
.dash-tabela__nome strong,
.dash-tabela__nome small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.dash-num {
  font-weight: 700;
  text-align: right;
}
.dash-tabela th:nth-child(2),
.dash-tabela td:nth-child(2) {
  width: 5.2rem;
  text-align: right;
}
.dash-tabela th:nth-child(3),
.dash-tabela td:nth-child(3) {
  width: 5.5rem;
}
.dash-spark {
  display: inline-flex;
  align-items: flex-end;
  gap: 2px;
  width: 2.6rem;
  height: 1.15rem;
}
.dash-spark i {
  display: block;
  flex: 1;
  min-height: 0;
  border-radius: 2px;
  background: color-mix(in srgb, var(--brand) 28%, var(--surface));
}
.dash-spark i.dash-spark__on {
  background: var(--brand);
}
.dash-vazio {
  margin: 0;
  color: var(--text-muted);
}
.dash-lista,
.dash-atividade {
  display: grid;
  gap: 0.7rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.dash-lista li,
.dash-atividade li {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: 0;
}
.dash-atividade li {
  flex-direction: row;
  align-items: flex-start;
  gap: 0.6rem;
}
.dash-atividade__ponto {
  flex: none;
  width: 0.7rem;
  height: 0.7rem;
  margin-top: 0.28rem;
  border: 2px solid var(--brand);
  border-radius: 999px;
}
.dash-atividade a,
.dash-atividade strong,
.dash-lista a,
.dash-lista strong {
  overflow-wrap: anywhere;
}
@media (max-width: 1100px) {
  .metricas,
  .dash-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .dash-meio,
  .dash-baixo {
    grid-template-columns: 1fr;
  }
}
.faixa-info {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1.3fr) minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
  margin-bottom: 1rem;
  padding: 1.05rem 1.25rem;
  border: 1px solid var(--app-border);
  border-radius: 1rem;
  background: var(--surface);
}
.faixa-info p {
  margin: 0.35rem 0 0;
  overflow-wrap: anywhere;
}
.faixa-info__meio {
  display: grid;
  justify-items: center;
  text-align: center;
}
.faixa-info__meio .editor-qr__exemplo {
  max-width: 18rem;
  font-size: 0.78rem;
}
.faixa-alerta {
  display: grid;
  gap: 0.35rem;
  margin: 0 0 0.9rem;
  padding: 0.75rem 0.9rem;
  border-radius: 0.8rem;
  background: var(--warning-soft-bg);
  color: var(--warning);
}
.faixa-alerta p {
  margin: 0;
}
.qr-vista {
  display: grid;
  gap: 0.85rem;
  justify-items: stretch;
  padding: 1rem 1.05rem 0.85rem;
  border: 1px solid var(--app-border);
  border-radius: 1rem;
  background: var(--surface);
}
.qr-vista__topo {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 0.75rem;
}
.qr-vista__topo h2 {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 650;
}
.qr-vista__topo p {
  margin: 0;
  color: var(--text-muted);
  font-size: 0.78rem;
  text-align: right;
}
.editor-qr {
  width: min(1080px, 100%);
  margin-inline: auto;
}
.editor-qr__topo {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.35rem 1rem;
  align-items: center;
  margin-bottom: 0.15rem;
}
.editor-qr__topo h2 {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.35rem;
}
.editor-qr__topo p,
.editor-qr__exemplo {
  margin: 0;
  color: var(--text-muted);
  font-size: 0.9rem;
  line-height: 1.45;
}
.editor-qr__topo p {
  grid-column: 1/-1;
}
.editor-qr__acoes {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.5rem;
}
.editor-qr__painel {
  display: grid;
  gap: 0.7rem;
  min-width: 0;
}
.editor-qr__grades {
  display: grid;
  gap: 0.9rem;
}
.editor-qr__range {
  width: 100%;
  accent-color: var(--brand);
}
.sanfona {
  display: grid;
  gap: 0.65rem;
}
.sanfona__item {
  border: 1px solid var(--app-border);
  border-radius: 1rem;
  background: var(--surface);
}
.sanfona__gatilho {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  column-gap: 0.75rem;
  row-gap: 0.12rem;
  align-items: center;
  width: 100%;
  padding: 0.8rem 1rem;
  border: 0;
  background: transparent;
  color: var(--text-primary);
  text-align: left;
  cursor: pointer;
}
.sanfona__num {
  grid-column: 1;
  grid-row: 1/span 2;
  display: grid;
  place-items: center;
  width: 1.7rem;
  height: 1.7rem;
  border-radius: 999px;
  background: var(--brand-tonal-bg);
  color: var(--brand);
  font-size: 0.82rem;
  font-weight: 700;
}
.sanfona__titulo {
  grid-column: 2;
  grid-row: 1;
  font-weight: 700;
}
.sanfona__resumo {
  grid-column: 2;
  grid-row: 2;
  min-width: 0;
  color: var(--text-muted);
  font-size: 0.82rem;
  font-weight: 450;
}
.sanfona__sinal {
  grid-column: 3;
  grid-row: 1/span 2;
  justify-self: end;
  color: var(--text-muted);
  font-size: 1.35rem;
  font-weight: 400;
  line-height: 1;
}
.sanfona__corpo {
  padding: 0 1rem 1rem;
}
.menu-rotulo {
  display: block;
  margin-bottom: 0.45rem;
  color: var(--text-primary);
  font-size: 0.92rem;
  font-weight: 650;
}
.modelos,
.molduras {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.65rem;
}
.molduras {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.modelo,
.moldura {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  min-height: 7.4rem;
  padding: 0.75rem 0.4rem 0.65rem;
  border: 2px solid var(--app-border);
  border-radius: 0.9rem;
  background: var(--surface);
  color: var(--text-primary);
  cursor: pointer;
}
.modelo--on,
.moldura[aria-pressed=true] {
  border-color: var(--brand);
}
.modelo__arte {
  display: grid;
  width: 3.1rem;
  height: 3.1rem;
  color: var(--qr-roxo-nubank);
}
.modelo__arte[data-modelo=classico] {
  color: var(--qr-preto);
}
.modelo__arte[data-modelo=pontilhado] {
  color: var(--qr-roxo-900);
}
.modelo__arte[data-modelo=elegante] {
  color: var(--qr-roxo-nubank);
}
.modelo__arte svg,
.forma svg,
.moldura svg {
  width: 100%;
  height: 100%;
  fill: currentColor;
}
.modelo__nome,
.moldura__nome {
  font: 650 0.78rem var(--font-body);
  line-height: 1.2;
  text-align: center;
}
.moldura {
  min-height: 7.8rem;
  color: var(--qr-roxo-900);
}
.moldura__nome {
  min-height: 2.4em;
  color: var(--text-primary);
}
.moldura svg {
  width: 2.7rem;
  height: 2.3rem;
}
.molduras + .menu-rotulo {
  margin-top: 1rem;
}
.sanfona__corpo .editor-qr__exemplo {
  margin-top: 0.35rem;
}
.escolha {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.escolha button {
  padding: 0.65rem 0.8rem;
  border: 1px solid var(--app-border);
  border-radius: 0.75rem;
  background: var(--surface);
  color: var(--text-primary);
  font: 650 0.9rem var(--font-body);
  cursor: pointer;
}
.escolha button[aria-pressed=true] {
  border-color: var(--brand);
  box-shadow: 0 0 0 3px var(--brand-focus-ring);
}
.escolha--faixa {
  display: inline-flex;
  gap: 0.15rem;
  padding: 0.28rem;
  border-radius: 0.9rem;
  background: var(--brand-tonal-bg);
}
.escolha--faixa button {
  border: 0;
  background: transparent;
  box-shadow: none;
}
.escolha.escolha--faixa button[aria-pressed=true] {
  border: 1px solid var(--app-border);
  background: var(--surface);
  box-shadow: none;
}
.modelo:disabled,
.moldura:disabled,
.forma:disabled,
.escolha button:disabled {
  cursor: not-allowed;
  color: var(--disabled-text);
}
.cores {
  display: grid;
  gap: 0.85rem;
}
.cores__linha {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.cores__linha .menu-rotulo {
  flex: 0 0 7.6rem;
  margin: 0;
}
.amostras {
  display: flex;
  flex: 1;
  flex-wrap: wrap;
  gap: 0.4rem;
}
.amostra {
  width: 1.7rem;
  height: 1.7rem;
  padding: 0;
  border: 0;
  border-radius: 0.4rem;
  box-shadow: inset 0 0 0 1px rgba(30, 0, 47, 0.14);
  cursor: pointer;
}
.amostra--on {
  box-shadow: 0 0 0 2px var(--brand);
}
.amostra:disabled {
  cursor: not-allowed;
}
.cor-atual {
  position: relative;
  flex: none;
  width: 2.05rem;
  height: 2.05rem;
}
.cor-atual__amostra {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 0.45rem;
  box-shadow: inset 0 0 0 1px rgba(30, 0, 47, 0.18);
}
.cor-atual__picker {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}
.cor-hex {
  flex: none;
  width: 5.6rem;
  padding: 0.15rem 0;
  border: 0;
  background: transparent;
  color: var(--text-primary);
  font: 650 0.88rem var(--font-body);
}
.cor-hex:focus {
  outline: none;
  border-bottom: 1px solid var(--brand);
}
.forma-grupo + .forma-grupo {
  margin-top: 0.95rem;
}
.formas {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
}
.forma {
  display: grid;
  place-items: center;
  width: 3.35rem;
  height: 3.35rem;
  padding: 0.45rem;
  border: 2px solid var(--app-border);
  border-radius: 0.75rem;
  background: var(--surface);
  color: var(--qr-roxo-900);
  cursor: pointer;
}
.forma[aria-pressed=true] {
  border-color: var(--brand);
}
.interruptor {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  margin-top: 0.35rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--text-primary);
  font: 650 0.95rem var(--font-body);
  cursor: pointer;
}
.interruptor:disabled {
  cursor: not-allowed;
  color: var(--disabled-text);
}
.interruptor__trilho {
  position: relative;
  width: 2.5rem;
  height: 1.4rem;
  border-radius: 999px;
  background: var(--disabled-bg);
}
.interruptor__botao {
  position: absolute;
  top: 0.15rem;
  left: 0.15rem;
  width: 1.1rem;
  height: 1.1rem;
  border-radius: 50%;
  background: var(--surface);
}
.interruptor[aria-checked=true] .interruptor__trilho {
  background: var(--brand);
}
.interruptor[aria-checked=true] .interruptor__botao {
  transform: translateX(1.1rem);
}
.exportar {
  display: grid;
  gap: 0.4rem;
}
.exportar__medida {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  font-size: 0.92rem;
}
.exportar__escala {
  display: flex;
  justify-content: space-between;
  color: var(--text-muted);
  font-size: 0.78rem;
}
.exportar__acoes {
  display: grid;
  grid-template-columns: 1.15fr 1fr 1fr;
  gap: 0.5rem;
}
.exportar__acoes .btn-action-primary,
.exportar__acoes .btn-action-secondary {
  border-radius: 0.85rem;
}
.qr-vista .editor-qr__exemplo,
.faixa-info__meio .editor-qr__exemplo {
  font-size: 0.78rem;
}
.qr-vista .qr-preview {
  width: 232px;
  min-height: 0;
}
@media (max-width: 800px) {
  .resumo,
  .graficos,
  .metricas,
  .graficos-linha,
  .stats-lado,
  .dash-kpis,
  .faixa-info {
    grid-template-columns: 1fr;
  }
  .resumo__palco {
    position: static;
  }
  .qr-cartao {
    flex-direction: column;
    align-items: stretch;
  }
  .qr-cartao__acoes,
  .faixa-periodo .btn-action-tonal {
    margin-left: 0;
  }
}
*,
*::before,
*::after {
  box-sizing: border-box;
}
html,
body {
  margin: 0;
  min-height: 100%;
}
body {
  font-family: var(--font-body);
  background: var(--app-bg);
  color: var(--text-primary);
}
button,
input {
  font-family: inherit;
}
img {
  display: block;
}

/* angular:styles/global:styles */
/*# sourceMappingURL=styles.css.map */
