@charset "UTF-8";/* Contenedor del menú contextual */
.context-menu {
  position: fixed;
  background-color: #1C1C1E;
  border-radius: 10px;
  padding: 8px 0;
  min-width: 192px;
  z-index: 9999;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 
              0 4px 6px -2px rgba(0, 0, 0, 0.05);
  animation: context-menu-appear 0.15s ease-out;
}

/* Animación de aparición */
@keyframes context-menu-appear {
  from {
    opacity: 0;
    transform: scale(0.95) translateY(-5px);
  }
  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

/* Botón de opción del menú */
.context-menu-option {
  width: 100%;
  text-align: left;
  padding: 10px 16px;
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 14px;
  color: #374151;
  transition: background-color 0.15s ease;
  outline: none;  

  span{   
    display: flex;
  }
}

.context-menu-option:hover {
  background-color: rgba(142, 142, 147, 0.12);
}

.context-menu-option:active {
  background-color: #2d2d2e;
}

/* Icono de la opción */
.context-menu-option-icon {
  font-size: 18px;
  line-height: 1;
  flex-shrink: 0;
}

/* Texto de la opción */
.context-menu-option-label {
  flex: 1;
}

/* Divisor entre opciones */
.context-menu-divider {
  height: 1px;
  background-color: #e5e7eb;
  margin: 4px 0;
}

/* Contenedor clickeable (wrapper del componente hijo) */
.context-menu-trigger {
  flex-shrink: 0;
  cursor: context-menu;
}

/* Variante de opción destructiva (para acciones como eliminar) */
.context-menu-option--destructive {
  color: #dc2626;
}

.context-menu-option--destructive:hover {
  background-color: #fef2f2;
}

.context-menu-option--destructive:active {
  background-color: #fee2e2;
}

/* Opción deshabilitada */
.context-menu-option:disabled,
.context-menu-option--disabled {
  color: #9ca3af;
  cursor: not-allowed;
  opacity: 0.5;
}

.context-menu-option:disabled:hover,
.context-menu-option--disabled:hover {
  background-color: transparent;
}

/* Overlay oscuro opcional (si quieres un fondo semi-transparente) */
.context-menu-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9998;
  background-color: rgba(0, 0, 0, 0.1);
  animation: overlay-fade-in 0.15s ease-out;
}

@keyframes overlay-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* Tema oscuro */
.context-menu--dark {
  background-color: #1f2937;
  border-color: #374151;
}

.context-menu--dark .context-menu-option {
  color: #f3f4f6;
}

.context-menu--dark .context-menu-option:hover {
  background-color: #374151;
}

.context-menu--dark .context-menu-option:active {
  background-color: #4b5563;
}

.context-menu--dark .context-menu-divider {
  background-color: #4b5563;
}

.context-menu--dark .context-menu-option--destructive {
  color: #f87171;
}

.context-menu--dark .context-menu-option--destructive:hover {
  background-color: #7f1d1d;
}

/* Responsive */
@media (max-width: 640px) {
  .context-menu {
    min-width: 160px;
    font-size: 13px;
  }
  
  .context-menu-option {
    padding: 8px 12px;
  }
  
  .context-menu-option-icon {
    font-size: 16px;
  }
}

/* Accesibilidad - Focus visible para navegación por teclado */
.context-menu-option:focus-visible {
  outline: 2px solid #3b82f6;
  outline-offset: -2px;
  background-color: #eff6ff;
}

/* Animación de notificaciones */
@keyframes notification-fade-in {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.notification {
  animation: notification-fade-in 0.3s ease-out;
}/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */
@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-space-y-reverse: 0;
      --tw-border-style: solid;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-ordinal: initial;
      --tw-slashed-zero: initial;
      --tw-numeric-figure: initial;
      --tw-numeric-spacing: initial;
      --tw-numeric-fraction: 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-outline-style: solid;
      --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-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;
      --tw-duration: initial;
      --tw-ease: initial;
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
    }
  }
}

@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-yellow-100: oklch(97.3% .071 103.193);
    --color-yellow-800: oklch(47.6% .114 61.907);
    --color-green-100: oklch(96.2% .044 156.743);
    --color-green-800: oklch(44.8% .119 151.328);
    --color-blue-600: oklch(54.6% .245 262.881);
    --color-blue-700: oklch(48.8% .243 264.376);
    --color-gray-50: oklch(98.5% .002 247.839);
    --color-gray-100: oklch(96.7% .003 264.542);
    --color-gray-200: oklch(92.8% .006 264.531);
    --color-gray-500: oklch(55.1% .027 264.364);
    --color-gray-600: oklch(44.6% .03 256.802);
    --color-gray-700: oklch(37.3% .034 259.733);
    --color-gray-800: oklch(27.8% .033 256.848);
    --color-white: #fff;
    --spacing: .25rem;
    --container-4xl: 56rem;
    --text-xs: .75rem;
    --text-xs--line-height: calc(1 / .75);
    --text-sm: .875rem;
    --text-sm--line-height: calc(1.25 / .875);
    --text-lg: 1.125rem;
    --text-lg--line-height: calc(1.75 / 1.125);
    --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);
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --leading-tight: 1.25;
    --ease-in-out: cubic-bezier(.4, 0, .2, 1);
    --aspect-video: 16 / 9;
    --default-transition-duration: .15s;
    --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    --color-border: var(--border);
  }
}

@layer base {
  * {
    border-color: var(--border);
    outline-color: var(--ring);
  }

  @supports (color: color-mix(in lab, red, red)) {
    * {
      outline-color: color-mix(in oklab, var(--ring) 50%, transparent);
    }
  }

  body {
    background-color: var(--background);
    color: var(--foreground);
  }

  :root {
    --chart-1: oklch(64.6% .222 41.116);
    --chart-2: oklch(60% .118 184.704);
    --chart-3: oklch(39.8% .07 227.392);
    --chart-4: oklch(82.8% .189 84.429);
    --chart-5: oklch(76.9% .188 70.08);
  }

  .dark {
    --chart-1: oklch(48.8% .243 264.376);
    --chart-2: oklch(69.6% .17 162.48);
    --chart-3: oklch(76.9% .188 70.08);
    --chart-4: oklch(62.7% .265 303.9);
    --chart-5: oklch(64.5% .246 16.439);
  }
}

@layer components;

@layer utilities {
  .\@container\/card-header {
    container: card-header / inline-size;
  }

  .invisible {
    visibility: hidden;
  }

  .visible {
    visibility: visible;
  }

  .fixed {
    position: fixed;
  }

  .relative {
    position: relative;
  }

  .start {
    inset-inline-start: var(--spacing);
  }

  .end {
    inset-inline-end: var(--spacing);
  }

  .col-start-2 {
    grid-column-start: 2;
  }

  .row-span-2 {
    grid-row: span 2 / span 2;
  }

  .row-start-1 {
    grid-row-start: 1;
  }

  .container {
    width: 100%;
  }

  @media (min-width: 40rem) {
    .container {
      max-width: 40rem;
    }
  }

  @media (min-width: 48rem) {
    .container {
      max-width: 48rem;
    }
  }

  @media (min-width: 64rem) {
    .container {
      max-width: 64rem;
    }
  }

  @media (min-width: 80rem) {
    .container {
      max-width: 80rem;
    }
  }

  @media (min-width: 96rem) {
    .container {
      max-width: 96rem;
    }
  }

  .mx-auto {
    margin-inline: auto;
  }

  .my-0\.5 {
    margin-block: calc(var(--spacing) * .5);
  }

  .mt-1 {
    margin-top: calc(var(--spacing) * 1);
  }

  .mt-4 {
    margin-top: calc(var(--spacing) * 4);
  }

  .mb-2 {
    margin-bottom: calc(var(--spacing) * 2);
  }

  .mb-4 {
    margin-bottom: calc(var(--spacing) * 4);
  }

  .mb-6 {
    margin-bottom: calc(var(--spacing) * 6);
  }

  .ml-2 {
    margin-left: calc(var(--spacing) * 2);
  }

  .block {
    display: block;
  }

  .contents {
    display: contents;
  }

  .flex {
    display: flex;
  }

  .grid {
    display: grid;
  }

  .hidden {
    display: none;
  }

  .list-item {
    display: list-item;
  }

  .table {
    display: table;
  }

  .table-caption {
    display: table-caption;
  }

  .table-cell {
    display: table-cell;
  }

  .table-row {
    display: table-row;
  }

  .aspect-square {
    aspect-ratio: 1;
  }

  .aspect-video {
    aspect-ratio: var(--aspect-video);
  }

  .h-2 {
    height: calc(var(--spacing) * 2);
  }

  .h-2\.5 {
    height: calc(var(--spacing) * 2.5);
  }

  .h-3 {
    height: calc(var(--spacing) * 3);
  }

  .h-5 {
    height: calc(var(--spacing) * 5);
  }

  .h-10 {
    height: calc(var(--spacing) * 10);
  }

  .h-\[250px\] {
    height: 250px;
  }

  .h-full {
    height: 100%;
  }

  .min-h-0 {
    min-height: calc(var(--spacing) * 0);
  }

  .min-h-screen {
    min-height: 100vh;
  }

  .w-0 {
    width: calc(var(--spacing) * 0);
  }

  .w-1 {
    width: calc(var(--spacing) * 1);
  }

  .w-2 {
    width: calc(var(--spacing) * 2);
  }

  .w-2\.5 {
    width: calc(var(--spacing) * 2.5);
  }

  .w-3 {
    width: calc(var(--spacing) * 3);
  }

  .w-5 {
    width: calc(var(--spacing) * 5);
  }

  .w-\[250px\] {
    width: 250px;
  }

  .w-full {
    width: 100%;
  }

  .max-w-4xl {
    max-width: var(--container-4xl);
  }

  .min-w-\[8rem\] {
    min-width: 8rem;
  }

  .flex-1 {
    flex: 1;
  }

  .flex-shrink {
    flex-shrink: 1;
  }

  .flex-shrink-0, .shrink-0 {
    flex-shrink: 0;
  }

  .caption-bottom {
    caption-side: bottom;
  }

  .border-collapse {
    border-collapse: collapse;
  }

  .transform {
    transform: var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, );
  }

  .cursor-pointer {
    cursor: pointer;
  }

  .appearance-none {
    appearance: none;
  }

  .auto-rows-min {
    grid-auto-rows: min-content;
  }

  .grid-rows-\[auto_auto\] {
    grid-template-rows: auto auto;
  }

  .flex-col {
    flex-direction: column;
  }

  .flex-wrap {
    flex-wrap: wrap;
  }

  .items-center {
    align-items: center;
  }

  .items-end {
    align-items: flex-end;
  }

  .items-start {
    align-items: flex-start;
  }

  .items-stretch {
    align-items: stretch;
  }

  .justify-between {
    justify-content: space-between;
  }

  .justify-center {
    justify-content: center;
  }

  .gap-1\.5 {
    gap: calc(var(--spacing) * 1.5);
  }

  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }

  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }

  .gap-6 {
    gap: calc(var(--spacing) * 6);
  }

  :where(.space-y-4 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
  }

  .self-start {
    align-self: flex-start;
  }

  .justify-self-end {
    justify-self: flex-end;
  }

  .overflow-x-auto {
    overflow-x: auto;
  }

  .rounded {
    border-radius: .25rem;
  }

  .rounded-\[2px\] {
    border-radius: 2px;
  }

  .rounded-full {
    border-radius: 3.40282e38px;
  }

  .rounded-lg {
    border-radius: var(--radius);
  }

  .rounded-md {
    border-radius: calc(var(--radius) - 2px);
  }

  .rounded-sm {
    border-radius: calc(var(--radius) - 4px);
  }

  .rounded-xl {
    border-radius: calc(var(--radius) + 4px);
  }

  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }

  .border-\[1\.5px\] {
    border-style: var(--tw-border-style);
    border-width: 1.5px;
  }

  .border-t {
    border-top-style: var(--tw-border-style);
    border-top-width: 1px;
  }

  .border-b {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }

  .border-dashed {
    --tw-border-style: dashed;
    border-style: dashed;
  }

  .border-\(--color-border\) {
    border-color: var(--color-border);
  }

  .border-border\/50 {
    border-color: var(--border);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-border\/50 {
      border-color: color-mix(in oklab, var(--border) 50%, transparent);
    }
  }

  .border-gray-200 {
    border-color: var(--color-gray-200);
  }

  .bg-\(--color-bg\) {
    background-color: var(--color-bg);
  }

  .bg-background {
    background-color: var(--background);
  }

  .bg-card {
    background-color: var(--card);
  }

  .bg-gray-50 {
    background-color: var(--color-gray-50);
  }

  .bg-gray-100 {
    background-color: var(--color-gray-100);
  }

  .bg-green-100 {
    background-color: var(--color-green-100);
  }

  .bg-muted\/50 {
    background-color: var(--muted);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-muted\/50 {
      background-color: color-mix(in oklab, var(--muted) 50%, transparent);
    }
  }

  .bg-transparent {
    background-color: #0000;
  }

  .bg-white {
    background-color: var(--color-white);
  }

  .bg-yellow-100 {
    background-color: var(--color-yellow-100);
  }

  .fill-foreground {
    fill: var(--foreground);
  }

  .fill-muted-foreground {
    fill: var(--muted-foreground);
  }

  .p-2 {
    padding: calc(var(--spacing) * 2);
  }

  .p-4 {
    padding: calc(var(--spacing) * 4);
  }

  .p-6 {
    padding: calc(var(--spacing) * 6);
  }

  .px-2 {
    padding-inline: calc(var(--spacing) * 2);
  }

  .px-2\.5 {
    padding-inline: calc(var(--spacing) * 2.5);
  }

  .px-3 {
    padding-inline: calc(var(--spacing) * 3);
  }

  .px-6 {
    padding-inline: calc(var(--spacing) * 6);
  }

  .py-1 {
    padding-block: calc(var(--spacing) * 1);
  }

  .py-1\.5 {
    padding-block: calc(var(--spacing) * 1.5);
  }

  .py-2 {
    padding-block: calc(var(--spacing) * 2);
  }

  .py-6 {
    padding-block: calc(var(--spacing) * 6);
  }

  .py-8 {
    padding-block: calc(var(--spacing) * 8);
  }

  .pt-3 {
    padding-top: calc(var(--spacing) * 3);
  }

  .pb-3 {
    padding-bottom: calc(var(--spacing) * 3);
  }

  .text-center {
    text-align: center;
  }

  .text-left {
    text-align: left;
  }

  .align-middle {
    vertical-align: middle;
  }

  .font-mono {
    font-family: var(--font-mono);
  }

  .font-sans {
    font-family: var(--font-sans);
  }

  .text-2xl {
    font-size: var(--text-2xl);
    line-height: var(--tw-leading, var(--text-2xl--line-height));
  }

  .text-3xl {
    font-size: var(--text-3xl);
    line-height: var(--tw-leading, var(--text-3xl--line-height));
  }

  .text-lg {
    font-size: var(--text-lg);
    line-height: var(--tw-leading, var(--text-lg--line-height));
  }

  .text-sm {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }

  .text-xs {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }

  .leading-none {
    --tw-leading: 1;
    line-height: 1;
  }

  .leading-tight {
    --tw-leading: var(--leading-tight);
    line-height: var(--leading-tight);
  }

  .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);
  }

  .whitespace-nowrap {
    white-space: nowrap;
  }

  .text-blue-600 {
    color: var(--color-blue-600);
  }

  .text-blue-700 {
    color: var(--color-blue-700);
  }

  .text-card-foreground {
    color: var(--card-foreground);
  }

  .text-foreground {
    color: var(--foreground);
  }

  .text-gray-500 {
    color: var(--color-gray-500);
  }

  .text-gray-600 {
    color: var(--color-gray-600);
  }

  .text-gray-700 {
    color: var(--color-gray-700);
  }

  .text-gray-800 {
    color: var(--color-gray-800);
  }

  .text-green-800 {
    color: var(--color-green-800);
  }

  .text-muted-foreground {
    color: var(--muted-foreground);
  }

  .text-yellow-800 {
    color: var(--color-yellow-800);
  }

  .tabular-nums {
    --tw-numeric-spacing: tabular-nums;
    font-variant-numeric: var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, );
  }

  .shadow {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-md {
    --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, #0000001a), 0 2px 4px -2px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-sm {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-xl {
    --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, #0000001a), 0 8px 10px -6px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .ring {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .outline {
    outline-style: var(--tw-outline-style);
    outline-width: 1px;
  }

  .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, );
  }

  .backdrop-filter {
    -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, );
  }

  .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));
  }

  .duration-200 {
    --tw-duration: .2s;
    transition-duration: .2s;
  }

  .ease-in-out {
    --tw-ease: var(--ease-in-out);
    transition-timing-function: var(--ease-in-out);
  }

  @media (hover: hover) {
    .hover\:bg-muted\/50:hover {
      background-color: var(--muted);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-muted\/50:hover {
        background-color: color-mix(in oklab, var(--muted) 50%, transparent);
      }
    }
  }

  .focus\:outline-none:focus {
    --tw-outline-style: none;
    outline-style: none;
  }

  .has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot="card-action"]) {
    grid-template-columns: 1fr auto;
  }

  .data-\[state\=selected\]\:bg-muted[data-state="selected"] {
    background-color: var(--muted);
  }

  @media (min-width: 40rem) {
    .sm\:flex-row {
      flex-direction: row;
    }
  }

  .\[\&_\.recharts-cartesian-axis-tick_text\]\:fill-muted-foreground .recharts-cartesian-axis-tick text {
    fill: var(--muted-foreground);
  }

  .\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke="#ccc"] {
    stroke: var(--border);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke="#ccc"] {
      stroke: color-mix(in oklab, var(--border) 50%, transparent);
    }
  }

  .\[\&_\.recharts-curve\.recharts-tooltip-cursor\]\:stroke-border .recharts-curve.recharts-tooltip-cursor {
    stroke: var(--border);
  }

  .\[\&_\.recharts-dot\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-dot[stroke="#fff"] {
    stroke: #0000;
  }

  .\[\&_\.recharts-layer\]\:outline-hidden .recharts-layer {
    --tw-outline-style: none;
    outline-style: none;
  }

  @media (forced-colors: active) {
    .\[\&_\.recharts-layer\]\:outline-hidden .recharts-layer {
      outline-offset: 2px;
      outline: 2px solid #0000;
    }
  }

  .\[\&_\.recharts-polar-grid_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-polar-grid [stroke="#ccc"] {
    stroke: var(--border);
  }

  .\[\&_\.recharts-radial-bar-background-sector\]\:fill-muted .recharts-radial-bar-background-sector, .\[\&_\.recharts-rectangle\.recharts-tooltip-cursor\]\:fill-muted .recharts-rectangle.recharts-tooltip-cursor {
    fill: var(--muted);
  }

  .\[\&_\.recharts-reference-line_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-reference-line [stroke="#ccc"] {
    stroke: var(--border);
  }

  .\[\&_\.recharts-sector\]\:outline-hidden .recharts-sector {
    --tw-outline-style: none;
    outline-style: none;
  }

  @media (forced-colors: active) {
    .\[\&_\.recharts-sector\]\:outline-hidden .recharts-sector {
      outline-offset: 2px;
      outline: 2px solid #0000;
    }
  }

  .\[\&_\.recharts-sector\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-sector[stroke="#fff"] {
    stroke: #0000;
  }

  .\[\&_\.recharts-surface\]\:outline-hidden .recharts-surface {
    --tw-outline-style: none;
    outline-style: none;
  }

  @media (forced-colors: active) {
    .\[\&_\.recharts-surface\]\:outline-hidden .recharts-surface {
      outline-offset: 2px;
      outline: 2px solid #0000;
    }
  }

  .\[\&_tr\]\:border-b tr {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }

  .\[\&_tr\:last-child\]\:border-0 tr:last-child {
    border-style: var(--tw-border-style);
    border-width: 0;
  }

  .\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role="checkbox"]) {
    padding-right: calc(var(--spacing) * 0);
  }

  .\[\.border-b\]\:pb-6.border-b {
    padding-bottom: calc(var(--spacing) * 6);
  }

  .\[\.border-t\]\:pt-6.border-t {
    padding-top: calc(var(--spacing) * 6);
  }

  .\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\] > [role="checkbox"] {
    --tw-translate-y: 2px;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .\[\&\>svg\]\:h-2\.5 > svg {
    height: calc(var(--spacing) * 2.5);
  }

  .\[\&\>svg\]\:h-3 > svg {
    height: calc(var(--spacing) * 3);
  }

  .\[\&\>svg\]\:w-2\.5 > svg {
    width: calc(var(--spacing) * 2.5);
  }

  .\[\&\>svg\]\:w-3 > svg {
    width: calc(var(--spacing) * 3);
  }

  .\[\&\>svg\]\:text-muted-foreground > svg {
    color: var(--muted-foreground);
  }

  .\[\&\>tr\]\:last\:border-b-0 > tr:last-child {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 0;
  }
}

:root {
  --radius: .625rem;
  --background: oklch(100% 0 0);
  --foreground: oklch(14.5% 0 0);
  --card: oklch(100% 0 0);
  --card-foreground: oklch(14.5% 0 0);
  --popover: oklch(100% 0 0);
  --popover-foreground: oklch(14.5% 0 0);
  --primary: oklch(20.5% 0 0);
  --primary-foreground: oklch(98.5% 0 0);
  --secondary: oklch(97% 0 0);
  --secondary-foreground: oklch(20.5% 0 0);
  --muted: oklch(97% 0 0);
  --muted-foreground: oklch(55.6% 0 0);
  --accent: oklch(97% 0 0);
  --accent-foreground: oklch(20.5% 0 0);
  --destructive: oklch(57.7% .245 27.325);
  --border: oklch(92.2% 0 0);
  --input: oklch(92.2% 0 0);
  --ring: oklch(70.8% 0 0);
  --chart-1: oklch(64.6% .222 41.116);
  --chart-2: oklch(60% .118 184.704);
  --chart-3: oklch(39.8% .07 227.392);
  --chart-4: oklch(82.8% .189 84.429);
  --chart-5: oklch(76.9% .188 70.08);
  --sidebar: oklch(98.5% 0 0);
  --sidebar-foreground: oklch(14.5% 0 0);
  --sidebar-primary: oklch(20.5% 0 0);
  --sidebar-primary-foreground: oklch(98.5% 0 0);
  --sidebar-accent: oklch(97% 0 0);
  --sidebar-accent-foreground: oklch(20.5% 0 0);
  --sidebar-border: oklch(92.2% 0 0);
  --sidebar-ring: oklch(70.8% 0 0);
}

.dark {
  --background: oklch(14.5% 0 0);
  --foreground: oklch(98.5% 0 0);
  --card: oklch(20.5% 0 0);
  --card-foreground: oklch(98.5% 0 0);
  --popover: oklch(20.5% 0 0);
  --popover-foreground: oklch(98.5% 0 0);
  --primary: oklch(92.2% 0 0);
  --primary-foreground: oklch(20.5% 0 0);
  --secondary: oklch(26.9% 0 0);
  --secondary-foreground: oklch(98.5% 0 0);
  --muted: oklch(26.9% 0 0);
  --muted-foreground: oklch(70.8% 0 0);
  --accent: oklch(26.9% 0 0);
  --accent-foreground: oklch(98.5% 0 0);
  --destructive: oklch(70.4% .191 22.216);
  --border: oklch(100% 0 0 / .1);
  --input: oklch(100% 0 0 / .15);
  --ring: oklch(55.6% 0 0);
  --chart-1: oklch(48.8% .243 264.376);
  --chart-2: oklch(69.6% .17 162.48);
  --chart-3: #ff453a;
  --chart-4: oklch(62.7% .265 303.9);
  --chart-5: oklch(64.5% .246 16.439);
  --sidebar: oklch(20.5% 0 0);
  --sidebar-foreground: oklch(98.5% 0 0);
  --sidebar-primary: oklch(48.8% .243 264.376);
  --sidebar-primary-foreground: oklch(98.5% 0 0);
  --sidebar-accent: oklch(26.9% 0 0);
  --sidebar-accent-foreground: oklch(98.5% 0 0);
  --sidebar-border: oklch(100% 0 0 / .1);
  --sidebar-ring: oklch(55.6% 0 0);
}

@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-space-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-leading {
  syntax: "*";
  inherits: false
}

@property --tw-font-weight {
  syntax: "*";
  inherits: false
}

@property --tw-ordinal {
  syntax: "*";
  inherits: false
}

@property --tw-slashed-zero {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-figure {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-spacing {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-fraction {
  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: 0;
}

@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-outline-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@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-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
}

@property --tw-duration {
  syntax: "*";
  inherits: false
}

@property --tw-ease {
  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;
}

/* $font-quaternary-color: rgba(255, 255, 255, 0.1); */
/* $orange-color: #ee7036; */
/* HTML: <div class="loader"></div> */
.loader {
  position: absolute;
  left: 50%;
  color: #ffffff;
  width: 6px;
  aspect-ratio: 1;
  border-radius: 50%;
  box-shadow: 15px 0 0 4px, 38px 0 0 2px, 60px 0 0 0;
  transform: translateX(-38px);
  animation: l21 0.5s infinite alternate linear;
}

@keyframes l21 {
  50% {
    box-shadow: 15px 0 0 2px, 38px 0 0 4px, 60px 0 0 2px;
  }
  100% {
    box-shadow: 15px 0 0 0, 38px 0 0 2px, 60px 0 0 4px;
  }
}
.fade-in {
  animation: inAnimation 300ms forwards ease-in;
}

.fade-out {
  animation: outAnimation 200ms forwards ease-in;
}

@keyframes inAnimation {
  0% {
    transform: translateX(-200%);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes outAnimation {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-200%);
  }
}
@keyframes rightTranslate {
  0% {
    transform: translateX(0);
    opacity: 1;
  }
  99% {
    transform: translateX(4px);
    opacity: 1;
  }
  100% {
    transform: translateX(0);
    opacity: 0;
  }
}
@keyframes bottomTranslate {
  0% {
    transform: translateY(0);
    opacity: 1;
  }
  99% {
    transform: translateY(3px);
    opacity: 1;
  }
  100% {
    transform: translateY(0);
    opacity: 0;
  }
}
@keyframes rotate-center {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes pulseDot {
  0%, 100% {
    opacity: 1;
    transform: scale(1);
  }
  50% {
    opacity: 0.4;
    transform: scale(0.7);
  }
}
*:not(svg):not(svg *) {
  font-family: "Inter", sans-serif;
  box-sizing: border-box;
  min-width: 0;
  color: #ffffff;
  margin: 0;
}
*:not(svg):not(svg *)::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
*:not(svg):not(svg *)::-webkit-scrollbar-track {
  background: transparent;
  margin: 6px 0;
}
*:not(svg):not(svg *)::-webkit-scrollbar-corner {
  background: transparent;
}
*:not(svg):not(svg *)::-webkit-scrollbar-thumb {
  cursor: pointer;
  background-color: rgba(255, 255, 255, 0.3);
  border-radius: 6px;
}

body {
  /* min-height: 100dvh; */
  background-color: #0a0a0b;
}

#root {
  /* display: flex;
  flex-direction: column;
  overflow: hidden;
  height: 100dvh; */
}

h1,
h2,
h3,
h4 {
  text-wrap: balance;
}

p {
  text-wrap: pretty;
}

button {
  border: none;
  outline: none;
}

[data-title]:hover:after {
  opacity: 1;
  transition: all 0.1s ease 0.5s;
  visibility: visible;
}

[data-title]:after {
  content: attr(data-title);
  background-color: #1c1c1e;
  color: #ffffff;
  font-size: 75%;
  text-transform: uppercase;
  position: absolute;
  padding: 4px 6px;
  bottom: -1.6em;
  left: 100%;
  white-space: nowrap;
  box-shadow: 1px 1px 3px #222222;
  opacity: 0;
  border: 1px solid rgba(142, 142, 147, 0.12);
  z-index: 99999;
  visibility: hidden;
  border-radius: 6px;
}

[data-title] {
  position: relative;
}

.loading-component {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 9;
  border-radius: 12px;
  background-color: #2c2c2e;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.loading-component svg {
  width: 50px;
  fill: rgba(255, 255, 255, 0.3);
}
.loading-component span {
  font-weight: 600;
  color: rgba(255, 255, 255, 0.3);
}

.separator {
  background-color: rgba(255, 255, 255, 0.07);
  width: 1px;
  height: 20px;
}

.horizontal-separator {
  background-color: rgba(255, 255, 255, 0.07);
  height: 1px;
  width: 100%;
}

.lateral-nav {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 54px;
  height: 100vh;
  position: relative;
  z-index: 100;
  background: linear-gradient(90deg, #1c1c1e 0%, #1c1c1e 91%, #2c2c2e 92%, #2c2c2e 100%);
}
.lateral-nav .logo {
  width: 100%;
  padding: 8px 10px 4px 5px;
  cursor: pointer;
}
.lateral-nav .logo svg {
  opacity: 0.3;
  transition: all 500ms ease-in-out;
}
.lateral-nav .logo .cls-1, .lateral-nav .logo .cls-2, .lateral-nav .logo .cls-3, .lateral-nav .logo .cls-4, .lateral-nav .logo .cls-5, .lateral-nav .logo .cls-6, .lateral-nav .logo .cls-8 {
  fill: white;
  transition: all 300ms ease-in-out;
}
.lateral-nav .logo:hover svg {
  opacity: 1;
}
.lateral-nav .logo:hover .cls-1 {
  fill: #ffc300;
}
.lateral-nav .logo:hover .cls-2 {
  fill: #d92368;
}
.lateral-nav .logo:hover .cls-3 {
  fill: #ff5733;
}
.lateral-nav .logo:hover .cls-4 {
  fill: #79d523;
}
.lateral-nav .logo:hover .cls-5 {
  fill: #c70039;
}
.lateral-nav .logo:hover .cls-6 {
  fill: #900c3f;
}
.lateral-nav .logo:hover .cls-7 {
  fill: #fff;
}
.lateral-nav .logo:hover .cls-8 {
  fill: #f03c13;
}

.loadcsv {
  display: none;
}

.loadcsv-button {
  display: block;
  position: absolute;
  bottom: 6px;
  left: 6px;
  width: 28px;
  height: 28px;
  background-color: #2c2c2e;
  border-radius: 5px;
  text-align: center;
  line-height: 28px;
  font-weight: 800;
  font-size: 24px;
  color: #ffffff;
  cursor: pointer;
  user-select: none;
  z-index: 1;
}
.loadcsv-button:hover {
  text-shadow: 0 0 6px #ffffff;
}
.loadcsv-button::after {
  content: "";
  position: absolute;
  top: -6px;
  left: -6px;
  width: 40px;
  height: 40px;
  z-index: -1;
  background-color: #1c1c1e;
}

.preview-background[data-view=false] {
  display: none;
}

.preview-background[data-view=true] {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(22, 22, 22, 0.4392156863);
  backdrop-filter: blur(2px);
  text-align: center;
  z-index: 9;
}

.preview-container {
  border-radius: 25px;
  background-color: #2c2c2e;
  padding: 10px;
  color: #ffffff;
}
.preview-container table, .preview-container th, .preview-container td {
  border: 2px solid rgba(18, 18, 18, 0.2745098039);
  border-collapse: collapse;
}
.preview-container th, .preview-container td {
  padding: 6px;
}
.preview-container .buttons {
  padding: 10px;
}
.preview-container .buttons button {
  margin: 0 10px 0 10px;
}
.preview-container .buttons .negative {
  background-color: red;
}
.preview-container .buttons .positive {
  background-color: green;
}

.tabs-container {
  flex-grow: 1;
  display: flex;
  flex-direction: column-reverse;
  align-items: end;
  width: 100%;
  padding: 40px 0;
  background-color: #1c1c1e;
  overflow-y: scroll;
  overflow-x: hidden;
  text-wrap: nowrap;
}
.tabs-container::-webkit-scrollbar {
  width: 4px;
  background-color: #2c2c2e;
}
.tabs-container::-webkit-scrollbar-thumb {
  cursor: pointer;
  background-color: rgba(142, 142, 147, 0.12);
}

.tab {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  writing-mode: vertical-rl;
  transform: scale(-1, -1);
  bottom: 0;
  padding: 8px 6px;
  width: 28px;
  border-radius: 0 10px 10px 0;
  user-select: none;
  text-transform: uppercase;
  font-size: 12px;
  cursor: pointer;
  opacity: 1;
  transition: all 200ms ease-in-out;
}
.tab.false {
  background-color: color-mix(in oklab, #2c2c2e 30%, #1c1c1e 100%);
  z-index: 9;
}
.tab.false span {
  color: color-mix(in oklab, #ffffff 30%, transparent 100%);
}
.tab.false i {
  color: color-mix(in oklab, #ffffff 30%, transparent 100%);
}
.tab.true {
  background-color: #2c2c2e;
  z-index: 99;
}
.tab:hover span {
  color: color-mix(in oklab, #ffffff 100%, transparent 0%);
}
.tab:hover i {
  color: color-mix(in oklab, #ffffff 100%, transparent 0%);
}
.tab span {
  max-height: 135px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  pointer-events: none;
  transition: all 200ms ease-in-out;
}
.tab i {
  margin-top: 6px;
  transform: rotate(90deg);
  opacity: 50%;
  background-color: transparent;
  color: #ffffff;
  padding: 2px;
  border-radius: 50%;
  transition: all 200ms ease-in-out;
}
.tab i:hover {
  opacity: 100%;
  background-color: #491218;
  color: #ef3c12;
}
.tab.google, .tab.google-manual {
  font-weight: bold;
  text-shadow: 0px 1px 3px black;
  background: #305011;
}
.tab.google.false, .tab.google-manual.false {
  background-color: color-mix(in oklab, #305011 30%, #1c1c1e 100%);
}
.tab.google.false span, .tab.google-manual.false span {
  color: color-mix(in oklab, #ffffff 30%, transparent 100%);
}
.tab.google:hover span, .tab.google-manual:hover span {
  color: color-mix(in oklab, #ffffff 100%, transparent 0%);
}

.list-container {
  background-color: #2c2c2e;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.07);
  position: relative;
  z-index: 101;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-around;
  height: 100%;
  width: 100%;
  padding-bottom: 8px;
}
.list-container.disabled {
  opacity: 0.5;
}
.list-container .selectedAll {
  align-self: self-start;
  grid-area: selectedAll;
  font-size: 0.9rem;
  padding: 0 16px;
  display: flex;
  gap: 2px;
  align-items: center;
  cursor: pointer;
  user-select: none;
}
.list-container .selectedAll i {
  display: inline;
}
.list-container .selectedAll:hover {
  color: rgba(255, 255, 255, 0.6);
}
.list-container .selectedAll:active {
  background-color: #2c2c2e;
}
.list-container .horizontal-separator {
  margin-top: 12px;
}
.list-container .progress-bar-container {
  flex-shrink: 0;
  margin-bottom: 12px;
}
.list-container .loading-call {
  text-align: center;
  padding: 4px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
  font-size: 0.8rem;
  font-weight: bold;
  letter-spacing: 0.02em;
  color: rgba(255, 255, 255, 0.6);
  /* El segundo punto espera 0.2s */
  /* El tercer punto espera 0.4s */
}
.list-container .loading-call .loading-dots {
  margin-left: 4px;
  display: inline-flex;
  gap: 2px;
  font-weight: bold;
  color: inherit;
}
.list-container .loading-call .loading-dots span {
  animation: dot-blink 1.4s infinite both;
  color: inherit;
}
.list-container .loading-call .loading-dots span:nth-child(2) {
  animation-delay: 0.2s;
}
.list-container .loading-call .loading-dots span:nth-child(3) {
  animation-delay: 0.4s;
}

.list-header {
  gap: 8px;
  display: flex;
  justify-content: end;
  width: 100%;
  padding: 0 12px;
  padding-top: 12px;
  height: 40px;
}
.list-header .search-container {
  width: 20px;
}
.list-header .order-container {
  flex-shrink: 0;
  grid-area: order;
}
.list-header .columnName-container {
  grid-area: columnName;
}

.list-footer {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 8vh;
  background-color: #1c1c1e;
  width: 100%;
  gap: 0px;
}
.list-footer .goto-button {
  cursor: pointer;
  display: flex;
  justify-content: space-around;
  align-items: end;
  background-color: #2c2c2e;
  color: #ffffff;
  padding: 6px 20px;
  height: 30px;
  font-size: 0.9em;
  font-weight: 400;
  border-radius: 25px;
  border: none;
  outline: none;
  transition: all 200ms ease-in-out;
  text-decoration: none;
}
.list-footer .goto-button i {
  color: #ffffff;
  margin-left: 6px;
  font-size: 1.2em;
  transition: all 200ms ease-in-out;
}
.list-footer .goto-button:hover i {
  animation: rightTranslate 0.5s infinite ease;
}
.list-footer .goto-button:active {
  background-color: #2c2c2e;
  color: rgba(142, 142, 147, 0.12);
}
.list-footer .goto-button:active i {
  color: rgba(142, 142, 147, 0.12);
}

.listCall-container {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  position: relative;
  width: 100%;
  padding: 0;
  overflow-y: auto;
  overflow-x: hidden;
  z-index: 0;
}
.listCall-container::-webkit-scrollbar {
  width: 4px;
}
.listCall-container::-webkit-scrollbar-thumb {
  background-color: rgba(142, 142, 147, 0.12);
  border-radius: 6px;
}
.listCall-container li {
  transition: all 100ms ease-in-out;
}
.listCall-container li.false > article {
  opacity: 0.4;
}
.listCall-container li {
  position: relative;
}
.listCall-container li hr {
  background-color: white;
  opacity: 0.05;
  height: 1px;
}
.listCall-container li .checkbox {
  position: absolute;
  z-index: 99;
  cursor: pointer;
  width: 100%;
  height: 100%;
  background-color: rgba(20, 20, 20, 0.356);
}
.listCall-container li .checkbox input[type=checkbox] {
  display: none;
}
.listCall-container li .checkbox input:checked ~ i {
  color: #7bfe00;
}
.listCall-container li .checkbox i {
  position: absolute;
  right: 12px;
  bottom: 50%;
  transform: translateY(50%);
  border-radius: 100%;
  font-size: 1.5rem;
}
.listCall-container.disabled {
  pointer-events: none;
  opacity: 0.5;
}

.listCall-empty {
  display: flex;
  align-items: center;
  font-size: 4em;
  text-align: center;
  text-transform: capitalize;
  height: 100%;
  opacity: 0.1;
}

/* ── EMPTY STATE ── */
.empty-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 24px;
}

.empty-icon-wrap {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255, 255, 255, 0.18);
  margin-bottom: 4px;
}

.empty-title {
  font-size: 13.5px;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.35);
  text-align: center;
}

.empty-desc {
  font-size: 11.5px;
  color: rgba(255, 255, 255, 0.18);
  text-align: center;
  line-height: 1.6;
  max-width: 200px;
}

@keyframes dot-blink {
  0% {
    opacity: 0;
  }
  20% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.columnName {
  display: flex;
  justify-content: end;
  align-items: center;
  gap: 4px;
  padding: 0;
}
.columnName li {
  cursor: pointer;
  padding: 2px 4px;
  list-style: none;
  text-transform: lowercase;
  background-color: rgba(142, 142, 147, 0.12);
  border-radius: 2px;
  transition: all 200ms ease-in-out;
}
.columnName li i {
  display: flex;
  pointer-events: none;
}
.columnName li:hover, .columnName li.active {
  background-color: #2c2c2e;
}
.columnName li:hover i, .columnName li.active i {
  color: color-mix(in oklab, #ffffff 70%, transparent 30%);
}
.columnName li.more {
  border-radius: 6px;
  position: relative;
  background-color: transparent;
  user-select: none;
}
.columnName li.more:hover {
  background-color: #2c2c2e;
}

.columnName-rest {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.columnName-rest span {
  padding: 2px 6px;
  border-radius: 4px;
  text-wrap: nowrap;
  text-align: center;
  text-transform: capitalize;
  font-size: 0.8rem;
  background-color: rgba(142, 142, 147, 0.12);
}
.columnName-rest span.active, .columnName-rest span:hover {
  background-color: #2c2c2e;
}

.export-button {
  position: relative;
  cursor: pointer;
  border-radius: 4px;
  border: 1px solid rgba(255, 255, 255, 0.07);
  width: fit-content;
  background-color: rgba(142, 142, 147, 0.12);
  padding: 0 8px;
  display: flex;
  align-items: center;
  gap: 4px;
}
.export-button i {
  font-size: 0.9rem;
  line-height: 32px;
  transition: all 200ms ease-in-out;
  pointer-events: none;
}
.export-button i:hover {
  opacity: 0.5;
}
.export-button:hover {
  background-color: rgba(255, 255, 255, 0.3);
}
.export-button:active {
  background-color: #2c2c2e;
  color: rgba(142, 142, 147, 0.12);
}
.export-button:active i {
  color: rgba(142, 142, 147, 0.12);
}
.export-button:disabled {
  cursor: progress;
  pointer-events: none;
}
.export-button:disabled i {
  animation: rotate-center 1s infinite linear;
}

.order-container {
  position: relative;
  z-index: 999;
  cursor: pointer;
  border-radius: 4px;
  border: 1px solid rgba(255, 255, 255, 0.07);
  width: fit-content;
  background-color: rgba(142, 142, 147, 0.12);
  padding: 0 8px;
  display: flex;
  align-items: center;
  gap: 4px;
}
.order-container:hover {
  background-color: rgba(255, 255, 255, 0.3);
}
.order-container i {
  font-size: 0.9rem;
  line-height: 32px;
  transition: all 200ms ease-in-out;
  pointer-events: none;
}
.order-container i:hover {
  opacity: 0.5;
}
.order-container .order-items {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.order-container .order-items span {
  display: flex;
  align-items: center;
  text-wrap: nowrap;
  gap: 6px;
  font-size: 0.8em;
  padding: 0px 4px;
  border-radius: 0px;
  position: relative;
  z-index: 1;
  user-select: none;
  transition: all 200ms ease-in-out;
}
.order-container .order-items span.true:hover {
  color: white;
}
.order-container .order-items span.true:hover i {
  color: white;
}
.order-container .order-items span.true::after {
  background-color: #FF9500;
}
.order-container .order-items span::after {
  content: "";
  width: 2px;
  position: absolute;
  inset: 0;
  background-color: #2c2c2e;
  border-radius: 0px;
  z-index: -1;
  transition: all 200ms ease-in-out;
}
.order-container .order-items span:hover {
  color: rgba(255, 255, 255, 0.6);
}
.order-container .order-items span:hover i {
  color: rgba(255, 255, 255, 0.6);
}
.order-container .order-items span:hover::after {
  border-radius: 2px;
  width: 100%;
}

.btn-order {
  border: none;
  outline: none;
  background-color: #1c1c1e;
  min-width: 80px;
  text-transform: capitalize;
  font-size: 0.8;
  font-weight: bold;
  border-radius: 2px;
}
.btn-order.true {
  background-color: #2c2c2e;
}

.app-container {
  background-color: #1c1c1e;
}

.main-bg {
  position: relative;
  flex-grow: 1;
  width: 100%;
  /* height: calc(viewportHeight - mainHeader - managerHeader - padding) */
  height: calc(100vh - 46px - 26px - 12px);
  min-height: 0;
  padding: 0 12px;
  padding-bottom: 12px;
  display: grid;
  grid-auto-columns: 1fr;
  grid-template-columns: repeat(2, 0.6fr) 1fr 1fr 1fr 1fr;
  grid-template-rows: 1fr 1fr 1fr 1fr 1fr 1fr;
  gap: 12px;
  grid-template-areas: "listcall listcall mediaplayer mediaplayer transcript transcript" "listcall listcall dispositions dispositions transcript transcript" "listcall listcall dispositions dispositions transcript transcript" "listcall listcall dispositions dispositions info statitics" "listcall listcall note note info statitics" "listcall listcall note note info statitics";
}
.main-bg .list-container {
  grid-area: listcall;
}
.main-bg .mp-container {
  grid-area: mediaplayer;
}
.main-bg .dispo-container {
  grid-area: dispositions;
}
.main-bg .note-container {
  grid-area: note;
}
.main-bg .transcription-container {
  grid-area: transcript;
}
.main-bg .info-container {
  grid-area: info;
}
.main-bg .stats-container {
  grid-area: statitics;
}
.main-bg .no-data-overlay-container {
  grid-area: empty;
}
.main-bg.empty {
  grid-template-areas: "listcall listcall empty empty empty empty" "listcall listcall empty empty empty empty" "listcall listcall empty empty empty empty" "listcall listcall empty empty empty empty" "listcall listcall empty empty empty empty" "listcall listcall empty empty empty empty";
}

.disabled-container {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  background-color: rgba(26, 25, 25, 0.6431372549);
  backdrop-filter: blur(2px);
  width: 100%;
  height: 100%;
  z-index: 102;
}

.disabled-container > .message-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  background-color: #2c2c2e;
  padding: 16px;
  border-radius: 12px;
  max-width: 400px;
}
.disabled-container > .message-container .icon {
  background-color: #fff;
  padding: 12px;
  border-radius: 100%;
  width: fit-content;
  display: flex;
}
.disabled-container > .message-container .icon i {
  color: #1c1c1e;
  font-size: 2rem;
}
.disabled-container > .message-container .text {
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.main-container {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(4, 1fr);
  gap: 8px;
  position: relative;
  width: 1000px;
  height: 500px;
}

.chatbot-container,
.selection-container {
  position: absolute;
  background-color: rgba(0, 0, 0, 0.3);
  border-radius: 15px;
  width: calc(100% - 24px);
  height: calc(100% - 12px);
  transition: opacity 100ms ease-in-out;
  opacity: 0;
  pointer-events: none;
  overflow: hidden;
}

.chatbot-container {
  z-index: 101;
  display: grid;
  grid-auto-columns: 1fr;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
  grid-template-rows: 1fr 1fr 1fr 1fr 1fr 1fr;
  gap: 8px 8px;
  grid-template-areas: ". . . . AI AI" ". . . . AI AI" ". . . . AI AI" ". . . . AI AI" ". . . . AI AI" ". . . . AI AI";
}
.chatbot-container .chat-container {
  grid-area: AI;
  box-shadow: -2px 0px 2px 0px rgba(0, 0, 0, 0.2);
}
.chatbot-container.AI {
  opacity: 1;
  pointer-events: all;
}

.selection-container {
  background-color: rgba(0, 0, 0, 0.3);
  backdrop-filter: blur(10px);
  z-index: 99;
  display: grid;
  grid-auto-columns: 1fr;
  grid-template-columns: repeat(2, 0.6fr) 1fr 1fr 1fr 1fr;
  grid-template-rows: 1fr 1fr 1fr 1fr 1fr 1fr;
  gap: 12px;
  grid-template-areas: "listcall listcall . . . ." "listcall listcall . batch batch ." "listcall listcall . batch batch ." "listcall listcall . batch batch ." "listcall listcall . batch batch ." "listcall listcall . . . .";
}
.selection-container .batch-container {
  grid-area: batch;
}
.selection-container.SELECTION {
  opacity: 1;
  pointer-events: all;
}

.main-placeholder {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 15px;
}
.main-placeholder svg {
  opacity: 50%;
  transition: all 200ms ease-in;
}
.main-placeholder svg:hover {
  opacity: 100%;
  transform: scale(1.03);
}
.main-placeholder .title {
  display: flex;
  align-items: center;
  position: relative;
  text-align: center;
  opacity: 50%;
}
.main-placeholder .more {
  display: inline-block;
  background-color: #1c1c1e;
  border-radius: 4px;
  width: 30px;
  height: 30px;
  font-weight: 600;
  font-size: 24px;
  line-height: 30px;
  margin: 8px;
  cursor: pointer;
  user-select: none;
  box-shadow: 0 1px 2px black;
  transition: all 200ms ease-in-out;
}
.main-placeholder .more:hover {
  background-color: color-mix(in oklab, #1c1c1e 80%, transparent 100%);
}
.main-placeholder .more:active {
  box-shadow: 0 1px 2px transparent;
  color: color-mix(in oklab, #ffffff 50%, transparent 50%);
}
.main-placeholder .help-btn {
  align-self: center;
  text-decoration: none;
  margin: 0 2px;
  line-height: 30px;
  cursor: pointer;
  transition: all 200ms ease-in-out;
}
.main-placeholder .help-btn:hover {
  color: color-mix(in oklab, #ffffff 50%, transparent 50%);
}
.main-placeholder .content {
  font-size: 0.9em;
  text-align: center;
  line-height: 1.8;
  opacity: 50%;
}

.help-structure-container {
  max-width: 450px;
  padding: 12px;
  text-align: center;
}
.help-structure-container .help-structure-text {
  margin-bottom: 2em;
}
.help-structure-container .help-structure-link {
  display: flex;
  justify-content: space-around;
}
.help-structure-container .help-structure-link a {
  display: flex;
  align-items: center;
  background-color: #103842;
  padding: 6px 12px;
  border-radius: 20px;
  text-decoration: none;
}
.help-structure-container .help-structure-link a i {
  margin-left: 4px;
}
.help-structure-container .help-structure-link a:hover {
  color: #01ddff;
}
.help-structure-container .help-structure-link a:hover i {
  color: #01ddff;
}

.card-container {
  grid-column: span 2/span 2;
  grid-row: span 4/span 4;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 100%;
  background-color: #1c1c1e;
  border-radius: 25px;
  padding: 20px;
  scale: 1;
  opacity: 1;
  transition: scale 200ms, opacity 200ms;
  position: relative;
  z-index: 99;
}
@starting-style {
  .card-container {
    scale: 0;
    opacity: 0;
  }
}

#save-call {
  display: none;
}

.note-container {
  position: relative;
  background-color: #2c2c2e;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.07);
  display: flex;
  flex-direction: column;
  position: relative;
}
.note-container header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
  padding: 12px;
}
.note-container header .note-buttons {
  display: flex;
  align-items: center;
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 8px;
  padding: 4px 8px;
  gap: 4px;
  cursor: pointer;
  font-size: 0.8rem;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.6);
  transition: all 0.2s ease;
}
.note-container header .note-buttons i {
  font-size: inherit;
  color: inherit;
}
.note-container header .note-buttons:hover {
  background-color: #491218;
  color: #ef3c12;
  border: 1px solid #ef3c12;
}
.note-container header .note-buttons.ghost {
  pointer-events: none;
  opacity: 0.5;
}
.note-container .sn-buttons {
  display: flex;
  align-items: center;
  position: absolute;
  top: -30px;
  right: 10px;
}
.note-container .sn-buttons i {
  cursor: pointer;
  padding: 4px;
  margin: 4px;
  opacity: 50%;
}
.note-container .sn-buttons i:hover {
  opacity: 100%;
}
.note-container .sn-buttons i.true {
  opacity: 100%;
  border-radius: 6px;
  color: #e91164;
  text-shadow: 0 0 4px #e91164;
}

.note-title {
  text-align: center;
  opacity: 50%;
  font-weight: 500;
}
.note-title .note-buttons {
  display: flex;
  gap: 8px;
  position: absolute;
  top: 0;
  right: 0;
  margin-top: 8px;
  margin-right: 8px;
}
.note-title .note-buttons i {
  cursor: pointer;
}
.note-title .note-buttons i:hover {
  opacity: 0.5;
}
.note-title .note-buttons svg {
  fill: #ffffff;
  width: 16px;
}

#note {
  flex-grow: 1;
  background-color: transparent;
  resize: none;
  width: 100%;
  border: none;
  outline: none;
  transition: all 0.3s ease;
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
  padding: 12px;
}
#note::-webkit-scrollbar {
  width: 4px;
  background-color: #2c2c2e;
}
#note::-webkit-scrollbar-thumb {
  background-color: rgba(142, 142, 147, 0.12);
  border-radius: 6px;
}

.save-status {
  position: absolute;
  right: 0;
  bottom: 0;
  margin: 68px 20px;
}
.save-status span {
  position: absolute;
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 0.8rem;
  line-height: 0.8rem;
  color: rgba(255, 255, 255, 0.6);
  opacity: 0;
  scale: 1;
  transition: all 100ms ease-in-out;
}
.save-status span i {
  display: flex;
  align-items: center;
  color: inherit;
  padding: 0;
}
.save-status span.true {
  opacity: 1;
  scale: 1;
}
.save-status[data-save-status=typing] i {
  color: #01ddff;
}
.save-status[data-save-status=saved] i {
  color: #7bfe00;
}
.save-status[data-save-status=error] i {
  color: #ef3c12;
}

.suggested-note {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  font-size: 0.7em;
  padding: 12px;
}
.suggested-note .title {
  color: rgba(255, 255, 255, 0.6);
  font-weight: bold;
  letter-spacing: 0.4px;
}
.suggested-note span {
  position: relative;
  background-color: rgba(142, 142, 147, 0.12);
  padding: 4px 8px;
  border-radius: 25px;
  border: 1px solid rgba(255, 255, 255, 0.07);
  color: color-mix(in oklab, #ffffff 40%, transparent);
  cursor: pointer;
  user-select: none;
  overflow: hidden;
  max-width: 100px;
  transition: all 300ms ease-in-out;
}
.suggested-note span:hover {
  color: color-mix(in oklab, #ffffff 100%, transparent);
  background-color: rgba(255, 255, 255, 0.07);
}
.suggested-note span.delete {
  opacity: 40%;
}
.suggested-note span.delete:hover {
  opacity: 100%;
}
.suggested-note span.long:hover .text {
  overflow: unset;
  text-overflow: unset;
  animation: desplazamiento 6s linear both;
}
.suggested-note span .text {
  pointer-events: none;
  color: inherit;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.suggested-note span i {
  display: flex;
  justify-content: end;
  align-items: center;
  pointer-events: none;
  padding: 0 4px;
  width: 50px;
  height: 100%;
  font-size: 16px;
  text-align: end;
  position: absolute;
  top: 50%;
  right: 0%;
  transform: translateY(-50%);
  background: linear-gradient(to right, transparent 0%, #2c2c2e 60%, #2c2c2e 100%);
}
.suggested-note .sn-rest {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
.suggested-note .sn-rest .sn-dropdown {
  min-height: 40px;
  max-height: 120px;
  overflow-y: auto;
  width: 100%;
}
.suggested-note .sn-rest .sn-dropdown::-webkit-scrollbar {
  width: 6px;
  background-color: transparent;
}
.suggested-note .sn-rest .sn-dropdown::-webkit-scrollbar-thumb {
  background-color: rgba(142, 142, 147, 0.12);
  border-radius: 6px;
  cursor: pointer;
}
.suggested-note .sn-rest i {
  cursor: pointer;
  background-color: rgba(142, 142, 147, 0.12);
  border-radius: 25px;
  border: 1px solid rgba(255, 255, 255, 0.07);
  color: color-mix(in oklab, #ffffff 40%, transparent);
  width: 50px;
  font-size: 2em;
  text-align: center;
}
.suggested-note .sn-rest i:hover {
  color: color-mix(in oklab, #ffffff 100%, transparent);
  background-color: rgba(255, 255, 255, 0.07);
}
.suggested-note .sn-rest i.delete {
  opacity: 40%;
}
.suggested-note .sn-rest .sn-rest-item {
  position: relative;
  white-space: nowrap;
  user-select: none;
  cursor: pointer;
  text-align: center;
  width: 100px;
  height: 20px;
  background-color: #2c2c2e;
  color: color-mix(in oklab, #ffffff 60%, transparent);
  padding: 2px 4px;
  margin: 4px 2px;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.07);
}
.suggested-note .sn-rest .sn-rest-item:hover {
  background-color: rgba(142, 142, 147, 0.12);
  color: color-mix(in oklab, #ffffff 100%, transparent);
}
.suggested-note .sn-rest .sn-rest-item .text {
  pointer-events: none;
  color: inherit;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.suggested-note .sn-rest .sn-rest-item i {
  border: none;
  pointer-events: none;
  padding: 0 4px;
  width: 50px;
  font-size: 16px;
  text-align: end;
  position: absolute;
  top: 50%;
  right: 0%;
  transform: translateY(-50%);
  background: linear-gradient(to right, transparent 0%, #1c1c1e 60%, #1c1c1e 100%);
}

.add-sn-container {
  position: absolute;
  top: 0;
  right: 0;
  padding: 10px;
  border-radius: 10px;
  background-color: rgba(142, 142, 147, 0.12);
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.add-sn-container input {
  font-size: 0.8em;
  font-weight: 500;
  margin: 8px 2px;
  padding: 4px 8px;
  border-radius: 15px;
  text-align: center;
  overflow: hidden;
  background-color: #2c2c2e;
  color: #ffffff;
  border: none;
  outline: none;
}
.add-sn-container button {
  cursor: pointer;
  background-color: #2c2c2e;
  font-weight: 500;
  padding: 6px 20px;
  border: none;
  outline: none;
  border-radius: 15px;
  box-shadow: 0px 2px 2px #1c1c1e;
}
.add-sn-container button:hover {
  box-shadow: none;
}
.add-sn-container button.false {
  cursor: default;
  pointer-events: none;
  opacity: 20%;
}

.note-prompt-container {
  padding: 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
.note-prompt-container textarea {
  padding: 6px 8px;
  border-radius: 8px;
  background-color: #2c2c2e;
  border: none;
  outline: none;
  width: 250px;
  resize: none;
  field-sizing: content;
  min-height: 3rem;
  max-height: 10rem;
  transition: all 0.3s linear;
}
.note-prompt-container button {
  cursor: pointer;
  border-radius: 8px;
  border: none;
  outline: none;
  width: 100%;
  background-color: #0f484f;
  padding: 6px 8px;
}
.note-prompt-container button:hover {
  opacity: 0.5;
}

.head-container {
  display: flex;
  justify-content: space-between;
}

.head-date {
  width: 100px;
  text-wrap: wrap;
  text-align: start;
  font-size: 0.9em;
}

.head-dispo {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  background-color: rgba(142, 142, 147, 0.12);
  font-weight: 500;
  text-transform: uppercase;
  padding: 4px 8px;
  border-radius: 15px;
  height: 30px;
  line-height: 22px;
  text-align: center;
  transition: all 200ms ease-in-out;
}

.head-number {
  display: flex;
  align-items: center;
  font-size: 0.8em;
}

.info-container {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
  background-color: #2c2c2e;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.07);
  padding-bottom: 6px;
  font-size: 0.8em;
  user-select: none;
  position: relative;
}
.info-container .clipboard-container {
  aspect-ratio: 1/1;
}

.header-info {
  padding: 12px;
  width: 100%;
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}
.header-info .info-tab {
  display: flex;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.07);
  background-color: rgba(142, 142, 147, 0.12);
  padding: 4px;
}
.header-info .info-tab span {
  cursor: pointer;
  padding: 2px 10px;
  border-radius: 4px;
  color: rgba(255, 255, 255, 0.6);
  transition: all 200ms ease-in-out;
}
.header-info .info-tab .active {
  background-color: #e8591a;
  color: #ffffff;
}

.info {
  display: flex;
  flex-direction: column;
  gap: 6px;
  height: 100%;
  overflow-y: auto;
}
.info::-webkit-scrollbar {
  width: 6px;
  background-color: color-mix(in oklab, #1c1c1e 30%, transparent 100%);
}
.info::-webkit-scrollbar-thumb {
  background-color: rgba(142, 142, 147, 0.12);
  border-radius: 2px;
  cursor: pointer;
}
.info div {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  cursor: pointer;
  text-align: center;
  padding: 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
  word-break: break-all;
  transition: all 300ms ease-in-out;
  transition-behavior: allow-discrete;
}
.info div .name, .info div .value .text {
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.7rem;
}
.info div .name {
  justify-self: start;
}
.info div .value {
  flex: 1;
  text-align: end;
  justify-self: end;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
.info div .value .text {
  pointer-events: none;
}
.info div .value:hover {
  text-overflow: clip;
}
.info div .value:hover .text {
  display: inline-block;
  animation: marquee 4s linear infinite;
}
.info div .value .time {
  margin-left: 2px;
  background-color: #1A3A4A;
  color: #64D2FF;
  border-radius: 4px;
  font-size: 0.7rem;
}
.info div.hidden {
  font-size: 0;
  opacity: 0.5;
}
.info div.hidden:hover {
  opacity: 1;
}

.info-header {
  display: flex;
  justify-content: center;
  background-color: transparent !important;
  font-size: 1.2em;
  text-align: center;
  margin-bottom: 6px;
  text-transform: uppercase;
  letter-spacing: 2px;
}
.info-header .copy {
  position: absolute;
  right: 12px;
  background-color: transparent !important;
}
.info-header .reload-wizard {
  cursor: pointer;
  position: absolute;
  left: 12px;
}
.info-header .reload-wizard svg {
  fill: #ffffff;
  width: 16px;
}

.dispo-container {
  display: flex;
  flex-direction: column;
  gap: 12px;
  background-color: #2c2c2e;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.07);
  position: relative;
}

.dispo-header {
  display: flex;
  justify-content: space-between;
  padding: 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}
.dispo-header .current-dispo {
  padding: 4px 8px;
  border-radius: 8px;
  text-transform: capitalize;
  font-size: 0.8rem;
  font-weight: 500;
}
.dispo-header .current-dispo {
  background-color: rgba(142, 142, 147, 0.12);
  color: rgba(255, 255, 255, 0.6);
  border: 1px dashed rgba(255, 255, 255, 0.07);
}
.dispo-header .current-dispo i {
  color: inherit;
}

.dispo-main {
  flex-shrink: 1;
  width: 100%;
  height: 100%;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  grid-auto-rows: minmax(auto, 32px);
  gap: 12px;
  overflow-y: auto;
  padding: 12px;
  padding-top: 0;
}
.dispo-main::-webkit-scrollbar {
  width: 4px;
}
.dispo-main::-webkit-scrollbar-thumb {
  background-color: rgba(142, 142, 147, 0.12);
  border-radius: 6px;
}
.dispo-main .dispo-item-container {
  cursor: pointer;
  user-select: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 6px;
  background-color: rgba(142, 142, 147, 0.12);
  border-radius: 8px;
  font-size: 0.9rem;
  padding: 4px 8px;
  border: 1px solid rgba(255, 255, 255, 0.07);
}
.dispo-main .dispo-item-container .dispo-item-status {
  flex-grow: 0;
  flex-shrink: 0;
  width: 10px;
  aspect-ratio: 1;
  border-radius: 100%;
  pointer-events: none;
}
.dispo-main .dispo-item-container .dispo-item {
  flex-grow: 1;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
.dispo-main .dispo-item-container .dispo-item .dispo-item-text {
  pointer-events: none;
  color: inherit;
}
.dispo-main .dispo-item-container .dispo-item:hover {
  text-overflow: clip;
}
.dispo-main .dispo-item-container .dispo-item:hover .dispo-item-text {
  display: inline-block;
  animation: marquee 4s linear infinite;
}

.mp-container {
  --accent-color: white;
  --font-accent-color: black;
  background-color: #2c2c2e;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.07);
  display: flex;
  flex-direction: column;
  gap: 12px;
  position: relative;
}

.mp-top-content {
  display: flex;
  justify-content: space-between;
  padding: 12px;
  padding-bottom: 6;
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}
.mp-top-content .mp-data {
  display: flex;
  flex-direction: column;
}
.mp-top-content .mp-data .label {
  font-size: 0.9rem;
  font-weight: 600;
}
.mp-top-content .mp-data .time {
  font-size: 0.75em;
  text-align: start;
  opacity: 80%;
  padding: 0 1px;
}
.mp-top-content .mp-data .time span {
  font-size: 0.7em;
}
.mp-top-content .mp-status-button {
  display: flex;
  align-items: center;
  align-self: center;
  gap: 8px;
}
.mp-top-content .mp-status-button div {
  cursor: pointer;
  user-select: none;
  background-color: rgba(142, 142, 147, 0.12);
  border-radius: 4px;
  border: 1px solid rgba(255, 255, 255, 0.07);
  width: 28px;
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 200ms ease;
}
.mp-top-content .mp-status-button div:hover {
  border: 1px solid #e8591a;
  background-color: color-mix(in oklab, #e8591a 20%, transparent 80%);
  color: #e8591a;
}
.mp-top-content .mp-status-button a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  text-decoration: none;
  color: inherit;
}
.mp-top-content .mp-status-button a i {
  color: inherit;
}
.mp-top-content .mp-status-button i {
  color: inherit;
}
.mp-top-content .mp-status-button .autoplay {
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1;
}
.mp-top-content .mp-status-button .autoplay.true {
  border: 1px solid #e8591a;
  background-color: color-mix(in oklab, #e8591a 20%, transparent 80%);
  color: #e8591a;
}
.mp-top-content .mp-status-button .speed {
  font-size: 0.7rem;
  font-weight: bold;
  text-align: center;
  line-height: 20px;
  color: inherit;
}
.mp-top-content .mp-status-button .speed span {
  font-size: 0.8em;
  color: inherit;
}
.mp-top-content .mp-status-button .speed:hover {
  opacity: 100%;
}

.mp-bottom-content {
  flex-grow: 1;
  display: flex;
  align-items: center;
  position: relative;
  gap: 8px;
  padding: 0 12px 12px 12px;
}
.mp-bottom-content .progress-container {
  width: 100%;
  height: 58px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  padding: 4px 12px;
  border-radius: 10px;
  background-color: rgba(142, 142, 147, 0.12);
}
.mp-bottom-content .progress-container input[type=range] {
  position: absolute;
  width: calc(100% - 24px);
  appearance: none;
  background: #ddd;
  height: 5px;
  border-radius: 5px;
  outline: none;
  z-index: 3;
}
.mp-bottom-content .progress-container input[type=range].true {
  pointer-events: none;
  opacity: 0;
  transition: opacity 1s;
}
.mp-bottom-content .progress-container input[type=range]::-webkit-slider-thumb {
  appearance: none;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background-color: #e8591a;
  cursor: pointer;
  opacity: 1;
}
.mp-bottom-content .progress-container input + div {
  width: 100%;
}
.mp-bottom-content .progress-container div::part(wrapper) {
  opacity: 0;
}
.mp-bottom-content .progress-container input.true + div div::part(wrapper) {
  opacity: 100;
  transition: opacity 1s 0.5s;
}
.mp-bottom-content .url_loader {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
}
.mp-bottom-content .url_loader svg, .mp-bottom-content .url_loader img {
  scale: 1.5;
}

.playbutton_container {
  display: flex;
  align-items: center;
}

.playButton, .movetimeButton {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #ffffff;
  aspect-ratio: 1;
  border: none;
  outline: none;
}
.playButton i, .movetimeButton i {
  color: inherit;
}
.playButton:hover, .movetimeButton:hover {
  opacity: 0.5;
}

.playButton {
  width: 40px;
  border-radius: 100%;
  background-color: #e8591a;
  border: none;
  font-size: 1.2rem;
  cursor: pointer;
  padding: 0;
  opacity: 1;
  transition: all 200ms ease-in-out;
}

.movetimeButton {
  cursor: pointer;
  background-color: transparent;
  color: #e8591a;
  font-size: 1.1rem;
  display: grid;
  place-items: center;
}
.movetimeButton:active {
  scale: 0.9;
}

.seekbar-container {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 4px;
  opacity: 1;
  transition: opacity 4s;
}
@starting-style {
  .seekbar-container {
    opacity: 0;
  }
}

.seekbar {
  flex: 1;
  position: relative;
  overflow: hidden;
}
.seekbar .svg {
  display: block;
  width: 100%;
  cursor: pointer;
}

.buttons-container {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
}
.buttons-container button {
  cursor: pointer;
  background-color: #2c2c2e;
  border-radius: 4px;
  font-size: 1rem;
}

.clipboard-container {
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 500;
  padding: 4px 6px;
  background-color: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 4px;
  color: rgba(255, 255, 255, 0.6);
  height: 100%;
}
.clipboard-container.visible-text {
  padding: 8px 12px;
}
.clipboard-container, .clipboard-container i {
  transition: all 0.2s;
}
.clipboard-container:hover {
  background-color: rgba(255, 255, 255, 0.1);
}
.clipboard-container:hover, .clipboard-container:hover i {
  color: #FFFFFF;
}
.clipboard-container i {
  pointer-events: none;
  color: rgba(255, 255, 255, 0.6);
}
.clipboard-container .copied {
  color: #7bfe00;
}
.clipboard-container .error {
  color: #ef3c12;
}

.load-csv-container {
  position: relative;
  display: flex;
  align-items: center;
}

.load-button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  position: relative;
  z-index: 1;
  background-color: color-mix(in oklab, #EE7036 5%, transparent 95%);
  border: 1px solid color-mix(in oklab, #EE7036 20%, transparent 80%);
  padding: 0;
  border-radius: 25px;
  outline: none;
  cursor: pointer;
  text-transform: uppercase;
  font-size: 0.8rem;
  letter-spacing: 0.4px;
  color: #EE7036;
  padding: 4px 12px;
  user-select: none;
  transition: all 200ms ease-in-out;
}
.load-button:hover {
  background-color: color-mix(in oklab, #EE7036 20%, transparent 80%);
  border: 1px solid color-mix(in oklab, #EE7036 50%, transparent 50%);
}

.load-options {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-wrap: nowrap;
  border-radius: 5px;
  font-size: 0.9em;
}
.load-options input[type=file] {
  display: none;
}
.load-options label {
  cursor: pointer;
  margin: 2px;
  background: rgba(142, 142, 147, 0.5);
  padding: 6px;
  border-radius: 5px;
  width: 100%;
  text-align: center;
  user-select: none;
}
.load-options label:hover {
  background-color: #2c2c2e;
}
.load-options .QS-Label {
  font-weight: bold;
  background: rgb(87, 31, 37);
  background: linear-gradient(90deg, rgb(87, 31, 37) 0%, rgb(94, 84, 30) 100%);
}
.load-options .QS-Label:hover {
  text-shadow: 0px 1px 3px black;
  background: rgb(240, 60, 19);
  background: linear-gradient(90deg, rgb(240, 60, 19) 0%, rgb(255, 217, 0) 100%);
}
.load-options .google-label {
  background: #384427;
  background: linear-gradient(90deg, #384427 0%, #1e4550 100%);
  font-weight: bold;
}
.load-options .google-label:hover {
  text-shadow: 0px 1px 3px black;
  background: #77f402;
  background: linear-gradient(90deg, #77f402 0%, #04cbea 100%);
}

.search-container {
  flex-grow: 1;
  box-sizing: border-box;
  position: relative;
}
.search-container .search-icon {
  display: flex;
  align-items: center;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 8px;
  color: color-mix(in oklab, #ffffff 50%, #2c2c2e 100%);
  pointer-events: none;
  font-weight: 400;
  font-size: 0.8rem;
  transition: all 100ms ease-in;
}
.search-container .search-icon i {
  color: inherit;
  margin-right: 4px;
}
.search-container .search-input:focus ~ .search-icon,
.search-container .search-icon.hidden {
  opacity: 0;
}
.search-container .search-input {
  box-sizing: border-box;
  background-color: rgba(142, 142, 147, 0.12);
  border-radius: 4px;
  border: 1px solid rgba(255, 255, 255, 0.07);
  outline: none;
  height: 100%;
  width: 100%;
  padding: 0 8px;
  font-weight: bold;
}
.search-container .search-input:focus {
  border: 1px solid #e8591a;
}
.search-container .search-input:focus ~ .enter-icon i {
  color: #e8591a;
}
.search-container .enter-icon {
  cursor: pointer;
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-45%);
  font-size: 1.1rem;
}
.search-container .enter-icon i {
  color: color-mix(in oklab, #ffffff 50%, #2c2c2e 100%);
}

.dropdown-container {
  position: absolute;
  margin-left: 12px;
  z-index: 99999;
  opacity: 1;
  scale: 1 1;
  transform-origin: left bottom;
  transition: opacity 200ms, scale 200ms, display 200ms allow-discrete;
}
@starting-style {
  .dropdown-container {
    scale: 0 1;
    opacity: 0;
  }
}
.dropdown-container.false {
  scale: 0 1;
  opacity: 0;
  display: none;
}

.dropdown {
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: #2c2c2e;
  border: 2px solid rgba(142, 142, 147, 0.12);
  border-radius: 8px;
  padding: 12px;
}

.peak {
  position: absolute;
  width: 10px;
  height: 10px;
}

.dropdown-container[data-pos=right-top] {
  left: 100%;
  top: 0;
}
.dropdown-container[data-pos=right-top] .peak {
  right: 100%;
  top: 0;
  margin-top: 8px;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-right: 10px solid rgba(142, 142, 147, 0.12);
}

.dropdown-container[data-pos=right-bottom] {
  left: 100%;
  bottom: 0px;
}
.dropdown-container[data-pos=right-bottom] .peak {
  right: 100%;
  bottom: -5px;
  margin-bottom: 10px;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-right: 10px solid rgba(142, 142, 147, 0.12);
}

.dropdown-container[data-pos=top-center] {
  bottom: 0;
  right: 0;
  margin-bottom: 24px;
  transform-origin: bottom center;
}
@starting-style {
  .dropdown-container[data-pos=top-center] {
    scale: 1 0;
    opacity: 0;
  }
}
.dropdown-container[data-pos=top-center].false {
  scale: 1 0;
  opacity: 0;
  display: none;
}

.dropdown-container[data-pos=bottom-center] {
  left: -15px;
  margin-top: 15px;
  transform-origin: top center;
}
.dropdown-container[data-pos=bottom-center] .peak {
  top: -15px;
  left: 10px;
  width: 0px;
  height: 0px;
  border-style: solid;
  border-width: 0 10px 15px 10px;
  border-color: transparent transparent rgba(142, 142, 147, 0.12) transparent;
  transform: rotate(0deg);
}
@starting-style {
  .dropdown-container[data-pos=bottom-center] {
    scale: 1 0;
    opacity: 0;
  }
}
.dropdown-container[data-pos=bottom-center].false {
  scale: 1 0;
  opacity: 0;
  display: none;
}

.dropdown-container[data-pos=left-bottom] {
  top: calc(100% + 6px);
  right: calc(100% - 35px);
  margin-top: 15px;
  transform-origin: top left;
}
.dropdown-container[data-pos=left-bottom] .peak {
  top: -15px;
  right: 10px;
  width: 0px;
  height: 0px;
  border-style: solid;
  border-width: 0 10px 15px 10px;
  border-color: transparent transparent rgba(142, 142, 147, 0.12) transparent;
  transform: rotate(0deg);
}
@starting-style {
  .dropdown-container[data-pos=left-bottom] {
    scale: 1 0;
    opacity: 0;
  }
}
.dropdown-container[data-pos=left-bottom].false {
  scale: 1 0;
  opacity: 0;
  display: none;
}

.sub-modal-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 101;
  background-color: rgba(28, 28, 30, 0.2);
  backdrop-filter: blur(1px);
  display: flex;
  justify-content: center;
  align-items: center;
}
.sub-modal-bg.false {
  transition: opacity 200ms ease-in-out, display 210ms ease-in-out allow-discrete;
  opacity: 0;
  display: none;
}
.sub-modal-bg.false .modal-container {
  scale: 0;
}

.modal-bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 102;
  background-color: rgba(28, 28, 30, 0.6);
  backdrop-filter: blur(2px);
  display: flex;
  justify-content: center;
  align-items: center;
}
.modal-bg.false {
  transition: opacity 200ms ease-in-out, display 210ms ease-in-out allow-discrete;
  opacity: 0;
  display: none;
}
.modal-bg.false .modal-container {
  scale: 0;
}

.modal-container {
  position: relative;
  scale: 1;
  opacity: 1;
  background-color: #1c1c1e;
  border-radius: 10px;
  box-shadow: 0 2px 4px #1c1c1e;
  transition: all 200ms;
}
@starting-style {
  .modal-container {
    scale: 0;
    opacity: 0;
  }
}
.modal-container .modal-header {
  position: relative;
  display: grid;
  grid-template-columns: 0.1fr 1fr;
  background-color: rgba(142, 142, 147, 0.12);
  border-radius: 10px 10px 0 0;
  padding: 4px 6px;
}
.modal-container .modal-header .close-btn {
  justify-self: start;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 0.8em;
  line-height: 20px;
  width: 20px;
  aspect-ratio: 1;
  border-radius: 6px;
  background-color: #1c1c1e;
  color: #ffffff;
  opacity: 0.5;
  cursor: pointer;
  transition: all 200ms ease-in-out;
}
.modal-container .modal-header .close-btn:hover {
  background-color: #491218;
  color: #ef3c12;
  opacity: 1;
}
.modal-container .modal-header .title {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-transform: uppercase;
  font-size: 0.8em;
  text-wrap: nowrap;
}

.google-modal-container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 1em;
  margin: 1em;
}
.google-modal-container .header {
  display: flex;
  justify-content: space-around;
  width: 100%;
  font-weight: 500;
  text-transform: capitalize;
  user-select: none;
}
.google-modal-container .header div {
  background-color: #2c2c2e;
  color: rgba(142, 142, 147, 0.12);
  width: 50%;
  padding: 2px;
  text-align: center;
  cursor: pointer;
  font-size: 0.9rem;
  letter-spacing: 2px;
  transition: all 100ms ease-in-out;
}
.google-modal-container .header div.true {
  color: #ffffff;
  background-color: rgba(142, 142, 147, 0.12);
  scale: 1;
}

.get-sheets-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  max-width: 600px;
}
.get-sheets-container .url-container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
}
.get-sheets-container .url-container .url-label {
  text-align: center;
  color: color-mix(in oklab, #ffffff 60%, transparent);
}
.get-sheets-container .url-container input {
  background-color: #2c2c2e;
  border: none;
  outline: none;
  padding: 8px;
  border-radius: 4px;
  width: 250px;
  height: 25px;
}
.get-sheets-container .get-sheets-btn {
  display: flex;
  gap: 6px;
  background-color: #2c2c2e;
  color: color-mix(in oklab, #ffffff 80%, transparent);
  padding: 6px 20px;
  font-size: 0.9em;
  font-weight: bold;
  border-radius: 25px;
  user-select: none;
  cursor: pointer;
  transition: all 300ms ease-in-out;
}
.get-sheets-container .get-sheets-btn i {
  font-size: 1.2em;
  color: color-mix(in oklab, #ffffff 80%, transparent);
  transition: all 300ms ease-in-out;
}
.get-sheets-container .get-sheets-btn:hover, .get-sheets-container .get-sheets-btn:hover i {
  color: color-mix(in oklab, #ffffff 100%, transparent);
  text-shadow: 0 0 1px #ffffff;
}
.get-sheets-container .get-sheets-btn:active {
  background-color: #222b1a;
}
.get-sheets-container .get-sheets-btn.loading {
  pointer-events: none;
  opacity: 0.7;
}
.get-sheets-container .get-sheets-btn .loading-icon {
  animation: loader 500ms infinite linear;
}
.get-sheets-container .sheet-note {
  background-color: #331f0f;
  color: #ffa726;
  padding: 8px;
  border-radius: 8px;
  text-align: center;
  font-size: 0.7em;
  opacity: 0.8;
}

.sheet-note {
  background-color: #331f0f;
  color: #ffa726;
  padding: 8px;
  border-radius: 8px;
  text-align: center;
  font-size: 0.7em;
  opacity: 0.8;
}

.load-preview-btn {
  background-color: #0f484f;
  padding: 4px 10px;
  font-size: 0.8em;
  border-radius: 25px;
  user-select: none;
  cursor: pointer;
}
.load-preview-btn:hover {
  background-color: #103842;
}

.match-columns-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  transform-origin: top center;
  width: 100%;
}
.match-columns-container.false {
  display: none;
}

.more_tag_container {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}
.more_tag_container .options {
  display: flex;
  gap: 32px;
}
.more_tag_container .options span {
  font-size: 0.9rem;
  background-color: rgba(142, 142, 147, 0.12);
  padding: 6px 12px;
  border-radius: 10px;
  outline: 2px solid transparent;
  opacity: 0.5;
  user-select: none;
  transition: all 200ms ease-in-out;
}
.more_tag_container .options span.true {
  outline: 2px solid white;
  opacity: 1;
}

.refresh-sheet-btn {
  flex-shrink: 0;
  padding: 0 8px;
  background-color: rgba(142, 142, 147, 0.12);
  border-radius: 4px;
  border: 1px solid rgba(255, 255, 255, 0.07);
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}
.refresh-sheet-btn.loading {
  pointer-events: none;
}
.refresh-sheet-btn i {
  font-size: 0.9rem;
  color: #ffffff;
  pointer-events: none;
  transition: transform 200ms ease-in-out;
}
.refresh-sheet-btn:hover {
  background-color: rgba(255, 255, 255, 0.3);
}
.refresh-sheet-btn:hover i {
  transform: rotate(45deg);
}
.refresh-sheet-btn:active i {
  transform: rotate(180deg);
}
.refresh-sheet-btn .btn-loader {
  animation: loader 500ms infinite linear;
}

@keyframes loader {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(359deg);
  }
}
.google-signIn-btn {
  display: flex;
  align-items: center;
  border-radius: 50%;
  font-weight: 500;
  cursor: pointer;
  transition: all 300ms ease-in;
}
.google-signIn-btn i {
  text-align: center;
  pointer-events: none;
  font-size: 26px;
  color: #ffffff;
  color: #ef3c12;
  transition: all 200ms ease-in;
}
.google-signIn-btn.true i {
  color: #7bfe00;
}
.google-signIn-btn:hover i {
  opacity: 0.5;
}

@keyframes signInBtnTransition {
  0% {
    transform: scaleX(1);
    border-radius: 50px;
  }
  20% {
    transform: scaleX(0.25);
    border-radius: 100%;
  }
  80% {
    transform: scaleX(0.25);
    border-radius: 100%;
  }
  100% {
    transform: scaleX(1);
    border-radius: 50px;
  }
}
@keyframes signInContentTransition {
  0% {
    opacity: 1;
  }
  20% {
    opacity: 0;
  }
  80% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.lateral-tools-container {
  display: flex;
  flex-direction: column;
  gap: 2px;
  height: fit-content;
  padding: 0.2em 0.2em;
  border-radius: 25px;
  margin-right: 6px;
  background-color: #1c1c1e;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}
.lateral-tools-container hr {
  border: 2px solid #2c2c2e;
  border-radius: 25px;
  width: 100%;
  margin: 0 auto;
}

.button-tool {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: transparent;
  padding: 4px;
  cursor: pointer;
  border-radius: 4px;
  transition: all 100ms ease-in-out;
  position: relative;
}
.button-tool .button-title {
  display: flex;
  align-items: center;
  position: absolute;
  text-wrap: nowrap;
  background-color: #1c1c1e;
  outline: 2px solid #ffffff;
  right: 100%;
  margin-right: 0.5em;
  padding: 2px 10px;
  border-radius: 25px;
  transform-origin: right center;
  animation: bt-entrance 1.2s linear forwards;
}
.button-tool i {
  font-size: 1.5em;
  padding: 4px;
  color: color-mix(in oklab, #ffffff 100%, transparent 0%);
}
.button-tool.true {
  background-color: #01ddff;
}
.button-tool.true i {
  color: #1c1c1e;
}
.button-tool.true:hover {
  background-color: #01ddff;
  opacity: 0.9;
}
.button-tool:first-child {
  border-radius: 25px 25px 4px 4px;
}
.button-tool:last-child {
  border-radius: 4px 4px 25px 25px;
}
.button-tool:last-child:hover {
  background-color: #01ddff;
}
.button-tool:last-child:hover i {
  color: #1c1c1e;
}
.button-tool:hover {
  background-color: #2c2c2e;
  opacity: 0.9;
}

@keyframes bt-entrance {
  0% {
    opacity: 0;
    scale: 0 1;
  }
  10% {
    opacity: 1;
    scale: 1 1;
  }
  90% {
    opacity: 1;
    scale: 1 1;
  }
  100% {
    opacity: 0;
    scale: 0 1;
    pointer-events: none;
  }
}
.button-setting {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.5rem;
  padding: 4px;
  cursor: pointer;
  position: relative;
}

.settings-container {
  width: 60vw;
  height: 80vh;
  display: grid;
  grid: "sidebar body" 1fr/auto 1fr;
}
.settings-container .sidebar {
  grid-area: sidebar;
}
.settings-container .body {
  grid-area: body;
}

.sidebar {
  border-right: 2px solid #2c2c2e;
  padding: 20px 10px;
  position: relative;
}
.sidebar > ul {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 0;
}
.sidebar > ul > li {
  display: flex;
  align-items: center;
  gap: 6px;
  user-select: none;
  cursor: pointer;
  text-transform: capitalize;
  font-size: 0.9em;
  list-style: none;
  padding: 4px 6px;
  border-radius: 6px;
  position: relative;
  transition: all 200ms ease-in-out;
  z-index: 1;
}
.sidebar > ul > li i {
  font-size: 1.1em;
  transition: all 200ms ease-in-out;
}
.sidebar > ul > li::after {
  content: "";
  width: 2px;
  position: absolute;
  inset: 0;
  background-color: #2c2c2e;
  border-radius: 0px;
  z-index: -1;
  transition: all 200ms ease-in-out;
}
.sidebar > ul > li:hover::after {
  border-radius: 2px;
  width: 100%;
}
.sidebar > ul > li.selected:hover {
  color: #1c1c1e;
}
.sidebar > ul > li.selected:hover i {
  color: #1c1c1e;
}
.sidebar > ul > li.selected::after {
  background-color: #01ddff;
}
.sidebar .reset {
  display: flex;
  align-items: center;
  gap: 4px;
  cursor: pointer;
  position: absolute;
  bottom: 0;
  right: 50%;
  transform: translateX(50%);
  margin-bottom: 12px;
  background-color: #4A1A1A;
  color: #FF453A;
  white-space: nowrap;
  padding: 8px 32px;
  border-radius: 4px;
  transition: background-color 200ms ease-in-out, scale 100ms linear;
}
.sidebar .reset i {
  color: inherit;
  transition: rotate 400ms ease-in-out;
}
.sidebar .reset:hover {
  background-color: #3A1A1A;
}
.sidebar .reset:hover i {
  rotate: -360deg;
}
.sidebar .reset:active {
  scale: 0.95;
}

.body {
  height: 80vh;
  padding: 20px 10px;
  overflow: auto;
}
.body::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
.body::-webkit-scrollbar-track {
  background: transparent;
}
.body::-webkit-scrollbar-corner {
  background: transparent;
}
.body::-webkit-scrollbar-thumb {
  cursor: pointer;
  background-color: rgba(255, 255, 255, 0.3);
  border-radius: 6px;
}

.dispo-panel-container {
  height: 100%;
}

.dispo-panel-container article {
  display: flex;
  flex-direction: column;
  gap: 24px;
  text-align: center;
}
.dispo-panel-container article header {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.dispo-panel-container article header span {
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.6);
}

.dispo-inputs {
  display: flex;
  gap: 12px;
  flex-direction: column;
}
.dispo-inputs .name-and-color {
  display: flex;
  gap: 12px;
}
.dispo-inputs .name-and-color .dispo-name,
.dispo-inputs .name-and-color .dispo-color {
  display: flex;
  flex-direction: column;
  text-align: start;
  gap: 12px;
}
.dispo-inputs .name-and-color .dispo-name {
  flex-grow: 1;
}
.dispo-inputs .name-and-color .dispo-color > .dp-color {
  height: 100%;
  border: 1px solid rgba(255, 255, 255, 0.1);
}
.dispo-inputs .name-and-color .dispo-color > .dp-color.active {
  border: 1px solid #3b82f6;
}

.dispo-name input,
.modal-edit-container input {
  font-size: 14px;
  background-color: #2c2c2e;
  border: 1px solid rgba(255, 255, 255, 0.1);
  outline: none;
  border-radius: 12px;
  padding: 12px 16px;
  transition: all 0.2s;
}
.dispo-name input:focus,
.modal-edit-container input:focus {
  border: 1px solid #3b82f6;
}

.dp-inputs {
  margin: 0 auto;
  margin-bottom: 2em;
  margin-top: 1em;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  grid-template-rows: repeat(1, 1fr);
  gap: 0.5em 1em;
  justify-items: end;
  width: 90%;
}

.dp-name > input,
.dp-context > textarea {
  border: none;
  outline: none;
  background-color: #2c2c2e;
  border-radius: 6px;
  padding: 8px;
  width: 100%;
}

.dp-name {
  width: 100%;
  margin-top: 0.5em;
  position: relative;
}
.dp-name::before {
  content: "NAME";
  letter-spacing: 2px;
  font-size: 0.8em;
  font-weight: bold;
  position: absolute;
  top: 0;
  padding: 2px;
  transform: translateY(-100%);
}

.dp-color {
  cursor: pointer;
  user-select: none;
  background-image: repeating-linear-gradient(45deg, #515151 25%, transparent 25%, transparent 75%, #515151 75%, #515151), repeating-linear-gradient(45deg, #515151 25%, #282828 25%, #282828 75%, #515151 75%, #515151);
  background-position: 0 0, 8px 8px;
  background-size: 16px 16px;
  width: 80px;
  border-radius: 12px;
  position: relative;
  font-weight: bold;
  text-align: center;
}
.dp-color .color-container {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 2px;
}
.dp-color .color-container span {
  cursor: pointer;
  width: 30px;
  aspect-ratio: 1;
  border-radius: 4px;
  transition: all 200ms ease-in-out;
}
.dp-color .color-container span:hover {
  scale: 1.2;
}
.dp-color:hover span:not(:hover) {
  opacity: 0.5;
}

.dp-context {
  margin-top: 1.5em;
  width: 100%;
  grid-column: span 2/span 2;
  grid-row: span 2/span 2;
  position: relative;
}
.dp-context > textarea {
  resize: none;
  width: 100%;
}
.dp-context::before {
  content: "CONTEXT";
  letter-spacing: 2px;
  font-size: 0.8em;
  font-weight: bold;
  position: absolute;
  top: 0;
  padding: 2px;
  transform: translateY(-100%);
}

.dp-panel-button {
  background-color: #305011;
  width: 100%;
  grid-column: span 2/span 2;
  grid-row: span 2/span 2;
  padding: 4px;
  text-align: center;
  font-size: 0.9em;
  border-radius: 6px;
  cursor: pointer;
  user-select: none;
}

.dp-table-container {
  margin: 0 auto;
  width: 90%;
  height: 250px;
  overflow-y: auto;
  flex-grow: 1;
}
.dp-table-container::-webkit-scrollbar {
  width: 4px;
}
.dp-table-container::-webkit-scrollbar-thumb {
  background-color: rgba(142, 142, 147, 0.12);
  cursor: pointer;
}
.dp-table-container .dp-buttons {
  display: flex;
  flex-direction: column-reverse;
  align-items: start;
  font-size: 0.8em;
  gap: 2px;
  position: absolute;
  right: 0;
  bottom: 0;
  background-color: #2c2c2e;
  padding: 4px 0px;
  border-radius: 4px 0 0 0;
}
.dp-table-container .dp-buttons div {
  display: flex;
  justify-content: center;
  text-align: center;
  cursor: pointer;
  border-radius: 4px;
  width: 24px;
  aspect-ratio: 1;
}
.dp-table-container .dp-buttons div:hover i {
  opacity: 0.5;
}
.dp-table-container .dp-buttons i {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.4em;
}

.dp-table {
  width: 100%;
  table-layout: fixed;
}
.dp-table tbody:has(.enter) tr:not(.enter) {
  opacity: 0.8;
}
.dp-table tbody tr {
  transition: all 200ms ease-in-out;
}
.dp-table tbody tr.enter {
  opacity: 0.2;
}
.dp-table thead {
  user-select: none;
  text-align: center;
  position: sticky;
  top: 0;
  margin-bottom: 6px;
}
.dp-table th {
  background-color: rgba(142, 142, 147, 0.12);
}
.dp-table td {
  cursor: move;
  user-select: none;
  text-align: center;
  overflow-x: auto; /* Permite el scroll horizontal */
  white-space: nowrap;
}
.dp-table td::-webkit-scrollbar {
  height: 6px;
}
.dp-table td::-webkit-scrollbar-thumb {
  background-color: rgba(142, 142, 147, 0.12);
  cursor: pointer;
}
.dp-table th:nth-child(1),
.dp-table td:nth-child(1) {
  width: 30%;
}
.dp-table td:nth-child(2) div {
  color: rgba(142, 142, 147, 0.12);
  font-weight: bold;
  font-size: 0.9em;
  letter-spacing: 1px;
}
.dp-table th:nth-child(3) {
  background-color: transparent;
}
.dp-table th:nth-child(3),
.dp-table td:nth-child(3) {
  width: 48px;
  text-align: center;
}
.dp-table th:nth-child(3) i,
.dp-table td:nth-child(3) i {
  cursor: pointer;
  margin: 2px;
  border-radius: 2px;
  opacity: 1;
}
.dp-table th:nth-child(3) i:hover,
.dp-table td:nth-child(3) i:hover {
  opacity: 0.5;
}
.dp-table th:nth-child(3) .move,
.dp-table td:nth-child(3) .move {
  cursor: pointer;
}

.modal-delete-container {
  padding: 24px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 24px;
}
.modal-delete-container .alert {
  text-align: center;
  font-size: 0.8rem;
  color: #ef3c12;
  padding: 8px 12px;
  border-radius: 12px;
  border: 1px solid #ef3c12;
  background-color: #342623;
}
.modal-delete-container .alert i {
  font-size: 1.4rem;
  color: inherit;
}

.modal-edit-container {
  padding: 24px;
  width: 500px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.btn-container {
  display: flex;
  align-self: flex-end;
  gap: 0.5em;
}
.btn-container > div {
  opacity: 0.5;
  padding: 4px 16px;
  border-radius: 25px;
  cursor: pointer;
  transition: all 200ms linear;
  font-size: 0.9em;
  letter-spacing: 2px;
}
.btn-container > div:hover {
  opacity: 1;
}
.btn-container > div.confirm {
  opacity: 1;
  background-color: #491218;
  font-weight: 500;
}
.btn-container > div.confirm:hover {
  background-color: #ef3c12;
}
.btn-container > div.modify {
  opacity: 1;
  background-color: #103842;
}
.btn-container > div.modify:hover {
  background-color: #0f484f;
}

.sn-panel-container {
  height: 100%;
}

.sn-panel-container article {
  display: flex;
  flex-direction: column;
  gap: 24px;
  text-align: center;
}
.sn-panel-container article header {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.sn-panel-container article header span {
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.6);
}

.sn-input {
  text-align: start;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.sn-input textarea {
  font-size: 14px;
  background-color: #2c2c2e;
  border: 1px solid rgba(255, 255, 255, 0.1);
  outline: none;
  border-radius: 12px;
  padding: 12px 16px;
  resize: none;
  transition: all 0.2s;
}
.sn-input textarea:focus {
  border: 1px solid #3b82f6;
}

.sn-label {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 14px;
  font-weight: 600;
}

.sn-button {
  cursor: pointer;
  background: linear-gradient(135deg, #3b82f6, #6366f1);
  font-weight: 600;
  padding: 14px;
  border-radius: 12px;
  border: none;
  outline: none;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all 1000ms ease-in-out;
}
.sn-button i {
  font-size: 1rem;
  padding: 0 6px;
}
.sn-button:disabled {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.1019607843), rgba(255, 255, 255, 0.1019607843));
  cursor: not-allowed;
}
.sn-button:disabled,
.sn-button:disabled i {
  color: rgba(255, 255, 255, 0.3);
}

.sn-list-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.sn-list-header .buttons {
  display: flex;
  gap: 12px;
}

.sn-list {
  max-height: 300px;
  overflow-y: auto;
  border: 2px dashed rgba(142, 142, 147, 0.12);
  background-color: rgba(142, 142, 147, 0.12);
  border-radius: 12px;
  padding: 4px;
  margin-bottom: 12px;
}

.sn-panel-container .info-alert {
  display: flex;
  align-items: center;
  margin: 0 auto;
  width: fit-content;
  padding: 6px 12px;
  border-radius: 6px;
  color: #01ddff;
  background-color: #0f484f;
  font-size: 0.8rem;
}
.sn-panel-container .info-alert i {
  color: inherit;
  font-size: 1.2em;
  margin-right: 4px;
}

.gemini-panel-container {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.gemini-panel-container .title {
  display: flex;
  justify-content: start;
  align-items: center;
  padding: 0;
  width: 90%;
  margin: 0 auto;
}
.gemini-panel-container .title svg {
  width: 70px;
  height: 30px;
}

.gemini-inputs {
  margin: 0 auto;
  margin-bottom: 2em;
  margin-top: 2em;
  width: 90%;
  display: flex;
  flex-direction: column;
  gap: 0.5em 1em;
}

.gemini-apikey > input {
  border: none;
  outline: none;
  background-color: #2c2c2e;
  border-radius: 6px;
  padding: 8px;
  width: 100%;
}

.gemini-apikey {
  width: 100%;
  margin-top: 0.5em;
  position: relative;
}
.gemini-apikey::before {
  content: "API KEY";
  letter-spacing: 2px;
  font-size: 0.8em;
  font-weight: bold;
  position: absolute;
  top: 0;
  padding: 2px;
  transform: translateY(-100%);
}
.gemini-apikey.not-valid > input {
  outline: 1px solid red;
}
.gemini-apikey.valid > input {
  outline: 1px solid green;
}

.gemini-panel-button {
  background-color: #305011;
  width: 100%;
  grid-column: span 2/span 2;
  grid-row: span 2/span 2;
  padding: 4px;
  text-align: center;
  font-size: 0.9em;
  border-radius: 6px;
  cursor: pointer;
  user-select: none;
}
.gemini-panel-button.loading {
  pointer-events: none;
  opacity: 0.5;
}
.gemini-panel-button svg {
  width: 14px;
}

.ea-panel-container article {
  display: flex;
  flex-direction: column;
  gap: 24px;
  text-align: center;
}
.ea-panel-container article header {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.ea-panel-container article header span {
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.6);
}

.search-container {
  text-align: start;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.search-container .search-icon {
  font-size: 1rem;
  transition: all 100ms ease-in;
}
.search-container .search-icon i {
  height: 20px;
  line-height: 20px;
}
.search-container .search-input:focus ~ .search-icon, .search-container .search-icon.hidden {
  opacity: 0;
}
.search-container .search-input {
  border-radius: 8px;
  padding: 8px 8px;
}

.search-label {
  font-size: 14px;
  font-weight: 600;
}

.dispo-dropdown-container {
  position: absolute;
  top: 100%;
  z-index: 10;
  width: 100%;
  margin-top: 8px;
  background-color: #2c2c2e;
  border-radius: 12px;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.5);
  text-align: center;
  max-height: 256px;
  overflow-y: auto;
}
.dispo-dropdown-container::-webkit-scrollbar {
  width: 4px;
}
.dispo-dropdown-container::-webkit-scrollbar-thumb {
  background-color: rgba(142, 142, 147, 0.12);
  border-radius: 6px;
}
.dispo-dropdown-container .dispo-dropdown-ndf {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.3);
  margin: 32px 16px;
}
.dispo-dropdown-container .dispo-dropdown-item {
  cursor: pointer;
  width: 100%;
  padding: 12px 16px;
  opacity: 0.7;
  border: none;
  transition: opacity 200ms ease-in;
}
.dispo-dropdown-container .dispo-dropdown-item:hover {
  opacity: 1;
}

.select-dispo-container {
  display: flex;
  flex-direction: column;
  gap: 12px;
  text-align: start;
}

.select-dispo-label {
  font-size: 14px;
  font-weight: 600;
}

.select-dispo-placeholder {
  padding: 32px;
  background-color: rgba(142, 142, 147, 0.12);
  border-radius: 12px;
  border: 2px dashed rgba(142, 142, 147, 0.12);
  display: flex;
  flex-direction: column;
  gap: 4px;
  text-align: center;
}
.select-dispo-placeholder .title {
  color: rgba(255, 255, 255, 0.3);
  font-size: 14px;
}
.select-dispo-placeholder .subtitle {
  color: rgba(255, 255, 255, 0.3);
  font-size: 12px;
}

.select-dispo-items {
  background-color: rgba(142, 142, 147, 0.12);
  border-radius: 12px;
  border: 2px dashed rgba(142, 142, 147, 0.12);
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 8px;
  max-height: 200px;
  overflow-y: auto;
}
.select-dispo-items::-webkit-scrollbar {
  width: 4px;
}
.select-dispo-items::-webkit-scrollbar-thumb {
  background-color: rgba(142, 142, 147, 0.12);
  border-radius: 6px;
}
.select-dispo-items .item {
  background-color: rgba(142, 142, 147, 0.12);
  border-radius: 12px;
  padding: 8px 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}
.select-dispo-items .item:hover > button {
  opacity: 1;
}
.select-dispo-items .item button {
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  flex-shrink: 0;
  padding: 6px;
  border-radius: 8px;
  border: 1px solid rgba(142, 142, 147, 0.12);
  background-color: rgba(142, 142, 147, 0.12);
  opacity: 0;
  transition: all 200ms ease-in-out;
}
.select-dispo-items .item button i {
  color: #fe0e6b;
  font-size: 1.2em;
}
.select-dispo-items .item button:hover {
  border: 1px solid #fe0e6b;
  background-color: color-mix(in oklab, #fe0e6b 10%, transparent 90%);
}

.send-dispo-alert {
  cursor: pointer;
  background: linear-gradient(135deg, #3b82f6, #6366f1);
  border-radius: 12px;
  padding: 14px;
  font-weight: 600;
  border: none;
  outline: none;
  transition: all 200ms ease-in-out;
}
.send-dispo-alert:disabled {
  background: rgba(255, 255, 255, 0.1);
  cursor: not-allowed;
}

.assembly-container {
  grid-row: span 4/span 4;
  background-color: #2c2c2e;
  border-radius: 12px;
  padding: 10px;
  position: relative;
  opacity: 1;
  scale: 1 1;
  transform-origin: right center;
  transition: opacity 200ms ease-in-out, scale 200ms ease-in-out;
}
@starting-style {
  .assembly-container {
    scale: 0 1;
    opacity: 0;
  }
}
.assembly-container.false {
  opacity: 0;
  scale: 0 1;
  pointer-events: none;
}

.assembly-content {
  height: 100%;
}
.assembly-content .header {
  display: flex;
  justify-content: center;
  position: relative;
}
.assembly-content .header .title {
  text-transform: capitalize;
  letter-spacing: 2px;
  font-weight: bold;
}
.assembly-content .header .switch {
  cursor: pointer;
  font-size: 1.2rem;
  position: absolute;
  left: 4px;
}
.assembly-content .header .reload-wizard {
  cursor: pointer;
  font-size: 1.1rem;
  position: absolute;
  right: 4px;
}
.assembly-content .header .reload-wizard svg {
  fill: #ffffff;
  width: 16px;
}

.transcription, .summary {
  background-color: #2c2c2e;
  margin-top: 5px;
  border-radius: 5px 5px 15px 15px;
  width: 100%;
  height: 95%;
  position: relative;
  padding: 4px;
}
.transcription .content, .summary .content {
  height: 100%;
  overflow: auto;
  overflow-wrap: break-word; /* Permite romper palabras largas */
  hyphens: auto;
  font-size: 0.9em;
}
.transcription .content::-webkit-scrollbar, .summary .content::-webkit-scrollbar {
  width: 4px;
  border-radius: 6px;
  background-color: color-mix(in oklab, #1c1c1e 30%, transparent 100%);
}
.transcription .content::-webkit-scrollbar-thumb, .summary .content::-webkit-scrollbar-thumb {
  background-color: rgba(142, 142, 147, 0.12);
  border-radius: 6px;
  cursor: pointer;
}
.transcription .content div, .summary .content div {
  margin: 4px;
}

.summary {
  background-color: transparent;
  padding: 0;
}

.runview-container {
  background-color: #2c2c2e;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.runview-container i {
  text-align: center;
  font-size: 4em;
  margin-bottom: 10px;
  cursor: pointer;
}
.runview-container .text {
  user-select: none;
  font-weight: bold;
  letter-spacing: 1px;
}
.runview-container svg {
  width: 4em;
  margin-bottom: 10px;
  fill: rgba(142, 142, 147, 0.12);
}
.runview-container .assembly-error {
  background-color: #331f0f;
  color: #ffa726;
  padding: 8px;
  margin: 8px;
  border-radius: 8px;
  text-align: center;
  font-size: 0.7em;
  opacity: 0.8;
  position: absolute;
  bottom: 0;
}

.assembly-logo {
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0.5;
  font-size: 0.8em;
  user-select: none;
  text-decoration: none;
  font-style: italic;
}
.assembly-logo:hover {
  text-decoration: underline;
}
.assembly-logo svg {
  margin: 4px;
  width: 1.5em;
  height: 1.5em;
  padding: 0;
}

.stats-container {
  background-color: #2c2c2e;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.07);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
}
.stats-container.false {
  opacity: 0;
  scale: 0 1;
  pointer-events: none;
}
.stats-container .copy-stats {
  height: 100%;
  aspect-ratio: 1/1;
}
.stats-container header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}
.stats-container header .title {
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.07);
  background-color: #e8591a;
  font-size: 0.8rem;
  padding: 6px 10px;
  color: #ffffff;
}
@media (min-width: 1440px) and (max-width: 1920px) {
  .stats-container {
    font-size: 1.2rem;
  }
}

.stats-calls {
  padding: 6px 12px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 4px;
  width: 100%;
  height: 30%;
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}
.stats-calls .information {
  display: flex;
  gap: 10px;
}
.stats-calls .information div {
  display: flex;
  flex-direction: column-reverse;
  align-items: start;
  text-transform: uppercase;
}
.stats-calls .information span {
  font-size: 1.4em;
  font-weight: bold;
}
.stats-calls .information b {
  font-size: 0.8em;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.6);
}
.stats-calls .information:has(.true) div:not(.true) {
  opacity: 0.2;
}
.stats-calls .information .reviewed-calls.true > b {
  color: #30d158;
}
.stats-calls .information .remaining-calls.true > b {
  color: #ff453a;
}
.stats-calls .chart {
  height: 100%;
  aspect-ratio: 1;
}

.stats-time {
  padding: 6px 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
  width: 100%;
  height: 20%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.stats-time div {
  display: flex;
  flex-direction: column-reverse;
  text-align: center;
  width: min-content;
}
.stats-time span {
  font-size: 0.8em;
  font-weight: bold;
}
.stats-time b {
  font-size: 0.8em;
  color: rgba(255, 255, 255, 0.6);
}
.stats-time .current-time {
  text-align: start;
}
.stats-time .remaining-time {
  text-align: end;
}
.stats-time .separator {
  width: 2px;
  height: 80%;
  background-color: rgba(255, 255, 255, 0.07);
}

.dispo-stats {
  padding: 6px 12px;
  width: 100%;
  height: 30%;
  display: flex;
  justify-content: center;
}
.dispo-stats .empty-data {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  opacity: 0.8;
}
.dispo-stats .empty-data i {
  font-size: 3em;
}
.dispo-stats svg {
  cursor: pointer;
}

.custom-tooltip > .label {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 8px;
  border-radius: 4px;
  text-align: center;
}

.manual-load-container {
  padding: 12px;
  width: 500px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

.preview-table-container {
  margin: 0 auto;
  width: 90%;
  overflow: auto;
}
.preview-table-container::-webkit-scrollbar {
  height: 6px;
}
.preview-table-container::-webkit-scrollbar-thumb {
  background-color: rgba(142, 142, 147, 0.12);
  cursor: pointer;
  border-radius: 25px;
}
.preview-table-container table {
  width: 100%;
  white-space: nowrap;
}
.preview-table-container table thead {
  background-color: rgba(142, 142, 147, 0.12);
}
.preview-table-container table thead th {
  padding: 4px 8px;
}

.manual-questions-container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 10px 25px;
}
.manual-questions-container label {
  display: flex;
  justify-content: space-between;
  gap: 6px;
}
.manual-questions-container label input {
  background-color: #2c2c2e;
  outline: none;
  border: none;
  width: 44px;
}

.btn-reading {
  cursor: pointer;
  margin-top: 10px;
  padding: 4px 32px;
  border-radius: 25px;
  background-color: #103842;
}
.btn-reading:hover {
  background-color: #0f484f;
}

.batch-container {
  background-color: #2c2c2e;
  border-radius: 12px;
  padding: 16px 8px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
}
.batch-container .title h4 {
  text-align: center;
  color: rgba(255, 255, 255, 0.6);
}
.batch-container hr {
  width: 100%;
  border: 1px solid rgba(255, 255, 255, 0.3);
}

.batch-summary {
  padding: 0 8px;
  margin: 16px 0;
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 12px 0;
}
.batch-summary .value {
  justify-self: end;
}
.batch-summary .value select {
  cursor: pointer;
  outline: none;
  border: none;
  background-color: #2c2c2e;
  padding: 2px 6px;
  border-radius: 4px;
}
.batch-summary .value select::-webkit-scrollbar {
  width: 4px;
}
.batch-summary .value select::-webkit-scrollbar-thumb {
  background-color: rgba(142, 142, 147, 0.12);
  border-radius: 6px;
  cursor: pointer;
}
.batch-summary .value input {
  cursor: pointer;
  border: none;
  outline: none;
  scale: 1.5;
}

.batch-button-start {
  cursor: pointer;
  background-color: #0f484f;
  outline: none;
  border: none;
  width: 50%;
  padding: 12px;
  border-radius: 10px;
  transition: all 200ms ease-in-out;
}
.batch-button-start.blocked {
  cursor: default;
  pointer-events: none;
  background-color: color-mix(in oklab, #0f484f 50%, transparent 100%);
}
.batch-button-start svg {
  width: 2em;
  margin: 0;
  fill: #ffffff;
}

.chat-container {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background-color: #2c2c2e;
  border-radius: 12px;
  padding: 12px;
}

.chat-header {
  background-color: rgba(142, 142, 147, 0.12);
  padding: 4px 12px;
  border-radius: 15px 15px 0 0;
  letter-spacing: 2px;
  display: none;
}

.chat-message-list {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: 0%;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 8px;
}
.chat-message-list .greetings {
  font-weight: 400;
  line-height: 1.5;
  margin: 40px 24px;
}
.chat-message-list::-webkit-scrollbar {
  width: 4px;
}
.chat-message-list::-webkit-scrollbar-thumb {
  background-color: rgba(142, 142, 147, 0.12);
  border-radius: 6px;
  cursor: pointer;
}
.chat-message-list .message {
  background-color: #2c2c2e;
  padding: 12px;
  border-radius: 9px;
  max-width: 80%;
}
.chat-message-list .message.ai {
  width: 90%;
  margin: 0 auto;
}
.chat-message-list .message.user {
  align-self: flex-end;
  justify-items: end;
  line-height: 16px;
  background-color: #1c1c1e;
}
.chat-message-list .message.user div {
  width: 100%;
  word-break: break-word;
  overflow-wrap: break-word;
}
.chat-message-list .message.user:has(input:not(:checked)) div {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  line-clamp: 4;
  overflow: hidden;
}
.chat-message-list .message.user:has(input:not(:checked)) label::after {
  content: "Show More...";
  color: #01ddff;
}
.chat-message-list .message.user label {
  cursor: pointer;
  user-select: none;
}
.chat-message-list .message.user label input {
  display: none;
}
.chat-message-list .message.user label::after {
  content: "...Show Less";
  color: #01ddff;
}
.chat-message-list .message.ai {
  max-width: 100%;
  background-color: transparent;
}

.chat-input {
  display: flex;
  flex-direction: column;
  gap: 8px;
  background-color: rgba(142, 142, 147, 0.12);
  border-radius: 10px;
  padding: 8px;
}
.chat-input.loading {
  background-color: color-mix(in oklab, #2c2c2e 20%, transparent 80%);
}
.chat-input.loading .user-input .markers > ul {
  opacity: 0;
  max-height: 0;
  overflow: hidden;
}
.chat-input.loading .user-input textarea {
  pointer-events: none;
  opacity: 0.5;
}
.chat-input.loading .user-input button {
  pointer-events: none;
}
.chat-input .markers {
  display: flex;
  gap: 8px;
}
.chat-input .markers > ul {
  display: flex;
  gap: 4px;
  list-style: none;
  padding: 0;
  transition: all 0.4s ease-in-out, opacity 0.6s ease-in-out;
  max-height: 100px;
}
.chat-input .markers > ul li {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.9rem;
  background-color: transparent;
  padding: 4px 6px;
  border-radius: 25px;
  user-select: none;
  cursor: pointer;
  max-width: calc(1.2rem + 12px);
  overflow: hidden;
  white-space: nowrap;
  transition: all 0.3s linear;
}
.chat-input .markers > ul li.disabled {
  pointer-events: none;
}
.chat-input .markers > ul li i {
  pointer-events: none;
  flex-shrink: 0;
  font-size: 1.2rem;
}
.chat-input .markers > ul li span {
  pointer-events: none;
  opacity: 1;
}
.chat-input .markers > ul li:hover {
  background-color: rgba(142, 142, 147, 0.12);
  gap: 6px;
  max-width: 200px;
}
.chat-input .markers > ul .attach {
  align-self: center;
  margin-left: auto;
  opacity: 0.5;
  transition: all 0.3s linear;
}
.chat-input .markers > ul .attach:hover {
  opacity: 1;
}
.chat-input .markers > ul .attach label {
  cursor: pointer;
}
.chat-input .markers > ul .attach input {
  display: none;
}
.chat-input .markers > ul .attach i {
  display: flex;
  align-items: center;
  pointer-events: none;
  flex-shrink: 0;
  font-size: 1.3rem;
}
.chat-input .user-input {
  display: flex;
}
.chat-input .user-input textarea {
  background-color: transparent;
  border: none;
  outline: none;
  width: 100%;
  resize: none;
  field-sizing: content;
  min-height: 3rem;
  max-height: 10rem;
  transition: all 0.3s linear;
}
.chat-input .user-input button {
  cursor: pointer;
  display: flex;
  align-items: center;
  background-color: transparent;
  font-size: 1.2rem;
  align-self: flex-end;
  border: none;
  outline: none;
  width: 30px;
  height: 30px;
  border-radius: 100%;
  transition: all 0.2s linear;
  position: relative;
}
.chat-input .user-input button:hover {
  background-color: rgba(142, 142, 147, 0.12);
}
.chat-input .user-input button svg {
  right: 50%;
  transform: translateX(50%);
  position: absolute;
  scale: 1;
}

select {
  /* opt into customizing select */
  padding: 4px 12px;
  border-radius: 4px;
  border: none;
  outline: none;
  font-size: 0.8rem;
  /* set the off stage styles */
  /* set the on stage styles */
  /* transition the selected option changing */
  /* customize the invoking button */
  /* reset some picker styles */
  /* customize the picker contents */
}
select, select::picker(select) {
  appearance: base-select;
}
select:not(:open)::picker(select) {
  opacity: 0;
  transform: scale(0.95);
}
select:open::picker(select) {
  opacity: 1;
  transform: scale(1);
}
select selectedcontent > * {
  transition: transform 1s var(--ease-spring-4), display 1s allow-discrete, opacity 1s;
  opacity: 1;
}
@starting-style {
  select selectedcontent > * {
    opacity: 0;
    transform: translateY(10px);
  }
}
select > button {
  --_text: var(--text-1);
}
select > button:focus-visible {
  outline-offset: -3px;
}
select > button:has(selectedcontent) {
  align-items: start;
  min-inline-size: 20ch;
  flex-direction: column;
}
select > button.primary {
  --_bg: var(--link);
  --_border: none;
  --_text: var(--surface-1);
  --_ink-shadow: none;
}
select > button > div {
  inline-size: 100%;
  display: flex;
  justify-content: space-between;
  gap: var(--size-3);
}
select > button > small {
  color: var(--text-2);
}
select > button svg {
  inline-size: 2ch;
  transition: transform 0.3s var(--ease-elastic-out-2);
}
select:open > button svg {
  transform: rotate(0.5turn);
}
select::picker(select) {
  background: #1c1c1e;
  border-radius: var(--radius-2);
  padding: 6px;
  border-radius: 4px;
  margin-block: 5px;
  box-shadow: var(--shadow-5);
}
@media (forced-colors: none) {
  select::picker(select) {
    border: none;
  }
}
select > div {
  min-inline-size: calc(anchor-size(self-inline) + 20px);
  scroll-behavior: smooth;
}
select > div.scrollable {
  max-block-size: 20lh;
  scrollbar-width: thin;
}
select > div hr {
  margin-block: var(--size-2);
}
select > div label {
  display: block;
  position: sticky;
  top: 0;
  z-index: 1;
  background: var(--surface-3);
  font-size: var(--font-size-0);
  color: var(--text-2);
  font-weight: var(--font-weight-7);
  padding-block: var(--size-1);
  padding-inline: var(--size-3);
}
select > div option {
  display: flex;
  align-items: center;
  gap: var(--size-3);
  padding-block: var(--size-2);
  padding-inline: var(--size-3);
  font-size: var(--font-size-1);
  cursor: pointer;
  outline-offset: -1px;
}
select > div option::checkmark {
  font-weight: var(--font-weight-8);
}
select > div option:focus-visible {
  outline-offset: -1px;
}
select > div option:is(:focus, :hover) {
  background: oklch(from var(--link) l c h/25%);
  color: inherit;
}
select > div option:is(:checked) {
  background: var(--link);
  color: var(--surface-1);
  font-weight: var(--font-weight-8);
}

.sample-questions-containter {
  position: relative;
}
.sample-questions-containter button {
  cursor: pointer;
  border: none;
  outline: none;
  padding: 0;
  padding: 4px 8px;
  border-radius: 4px;
  background-color: transparent;
}
.sample-questions-containter button:hover {
  background-color: rgba(142, 142, 147, 0.12);
}

.sample-questions-items {
  display: flex;
  flex-direction: column;
  white-space: nowrap;
  font-size: 0.8rem;
}
.sample-questions-items span {
  cursor: pointer;
  background-color: transparent;
  padding: 4px 8px;
  border-radius: 4px;
}
.sample-questions-items span:hover {
  background-color: rgba(142, 142, 147, 0.12);
}

.auth-background {
  display: grid;
  place-content: center;
  width: 100vw;
  height: 100vh;
}
.auth-background::before {
  content: "";
  position: fixed;
  top: -50%;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 80%;
  background: radial-gradient(ellipse, rgba(232, 89, 26, 0.07) 0%, transparent 70%);
  pointer-events: none;
}

.auth-container {
  background-color: #2c2c2e;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.07);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  width: 400px;
  position: relative;
  box-shadow: 0 32px 80px rgba(0, 0, 0, 0.6), 0 0 0 1px rgba(255, 255, 255, 0.04);
}
.auth-container::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(to right, transparent, #e8591a 30%, #e8591a 70%, transparent);
}

.auth-header {
  width: 100%;
  display: flex;
  gap: 12px;
  flex-direction: column;
  padding: 28px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}
.auth-header .logo {
  width: 160px;
  margin: 0 auto;
}
.auth-header .title {
  text-align: center;
  font-size: 1.1rem;
  font-weight: 600;
}
.auth-header .subtitle {
  color: rgba(255, 255, 255, 0.6);
  text-align: center;
  font-size: 0.8rem;
}

.auth-main {
  width: 100%;
  padding: 0 28px;
}
.auth-main form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.auth-main form .form-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.auth-main form .form-group label {
  user-select: none;
  cursor: pointer;
  font-size: 0.8rem;
  font-weight: bold;
  color: rgba(255, 255, 255, 0.6);
  letter-spacing: 0.02em;
}
.auth-main form .form-group input {
  background-color: rgba(142, 142, 147, 0.12);
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.07);
  padding: 10px 14px;
  outline: none;
}
.auth-main form .form-group input:focus {
  border-color: #e8591a;
  background: rgba(255, 255, 255, 0.07);
  box-shadow: 0 0 0 3px color-mix(in oklab, #e8591a 10%, transparent);
}
.auth-main form button {
  width: 100%;
  align-self: center;
  background-color: #e8591a;
  border-radius: 8px;
  font-weight: 800;
  letter-spacing: 0.02em;
  padding: 12px;
  cursor: pointer;
  margin-top: 1rem;
  box-shadow: 0 2px 16px color-mix(in oklab, #e8591a 0%, transparent);
  transition: background 0.15s, transform 0.1s, box-shadow 0.15s;
}
.auth-main form button:hover {
  box-shadow: 0 2px 16px color-mix(in oklab, #e8591a 20%, transparent);
}
.auth-main form button:disabled {
  pointer-events: none;
  background-color: color-mix(in oklab, #e8591a 50%, transparent);
}

.auth-container .separator {
  display: flex;
  align-items: center;
  width: 100%;
  background-color: transparent;
}
.auth-container .separator .separator-line {
  flex: 1;
  height: 1px;
  background: rgba(255, 255, 255, 0.07);
}
.auth-container .separator .separator-text {
  padding: 0 16px;
  color: rgba(255, 255, 255, 0.07);
  font-size: 0.75rem;
  font-weight: 500;
  text-transform: uppercase;
}

.auth-footer {
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: center;
  width: 100%;
}

.auth-footer-text {
  padding: 0px 28px 28px 28px;
  font-size: 0.8rem;
  display: flex;
  gap: 8px;
}
.auth-footer-text span {
  cursor: pointer;
  color: #e8591a;
}

.register-disabled-footer {
  padding: 12px 28px 28px 28px;
  display: flex;
  flex-direction: column;
  text-align: center;
}
.register-disabled-footer .title {
  font-size: 0.8rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.6);
}
.register-disabled-footer .subtitle {
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.3);
}

.auth-container .error-message {
  padding: 8px 16px;
  background-color: #4a1029;
  color: #fe0e6b;
  border-radius: 8px;
  border: 1px solid #48192b;
  display: flex;
  gap: 4px;
  align-items: center;
  justify-content: center;
  font-size: 0.8rem;
  letter-spacing: 0.02em;
  max-width: 600px;
  width: 80%;
}
.auth-container .error-message i {
  color: inherit;
}

.password-requirements-panel {
  margin-top: 4px;
  background-color: color-mix(in oklab, rgba(142, 142, 147, 0.12) 50%, transparent);
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 8px;
  padding: 4px 8px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.password-requirements-panel div {
  font-size: 0.8rem;
  display: flex;
  gap: 4px;
  align-items: center;
  color: rgba(255, 255, 255, 0.3);
  transition: color 0.2s;
}
.password-requirements-panel div i {
  color: inherit;
}
.password-requirements-panel div.true {
  color: #01ddff;
}

.list-item {
  --primary-color: #fff;
  --secondary-color: rgba(255, 255, 255, 0.6);
  --tertiary-color: rgba(255, 255, 255, 0.3);
  --background-primary-color: color-mix(
    in srgb,
    var(--primary-color) 2%,
    transparent
  );
  display: grid;
  gap: 4px;
  grid-template-areas: "cid cid cid cid date-status date-status" "campaign campaign campaign campaign date-status date-status" "route route route route . ." "callinfo callinfo callinfo callinfo progress progress";
  background-color: inherit;
  padding: 12px 16px;
  min-width: 280px;
  flex-shrink: 0;
  cursor: pointer;
  user-select: none;
}
.list-item .cid {
  grid-area: cid;
  font-size: 17px;
  letter-spacing: -0.68px;
  font-weight: 600;
  color: #fff;
}
.list-item .campaign {
  grid-area: campaign;
  --container-width: 90%;
  max-width: var(--container-width);
  color: var(--secondary-color);
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  position: relative;
  cursor: pointer;
}
.list-item .campaign span {
  font-size: 13px;
  letter-spacing: -0.13px;
  color: inherit;
}
.list-item .campaign:hover {
  text-overflow: clip;
}
.list-item .campaign:hover span {
  display: inline-block;
  animation: marquee 4s linear infinite;
}
.list-item .route {
  grid-area: route;
  display: flex;
  gap: 8px;
}
.list-item .publisher,
.list-item .target {
  --container-width: 40%;
  max-width: var(--container-width);
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  position: relative;
  cursor: pointer;
}
.list-item .publisher span,
.list-item .target span {
  transition: transform 4s linear;
  color: inherit;
}
.list-item .publisher:hover,
.list-item .target:hover {
  text-overflow: clip;
}
.list-item .publisher:hover span,
.list-item .target:hover span {
  display: inline-block;
  animation: marquee 4s linear infinite;
}
.list-item .publisher,
.list-item .target,
.list-item .duration,
.list-item .endcallsource {
  font-size: 12px;
  letter-spacing: -0.12px;
  color: var(--secondary-color);
}
.list-item .iarrow-right {
  font-size: 12px;
  color: var(--secondary-color);
}
.list-item .callInfo {
  grid-area: callinfo;
  display: flex;
  gap: 8px;
}
.list-item .duration,
.list-item .endcallsource {
  display: flex;
  align-items: center;
  gap: 2px;
}
.list-item .duration i,
.list-item .endcallsource i {
  color: inherit;
}
.list-item:hover {
  background-color: color-mix(in srgb, var(--primary-color) 4%, transparent);
}

.date-status {
  grid-area: date-status;
  place-self: start end;
  display: flex;
  gap: 8px;
}
.date-status .date {
  display: flex;
  flex-direction: column;
  align-items: end;
  flex-shrink: 0;
}
.date-status .date span {
  font-size: 12px;
  letter-spacing: -0.13px;
  color: inherit;
}
.date-status .status {
  align-self: flex-start;
  background-color: var(--primary-color);
  border-radius: 100%;
  display: inline-block;
  width: 10px;
  aspect-ratio: 1;
  flex-shrink: 0;
  box-shadow: 0px 0px 2px 2px inherit;
}

.progress {
  display: flex;
  justify-content: end;
  grid-area: progress;
  gap: 8px;
}
.progress .process {
  display: grid;
  place-content: center;
  width: 24px;
  height: 24px;
  border-radius: 6px;
  font-size: 0.7rem;
  background-color: rgba(142, 142, 147, 0.12);
  color: #ffffff;
}
.progress .process i {
  color: inherit;
}
.progress .sheet {
  font-size: 1rem;
}
.progress .sheet .in-progress {
  animation: rotate-center 2s infinite linear;
}

@keyframes marquee {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}
.transcription-container {
  width: 100%;
  height: 100%;
  /************/
  background-color: #2c2c2e;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.07);
  display: flex;
  flex-direction: column;
  gap: 12px;
  overflow: hidden;
}
.transcription-container .transcription-header {
  display: flex;
  flex-direction: column;
}
.transcription-container .actions {
  display: flex;
  gap: 8px;
  padding: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}
.transcription-container .actions .tabs {
  display: flex;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.07);
  background-color: rgba(142, 142, 147, 0.12);
  padding: 4px;
  user-select: none;
}
.transcription-container .actions .tabs span {
  display: flex;
  align-items: center;
  height: 100%;
  cursor: pointer;
  padding: 2px 12px;
  border-radius: 4px;
  color: rgba(255, 255, 255, 0.6);
  transition: all 200ms ease-in-out;
  text-transform: capitalize;
  font-weight: bold;
  font-size: 0.8rem;
}
.transcription-container .actions .tabs .active {
  background-color: #e8591a;
  color: #ffffff;
}
.transcription-container .events {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0px 12px;
  background-color: rgba(142, 142, 147, 0.12);
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}
.transcription-container .events .title {
  flex-shrink: 0;
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.6);
  font-weight: bold;
  letter-spacing: 0.4px;
}
.transcription-container .events .pills {
  display: flex;
  flex-wrap: nowrap;
  gap: 12px;
  overflow-x: auto;
  font-size: 0.7rem;
  padding: 6px 0;
}
.transcription-container .events .pills::-webkit-scrollbar {
  height: 4px;
}
.transcription-container .events .pills::-webkit-scrollbar-thumb {
  background-color: rgba(142, 142, 147, 0.12);
  border-radius: 6px;
  cursor: pointer;
}
.transcription-container .events .pills .event-pill {
  background-color: rgba(142, 142, 147, 0.12);
  cursor: pointer;
  color: rgba(255, 255, 255, 0.3);
  flex-shrink: 0;
  text-wrap: nowrap;
  display: inline-block;
  user-select: none;
  padding: 4px 8px;
  border-radius: 25px;
  border: 1px solid rgba(255, 255, 255, 0.07);
}
.transcription-container .events .pills .event-pill:hover {
  color: rgba(255, 255, 255, 0.6);
}
.transcription-container .transcript {
  padding: 0 12px;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
  overflow-y: auto;
}
.transcription-container .transcript::-webkit-scrollbar {
  cursor: pointer;
  width: 6px;
}
.transcription-container .transcript::-webkit-scrollbar-thumb {
  cursor: pointer;
  background-color: rgba(142, 142, 147, 0.12);
  border-radius: 6px;
}
.transcription-container .transcript .event-header {
  text-align: center;
  text-transform: capitalize;
  position: relative;
  z-index: 1;
}
.transcription-container .transcript .event-header.highlighted h5 {
  color: #ffffff;
}
.transcription-container .transcript .event-header.highlighted::before {
  background-color: #ffffff;
}
.transcription-container .transcript .event-header h5 {
  width: fit-content;
  margin: 0 auto;
  color: rgba(255, 255, 255, 0.3);
  background-color: #2c2c2e;
  padding: 0 12px;
  transition: all 500ms ease;
}
.transcription-container .transcript .event-header::before {
  content: "";
  display: inline-block;
  width: 100%;
  height: 2px;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  background-color: rgba(142, 142, 147, 0.12);
  z-index: -1;
  transition: all 500ms ease;
}
.transcription-container .transcript .error {
  display: flex;
  justify-content: center;
  padding: 16px;
  border-radius: 8px;
  align-items: center;
  background-color: #3A2F1A;
  color: #FF9500;
  gap: 4px;
  font-size: 1rem;
}
.transcription-container .transcript .error i {
  color: inherit;
}

.download_btn {
  outline: none;
  border: 1px solid rgba(255, 255, 255, 0.07);
  background-color: rgba(142, 142, 147, 0.12);
  border-radius: 4px;
  aspect-ratio: 1;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
}
.download_btn i {
  font-size: 0.9rem;
}

.time-pill {
  outline: none;
  border: none;
  background-color: transparent;
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.3);
  cursor: pointer;
}

.line-container {
  background-color: transparent;
  border-radius: 8px;
  padding: 12px;
  display: flex;
  gap: 8px;
  transition: all 200ms ease;
  cursor: pointer;
}
.line-container:hover {
  background-color: rgba(142, 142, 147, 0.12);
}
.line-container:hover .line-time {
  color: #007AFF;
}

.line-time {
  flex-shrink: 0;
  align-self: flex-start;
  text-align: start;
  padding: 0;
  width: 40px;
}

.line-content {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.line-header {
  display: flex;
  align-items: center;
  gap: 8px;
}
.line-header .line-speaker {
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.3);
  user-select: none;
}
.line-header .line-speaker.A {
  color: #60a5fa;
}
.line-header .line-speaker.B {
  color: #FF375F;
}
.line-header .line-sentiment {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 0.5rem;
  border-radius: 15px;
  padding: 2px 6px;
  background-color: rgba(142, 142, 147, 0.12);
  user-select: none;
}
.line-header .line-sentiment.negative {
  background-color: #4A1A1A;
  color: #FF453A;
}
.line-header .line-sentiment.positive {
  background-color: #1B3A1B;
  color: #30D158;
}

.line-text {
  font-size: 0.813rem;
}

.main-header {
  padding: 6px 12px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 24px;
  align-items: center;
}
.main-header .logo {
  justify-self: start;
  width: 120px;
}
.main-header .tabs {
  justify-self: center;
}
.main-header .buttons {
  justify-self: end;
  display: flex;
  align-items: center;
  gap: 8px;
  color: #ee7036;
}
.main-header .buttons .btn-header {
  cursor: pointer;
  color: #ee7036;
  background-color: color-mix(in oklab, #ee7036 0%, transparent 100%);
  padding: 4px 6px;
  border-radius: 4px;
  transition: all 200ms ease-in-out;
}
.main-header .buttons .btn-header:hover {
  background-color: color-mix(in oklab, #ee7036 20%, transparent 80%);
}
.main-header .buttons .button-selection {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.5rem;
  padding: 4px;
  cursor: pointer;
  transition: opacity 100ms ease-in-out;
  position: relative;
}
.main-header .buttons .button-selection:hover {
  opacity: 0.6;
}

.main-header .view-mode-switch {
  width: fit-content;
  display: flex;
  gap: 16px;
  border-radius: 10px;
  background-color: #2c2c2e;
  border: 1px solid rgba(255, 255, 255, 0.07);
  padding: 4px;
  font-size: 0.8rem;
  font-weight: 500;
}
.main-header .view-mode-switch div {
  text-align: center;
  cursor: pointer;
  padding: 4px 12px;
  border-radius: 6px;
  color: rgba(255, 255, 255, 0.3);
}
.main-header .view-mode-switch div.active {
  background-color: #e8591a;
  color: #ffffff;
  box-shadow: 0px 0px 4px 2px color-mix(in oklab, #1c1c1e 30%, transparent 70%);
}

.main-header > .tabs {
  min-width: 0;
  display: flex;
  gap: 24px;
  overflow-x: auto;
  justify-self: stretch;
  justify-content: center;
}
.main-header > .tabs::-webkit-scrollbar {
  height: 4px;
}
.main-header > .tabs::-webkit-scrollbar-thumb {
  background-color: rgba(142, 142, 147, 0.12);
  border-radius: 6px;
}

.tab-item {
  display: flex;
  align-items: center;
  gap: 8px;
  color: rgba(255, 255, 255, 0.6);
}
.tab-item:hover, .tab-item.true {
  color: #ffffff;
}
.tab-item .text-container {
  max-width: 4rem;
  font-weight: 600;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  cursor: pointer;
  user-select: none;
  transition: color 100ms ease-in-out;
  color: inherit;
}
.tab-item .text-container .text {
  color: inherit;
  pointer-events: none;
}
.tab-item .text-container:hover {
  text-overflow: clip;
}
.tab-item .text-container:hover .text {
  display: inline-block;
  animation: marquee 4s linear infinite;
}
.tab-item i {
  cursor: pointer;
  transition: all 200ms ease;
  color: inherit;
}
.tab-item i:hover {
  color: #ff453a;
}

.separator {
  background-color: rgba(255, 255, 255, 0.07);
  width: 1px;
  height: 20px;
}

.gemini-button {
  cursor: pointer;
  background: linear-gradient(90deg, #9177c7, #4796e3);
  padding: 4px 8px;
  border-radius: 4px;
  text-transform: capitalize;
  font-size: 0.8rem;
  font-weight: 500;
  position: relative;
  display: flex;
  align-items: center;
  gap: 4px;
}
.gemini-button:disabled {
  opacity: 0.4;
  cursor: default;
}
.gemini-button .hidden-custom {
  opacity: 0;
}
.gemini-button svg {
  position: absolute;
  scale: 1;
  left: 50%;
  transform: translateX(-50%);
  fill: white;
}

/* Skeleton.css */
.skeleton-container {
  flex-grow: 1;
  padding: 20px;
  border-radius: 8px 8px 0 0;
  background-color: transparent;
  width: 100%;
  height: 100%;
  overflow: hidden;
  position: relative;
}
.skeleton-container::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  /* Degradado que actúa como el "reflejo" */
  transform: translateX(-100%);
  background-image: linear-gradient(-90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 40%, rgba(255, 255, 255, 0.2) 53%, rgba(255, 255, 255, 0.2) 57%, rgba(255, 255, 255, 0) 70%, rgba(255, 255, 255, 0) 100%);
  animation: shimmer 1.5s infinite;
}

/* Base de los bloques esqueleto */
.skeleton-line,
.skeleton-circle {
  background-color: #e0e0e0;
  overflow: hidden; /* Necesario para que el reflejo no se salga */
  position: relative;
}

/* Líneas de texto */
.skeleton-line {
  height: 16px;
  margin-bottom: 10px;
  border-radius: 4px;
}

/* Círculo para avatar/imagen */
.skeleton-circle {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  margin-right: 15px;
  float: left; /* Para que quede al lado del texto */
}

/* Animación de Reflejo (Shimmer) */
.skeleton-line::after,
.skeleton-circle::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  /* Degradado que actúa como el "reflejo" */
  transform: translateX(-100%);
  background-image: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.6) 20%, rgba(255, 255, 255, 0.7) 60%, rgba(255, 255, 255, 0) 100%);
  animation: shimmer 1.5s infinite;
}

@keyframes shimmer {
  100% {
    transform: translateX(100%); /* Mueve el reflejo de izquierda a derecha */
  }
}
@keyframes bgmove {
  0% {
    background-position: 0% 50%;
  }
  100% {
    background-position: 100% 50%;
  }
}
.green-bright.border {
  border: 1px solid #30D158;
}
.green-bright.text {
  color: #30D158;
}
.green-bright.bg-default {
  background-color: #1B3A1B;
  background-image: none;
}
.green-bright.bg-text {
  background-color: #30D158;
  background-image: none;
}
.green-bright.gradient {
  background-color: #1B3A1B;
  background: linear-gradient(90deg, #1B3A1B 0%, rgba(255, 255, 255, 0) 100%);
}

.green-medium.border {
  border: 1px solid #30D158;
}
.green-medium.text {
  color: #30D158;
}
.green-medium.bg-default {
  background-color: #1A2F1A;
  background-image: none;
}
.green-medium.bg-text {
  background-color: #30D158;
  background-image: none;
}
.green-medium.gradient {
  background-color: #1A2F1A;
  background: linear-gradient(90deg, #1A2F1A 0%, rgba(255, 255, 255, 0) 100%);
}

.green-dark.border {
  border: 1px solid #30D158;
}
.green-dark.text {
  color: #30D158;
}
.green-dark.bg-default {
  background-color: #1A251A;
  background-image: none;
}
.green-dark.bg-text {
  background-color: #30D158;
  background-image: none;
}
.green-dark.gradient {
  background-color: #1A251A;
  background: linear-gradient(90deg, #1A251A 0%, rgba(255, 255, 255, 0) 100%);
}

.pink-bright.border {
  border: 1px solid #FF375F;
}
.pink-bright.text {
  color: #FF375F;
}
.pink-bright.bg-default {
  background-color: #3D1A25;
  background-image: none;
}
.pink-bright.bg-text {
  background-color: #FF375F;
  background-image: none;
}
.pink-bright.gradient {
  background-color: #3D1A25;
  background: linear-gradient(90deg, #3D1A25 0%, rgba(255, 255, 255, 0) 100%);
}

.pink-medium.border {
  border: 1px solid #FF375F;
}
.pink-medium.text {
  color: #FF375F;
}
.pink-medium.bg-default {
  background-color: #331A22;
  background-image: none;
}
.pink-medium.bg-text {
  background-color: #FF375F;
  background-image: none;
}
.pink-medium.gradient {
  background-color: #331A22;
  background: linear-gradient(90deg, #331A22 0%, rgba(255, 255, 255, 0) 100%);
}

.pink-dark.border {
  border: 1px solid #FF375F;
}
.pink-dark.text {
  color: #FF375F;
}
.pink-dark.bg-default {
  background-color: #2A1A1F;
  background-image: none;
}
.pink-dark.bg-text {
  background-color: #FF375F;
  background-image: none;
}
.pink-dark.gradient {
  background-color: #2A1A1F;
  background: linear-gradient(90deg, #2A1A1F 0%, rgba(255, 255, 255, 0) 100%);
}

.cyan-bright.border {
  border: 1px solid #64D2FF;
}
.cyan-bright.text {
  color: #64D2FF;
}
.cyan-bright.bg-default {
  background-color: #1A3A4A;
  background-image: none;
}
.cyan-bright.bg-text {
  background-color: #64D2FF;
  background-image: none;
}
.cyan-bright.gradient {
  background-color: #1A3A4A;
  background: linear-gradient(90deg, #1A3A4A 0%, rgba(255, 255, 255, 0) 100%);
}

.cyan-medium.border {
  border: 1px solid #64D2FF;
}
.cyan-medium.text {
  color: #64D2FF;
}
.cyan-medium.bg-default {
  background-color: #1A303A;
  background-image: none;
}
.cyan-medium.bg-text {
  background-color: #64D2FF;
  background-image: none;
}
.cyan-medium.gradient {
  background-color: #1A303A;
  background: linear-gradient(90deg, #1A303A 0%, rgba(255, 255, 255, 0) 100%);
}

.cyan-dark.border {
  border: 1px solid #64D2FF;
}
.cyan-dark.text {
  color: #64D2FF;
}
.cyan-dark.bg-default {
  background-color: #1A272A;
  background-image: none;
}
.cyan-dark.bg-text {
  background-color: #64D2FF;
  background-image: none;
}
.cyan-dark.gradient {
  background-color: #1A272A;
  background: linear-gradient(90deg, #1A272A 0%, rgba(255, 255, 255, 0) 100%);
}

.red-bright.border {
  border: 1px solid #FF453A;
}
.red-bright.text {
  color: #FF453A;
}
.red-bright.bg-default {
  background-color: #4A1A1A;
  background-image: none;
}
.red-bright.bg-text {
  background-color: #FF453A;
  background-image: none;
}
.red-bright.gradient {
  background-color: #4A1A1A;
  background: linear-gradient(90deg, #4A1A1A 0%, rgba(255, 255, 255, 0) 100%);
}

.red-medium.border {
  border: 1px solid #FF453A;
}
.red-medium.text {
  color: #FF453A;
}
.red-medium.bg-default {
  background-color: #3A1A1A;
  background-image: none;
}
.red-medium.bg-text {
  background-color: #FF453A;
  background-image: none;
}
.red-medium.gradient {
  background-color: #3A1A1A;
  background: linear-gradient(90deg, #3A1A1A 0%, rgba(255, 255, 255, 0) 100%);
}

.red-dark.border {
  border: 1px solid #FF453A;
}
.red-dark.text {
  color: #FF453A;
}
.red-dark.bg-default {
  background-color: #2A1A1A;
  background-image: none;
}
.red-dark.bg-text {
  background-color: #FF453A;
  background-image: none;
}
.red-dark.gradient {
  background-color: #2A1A1A;
  background: linear-gradient(90deg, #2A1A1A 0%, rgba(255, 255, 255, 0) 100%);
}

.yellow-bright.border {
  border: 1px solid #FFD60A;
}
.yellow-bright.text {
  color: #FFD60A;
}
.yellow-bright.bg-default {
  background-color: #4A3A1A;
  background-image: none;
}
.yellow-bright.bg-text {
  background-color: #FFD60A;
  background-image: none;
}
.yellow-bright.gradient {
  background-color: #4A3A1A;
  background: linear-gradient(90deg, #4A3A1A 0%, rgba(255, 255, 255, 0) 100%);
}

.yellow-medium.border {
  border: 1px solid #FFD60A;
}
.yellow-medium.text {
  color: #FFD60A;
}
.yellow-medium.bg-default {
  background-color: #3A2F1A;
  background-image: none;
}
.yellow-medium.bg-text {
  background-color: #FFD60A;
  background-image: none;
}
.yellow-medium.gradient {
  background-color: #3A2F1A;
  background: linear-gradient(90deg, #3A2F1A 0%, rgba(255, 255, 255, 0) 100%);
}

.yellow-dark.border {
  border: 1px solid #FFD60A;
}
.yellow-dark.text {
  color: #FFD60A;
}
.yellow-dark.bg-default {
  background-color: #2A251A;
  background-image: none;
}
.yellow-dark.bg-text {
  background-color: #FFD60A;
  background-image: none;
}
.yellow-dark.gradient {
  background-color: #2A251A;
  background: linear-gradient(90deg, #2A251A 0%, rgba(255, 255, 255, 0) 100%);
}

.orange-bright.border {
  border: 1px solid #FF9500;
}
.orange-bright.text {
  color: #FF9500;
}
.orange-bright.bg-default {
  background-color: #4A2F1A;
  background-image: none;
}
.orange-bright.bg-text {
  background-color: #FF9500;
  background-image: none;
}
.orange-bright.gradient {
  background-color: #4A2F1A;
  background: linear-gradient(90deg, #4A2F1A 0%, rgba(255, 255, 255, 0) 100%);
}

.orange-medium.border {
  border: 1px solid #FF9500;
}
.orange-medium.text {
  color: #FF9500;
}
.orange-medium.bg-default {
  background-color: #3A251A;
  background-image: none;
}
.orange-medium.bg-text {
  background-color: #FF9500;
  background-image: none;
}
.orange-medium.gradient {
  background-color: #3A251A;
  background: linear-gradient(90deg, #3A251A 0%, rgba(255, 255, 255, 0) 100%);
}

.orange-dark.border {
  border: 1px solid #FF9500;
}
.orange-dark.text {
  color: #FF9500;
}
.orange-dark.bg-default {
  background-color: #2A1F1A;
  background-image: none;
}
.orange-dark.bg-text {
  background-color: #FF9500;
  background-image: none;
}
.orange-dark.gradient {
  background-color: #2A1F1A;
  background: linear-gradient(90deg, #2A1F1A 0%, rgba(255, 255, 255, 0) 100%);
}

.purple-bright.border {
  border: 1px solid #BF5AF2;
}
.purple-bright.text {
  color: #BF5AF2;
}
.purple-bright.bg-default {
  background-color: #3A1A4A;
  background-image: none;
}
.purple-bright.bg-text {
  background-color: #BF5AF2;
  background-image: none;
}
.purple-bright.gradient {
  background-color: #3A1A4A;
  background: linear-gradient(90deg, #3A1A4A 0%, rgba(255, 255, 255, 0) 100%);
}

.purple-medium.border {
  border: 1px solid #BF5AF2;
}
.purple-medium.text {
  color: #BF5AF2;
}
.purple-medium.bg-default {
  background-color: #2F1A3A;
  background-image: none;
}
.purple-medium.bg-text {
  background-color: #BF5AF2;
  background-image: none;
}
.purple-medium.gradient {
  background-color: #2F1A3A;
  background: linear-gradient(90deg, #2F1A3A 0%, rgba(255, 255, 255, 0) 100%);
}

.purple-dark.border {
  border: 1px solid #BF5AF2;
}
.purple-dark.text {
  color: #BF5AF2;
}
.purple-dark.bg-default {
  background-color: #251A2A;
  background-image: none;
}
.purple-dark.bg-text {
  background-color: #BF5AF2;
  background-image: none;
}
.purple-dark.gradient {
  background-color: #251A2A;
  background: linear-gradient(90deg, #251A2A 0%, rgba(255, 255, 255, 0) 100%);
}

.blue-bright.border {
  border: 1px solid #007AFF;
}
.blue-bright.text {
  color: #007AFF;
}
.blue-bright.bg-default {
  background-color: #1A2A4A;
  background-image: none;
}
.blue-bright.bg-text {
  background-color: #007AFF;
  background-image: none;
}
.blue-bright.gradient {
  background-color: #1A2A4A;
  background: linear-gradient(90deg, #1A2A4A 0%, rgba(255, 255, 255, 0) 100%);
}

.blue-medium.border {
  border: 1px solid #007AFF;
}
.blue-medium.text {
  color: #007AFF;
}
.blue-medium.bg-default {
  background-color: #1A253A;
  background-image: none;
}
.blue-medium.bg-text {
  background-color: #007AFF;
  background-image: none;
}
.blue-medium.gradient {
  background-color: #1A253A;
  background: linear-gradient(90deg, #1A253A 0%, rgba(255, 255, 255, 0) 100%);
}

.blue-dark.border {
  border: 1px solid #007AFF;
}
.blue-dark.text {
  color: #007AFF;
}
.blue-dark.bg-default {
  background-color: #1A1F2A;
  background-image: none;
}
.blue-dark.bg-text {
  background-color: #007AFF;
  background-image: none;
}
.blue-dark.gradient {
  background-color: #1A1F2A;
  background: linear-gradient(90deg, #1A1F2A 0%, rgba(255, 255, 255, 0) 100%);
}

.indigo-bright.border {
  border: 1px solid #5856D6;
}
.indigo-bright.text {
  color: #5856D6;
}
.indigo-bright.bg-default {
  background-color: #2A1A4A;
  background-image: none;
}
.indigo-bright.bg-text {
  background-color: #5856D6;
  background-image: none;
}
.indigo-bright.gradient {
  background-color: #2A1A4A;
  background: linear-gradient(90deg, #2A1A4A 0%, rgba(255, 255, 255, 0) 100%);
}

.indigo-medium.border {
  border: 1px solid #5856D6;
}
.indigo-medium.text {
  color: #5856D6;
}
.indigo-medium.bg-default {
  background-color: #251A3A;
  background-image: none;
}
.indigo-medium.bg-text {
  background-color: #5856D6;
  background-image: none;
}
.indigo-medium.gradient {
  background-color: #251A3A;
  background: linear-gradient(90deg, #251A3A 0%, rgba(255, 255, 255, 0) 100%);
}

.indigo-dark.border {
  border: 1px solid #5856D6;
}
.indigo-dark.text {
  color: #5856D6;
}
.indigo-dark.bg-default {
  background-color: #1F1A2A;
  background-image: none;
}
.indigo-dark.bg-text {
  background-color: #5856D6;
  background-image: none;
}
.indigo-dark.gradient {
  background-color: #1F1A2A;
  background: linear-gradient(90deg, #1F1A2A 0%, rgba(255, 255, 255, 0) 100%);
}

.neutral-bright.border {
  border: 1px solid #FFFFFF;
}
.neutral-bright.text {
  color: #FFFFFF;
}
.neutral-bright.bg-default {
  background-color: #3A3A3C;
  background-image: none;
}
.neutral-bright.bg-text {
  background-color: #FFFFFF;
  background-image: none;
}
.neutral-bright.gradient {
  background-color: #3A3A3C;
  background: linear-gradient(90deg, #3A3A3C 0%, rgba(255, 255, 255, 0) 100%);
}

.neutral-medium.border {
  border: 1px solid #FFFFFF;
}
.neutral-medium.text {
  color: #FFFFFF;
}
.neutral-medium.bg-default {
  background-color: #2C2C2E;
  background-image: none;
}
.neutral-medium.bg-text {
  background-color: #FFFFFF;
  background-image: none;
}
.neutral-medium.gradient {
  background-color: #2C2C2E;
  background: linear-gradient(90deg, #2C2C2E 0%, rgba(255, 255, 255, 0) 100%);
}

.neutral-dark.border {
  border: 1px solid #FFFFFF;
}
.neutral-dark.text {
  color: #FFFFFF;
}
.neutral-dark.bg-default {
  background-color: #1C1C1E;
  background-image: none;
}
.neutral-dark.bg-text {
  background-color: #FFFFFF;
  background-image: none;
}
.neutral-dark.gradient {
  background-color: #1C1C1E;
  background: linear-gradient(90deg, #1C1C1E 0%, rgba(255, 255, 255, 0) 100%);
}

@keyframes bgmove {
  0% {
    background-position: 0% 50%;
  }
  100% {
    background-position: 200% 50%;
  }
}
.dispo-suggested.animated {
  color: #ffffff;
  background: linear-gradient(to right, #8a2be2, #4169e1, #8a2be2);
  background-size: 200% 100%;
  animation: bgmove 2s linear infinite;
}
.dispo-suggested.static {
  color: #ffffff;
  background: linear-gradient(to right, #8a2be2, #4169e1);
}

.clickable {
  cursor: pointer;
  transition: opacity 0.2s ease;
}
.clickable:hover {
  opacity: 0.85;
}

.disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.mapping-container {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.mapping-fields {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}

.mapping-field-row {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.mapping-field-row label span {
  color: red;
}
.mapping-field-row select {
  background-color: #2c2c2e;
}

.mapping-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}
.mapping-actions button {
  cursor: pointer;
  padding: 8px;
  border-radius: 10px;
  font-weight: bold;
  transition: all 200ms ease-in-out;
}
.mapping-actions button.cancel-btn {
  background-color: #2c2c2e;
}
.mapping-actions button.confirm-btn {
  background-color: #30D158;
  color: #F5F5F7;
}
.mapping-actions button:disabled {
  background-color: #2c2c2e;
  opacity: 0.5;
  pointer-events: none;
}

.has-error {
  outline: 2px solid #FF453A;
}

.saved-sheet-btn {
  flex-shrink: 0;
  height: 32px;
  padding: 0 12px;
  background-color: rgba(142, 142, 147, 0.12);
  border-radius: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}
.saved-sheet-btn.loading {
  pointer-events: none;
}
.saved-sheet-btn .btn-loader {
  animation: loader 500ms infinite linear;
}

.main-dashboard {
  position: relative;
  flex-grow: 1;
  width: 100%;
  /* height: calc(viewportHeight - mainHeader - managerHeader - padding) */
  height: calc(100vh - 46px - 26px - 12px);
  padding: 0 12px;
  padding-bottom: 12px;
  display: grid;
  grid-auto-columns: 1fr;
  grid-template-columns: repeat(6, 1fr);
  grid-template-rows: repeat(9, 1fr);
  gap: 16px;
  grid-template-areas: "performance performance performance performance disposition disposition" "performance performance performance performance disposition disposition" "performance performance performance performance disposition disposition" "performance performance performance performance disposition disposition" "performance performance performance performance disposition disposition" "performance performance performance performance disposition disposition" "campaign campaign campaign campaign disposition disposition" "campaign campaign campaign campaign disposition disposition" "campaign campaign campaign campaign disposition disposition";
}
.main-dashboard .manager-view-header {
  grid-area: header;
}
.main-dashboard .performance-summary {
  grid-area: performance;
}
.main-dashboard .campaign-view {
  grid-area: campaign;
}
.main-dashboard .review-disposition {
  grid-area: disposition;
}
.main-dashboard section {
  border-radius: 12px;
  background-color: #2c2c2e;
  border: 1px solid rgba(255, 255, 255, 0.07);
}

.review-disposition {
  display: flex;
  flex-direction: column;
}

.review-disposition > .table-container {
  overflow-y: auto;
  overflow-x: auto;
  width: 100%;
  background: transparent;
}
.review-disposition > .table-container::-webkit-scrollbar {
  width: 4px;
}
.review-disposition > .table-container::-webkit-scrollbar-thumb {
  background-color: rgba(142, 142, 147, 0.12);
  border-radius: 6px;
}

.custom-table {
  padding: 12px;
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  text-align: center;
}
.custom-table thead {
  position: sticky;
  top: 0;
  z-index: 10;
  background-color: #2c2c2e;
}
.custom-table thead th {
  padding: 4px 24px;
  font-size: 0.8rem;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.3);
  letter-spacing: 0.05em;
  font-weight: 600;
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}
.custom-table tbody tr {
  transition: background-color 0.2s;
}
.custom-table tbody tr:nth-child(even) {
  background-color: #2c2c2e;
}
.custom-table tbody tr:hover {
  background-color: rgba(255, 255, 255, 0.3);
}
.custom-table tbody tr td {
  padding: 12px 16px;
  font-size: 0.875rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}
.custom-table tbody tr td.anchor {
  cursor: pointer;
}
.custom-table tbody tr td.anchor:hover {
  text-decoration: underline;
}
.custom-table tbody .status {
  display: inline-block;
  width: 10px;
  outline: 1px solid #1c1c1e;
  aspect-ratio: 1;
  border-radius: 100%;
}

.review-disposition .dispo-stats-container {
  display: flex;
  justify-content: space-between;
  padding: 12px;
}
.review-disposition .dispo-stats-container .call-data {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.review-disposition .dispo-stats-container .call-data .remaining,
.review-disposition .dispo-stats-container .call-data .reviewed,
.review-disposition .dispo-stats-container .call-data .total {
  padding: 8px 16px;
  border-radius: 8px;
  background-color: rgba(142, 142, 147, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.07);
}
.review-disposition .dispo-stats-container .call-data .remaining .title,
.review-disposition .dispo-stats-container .call-data .reviewed .title,
.review-disposition .dispo-stats-container .call-data .total .title {
  color: rgba(255, 255, 255, 0.3);
}
.review-disposition .dispo-stats-container .call-data .remaining .value,
.review-disposition .dispo-stats-container .call-data .reviewed .value,
.review-disposition .dispo-stats-container .call-data .total .value {
  display: block;
  font-size: 1.5rem;
  text-align: end;
}
.review-disposition .dispo-stats-container .call-data .remaining .value.ghost,
.review-disposition .dispo-stats-container .call-data .reviewed .value.ghost,
.review-disposition .dispo-stats-container .call-data .total .value.ghost {
  color: rgba(255, 255, 255, 0.3);
}

.review-disposition > .manager-view-module-header .search-container {
  width: 150px;
}

.manager-view-module-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px;
}
.manager-view-module-header span {
  font-weight: bold;
  font-size: 0.9rem;
  letter-spacing: 0.4px;
  text-wrap: nowrap;
}
.manager-view-module-header .buttons {
  display: flex;
  gap: 12px;
  height: 28px;
}
.manager-view-module-header .buttons button {
  padding: 0 8px;
  border: 1px solid rgba(255, 255, 255, 0.07);
}
.manager-view-module-header .search-container {
  height: 28px;
}
.manager-view-module-header .search-container .search-input {
  height: 28px;
  border: 1px solid rgba(255, 255, 255, 0.07);
}
.manager-view-module-header button {
  cursor: pointer;
  display: grid;
  place-content: center;
  background-color: rgba(142, 142, 147, 0.12);
  padding: 6px;
  border-radius: 4px;
}
.manager-view-module-header button i {
  font-size: 0.9rem;
}
.manager-view-module-header button:disabled {
  cursor: progress;
  pointer-events: none;
}
.manager-view-module-header button:disabled i {
  animation: rotate-center 1s infinite linear;
}
.manager-view-module-header button:hover {
  background-color: rgba(255, 255, 255, 0.3);
}

/* ── EMPTY STATE ── */
.empty-state-dispo {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 28px 20px 20px;
  gap: 10px;
}

.empty-icon {
  width: 52px;
  height: 52px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255, 255, 255, 0.2);
  margin-bottom: 4px;
}

.empty-title {
  font-size: 13px;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.45);
  text-align: center;
}

.empty-desc {
  font-size: 11.5px;
  color: rgba(255, 255, 255, 0.22);
  text-align: center;
  line-height: 1.5;
  max-width: 200px;
}

/* Ghost table rows */
.ghost-table {
  width: 100%;
  padding: 12px;
}

.ghost-row {
  display: grid;
  grid-template-columns: 60px 1fr 60px;
  padding: 9px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
  align-items: center;
  gap: 8px;
}

.ghost-row:last-child {
  border-bottom: none;
}

.ghost-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.07);
  margin: 0 auto;
}

.ghost-bar {
  height: 9px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.06);
  margin: 0 auto;
}

.ghost-num {
  height: 9px;
  width: 14px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.06);
  margin-left: auto;
}

.campaign-view {
  display: flex;
  flex-direction: column;
}
.campaign-view span {
  text-transform: capitalize;
}

.campaign-view > .tabs {
  display: flex;
}
.campaign-view > .tabs div {
  cursor: pointer;
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.3);
  letter-spacing: 0.4px;
  background-color: transparent;
  padding: 8px 24px;
  border-radius: 8px 8px 0 0;
}
.campaign-view > .tabs div.active {
  color: #ffffff;
  border-bottom: 2px solid #e8591a;
}

.campaign-view > .table-container {
  overflow-y: auto;
  overflow-x: hidden;
  width: 100%;
}
.campaign-view > .table-container::-webkit-scrollbar {
  width: 4px;
}
.campaign-view > .table-container::-webkit-scrollbar-thumb {
  background-color: rgba(142, 142, 147, 0.12);
  border-radius: 6px;
}
.campaign-view > .table-container .custom-table {
  padding: 0 12px;
}
.campaign-view > .table-container .custom-table thead {
  background-color: #3c3c3c;
}
.campaign-view > .table-container .custom-table tbody > tr:nth-child(even) {
  background-color: rgba(142, 142, 147, 0.12);
}
.campaign-view > .table-container .custom-table tbody > tr:hover {
  background-color: rgba(255, 255, 255, 0.3);
}

.performance-summary {
  display: flex;
  flex-direction: column;
}

.performance-summary > .table-container {
  overflow-y: auto;
  overflow-x: auto;
  width: 100%;
  height: 50%;
  background: transparent;
}
.performance-summary > .table-container::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
.performance-summary > .table-container::-webkit-scrollbar-track {
  background: transparent;
}
.performance-summary > .table-container::-webkit-scrollbar-corner {
  background: transparent;
}
.performance-summary > .table-container::-webkit-scrollbar-thumb {
  cursor: pointer;
  background-color: rgba(255, 255, 255, 0.3);
  border-radius: 6px;
}

.performance-summary .custom-table {
  padding: 0;
}
.performance-summary .custom-table thead {
  background-color: #3c3c3c;
}
.performance-summary .custom-table td {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 200px;
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.6);
}
.performance-summary .custom-table .dispo span {
  padding: 6px 8px;
  border-radius: 8px;
}
.performance-summary .custom-table .goto {
  padding: 0 12px;
}
.performance-summary .custom-table .goto span {
  width: fit-content;
  display: grid;
  border: 1px solid rgba(255, 255, 255, 0.07);
  padding: 4px;
  border-radius: 8px;
}
.performance-summary .custom-table .goto i {
  cursor: pointer;
  font-size: 1rem;
  color: rgba(255, 255, 255, 0.3);
}

.area-container {
  position: relative;
}

.area-nodata {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4px;
  position: absolute;
  z-index: 99;
  background-color: #2c2c2e;
  width: 100%;
  height: 100%;
  font-size: 2rem;
  letter-spacing: 4px;
}
.area-nodata, .area-nodata i {
  color: rgba(255, 255, 255, 0.3);
}
.area-nodata svg {
  width: 50px;
  fill: white;
}

.chart-empty {
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  position: absolute;
  z-index: 99;
  background-color: #2c2c2e;
  width: 100%;
}

.chart-empty-icon {
  color: rgba(255, 255, 255, 0.1);
  margin-bottom: 2px;
}

.chart-empty-text {
  font-size: 12px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.2);
  letter-spacing: 0.04em;
}

.chart-empty-sub {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.12);
}

.table-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 30px 20px 18px;
  gap: 9px;
}

.empty-icon {
  width: 50px;
  height: 50px;
  border-radius: 13px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255, 255, 255, 0.18);
  margin-bottom: 2px;
}

.empty-title {
  font-size: 13px;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.38);
}

.empty-desc {
  font-size: 11.5px;
  color: rgba(255, 255, 255, 0.18);
  text-align: center;
  line-height: 1.55;
  max-width: 240px;
}

.manager-view-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0px 12px;
  margin-bottom: 12px;
}
.manager-view-header .filters {
  display: flex;
  align-items: center;
  gap: 24px;
}
.manager-view-header .team {
  font-weight: bold;
  font-size: 1.2rem;
}
.manager-view-header .chips {
  display: flex;
  gap: 24px;
}
.manager-view-header .chips .refresh-sheet-btn {
  height: 100%;
}
.manager-view-header .chips .refresh-sheet-btn i {
  font-size: 1.3em;
}
.manager-view-header .chips .chip {
  display: flex;
  align-items: center;
  gap: 16px;
  border-radius: 8px;
  font-size: 0.8rem;
}
.manager-view-header .chips .chip .title {
  color: rgba(255, 255, 255, 0.3);
}
.manager-view-header .chips .chip .value {
  text-align: end;
}
.manager-view-header .chips .chip.top-up, .manager-view-header .chips .chip.subscription, .manager-view-header .chips .chip.admin {
  transition: opacity 0.2s ease;
  opacity: 0.7;
}
.manager-view-header .chips .chip.top-up .title,
.manager-view-header .chips .chip.top-up .value, .manager-view-header .chips .chip.subscription .title,
.manager-view-header .chips .chip.subscription .value, .manager-view-header .chips .chip.admin .title,
.manager-view-header .chips .chip.admin .value {
  text-transform: uppercase;
  font-weight: bold;
  color: inherit;
  user-select: none;
}
.manager-view-header .chips .chip.top-up i, .manager-view-header .chips .chip.subscription i, .manager-view-header .chips .chip.admin i {
  color: inherit;
}
.manager-view-header .chips .chip.top-up button, .manager-view-header .chips .chip.subscription button, .manager-view-header .chips .chip.admin button {
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  padding: 2px 4px;
  color: inherit;
}
.manager-view-header .chips .chip.top-up button i, .manager-view-header .chips .chip.subscription button i, .manager-view-header .chips .chip.admin button i {
  font-size: 0.7rem;
  color: inherit;
}
.manager-view-header .chips .chip.top-up:hover, .manager-view-header .chips .chip.subscription:hover, .manager-view-header .chips .chip.admin:hover {
  opacity: 1;
}
.manager-view-header .chips .chip.admin {
  color: #BF5AF2;
  gap: 8px;
}
.manager-view-header .chips .chip.top-up {
  color: #FFD60A;
}
.manager-view-header .chips .chip.top-up button {
  background-color: #4A3A1A;
  border: 1px solid #FFD60A;
}
.manager-view-header .chips .chip.subscription {
  color: #FF9500;
}
.manager-view-header .chips .chip.subscription button {
  background-color: #4A2F1A;
  border: 1px solid #FF9500;
}

.modal-container {
  border-radius: 20px;
}

.payment-modal-loader {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  width: 300px;
  padding: 24px;
  border-radius: 20px;
  border: 1px solid rgba(255, 255, 255, 0.07);
}
.payment-modal-loader svg {
  width: 100px;
  fill: #e8591a;
}
.payment-modal-loader span {
  color: #e8591a;
}

.payment-container {
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 20px;
  width: 600px;
  min-height: 200px;
  max-height: 98vh;
  overflow-y: auto;
  padding: 24px;
}
.payment-container.one_time {
  border-top: 2px solid color-mix(in oklab, #FFD60A 40%, transparent);
}
.payment-container.subscription {
  border-top: 2px solid color-mix(in oklab, #e8591a 40%, transparent);
}
.payment-container .subtitle {
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.3);
  text-align: center;
  margin-bottom: 12px;
}
.payment-container .items-card-container {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.payment-container .items-card-container .separator {
  display: flex;
  align-items: center;
  width: 100%;
  background-color: transparent;
  margin-top: 6px;
}
.payment-container .items-card-container .separator .separator-line {
  flex: 1;
  height: 1px;
  background: rgba(255, 255, 255, 0.07);
}
.payment-container .items-card-container .separator .separator-text {
  padding-right: 16px;
  color: rgba(255, 255, 255, 0.3);
  font-size: 0.75rem;
  font-weight: 500;
}
.payment-container.one_time .item-card:hover {
  border-color: rgba(255, 195, 0, 0.22);
  background: rgba(255, 195, 0, 0.035);
}
.payment-container .item-card {
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.07);
  background: rgba(255, 255, 255, 0.025);
  transition: all 0.15s;
}
.payment-container .item-card:hover {
  border-color: rgba(255, 255, 255, 0.13);
  background: rgba(255, 255, 255, 0.04);
  transform: translateX(2px);
}
.payment-container .item-card.top-up.special {
  background-color: color-mix(in oklab, #FFD60A 2%, transparent);
  border: 1px solid color-mix(in oklab, #FFD60A 20%, transparent);
}
.payment-container .item-card.subscription .right button {
  color: #e8591a;
  background-color: color-mix(in oklab, #e8591a 10%, transparent);
  border: 1px solid #e8591a;
}
.payment-container .item-card.subscription.special {
  background-color: color-mix(in oklab, #e8591a 5%, transparent);
  border: 1px solid color-mix(in oklab, #e8591a 20%, transparent);
}
.payment-container .item-card.subscription.special .right button {
  color: #ffffff;
  background-color: #e8591a;
  border: 1px solid transparent;
}
.payment-container .item-card .right {
  display: flex;
  align-items: center;
  gap: 12px;
}
.payment-container .item-card .left .title,
.payment-container .item-card .right .price .value {
  font-weight: bold;
}
.payment-container .item-card .right .price {
  display: flex;
  flex-direction: column;
  align-items: end;
}
.payment-container .item-card .right .price .sub {
  color: rgba(255, 255, 255, 0.3);
  font-size: 0.7rem;
}
.payment-container .item-card .left .meta {
  font-size: 0.65rem;
  color: rgba(255, 255, 255, 0.3);
  align-self: self-end;
}
.payment-container .item-card .left .meta i {
  color: inherit;
}
.payment-container .item-card .right button {
  cursor: pointer;
  background-color: color-mix(in oklab, #FFD60A 15%, transparent);
  color: #FFD60A;
  padding: 8px;
  border-radius: 6px;
  border: 1px solid #FFD60A;
  font-size: 0.75rem;
  font-weight: 600;
}
.payment-container .item-card .right button svg {
  width: 10px;
}
.payment-container .modal-note {
  margin-top: 16px;
  padding: 12px 14px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.06);
  font-size: 12px;
  color: rgba(255, 255, 255, 0.28);
  line-height: 1.65;
  display: flex;
  gap: 8px;
  align-items: flex-start;
}
.payment-container .modal-note svg {
  flex-shrink: 0;
  margin-top: 1px;
}

.payment-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 24px;
  gap: 12px;
}
.payment-header .modal-title-group {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.payment-header .modal-title-group .modal-eyebrow {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.payment-header .modal-title-group .modal-eyebrow-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  animation: pulseDot 2s ease-in-out infinite;
}
.payment-header .modal-title-group .modal-title {
  font-size: 20px;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #fff;
  margin-top: 2px;
}
.payment-header .modal-title-group .modal-subtitle {
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.32);
  line-height: 1.5;
  margin-top: 4px;
}
.payment-header .modal-close {
  width: 32px;
  height: 32px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 9px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255, 255, 255, 0.4);
  flex-shrink: 0;
  transition: all 0.15s;
  font-family: inherit;
}
.payment-header .modal-close:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
}
.payment-header.topup-modal .modal-eyebrow {
  color: #ffc300;
}
.payment-header.topup-modal .modal-eyebrow-dot {
  background: #ffc300;
  box-shadow: 0 0 6px rgba(255, 195, 0, 0.6);
}
.payment-header.sub-modal .modal-eyebrow {
  color: #e8591a;
}
.payment-header.sub-modal .modal-eyebrow-dot {
  background: #e8591a;
  box-shadow: 0 0 6px rgba(232, 89, 26, 0.6);
}

.period-container {
  position: relative;
  display: flex;
  gap: 12px;
}
.period-container span {
  cursor: pointer;
  padding: 4px 12px;
  border-radius: 10px;
  font-size: 0.8rem;
  user-select: none;
  background-color: rgba(238, 112, 54, 0);
  transition: background-color 300ms ease-in-out;
}
.period-container span.active {
  background-color: #e8591a;
}
.period-container .date-range-container {
  position: relative;
}
.period-container .date-range-container span {
  display: flex;
  align-items: center;
  gap: 4px;
  background-color: #2c2c2e;
}
.period-container .date-range-container span.active {
  background-color: #e8591a;
}

.date-picker-content {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.date-input-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.date-input-group label {
  font-size: 12px;
  color: #999;
  font-weight: 500;
}

.date-input-group input[type=date] {
  background: #2a2a2a;
  border: 1px solid #444;
  border-radius: 6px;
  padding: 8px 10px;
  color: #fff;
  font-size: 14px;
  outline: none;
  transition: border-color 0.2s;
}

.date-input-group input[type=date]:hover {
  border-color: #555;
}

.date-input-group input[type=date]:focus {
  border-color: #ff6347;
}

/* Estilo para el color picker de fecha en navegadores WebKit */
.date-input-group input[type=date]::-webkit-calendar-picker-indicator {
  filter: invert(1);
  cursor: pointer;
}

.date-picker-actions {
  display: flex;
  gap: 8px;
  margin-top: 4px;
}

.date-picker-actions button {
  flex: 1;
  padding: 8px 12px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
  border: none;
  outline: none;
}

.btn-cancel {
  background: #2a2a2a;
  color: #fff;
}

.btn-cancel:hover {
  background: #333;
}

.btn-apply {
  background: #ff6347;
  color: #fff;
}

.btn-apply:hover:not(:disabled) {
  background: #ff4530;
}

.btn-apply:disabled {
  background: #444;
  color: #666;
  cursor: not-allowed;
}

.automatic-mode-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-radius: 8px;
  background-color: rgba(142, 142, 147, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.07);
  padding: 12px;
  transition: all 200ms ease-in-out;
}
.automatic-mode-container.active {
  border: 1px solid #30D158;
  background-color: #1A251A;
}
.automatic-mode-container .automatic-mode-text {
  display: flex;
  flex-direction: column;
  align-items: start;
}
.automatic-mode-container .automatic-mode-text .title {
  font-weight: 600;
  font-size: 1rem;
  letter-spacing: 0.4px;
}
.automatic-mode-container .automatic-mode-text .subtitle {
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.8rem;
}
.automatic-mode-container .switch {
  cursor: pointer;
}
.automatic-mode-container .switch i {
  font-size: 3rem;
  color: inherit;
  transition: all 200ms ease-in-out;
}
.automatic-mode-container .switch.active {
  color: #30D158;
}

.donut-wrap {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.donut-wrap svg {
  overflow: visible;
}

.donut-center {
  position: absolute;
  text-align: center;
  pointer-events: none;
}

.donut-pct {
  font-size: 18px;
  font-weight: 800;
  color: rgba(255, 255, 255, 0.35);
  display: block;
}

.donut-sub {
  font-size: 9.5px;
  color: rgba(255, 255, 255, 0.35);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.advanced-filter-menu {
  position: relative;
}

.filter-toggle-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 4px 16px;
  background: rgba(142, 142, 147, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 8px;
  cursor: pointer;
  font-size: 0.8rem;
  transition: all 0.2s;
  position: relative;
}

.filter-toggle-btn:hover {
  background: rgba(255, 255, 255, 0.3);
}

.filter-badge {
  position: absolute;
  top: -6px;
  right: -6px;
  background: #2196f3;
  color: white;
  border-radius: 50%;
  width: 16px;
  height: 16px;
  font-size: 11px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
}

.filter-dropdown {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  background: #1c1c1e;
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  width: 700px;
  max-height: 70vh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  z-index: 1000;
}

.filter-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}

.filter-header .title {
  margin: 0;
  font-size: 0.9rem;
  font-weight: 600;
}
.filter-header .title span {
  margin-left: 4px;
  font-size: 0.7rem;
  padding: 2px 6px;
  border-radius: 25px;
  background-color: color-mix(in oklab, #e8591a 10%, transparent 90%);
  color: #e8591a;
}

.filter-header-buttons {
  display: flex;
  align-items: center;
  gap: 12px;
}

.close-btn {
  background: rgba(142, 142, 147, 0.12);
  border-radius: 4px;
  border: 1px solid rgba(255, 255, 255, 0.07);
  cursor: pointer;
  padding: 4px;
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.6);
  display: flex;
  align-items: center;
  justify-content: center;
}
.close-btn i {
  color: inherit;
}
.close-btn:hover {
  background-color: #4A1A1A;
  color: #FF453A;
}

.filter-body {
  flex: 1;
  overflow-y: auto;
  padding: 12px;
  min-height: 200px;
}

.empty-rules {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 20px;
}

.empty-icon {
  width: 48px;
  height: 48px;
  border-radius: 13px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255, 255, 255, 0.18);
  margin-bottom: 2px;
}

.empty-title {
  font-size: 13px;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.35);
}

.empty-desc {
  font-size: 11.5px;
  color: rgba(255, 255, 255, 0.18);
  text-align: center;
  line-height: 1.5;
  max-width: 200px;
}

.filter-rule-row {
  display: grid;
  grid-template-columns: 1.5fr 1.2fr 2fr auto;
  gap: 8px;
  margin-bottom: 12px;
  align-items: center;
}
.filter-rule-row .value-input-container {
  align-items: center;
  display: flex;
}
.filter-rule-row .value-input-container input {
  flex-grow: 1;
  outline: none;
  border: none;
  padding: 8px 10px;
  background: transparent;
}
.filter-rule-row .value-input-container .case-sensitive {
  cursor: help;
  font-weight: bold;
  color: #e8591a;
  font-size: 0.8rem;
  border: 1px solid #e8591a;
  background-color: color-mix(in oklab, #e8591a 20%, transparent);
  padding: 2px 4px;
  border-radius: 4px;
  margin: 0 8px;
  opacity: 0.8;
}
.filter-rule-row .value-input-container:has(input:focus) .case-sensitive {
  opacity: 0.5;
}

.date-range-inputs {
  display: flex;
  align-items: center;
  gap: 8px;
  grid-column: 3;
}

.date-input {
  flex: 1;
}

.date-separator {
  color: #999;
  font-size: 16px;
  font-weight: bold;
}

.field-select,
.operator-select {
  padding: 8px 10px;
}

.field-select,
.operator-select,
.value-input-container {
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 8px;
  font-size: 13px;
  background: #2c2c2e;
}

.field-select:focus,
.operator-select:focus,
.value-input-container:has(.value-input:focus) {
  outline: none;
  border-color: #e8591a;
}

.remove-rule-btn {
  padding: 8px;
  background: color-mix(in oklab, #4A1A1A 50%, transparent 50%);
  border: 1px solid #FF453A;
  border-radius: 4px;
  color: #FF453A;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.remove-rule-btn i {
  color: inherit;
}

.remove-rule-btn:hover {
  background: #4A1A1A;
}

.filter-footer {
  border-top: 1px solid rgba(255, 255, 255, 0.07);
  padding: 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.add-rule-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  background: #2c2c2e;
  border: 1px solid rgba(255, 255, 255, 0.07);
  color: rgba(255, 255, 255, 0.6);
  border-radius: 8px;
  cursor: pointer;
  font-size: 13px;
  font-weight: 500;
  transition: all 0.2s;
}
.add-rule-btn i {
  color: inherit;
}
.add-rule-btn:disabled {
  pointer-events: none;
  opacity: 0.2;
}

.add-rule-btn:hover {
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: #ffffff;
}

.action-buttons {
  display: flex;
  gap: 8px;
}

.clear-btn,
.apply-btn {
  padding: 8px 16px;
  border-radius: 8px;
  cursor: pointer;
  font-size: 13px;
  font-weight: 500;
  transition: all 0.2s;
}

.clear-btn {
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.07);
  color: rgba(255, 255, 255, 0.6);
}

.clear-btn:hover {
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: #ffffff;
}

.apply-btn {
  background: #e8591a;
  color: #ffffff;
}

.filter-preview {
  border-top: 1px solid #eee;
  padding: 12px 16px;
  background: #f9f9f9;
  font-size: 12px;
}

.filter-preview strong {
  display: block;
  margin-bottom: 8px;
  color: #666;
}

.filter-preview pre {
  margin: 0;
  padding: 8px;
  background: white;
  border: 1px solid #ddd;
  border-radius: 4px;
  overflow-x: auto;
  font-family: monospace;
  font-size: 11px;
  color: #333;
}

.presets-container {
  display: flex;
  align-items: center;
  background-color: rgba(142, 142, 147, 0.12);
  padding: 12px;
  gap: 12px;
}
.presets-container .title {
  flex-shrink: 0;
  font-size: 0.75rem;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.3);
}
.presets-container .content {
  flex-grow: 1;
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.content > .presets {
  display: flex;
  gap: 12px;
  overflow-x: auto;
  white-space: nowrap;
  flex-grow: 1;
}
.content > .presets::-webkit-scrollbar {
  height: 4px;
}
.content > .presets .preset {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 0.8rem;
  font-weight: 600;
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 25px;
  background-color: rgba(142, 142, 147, 0.12);
  color: rgba(255, 255, 255, 0.6);
  padding: 4px 8px;
  cursor: pointer;
  transition: all 200ms ease-in-out;
}
.content > .presets .preset i {
  font-size: 0.75rem;
  color: inherit;
  transition: all 200ms ease-in-out;
}
.content > .presets .preset .counter {
  display: grid;
  place-content: center;
  background-color: rgba(255, 255, 255, 0.07);
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.7rem;
  border-radius: 25px;
  height: 1rem;
  aspect-ratio: 1;
  transition: all 200ms ease-in-out;
}
.content > .presets .preset .options {
  opacity: 1;
  display: flex;
  align-items: center;
  cursor: pointer;
  border-radius: 25px;
  padding: 0 4px;
  color: rgba(255, 255, 255, 0.6);
}
.content > .presets .preset .options i {
  font-size: 0.9rem;
}
.content > .presets .preset .options:hover {
  background-color: #1c1c1e;
  color: rgba(255, 255, 255, 0.6);
}
.content > .presets .preset.active {
  border: 1px solid #e8591a;
  background-color: color-mix(in oklab, #e8591a 10%, transparent 90%);
  color: #e8591a;
}
.content > .presets .preset.active .counter {
  background-color: color-mix(in oklab, #e8591a 30%, transparent 70%);
  color: #e8591a;
}
.content > .presets .preset.active .options {
  color: #e8591a;
}
.content > .presets .preset.active .options:hover {
  color: #e8591a;
}

.content > .add-preset {
  flex-shrink: 0;
  cursor: pointer;
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.75rem;
  background: rgba(255, 255, 255, 0.07);
  border: 1px dashed rgba(255, 255, 255, 0.3);
  border-radius: 25px;
  padding: 2px 8px;
}
.content > .add-preset:disabled {
  pointer-events: none;
  opacity: 0.5;
}

.preset.save-form-container {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px;
  background-color: color-mix(in oklab, #e8591a 10%, transparent 90%);
}
.preset.save-form-container i {
  font-size: 0.8rem;
  color: #e8591a;
}
.preset.save-form-container input {
  flex-grow: 1;
  background-color: rgba(142, 142, 147, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.07);
  outline: none;
  border-radius: 4px;
  padding: 4px 8px;
}
.preset.save-form-container input:focus {
  border: 1px solid #e8591a;
}
.preset.save-form-container button {
  color: rgba(255, 255, 255, 0.6);
  background-color: transparent;
  border: 1px solid rgba(255, 255, 255, 0.07);
  padding: 2px 8px;
  border-radius: 4px;
  font-weight: 500;
  cursor: pointer;
}
.preset.save-form-container button.save {
  background-color: #e8591a;
  color: #ffffff;
  border: none;
}
.preset.save-form-container button.save:disabled {
  pointer-events: none;
  opacity: 0.5;
}

.dropdown-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 1100;
  background: transparent;
}

.dropdown-menu-portal {
  position: absolute;
  z-index: 1101;
  background-color: #2c2c2e;
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 8px;
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.3);
  padding: 4px;
  min-width: 120px;
  display: flex;
  flex-direction: column;
}
.dropdown-menu-portal button {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  background: transparent;
  border: none;
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.75rem;
  font-weight: 500;
  cursor: pointer;
  border-radius: 4px;
  transition: background 200ms;
}
.dropdown-menu-portal button:hover {
  background-color: #1c1c1e;
}
.dropdown-menu-portal button.delete {
  color: #ff5f5f;
}
.dropdown-menu-portal button.delete:hover {
  background-color: color-mix(in oklab, #ff5f5f 10%, transparent);
}
.dropdown-menu-portal button i {
  font-size: 0.9rem;
}

.no-data-overlay-container {
  background-color: #2c2c2e;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.07);
  padding: 12px;
}
.no-data-overlay-container .empty-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  position: relative;
  z-index: 1;
  height: 100%;
}
.no-data-overlay-container .empty-icon-ring {
  width: 64px;
  height: 64px;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255, 255, 255, 0.2);
  position: relative;
  margin-bottom: 4px;
}
.no-data-overlay-container .empty-icon-ring::before {
  content: "";
  position: absolute;
  inset: -8px;
  border-radius: 28px;
  border: 1px solid rgba(232, 89, 26, 0.12);
  animation: ringPulse 2.5s ease-in-out infinite;
}
.no-data-overlay-container .empty-icon-ring::after {
  content: "";
  position: absolute;
  inset: -16px;
  border-radius: 36px;
  border: 1px solid rgba(232, 89, 26, 0.06);
  animation: ringPulse 2.5s ease-in-out infinite 0.5s;
}
.no-data-overlay-container .empty-title {
  font-size: 15px;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.55);
  letter-spacing: -0.01em;
}
.no-data-overlay-container .empty-desc {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.22);
  text-align: center;
  line-height: 1.6;
  max-width: 210px;
}

@keyframes ringPulse {
  0%, 100% {
    opacity: 0.5;
    transform: scale(1);
  }
  50% {
    opacity: 1;
    transform: scale(1.03);
  }
}
/* Animación para el movimiento de lado a lado */
@keyframes loading-slide {
  0% {
    left: -30%;
  }
  100% {
    left: 100%;
  }
}
.progress-bar-container {
  position: relative; /* Necesario para que el fill se posicione respecto al contenedor */
  overflow: hidden; /* Para que el fill no se vea cuando sale de los bordes */
}

.progress-bar-fill {
  height: 100%;
  position: absolute;
  left: 0;
  transition: width 0.3s ease; /* Transición suave para cuando cambia el valor real */
}

/* Cuando está cargando, aplicamos la animación */
.is-loading-mode {
  animation: loading-slide 1s infinite linear;
}

.plan-pricing-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 48px;
  height: 64px;
  background: rgba(10, 10, 11, 0.85);
  backdrop-filter: blur(20px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}
.plan-pricing-header .nav-logo {
  height: 32px;
  display: flex;
  align-items: center;
}
.plan-pricing-header .nav-logo svg {
  height: 28px;
  width: auto;
}
.plan-pricing-header .nav-cta {
  display: flex;
  align-items: center;
  gap: 10px;
}
.plan-pricing-header .nav-cta .btn-ghost {
  padding: 8px 18px;
  border-radius: 9px;
  border: 1px solid rgba(255, 255, 255, 0.07);
  background: transparent;
  font-size: 13px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.3);
  cursor: pointer;
  font-family: inherit;
  transition: all 0.15s;
}
.plan-pricing-header .nav-cta .btn-ghost:hover {
  border-color: rgba(255, 255, 255, 0.18);
  color: #ffffff;
  background: rgba(255, 255, 255, 0.04);
}
.plan-pricing-header .nav-cta .btn-primary {
  padding: 8px 18px;
  border-radius: 9px;
  background: #e8591a;
  border: none;
  font-size: 13px;
  font-weight: 700;
  color: #ffffff;
  cursor: pointer;
  font-family: inherit;
  transition: all 0.15s;
}
.hero {
  position: relative;
  padding: 148px 48px 72px;
  text-align: center;
  overflow: hidden;
}
.hero::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 900px;
  height: 500px;
  background: radial-gradient(ellipse at 50% 0%, rgba(232, 89, 26, 0.18) 0%, transparent 65%);
  pointer-events: none;
}
.hero::after {
  content: "";
  position: absolute;
  top: 64px;
  left: 50%;
  transform: translateX(-50%);
  width: 1px;
  height: 96px;
  background: linear-gradient(to bottom, transparent, rgba(232, 89, 26, 0.6), transparent);
}
.hero .hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 14px;
  border-radius: 20px;
  background: rgba(232, 89, 26, 0.1);
  border: 1px solid rgba(232, 89, 26, 0.25);
  font-size: 11.5px;
  font-weight: 700;
  color: #e8591a;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin-bottom: 28px;
  animation: fadeUp 0.5s ease both;
}
.hero .hero-badge-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #e8591a;
  animation: pulse 2s ease-in-out infinite;
}
.hero h1 {
  font-size: clamp(40px, 5.5vw, 68px);
  font-weight: 800;
  line-height: 1.06;
  letter-spacing: -0.03em;
  margin-bottom: 20px;
  animation: fadeUp 0.5s 0.1s ease both;
}
.hero h1 em {
  font-style: normal;
  background: linear-gradient(135deg, #ffc300, #ff5733, #e8591a);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.hero .hero-sub {
  font-size: 16px;
  font-weight: 400;
  color: var(--muted);
  line-height: 1.65;
  max-width: 500px;
  margin: 0 auto 40px;
  animation: fadeUp 0.5s 0.2s ease both;
}

.credit-explainer {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40px;
  max-width: 720px;
  margin: 0 auto 56px;
  padding: 20px 28px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 14px;
  animation: fadeUp 0.5s 0.25s ease both;
}
.credit-explainer .credit-explainer-item {
  display: flex;
  align-items: center;
  gap: 12px;
}
.credit-explainer .credit-explainer-icon {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(232, 89, 26, 0.1);
  border: 1px solid rgba(232, 89, 26, 0.2);
  color: #e8591a;
}
.credit-explainer .credit-explainer-label {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.3);
  margin-bottom: 2px;
}
.credit-explainer .credit-explainer-value {
  font-size: 13.5px;
  font-weight: 600;
  color: #ffffff;
}
.credit-explainer .credit-explainer-sep {
  width: 1px;
  height: 36px;
  background: rgba(255, 255, 255, 0.07);
  flex-shrink: 0;
}

.mode-toggle-wrap {
  display: flex;
  justify-content: center;
  margin-bottom: 56px;
  animation: fadeUp 0.5s 0.3s ease both;
}
.mode-toggle-wrap .mode-toggle {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.07);
}
.mode-toggle-wrap .mode-toggle .mode-opt {
  padding: 9px 24px;
  border-radius: 9px;
  font-size: 13.5px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.3);
  cursor: pointer;
  border: none;
  background: transparent;
  font-family: inherit;
  transition: all 0.2s;
  display: flex;
  align-items: center;
  gap: 8px;
}
.mode-toggle-wrap .mode-toggle .mode-opt .opt-icon {
  font-size: 15px;
}
.mode-toggle-wrap .mode-toggle .mode-opt.active {
  background: #fff;
  color: #0a0a0b;
}
.mode-toggle-wrap .mode-toggle .mode-opt .save-pill {
  padding: 2px 7px;
  border-radius: 5px;
  background: rgba(34, 197, 94, 0.15);
  border: 1px solid rgba(34, 197, 94, 0.3);
  font-size: 10px;
  font-weight: 800;
  color: #4ade80;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

/* ─── SECTION WRAPPER ─── */
.section-wrap {
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 48px;
}

.packages-group {
  margin-bottom: 48px;
}
.packages-group .packages-group-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
}
.packages-group .packages-group-label {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.3);
}
.packages-group .packages-group-line {
  flex: 1;
  height: 1px;
  background: rgba(255, 255, 255, 0.07);
}
.packages-group .packages-group-tag {
  padding: 3px 10px;
  border-radius: 6px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.packages-group .packages-group-tag.tag-small {
  background: rgba(255, 195, 0, 0.1);
  border: 1px solid rgba(255, 195, 0, 0.25);
  color: #FFD60A;
}
.packages-group .packages-group-tag.tag-large {
  background: rgba(232, 89, 26, 0.1);
  border: 1px solid rgba(232, 89, 26, 0.25);
  color: #e8591a;
}

.packages-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}

.pkg-card {
  background: #1a1a1d;
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 16px;
  padding: 24px 22px;
  position: relative;
  transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
  animation: fadeUp 0.5s ease both;
  cursor: default;
}
.pkg-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.5);
}
.pkg-card.featured-pkg {
  border-color: rgba(232, 89, 26, 0.35);
  box-shadow: 0 0 0 1px rgba(232, 89, 26, 0.1), 0 8px 32px rgba(232, 89, 26, 0.08);
}
.pkg-card:nth-child(1) {
  animation-delay: 0.05s;
}
.pkg-card:nth-child(2) {
  animation-delay: 0.1s;
}
.pkg-card:nth-child(3) {
  animation-delay: 0.15s;
}
.pkg-card .pkg-badge {
  position: absolute;
  top: 14px;
  right: 14px;
  padding: 2px 8px;
  border-radius: 5px;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.pkg-card .pkg-badge-popular {
  background: rgba(232, 89, 26, 0.15);
  border: 1px solid rgba(232, 89, 26, 0.3);
  color: #e8591a;
}
.pkg-card .pkg-badge-value {
  background: rgba(34, 197, 94, 0.12);
  border: 1px solid rgba(34, 197, 94, 0.3);
  color: #30D158;
}
.pkg-card .pkg-hours {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.3);
  margin-bottom: 8px;
}
.pkg-card .pkg-price-row {
  display: flex;
  align-items: flex-end;
  gap: 3px;
  margin-bottom: 4px;
}
.pkg-card .pkg-currency {
  font-size: 18px;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.3);
  line-height: 1.8;
}
.pkg-card .pkg-amount {
  font-size: 44px;
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 1;
  color: #ffffff;
  font-variant-numeric: tabular-nums;
}
.pkg-card .pkg-per-hour {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.3);
  margin-bottom: 18px;
}
.pkg-card .pkg-per-hour span {
  color: rgba(255, 255, 255, 0.5);
  font-weight: 600;
}
.pkg-card .pkg-cta {
  width: 100%;
  padding: 10px;
  border-radius: 9px;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  font-family: inherit;
  transition: all 0.15s;
  margin-bottom: 16px;
}
.pkg-card .pkg-cta.outline {
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.6);
}
.pkg-card .pkg-cta.outline:hover {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.2);
  color: #fff;
}
.pkg-card .pkg-cta.solid {
  background: #e8591a;
  border: none;
  color: #fff;
  box-shadow: 0 4px 18px rgba(232, 89, 26, 0.35);
}
.pkg-card .pkg-cta.solid:hover {
  background: #d4511a;
  box-shadow: 0 4px 24px rgba(232, 89, 26, 0.55);
}
.pkg-card .pkg-note {
  font-size: 11.5px;
  color: rgba(255, 255, 255, 0.2);
}
.pkg-card .pkg-note strong {
  color: rgba(255, 255, 255, 0.4);
}

.plans-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  padding-bottom: 16px;
}
.plans-grid .plan-card {
  background: #1a1a1d;
  border-radius: 20px;
  border: 1px solid rgba(255, 255, 255, 0.07);
  overflow: hidden;
  position: relative;
  transition: transform 0.2s, box-shadow 0.2s;
  animation: fadeUp 0.5s ease both;
}
.plans-grid .plan-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
}
.plans-grid .plan-card:nth-child(1) {
  animation-delay: 0.1s;
}
.plans-grid .plan-card:nth-child(2) {
  animation-delay: 0.2s;
}
.plans-grid .plan-card:nth-child(3) {
  animation-delay: 0.3s;
}
.plans-grid .plan-card.featured {
  border-color: rgba(232, 89, 26, 0.4);
  box-shadow: 0 0 0 1px rgba(232, 89, 26, 0.15), 0 24px 64px rgba(232, 89, 26, 0.12);
  transform: translateY(-8px);
}
.plans-grid .plan-card.featured:hover {
  transform: translateY(-14px);
}
.plans-grid .plan-stripe {
  height: 3px;
  background: linear-gradient(to right, transparent, rgba(255, 255, 255, 0.07), transparent);
}
.plans-grid .plan-card.featured .plan-stripe {
  background: linear-gradient(to right, transparent, #e8591a, #ff5733, transparent);
}
.plans-grid .popular-badge {
  position: absolute;
  top: 20px;
  right: 20px;
  padding: 3px 10px;
  border-radius: 6px;
  background: rgba(232, 89, 26, 0.15);
  border: 1px solid rgba(232, 89, 26, 0.3);
  font-size: 10px;
  font-weight: 800;
  color: #e8591a;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.plans-grid .plan-body {
  padding: 30px 26px;
}
.plans-grid .plan-name {
  font-size: 11.5px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.3);
  margin-bottom: 8px;
}
.plans-grid .plan-card.featured .plan-name {
  color: #e8591a;
}
.plans-grid .plan-desc {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.3);
  line-height: 1.55;
  margin-bottom: 24px;
}
.plans-grid .plan-price {
  display: flex;
  align-items: flex-end;
  gap: 3px;
  margin-bottom: 4px;
}
.plans-grid .plan-currency {
  font-size: 18px;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.3);
  line-height: 1.9;
}
.plans-grid .plan-amount {
  font-size: 50px;
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 1;
  color: #ffffff;
  font-variant-numeric: tabular-nums;
}
.plans-grid .plan-card.featured .plan-amount {
  background: linear-gradient(135deg, #fff, rgba(255, 255, 255, 0.8));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.plans-grid .plan-period {
  font-size: 13px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.3);
  line-height: 2.4;
}
.plans-grid .plan-hours-note {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.28);
  margin-bottom: 6px;
}
.plans-grid .plan-rate-note {
  font-size: 12.5px;
  margin-bottom: 24px;
}
.plans-grid .plan-rate-note .rate-num {
  color: #30D158;
  font-weight: 700;
}
.plans-grid .plan-rate-note .rate-label {
  color: rgba(255, 255, 255, 0.3);
}
.plans-grid .plan-cta {
  width: 100%;
  padding: 12px;
  border-radius: 11px;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  font-family: inherit;
  transition: all 0.15s;
  margin-bottom: 24px;
}
.plans-grid .plan-cta.outline {
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: rgba(255, 255, 255, 0.6);
}
.plans-grid .plan-cta.outline:hover {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.22);
  color: #fff;
}
.plans-grid .plan-cta.solid {
  background: #e8591a;
  border: none;
  color: #fff;
  box-shadow: 0 4px 20px rgba(232, 89, 26, 0.4);
}
.plans-grid .plan-cta.solid:hover {
  background: #d4511a;
  box-shadow: 0 4px 28px rgba(232, 89, 26, 0.6);
}
.plans-grid .plan-divider {
  height: 1px;
  background: rgba(255, 255, 255, 0.06);
  margin-bottom: 22px;
}
.plans-grid .features-label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.2);
  margin-bottom: 14px;
}
.plans-grid .features {
  display: flex;
  flex-direction: column;
  gap: 9px;
}
.plans-grid .feature {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.6);
  line-height: 1.45;
}
.plans-grid .feature-icon {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.plans-grid .feature-icon.check {
  background: rgba(34, 197, 94, 0.12);
  color: #4ade80;
}
.plans-grid .feature-icon.star {
  background: rgba(255, 195, 0, 0.12);
  color: #FFD60A;
}
.plans-grid .feature strong {
  color: #ffffff;
  font-weight: 600;
}
.plans-grid .bonus-callout {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 8px;
  background: rgba(255, 195, 0, 0.06);
  border: 1px solid rgba(255, 195, 0, 0.15);
  font-size: 12px;
  margin-top: 14px;
}
.plans-grid .bonus-callout span {
  color: rgba(255, 195, 0, 0.75);
}
.plans-grid .bonus-callout strong {
  color: #FFD60A;
}

.compare-wrap {
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 48px 80px;
}
.compare-wrap .compare-title {
  font-size: 15px;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.3);
  letter-spacing: 0.04em;
  text-align: center;
  margin-bottom: 28px;
}
.compare-wrap .compare-table {
  width: 100%;
  border-collapse: collapse;
}
.compare-wrap .compare-table th {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.3);
  padding: 12px 16px;
  text-align: center;
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}
.compare-wrap .compare-table th:first-child {
  text-align: left;
}
.compare-wrap .compare-table td {
  padding: 12px 16px;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.55);
  text-align: center;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}
.compare-wrap .compare-table td:first-child {
  text-align: left;
  color: rgba(255, 255, 255, 0.3);
  font-weight: 500;
}
.compare-wrap .compare-table tr:last-child td {
  border-bottom: none;
}
.compare-wrap .compare-table .val-good {
  color: #30D158;
  font-weight: 700;
}
.compare-wrap .compare-table .val-best {
  color: #FFD60A;
  font-weight: 700;
}
.compare-wrap .compare-table .col-highlight {
  background: rgba(232, 89, 26, 0.04);
}
.compare-wrap .compare-table th.col-highlight {
  color: #e8591a;
}

.enterprise-wrap {
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 48px 80px;
}

.enterprise-card {
  border-radius: 20px;
  border: 1px solid rgba(255, 255, 255, 0.07);
  background: linear-gradient(135deg, rgba(232, 89, 26, 0.06) 0%, rgba(255, 87, 51, 0.04) 40%, transparent 80%), #1a1a1d;
  padding: 40px 48px;
  display: flex;
  align-items: center;
  gap: 32px;
  position: relative;
  overflow: hidden;
  animation: fadeUp 0.5s 0.4s ease both;
}

.enterprise-card::before {
  content: "Q";
  position: absolute;
  right: -20px;
  top: -30px;
  font-family: "DM Sans", sans-serif;
  font-size: 200px;
  font-weight: 800;
  color: rgba(232, 89, 26, 0.04);
  pointer-events: none;
  line-height: 1;
}

.enterprise-icon {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  background: rgba(232, 89, 26, 0.12);
  border: 1px solid rgba(232, 89, 26, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: #e8591a;
}

.enterprise-text {
  flex: 1;
}

.enterprise-title {
  font-size: 20px;
  font-weight: 800;
  letter-spacing: -0.02em;
  margin-bottom: 6px;
}

.enterprise-desc {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.3);
  line-height: 1.6;
}

.btn-primary {
  padding: 8px 18px;
  border-radius: 9px;
  background: #e8591a;
  border: none;
  font-size: 13px;
  font-weight: 700;
  color: #fff;
  cursor: pointer;
  font-family: inherit;
  box-shadow: 0 2px 16px rgba(232, 89, 26, 0.35);
  transition: all 0.15s;
}

/* ─── SEPARATOR ─── */
.sep-wrap {
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 48px 72px;
}

.sep-inner {
  height: 1px;
  background: linear-gradient(to right, transparent, rgba(255, 255, 255, 0.07), transparent);
}

/* ─── FAQ ─── */
.faq-wrap {
  width: 680px;
  margin: 0 auto;
  padding: 0 48px 120px;
}

.faq-title {
  font-size: 28px;
  font-weight: 800;
  letter-spacing: -0.02em;
  text-align: center;
  margin-bottom: 40px;
  animation: fadeUp 0.5s ease both;
}

.faq-item {
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
  padding: 20px 0;
  cursor: pointer;
}

.faq-q {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 14.5px;
  font-weight: 600;
  color: #ffffff;
  gap: 16px;
}

.faq-chevron {
  color: rgba(255, 255, 255, 0.3);
  flex-shrink: 0;
  transition: transform 0.2s, color 0.15s;
}

.faq-item.open .faq-chevron {
  transform: rotate(180deg);
  color: #e8591a;
}

.faq-a {
  font-size: 13.5px;
  color: rgba(255, 255, 255, 0.3);
  line-height: 1.7;
  margin-top: 12px;
  display: none;
}

.faq-item.open .faq-a {
  display: block;
}

/* ─── FOOTER ─── */
footer {
  border-top: 1px solid rgba(255, 255, 255, 0.07);
  padding: 32px 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.footer-logo svg {
  height: 22px;
  width: auto;
}

.footer-copy {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.2);
}

.footer-links {
  display: flex;
  gap: 24px;
}

.footer-link {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.25);
  text-decoration: none;
  transition: color 0.15s;
}

.footer-link:hover {
  color: rgba(255, 255, 255, 0.6);
}

/* ─── CREDIT TYPE PILLS ─── */
.credit-type-row {
  display: flex;
  gap: 8px;
  margin-bottom: 16px;
  margin-top: 4px;
}

.credit-pill {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 4px 10px;
  border-radius: 20px;
  font-size: 11px;
  font-weight: 700;
}

.pill-topup {
  background: rgba(255, 195, 0, 0.1);
  border: 1px solid rgba(255, 195, 0, 0.2);
  color: #FFD60A;
}

.pill-sub {
  background: rgba(34, 197, 94, 0.1);
  border: 1px solid rgba(34, 197, 94, 0.2);
  color: #30D158;
}

.credit-pill-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
}

/* bottom padding */
.plans-section-wrap {
  padding-bottom: 80px;
}

@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes pulse {
  0%, 100% {
    opacity: 1;
    transform: scale(1);
  }
  50% {
    opacity: 0.5;
    transform: scale(0.7);
  }
}
.landing-nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 48px;
  height: 64px;
  background: rgba(10, 10, 11, 0.85);
  backdrop-filter: blur(20px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}

.nav-logo {
  display: flex;
  align-items: center;
  text-decoration: none;
}

.nav-logo svg {
  height: 26px;
  width: auto;
}

.nav-links {
  display: flex;
  align-items: center;
  gap: 28px;
  list-style: none;
}

.nav-links a {
  font-size: 13.5px;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.35);
  text-decoration: none;
  transition: color 0.15s;
}

.nav-links a:hover {
  color: rgba(255, 255, 255, 0.85);
}

.nav-cta {
  display: flex;
  align-items: center;
  gap: 8px;
}

.btn-ghost {
  padding: 8px 18px;
  border-radius: 9px;
  border: 1px solid rgba(255, 255, 255, 0.07);
  background: transparent;
  font-size: 13px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.35);
  cursor: pointer;
  font-family: inherit;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: all 0.15s;
}
.btn-ghost i {
  color: inherit;
}

.btn-ghost:hover {
  border-color: rgba(255, 255, 255, 0.18);
  color: rgba(255, 255, 255, 0.85);
  background: rgba(255, 255, 255, 0.04);
}

.btn-primary {
  padding: 8px 18px;
  border-radius: 9px;
  background: #e8591a;
  border: none;
  font-size: 13px;
  font-weight: 700;
  color: #fff;
  cursor: pointer;
  font-family: inherit;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  box-shadow: 0 2px 16px rgba(232, 89, 26, 0.35);
  transition: all 0.15s;
}

.btn-primary:hover {
  background: #d4511a;
  box-shadow: 0 2px 24px rgba(232, 89, 26, 0.5);
}

/* HERO */
.hero-sub {
  font-size: 18px;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.35);
  line-height: 1.65;
  max-width: 580px;
  margin: 0 auto 48px;
  animation: fadeUp 0.5s 0.2s ease both;
}

.hero-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
  animation: fadeUp 0.5s 0.3s ease both;
  margin-bottom: 64px;
}

.btn-hero-primary {
  padding: 13px 28px;
  border-radius: 12px;
  background: #e8591a;
  border: none;
  font-size: 14.5px;
  font-weight: 700;
  color: #fff;
  cursor: pointer;
  font-family: inherit;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  box-shadow: 0 4px 24px rgba(232, 89, 26, 0.4);
  transition: all 0.15s;
}

.btn-hero-primary:hover {
  background: #d4511a;
  box-shadow: 0 4px 32px rgba(232, 89, 26, 0.6);
  transform: translateY(-1px);
}

.btn-hero-ghost {
  padding: 13px 28px;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.03);
  font-size: 14.5px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.65);
  cursor: pointer;
  font-family: inherit;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: all 0.15s;
}

.btn-hero-ghost:hover {
  border-color: rgba(255, 255, 255, 0.22);
  color: #fff;
  background: rgba(255, 255, 255, 0.06);
  transform: translateY(-1px);
}

.hero-stats {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.02);
  overflow: hidden;
  animation: fadeUp 0.5s 0.4s ease both;
}

.hero-stat {
  padding: 18px 32px;
  flex: 1;
  border-right: 1px solid rgba(255, 255, 255, 0.07);
  text-align: center;
}

.hero-stat:last-child {
  border-right: none;
}

.hero-stat-num {
  font-size: 26px;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: #fff;
  background: linear-gradient(135deg, #ffc300, #ff5733);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.hero-stat-label {
  font-size: 11.5px;
  color: rgba(255, 255, 255, 0.35);
  font-weight: 500;
  margin-top: 2px;
}

/* Features */
.section {
  position: relative;
  z-index: 1;
}

.container {
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 48px;
}

.section-header {
  text-align: center;
  margin-bottom: 56px;
}

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #e8591a;
  margin-bottom: 12px;
}

.eyebrow::before,
.eyebrow::after {
  content: "";
  display: inline-block;
  width: 24px;
  height: 1px;
  background: rgba(232, 89, 26, 0.4);
}

.section-title {
  font-size: clamp(28px, 4vw, 44px);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.1;
  margin-bottom: 14px;
}

.section-title em {
  font-style: normal;
  background: linear-gradient(135deg, #ffc300, #ff5733, #e8591a);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.section-lead {
  font-size: 16px;
  color: rgba(255, 255, 255, 0.35);
  line-height: 1.65;
  max-width: 560px;
  margin: 0 auto;
}

/* separator */
.sep {
  padding: 0 48px;
}

.sep-inner {
  max-width: 1120px;
  margin: 0 auto;
  height: 1px;
  background: linear-gradient(to right, transparent, rgba(255, 255, 255, 0.07), transparent);
}

.features-section {
  padding: 96px 0;
}

.features-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.feature-card {
  background: #1a1a1d;
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.07);
  padding: 28px;
  transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
}

.feature-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.5);
  border-color: rgba(232, 89, 26, 0.2);
}

.feature-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: rgba(232, 89, 26, 0.1);
  border: 1px solid rgba(232, 89, 26, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 18px;
  font-size: 20px;
  color: #e8591a;
}

.feature-card h3 {
  font-size: 15px;
  font-weight: 700;
  margin-bottom: 8px;
  color: #fff;
}

.feature-card p {
  font-size: 13.5px;
  color: rgba(255, 255, 255, 0.35);
  line-height: 1.6;
}

/* AI */
.ai-section {
  padding: 96px 0;
  background: #141416;
}

.ai-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.ai-card {
  background: #1a1a1d;
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.07);
  padding: 28px;
  transition: transform 0.2s, border-color 0.2s;
}

.ai-card:hover {
  transform: translateY(-3px);
  border-color: rgba(255, 195, 0, 0.15);
}

.ai-card-icon {
  width: 36px;
  height: 36px;
  border-radius: 9px;
  background: rgba(255, 195, 0, 0.08);
  border: 1px solid rgba(255, 195, 0, 0.18);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
  font-size: 16px;
}

.ai-card h3 {
  font-size: 14.5px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 8px;
}

.ai-card p {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.35);
  line-height: 1.6;
}

/* Tools */
.tools-section {
  padding: 96px 0;
}

.tools-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.tool-card {
  background: #1a1a1d;
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.07);
  padding: 28px;
  transition: transform 0.2s, border-color 0.2s;
}

.tool-card:hover {
  transform: translateY(-3px);
  border-color: rgba(255, 255, 255, 0.12);
}

.tool-card h3 {
  font-size: 14.5px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 10px;
}

.tool-card p {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.35);
  line-height: 1.6;
  margin-bottom: 10px;
}

.tool-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.tool-list li {
  font-size: 12.5px;
  color: rgba(255, 255, 255, 0.35);
  display: flex;
  gap: 8px;
  align-items: flex-start;
  line-height: 1.5;
}

.tool-list li::before {
  content: "";
  flex-shrink: 0;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #e8591a;
  margin-top: 5px;
}

.tool-list li strong {
  color: rgba(255, 255, 255, 0.7);
}

/* Performance */
.perf-section {
  padding: 96px 0;
  background: #141416;
}

.perf-lead {
  font-size: 16px;
  color: rgba(255, 255, 255, 0.35);
  line-height: 1.75;
  max-width: 740px;
  margin: 0 auto 48px;
  text-align: center;
}

.perf-lead strong {
  color: #e8591a;
  font-weight: 700;
}

.stats-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}

.stat-box {
  background: #1a1a1d;
  border-radius: 14px;
  border: 1px solid rgba(255, 255, 255, 0.07);
  padding: 28px 20px;
  text-align: center;
}

.stat-box-num {
  font-size: 32px;
  font-weight: 800;
  letter-spacing: -0.03em;
  background: linear-gradient(135deg, #ffc300, #ff5733);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  line-height: 1;
  margin-bottom: 6px;
}

.stat-box-label {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.35);
  font-weight: 500;
}

/* Waitlist */
.waitlist-section {
  padding: 96px 0;
}

.waitlist-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
}

.waitlist-left h2 {
  font-size: clamp(28px, 3.5vw, 42px);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.1;
  margin-bottom: 16px;
}

.waitlist-left h2 em {
  font-style: normal;
  background: linear-gradient(135deg, #ffc300, #ff5733, #e8591a);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.waitlist-left p {
  font-size: 15px;
  color: rgba(255, 255, 255, 0.35);
  line-height: 1.65;
}

.waitlist-form {
  background: #1a1a1d;
  border-radius: 20px;
  border: 1px solid rgba(255, 255, 255, 0.07);
  padding: 36px;
  position: relative;
  overflow: hidden;
}

.waitlist-form::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(to right, transparent, #e8591a, #ff5733, transparent);
}

.form-title {
  font-size: 18px;
  font-weight: 800;
  color: #fff;
  margin-bottom: 4px;
}

.form-sub {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.35);
  margin-bottom: 28px;
}

.form-group {
  margin-bottom: 16px;
}

.form-group label {
  display: block;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.35);
  margin-bottom: 6px;
}

.form-group input,
.form-group select {
  width: 100%;
  padding: 10px 14px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 9px;
  color: #fff;
  font-size: 14px;
  font-family: inherit;
  transition: border-color 0.15s, background 0.15s;
}

.form-group input:focus,
.form-group select:focus {
  outline: none;
  border-color: rgba(232, 89, 26, 0.45);
  background: rgba(255, 255, 255, 0.06);
}

.form-group input::placeholder {
  color: rgba(255, 255, 255, 0.2);
}

.form-group select option {
  background: #1a1a1d;
  color: #fff;
}

.submit-btn {
  width: 100%;
  padding: 12px;
  background: #e8591a;
  border: none;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  cursor: pointer;
  font-family: inherit;
  box-shadow: 0 4px 20px rgba(232, 89, 26, 0.35);
  transition: all 0.15s;
  margin-top: 4px;
}

.submit-btn:hover {
  background: #d4511a;
  box-shadow: 0 4px 28px rgba(232, 89, 26, 0.55);
  transform: translateY(-1px);
}

.form-note {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.18);
  text-align: center;
  margin-top: 14px;
}

#thanks {
  display: none;
  text-align: center;
  padding: 24px 0;
  font-size: 15px;
  color: rgba(255, 255, 255, 0.6);
}

#thanks strong {
  color: #4ade80;
  display: block;
  font-size: 18px;
  margin-bottom: 6px;
}