/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */
@import url("https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");
@layer properties;
@layer theme, base, components, utilities;
@layer theme {
  :root, :host {
    --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
      "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --color-red-50: oklch(97.1% 0.013 17.38);
    --color-red-100: oklch(93.6% 0.032 17.717);
    --color-red-200: oklch(88.5% 0.062 18.334);
    --color-red-300: oklch(80.8% 0.114 19.571);
    --color-red-400: oklch(70.4% 0.191 22.216);
    --color-red-500: oklch(63.7% 0.237 25.331);
    --color-red-600: oklch(57.7% 0.245 27.325);
    --color-red-700: oklch(50.5% 0.213 27.518);
    --color-red-800: oklch(44.4% 0.177 26.899);
    --color-amber-50: oklch(98.7% 0.022 95.277);
    --color-amber-200: oklch(92.4% 0.12 95.746);
    --color-amber-300: oklch(87.9% 0.169 91.605);
    --color-amber-500: oklch(76.9% 0.188 70.08);
    --color-amber-600: oklch(66.6% 0.179 58.318);
    --color-amber-700: oklch(55.5% 0.163 48.998);
    --color-amber-800: oklch(47.3% 0.137 46.201);
    --color-yellow-100: oklch(97.3% 0.071 103.193);
    --color-yellow-200: oklch(94.5% 0.129 101.54);
    --color-yellow-400: oklch(85.2% 0.199 91.936);
    --color-yellow-500: oklch(79.5% 0.184 86.047);
    --color-yellow-600: oklch(68.1% 0.162 75.834);
    --color-yellow-700: oklch(55.4% 0.135 66.442);
    --color-green-100: oklch(96.2% 0.044 156.743);
    --color-green-200: oklch(92.5% 0.084 155.995);
    --color-green-300: oklch(87.1% 0.15 154.449);
    --color-green-400: oklch(79.2% 0.209 151.711);
    --color-green-500: oklch(72.3% 0.219 149.579);
    --color-green-600: oklch(62.7% 0.194 149.214);
    --color-green-700: oklch(52.7% 0.154 150.069);
    --color-green-800: oklch(44.8% 0.119 151.328);
    --color-emerald-600: oklch(59.6% 0.145 163.225);
    --color-sky-500: oklch(68.5% 0.169 237.323);
    --color-sky-600: oklch(58.8% 0.158 241.966);
    --color-blue-100: oklch(93.2% 0.032 255.585);
    --color-blue-200: oklch(88.2% 0.059 254.128);
    --color-blue-500: oklch(62.3% 0.214 259.815);
    --color-blue-600: oklch(54.6% 0.245 262.881);
    --color-blue-700: oklch(48.8% 0.243 264.376);
    --color-indigo-100: oklch(93% 0.034 272.788);
    --color-indigo-600: oklch(51.1% 0.262 276.966);
    --color-indigo-700: oklch(45.7% 0.24 277.023);
    --color-purple-100: oklch(94.6% 0.033 307.174);
    --color-purple-200: oklch(90.2% 0.063 306.703);
    --color-purple-500: oklch(62.7% 0.265 303.9);
    --color-purple-600: oklch(55.8% 0.288 302.321);
    --color-pink-100: oklch(94.8% 0.028 342.258);
    --color-pink-600: oklch(59.2% 0.249 0.584);
    --color-gray-50: oklch(98.5% 0.002 247.839);
    --color-gray-100: oklch(96.7% 0.003 264.542);
    --color-gray-200: oklch(92.8% 0.006 264.531);
    --color-gray-300: oklch(87.2% 0.01 258.338);
    --color-gray-400: oklch(70.7% 0.022 261.325);
    --color-gray-500: oklch(55.1% 0.027 264.364);
    --color-gray-600: oklch(44.6% 0.03 256.802);
    --color-gray-800: oklch(27.8% 0.033 256.848);
    --color-gray-950: oklch(13% 0.028 261.692);
    --color-zinc-500: oklch(55.2% 0.016 285.938);
    --color-zinc-600: oklch(44.2% 0.017 285.786);
    --color-stone-200: oklch(92.3% 0.003 48.717);
    --color-stone-300: oklch(86.9% 0.005 56.366);
    --color-stone-400: oklch(70.9% 0.01 56.259);
    --color-stone-500: oklch(55.3% 0.013 58.071);
    --color-stone-700: oklch(37.4% 0.01 67.558);
    --color-stone-800: oklch(26.8% 0.007 34.298);
    --color-stone-950: oklch(14.7% 0.004 49.25);
    --color-black: #000;
    --color-white: #fff;
    --spacing: 0.25rem;
    --text-xs: 0.75rem;
    --text-xs--line-height: calc(1 / 0.75);
    --text-sm: 0.875rem;
    --text-sm--line-height: calc(1.25 / 0.875);
    --text-base: 1rem;
    --text-base--line-height: calc(1.5 / 1);
    --text-lg: 1.125rem;
    --text-lg--line-height: calc(1.75 / 1.125);
    --text-xl: 1.25rem;
    --text-xl--line-height: calc(1.75 / 1.25);
    --text-2xl: 1.5rem;
    --text-2xl--line-height: calc(2 / 1.5);
    --text-3xl: 1.875rem;
    --text-3xl--line-height: calc(2.25 / 1.875);
    --text-4xl: 2.25rem;
    --text-4xl--line-height: calc(2.5 / 2.25);
    --text-5xl: 3rem;
    --text-5xl--line-height: 1;
    --text-6xl: 3.75rem;
    --text-6xl--line-height: 1;
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --tracking-widest: 0.1em;
    --radius-lg: 0.5rem;
    --radius-xl: 0.75rem;
    --radius-2xl: 1rem;
    --drop-shadow-lg: 0 4px 4px rgb(0 0 0 / 0.15);
    --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
    --animate-spin: spin 1s linear infinite;
    --blur-xs: 4px;
    --default-transition-duration: 150ms;
    --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
    --font-poppins: "Poppins", sans-serif;
    --color-verde: #00c950;
    --color-verde-hover: #1f984f;
    --color-verde-escuro: #132018;
    --color-verde-opaco: #00c9501d;
    --color-branco: #ffffff;
    --color-branco-opaco: #ffffff55;
    --color-branco-fundo: #edf2f4;
    --color-borda: #00000027;
    --color-borda-branca: #ffffff32;
    --color-preto-opaco: #00000093;
    --color-cinza: #00000080;
    --color-preto: #000000d8;
  }
}
@layer base {
  *, ::after, ::before, ::backdrop, ::file-selector-button {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 solid;
  }
  html, :host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }
  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }
  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }
  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }
  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }
  b, strong {
    font-weight: bolder;
  }
  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }
  small {
    font-size: 80%;
  }
  sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }
  :-moz-focusring {
    outline: auto;
  }
  progress {
    vertical-align: baseline;
  }
  summary {
    display: list-item;
  }
  ol, ul, menu {
    list-style: none;
  }
  img, svg, video, canvas, audio, iframe, embed, object {
    display: block;
    vertical-align: middle;
  }
  img, video {
    max-width: 100%;
    height: auto;
  }
  button, input, select, optgroup, textarea, ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    border-radius: 0;
    background-color: transparent;
    opacity: 1;
  }
  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }
  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }
  ::file-selector-button {
    margin-inline-end: 4px;
  }
  ::placeholder {
    opacity: 1;
  }
  @supports (not (-webkit-appearance: -apple-pay-button))  or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentcolor;
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }
  textarea {
    resize: vertical;
  }
  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }
  ::-webkit-datetime-edit {
    display: inline-flex;
  }
  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }
  ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }
  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }
  :-moz-ui-invalid {
    box-shadow: none;
  }
  button, input:where([type="button"], [type="reset"], [type="submit"]), ::file-selector-button {
    appearance: button;
  }
  ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
    height: auto;
  }
  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}
@layer utilities {
  .absolute {
    position: absolute;
  }
  .relative {
    position: relative;
  }
  .static {
    position: static;
  }
  .container {
    width: 100%;
    @media (width >= 40rem) {
      max-width: 40rem;
    }
    @media (width >= 48rem) {
      max-width: 48rem;
    }
    @media (width >= 64rem) {
      max-width: 64rem;
    }
    @media (width >= 80rem) {
      max-width: 80rem;
    }
    @media (width >= 96rem) {
      max-width: 96rem;
    }
  }
  .mb-1 {
    margin-bottom: calc(var(--spacing) * 1);
  }
  .block {
    display: block;
  }
  .contents {
    display: contents;
  }
  .flex {
    display: flex;
  }
  .grid {
    display: grid;
  }
  .hidden {
    display: none;
  }
  .inline {
    display: inline;
  }
  .table {
    display: table;
  }
  .h-2\/3 {
    height: calc(2/3 * 100%);
  }
  .h-10 {
    height: calc(var(--spacing) * 10);
  }
  .h-dvh {
    height: 100dvh;
  }
  .max-h-\[60vh\] {
    max-height: 60vh;
  }
  .w-10 {
    width: calc(var(--spacing) * 10);
  }
  .w-fit {
    width: fit-content;
  }
  .w-full {
    width: 100%;
  }
  .min-w-0 {
    min-width: calc(var(--spacing) * 0);
  }
  .min-w-10 {
    min-width: calc(var(--spacing) * 10);
  }
  .flex-1 {
    flex: 1;
  }
  .border-collapse {
    border-collapse: collapse;
  }
  .rotate-180 {
    rotate: 180deg;
  }
  .transform {
    transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
  }
  .animate-spin {
    animation: var(--animate-spin);
  }
  .cursor-pointer {
    cursor: pointer;
  }
  .grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .flex-col {
    flex-direction: column;
  }
  .items-center {
    align-items: center;
  }
  .justify-between {
    justify-content: space-between;
  }
  .justify-center {
    justify-content: center;
  }
  .gap-0 {
    gap: calc(var(--spacing) * 0);
  }
  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }
  .gap-3 {
    gap: calc(var(--spacing) * 3);
  }
  .gap-10 {
    gap: calc(var(--spacing) * 10);
  }
  .truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .overflow-hidden {
    overflow: hidden;
  }
  .overflow-y-auto {
    overflow-y: auto;
  }
  .rounded-2xl {
    border-radius: var(--radius-2xl);
  }
  .rounded-full {
    border-radius: calc(infinity * 1px);
  }
  .rounded-xl {
    border-radius: var(--radius-xl);
  }
  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }
  .border-b {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }
  .border-gray-100 {
    border-color: var(--color-gray-100);
  }
  .bg-amber-500\/20 {
    background-color: color-mix(in srgb, oklch(76.9% 0.188 70.08) 20%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-amber-500) 20%, transparent);
    }
  }
  .bg-blue-100 {
    background-color: var(--color-blue-100);
  }
  .bg-gray-200 {
    background-color: var(--color-gray-200);
  }
  .bg-green-100 {
    background-color: var(--color-green-100);
  }
  .bg-green-700 {
    background-color: var(--color-green-700);
  }
  .bg-indigo-100 {
    background-color: var(--color-indigo-100);
  }
  .bg-pink-100 {
    background-color: var(--color-pink-100);
  }
  .bg-purple-100 {
    background-color: var(--color-purple-100);
  }
  .bg-purple-500\/20 {
    background-color: color-mix(in srgb, oklch(62.7% 0.265 303.9) 20%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-purple-500) 20%, transparent);
    }
  }
  .bg-red-100 {
    background-color: var(--color-red-100);
  }
  .bg-sky-500\/20 {
    background-color: color-mix(in srgb, oklch(68.5% 0.169 237.323) 20%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-sky-500) 20%, transparent);
    }
  }
  .bg-verde {
    background-color: var(--color-verde);
  }
  .bg-yellow-100 {
    background-color: var(--color-yellow-100);
  }
  .bg-zinc-500\/20 {
    background-color: color-mix(in srgb, oklch(55.2% 0.016 285.938) 20%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-zinc-500) 20%, transparent);
    }
  }
  .px-2 {
    padding-inline: calc(var(--spacing) * 2);
  }
  .px-4 {
    padding-inline: calc(var(--spacing) * 4);
  }
  .px-5 {
    padding-inline: calc(var(--spacing) * 5);
  }
  .px-30 {
    padding-inline: calc(var(--spacing) * 30);
  }
  .py-0\.5 {
    padding-block: calc(var(--spacing) * 0.5);
  }
  .py-2 {
    padding-block: calc(var(--spacing) * 2);
  }
  .py-3 {
    padding-block: calc(var(--spacing) * 3);
  }
  .py-4 {
    padding-block: calc(var(--spacing) * 4);
  }
  .text-center {
    text-align: center;
  }
  .text-right {
    text-align: right;
  }
  .text-3xl {
    font-size: var(--text-3xl);
    line-height: var(--tw-leading, var(--text-3xl--line-height));
  }
  .text-sm {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }
  .text-xl {
    font-size: var(--text-xl);
    line-height: var(--tw-leading, var(--text-xl--line-height));
  }
  .text-xs {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }
  .font-bold {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }
  .font-medium {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }
  .font-semibold {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }
  .text-amber-600 {
    color: var(--color-amber-600);
  }
  .text-blue-500 {
    color: var(--color-blue-500);
  }
  .text-blue-600 {
    color: var(--color-blue-600);
  }
  .text-gray-400 {
    color: var(--color-gray-400);
  }
  .text-gray-500 {
    color: var(--color-gray-500);
  }
  .text-gray-600 {
    color: var(--color-gray-600);
  }
  .text-gray-800 {
    color: var(--color-gray-800);
  }
  .text-green-600 {
    color: var(--color-green-600);
  }
  .text-indigo-600 {
    color: var(--color-indigo-600);
  }
  .text-pink-600 {
    color: var(--color-pink-600);
  }
  .text-preto-opaco {
    color: var(--color-preto-opaco);
  }
  .text-purple-600 {
    color: var(--color-purple-600);
  }
  .text-red-500 {
    color: var(--color-red-500);
  }
  .text-red-600 {
    color: var(--color-red-600);
  }
  .text-sky-600 {
    color: var(--color-sky-600);
  }
  .text-verde {
    color: var(--color-verde);
  }
  .text-white {
    color: var(--color-white);
  }
  .text-yellow-600 {
    color: var(--color-yellow-600);
  }
  .text-zinc-600 {
    color: var(--color-zinc-600);
  }
  .italic {
    font-style: italic;
  }
  .filter {
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-colors {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .\[hostname\:port\] {
    hostname: port;
  }
  .last\:border-0 {
    &:last-child {
      border-style: var(--tw-border-style);
      border-width: 0px;
    }
  }
  .hover\:bg-green-800 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-green-800);
      }
    }
  }
  .hover\:bg-verde-hover {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-verde-hover);
      }
    }
  }
  .lg\:block {
    @media (width >= 64rem) {
      display: block;
    }
  }
  .lg\:inline {
    @media (width >= 64rem) {
      display: inline;
    }
  }
  .lg\:w-auto {
    @media (width >= 64rem) {
      width: auto;
    }
  }
}
@layer components {
  #div-erro {
    position: fixed;
    right: calc(var(--spacing) * 2);
    bottom: -50%;
    z-index: 750;
    display: flex;
    animation: show-mobile 5s;
    align-items: center;
    justify-content: center;
    gap: calc(var(--spacing) * 4);
    border-radius: var(--radius-xl);
    border-style: var(--tw-border-style);
    border-width: 1px;
    border-color: var(--color-borda-branca);
    background-color: var(--color-branco);
    padding-inline: calc(var(--spacing) * 3);
    padding-block: calc(var(--spacing) * 2);
    font-size: var(--text-base);
    line-height: var(--tw-leading, var(--text-base--line-height));
    color: var(--color-stone-800);
    --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    @media (width >= 64rem) {
      right: calc(var(--spacing) * 8);
    }
    @media (width >= 64rem) {
      animation: show 5s;
    }
    @media (width >= 64rem) {
      padding-inline: calc(var(--spacing) * 8);
    }
    @media (width >= 64rem) {
      font-size: var(--text-lg);
      line-height: var(--tw-leading, var(--text-lg--line-height));
    }
    & i {
      display: flex;
      height: calc(var(--spacing) * 10);
      width: calc(var(--spacing) * 10);
      align-items: center;
      justify-content: center;
      border-radius: var(--radius-xl);
      --tw-gradient-position: to top;
      @supports (background-image: linear-gradient(in lab, red, red)) {
        --tw-gradient-position: to top in oklab;
      }
      background-image: linear-gradient(var(--tw-gradient-stops));
      --tw-gradient-from: var(--color-green-500);
      --tw-gradient-to: var(--color-green-400);
      --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
      font-size: var(--text-lg);
      line-height: var(--tw-leading, var(--text-lg--line-height));
      color: var(--color-white);
      @media (width >= 64rem) {
        font-size: var(--text-2xl);
        line-height: var(--tw-leading, var(--text-2xl--line-height));
      }
    }
  }
  @keyframes show {
    0% {
      bottom: -50%;
    }
    20% {
      bottom: 2rem;
    }
    80% {
      bottom: 2rem;
    }
    100% {
      bottom: -50%;
    }
  }
  @keyframes show-mobile {
    0% {
      bottom: -50%;
    }
    20% {
      bottom: 7rem;
    }
    80% {
      bottom: 7rem;
    }
    100% {
      bottom: -50%;
    }
  }
}
@layer components {
  .main-auth {
    display: flex;
    min-height: 100dvh;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: calc(var(--spacing) * 0);
    background: linear-gradient(135deg, #fdf5e6 0%, #e8f5e9 50%, #c8e6c9 100%);
    & .auth-wrapper {
      display: flex;
      width: 100%;
      flex: 1;
      align-items: center;
      justify-content: center;
      gap: calc(var(--spacing) * 0);
      padding-inline: calc(var(--spacing) * 5);
      padding-block: calc(var(--spacing) * 8);
      & .auth-ilustracao {
        display: none;
        max-width: calc(1/2 * 100%);
        flex: 1;
        align-items: center;
        justify-content: center;
        @media (width >= 64rem) {
          display: flex;
        }
        & img {
          height: 100%;
          width: 100%;
          object-fit: contain;
          --tw-drop-shadow-size: drop-shadow(0 4px 4px var(--tw-drop-shadow-color, rgb(0 0 0 / 0.15)));
          --tw-drop-shadow: drop-shadow(var(--drop-shadow-lg));
          filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
        }
      }
      & .auth-card {
        width: 100%;
        max-width: 420px;
        & .auth-form {
          display: flex;
          width: 100%;
          flex-direction: column;
          align-items: center;
          justify-content: center;
          gap: calc(var(--spacing) * 5);
          border-radius: var(--radius-2xl);
          background-color: var(--color-white);
          padding: calc(var(--spacing) * 8);
          box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08);
          & .auth-logo {
            font-size: var(--text-3xl);
            line-height: var(--tw-leading, var(--text-3xl--line-height));
            --tw-font-weight: var(--font-weight-semibold);
            font-weight: var(--font-weight-semibold);
            color: var(--color-stone-700);
            & span {
              --tw-font-weight: var(--font-weight-bold);
              font-weight: var(--font-weight-bold);
              color: var(--color-verde);
            }
          }
          & .auth-titulo {
            margin-top: calc(var(--spacing) * -2);
            font-size: var(--text-xl);
            line-height: var(--tw-leading, var(--text-xl--line-height));
            --tw-font-weight: var(--font-weight-bold);
            font-weight: var(--font-weight-bold);
            color: var(--color-stone-800);
          }
          & .auth-input-group {
            position: relative;
            width: 100%;
            & input {
              width: 100%;
              border-radius: var(--radius-lg);
              border-style: var(--tw-border-style);
              border-width: 2px;
              border-color: var(--color-stone-300);
              background-color: var(--color-white);
              padding-inline: calc(var(--spacing) * 4);
              padding-block: calc(var(--spacing) * 3);
              font-size: var(--text-base);
              line-height: var(--tw-leading, var(--text-base--line-height));
              color: var(--color-stone-800);
              --tw-outline-style: none;
              outline-style: none;
              transition: border-color 0.2s ease;
              &:focus {
                border-color: var(--color-verde);
              }
              &:focus + label, &:not(:placeholder-shown) + label {
                background-color: var(--color-white);
                padding-inline: calc(var(--spacing) * 1);
                font-size: var(--text-xs);
                line-height: var(--tw-leading, var(--text-xs--line-height));
                top: -0px;
                color: #2e7d32;
              }
            }
            & label {
              pointer-events: none;
              position: absolute;
              left: calc(var(--spacing) * 3);
              font-size: var(--text-sm);
              line-height: var(--tw-leading, var(--text-sm--line-height));
              color: var(--color-stone-500);
              top: 50%;
              transform: translateY(-50%);
              transition: all 0.2s ease;
            }
            & .auth-input-senha {
              position: relative;
              width: 100%;
              & input {
                width: 100%;
                border-radius: var(--radius-lg);
                border-style: var(--tw-border-style);
                border-width: 2px;
                border-color: var(--color-stone-300);
                background-color: var(--color-white);
                padding-inline: calc(var(--spacing) * 4);
                padding-block: calc(var(--spacing) * 3);
                font-size: var(--text-base);
                line-height: var(--tw-leading, var(--text-base--line-height));
                color: var(--color-stone-800);
                --tw-outline-style: none;
                outline-style: none;
                transition: border-color 0.2s ease;
                &:focus {
                  border-color: var(--color-verde);
                }
                &:focus + label, &:not(:placeholder-shown) + label {
                  background-color: var(--color-white);
                  padding-inline: calc(var(--spacing) * 1);
                  font-size: var(--text-xs);
                  line-height: var(--tw-leading, var(--text-xs--line-height));
                  top: -0px;
                  color: #2e7d32;
                }
              }
              & label {
                pointer-events: none;
                position: absolute;
                left: calc(var(--spacing) * 3);
                font-size: var(--text-sm);
                line-height: var(--tw-leading, var(--text-sm--line-height));
                color: var(--color-stone-500);
                top: 50%;
                transform: translateY(-50%);
                transition: all 0.2s ease;
              }
              & .btn-mostrar-senha {
                position: absolute;
                right: calc(var(--spacing) * 3);
                display: flex;
                height: calc(var(--spacing) * 8);
                width: calc(var(--spacing) * 8);
                cursor: pointer;
                align-items: center;
                justify-content: center;
                border-radius: 0;
                background-color: transparent;
                font-size: var(--text-lg);
                line-height: var(--tw-leading, var(--text-lg--line-height));
                color: var(--color-stone-400);
                top: 50%;
                transform: translateY(-50%);
                &:hover {
                  background-color: transparent;
                  color: var(--color-verde);
                }
              }
            }
          }
          & .auth-btn-entrar {
            width: 100%;
            cursor: pointer;
            border-radius: var(--radius-xl);
            border-style: var(--tw-border-style);
            border-width: 0px;
            padding-block: calc(var(--spacing) * 3);
            font-size: var(--text-base);
            line-height: var(--tw-leading, var(--text-base--line-height));
            --tw-font-weight: var(--font-weight-semibold);
            font-weight: var(--font-weight-semibold);
            color: var(--color-white);
            background: linear-gradient(135deg, #2e7d32 0%, #43a047 100%);
            &:hover {
              background: linear-gradient(135deg, #1b5e20 0%, #2e7d32 100%);
              transform: translateY(-1px);
              box-shadow: 0 4px 12px rgba(46, 125, 50, 0.35);
            }
          }
          & .auth-links {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: calc(var(--spacing) * 2);
            & span {
              font-size: var(--text-sm);
              line-height: var(--tw-leading, var(--text-sm--line-height));
              color: var(--color-stone-500);
              & a {
                --tw-font-weight: var(--font-weight-semibold);
                font-weight: var(--font-weight-semibold);
                color: var(--color-verde);
                &:hover {
                  color: var(--color-verde-hover);
                  text-decoration-line: underline;
                }
              }
            }
            & .auth-btn-voltar {
              font-size: var(--text-sm);
              line-height: var(--tw-leading, var(--text-sm--line-height));
              color: var(--color-stone-500);
              &:hover {
                color: var(--color-verde);
              }
            }
          }
        }
      }
    }
    & .auth-suporte {
      padding-bottom: calc(var(--spacing) * 6);
      font-size: var(--text-sm);
      line-height: var(--tw-leading, var(--text-sm--line-height));
      color: var(--color-stone-400);
      & a {
        color: var(--color-verde);
        &:hover {
          color: var(--color-verde-hover);
          text-decoration-line: underline;
        }
      }
    }
  }
}
@layer components {
  .menu {
    display: none;
    height: 100dvh;
    width: calc(var(--spacing) * 85);
    flex-direction: column;
    background-color: var(--color-verde-escuro);
    @media (width >= 64rem) {
      display: flex;
    }
    & .topo-menu .logo .logo-container h1 {
      color: var(--color-white);
    }
    & .topo-menu, .btn-perfil-menu, .links-menu, .btn-sair {
      padding: calc(var(--spacing) * 3.5);
      color: var(--color-white);
    }
    & .topo-menu {
      display: flex;
      align-items: center;
      justify-content: space-between;
      & #btn-toggle-menu {
        height: calc(var(--spacing) * 10);
        width: calc(var(--spacing) * 10);
        cursor: pointer;
        border-radius: var(--radius-lg);
        &:hover {
          background-color: color-mix(in srgb, #fff 20%, transparent);
          @supports (color: color-mix(in lab, red, red)) {
            background-color: color-mix(in oklab, var(--color-white) 20%, transparent);
          }
        }
      }
    }
    & .btn-perfil-menu {
      display: flex;
      align-items: center;
      gap: calc(var(--spacing) * 5);
      border-block-style: var(--tw-border-style);
      border-block-width: 1px;
      border-color: var(--color-borda-branca);
      & span {
        display: flex;
        height: calc(var(--spacing) * 10);
        width: calc(var(--spacing) * 10);
        align-items: center;
        justify-content: center;
        border-radius: calc(infinity * 1px);
        background-color: color-mix(in srgb, #fff 20%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-white) 20%, transparent);
        }
        font-size: var(--text-xl);
        line-height: var(--tw-leading, var(--text-xl--line-height));
        --tw-font-weight: var(--font-weight-bold);
        font-weight: var(--font-weight-bold);
        color: var(--color-verde);
      }
      & .txt-perfil {
        & .cargo {
          font-size: var(--text-sm);
          line-height: var(--tw-leading, var(--text-sm--line-height));
          color: var(--color-branco-opaco);
        }
      }
      &:hover {
        background-color: var(--color-verde-hover);
      }
    }
    & .links-menu {
      display: flex;
      height: 100%;
      flex-direction: column;
      gap: calc(var(--spacing) * 1);
      overflow: auto;
      border-bottom-style: var(--tw-border-style);
      border-bottom-width: 1px;
      border-color: var(--color-borda-branca);
      & a .container-icone, .submenu-btn .container-icone {
        display: flex;
        align-items: center;
        gap: calc(var(--spacing) * 3);
        & i {
          font-size: var(--text-xl);
          line-height: var(--tw-leading, var(--text-xl--line-height));
        }
      }
      & a, .submenu-btn {
        display: flex;
        width: 100%;
        cursor: pointer;
        align-items: center;
        gap: calc(var(--spacing) * 3);
        border-radius: var(--radius-xl);
        padding: calc(var(--spacing) * 2.5);
        &:hover {
          background-color: color-mix(in srgb, #fff 20%, transparent);
          @supports (color: color-mix(in lab, red, red)) {
            background-color: color-mix(in oklab, var(--color-white) 20%, transparent);
          }
        }
      }
      & .submenu-btn {
        justify-content: space-between;
      }
      & .ativo {
        background-color: var(--color-verde);
        &:hover {
          background-color: var(--color-verde-hover);
        }
      }
      & #submenu {
        display: flex;
        flex-direction: column;
        gap: calc(var(--spacing) * 3);
        padding-left: calc(var(--spacing) * 5);
        & a {
          display: flex;
          align-items: center;
          gap: calc(var(--spacing) * 3);
          border-radius: var(--radius-xl);
          padding: calc(var(--spacing) * 2);
          font-size: var(--text-sm);
          line-height: var(--tw-leading, var(--text-sm--line-height));
          --tw-font-weight: var(--font-weight-medium);
          font-weight: var(--font-weight-medium);
          &:hover {
            background-color: var(--color-verde-hover);
          }
        }
      }
    }
    & .btn-sair {
      & a {
        display: flex;
        gap: calc(var(--spacing) * 3);
        border-radius: var(--radius-xl);
        padding: calc(var(--spacing) * 3);
        &:hover {
          background-color: color-mix(in srgb, oklch(63.7% 0.237 25.331) 30%, transparent);
          @supports (color: color-mix(in lab, red, red)) {
            background-color: color-mix(in oklab, var(--color-red-500) 30%, transparent);
          }
          color: var(--color-red-400);
        }
      }
    }
    &.ativo {
      width: calc(var(--spacing) * 23);
      & .topo-menu .logo, .btn-perfil-menu .txt-perfil, .links-menu a span, .btn-sair a span, .submenu-btn span, .submenu-btn #arrow-icon, #submenu a span {
        display: none;
      }
      #submenu {
        padding-left: calc(var(--spacing) * 0);
      }
      #submenu a i {
        font-size: var(--text-xs);
        line-height: var(--tw-leading, var(--text-xs--line-height));
      }
      & .submenu-btn .container-icone {
        display: flex;
        width: 100%;
        align-items: center;
        justify-content: center;
      }
      & .topo-menu button {
        display: flex;
        width: 100% !important;
        align-items: center;
        justify-content: center;
        & i {
          rotate: 180deg;
        }
      }
      & .btn-perfil-menu, .links-menu a, .btn-sair a {
        justify-content: center;
      }
    }
  }
  .menu-mobile {
    position: fixed;
    bottom: calc(var(--spacing) * 0);
    left: calc(var(--spacing) * 0);
    z-index: 500;
    height: 4rem;
    width: 100%;
    background-color: var(--color-verde-escuro);
    color: color-mix(in srgb, #fff 80%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-white) 80%, transparent);
    }
    @media (width >= 64rem) {
      display: none;
    }
    & nav {
      display: grid;
      gap: calc(var(--spacing) * 5);
      padding: calc(var(--spacing) * 2);
      & a {
        &.ativo {
          --tw-font-weight: var(--font-weight-semibold);
          font-weight: var(--font-weight-semibold);
          color: var(--color-white);
          & i {
            background-color: var(--color-verde);
          }
          &:hover {
            & i {
              background-color: var(--color-verde-hover);
            }
          }
        }
      }
      & a .container-icone {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        & i {
          margin-bottom: calc(var(--spacing) * 1);
          border-radius: calc(infinity * 1px);
          padding-inline: calc(var(--spacing) * 5);
          font-size: var(--text-lg);
          line-height: var(--tw-leading, var(--text-lg--line-height));
        }
        & span {
          font-size: var(--text-xs);
          line-height: var(--tw-leading, var(--text-xs--line-height));
          white-space: nowrap;
        }
        &:hover {
          & i {
            background-color: var(--color-verde);
          }
        }
      }
    }
  }
}
@layer components {
  .carrossel-destaque {
    position: relative;
    height: calc(var(--spacing) * 35);
    width: 100%;
    overflow: hidden;
    border-radius: var(--radius-xl);
    background-color: var(--color-black);
    @media (width >= 64rem) {
      height: calc(var(--spacing) * 60);
    }
    & .carrossel-track {
      position: relative;
      height: 100%;
      width: 100%;
    }
    & .carrossel-slide {
      pointer-events: none;
      position: absolute;
      inset: calc(var(--spacing) * 0);
      opacity: 0%;
      transition-property: opacity;
      transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
      transition-duration: var(--tw-duration, var(--default-transition-duration));
      --tw-duration: 700ms;
      transition-duration: 700ms;
      --tw-ease: var(--ease-in-out);
      transition-timing-function: var(--ease-in-out);
      &.ativo {
        pointer-events: auto;
        opacity: 100%;
      }
      & img {
        position: absolute;
        top: calc(var(--spacing) * 0);
        left: calc(var(--spacing) * 0);
        z-index: 50;
        height: 100%;
        width: 100%;
        object-fit: cover;
        opacity: 70%;
      }
      & .txt {
        position: absolute;
        top: calc(var(--spacing) * 0);
        left: calc(var(--spacing) * 0);
        z-index: 100;
        display: flex;
        height: 100%;
        width: 100%;
        flex-direction: column;
        justify-content: center;
        gap: calc(var(--spacing) * 1);
        padding: calc(var(--spacing) * 5);
        @media (width >= 64rem) {
          gap: calc(var(--spacing) * 3);
        }
        @media (width >= 64rem) {
          padding: calc(var(--spacing) * 10);
        }
        & span {
          width: max-content;
          border-radius: calc(infinity * 1px);
          background-color: var(--color-verde);
          padding-inline: calc(var(--spacing) * 3);
          font-size: var(--text-xs);
          line-height: var(--tw-leading, var(--text-xs--line-height));
          color: var(--color-white);
          @media (width >= 64rem) {
            padding-inline: calc(var(--spacing) * 5);
          }
          @media (width >= 64rem) {
            font-size: var(--text-base);
            line-height: var(--tw-leading, var(--text-base--line-height));
          }
        }
        & h2, p {
          text-shadow: 0px 1px 2px var(--tw-text-shadow-color, rgb(0 0 0 / 0.1)), 0px 3px 2px var(--tw-text-shadow-color, rgb(0 0 0 / 0.1)), 0px 4px 8px var(--tw-text-shadow-color, rgb(0 0 0 / 0.1));
        }
        & h2 {
          font-size: var(--text-2xl);
          line-height: var(--tw-leading, var(--text-2xl--line-height));
          --tw-font-weight: var(--font-weight-bold);
          font-weight: var(--font-weight-bold);
          color: var(--color-white);
          @media (width >= 64rem) {
            font-size: var(--text-5xl);
            line-height: var(--tw-leading, var(--text-5xl--line-height));
          }
        }
        & p {
          font-size: var(--text-sm);
          line-height: var(--tw-leading, var(--text-sm--line-height));
          color: color-mix(in srgb, #fff 80%, transparent);
          @supports (color: color-mix(in lab, red, red)) {
            color: color-mix(in oklab, var(--color-white) 80%, transparent);
          }
          @media (width >= 64rem) {
            font-size: var(--text-xl);
            line-height: var(--tw-leading, var(--text-xl--line-height));
          }
        }
      }
    }
    & .carrossel-dots {
      position: absolute;
      right: calc(var(--spacing) * 3);
      bottom: calc(var(--spacing) * 3);
      z-index: 150;
      display: flex;
      gap: calc(var(--spacing) * 2);
      @media (width >= 64rem) {
        right: calc(var(--spacing) * 5);
      }
      @media (width >= 64rem) {
        bottom: calc(var(--spacing) * 5);
      }
      & .carrossel-dot {
        height: calc(var(--spacing) * 2.5);
        width: calc(var(--spacing) * 2.5);
        cursor: pointer;
        border-radius: calc(infinity * 1px);
        --tw-border-style: none;
        border-style: none;
        background-color: color-mix(in srgb, #fff 50%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-white) 50%, transparent);
        }
        transition-property: all;
        transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
        transition-duration: var(--tw-duration, var(--default-transition-duration));
        --tw-duration: 300ms;
        transition-duration: 300ms;
        @media (width >= 64rem) {
          height: calc(var(--spacing) * 3);
        }
        @media (width >= 64rem) {
          width: calc(var(--spacing) * 3);
        }
        &.ativo {
          --tw-scale-x: 125%;
          --tw-scale-y: 125%;
          --tw-scale-z: 125%;
          scale: var(--tw-scale-x) var(--tw-scale-y);
          background-color: var(--color-white);
        }
        &:hover:not(.ativo) {
          background-color: color-mix(in srgb, #fff 80%, transparent);
          @supports (color: color-mix(in lab, red, red)) {
            background-color: color-mix(in oklab, var(--color-white) 80%, transparent);
          }
        }
      }
    }
  }
  & .container-categoria {
    margin-block: calc(var(--spacing) * 5);
    margin-bottom: calc(var(--spacing) * 10);
    width: 100%;
    & .txt-categoria {
      display: flex;
      align-items: center;
      justify-content: space-between;
      & h2 {
        --tw-font-weight: var(--font-weight-semibold);
        font-weight: var(--font-weight-semibold);
        color: var(--color-preto-opaco);
      }
      & .container-btn {
        display: none;
        gap: calc(var(--spacing) * 2);
        @media (width >= 64rem) {
          display: flex;
        }
        & button {
          height: calc(var(--spacing) * 10);
          width: calc(var(--spacing) * 10);
          cursor: pointer;
          border-radius: calc(infinity * 1px);
          border-style: var(--tw-border-style);
          border-width: 1px;
          border-color: var(--color-borda);
          background-color: var(--color-white);
          color: var(--color-gray-400);
          &:hover {
            --tw-scale-x: 110%;
            --tw-scale-y: 110%;
            --tw-scale-z: 110%;
            scale: var(--tw-scale-x) var(--tw-scale-y);
            border-color: var(--color-verde);
            color: var(--color-verde);
          }
        }
      }
    }
    & .container-produtos {
      margin-top: calc(var(--spacing) * 2);
      -ms-overflow-style: none;
      scrollbar-width: none;
      &::-webkit-scrollbar {
        display: none;
      }
      display: flex;
      width: 100%;
      gap: calc(var(--spacing) * 2);
      overflow: auto;
      & .produto {
        height: calc(var(--spacing) * 60);
        max-width: calc(var(--spacing) * 50);
        min-width: calc(var(--spacing) * 50);
        overflow: hidden;
        border-radius: var(--radius-xl);
        border-style: var(--tw-border-style);
        border-width: 1px;
        border-color: var(--color-borda);
        background-color: var(--color-white);
        & .img {
          height: calc(1/2 * 100%);
          & img {
            height: 100%;
            width: 100%;
            object-fit: cover;
          }
        }
        & .txt {
          display: flex;
          height: calc(1/2 * 100%);
          flex-direction: column;
          justify-content: space-between;
          border-top-style: var(--tw-border-style);
          border-top-width: 1px;
          border-color: var(--color-borda);
          padding: calc(var(--spacing) * 3);
          & h3 {
            overflow: hidden;
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 2;
          }
          & button {
            cursor: pointer;
            border-radius: var(--radius-lg);
            background-color: var(--color-verde);
            padding: calc(var(--spacing) * 1);
            color: var(--color-white);
            & i {
              margin-left: calc(var(--spacing) * 2);
            }
            &:hover {
              background-color: var(--color-verde-hover);
            }
          }
        }
        &:hover {
          border-color: var(--color-verde);
          & .txt {
            & h3 {
              color: var(--color-verde);
            }
          }
        }
      }
    }
  }
}
@layer components {
  .container-msg-vazio {
    margin-top: calc(var(--spacing) * 5);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: calc(var(--spacing) * 3);
    @media (width >= 64rem) {
      gap: calc(var(--spacing) * 5);
    }
    & i {
      font-size: var(--text-5xl);
      line-height: var(--tw-leading, var(--text-5xl--line-height));
      color: var(--color-verde);
    }
    & img {
      height: calc(var(--spacing) * 30);
      width: calc(var(--spacing) * 30);
    }
    & h2, p {
      text-align: center;
    }
    & h2 {
      font-size: var(--text-2xl);
      line-height: var(--tw-leading, var(--text-2xl--line-height));
      --tw-font-weight: var(--font-weight-semibold);
      font-weight: var(--font-weight-semibold);
    }
    & p {
      color: var(--color-preto-opaco);
    }
    & button, a {
      border-radius: var(--radius-xl);
      background-color: var(--color-verde);
      padding-inline: calc(var(--spacing) * 5);
      padding-block: calc(var(--spacing) * 1.5);
      font-size: var(--text-lg);
      line-height: var(--tw-leading, var(--text-lg--line-height));
      color: var(--color-white);
      & i {
        font-size: var(--text-2xl);
        line-height: var(--tw-leading, var(--text-2xl--line-height));
        color: var(--color-white);
      }
      &:hover {
        background-color: var(--color-verde-hover);
      }
    }
  }
}
@layer components {
  .tabela-crud {
    width: 100%;
    border-radius: var(--radius-2xl);
    border-style: var(--tw-border-style);
    border-width: 1px;
    border-color: var(--color-borda);
    background-color: var(--color-white);
    padding: calc(var(--spacing) * 6);
    & .topo-tabela {
      margin-bottom: calc(var(--spacing) * 5);
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: space-between;
      gap: calc(var(--spacing) * 5);
      @media (width >= 64rem) {
        flex-direction: row;
      }
      & .titulo-tabela {
        display: flex;
        width: 100%;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        @media (width >= 64rem) {
          width: auto;
        }
        @media (width >= 64rem) {
          align-items: flex-start;
        }
        & h2 {
          font-size: var(--text-lg);
          line-height: var(--tw-leading, var(--text-lg--line-height));
          --tw-font-weight: var(--font-weight-semibold);
          font-weight: var(--font-weight-semibold);
        }
        & p {
          font-size: var(--text-sm);
          line-height: var(--tw-leading, var(--text-sm--line-height));
          color: var(--color-preto-opaco);
        }
      }
      & .opt-tabela {
        display: flex;
        width: 100%;
        align-items: center;
        justify-content: center;
        gap: calc(var(--spacing) * 5);
        @media (width >= 64rem) {
          width: auto;
        }
        & .input-group {
          display: flex;
          width: 100%;
          gap: calc(var(--spacing) * 3);
          overflow: hidden;
          border-radius: var(--radius-xl);
          border-style: var(--tw-border-style);
          border-width: 1px;
          border-color: var(--color-borda);
          padding: calc(var(--spacing) * 2);
          padding-left: calc(var(--spacing) * 5);
          & i {
            color: var(--color-preto-opaco);
          }
          & input {
            height: 100%;
            width: 100%;
            border-style: var(--tw-border-style);
            border-width: 0px;
            outline-style: var(--tw-outline-style);
            outline-width: 0px;
          }
          &:focus-within {
            border-style: var(--tw-border-style);
            border-width: 1px;
            border-color: var(--color-verde);
          }
        }
        & button, .btn-apagar-erros {
          display: flex;
          cursor: pointer;
          align-items: center;
          justify-content: center;
          gap: calc(var(--spacing) * 3);
          border-radius: var(--radius-xl);
          background-color: var(--color-verde);
          padding-inline: calc(var(--spacing) * 5);
          padding-block: calc(var(--spacing) * 2);
          color: var(--color-white);
          & span {
            display: none;
            white-space: nowrap;
            @media (width >= 64rem) {
              display: block;
            }
          }
          &:hover {
            background-color: var(--color-verde-hover);
          }
        }
        & .btn-apagar-erros {
          background-color: var(--color-red-600);
          &:hover {
            background-color: var(--color-red-700);
          }
        }
        & .btn-copiar-erros {
          display: flex;
          cursor: pointer;
          align-items: center;
          justify-content: center;
          gap: calc(var(--spacing) * 3);
          border-radius: var(--radius-xl);
          background-color: var(--color-indigo-600);
          padding-inline: calc(var(--spacing) * 5);
          padding-block: calc(var(--spacing) * 2);
          color: var(--color-white);
          & span {
            display: none;
            white-space: nowrap;
            @media (width >= 64rem) {
              display: block;
            }
          }
          &:hover {
            background-color: var(--color-indigo-700);
          }
        }
        & .btn-alerta-email {
          background-color: var(--color-blue-600);
          &:hover {
            background-color: var(--color-blue-700);
          }
        }
      }
    }
    & .tabela-container {
      margin-top: calc(var(--spacing) * 5);
      margin-bottom: calc(var(--spacing) * 5);
      display: grid;
      grid-template-columns: repeat(1, minmax(0, 1fr));
      gap: calc(var(--spacing) * 5);
      @media (width >= 64rem) {
        grid-template-columns: repeat(4, minmax(0, 1fr));
      }
      & .card-horizontal {
        display: flex;
        align-items: center;
        justify-content: baseline;
        gap: calc(var(--spacing) * 3);
        border-radius: var(--radius-xl);
        border-style: var(--tw-border-style);
        border-width: 1px;
        border-color: var(--color-borda);
        background-color: var(--color-branco);
        padding: calc(var(--spacing) * 5);
        --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
        &:hover {
          @media (hover: hover) {
            --tw-scale-x: 102%;
            --tw-scale-y: 102%;
            --tw-scale-z: 102%;
            scale: var(--tw-scale-x) var(--tw-scale-y);
          }
        }
        &:hover {
          @media (hover: hover) {
            --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
            box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
          }
        }
        & .div-titulo {
          display: flex;
          flex-direction: column;
          align-items: baseline;
          justify-content: baseline;
          gap: calc(var(--spacing) * 1);
          & h2 {
            font-size: var(--text-sm);
            line-height: var(--tw-leading, var(--text-sm--line-height));
            color: var(--color-cinza);
          }
          & p {
            display: flex;
            align-items: center;
            gap: calc(var(--spacing) * 3);
            font-size: var(--text-xl);
            line-height: var(--tw-leading, var(--text-xl--line-height));
            --tw-font-weight: var(--font-weight-semibold);
            font-weight: var(--font-weight-semibold);
            color: var(--color-preto);
          }
        }
        & .span-verde, .span-roxo, .span-azul, .span-vermelho {
          display: flex;
          height: calc(var(--spacing) * 12);
          width: calc(var(--spacing) * 12);
          align-items: center;
          justify-content: center;
          border-radius: var(--radius-xl);
          font-size: var(--text-2xl);
          line-height: var(--tw-leading, var(--text-2xl--line-height));
        }
        & .span-verde {
          background-color: var(--color-green-200);
          color: var(--color-green-500);
        }
        & .span-roxo {
          background-color: var(--color-purple-200);
          color: var(--color-purple-500);
        }
        & .span-azul {
          background-color: var(--color-blue-200);
          color: var(--color-blue-500);
        }
        & .span-vermelho {
          background-color: var(--color-red-200);
          color: var(--color-red-500);
        }
      }
    }
    & .filtros-inline {
      margin-bottom: calc(var(--spacing) * 5);
      display: flex;
      width: 100%;
      flex-direction: column;
      align-items: flex-end;
      gap: calc(var(--spacing) * 3);
      @media (width >= 64rem) {
        flex-direction: row;
      }
      & .input-group-busca {
        display: flex;
        width: 100%;
        flex-direction: column;
        gap: calc(var(--spacing) * 1);
        & label {
          font-size: var(--text-sm);
          line-height: var(--tw-leading, var(--text-sm--line-height));
          color: var(--color-preto-opaco);
        }
        & .input-group {
          display: flex;
          width: 100%;
          flex-direction: row;
          align-items: center;
          gap: calc(var(--spacing) * 3);
          border-radius: var(--radius-xl);
          border-style: var(--tw-border-style);
          border-width: 1px;
          border-color: var(--color-borda);
          padding: calc(var(--spacing) * 2);
          padding-left: calc(var(--spacing) * 5);
          & i {
            color: var(--color-preto-opaco);
          }
          & input {
            width: 100%;
            border-style: var(--tw-border-style);
            border-width: 0px;
            padding: calc(var(--spacing) * 0);
            outline-style: var(--tw-outline-style);
            outline-width: 0px;
          }
          &:focus-within {
            border-style: var(--tw-border-style);
            border-width: 1px;
            border-color: var(--color-verde);
          }
        }
      }
      & .input-group {
        display: flex;
        width: 100%;
        flex-direction: column;
        gap: calc(var(--spacing) * 1);
        @media (width >= 64rem) {
          width: auto;
        }
        & label {
          font-size: var(--text-sm);
          line-height: var(--tw-leading, var(--text-sm--line-height));
          color: var(--color-preto-opaco);
        }
        & input {
          width: 100%;
          border-radius: var(--radius-xl);
          border-style: var(--tw-border-style);
          border-width: 1px;
          border-color: var(--color-borda);
          padding: calc(var(--spacing) * 2);
          padding-left: calc(var(--spacing) * 4);
        }
        & select {
          min-width: 160px;
          cursor: pointer;
          appearance: none;
          border-radius: var(--radius-xl);
          border-style: var(--tw-border-style);
          border-width: 1px;
          border-color: var(--color-borda);
          background-color: var(--color-white);
          padding: calc(var(--spacing) * 2);
          padding-left: calc(var(--spacing) * 4);
        }
      }
      & button[type="submit"] {
        display: flex;
        width: 100%;
        cursor: pointer;
        align-items: center;
        justify-content: center;
        gap: calc(var(--spacing) * 2);
        border-radius: var(--radius-xl);
        background-color: var(--color-verde);
        padding-inline: calc(var(--spacing) * 5);
        padding-block: calc(var(--spacing) * 2);
        white-space: nowrap;
        color: var(--color-white);
        @media (width >= 64rem) {
          width: auto;
        }
        &:hover {
          background-color: var(--color-verde-hover);
        }
      }
      & .btn-limpar {
        display: flex;
        width: 100%;
        cursor: pointer;
        align-items: center;
        justify-content: center;
        gap: calc(var(--spacing) * 2);
        border-radius: var(--radius-xl);
        border-style: var(--tw-border-style);
        border-width: 1px;
        border-color: var(--color-borda);
        background-color: var(--color-white);
        padding-inline: calc(var(--spacing) * 5);
        padding-block: calc(var(--spacing) * 2);
        white-space: nowrap;
        color: var(--color-preto-opaco);
        @media (width >= 64rem) {
          width: auto;
        }
        &:hover {
          background-color: var(--color-gray-200);
        }
      }
    }
    & .table-container {
      width: 100%;
      overflow-x: auto;
      & table {
        min-width: 100%;
        table-layout: auto;
        & thead tr {
          --tw-font-weight: var(--font-weight-semibold);
          font-weight: var(--font-weight-semibold);
          color: var(--color-preto-opaco);
          & th {
            width: max-content;
            padding-inline: calc(var(--spacing) * 5);
            padding-bottom: calc(var(--spacing) * 5);
            white-space: nowrap;
          }
        }
        & tbody tr {
          cursor: pointer;
          border-top-style: var(--tw-border-style);
          border-top-width: 1px;
          border-color: var(--color-borda);
          text-align: center;
          &.tr-detalhes-venda {
            cursor: default;
            & .container-itens-venda {
              padding: calc(var(--spacing) * 0);
              & .detalhes-itens-venda {
                background-color: var(--color-gray-100);
                & .tabela-itens-venda {
                  width: 100%;
                  text-align: left;
                  & tr {
                    border-style: var(--tw-border-style);
                    border-width: 0px;
                  }
                  & th {
                    padding: calc(var(--spacing) * 2);
                  }
                  & tbody tr {
                    border-top-style: var(--tw-border-style);
                    border-top-width: 1px;
                  }
                }
              }
            }
            &:hover {
              background-color: var(--color-white);
            }
          }
          &.oculto {
            opacity: 80%;
            --tw-grayscale: grayscale(100%);
            filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
          }
          & td {
            padding-inline: calc(var(--spacing) * 2);
            padding-block: calc(var(--spacing) * 1);
            & .img-container {
              display: flex;
              height: 100%;
              width: 100%;
              align-items: center;
              justify-content: center;
              & .img-produto {
                height: calc(var(--spacing) * 12);
                width: calc(var(--spacing) * 12);
                border-radius: var(--radius-2xl);
                object-fit: cover;
              }
            }
            &.nome-produto, &.nome-cliente {
              color: var(--color-blue-600);
            }
            & .icone-nome-usuario {
              margin-inline: auto;
              display: flex;
              width: 100%;
              max-width: 100%;
              align-items: center;
              gap: calc(var(--spacing) * 5);
              @media (width >= 64rem) {
                max-width: calc(1/2 * 100%);
              }
              & span {
                display: flex;
                min-height: calc(var(--spacing) * 10);
                min-width: calc(var(--spacing) * 10);
                align-items: center;
                justify-content: center;
                border-radius: calc(infinity * 1px);
                background-color: color-mix(in srgb, #00c950 20%, transparent);
                @supports (color: color-mix(in lab, red, red)) {
                  background-color: color-mix(in oklab, var(--color-verde) 20%, transparent);
                }
                font-size: var(--text-2xl);
                line-height: var(--tw-leading, var(--text-2xl--line-height));
                --tw-font-weight: var(--font-weight-bold);
                font-weight: var(--font-weight-bold);
                color: var(--color-verde);
              }
            }
            & .tag-pago, .tag-pendente, .tag-vencida {
              border-radius: calc(infinity * 1px);
              padding-inline: calc(var(--spacing) * 5);
            }
            & .tag-pago {
              background-color: color-mix(in srgb, oklch(72.3% 0.219 149.579) 20%, transparent);
              @supports (color: color-mix(in lab, red, red)) {
                background-color: color-mix(in oklab, var(--color-green-500) 20%, transparent);
              }
              color: var(--color-green-600);
            }
            & .tag-pendente {
              background-color: color-mix(in srgb, oklch(79.5% 0.184 86.047) 20%, transparent);
              @supports (color: color-mix(in lab, red, red)) {
                background-color: color-mix(in oklab, var(--color-yellow-500) 20%, transparent);
              }
              color: var(--color-yellow-600);
            }
            & .tag-vencida {
              background-color: color-mix(in srgb, oklch(63.7% 0.237 25.331) 20%, transparent);
              @supports (color: color-mix(in lab, red, red)) {
                background-color: color-mix(in oklab, var(--color-red-500) 20%, transparent);
              }
              color: var(--color-red-600);
            }
            & .tag-cliente, .tag-caixa, .tag-administrador, .tag-fundador {
              border-radius: calc(infinity * 1px);
              padding-inline: calc(var(--spacing) * 3);
              white-space: nowrap;
            }
            & .tag-cliente {
              background-color: color-mix(in srgb, oklch(68.5% 0.169 237.323) 20%, transparent);
              @supports (color: color-mix(in lab, red, red)) {
                background-color: color-mix(in oklab, var(--color-sky-500) 20%, transparent);
              }
              color: var(--color-sky-600);
            }
            & .tag-caixa {
              background-color: color-mix(in srgb, oklch(76.9% 0.188 70.08) 20%, transparent);
              @supports (color: color-mix(in lab, red, red)) {
                background-color: color-mix(in oklab, var(--color-amber-500) 20%, transparent);
              }
              color: var(--color-amber-600);
            }
            & .tag-administrador {
              background-color: color-mix(in srgb, oklch(62.7% 0.265 303.9) 20%, transparent);
              @supports (color: color-mix(in lab, red, red)) {
                background-color: color-mix(in oklab, var(--color-purple-500) 20%, transparent);
              }
              color: var(--color-purple-600);
            }
            & .tag-fundador {
              background-color: color-mix(in srgb, oklch(55.2% 0.016 285.938) 20%, transparent);
              @supports (color: color-mix(in lab, red, red)) {
                background-color: color-mix(in oklab, var(--color-zinc-500) 20%, transparent);
              }
              color: var(--color-zinc-600);
            }
            & .texto-ultimo-login {
              font-size: var(--text-sm);
              line-height: var(--tw-leading, var(--text-sm--line-height));
              white-space: nowrap;
              color: var(--color-preto-opaco);
            }
            & .tag-vendas-hoje {
              border-radius: calc(infinity * 1px);
              background-color: var(--color-gray-200);
              padding-inline: calc(var(--spacing) * 3);
              padding-block: calc(var(--spacing) * 0.5);
              font-size: var(--text-sm);
              line-height: var(--tw-leading, var(--text-sm--line-height));
              --tw-font-weight: var(--font-weight-semibold);
              font-weight: var(--font-weight-semibold);
              color: var(--color-gray-500);
            }
            & .tag-vendas-ativo {
              background-color: color-mix(in srgb, oklch(72.3% 0.219 149.579) 20%, transparent);
              @supports (color: color-mix(in lab, red, red)) {
                background-color: color-mix(in oklab, var(--color-green-500) 20%, transparent);
              }
              color: var(--color-green-600);
            }
            & .texto-id {
              font-family: var(--font-mono);
              font-size: var(--text-sm);
              line-height: var(--tw-leading, var(--text-sm--line-height));
              color: var(--color-preto-opaco);
            }
            & .acoes {
              display: flex;
              min-height: 100%;
              width: 100%;
              align-items: center;
              justify-content: center;
              & .btn-edita, .btn-deleta, .btn-imprimir, .btn-ocultar, .btn-duplicar, .btn-expandir {
                display: flex;
                height: calc(var(--spacing) * 10);
                width: calc(var(--spacing) * 10);
                cursor: pointer;
                align-items: center;
                justify-content: center;
                border-radius: var(--radius-lg);
                &:hover {
                  background-color: var(--color-gray-200);
                }
              }
              & .btn-edita, .btn-imprimir {
                color: var(--color-blue-600);
              }
              & .btn-deleta {
                color: var(--color-red-600);
              }
              & .btn-ocultar {
                color: var(--color-gray-600);
              }
              & .btn-duplicar {
                color: var(--color-sky-500);
              }
            }
          }
          &:last-child {
            border-bottom-style: var(--tw-border-style);
            border-bottom-width: 1px;
            border-color: var(--color-borda);
          }
          &:hover {
            background-color: var(--color-gray-300);
          }
        }
      }
    }
  }
  .paginacao {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: calc(var(--spacing) * 5);
    padding-top: calc(var(--spacing) * 6);
    & .qtd-paginas {
      display: none;
      color: var(--color-preto-opaco);
      @media (width >= 64rem) {
        display: block;
      }
    }
    & .container-btn {
      display: flex;
      width: 100%;
      align-items: center;
      justify-content: center;
      gap: calc(var(--spacing) * 3);
      @media (width >= 64rem) {
        width: auto;
      }
      @media (width >= 64rem) {
        gap: calc(var(--spacing) * 1);
      }
      & .btn-pagina, .btn-num {
        cursor: pointer;
        border-radius: var(--radius-lg);
        border-style: var(--tw-border-style);
        border-width: 1px;
        border-color: var(--color-borda);
        padding-inline: calc(var(--spacing) * 4);
        padding-block: calc(var(--spacing) * 1.5);
        &:hover {
          background-color: var(--color-borda);
        }
      }
      & .btn-pagina {
        &:disabled {
          color: var(--color-borda);
          &:hover {
            background-color: var(--color-white);
          }
        }
      }
      & .reticencias {
        padding-inline: calc(var(--spacing) * 1);
        color: var(--color-preto-opaco);
      }
      & .btn-num {
        &.atual {
          background-color: var(--color-verde);
          color: var(--color-white);
          &:hover {
            background-color: var(--color-verde-hover);
          }
        }
      }
    }
  }
}
@layer components {
  .banner-mensalidade {
    margin-bottom: calc(var(--spacing) * 5);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
    gap: calc(var(--spacing) * 4);
    border-radius: var(--radius-xl);
    border-style: var(--tw-border-style);
    border-width: 1px;
    padding: calc(var(--spacing) * 4);
    @media (width >= 64rem) {
      flex-direction: row;
    }
    @media (width >= 64rem) {
      align-items: center;
    }
    @media (width >= 64rem) {
      padding: calc(var(--spacing) * 5);
    }
    & .banner-info {
      display: flex;
      align-items: center;
      gap: calc(var(--spacing) * 4);
      & .banner-icone {
        display: flex;
        height: calc(var(--spacing) * 11);
        width: calc(var(--spacing) * 11);
        flex-shrink: 0;
        align-items: center;
        justify-content: center;
        border-radius: var(--radius-xl);
        font-size: var(--text-xl);
        line-height: var(--tw-leading, var(--text-xl--line-height));
      }
      & .banner-texto {
        & h3 {
          font-size: var(--text-base);
          line-height: var(--tw-leading, var(--text-base--line-height));
          --tw-font-weight: var(--font-weight-semibold);
          font-weight: var(--font-weight-semibold);
        }
        & p {
          font-size: var(--text-sm);
          line-height: var(--tw-leading, var(--text-sm--line-height));
          opacity: 80%;
        }
      }
    }
    & .banner-btn-pagar {
      display: flex;
      width: 100%;
      flex-shrink: 0;
      cursor: pointer;
      align-items: center;
      justify-content: center;
      gap: calc(var(--spacing) * 2);
      border-radius: var(--radius-xl);
      padding-inline: calc(var(--spacing) * 5);
      padding-block: calc(var(--spacing) * 2.5);
      font-size: var(--text-sm);
      line-height: var(--tw-leading, var(--text-sm--line-height));
      --tw-font-weight: var(--font-weight-semibold);
      font-weight: var(--font-weight-semibold);
      white-space: nowrap;
      @media (width >= 64rem) {
        width: auto;
      }
    }
  }
  .banner-pendente {
    border-color: var(--color-amber-200);
    background-color: var(--color-amber-50);
    & .banner-icone {
      background-color: var(--color-amber-200);
      color: var(--color-amber-600);
    }
    & .banner-texto {
      & h3 {
        color: var(--color-amber-800);
      }
      & p {
        color: var(--color-amber-700);
      }
    }
    & .banner-btn-pagar {
      background-color: var(--color-amber-500);
      color: var(--color-white);
      &:hover {
        @media (hover: hover) {
          background-color: var(--color-amber-600);
        }
      }
    }
  }
  .banner-vencida {
    border-color: var(--color-red-200);
    background-color: var(--color-red-50);
    & .banner-icone {
      background-color: var(--color-red-200);
      color: var(--color-red-600);
    }
    & .banner-texto {
      & h3 {
        color: var(--color-red-800);
      }
      & p {
        color: var(--color-red-700);
      }
    }
    & .banner-btn-pagar {
      background-color: var(--color-red-500);
      color: var(--color-white);
      &:hover {
        @media (hover: hover) {
          background-color: var(--color-red-600);
        }
      }
    }
  }
  .dashboard-container {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: calc(var(--spacing) * 5);
    @media (width >= 64rem) {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    & .card-horizontal {
      display: flex;
      align-items: center;
      justify-content: space-between;
      border-radius: var(--radius-xl);
      border-style: var(--tw-border-style);
      border-width: 1px;
      border-color: var(--color-borda);
      background-color: var(--color-branco);
      padding: calc(var(--spacing) * 5);
      --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
      &:hover {
        @media (hover: hover) {
          --tw-scale-x: 102%;
          --tw-scale-y: 102%;
          --tw-scale-z: 102%;
          scale: var(--tw-scale-x) var(--tw-scale-y);
        }
      }
      &:hover {
        @media (hover: hover) {
          --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
          box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
        }
      }
      & .div-titulo {
        display: flex;
        flex-direction: column;
        align-items: baseline;
        justify-content: center;
        gap: calc(var(--spacing) * 1);
        & h2 {
          font-size: var(--text-sm);
          line-height: var(--tw-leading, var(--text-sm--line-height));
          color: var(--color-cinza);
        }
        & p {
          display: flex;
          align-items: center;
          gap: calc(var(--spacing) * 3);
          font-size: var(--text-xl);
          line-height: var(--tw-leading, var(--text-xl--line-height));
          --tw-font-weight: var(--font-weight-semibold);
          font-weight: var(--font-weight-semibold);
          color: var(--color-preto);
        }
      }
      & .span-verde, .span-roxo, .span-azul, .span-amarelo, .span-vermelho {
        display: flex;
        height: calc(var(--spacing) * 12);
        width: calc(var(--spacing) * 12);
        align-items: center;
        justify-content: center;
        border-radius: var(--radius-xl);
        font-size: var(--text-2xl);
        line-height: var(--tw-leading, var(--text-2xl--line-height));
      }
      & .span-verde {
        background-color: var(--color-green-200);
        color: var(--color-green-500);
      }
      & .span-roxo {
        background-color: var(--color-purple-200);
        color: var(--color-purple-500);
      }
      & .span-azul {
        background-color: var(--color-blue-200);
        color: var(--color-blue-500);
      }
      & .span-amarelo {
        background-color: var(--color-yellow-200);
        color: var(--color-yellow-500);
      }
      & .span-vermelho {
        background-color: var(--color-red-200);
        color: var(--color-red-500);
      }
      & .span-amarelo {
        background-color: var(--color-yellow-200);
        color: var(--color-yellow-500);
      }
      & .texto-valor-hoje {
        font-size: var(--text-sm);
        line-height: var(--tw-leading, var(--text-sm--line-height));
        --tw-font-weight: var(--font-weight-normal);
        font-weight: var(--font-weight-normal);
        color: var(--color-cinza);
      }
    }
    & .card-bd-tamanho {
      & .bd-progresso-container {
        display: flex;
        width: 100%;
        flex-direction: column;
        gap: calc(var(--spacing) * 2);
        & .bd-progresso-info {
          display: flex;
          align-items: center;
          justify-content: space-between;
          & .bd-tamanho-atual {
            font-size: var(--text-2xl);
            line-height: var(--tw-leading, var(--text-2xl--line-height));
            --tw-font-weight: var(--font-weight-bold);
            font-weight: var(--font-weight-bold);
            color: var(--color-preto);
          }
          & .bd-tamanho-limite {
            font-size: var(--text-sm);
            line-height: var(--tw-leading, var(--text-sm--line-height));
            color: var(--color-cinza);
          }
        }
        & .bd-barra-fundo {
          height: calc(var(--spacing) * 3);
          width: 100%;
          overflow: hidden;
          border-radius: calc(infinity * 1px);
          background-color: var(--color-gray-200);
          & .bd-barra-progresso {
            height: 100%;
            border-radius: calc(infinity * 1px);
            transition: width 1s ease-in-out;
          }
          & .bd-barra-verde {
            background-color: var(--color-green-500);
          }
          & .bd-barra-amarelo {
            background-color: var(--color-yellow-500);
          }
          & .bd-barra-vermelho {
            background-color: var(--color-red-500);
          }
        }
        & .bd-progresso-percentual {
          display: flex;
          align-items: center;
          justify-content: space-between;
          font-size: var(--text-sm);
          line-height: var(--tw-leading, var(--text-sm--line-height));
          & .bd-ok {
            display: flex;
            align-items: center;
            gap: calc(var(--spacing) * 1);
            color: var(--color-green-600);
          }
          & .bd-aviso {
            display: flex;
            align-items: center;
            gap: calc(var(--spacing) * 1);
            color: var(--color-yellow-600);
          }
          & .bd-alerta {
            display: flex;
            align-items: center;
            gap: calc(var(--spacing) * 1);
            --tw-font-weight: var(--font-weight-semibold);
            font-weight: var(--font-weight-semibold);
            color: var(--color-red-600);
          }
          & .bd-percentual-texto {
            color: var(--color-cinza);
          }
        }
      }
    }
    & .card-vertical {
      grid-column: span 1 / span 1;
      display: flex;
      min-height: calc(var(--spacing) * 50);
      flex-direction: column;
      align-items: baseline;
      justify-content: baseline;
      gap: calc(var(--spacing) * 5);
      border-radius: var(--radius-xl);
      border-style: var(--tw-border-style);
      border-width: 1px;
      border-color: var(--color-borda);
      background-color: var(--color-branco);
      padding: calc(var(--spacing) * 5);
      --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
      &:hover {
        @media (hover: hover) {
          --tw-scale-x: 102%;
          --tw-scale-y: 102%;
          --tw-scale-z: 102%;
          scale: var(--tw-scale-x) var(--tw-scale-y);
        }
      }
      &:hover {
        @media (hover: hover) {
          --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
          box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
        }
      }
      @media (width >= 64rem) {
        grid-column: span 2 / span 2;
      }
      & .div-titulo {
        display: flex;
        flex-direction: column;
        align-items: baseline;
        justify-content: center;
        gap: calc(var(--spacing) * 1);
        & h2 {
          display: flex;
          align-items: center;
          gap: calc(var(--spacing) * 3);
          font-size: var(--text-xl);
          line-height: var(--tw-leading, var(--text-xl--line-height));
          --tw-font-weight: var(--font-weight-semibold);
          font-weight: var(--font-weight-semibold);
          color: var(--color-preto);
          & i {
            font-size: var(--text-2xl);
            line-height: var(--tw-leading, var(--text-2xl--line-height));
          }
          & .bi-exclamation-triangle {
            color: var(--color-amber-500);
          }
          & .bi-credit-card {
            color: var(--color-blue-700);
          }
          & .bi-bug {
            color: var(--color-red-600);
          }
          & .bi-trophy {
            color: var(--color-yellow-400);
          }
          & .bi-credit-card-2-front {
            color: var(--color-purple-600);
          }
          & .bi-database {
            color: var(--color-indigo-600);
          }
          & .bi-bar-chart-line {
            color: var(--color-emerald-600);
          }
        }
        & p {
          margin-top: calc(var(--spacing) * -2);
          font-size: var(--text-sm);
          line-height: var(--tw-leading, var(--text-sm--line-height));
          color: var(--color-cinza);
        }
      }
      & .div-estoque-baixo {
        display: flex;
        height: 100%;
        max-height: calc(var(--spacing) * 50);
        width: 100%;
        flex-direction: column;
        align-items: baseline;
        justify-content: baseline;
        gap: calc(var(--spacing) * 2);
        overflow-y: auto;
        border-radius: var(--radius-xl);
        background-color: var(--color-red-100);
        padding: calc(var(--spacing) * 3);
        & .titulo {
          font-size: var(--text-base);
          line-height: var(--tw-leading, var(--text-base--line-height));
          color: var(--color-red-500);
        }
        & .itens-estoque {
          display: flex;
          flex-wrap: wrap;
          align-items: center;
          justify-content: flex-start;
          gap: calc(var(--spacing) * 2);
          font-size: var(--text-sm);
          line-height: var(--tw-leading, var(--text-sm--line-height));
          & .item {
            display: flex;
            height: calc(var(--spacing) * 7);
            width: 100%;
            align-items: center;
            justify-content: space-between;
            border-radius: var(--radius-lg);
            background-color: var(--color-red-300);
            padding-inline: calc(var(--spacing) * 3);
            color: var(--color-preto);
          }
        }
      }
      & .div-estoque-bom {
        display: flex;
        height: 100%;
        width: 100%;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: calc(var(--spacing) * 2);
        border-radius: var(--radius-xl);
        background-color: var(--color-green-100);
        padding: calc(var(--spacing) * 3);
        & i {
          margin-bottom: calc(var(--spacing) * -2);
          font-size: var(--text-5xl);
          line-height: var(--tw-leading, var(--text-5xl--line-height));
          color: var(--color-green-400);
        }
        & .titulo {
          font-size: var(--text-base);
          line-height: var(--tw-leading, var(--text-base--line-height));
          color: var(--color-green-500);
        }
      }
      & .parcela-paga {
        display: flex;
        height: 100%;
        width: 100%;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: calc(var(--spacing) * 2);
        border-radius: var(--radius-xl);
        background-color: var(--color-green-100);
        padding: calc(var(--spacing) * 3);
        & i {
          margin-bottom: calc(var(--spacing) * -2);
          font-size: var(--text-5xl);
          line-height: var(--tw-leading, var(--text-5xl--line-height));
          color: var(--color-green-400);
        }
        & span {
          font-size: var(--text-lg);
          line-height: var(--tw-leading, var(--text-lg--line-height));
          --tw-font-weight: var(--font-weight-semibold);
          font-weight: var(--font-weight-semibold);
          color: var(--color-green-400);
        }
        & p {
          font-size: var(--text-sm);
          line-height: var(--tw-leading, var(--text-sm--line-height));
          color: var(--color-cinza);
        }
      }
      & .parcela-pendente {
        display: flex;
        height: 100%;
        width: 100%;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: calc(var(--spacing) * 2);
        border-radius: var(--radius-xl);
        background-color: var(--color-yellow-100);
        padding: calc(var(--spacing) * 3);
        & i {
          margin-bottom: calc(var(--spacing) * -2);
          font-size: var(--text-5xl);
          line-height: var(--tw-leading, var(--text-5xl--line-height));
          color: var(--color-yellow-400);
        }
        & span {
          font-size: var(--text-lg);
          line-height: var(--tw-leading, var(--text-lg--line-height));
          --tw-font-weight: var(--font-weight-semibold);
          font-weight: var(--font-weight-semibold);
          color: var(--color-yellow-400);
        }
        & p {
          font-size: var(--text-sm);
          line-height: var(--tw-leading, var(--text-sm--line-height));
          color: var(--color-cinza);
        }
      }
      & .parcela-vencida {
        display: flex;
        height: 100%;
        width: 100%;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: calc(var(--spacing) * 2);
        border-radius: var(--radius-xl);
        background-color: var(--color-red-100);
        padding: calc(var(--spacing) * 3);
        & i {
          margin-bottom: calc(var(--spacing) * -2);
          font-size: var(--text-5xl);
          line-height: var(--tw-leading, var(--text-5xl--line-height));
          color: var(--color-red-400);
        }
        & span {
          font-size: var(--text-lg);
          line-height: var(--tw-leading, var(--text-lg--line-height));
          --tw-font-weight: var(--font-weight-semibold);
          font-weight: var(--font-weight-semibold);
          color: var(--color-red-400);
        }
        & p {
          font-size: var(--text-sm);
          line-height: var(--tw-leading, var(--text-sm--line-height));
          color: var(--color-cinza);
        }
      }
      & .lista-rentaveis {
        display: flex;
        max-height: calc(var(--spacing) * 50);
        width: 100%;
        flex-direction: column;
        gap: calc(var(--spacing) * 2);
        overflow-y: auto;
        & .item-rentavel {
          display: flex;
          align-items: center;
          justify-content: space-between;
          border-bottom-style: var(--tw-border-style);
          border-bottom-width: 1px;
          border-color: var(--color-gray-100);
          padding-inline: calc(var(--spacing) * 2);
          padding-block: calc(var(--spacing) * 3);
          &:last-child {
            border-bottom-style: var(--tw-border-style);
            border-bottom-width: 0px;
          }
          & .item-rentavel-esquerda {
            display: flex;
            align-items: center;
            gap: calc(var(--spacing) * 3);
            & .item-posicao {
              width: calc(var(--spacing) * 7);
              font-size: var(--text-lg);
              line-height: var(--tw-leading, var(--text-lg--line-height));
              --tw-font-weight: var(--font-weight-bold);
              font-weight: var(--font-weight-bold);
              color: var(--color-preto-opaco);
            }
            & .item-info {
              display: flex;
              flex-direction: column;
              & .item-nome {
                font-size: var(--text-base);
                line-height: var(--tw-leading, var(--text-base--line-height));
                --tw-font-weight: var(--font-weight-semibold);
                font-weight: var(--font-weight-semibold);
                color: var(--color-preto);
              }
              & .item-percentual {
                display: flex;
                align-items: center;
                gap: calc(var(--spacing) * 1);
                font-size: var(--text-xs);
                line-height: var(--tw-leading, var(--text-xs--line-height));
                --tw-font-weight: var(--font-weight-medium);
                font-weight: var(--font-weight-medium);
                color: var(--color-green-600);
                & i {
                  font-size: var(--text-xs);
                  line-height: var(--tw-leading, var(--text-xs--line-height));
                }
              }
            }
          }
          & .item-valor {
            font-size: var(--text-base);
            line-height: var(--tw-leading, var(--text-base--line-height));
            --tw-font-weight: var(--font-weight-semibold);
            font-weight: var(--font-weight-semibold);
            white-space: nowrap;
            color: var(--color-preto);
          }
        }
      }
      & .container-erros {
        display: flex;
        height: 100%;
        width: 100%;
        flex-direction: column;
        gap: calc(var(--spacing) * 2);
        & .item-erro {
          display: flex;
          width: 100%;
          align-items: center;
          justify-content: space-between;
          border-radius: var(--radius-2xl);
          border-style: var(--tw-border-style);
          border-width: 1px;
          border-color: var(--color-red-300);
          background-color: var(--color-red-100);
          padding: calc(var(--spacing) * 3);
          & .url-erro, .data-hora {
            color: var(--color-preto-opaco);
          }
          & .msg-erro {
            color: var(--color-red-600);
          }
          & .url-erro {
            font-size: var(--text-sm);
            line-height: var(--tw-leading, var(--text-sm--line-height));
          }
        }
      }
      & .sem-erros {
        display: flex;
        height: 100%;
        width: 100%;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: calc(var(--spacing) * 3);
        border-radius: var(--radius-2xl);
        background-color: var(--color-green-100);
        padding: calc(var(--spacing) * 2);
        padding-block: calc(var(--spacing) * 5);
        & i {
          font-size: var(--text-5xl);
          line-height: var(--tw-leading, var(--text-5xl--line-height));
          color: var(--color-green-400);
        }
        & h2 {
          text-align: center;
          font-size: var(--text-xl);
          line-height: var(--tw-leading, var(--text-xl--line-height));
          color: var(--color-preto-opaco);
        }
      }
      & .grafico-container {
        height: 100%;
        width: 100%;
      }
    }
  }
}
@layer components {
  .container-categorias {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: calc(var(--spacing) * 5);
    @media (width >= 64rem) {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    & .item-categoria {
      position: relative;
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: calc(var(--spacing) * 5);
      border-radius: var(--radius-xl);
      border-style: var(--tw-border-style);
      border-width: 1px;
      border-color: var(--color-borda);
      padding: calc(var(--spacing) * 5);
      --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
      &.oculto {
        background-color: var(--color-stone-200);
        opacity: 80%;
        --tw-grayscale: grayscale(100%);
        filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
      }
      & .txt-categoria {
        display: flex;
        flex-direction: column;
        gap: calc(var(--spacing) * 2);
        & h2 {
          font-size: var(--text-lg);
          line-height: var(--tw-leading, var(--text-lg--line-height));
          --tw-font-weight: var(--font-weight-semibold);
          font-weight: var(--font-weight-semibold);
        }
        & p {
          font-size: var(--text-sm);
          line-height: var(--tw-leading, var(--text-sm--line-height));
          color: var(--color-preto-opaco);
        }
        & span {
          position: absolute;
          right: calc(var(--spacing) * 3);
          bottom: calc(var(--spacing) * 3);
          border-radius: calc(infinity * 1px);
          background-color: var(--color-verde);
          padding-inline: calc(var(--spacing) * 3);
          font-size: var(--text-xs);
          line-height: var(--tw-leading, var(--text-xs--line-height));
          color: var(--color-white);
        }
      }
      & .acoes {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        & .btn-edita, .btn-deleta, .btn-ocultar {
          display: flex;
          height: calc(var(--spacing) * 8);
          width: calc(var(--spacing) * 8);
          cursor: pointer;
          align-items: center;
          justify-content: center;
          border-radius: var(--radius-lg);
          font-size: var(--text-lg);
          line-height: var(--tw-leading, var(--text-lg--line-height));
          &:hover {
            background-color: var(--color-gray-300);
          }
        }
        & .btn-edita {
          color: var(--color-blue-600);
        }
        & .btn-deleta {
          color: var(--color-red-600);
        }
        & .btn-ocultar {
          color: var(--color-gray-600);
        }
      }
      &:hover {
        --tw-scale-x: 102%;
        --tw-scale-y: 102%;
        --tw-scale-z: 102%;
        scale: var(--tw-scale-x) var(--tw-scale-y);
        --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 8px 10px -6px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
      }
    }
  }
}
@layer components {
  .container-mensalidade {
    display: flex;
    height: 100%;
    width: 100%;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: calc(var(--spacing) * 5);
    @media (width >= 64rem) {
      flex-direction: row-reverse;
    }
    & img {
      display: none;
      max-width: calc(1/2 * 100%);
      @media (width >= 64rem) {
        display: block;
      }
    }
    & .mensalidade {
      display: flex;
      height: max-content;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: calc(var(--spacing) * 5);
      border-radius: var(--radius-2xl);
      border-style: var(--tw-border-style);
      border-width: 1px;
      border-color: var(--color-borda);
      background-color: var(--color-white);
      padding: calc(var(--spacing) * 4);
      --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
      @media (width >= 64rem) {
        padding: calc(var(--spacing) * 8);
      }
      & .icone-pago, .icone-pendente, .icone-vencida {
        display: flex;
        height: calc(var(--spacing) * 15);
        width: calc(var(--spacing) * 15);
        align-items: center;
        justify-content: center;
        border-radius: calc(infinity * 1px);
        font-size: var(--text-6xl);
        line-height: var(--tw-leading, var(--text-6xl--line-height));
      }
      & .icone-pago {
        background-color: color-mix(in srgb, oklch(72.3% 0.219 149.579) 20%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-green-500) 20%, transparent);
        }
        color: var(--color-green-500);
      }
      & .icone-pendente {
        background-color: color-mix(in srgb, oklch(79.5% 0.184 86.047) 20%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-yellow-500) 20%, transparent);
        }
        color: var(--color-yellow-500);
      }
      & .icone-vencida {
        background-color: color-mix(in srgb, oklch(63.7% 0.237 25.331) 20%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-red-500) 20%, transparent);
        }
        color: var(--color-red-500);
      }
      h1 {
        font-size: var(--text-2xl);
        line-height: var(--tw-leading, var(--text-2xl--line-height));
        --tw-font-weight: var(--font-weight-semibold);
        font-weight: var(--font-weight-semibold);
      }
      & .subtitulo {
        text-align: center;
        font-size: var(--text-lg);
        line-height: var(--tw-leading, var(--text-lg--line-height));
        color: var(--color-preto-opaco);
      }
      & .info-mensalidade {
        display: flex;
        width: 100%;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: calc(var(--spacing) * 3);
        border-radius: var(--radius-2xl);
        padding: calc(var(--spacing) * 4);
        &.pago {
          border-style: var(--tw-border-style);
          border-width: 1px;
          border-color: color-mix(in srgb, oklch(72.3% 0.219 149.579) 20%, transparent);
          @supports (color: color-mix(in lab, red, red)) {
            border-color: color-mix(in oklab, var(--color-green-500) 20%, transparent);
          }
          background-color: color-mix(in srgb, oklch(72.3% 0.219 149.579) 10%, transparent);
          @supports (color: color-mix(in lab, red, red)) {
            background-color: color-mix(in oklab, var(--color-green-500) 10%, transparent);
          }
          color: var(--color-green-600);
          & .container-info p span, h2 {
            color: var(--color-green-700);
          }
        }
        &.pendente {
          border-style: var(--tw-border-style);
          border-width: 1px;
          border-color: color-mix(in srgb, oklch(79.5% 0.184 86.047) 20%, transparent);
          @supports (color: color-mix(in lab, red, red)) {
            border-color: color-mix(in oklab, var(--color-yellow-500) 20%, transparent);
          }
          background-color: color-mix(in srgb, oklch(79.5% 0.184 86.047) 10%, transparent);
          @supports (color: color-mix(in lab, red, red)) {
            background-color: color-mix(in oklab, var(--color-yellow-500) 10%, transparent);
          }
          color: var(--color-yellow-600);
          & .container-info p span, h2 {
            color: var(--color-yellow-700);
          }
        }
        &.vencida {
          border-style: var(--tw-border-style);
          border-width: 1px;
          border-color: color-mix(in srgb, oklch(63.7% 0.237 25.331) 20%, transparent);
          @supports (color: color-mix(in lab, red, red)) {
            border-color: color-mix(in oklab, var(--color-red-500) 20%, transparent);
          }
          background-color: color-mix(in srgb, oklch(63.7% 0.237 25.331) 10%, transparent);
          @supports (color: color-mix(in lab, red, red)) {
            background-color: color-mix(in oklab, var(--color-red-500) 10%, transparent);
          }
          color: var(--color-red-600);
          & .container-info p span, h2 {
            color: var(--color-red-700);
          }
        }
        & h2 {
          margin-bottom: calc(var(--spacing) * 2);
          text-align: center;
          font-size: var(--text-xl);
          line-height: var(--tw-leading, var(--text-xl--line-height));
          --tw-font-weight: var(--font-weight-semibold);
          font-weight: var(--font-weight-semibold);
        }
        & .container-info {
          display: grid;
          grid-template-columns: repeat(1, minmax(0, 1fr));
          gap: calc(var(--spacing) * 5);
          @media (width >= 64rem) {
            grid-template-columns: repeat(2, minmax(0, 1fr));
          }
          & p {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: calc(var(--spacing) * 5);
            text-align: center;
            @media (width >= 64rem) {
              justify-content: center;
            }
            @media (width >= 64rem) {
              gap: calc(var(--spacing) * 2);
            }
          }
        }
      }
      & .btn-pagar {
        grid-column: span 2 / span 2;
        border-radius: var(--radius-xl);
        background-color: var(--color-verde);
        padding-inline: calc(var(--spacing) * 10);
        padding-block: calc(var(--spacing) * 2);
        font-size: var(--text-lg);
        line-height: var(--tw-leading, var(--text-lg--line-height));
        color: var(--color-white);
        &:hover {
          background-color: var(--color-verde-hover);
        }
      }
      & .aviso-verificar-email {
        display: flex;
        width: 100%;
        flex-direction: column;
        align-items: center;
        gap: calc(var(--spacing) * 3);
        border-radius: var(--radius-xl);
        border-style: var(--tw-border-style);
        border-width: 1px;
        border-color: var(--color-amber-300);
        background-color: var(--color-amber-50);
        padding: calc(var(--spacing) * 4);
        text-align: center;
        & i {
          font-size: var(--text-2xl);
          line-height: var(--tw-leading, var(--text-2xl--line-height));
          color: var(--color-amber-500);
        }
        & p {
          font-size: var(--text-sm);
          line-height: var(--tw-leading, var(--text-sm--line-height));
          --tw-font-weight: var(--font-weight-medium);
          font-weight: var(--font-weight-medium);
          color: var(--color-amber-700);
        }
        & a {
          border-radius: var(--radius-xl);
          background-color: var(--color-verde);
          padding-inline: calc(var(--spacing) * 5);
          padding-block: calc(var(--spacing) * 2);
          font-size: var(--text-sm);
          line-height: var(--tw-leading, var(--text-sm--line-height));
          --tw-font-weight: var(--font-weight-medium);
          font-weight: var(--font-weight-medium);
          color: var(--color-white);
          &:hover {
            background-color: var(--color-verde-hover);
          }
        }
      }
    }
  }
  .container-gerenciar-mensalidade {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: calc(var(--spacing) * 5);
    @media (width >= 64rem) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    & .container-status, .container-config {
      display: flex;
      flex-direction: column;
      gap: calc(var(--spacing) * 5);
      border-radius: var(--radius-2xl);
      border-style: var(--tw-border-style);
      border-width: 1px;
      border-color: var(--color-borda);
      background-color: var(--color-white);
      padding: calc(var(--spacing) * 5);
      & .titulo {
        & h2 {
          font-size: var(--text-xl);
          line-height: var(--tw-leading, var(--text-xl--line-height));
          --tw-font-weight: var(--font-weight-semibold);
          font-weight: var(--font-weight-semibold);
        }
        & p {
          color: var(--color-preto-opaco);
        }
      }
      & .container-p {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: calc(var(--spacing) * 5);
        & i {
          display: flex;
          height: calc(var(--spacing) * 10);
          width: calc(var(--spacing) * 10);
          align-items: center;
          justify-content: center;
          border-radius: var(--radius-lg);
          font-size: var(--text-2xl);
          line-height: var(--tw-leading, var(--text-2xl--line-height));
          &.status {
            background-color: color-mix(in srgb, #00c950 20%, transparent);
            @supports (color: color-mix(in lab, red, red)) {
              background-color: color-mix(in oklab, var(--color-verde) 20%, transparent);
            }
            color: var(--color-verde);
          }
          &.valor {
            background-color: color-mix(in srgb, oklch(55.8% 0.288 302.321) 20%, transparent);
            @supports (color: color-mix(in lab, red, red)) {
              background-color: color-mix(in oklab, var(--color-purple-600) 20%, transparent);
            }
            color: var(--color-purple-600);
          }
          &.vencimento {
            background-color: color-mix(in srgb, oklch(54.6% 0.245 262.881) 20%, transparent);
            @supports (color: color-mix(in lab, red, red)) {
              background-color: color-mix(in oklab, var(--color-blue-600) 20%, transparent);
            }
            color: var(--color-blue-600);
          }
        }
        & .txt-p {
          & p {
            color: var(--color-preto-opaco);
          }
          & span {
            font-size: var(--text-xl);
            line-height: var(--tw-leading, var(--text-xl--line-height));
            --tw-font-weight: var(--font-weight-semibold);
            font-weight: var(--font-weight-semibold);
          }
        }
      }
      & form {
        display: flex;
        width: 100%;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: calc(var(--spacing) * 5);
        & .input-group {
          display: flex;
          width: 100%;
          flex-direction: column;
          & label {
            color: var(--color-preto-opaco);
          }
          & input, select {
            width: 100%;
            border-radius: var(--radius-xl);
            border-style: var(--tw-border-style);
            border-width: 1px;
            border-color: var(--color-borda);
            padding: calc(var(--spacing) * 2);
          }
        }
        & button {
          width: 100%;
          cursor: pointer;
          border-radius: var(--radius-xl);
          background-color: var(--color-verde);
          padding: calc(var(--spacing) * 2);
          color: var(--color-white);
          &:hover {
            background-color: var(--color-verde-hover);
          }
        }
      }
    }
  }
}
@layer components {
  .container-perfil {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: calc(var(--spacing) * 5);
    @media (width >= 64rem) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    & .container-info, .container-senha, .container-info-geral, .container-deslogar, .container-config, .container-verificacao-email {
      display: flex;
      width: 100%;
      flex-direction: column;
      justify-content: space-between;
      gap: calc(var(--spacing) * 5);
      border-radius: var(--radius-2xl);
      border-style: var(--tw-border-style);
      border-width: 1px;
      border-color: var(--color-borda);
      background-color: var(--color-white);
      padding: calc(var(--spacing) * 5);
      --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
      @media (width >= 64rem) {
        padding: calc(var(--spacing) * 10);
      }
      &.container-info-geral {
        @media (width >= 64rem) {
          grid-column: span 2 / span 2;
        }
        & .group-p {
          margin-top: calc(var(--spacing) * 5);
          display: flex;
          align-items: center;
          justify-content: space-between;
          & p {
            color: var(--color-preto-opaco);
          }
        }
      }
      &.container-config {
        grid-column: span 1 / span 1;
        @media (width >= 64rem) {
          grid-column: span 2 / span 2;
        }
        & .container-metodos {
          display: flex;
          align-items: center;
          justify-content: center;
          gap: calc(var(--spacing) * 1);
          border-radius: var(--radius-xl);
          background-color: var(--color-gray-300);
          padding: calc(var(--spacing) * 1);
          & button {
            width: 100%;
            cursor: pointer;
            border-radius: var(--radius-xl);
            background-color: color-mix(in srgb, #fff 0%, transparent);
            @supports (color: color-mix(in lab, red, red)) {
              background-color: color-mix(in oklab, var(--color-white) 0%, transparent);
            }
            padding: calc(var(--spacing) * 1);
            color: var(--color-preto-opaco);
            &.atual {
              background-color: var(--color-white);
              color: var(--color-black);
            }
          }
        }
        & form {
          & .topo-form {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: calc(var(--spacing) * 10);
            & .txt-form {
              & h2 {
                --tw-font-weight: var(--font-weight-semibold);
                font-weight: var(--font-weight-semibold);
              }
              & p {
                color: var(--color-preto-opaco);
              }
            }
            & .porcentagem {
              font-size: var(--text-3xl);
              line-height: var(--tw-leading, var(--text-3xl--line-height));
              --tw-font-weight: var(--font-weight-bold);
              font-weight: var(--font-weight-bold);
              color: var(--color-verde);
            }
          }
        }
      }
      &.container-verificacao-email {
        @media (width >= 64rem) {
          grid-column: span 2 / span 2;
        }
        & .status-email {
          display: flex;
          flex-direction: column;
          gap: calc(var(--spacing) * 4);
        }
        & .badge-verificado {
          display: flex;
          width: 100%;
          align-items: center;
          justify-content: center;
          gap: calc(var(--spacing) * 2);
          border-radius: var(--radius-xl);
          border-style: var(--tw-border-style);
          border-width: 1px;
          border-color: var(--color-green-300);
          background-color: var(--color-green-100);
          padding-inline: calc(var(--spacing) * 4);
          padding-block: calc(var(--spacing) * 2);
          font-size: var(--text-sm);
          line-height: var(--tw-leading, var(--text-sm--line-height));
          --tw-font-weight: var(--font-weight-semibold);
          font-weight: var(--font-weight-semibold);
          color: var(--color-green-700);
          @media (width >= 64rem) {
            width: max-content;
          }
          & i {
            font-size: var(--text-lg);
            line-height: var(--tw-leading, var(--text-lg--line-height));
          }
        }
        & .badge-nao-verificado {
          display: flex;
          width: 100%;
          align-items: center;
          justify-content: center;
          gap: calc(var(--spacing) * 2);
          border-radius: var(--radius-xl);
          border-style: var(--tw-border-style);
          border-width: 1px;
          border-color: var(--color-amber-300);
          background-color: var(--color-amber-50);
          padding-inline: calc(var(--spacing) * 4);
          padding-block: calc(var(--spacing) * 2);
          font-size: var(--text-sm);
          line-height: var(--tw-leading, var(--text-sm--line-height));
          --tw-font-weight: var(--font-weight-semibold);
          font-weight: var(--font-weight-semibold);
          color: var(--color-amber-700);
          @media (width >= 64rem) {
            width: max-content;
          }
          & i {
            font-size: var(--text-lg);
            line-height: var(--tw-leading, var(--text-lg--line-height));
          }
        }
        & .texto-status {
          text-align: center;
          font-size: var(--text-sm);
          line-height: var(--tw-leading, var(--text-sm--line-height));
          color: var(--color-preto-opaco);
          @media (width >= 64rem) {
            text-align: left;
          }
        }
        & .verificacao-acoes {
          display: flex;
          flex-direction: column;
          gap: calc(var(--spacing) * 3);
          & button {
            display: flex;
            width: 100%;
            cursor: pointer;
            align-items: center;
            justify-content: center;
            gap: calc(var(--spacing) * 2);
            border-radius: var(--radius-xl);
            background-color: var(--color-verde);
            padding-inline: calc(var(--spacing) * 5);
            padding-block: calc(var(--spacing) * 2.5);
            --tw-font-weight: var(--font-weight-medium);
            font-weight: var(--font-weight-medium);
            color: var(--color-white);
            transition-property: all;
            transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
            transition-duration: var(--tw-duration, var(--default-transition-duration));
            --tw-duration: 200ms;
            transition-duration: 200ms;
            @media (width >= 64rem) {
              width: max-content;
            }
            &:hover:not(:disabled) {
              background-color: var(--color-verde-hover);
            }
            &:disabled {
              cursor: not-allowed;
              opacity: 60%;
            }
          }
        }
        & .container-codigo {
          display: flex;
          flex-direction: column;
          gap: calc(var(--spacing) * 4);
          border-radius: var(--radius-xl);
          border-style: var(--tw-border-style);
          border-width: 1px;
          border-color: var(--color-borda);
          background-color: var(--color-gray-50);
          padding: calc(var(--spacing) * 5);
          &.hidden {
            display: none;
          }
        }
        & .input-codigo-group {
          display: flex;
          flex-direction: column;
          gap: calc(var(--spacing) * 2);
          & label {
            font-size: var(--text-sm);
            line-height: var(--tw-leading, var(--text-sm--line-height));
            --tw-font-weight: var(--font-weight-medium);
            font-weight: var(--font-weight-medium);
          }
        }
        & .input-codigo-wrapper {
          display: flex;
          align-items: center;
          justify-content: center;
          gap: calc(var(--spacing) * 3);
          & input {
            width: calc(var(--spacing) * 44);
            border-radius: var(--radius-xl);
            border-style: var(--tw-border-style);
            border-width: 1px;
            border-color: var(--color-borda);
            padding: calc(var(--spacing) * 2.5);
            text-align: center;
            font-family: var(--font-mono);
            font-size: var(--text-2xl);
            line-height: var(--tw-leading, var(--text-2xl--line-height));
            --tw-tracking: var(--tracking-widest);
            letter-spacing: var(--tracking-widest);
            &:focus {
              outline-style: var(--tw-outline-style);
              outline-width: 2px;
            }
            &:focus {
              outline-color: var(--color-verde);
            }
          }
          & button {
            cursor: pointer;
            border-radius: var(--radius-xl);
            background-color: var(--color-verde);
            padding-inline: calc(var(--spacing) * 5);
            padding-block: calc(var(--spacing) * 2.5);
            --tw-font-weight: var(--font-weight-medium);
            font-weight: var(--font-weight-medium);
            color: var(--color-white);
            transition-property: all;
            transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
            transition-duration: var(--tw-duration, var(--default-transition-duration));
            --tw-duration: 200ms;
            transition-duration: 200ms;
            &:hover:not(:disabled) {
              background-color: var(--color-verde-hover);
            }
            &:disabled {
              cursor: not-allowed;
              opacity: 60%;
            }
          }
        }
        & .btn-reenviar {
          display: flex;
          cursor: pointer;
          align-items: center;
          gap: calc(var(--spacing) * 1);
          background-color: transparent;
          padding: calc(var(--spacing) * 0);
          font-size: var(--text-sm);
          line-height: var(--tw-leading, var(--text-sm--line-height));
          --tw-font-weight: var(--font-weight-medium);
          font-weight: var(--font-weight-medium);
          color: var(--color-verde);
          &:hover:not(:disabled) {
            color: var(--color-verde-hover);
            text-decoration-line: underline;
          }
          &:disabled {
            cursor: not-allowed;
            text-decoration-line: none;
            opacity: 60%;
          }
        }
        & .msg-feedback {
          min-height: calc(var(--spacing) * 5);
          font-size: var(--text-sm);
          line-height: var(--tw-leading, var(--text-sm--line-height));
          --tw-font-weight: var(--font-weight-medium);
          font-weight: var(--font-weight-medium);
          &.sucesso {
            color: var(--color-green-600);
          }
          &.erro {
            color: var(--color-red-500);
          }
        }
      }
      & .titulo-container {
        display: flex;
        flex-direction: column;
        border-bottom-style: var(--tw-border-style);
        border-bottom-width: 1px;
        border-color: var(--color-borda);
        padding-bottom: calc(var(--spacing) * 5);
        & h1, h2 {
          font-size: var(--text-xl);
          line-height: var(--tw-leading, var(--text-xl--line-height));
          --tw-font-weight: var(--font-weight-semibold);
          font-weight: var(--font-weight-semibold);
          & i {
            color: var(--color-verde);
          }
        }
        & p {
          color: var(--color-preto-opaco);
        }
      }
      & .container-mostrar {
        display: flex;
        align-items: center;
        gap: calc(var(--spacing) * 5);
        & span {
          display: flex;
          height: calc(var(--spacing) * 13);
          width: calc(var(--spacing) * 13);
          align-items: center;
          justify-content: center;
          border-radius: calc(infinity * 1px);
          background-color: color-mix(in srgb, #00c950 20%, transparent);
          @supports (color: color-mix(in lab, red, red)) {
            background-color: color-mix(in oklab, var(--color-verde) 20%, transparent);
          }
          font-size: var(--text-4xl);
          line-height: var(--tw-leading, var(--text-4xl--line-height));
          color: var(--color-verde);
        }
        & .txt-mostrar {
          & h2 {
            --tw-font-weight: var(--font-weight-semibold);
            font-weight: var(--font-weight-semibold);
          }
          & p {
            font-size: var(--text-sm);
            line-height: var(--tw-leading, var(--text-sm--line-height));
            color: var(--color-preto-opaco);
          }
        }
      }
      & form {
        display: flex;
        flex-direction: column;
        gap: calc(var(--spacing) * 4);
        & .input-group {
          display: flex;
          flex-direction: column;
          & input {
            width: 100%;
            border-radius: var(--radius-xl);
            border-style: var(--tw-border-style);
            border-width: 1px;
            border-color: var(--color-borda);
            padding: calc(var(--spacing) * 2);
            &:focus {
              outline-style: var(--tw-outline-style);
              outline-width: 2px;
            }
            &:focus {
              outline-color: var(--color-verde);
            }
          }
          & .input-senha {
            position: relative;
            width: 100%;
            & button {
              position: absolute;
              top: calc(1/2 * 100%);
              right: calc(var(--spacing) * -2);
              display: flex;
              height: calc(var(--spacing) * 7);
              width: calc(var(--spacing) * 7);
              --tw-translate-x: calc(calc(1/2 * 100%) * -1);
              --tw-translate-y: calc(calc(1/2 * 100%) * -1);
              translate: var(--tw-translate-x) var(--tw-translate-y);
              align-items: center;
              justify-content: center;
              border-radius: 0;
              background-color: transparent;
              font-size: var(--text-lg);
              line-height: var(--tw-leading, var(--text-lg--line-height));
              color: var(--color-verde);
              &:hover {
                background-color: transparent;
                color: var(--color-verde-hover);
              }
            }
          }
        }
        & button {
          cursor: pointer;
          border-radius: var(--radius-xl);
          background-color: var(--color-verde);
          padding-inline: calc(var(--spacing) * 5);
          padding-block: calc(var(--spacing) * 2);
          color: var(--color-white);
          &:hover {
            background-color: var(--color-verde-hover);
          }
        }
      }
    }
    & .container-deslogar {
      border-color: color-mix(in srgb, oklch(63.7% 0.237 25.331) 40%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        border-color: color-mix(in oklab, var(--color-red-500) 40%, transparent);
      }
      @media (width >= 64rem) {
        grid-column: span 2 / span 2;
      }
      & h2 {
        font-size: var(--text-xl);
        line-height: var(--tw-leading, var(--text-xl--line-height));
        --tw-font-weight: var(--font-weight-semibold);
        font-weight: var(--font-weight-semibold);
        color: var(--color-red-500);
      }
      & p {
        color: var(--color-preto-opaco);
      }
      & a {
        width: max-content;
        border-radius: var(--radius-2xl);
        background-color: var(--color-red-500);
        padding-inline: calc(var(--spacing) * 5);
        padding-block: calc(var(--spacing) * 2);
        color: var(--color-white);
        &:hover {
          background-color: var(--color-red-700);
        }
      }
    }
  }
}
@layer components {
  @keyframes esteira {
    0% {
      transform: translateX(0);
    }
    20% {
      transform: translateX(0);
    }
    50% {
      transform: translateX(var(--deslocamento));
    }
    80% {
      transform: translateX(var(--deslocamento));
    }
    100% {
      transform: translateX(0);
    }
  }
  & .pdv-container {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: calc(var(--spacing) * 3);
    @media (width >= 64rem) {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    & .principal-container, .carrinho-container {
      height: 70dvh;
      @media (width >= 64rem) {
        height: 75dvh;
      }
    }
    & .principal-container {
      grid-column: span 3 / span 3;
      display: flex;
      width: 100%;
      flex-direction: column;
      gap: calc(var(--spacing) * 3);
      & .input-group {
        display: flex;
        gap: calc(var(--spacing) * 3);
        overflow: hidden;
        border-radius: var(--radius-xl);
        border-style: var(--tw-border-style);
        border-width: 1px;
        border-color: var(--color-borda);
        background-color: var(--color-white);
        padding: calc(var(--spacing) * 2);
        padding-left: calc(var(--spacing) * 5);
        & i {
          color: var(--color-preto-opaco);
        }
        & input {
          height: 100%;
          width: 100%;
          border-style: var(--tw-border-style);
          border-width: 0px;
          background-color: var(--color-white);
          outline-style: var(--tw-outline-style);
          outline-width: 0px;
        }
        &:focus-within {
          outline-style: var(--tw-outline-style);
          outline-width: 2px;
          outline-color: var(--color-verde);
        }
      }
      & .container-categorias {
        display: flex;
        max-width: 100%;
        align-items: center;
        gap: calc(var(--spacing) * 3);
        overflow-x: auto;
        & .item-categoria {
          display: flex;
          align-items: center;
          gap: calc(var(--spacing) * 1.5);
          border-radius: var(--radius-xl);
          border-style: var(--tw-border-style);
          border-width: 1px;
          border-color: var(--color-borda);
          background-color: var(--color-white);
          padding-inline: calc(var(--spacing) * 3);
          padding-block: calc(var(--spacing) * 1);
          white-space: nowrap;
          --tw-shadow: 0 0 #0000;
          box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
          & .badge-desconto {
            border-radius: calc(infinity * 1px);
            background-color: var(--color-green-600);
            padding-inline: calc(var(--spacing) * 2);
            padding-block: calc(var(--spacing) * 0.5);
            font-size: 11px;
            --tw-leading: 1;
            line-height: 1;
            --tw-font-weight: var(--font-weight-semibold);
            font-weight: var(--font-weight-semibold);
            color: var(--color-white);
          }
          &:hover, &.ativo {
            cursor: pointer;
            border-color: var(--color-verde);
            background-color: var(--color-verde);
            color: var(--color-white);
            & .badge-desconto {
              background-color: var(--color-white);
              color: var(--color-green-700);
            }
          }
        }
      }
      & .container-produtos {
        -ms-overflow-style: none;
        scrollbar-width: none;
        &::-webkit-scrollbar {
          display: none;
        }
        display: grid;
        flex: 1;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: calc(var(--spacing) * 3);
        overflow-y: auto;
        border-radius: var(--radius-xl);
        border-style: var(--tw-border-style);
        border-width: 1px;
        border-color: var(--color-borda);
        background-color: var(--color-white);
        padding: calc(var(--spacing) * 5);
        @media (width >= 64rem) {
          grid-template-columns: repeat(4, minmax(0, 1fr));
        }
        & .item-produto {
          height: calc(var(--spacing) * 35);
          width: 100%;
          overflow: hidden;
          border-radius: var(--radius-lg);
          border-style: var(--tw-border-style);
          border-width: 1px;
          border-color: var(--color-borda);
          &.esgotado {
            --tw-grayscale: grayscale(100%);
            filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
          }
          & .container-img {
            position: relative;
            height: calc(1/2 * 100%);
            width: 100%;
            overflow: hidden;
            border-bottom-style: var(--tw-border-style);
            border-bottom-width: 1px;
            border-color: var(--color-borda);
            & .span-unidades, .tag-esgotado {
              position: absolute;
              top: calc(var(--spacing) * 2);
              right: calc(var(--spacing) * 2);
              border-radius: calc(infinity * 1px);
              background-color: var(--color-green-100);
              padding-inline: calc(var(--spacing) * 1.5);
              font-size: var(--text-xs);
              line-height: var(--tw-leading, var(--text-xs--line-height));
              color: var(--color-green-600);
            }
            & .tag-esgotado {
              background-color: var(--color-red-100);
              color: var(--color-red-600);
            }
            & img {
              z-index: 5;
              height: 100%;
              width: 100%;
              object-fit: cover;
            }
            & .container-btn {
              position: absolute;
              top: calc(var(--spacing) * 0);
              left: calc(var(--spacing) * 0);
              z-index: 10;
              display: flex;
              height: 100%;
              width: 100%;
              align-items: center;
              justify-content: center;
              gap: calc(var(--spacing) * 3);
              padding: calc(var(--spacing) * 3);
              opacity: 0%;
              & .txt-esgotado {
                font-size: var(--text-2xl);
                line-height: var(--tw-leading, var(--text-2xl--line-height));
                --tw-font-weight: var(--font-weight-semibold);
                font-weight: var(--font-weight-semibold);
                color: var(--color-white);
                text-shadow: 0px 1px 2px var(--tw-text-shadow-color, rgb(0 0 0 / 0.1)), 0px 3px 2px var(--tw-text-shadow-color, rgb(0 0 0 / 0.1)), 0px 4px 8px var(--tw-text-shadow-color, rgb(0 0 0 / 0.1));
              }
              & .container-input {
                display: grid;
                height: calc(var(--spacing) * 12);
                width: 100%;
                grid-template-columns: repeat(1, minmax(0, 1fr));
                gap: calc(var(--spacing) * 3);
                @media (width >= 64rem) {
                  grid-template-columns: repeat(3, minmax(0, 1fr));
                }
                & .input-quantidade {
                  grid-column: span 2 / span 2;
                  display: none;
                  grid-template-columns: repeat(3, minmax(0, 1fr));
                  border-radius: var(--radius-lg);
                  background-color: var(--color-branco-fundo);
                  padding: calc(var(--spacing) * 1);
                  @media (width >= 64rem) {
                    display: grid;
                  }
                  & span {
                    display: flex;
                    align-items: center;
                    justify-content: center;
                  }
                  & button {
                    height: 100%;
                    cursor: pointer;
                    border-radius: var(--radius-lg);
                    color: var(--color-preto);
                    &:hover {
                      background-color: var(--color-verde);
                      color: var(--color-branco);
                    }
                  }
                }
                & .btn-adicionar {
                  display: flex;
                  height: 100%;
                  cursor: pointer;
                  align-items: center;
                  justify-content: center;
                  border-radius: var(--radius-lg);
                  background-color: var(--color-verde);
                  padding: calc(var(--spacing) * 1);
                  font-size: var(--text-xl);
                  line-height: var(--tw-leading, var(--text-xl--line-height));
                  color: var(--color-branco);
                  &:hover {
                    background-color: var(--color-verde-hover);
                  }
                }
              }
            }
          }
          & .txt-produto {
            display: flex;
            height: calc(1/2 * 100%);
            width: 100%;
            align-items: center;
            justify-content: space-between;
            background-color: var(--color-white);
            padding: calc(var(--spacing) * 3);
            & .container-p {
              width: 100%;
              & .container-nome, .container-preco {
                display: flex;
                align-items: center;
                gap: calc(var(--spacing) * 3);
                & .nome {
                  overflow: hidden;
                  display: -webkit-box;
                  -webkit-box-orient: vertical;
                  -webkit-line-clamp: 2;
                  font-size: var(--text-sm);
                  line-height: var(--tw-leading, var(--text-sm--line-height));
                  color: var(--color-preto);
                }
                & .preco, .novo-valor {
                  font-size: var(--text-xs);
                  line-height: var(--tw-leading, var(--text-xs--line-height));
                  --tw-font-weight: var(--font-weight-medium);
                  font-weight: var(--font-weight-medium);
                  color: var(--color-verde);
                  &.descontado {
                    color: var(--color-preto-opaco);
                    text-decoration-line: line-through;
                  }
                }
              }
            }
          }
          &:hover {
            border-color: var(--color-verde);
            --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, rgb(0 0 0 / 0.25));
            box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
            & .span-unidades, .tag-esgotado {
              opacity: 0%;
            }
            & .container-img {
              height: 100%;
              background-color: var(--color-black);
              & img {
                --tw-scale-x: 110%;
                --tw-scale-y: 110%;
                --tw-scale-z: 110%;
                scale: var(--tw-scale-x) var(--tw-scale-y);
                opacity: 50%;
              }
              & .container-btn {
                opacity: 100%;
              }
            }
          }
        }
      }
    }
    & .carrinho-container {
      z-index: 500;
      display: none;
      width: 100%;
      flex-direction: column;
      justify-content: space-between;
      border-radius: var(--radius-xl);
      border-style: var(--tw-border-style);
      border-width: 1px;
      border-color: var(--color-borda);
      background-color: var(--color-branco);
      @media (width >= 64rem) {
        display: flex;
      }
      & .topo-carrinho, .itens-carrinho, .baixo-carrinho {
        padding: calc(var(--spacing) * 4);
      }
      & .topo-carrinho {
        display: flex;
        align-items: center;
        justify-content: space-between;
        border-bottom-style: var(--tw-border-style);
        border-bottom-width: 1px;
        border-color: var(--color-borda);
        & p {
          font-size: var(--text-lg);
          line-height: var(--tw-leading, var(--text-lg--line-height));
          --tw-font-weight: var(--font-weight-semibold);
          font-weight: var(--font-weight-semibold);
        }
        & button {
          display: none;
          cursor: pointer;
          color: var(--color-red-600);
          &.ativo {
            display: block;
          }
        }
      }
      & .itens-carrinho {
        display: flex;
        height: 100%;
        width: 100%;
        flex-direction: column;
        align-items: center;
        gap: calc(var(--spacing) * 2);
        overflow-y: auto;
        & .carrinho-vazio {
          display: flex;
          height: 100%;
          width: 100%;
          flex-direction: column;
          align-items: center;
          justify-content: center;
          gap: calc(var(--spacing) * 3);
          & i {
            --tw-scale-x: 200%;
            --tw-scale-y: 200%;
            --tw-scale-z: 200%;
            scale: var(--tw-scale-x) var(--tw-scale-y);
            color: color-mix(in srgb, #00c950 80%, transparent);
            @supports (color: color-mix(in lab, red, red)) {
              color: color-mix(in oklab, var(--color-verde) 80%, transparent);
            }
          }
          & p {
            font-size: var(--text-sm);
            line-height: var(--tw-leading, var(--text-sm--line-height));
            color: var(--color-cinza);
          }
        }
        & .item {
          display: flex;
          width: 100%;
          align-items: center;
          justify-content: space-between;
          border-radius: var(--radius-xl);
          border-style: var(--tw-border-style);
          border-width: 1px;
          border-color: var(--color-borda);
          background-color: var(--color-branco-fundo);
          padding-inline: calc(var(--spacing) * 3);
          padding-block: calc(var(--spacing) * 2);
          & .info {
            display: flex;
            max-width: calc(1/2 * 100%);
            align-items: center;
            justify-content: baseline;
            gap: calc(var(--spacing) * 3);
            & .nome-preco {
              display: flex;
              max-width: 100%;
              flex-direction: column;
              align-items: baseline;
              justify-content: baseline;
              & .container-p {
                max-width: 100%;
                overflow: hidden;
                & p {
                  display: inline-block;
                  width: 100%;
                  white-space: nowrap;
                  color: var(--color-preto);
                }
                & p.esteira-ativo {
                  animation: esteira 5s linear infinite;
                }
              }
              & span {
                font-size: var(--text-sm);
                line-height: var(--tw-leading, var(--text-sm--line-height));
                --tw-font-weight: var(--font-weight-semibold);
                font-weight: var(--font-weight-semibold);
                color: var(--color-verde);
              }
            }
          }
          & .item-acoes {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: calc(var(--spacing) * 2);
            & .input-quantidade {
              display: grid;
              grid-template-columns: repeat(3, minmax(0, 1fr));
              border-radius: var(--radius-lg);
              & span {
                display: flex;
                align-items: center;
                justify-content: center;
              }
              & button {
                height: calc(var(--spacing) * 6);
                width: calc(var(--spacing) * 6);
                cursor: pointer;
                border-radius: var(--radius-lg);
                color: var(--color-preto);
                &:hover {
                  background-color: var(--color-verde);
                  color: var(--color-branco);
                }
              }
            }
            & button {
              height: calc(var(--spacing) * 6);
              width: calc(var(--spacing) * 6);
              cursor: pointer;
              border-radius: var(--radius-lg);
              color: var(--color-red-600);
              &:hover {
                background-color: var(--color-red-200);
              }
            }
          }
        }
      }
      & .baixo-carrinho {
        display: flex;
        width: 100%;
        flex-direction: column;
        align-items: baseline;
        justify-content: center;
        gap: calc(var(--spacing) * 1);
        border-top-style: var(--tw-border-style);
        border-top-width: 1px;
        border-color: var(--color-borda);
        & .container-pagamento {
          margin-bottom: calc(var(--spacing) * 1);
          display: flex;
          width: 100%;
          flex-direction: column;
          align-items: baseline;
          justify-content: baseline;
          gap: calc(var(--spacing) * 2);
          & p {
            color: var(--color-cinza);
          }
          & .metodos-pagamento {
            display: grid;
            width: 100%;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: calc(var(--spacing) * 1.5);
            & button {
              display: flex;
              cursor: pointer;
              align-items: center;
              justify-content: center;
              gap: calc(var(--spacing) * 1.5);
              border-radius: var(--radius-xl);
              border-style: var(--tw-border-style);
              border-width: 1px;
              border-color: var(--color-borda);
              background-color: var(--color-branco-fundo);
              padding-inline: calc(var(--spacing) * 2);
              padding-block: calc(var(--spacing) * 1);
              font-size: var(--text-sm);
              line-height: var(--tw-leading, var(--text-sm--line-height));
              & .tag-desconto-metodo {
                border-radius: calc(infinity * 1px);
                background-color: var(--color-green-600);
                padding-inline: calc(var(--spacing) * 1.5);
                padding-block: calc(var(--spacing) * 0.5);
                font-size: 10px;
                --tw-leading: 1;
                line-height: 1;
                --tw-font-weight: var(--font-weight-semibold);
                font-weight: var(--font-weight-semibold);
                color: var(--color-white);
              }
              &:hover {
                --tw-scale-x: 101%;
                --tw-scale-y: 101%;
                --tw-scale-z: 101%;
                scale: var(--tw-scale-x) var(--tw-scale-y);
                border-color: var(--color-verde);
              }
              &.clicado {
                border-color: var(--color-verde);
                background-color: var(--color-green-100);
                & .tag-desconto-metodo {
                  background-color: var(--color-verde-hover);
                }
              }
            }
          }
        }
        & .sub-total, .desconto, .total, .troco {
          display: flex;
          width: 100%;
          align-items: center;
          justify-content: space-between;
          &.sub-total {
            & p {
              color: var(--color-cinza);
            }
          }
          &.desconto {
            display: none;
            color: var(--color-red-500);
            &.ativo {
              display: flex;
            }
          }
          &.total {
            font-size: var(--text-lg);
            line-height: var(--tw-leading, var(--text-lg--line-height));
            & p {
              --tw-font-weight: var(--font-weight-semibold);
              font-weight: var(--font-weight-semibold);
              color: var(--color-preto);
            }
            & span {
              --tw-font-weight: var(--font-weight-semibold);
              font-weight: var(--font-weight-semibold);
              color: var(--color-verde);
            }
          }
        }
        & .btn-finalizar-venda {
          width: 100%;
          cursor: pointer;
          border-radius: var(--radius-xl);
          background-color: var(--color-verde);
          padding: calc(var(--spacing) * 2);
          color: var(--color-branco);
          &:hover {
            --tw-scale-x: 101%;
            --tw-scale-y: 101%;
            --tw-scale-z: 101%;
            scale: var(--tw-scale-x) var(--tw-scale-y);
            background-color: var(--color-verde-hover);
          }
        }
      }
    }
  }
  & .confirmar-venda-layer {
    position: absolute;
    top: calc(1/2 * 100%);
    left: calc(1/2 * 100%);
    z-index: 500;
    display: none;
    height: 100vh;
    width: 100vw;
    --tw-translate-x: calc(calc(1/2 * 100%) * -1);
    --tw-translate-y: calc(calc(1/2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
    align-items: center;
    justify-content: center;
    background-color: color-mix(in oklab, var(--color-stone-950) 75%, transparent);
    & input[type="text"] {
      position: relative;
      width: 100%;
      border-radius: var(--radius-xl);
      border-style: var(--tw-border-style);
      border-width: 1px;
      border-color: var(--color-borda-branca);
      background-color: var(--color-branco-fundo);
      padding: calc(var(--spacing) * 2);
      &:focus {
        outline-style: var(--tw-outline-style);
        outline-width: 2px;
      }
      &:focus {
        outline-color: var(--color-green-400);
      }
    }
    & .confirmar-venda {
      position: relative;
      display: flex;
      max-width: 90%;
      min-width: calc(1/3 * 100%);
      flex-direction: column;
      align-items: baseline;
      justify-content: center;
      gap: calc(var(--spacing) * 2);
      border-radius: var(--radius-xl);
      background-color: var(--color-branco);
      padding: calc(var(--spacing) * 5);
      & .fechar-layer {
        position: absolute;
        top: calc(var(--spacing) * 3);
        right: calc(var(--spacing) * 4);
        display: flex;
        cursor: pointer;
        align-items: center;
        justify-content: center;
        color: var(--color-cinza);
        &:hover {
          --tw-scale-x: 110%;
          --tw-scale-y: 110%;
          --tw-scale-z: 110%;
          scale: var(--tw-scale-x) var(--tw-scale-y);
          color: var(--color-preto);
        }
      }
      & .titulo {
        display: flex;
        flex-direction: column;
        align-items: baseline;
        justify-content: baseline;
        & h2 {
          font-size: var(--text-lg);
          line-height: var(--tw-leading, var(--text-lg--line-height));
          --tw-font-weight: var(--font-weight-semibold);
          font-weight: var(--font-weight-semibold);
          color: var(--color-preto);
        }
        & p {
          color: var(--color-cinza);
        }
      }
      & .container-itens {
        display: flex;
        max-height: calc(var(--spacing) * 50);
        width: 100%;
        flex-direction: column;
        gap: calc(var(--spacing) * 1);
        overflow-y: auto;
        border-radius: var(--radius-xl);
        background-color: var(--color-branco-fundo);
        padding-inline: calc(var(--spacing) * 5);
        padding-block: calc(var(--spacing) * 2);
        & .item-confirmar {
          display: flex;
          width: 100%;
          align-items: center;
          justify-content: space-between;
          color: var(--color-stone-700);
        }
      }
      & .container-pagamento {
        display: flex;
        width: 100%;
        flex-direction: column;
        align-items: center;
        justify-content: space-between;
        & .metodo-confirmar, .total-confirmar, .troco {
          display: flex;
          width: 100%;
          align-items: center;
          justify-content: space-between;
          color: var(--color-preto);
          &.total-confirmar {
            font-size: var(--text-lg);
            line-height: var(--tw-leading, var(--text-lg--line-height));
            --tw-font-weight: var(--font-weight-semibold);
            font-weight: var(--font-weight-semibold);
            & span {
              color: var(--color-verde);
            }
          }
          &.troco {
            display: none;
            & span {
              max-width: calc(var(--spacing) * 50);
              overflow: hidden;
              text-overflow: ellipsis;
              white-space: nowrap;
              &.vermelho {
                color: var(--color-red-500);
              }
              &.verde {
                color: var(--color-green-500);
              }
            }
            &.ativo {
              display: flex;
            }
          }
        }
      }
      & .container-troco {
        display: flex;
        width: 100%;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: calc(var(--spacing) * 2);
        & .container-input-troco {
          display: none;
          width: 100%;
          align-items: center;
          justify-content: space-between;
          gap: calc(var(--spacing) * 3);
          & .fechar-troco {
            cursor: pointer;
            font-size: var(--text-2xl);
            line-height: var(--tw-leading, var(--text-2xl--line-height));
            color: var(--color-cinza);
            &:hover {
              --tw-scale-x: 110%;
              --tw-scale-y: 110%;
              --tw-scale-z: 110%;
              scale: var(--tw-scale-x) var(--tw-scale-y);
              color: var(--color-preto);
            }
          }
          &.ativo {
            display: flex;
          }
        }
        & .btn-troco {
          display: none;
          width: 100%;
          cursor: pointer;
          border-radius: var(--radius-xl);
          border-style: var(--tw-border-style);
          border-width: 1px;
          border-color: var(--color-borda);
          background-color: var(--color-branco-fundo);
          padding: calc(var(--spacing) * 2);
          &:hover {
            --tw-scale-x: 101%;
            --tw-scale-y: 101%;
            --tw-scale-z: 101%;
            scale: var(--tw-scale-x) var(--tw-scale-y);
            border-color: var(--color-verde);
          }
          & i {
            color: var(--color-verde-hover);
          }
          &.ativo {
            display: block;
          }
        }
      }
      & .container-nome {
        display: flex;
        width: 100%;
        flex-direction: column;
        gap: calc(var(--spacing) * 2);
        & .container-input-nome {
          display: flex;
          width: 100%;
          flex-direction: column;
          align-items: baseline;
          justify-content: space-between;
        }
        .container-checkbox {
          display: flex;
          align-items: center;
          justify-content: baseline;
          gap: calc(var(--spacing) * 2);
        }
      }
      & .container-btn {
        display: grid;
        width: 100%;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: calc(var(--spacing) * 2);
        & .btn-cancelar, .btn-confirmar {
          cursor: pointer;
          border-radius: var(--radius-xl);
          padding: calc(var(--spacing) * 2);
          &.btn-cancelar {
            border-style: var(--tw-border-style);
            border-width: 1px;
            border-color: var(--color-borda);
            background-color: var(--color-branco-fundo);
            &:hover {
              --tw-scale-x: 101%;
              --tw-scale-y: 101%;
              --tw-scale-z: 101%;
              scale: var(--tw-scale-x) var(--tw-scale-y);
              background-color: var(--color-verde);
              color: var(--color-branco);
            }
          }
          &.btn-confirmar {
            background-color: var(--color-verde);
            color: var(--color-branco);
            &:hover {
              --tw-scale-x: 101%;
              --tw-scale-y: 101%;
              --tw-scale-z: 101%;
              scale: var(--tw-scale-x) var(--tw-scale-y);
              background-color: var(--color-verde-hover);
            }
            &:disabled {
              --tw-scale-x: 100%;
              --tw-scale-y: 100%;
              --tw-scale-z: 100%;
              scale: var(--tw-scale-x) var(--tw-scale-y);
              cursor: not-allowed;
              opacity: 60%;
            }
          }
        }
      }
      & #loading-overlay-venda {
        position: absolute;
        inset: calc(var(--spacing) * 0);
        z-index: 50;
        display: none;
        align-items: center;
        justify-content: center;
        border-radius: var(--radius-xl);
        background-color: var(--color-white);
        &.ativo {
          display: flex;
        }
        & .loading-conteudo {
          display: flex;
          flex-direction: column;
          align-items: center;
          justify-content: center;
          gap: calc(var(--spacing) * 3);
          & .loading-spinner {
            width: 40px;
            height: 40px;
            border: 4px solid #e5e7eb;
            border-top-color: #16a34a;
            border-radius: 50%;
            animation: spinner-rotate 0.8s linear infinite;
          }
          & p {
            font-size: var(--text-sm);
            line-height: var(--tw-leading, var(--text-sm--line-height));
            --tw-font-weight: var(--font-weight-medium);
            font-weight: var(--font-weight-medium);
            color: var(--color-cinza);
          }
        }
      }
    }
    &.ativo {
      display: flex;
      animation: fadeInModal 0.2s ease-out forwards;
      & .confirmar-venda {
        animation: slideInForm 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards;
      }
    }
  }
}
@keyframes spinner-rotate {
  to {
    transform: rotate(360deg);
  }
}
@keyframes spin-icon {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.spin {
  display: inline-block;
  animation: spin-icon 1s linear infinite;
}
@layer components {
  .main-welcome {
    height: auto;
    overflow: visible;
    padding: calc(var(--spacing) * 0);
  }
  section {
    scroll-margin-top: 3.5rem;
  }
  .titulo-welcome {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    & h2, p {
      text-align: center;
    }
    & h2 {
      font-size: var(--text-2xl);
      line-height: var(--tw-leading, var(--text-2xl--line-height));
      --tw-font-weight: var(--font-weight-semibold);
      font-weight: var(--font-weight-semibold);
    }
    & p {
      width: 100%;
      font-size: var(--text-lg);
      line-height: var(--tw-leading, var(--text-lg--line-height));
      color: var(--color-preto-opaco);
      @media (width >= 64rem) {
        width: calc(3/4 * 100%);
      }
    }
  }
  .header-welcome {
    position: sticky;
    top: calc(var(--spacing) * 0);
    left: calc(var(--spacing) * 0);
    z-index: 500;
    height: 4rem;
    height: 100%;
    width: 100%;
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
    border-color: var(--color-borda);
    background-color: var(--color-white);
    & .interface {
      display: flex;
      align-items: center;
      justify-content: space-between;
      & nav {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: calc(var(--spacing) * 2);
        @media (width >= 64rem) {
          gap: calc(var(--spacing) * 5);
        }
        & a {
          display: none;
          @media (width >= 64rem) {
            display: block;
          }
          &:hover {
            color: var(--color-verde);
          }
        }
        & .btn-entrar, .btn-cadastrar {
          display: block;
          border-radius: var(--radius-xl);
          padding-inline: calc(var(--spacing) * 3);
          padding-block: calc(var(--spacing) * 2);
          @media (width >= 64rem) {
            padding-inline: calc(var(--spacing) * 5);
          }
        }
        & .btn-entrar {
          background-color: var(--color-verde);
          color: var(--color-white);
          &:hover {
            background-color: var(--color-verde-hover);
            color: var(--color-white);
          }
        }
        & .btn-cadastrar {
          border-style: var(--tw-border-style);
          border-width: 1px;
          border-color: var(--color-verde);
          color: var(--color-verde);
          &:hover {
            background-color: var(--color-verde);
            color: var(--color-white);
          }
        }
      }
    }
  }
  #hero {
    height: auto;
    padding-block: calc(var(--spacing) * 10);
    @media (width >= 64rem) {
      height: calc(100dvh - 4rem);
    }
    @media (width >= 64rem) {
      padding-block: calc(var(--spacing) * 0);
    }
    & .interface {
      display: flex;
      height: 100%;
      flex-direction: column-reverse;
      align-items: center;
      justify-content: space-between;
      gap: calc(var(--spacing) * 10);
      @media (width >= 64rem) {
        flex-direction: row;
      }
      & .txt-welcome {
        display: flex;
        width: 100%;
        flex-direction: column;
        justify-content: center;
        gap: calc(var(--spacing) * 5);
        text-align: center;
        @media (width >= 64rem) {
          width: calc(1/2 * 100%);
        }
        @media (width >= 64rem) {
          text-align: left;
        }
        & h2 {
          font-size: var(--text-3xl);
          line-height: var(--tw-leading, var(--text-3xl--line-height));
          --tw-font-weight: var(--font-weight-semibold);
          font-weight: var(--font-weight-semibold);
        }
        & p {
          color: var(--color-preto-opaco);
        }
        & a {
          width: 100%;
          border-radius: var(--radius-2xl);
          background-color: var(--color-verde);
          padding-inline: calc(var(--spacing) * 5);
          padding-block: calc(var(--spacing) * 3);
          color: var(--color-white);
          @media (width >= 64rem) {
            width: max-content;
          }
          &:hover {
            background-color: var(--color-verde-hover);
          }
        }
      }
      & img {
        width: calc(1/2 * 100%);
      }
    }
  }
  #funcionalidades {
    background-color: var(--color-verde-opaco);
    & .interface {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: calc(var(--spacing) * 10);
      padding-block: calc(var(--spacing) * 10);
      & .container-func {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: calc(var(--spacing) * 5);
        @media (width >= 64rem) {
          grid-template-columns: repeat(3, minmax(0, 1fr));
        }
        & .item-func {
          display: flex;
          flex-direction: column;
          align-items: center;
          justify-content: center;
          gap: calc(var(--spacing) * 2);
          border-radius: var(--radius-2xl);
          border-top-style: var(--tw-border-style);
          border-top-width: 8px;
          border-color: var(--color-verde);
          background-color: var(--color-white);
          padding: calc(var(--spacing) * 5);
          & h3, p {
            text-align: center;
          }
          & p {
            font-size: var(--text-sm);
            line-height: var(--tw-leading, var(--text-sm--line-height));
            color: var(--color-preto-opaco);
          }
          & i {
            font-size: var(--text-5xl);
            line-height: var(--tw-leading, var(--text-5xl--line-height));
            color: var(--color-verde);
          }
          &:hover {
            --tw-scale-x: 105%;
            --tw-scale-y: 105%;
            --tw-scale-z: 105%;
            scale: var(--tw-scale-x) var(--tw-scale-y);
            --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 8px 10px -6px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
            box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
          }
        }
      }
    }
  }
  #origem {
    padding-block: calc(var(--spacing) * 10);
    & .interface {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: calc(var(--spacing) * 10);
      & .container-devs {
        display: grid;
        width: 100%;
        grid-template-columns: repeat(1, minmax(0, 1fr));
        gap: calc(var(--spacing) * 5);
        @media (width >= 64rem) {
          grid-template-columns: repeat(2, minmax(0, 1fr));
        }
        & .item-dev {
          display: flex;
          align-items: center;
          gap: calc(var(--spacing) * 5);
          border-radius: var(--radius-2xl);
          border-top-style: var(--tw-border-style);
          border-top-width: 8px;
          border-color: var(--color-verde);
          background-color: var(--color-white);
          padding: calc(var(--spacing) * 5);
          --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
          box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
          & img {
            height: calc(var(--spacing) * 35);
            width: calc(var(--spacing) * 35);
            border-radius: calc(infinity * 1px);
            border-style: var(--tw-border-style);
            border-width: 3px;
            border-color: var(--color-verde);
            object-fit: cover;
            padding: calc(var(--spacing) * 1);
          }
          & .txt-item-dev {
            & h3 {
              font-size: var(--text-lg);
              line-height: var(--tw-leading, var(--text-lg--line-height));
              --tw-font-weight: var(--font-weight-semibold);
              font-weight: var(--font-weight-semibold);
            }
            & p {
              color: var(--color-preto-opaco);
            }
          }
          &:hover {
            & img {
              --tw-scale-x: 105%;
              --tw-scale-y: 105%;
              --tw-scale-z: 105%;
              scale: var(--tw-scale-x) var(--tw-scale-y);
            }
          }
        }
      }
      & .container-msg-etec {
        display: flex;
        width: 100%;
        align-items: center;
        justify-content: space-between;
        gap: calc(var(--spacing) * 10);
        & p {
          width: 100%;
          border-left-style: var(--tw-border-style);
          border-left-width: 5px;
          border-color: var(--color-verde);
          padding-left: calc(var(--spacing) * 5);
          @media (width >= 64rem) {
            width: calc(1/2 * 100%);
          }
        }
        & img {
          display: none;
          height: calc(var(--spacing) * 30);
          @media (width >= 64rem) {
            display: block;
          }
        }
      }
    }
  }
  #sobre {
    background-color: var(--color-verde-opaco);
    & .interface {
      display: flex;
      flex-direction: column-reverse;
      align-items: center;
      justify-content: space-between;
      gap: calc(var(--spacing) * 10);
      padding-block: calc(var(--spacing) * 0);
      @media (width >= 64rem) {
        flex-direction: row;
      }
      & .container-sobre {
        display: flex;
        width: 100%;
        flex-direction: column;
        gap: calc(var(--spacing) * 5);
        @media (width >= 64rem) {
          width: calc(2/3 * 100%);
        }
        & .titulo-sobre {
          font-size: var(--text-3xl);
          line-height: var(--tw-leading, var(--text-3xl--line-height));
          --tw-font-weight: var(--font-weight-semibold);
          font-weight: var(--font-weight-semibold);
          color: var(--color-verde);
        }
        & .txt-sobre {
          display: flex;
          flex-direction: column;
          gap: calc(var(--spacing) * 5);
          color: var(--color-preto-opaco);
        }
        & .linha {
          height: calc(var(--spacing) * 1);
          width: calc(1/2 * 100%);
          border-radius: calc(infinity * 1px);
          background-color: var(--color-verde);
        }
      }
      & img {
        height: calc(var(--spacing) * 40);
        min-width: 100dvw;
        object-fit: cover;
        @media (width >= 64rem) {
          height: 100%;
        }
        @media (width >= 64rem) {
          min-width: calc(1/3 * 100%);
        }
      }
    }
  }
  footer {
    background-color: var(--color-gray-950);
    padding-block: calc(var(--spacing) * 5);
    & .interface p {
      text-align: center;
      color: color-mix(in srgb, #fff 70%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, var(--color-white) 70%, transparent);
      }
      & a {
        border-bottom-style: var(--tw-border-style);
        border-bottom-width: 1px;
        &:hover {
          color: var(--color-white);
        }
      }
    }
  }
}
@layer components {
  .titulo-mais {
    margin-bottom: calc(var(--spacing) * 5);
    font-size: var(--text-2xl);
    line-height: var(--tw-leading, var(--text-2xl--line-height));
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }
  .container-opt {
    display: flex;
    flex-direction: column;
    gap: calc(var(--spacing) * 5);
    & a {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: calc(var(--spacing) * 3);
      border-radius: var(--radius-2xl);
      border-style: var(--tw-border-style);
      border-width: 1px;
      border-color: var(--color-borda);
      background-color: var(--color-white);
      padding: calc(var(--spacing) * 5);
      & .esquerda-link {
        display: flex;
        min-width: calc(var(--spacing) * 0);
        flex: 1;
        align-items: center;
        gap: calc(var(--spacing) * 3);
        & .icone {
          display: flex;
          height: calc(var(--spacing) * 12);
          width: calc(var(--spacing) * 12);
          align-items: center;
          justify-content: center;
          border-radius: calc(infinity * 1px);
          background-color: color-mix(in srgb, #00c950 20%, transparent);
          @supports (color: color-mix(in lab, red, red)) {
            background-color: color-mix(in oklab, var(--color-verde) 20%, transparent);
          }
          font-size: var(--text-2xl);
          line-height: var(--tw-leading, var(--text-2xl--line-height));
          color: var(--color-verde);
        }
        & .txt-link {
          width: calc(2/3 * 100%);
          & p {
            max-width: 100%;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
            color: var(--color-preto-opaco);
          }
        }
      }
      & .seta {
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: var(--text-xl);
        line-height: var(--tw-leading, var(--text-xl--line-height));
      }
      &:hover {
        border-color: var(--color-verde);
        --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
        & .seta {
          color: var(--color-verde);
        }
      }
    }
  }
}
@media print {
  body * {
    visibility: hidden;
  }
  #ficha-impressao, #ficha-impressao * {
    visibility: visible;
  }
  #ficha-impressao {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    display: block !important;
  }
}
#ficha-impressao {
  font-family: "Courier New", monospace;
  max-width: 400px;
  margin: 0 auto;
  padding: 20px;
}
.ficha-conteudo {
  width: 100%;
}
.ficha-cabecalho {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 30px;
  margin-bottom: 10px;
  & img {
    width: 80px;
    height: 80px;
  }
  & .info {
    flex-direction: column;
    & p {
      margin: 5px 0;
      font-size: 15px;
      font-weight: 600;
    }
    & .data-hora {
      font-size: 15px !important;
      color: #666;
    }
  }
}
.ficha-tabela {
  width: 100%;
  border-collapse: collapse;
  font-size: 15px;
  margin: 10px 0;
  font-weight: 600;
}
.ficha-tabela th, .ficha-tabela td {
  padding: 5px 2px;
  text-align: left;
}
.ficha-tabela th {
  border-bottom: 1px solid #000;
  font-weight: bold;
}
.ficha-tabela .center {
  text-align: center;
}
.ficha-tabela .right {
  text-align: right;
}
.ficha-totais {
  margin: 10px 0;
  font-size: 14px;
}
.linha-total {
  display: flex;
  justify-content: space-between;
  padding: 3px 0;
}
.linha-total.total {
  font-size: 16px;
  margin-top: 5px;
}
.ficha-rodape {
  text-align: center;
  margin-top: 15px;
  font-size: 13px;
}
#ficha-impressao hr {
  border: none;
  border-top: 1px dashed #000;
  margin: 10px 0;
}
@layer components {
  .modal-universal {
    position: fixed;
    top: calc(var(--spacing) * 0);
    left: calc(var(--spacing) * 0);
    z-index: 900;
    display: flex;
    display: none;
    height: 100vh;
    width: 100vw;
    align-items: flex-start;
    justify-content: center;
    overflow: auto;
    background-color: color-mix(in srgb, oklch(14.7% 0.004 49.25) 75%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-stone-950) 75%, transparent);
    }
    padding: calc(var(--spacing) * 5);
    @media (width >= 64rem) {
      align-items: center;
    }
    & .form-universal {
      position: relative;
      display: flex;
      height: max-content;
      max-width: 100%;
      min-width: calc(1/3 * 100%);
      flex-direction: column;
      align-items: baseline;
      justify-content: center;
      gap: calc(var(--spacing) * 2);
      border-radius: var(--radius-xl);
      background-color: var(--color-branco);
      padding: calc(var(--spacing) * 5);
      & .btn-fechar-form {
        position: absolute;
        top: calc(var(--spacing) * 3);
        right: calc(var(--spacing) * 4);
        display: flex;
        cursor: pointer;
        align-items: center;
        justify-content: center;
        color: var(--color-cinza);
        &:hover {
          --tw-scale-x: 110%;
          --tw-scale-y: 110%;
          --tw-scale-z: 110%;
          scale: var(--tw-scale-x) var(--tw-scale-y);
          color: var(--color-preto);
        }
      }
      & .titulo {
        display: flex;
        flex-direction: column;
        align-items: baseline;
        justify-content: baseline;
        & h2 {
          font-size: var(--text-lg);
          line-height: var(--tw-leading, var(--text-lg--line-height));
          --tw-font-weight: var(--font-weight-semibold);
          font-weight: var(--font-weight-semibold);
          color: var(--color-preto);
        }
      }
      & .checkbox-container {
        display: none;
        width: 100%;
        flex-direction: column;
        align-items: baseline;
        justify-content: center;
        gap: calc(var(--spacing) * 2);
        &.ativo {
          display: flex;
        }
      }
      & .input-container {
        display: flex;
        width: 100%;
        flex-direction: column;
        align-items: baseline;
        justify-content: center;
        gap: calc(var(--spacing) * 2);
        & label {
          font-size: var(--text-base);
          line-height: var(--tw-leading, var(--text-base--line-height));
          color: var(--color-stone-800);
          &.custo {
            display: flex;
            justify-content: baseline;
            gap: calc(var(--spacing) * 2);
          }
        }
        & input {
          width: 100%;
          border-radius: var(--radius-xl);
          border-style: var(--tw-border-style);
          border-width: 1px;
          border-color: var(--color-borda-branca);
          background-color: var(--color-branco-fundo);
          padding: calc(var(--spacing) * 2);
          &:focus {
            outline-style: var(--tw-outline-style);
            outline-width: 2px;
          }
          &:focus {
            outline-color: var(--color-green-400);
          }
        }
        & select {
          width: 100%;
          border-radius: var(--radius-xl);
          border-style: var(--tw-border-style);
          border-width: 1px;
          border-color: var(--color-borda-branca);
          background-color: var(--color-branco-fundo);
          padding: calc(var(--spacing) * 2);
          &:focus {
            outline-style: var(--tw-outline-style);
            outline-width: 2px;
          }
          &:focus {
            outline-color: var(--color-green-400);
          }
          & option {
            background-color: var(--color-branco);
            padding: calc(var(--spacing) * 2);
            &:hover {
              background-color: var(--color-verde);
              color: var(--color-branco);
            }
            &:checked {
              background-color: var(--color-verde);
              color: var(--color-branco);
            }
          }
        }
        & .input-senha {
          position: relative;
          width: 100%;
          & button {
            position: absolute;
            top: calc(1/2 * 100%);
            right: calc(var(--spacing) * -2);
            display: flex;
            height: calc(var(--spacing) * 7);
            width: calc(var(--spacing) * 7);
            --tw-translate-x: calc(calc(1/2 * 100%) * -1);
            --tw-translate-y: calc(calc(1/2 * 100%) * -1);
            translate: var(--tw-translate-x) var(--tw-translate-y);
            cursor: pointer;
            align-items: center;
            justify-content: center;
            border-radius: 0;
            background-color: transparent;
            font-size: var(--text-lg);
            line-height: var(--tw-leading, var(--text-lg--line-height));
            color: var(--color-verde);
            &:hover {
              background-color: transparent;
              color: var(--color-verde-hover);
            }
          }
        }
      }
      & .input-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: calc(var(--spacing) * 4);
      }
      & .container-btn {
        display: grid;
        width: 100%;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: calc(var(--spacing) * 2);
        & .btn-cancelar, .btn-confirmar {
          cursor: pointer;
          border-radius: var(--radius-xl);
          padding: calc(var(--spacing) * 2);
          &.btn-cancelar {
            border-style: var(--tw-border-style);
            border-width: 1px;
            border-color: var(--color-borda);
            background-color: var(--color-branco-fundo);
            &:hover {
              --tw-scale-x: 101%;
              --tw-scale-y: 101%;
              --tw-scale-z: 101%;
              scale: var(--tw-scale-x) var(--tw-scale-y);
              background-color: var(--color-verde);
              color: var(--color-branco);
            }
          }
          &.btn-confirmar {
            background-color: var(--color-verde);
            color: var(--color-branco);
            &:hover {
              --tw-scale-x: 101%;
              --tw-scale-y: 101%;
              --tw-scale-z: 101%;
              scale: var(--tw-scale-x) var(--tw-scale-y);
              background-color: var(--color-verde-hover);
            }
          }
        }
      }
    }
    &.ativo {
      display: flex;
      animation: fadeInModal 0.2s ease-out forwards;
      & .form-universal {
        animation: slideInForm 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards;
      }
    }
  }
}
@keyframes fadeInModal {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes slideInForm {
  from {
    opacity: 0;
    transform: translateY(-20px) scale(0.95);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
@layer components {
  .modal-overlay {
    position: fixed;
    top: calc(var(--spacing) * 0);
    left: calc(var(--spacing) * 0);
    z-index: 999;
    display: flex;
    display: none;
    height: 100dvh;
    width: 100%;
    align-items: baseline;
    justify-content: center;
    overflow: auto;
    background-color: color-mix(in srgb, #000 40%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-black) 40%, transparent);
    }
    padding-block: calc(var(--spacing) * 5);
    --tw-backdrop-blur: blur(var(--blur-xs));
    -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
    backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
    @media (width >= 64rem) {
      align-items: center;
    }
    &.ativo {
      display: flex;
    }
    & .modal-box {
      display: flex;
      height: max-content;
      max-width: 90%;
      min-width: 90%;
      flex-direction: column;
      gap: calc(var(--spacing) * 4);
      border-radius: var(--radius-lg);
      background-color: var(--color-white);
      padding: calc(var(--spacing) * 5);
      --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, rgb(0 0 0 / 0.25));
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
      @media (width >= 64rem) {
        min-width: calc(1/2 * 100%);
      }
      & h3 {
        display: flex;
        align-items: center;
        gap: calc(var(--spacing) * 3);
        font-size: var(--text-xl);
        line-height: var(--tw-leading, var(--text-xl--line-height));
        & i {
          color: var(--color-verde);
        }
      }
      & p {
        font-size: var(--text-sm);
        line-height: var(--tw-leading, var(--text-sm--line-height));
        color: var(--color-preto-opaco);
      }
    }
    & .modal-opcoes {
      display: grid;
      grid-template-columns: repeat(1, minmax(0, 1fr));
      gap: calc(var(--spacing) * 3);
      @media (width >= 64rem) {
        grid-template-columns: repeat(3, minmax(0, 1fr));
      }
      & .modal-btn {
        display: flex;
        cursor: pointer;
        flex-direction: column;
        align-items: center;
        gap: calc(var(--spacing) * 3);
        border-radius: var(--radius-lg);
        border-style: var(--tw-border-style);
        border-width: 1px;
        border-color: var(--color-borda);
        padding: calc(var(--spacing) * 5);
        & i {
          font-size: var(--text-2xl);
          line-height: var(--tw-leading, var(--text-2xl--line-height));
          color: var(--color-verde);
        }
        & span {
          --tw-font-weight: var(--font-weight-semibold);
          font-weight: var(--font-weight-semibold);
        }
        & small {
          text-align: center;
          font-size: var(--text-sm);
          line-height: var(--tw-leading, var(--text-sm--line-height));
          color: var(--color-verde-hover);
        }
        &:hover {
          border-color: var(--color-verde);
          background-color: color-mix(in srgb, #00c950 10%, transparent);
          @supports (color: color-mix(in lab, red, red)) {
            background-color: color-mix(in oklab, var(--color-verde) 10%, transparent);
          }
        }
      }
    }
    & .modal-fechar {
      width: 100%;
      cursor: pointer;
      border-radius: var(--radius-lg);
      background-color: var(--color-verde);
      padding: calc(var(--spacing) * 3);
      color: var(--color-white);
      &:hover {
        background-color: var(--color-verde-hover);
      }
    }
  }
  .container-filtros {
    margin-bottom: calc(var(--spacing) * 5);
    width: 100%;
    border-radius: var(--radius-xl);
    border-style: var(--tw-border-style);
    border-width: 1px;
    border-color: var(--color-borda);
    background-color: var(--color-white);
    padding: calc(var(--spacing) * 5);
    & h2 {
      margin-bottom: calc(var(--spacing) * 5);
      font-size: var(--text-lg);
      line-height: var(--tw-leading, var(--text-lg--line-height));
      --tw-font-weight: var(--font-weight-semibold);
      font-weight: var(--font-weight-semibold);
    }
    & form {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: calc(var(--spacing) * 5);
      & .container-inputs {
        display: flex;
        width: 100%;
        flex-direction: column;
        align-items: center;
        justify-content: space-between;
        gap: calc(var(--spacing) * 5);
        @media (width >= 64rem) {
          flex-direction: row;
        }
        & .input-group {
          width: 100%;
          & label {
            width: 100%;
            color: var(--color-preto-opaco);
          }
          & input, select {
            width: 100%;
            border-radius: var(--radius-xl);
            border-style: var(--tw-border-style);
            border-width: 1px;
            border-color: var(--color-borda);
            padding: calc(var(--spacing) * 2);
            padding-left: calc(var(--spacing) * 5);
          }
        }
      }
      & .container-btn {
        display: flex;
        width: 100%;
        align-items: center;
        justify-content: center;
        gap: calc(var(--spacing) * 5);
        @media (width >= 64rem) {
          justify-content: flex-end;
        }
        & button, a {
          display: flex;
          width: 100%;
          cursor: pointer;
          align-items: center;
          justify-content: center;
          gap: calc(var(--spacing) * 3);
          border-radius: var(--radius-xl);
          padding-inline: calc(var(--spacing) * 5);
          padding-block: calc(var(--spacing) * 2);
          color: var(--color-white);
          @media (width >= 64rem) {
            width: auto;
          }
        }
        & button {
          background-color: var(--color-verde);
          &:hover {
            background-color: var(--color-verde-hover);
          }
        }
        & a {
          border-style: var(--tw-border-style);
          border-width: 1px;
          border-color: var(--color-borda);
          background-color: var(--color-white);
          color: var(--color-preto-opaco);
          &:hover {
            background-color: var(--color-gray-200);
          }
        }
      }
    }
  }
  .select-customizado {
    position: relative;
    width: 100%;
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
    @media (width >= 64rem) {
      font-size: var(--text-base);
      line-height: var(--tw-leading, var(--text-base--line-height));
    }
    & .select-box {
      display: flex;
      width: 100%;
      cursor: pointer;
      align-items: center;
      justify-content: space-between;
      border-radius: var(--radius-xl);
      border-style: var(--tw-border-style);
      border-width: 1px;
      border-color: var(--color-borda);
      background-color: var(--color-white);
      padding: calc(var(--spacing) * 2);
      padding-left: calc(var(--spacing) * 5);
      color: var(--color-preto-opaco);
      -webkit-user-select: none;
      user-select: none;
    }
    & .opcoes-container {
      position: absolute;
      top: calc(100% + 0.5rem);
      left: calc(var(--spacing) * 0);
      z-index: 50;
      display: none;
      max-height: calc(var(--spacing) * 48);
      width: 100%;
      overflow-y: auto;
      border-radius: var(--radius-xl);
      border-style: var(--tw-border-style);
      border-width: 1px;
      border-color: var(--color-borda);
      background-color: var(--color-white);
      --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
      &.mostrar {
        display: block;
      }
      & label {
        display: flex;
        cursor: pointer;
        align-items: center;
        gap: calc(var(--spacing) * 3);
        padding-inline: calc(var(--spacing) * 5);
        padding-block: calc(var(--spacing) * 2);
        color: var(--color-preto-opaco);
        transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
        transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
        transition-duration: var(--tw-duration, var(--default-transition-duration));
        --tw-duration: 200ms;
        transition-duration: 200ms;
        &:hover {
          background-color: var(--color-gray-100);
        }
        & input[type="checkbox"] {
          margin: calc(var(--spacing) * 0);
          height: calc(var(--spacing) * 4);
          width: calc(var(--spacing) * 4);
          flex-shrink: 0;
          cursor: pointer;
          border-radius: 0.25rem;
          border-color: var(--color-borda);
          padding: calc(var(--spacing) * 0);
        }
      }
    }
  }
}
@layer components {
  #loading {
    position: fixed;
    top: calc(var(--spacing) * 0);
    left: calc(var(--spacing) * 0);
    z-index: 900;
    display: flex;
    height: 100dvh;
    width: 100%;
    align-items: center;
    justify-content: center;
    background-color: color-mix(in srgb, #000 50%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-black) 50%, transparent);
    }
    & .loader {
      height: calc(var(--spacing) * 20);
      width: calc(var(--spacing) * 20);
      animation: var(--animate-spin);
      border-radius: calc(infinity * 1px);
      border-style: var(--tw-border-style);
      border-width: 5px;
      border-bottom-style: var(--tw-border-style);
      border-bottom-width: 5px;
      border-color: var(--color-white);
      border-bottom-color: var(--color-verde);
    }
  }
}
@layer components {
  .container-erro-mensalidade {
    display: flex;
    height: 100%;
    width: 100%;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: calc(var(--spacing) * 5);
    & img {
      height: calc(var(--spacing) * 72);
      object-fit: contain;
    }
    & h2 {
      font-size: var(--text-3xl);
      line-height: var(--tw-leading, var(--text-3xl--line-height));
      --tw-font-weight: var(--font-weight-semibold);
      font-weight: var(--font-weight-semibold);
    }
    & p {
      width: 100%;
      text-align: center;
      font-size: var(--text-base);
      line-height: var(--tw-leading, var(--text-base--line-height));
      color: var(--color-preto-opaco);
      @media (width >= 64rem) {
        width: calc(1/2 * 100%);
      }
    }
    & .info {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: calc(var(--spacing) * 5);
      border-radius: var(--radius-xl);
      border-style: var(--tw-border-style);
      border-width: 1px;
      border-color: var(--color-red-300);
      background-color: var(--color-red-100);
      padding: calc(var(--spacing) * 5);
      & i {
        font-size: var(--text-2xl);
        line-height: var(--tw-leading, var(--text-2xl--line-height));
        color: var(--color-red-500);
      }
      & .txt {
        display: flex;
        flex-direction: column;
        gap: calc(var(--spacing) * 1);
        & h2 {
          text-align: center;
          font-size: var(--text-xl);
          line-height: var(--tw-leading, var(--text-xl--line-height));
          color: var(--color-red-500);
          @media (width >= 64rem) {
            text-align: left;
          }
        }
        & p {
          width: 100%;
          text-align: center;
          @media (width >= 64rem) {
            text-align: left;
          }
        }
      }
    }
    & .linha {
      height: calc(var(--spacing) * 0.25);
      width: 90%;
      border-radius: calc(infinity * 1px);
      background-color: color-mix(in srgb, #00000027 50%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-borda) 50%, transparent);
      }
      padding: calc(var(--spacing) * 0.25);
      @media (width >= 64rem) {
        width: calc(var(--spacing) * 150);
      }
    }
    & a {
      cursor: pointer;
      border-radius: var(--radius-xl);
      background-color: var(--color-red-500);
      padding-inline: calc(var(--spacing) * 6);
      padding-block: calc(var(--spacing) * 2);
      color: var(--color-white);
      transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
      transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
      transition-duration: var(--tw-duration, var(--default-transition-duration));
      --tw-duration: 300ms;
      transition-duration: 300ms;
      &:hover {
        @media (hover: hover) {
          background-color: var(--color-red-600);
        }
      }
    }
  }
}
@layer base {
  html {
    scroll-behavior: smooth;
    font-family: var(--font-poppins);
  }
  * {
    --tw-duration: 300ms;
    transition-duration: 300ms;
    --tw-ease: var(--ease-in-out);
    transition-timing-function: var(--ease-in-out);
  }
  body {
    display: flex;
    background-color: var(--color-branco-fundo);
    @media (width >= 64rem) {
      flex-direction: row;
    }
  }
  main {
    height: auto;
    width: 100%;
    overflow: auto;
    padding: calc(var(--spacing) * 3);
    padding-bottom: 5rem;
    @media (width >= 64rem) {
      height: 100dvh;
    }
    @media (width >= 64rem) {
      padding: calc(var(--spacing) * 10);
    }
    @media (width >= 64rem) {
      padding-bottom: calc(var(--spacing) * 10);
    }
    &.centralizada {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
    }
  }
}
@layer components {
  .titulo-main {
    margin-bottom: calc(var(--spacing) * 5);
    display: flex;
    align-items: center;
    justify-content: space-between;
    & .txt-titulo {
      & h1, h2 {
        font-size: var(--text-lg);
        line-height: var(--tw-leading, var(--text-lg--line-height));
        --tw-font-weight: var(--font-weight-semibold);
        font-weight: var(--font-weight-semibold);
        @media (width >= 64rem) {
          font-size: var(--text-xl);
          line-height: var(--tw-leading, var(--text-xl--line-height));
        }
      }
      & p {
        font-size: var(--text-sm);
        line-height: var(--tw-leading, var(--text-sm--line-height));
        color: var(--color-preto-opaco);
        @media (width >= 64rem) {
          font-size: var(--text-base);
          line-height: var(--tw-leading, var(--text-base--line-height));
        }
      }
    }
    & #btn-toggle-carrinho {
      position: relative;
      display: block;
      @media (width >= 64rem) {
        display: none;
      }
      & #badge-carrinho {
        position: absolute;
        top: calc(var(--spacing) * -1.5);
        right: calc(var(--spacing) * -1.5);
        display: none;
        height: calc(var(--spacing) * 5);
        width: calc(var(--spacing) * 5);
        align-items: center;
        justify-content: center;
        border-radius: calc(infinity * 1px);
        background-color: var(--color-red-500);
        font-size: 10px;
        --tw-font-weight: var(--font-weight-bold);
        font-weight: var(--font-weight-bold);
        color: var(--color-white);
        &.ativo {
          display: flex;
        }
      }
    }
    & a, button {
      display: flex;
      cursor: pointer;
      align-items: center;
      justify-content: center;
      gap: calc(var(--spacing) * 3);
      border-radius: var(--radius-xl);
      background-color: var(--color-verde);
      padding-inline: calc(var(--spacing) * 5);
      padding-block: calc(var(--spacing) * 2);
      color: var(--color-white);
      & span {
        display: none;
        white-space: nowrap;
        @media (width >= 64rem) {
          display: block;
        }
      }
      &:hover {
        background-color: var(--color-verde-hover);
      }
    }
  }
  .interface {
    margin-inline: auto;
    width: 100%;
    max-width: 1280px;
    padding-inline: calc(var(--spacing) * 3);
    padding-block: calc(var(--spacing) * 2);
    @media (width >= 64rem) {
      padding-inline: calc(var(--spacing) * 5);
    }
  }
  .logo {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: calc(var(--spacing) * 3);
    & img {
      height: calc(var(--spacing) * 10);
      width: calc(var(--spacing) * 10);
      object-fit: cover;
    }
    & .logo-container {
      display: none;
      flex-direction: column;
      align-items: baseline;
      justify-content: center;
      @media (width >= 64rem) {
        display: flex;
      }
      & h1, p {
        margin-block: calc(2px * -1);
      }
      & h1 {
        font-size: var(--text-base);
        line-height: var(--tw-leading, var(--text-base--line-height));
        --tw-font-weight: var(--font-weight-semibold);
        font-weight: var(--font-weight-semibold);
        color: var(--color-stone-800);
      }
      & p {
        font-size: var(--text-sm);
        line-height: var(--tw-leading, var(--text-sm--line-height));
        color: var(--color-stone-500);
      }
    }
  }
  input[type="range"] {
    height: calc(var(--spacing) * 2);
    width: 100%;
    cursor: pointer;
    appearance: none;
    border-radius: calc(infinity * 1px);
    border-radius: var(--radius-lg);
    background-color: var(--color-gray-200);
    accent-color: var(--color-verde);
  }
  .container-em-desenvolvimento {
    display: flex;
    height: calc(var(--spacing) * 120);
    width: 100%;
    align-items: center;
    justify-content: center;
    & img {
      height: 100%;
    }
  }
}
@property --tw-rotate-x {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-y {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-z {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-x {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-y {
  syntax: "*";
  inherits: false;
}
@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-font-weight {
  syntax: "*";
  inherits: false;
}
@property --tw-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-ring-inset {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0px;
}
@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}
@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-gradient-position {
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-from {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-gradient-via {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-gradient-to {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-gradient-stops {
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-via-stops {
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-from-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0%;
}
@property --tw-gradient-via-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 50%;
}
@property --tw-gradient-to-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-duration {
  syntax: "*";
  inherits: false;
}
@property --tw-ease {
  syntax: "*";
  inherits: false;
}
@property --tw-text-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-text-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-scale-x {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-scale-y {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-scale-z {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-outline-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-tracking {
  syntax: "*";
  inherits: false;
}
@property --tw-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-translate-z {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-leading {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-sepia {
  syntax: "*";
  inherits: false;
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
@layer properties {
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
    *, ::before, ::after, ::backdrop {
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-border-style: solid;
      --tw-font-weight: initial;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-gradient-position: initial;
      --tw-gradient-from: #0000;
      --tw-gradient-via: #0000;
      --tw-gradient-to: #0000;
      --tw-gradient-stops: initial;
      --tw-gradient-via-stops: initial;
      --tw-gradient-from-position: 0%;
      --tw-gradient-via-position: 50%;
      --tw-gradient-to-position: 100%;
      --tw-duration: initial;
      --tw-ease: initial;
      --tw-text-shadow-color: initial;
      --tw-text-shadow-alpha: 100%;
      --tw-scale-x: 1;
      --tw-scale-y: 1;
      --tw-scale-z: 1;
      --tw-outline-style: solid;
      --tw-tracking: initial;
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --tw-leading: initial;
      --tw-backdrop-blur: initial;
      --tw-backdrop-brightness: initial;
      --tw-backdrop-contrast: initial;
      --tw-backdrop-grayscale: initial;
      --tw-backdrop-hue-rotate: initial;
      --tw-backdrop-invert: initial;
      --tw-backdrop-opacity: initial;
      --tw-backdrop-saturate: initial;
      --tw-backdrop-sepia: initial;
    }
  }
}
