/* cignyl-sftp 20260824 */
/* ------------------------------ */
/* v2 Spinizer (shared)           */
/* ------------------------------ */

.v2-theme .v2-spinizer {
  display: inline-flex;
  align-items: center;
  gap: var(--v2-space-sm);
}

.v2-theme .v2-spinizer__spinner,
.v2-theme .v2-tabs__spinner { /* legacy alias */
  width: 1rem;
  height: 1rem;
  border-radius: 9999px;
  border: 2px solid hsl(var(--border));
  border-top-color: hsl(var(--primary));
  animation: v2-spinizer-spin 700ms linear infinite;
}

.v2-theme .v2-spinizer__text,
.v2-theme .v2-tabs__panel-overlay-text { /* legacy alias */
  font-size: 0.875rem;
  font-weight: 500;
  color: hsl(var(--foreground));
}

@keyframes v2-spinizer-spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
  .v2-theme .v2-spinizer__spinner,
  .v2-theme .v2-tabs__spinner {
    animation: none !important;
  }
}

/* sizes */
.v2-theme .v2-tabs--size-xsm {
  --v2-tabs-trigger-height: calc(var(--v2-space-md) + var(--v2-space-sm));
}

.v2-theme .v2-tabs--size-sm {
  --v2-tabs-trigger-height: var(--v2-space-xl);
}

.v2-theme .v2-tabs--size-default {
  --v2-tabs-trigger-height: calc(var(--v2-space-md) + var(--v2-space-sm) + var(--v2-space-xsm));
}

.v2-theme .v2-tabs--size-lg {
  --v2-tabs-trigger-height: calc(var(--v2-space-xl) + var(--v2-space-xsm)); 
}

.v2-theme .v2-tabs--size-xlg {
  --v2-tabs-trigger-height: calc(var(--v2-space-xl) + var(--v2-space-sm)); 
}

/* variants */
.v2-theme .v2-tabs--variant-default {
  --v2-tabs-indicator-bg: hsl(var(--primary));
  --v2-tabs-trigger-active-color: hsl(var(--primary-foreground));
}

.v2-theme .v2-tabs--variant-secondary {
  --v2-tabs-indicator-bg: hsl(var(--secondary));
  --v2-tabs-trigger-active-color: hsl(var(--secondary-foreground));
}

.v2-theme .v2-tabs--variant-destructive {
  --v2-tabs-indicator-bg: hsl(var(--destructive));
  --v2-tabs-trigger-active-color: hsl(var(--destructive-foreground));
}

.v2-theme .v2-tabs--variant-success {
  --v2-tabs-indicator-bg: hsl(var(--success));
  --v2-tabs-trigger-active-color: hsl(var(--success-foreground));
}

.v2-theme .v2-tabs--variant-warning {
  --v2-tabs-indicator-bg: hsl(var(--warning));
  --v2-tabs-trigger-active-color: hsl(var(--warning-foreground));
}

.v2-theme .v2-tabs--variant-info {
  --v2-tabs-indicator-bg: hsl(var(--info));
  --v2-tabs-trigger-active-color: hsl(var(--info-foreground));
}

.v2-theme .v2-tabs--variant-outline {
  --v2-tabs-list-bg: transparent;
  --v2-tabs-list-border: hsl(var(--border));
  --v2-tabs-indicator-bg: hsl(var(--background));
  --v2-tabs-indicator-border: hsl(var(--input));
  --v2-tabs-indicator-shadow: none;
  --v2-tabs-trigger-active-color: hsl(var(--foreground));
}

.v2-theme .v2-tabs--variant-ghost {
  --v2-tabs-list-bg: transparent;
  --v2-tabs-list-border: transparent;
  --v2-tabs-indicator-bg: hsl(var(--accent));
  --v2-tabs-trigger-active-color: hsl(var(--accent-foreground));
}

.v2-theme .v2-tabs--variant-link {
  --v2-tabs-list-bg: transparent;
  --v2-tabs-list-border: transparent;
  --v2-tabs-indicator-bg: transparent;
  --v2-tabs-indicator-border: transparent;
  --v2-tabs-indicator-shadow: none;
  --v2-tabs-trigger-active-color: hsl(var(--primary));
  --v2-tabs-trigger-active-text-decoration: underline;
}

/* ------------------------------------------- */
/* Per-tab variant overrides (indicator + text) */
/* ------------------------------------------- */

/* Indicator per-tab variant (does NOT change list background/border) */
.v2-theme .v2-tabs__indicator[data-v2-indicator-variant="default"] {
  background-color: hsl(var(--primary));
  border-color: transparent;
  box-shadow: 0 1px 2px hsl(var(--foreground) / 0.14);
}

.v2-theme .v2-tabs__indicator[data-v2-indicator-variant="secondary"] {
  background-color: hsl(var(--secondary));
  border-color: transparent;
  box-shadow: 0 1px 2px hsl(var(--foreground) / 0.14);
}

.v2-theme .v2-tabs__indicator[data-v2-indicator-variant="destructive"] {
  background-color: hsl(var(--destructive));
  border-color: transparent;
  box-shadow: 0 1px 2px hsl(var(--foreground) / 0.14);
}

.v2-theme .v2-tabs__indicator[data-v2-indicator-variant="success"] {
  background-color: hsl(var(--success));
  border-color: transparent;
  box-shadow: 0 1px 2px hsl(var(--foreground) / 0.14);
}

.v2-theme .v2-tabs__indicator[data-v2-indicator-variant="warning"] {
  background-color: hsl(var(--warning));
  border-color: transparent;
  box-shadow: 0 1px 2px hsl(var(--foreground) / 0.14);
}

.v2-theme .v2-tabs__indicator[data-v2-indicator-variant="info"] {
  background-color: hsl(var(--info));
  border-color: transparent;
  box-shadow: 0 1px 2px hsl(var(--foreground) / 0.14);
}

.v2-theme .v2-tabs__indicator[data-v2-indicator-variant="outline"] {
  background-color: hsl(var(--background));
  border-color: hsl(var(--input));
  box-shadow: none;
}

.v2-theme .v2-tabs__indicator[data-v2-indicator-variant="ghost"] {
  background-color: hsl(var(--accent));
  border-color: transparent;
  box-shadow: none;
}

.v2-theme .v2-tabs__indicator[data-v2-indicator-variant="link"] {
  background-color: transparent;
  border-color: transparent;
  box-shadow: none;
}

/* Active trigger text per-tab variant */
.v2-theme .v2-tabs__trigger[data-state="active"][data-v2-tab-variant="default"] {
  color: hsl(var(--primary-foreground));
}

.v2-theme .v2-tabs__trigger[data-state="active"][data-v2-tab-variant="secondary"] {
  color: hsl(var(--secondary-foreground));
}

.v2-theme .v2-tabs__trigger[data-state="active"][data-v2-tab-variant="destructive"] {
  color: hsl(var(--destructive-foreground));
}

.v2-theme .v2-tabs__trigger[data-state="active"][data-v2-tab-variant="success"] {
  color: hsl(var(--success-foreground));
}

.v2-theme .v2-tabs__trigger[data-state="active"][data-v2-tab-variant="warning"] {
  color: hsl(var(--warning-foreground));
}

.v2-theme .v2-tabs__trigger[data-state="active"][data-v2-tab-variant="info"] {
  color: hsl(var(--info-foreground));
}

.v2-theme .v2-tabs__trigger[data-state="active"][data-v2-tab-variant="outline"] {
  color: hsl(var(--foreground));
}

.v2-theme .v2-tabs__trigger[data-state="active"][data-v2-tab-variant="ghost"] {
  color: hsl(var(--accent-foreground));
}

.v2-theme .v2-tabs__trigger[data-state="active"][data-v2-tab-variant="link"] {
  color: hsl(var(--primary));
  text-decoration: underline;
  text-underline-offset: 4px;
}

