@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&display=swap');.grecaptcha-badge {
  visibility: hidden;
}


/**
 * Tokens canônicos — espelho de planejamento/modelosDesign.
 * Cores em canais RGB (sem vírgula) para opacidade Tailwind: bg-primary/10 etc.
 * Escopo: .v2-root (não vaza para a v1/MUI).
 */
.v2-root {
  --color-surface: 248 249 255;
  --color-surface-dim: 203 219 245;
  --color-surface-bright: 248 249 255;
  --color-surface-container-lowest: 255 255 255;
  --color-surface-container-low: 239 244 255;
  --color-surface-container: 229 238 255;
  --color-surface-container-high: 220 233 255;
  --color-surface-container-highest: 211 228 254;
  --color-on-surface: 11 28 48;
  --color-on-surface-variant: 60 74 63;
  --color-inverse-surface: 33 49 69;
  --color-inverse-on-surface: 234 241 255;
  --color-outline: 108 123 110;
  --color-outline-variant: 187 203 188;
  --color-surface-tint: 0 109 61;
  --color-primary: 0 109 61;
  --color-on-primary: 255 255 255;
  --color-primary-container: 38 208 124;
  --color-on-primary-container: 0 83 45;
  --color-inverse-primary: 64 225 139;
  --color-secondary: 74 97 112;
  --color-on-secondary: 255 255 255;
  --color-secondary-container: 205 230 248;
  --color-on-secondary-container: 80 103 118;
  --color-tertiary: 149 73 32;
  --color-on-tertiary: 255 255 255;
  --color-tertiary-container: 255 158 109;
  --color-on-tertiary-container: 119 51 10;
  --color-error: 186 26 26;
  --color-on-error: 255 255 255;
  --color-error-container: 255 218 214;
  --color-on-error-container: 147 0 10;
  --color-primary-fixed: 99 254 165;
  --color-primary-fixed-dim: 64 225 139;
  --color-on-primary-fixed: 0 33 15;
  --color-on-primary-fixed-variant: 0 82 44;
  --color-secondary-fixed: 205 230 248;
  --color-secondary-fixed-dim: 177 202 219;
  --color-on-secondary-fixed: 4 30 43;
  --color-on-secondary-fixed-variant: 50 74 88;
  --color-tertiary-fixed: 255 219 203;
  --color-tertiary-fixed-dim: 255 182 147;
  --color-on-tertiary-fixed: 52 16 0;
  --color-on-tertiary-fixed-variant: 118 51 9;
  --color-background: 248 249 255;
  --color-on-background: 11 28 48;
  --color-surface-variant: 211 228 254;
  --color-surface-sidebar: 16 41 54;
  --color-surface-canvas: 248 250 252;
  --color-border-subtle: 226 232 240;
  --color-status-success: 38 208 124;
  --color-status-warning: 245 158 11;
  --color-status-error: 239 68 68;
  --color-status-info: 14 165 233;

  --spacing-sidebar-width: 260px;
  --spacing-container-max: 1440px;
  --spacing-gutter: 24px;
  --spacing-margin-mobile: 16px;
  --spacing-margin-desktop: 32px;
  --spacing-stack-sm: 8px;
  --spacing-stack-md: 16px;
  --spacing-stack-lg: 24px;
  --spacing-sidebar-width-collapsed: 72px;

  --radius-sm: 0.125rem;
  --radius-default: 0.25rem;
  --radius-md: 0.375rem;
  --radius-lg: 0.5rem;
  --radius-xl: 0.75rem;
  --radius-full: 9999px;

  --font-display-lg-size: 48px;
  --font-display-lg-weight: 700;
  --font-display-lg-line-height: 1.2;
  --font-display-lg-letter-spacing: -0.02em;
  --font-headline-lg-size: 30px;
  --font-headline-lg-weight: 600;
  --font-headline-lg-line-height: 38px;
  --font-headline-lg-letter-spacing: -0.01em;
  --font-headline-lg-mobile-size: 24px;
  --font-headline-lg-mobile-weight: 600;
  --font-headline-lg-mobile-line-height: 32px;
  --font-headline-md-size: 24px;
  --font-headline-md-weight: 600;
  --font-headline-md-line-height: 32px;
  --font-headline-sm-size: 20px;
  --font-headline-sm-weight: 600;
  --font-headline-sm-line-height: 28px;
  --font-body-lg-size: 18px;
  --font-body-lg-weight: 400;
  --font-body-lg-line-height: 28px;
  --font-body-md-size: 16px;
  --font-body-md-weight: 400;
  --font-body-md-line-height: 24px;
  --font-body-sm-size: 14px;
  --font-body-sm-weight: 400;
  --font-body-sm-line-height: 20px;
  --font-label-md-size: 14px;
  --font-label-md-weight: 500;
  --font-label-md-line-height: 20px;
  --font-label-md-letter-spacing: 0.01em;
  --font-label-sm-size: 12px;
  --font-label-sm-weight: 600;
  --font-label-sm-line-height: 16px;

  /* Aliases legados (valor completo) para shell.css BEM */
  --v2-surface: rgb(var(--color-surface));
  --v2-surface-canvas: rgb(var(--color-surface-canvas));
  --v2-surface-sidebar: rgb(var(--color-surface-sidebar));
  --v2-on-surface: rgb(var(--color-on-surface));
  --v2-secondary: rgb(var(--color-secondary));
  --v2-inverse-on-surface: rgb(var(--color-inverse-on-surface));
  --v2-border-subtle: rgb(var(--color-border-subtle));
  --v2-status-success: rgb(var(--color-status-success));
  --v2-status-warning: rgb(var(--color-status-warning));
  --v2-status-error: rgb(var(--color-status-error));
  --v2-status-info: rgb(var(--color-status-info));
  --v2-primary: rgb(var(--color-primary));
  --v2-on-primary: rgb(var(--color-on-primary));
  --v2-sidebar-width: var(--spacing-sidebar-width);
  --v2-sidebar-collapsed: var(--spacing-sidebar-width-collapsed);
  --v2-stack: var(--spacing-stack-lg);
  --v2-radius: var(--radius-lg);
  --v2-shadow-soft: 0 1px 3px rgba(16, 41, 54, 0.1), 0 1px 2px rgba(16, 41, 54, 0.06);
  --v2-shadow-overlay: 0 20px 25px -5px rgba(16, 41, 54, 0.1), 0 10px 10px -5px rgba(16, 41, 54, 0.04);
  --v2-font: Inter, 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
}
/* Tokens canônicos em tokens.css; aqui só o shell do .v2-root.
 *
 * LEGADO: .v2-shell / .v2-sidebar* / .v2-header* / .v2-btn / .v2-panel / .v2-table
 * não são mais a fonte do layout (JSX usa Tailwind + .ui-*). Mantidos só para
 * regressão até remoção completa.
 */
.v2-root {
  min-height: 100vh;
  color: var(--v2-on-surface);
  font-family: var(--v2-font);
  background: var(--v2-surface-canvas);
}
.v2-root *,
.v2-root *::before,
.v2-root *::after {
  box-sizing: border-box;
}
.v2-shell {
  display: flex;
  height: 100vh;
  width: 100%;
  overflow: hidden;
  background: var(--v2-surface-canvas);
}
.material-symbols-outlined {
  font-family: 'Material Symbols Outlined';
  font-weight: normal;
  font-style: normal;
  font-size: 20px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  direction: ltr;
  font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
  -webkit-font-smoothing: antialiased;
}
.material-symbols-outlined.fill {
  font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}
.v2-sr {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.v2-sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  z-index: 50;
  display: flex;
  flex-direction: column;
  width: var(--v2-sidebar-width);
  max-width: 86vw;
  border-right: 1px solid rgba(255, 255, 255, 0.1);
  background: var(--v2-surface-sidebar);
  color: var(--v2-inverse-on-surface);
  box-shadow: 4px 0 24px rgba(0, 0, 0, 0.12);
  transition: width 0.3s ease, transform 0.3s ease;
}
.v2-sidebar--rail,
.v2-sidebar--collapsed {
  width: var(--v2-sidebar-collapsed);
}
.v2-sidebar ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.v2-sidebar__brand {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  gap: 0.75rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  padding: 1.25rem 1.25rem;
}
.v2-sidebar--rail .v2-sidebar__brand {
  justify-content: center;
  padding: 1rem 0.5rem;
}
.v2-sidebar__logo {
  display: flex;
  height: 2.5rem;
  width: 2.5rem;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  border-radius: 0.5rem;
  background: var(--v2-status-success);
  box-shadow: 0 2px 8px rgba(38, 208, 124, 0.35);
  color: var(--v2-surface-sidebar);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1;
}
.v2-sidebar__brand-text {
  min-width: 0;
}
.v2-sidebar__brand-text strong {
  display: block;
  overflow: hidden;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.v2-sidebar__brand-text span {
  display: block;
  overflow: hidden;
  color: rgba(234, 241, 255, 0.5);
  font-size: 0.875rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.v2-sidebar--rail .v2-sidebar__brand-text,
.v2-sidebar--rail .v2-sidebar__label,
.v2-sidebar--rail .v2-sidebar__chevron {
  display: none;
}
.v2-sidebar__nav {
  flex: 1;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 0.5rem 0 0.75rem;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.22) transparent;
}
.v2-sidebar--rail .v2-sidebar__nav {
  padding: 0.5rem;
}
.v2-sidebar__nav::-webkit-scrollbar {
  width: 6px;
}
.v2-sidebar__nav::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.18);
}
.v2-sidebar__item {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 0.75rem;
  border: 0;
  border-left: 3px solid transparent;
  background: transparent;
  color: rgba(234, 241, 255, 0.65);
  cursor: pointer;
  font: inherit;
  padding: 0.625rem 1rem;
  text-align: left;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease;
}
.v2-sidebar__item:hover {
  background: rgba(255, 255, 255, 0.08);
  color: var(--v2-inverse-on-surface);
}
.v2-sidebar__item--active {
  border-left-color: var(--v2-status-success);
  background: rgba(255, 255, 255, 0.1);
  color: var(--v2-status-success);
}
.v2-sidebar--rail .v2-sidebar__item {
  justify-content: center;
  width: auto;
  margin: 2px 0;
  border-left-width: 0;
  border-radius: 0.5rem;
  padding: 0.625rem 0.5rem;
}
.v2-sidebar--rail .v2-sidebar__item--active {
  background: rgba(255, 255, 255, 0.1);
}
.v2-sidebar__icon {
  display: flex;
  height: 2rem;
  width: 2rem;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  border-radius: 0.375rem;
  background: rgba(255, 255, 255, 0.05);
}
.v2-sidebar__icon--active,
.v2-sidebar__item--active .v2-sidebar__icon {
  background: rgba(38, 208, 124, 0.15);
}
.v2-sidebar__label {
  min-width: 0;
  flex: 1;
  overflow: hidden;
  font-size: 0.875rem;
  font-weight: 500;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.v2-sidebar__chevron {
  flex-shrink: 0;
  color: rgba(234, 241, 255, 0.5);
  font-size: 18px;
  transition: transform 0.2s ease;
}
.v2-sidebar__chevron--open {
  transform: rotate(90deg);
}
.v2-sidebar__children .v2-sidebar__item {
  padding-left: 1.75rem;
}
.v2-sidebar__children .v2-sidebar__children .v2-sidebar__item {
  padding-left: 2.5rem;
}
.v2-sidebar__flyout-anchor {
  position: relative;
}
.v2-sidebar__flyout {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: 60;
  min-width: 220px;
  margin-left: 0.5rem;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 0.5rem;
  background: var(--v2-surface-sidebar);
  padding: 0.25rem 0;
  box-shadow: 4px 8px 24px rgba(0, 0, 0, 0.35);
}
.v2-sidebar__flyout-title {
  margin: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  padding: 0.5rem 0.75rem;
  color: rgba(234, 241, 255, 0.5);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.v2-sidebar__flyout-link {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.625rem 0.75rem;
  color: rgba(234, 241, 255, 0.8);
  font-size: 0.875rem;
  font-weight: 500;
  text-decoration: none;
}
.v2-sidebar__flyout-link:hover {
  background: rgba(255, 255, 255, 0.08);
  color: var(--v2-inverse-on-surface);
}
.v2-sidebar__flyout-link--active {
  background: rgba(255, 255, 255, 0.1);
  color: var(--v2-status-success);
}
.v2-sidebar__external {
  flex-shrink: 0;
  font-size: 14px;
  opacity: 0.45;
}
.v2-sidebar__sep {
  padding: 0.5rem 1rem;
}
.v2-sidebar__sep--rail {
  padding: 0.5rem;
}
.v2-sidebar__sep-line {
  border-top: 1px solid rgba(255, 255, 255, 0.15);
}
.v2-sidebar__footer {
  display: flex;
  flex-shrink: 0;
  flex-direction: column;
  margin-top: auto;
  padding-bottom: 0.5rem;
}
.v2-sidebar__footer-rule {
  border-top: 1px solid rgba(255, 255, 255, 0.15);
  margin: 0 1rem;
}
.v2-sidebar--rail .v2-sidebar__footer-rule {
  margin: 0 0.5rem;
}
.v2-sidebar__footer ul {
  padding-top: 0.5rem;
}
.v2-sidebar__link {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 0.65rem;
  border: 0;
  background: transparent;
  color: rgba(234, 241, 255, 0.8);
  cursor: pointer;
  font: inherit;
  padding: 0.65rem 0.75rem;
  text-align: left;
  text-decoration: none;
}
.v2-sidebar-backdrop {
  position: fixed;
  inset: 0;
  z-index: 40;
  border: 0;
  background: rgba(11, 28, 48, 0.4);
  -webkit-backdrop-filter: blur(2px);
          backdrop-filter: blur(2px);
}
.v2-main-wrap {
  display: flex;
  min-width: 0;
  flex: 1;
  flex-direction: column;
  margin-left: var(--v2-sidebar-width);
  overflow-y: auto;
  transition: margin-left 0.25s ease;
}
.v2-main-wrap--collapsed {
  margin-left: var(--v2-sidebar-collapsed);
}
.v2-header {
  position: sticky;
  top: 0;
  z-index: 40;
  display: flex;
  height: 4rem;
  flex-shrink: 0;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  border-bottom: 1px solid var(--v2-border-subtle);
  background: #fff;
  padding: 0 1rem;
  box-shadow: 0 1px 2px rgba(16, 41, 54, 0.06);
}
.v2-header__start {
  display: flex;
  min-width: 0;
  flex: 1;
  align-items: center;
  gap: 1rem;
}
.v2-header__search-wrap {
  position: relative;
  display: none;
  min-width: 0;
  flex: 1;
  max-width: 28rem;
}
.v2-header__search-icon {
  position: absolute;
  top: 50%;
  left: 0.75rem;
  color: var(--v2-secondary);
  pointer-events: none;
  transform: translateY(-50%);
}
.v2-header__search {
  width: 100%;
  height: 2.5rem;
  border: 1px solid var(--v2-border-subtle);
  border-radius: 0.5rem;
  background: var(--v2-surface-canvas);
  color: var(--v2-on-surface);
  font: inherit;
  font-size: 0.875rem;
  padding: 0 1rem 0 2.5rem;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.v2-header__search::placeholder {
  color: rgba(74, 97, 112, 0.7);
}
.v2-header__search:focus {
  border-color: var(--v2-status-success);
  outline: none;
  box-shadow: 0 0 0 3px rgba(38, 208, 124, 0.2);
}
.v2-header__actions {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  gap: 0.5rem;
}
.v2-header__account {
  position: relative;
}
.v2-icon-btn {
  position: relative;
  display: inline-flex;
  height: 2.5rem;
  width: 2.5rem;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--v2-secondary);
  cursor: pointer;
  font: inherit;
  text-decoration: none;
  transition: background 0.15s ease, color 0.15s ease;
}
.v2-icon-btn:hover {
  background: #eff4ff;
  color: var(--v2-on-surface);
}
.v2-avatar {
  display: inline-flex;
  height: 2rem;
  width: 2rem;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--v2-border-subtle);
  border-radius: 999px;
  background: var(--v2-status-success);
  color: #00532d;
  cursor: pointer;
  font: inherit;
  font-size: 0.75rem;
  font-weight: 700;
}
.v2-badge {
  position: absolute;
  top: 0.35rem;
  right: 0.35rem;
  min-width: 1rem;
  border-radius: 999px;
  background: var(--v2-status-error);
  color: #fff;
  font-size: 0.625rem;
  font-weight: 700;
  line-height: 1rem;
  padding: 0 0.25rem;
  text-align: center;
}
.v2-main {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding: 1rem;
  flex: 1;
}
.v2-calendar-grid,
.calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
}
.v2-page-shell {
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: var(--v2-stack);
}
.v2-page-shell--wide {
  max-width: 100%;
}
.v2-page-shell--default {
  max-width: 1200px;
}
.v2-page-header h1 {
  margin: 0;
  font-size: 1.875rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 2.375rem;
}
.v2-page-header p {
  margin: 0.25rem 0 0;
  color: var(--v2-secondary);
  font-size: 0.875rem;
}
.v2-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-bottom: 0.5rem;
  color: var(--v2-secondary);
  font-size: 0.8rem;
}
.v2-breadcrumb a {
  color: inherit;
  text-decoration: none;
}
.v2-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 1rem;
}
.v2-kpi,
.v2-panel,
.v2-dashboard-card {
  border: 1px solid var(--v2-border-subtle);
  border-radius: 0.75rem;
  background: #fff;
  box-shadow: var(--v2-shadow-soft);
}
.v2-kpi {
  padding: 1rem 1.15rem;
}
.v2-kpi__label {
  color: var(--v2-secondary);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.v2-kpi__value {
  margin-top: 0.35rem;
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: -0.02em;
}
.v2-panel {
  padding: 1rem 1.15rem;
}
.v2-modal > .v2-panel {
  border: 0;
  border-radius: 0.75rem;
  box-shadow: none;
}
.v2-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  height: 2.5rem;
  border: 0;
  border-radius: 0.5rem;
  background: var(--v2-status-success);
  box-shadow: var(--v2-shadow-soft);
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  padding: 0 1.25rem;
  text-decoration: none;
  transition: background 0.15s ease, box-shadow 0.15s ease;
}
.v2-btn:hover {
  background: #1fbe70;
}
.v2-btn:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}
.v2-btn--ghost {
  border: 1px solid var(--v2-border-subtle);
  background: #fff;
  color: var(--v2-on-surface);
}
.v2-btn--ghost:hover {
  background: var(--v2-surface-canvas);
}
.v2-btn--danger {
  background: var(--v2-status-error);
  color: #fff;
}
.v2-btn--danger:hover {
  background: #dc2626;
}
.v2-form {
  display: grid;
  gap: 0.85rem;
}
.v2-field label {
  display: block;
  margin-bottom: 0.5rem;
  color: var(--v2-secondary);
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.01em;
}
.v2-field input,
.v2-field select,
.v2-field textarea {
  width: 100%;
  min-height: 2.5rem;
  border: 1px solid var(--v2-border-subtle);
  border-radius: 0.5rem;
  background: #fff;
  color: var(--v2-on-surface);
  font: inherit;
  font-size: 0.875rem;
  padding: 0.5rem 0.75rem;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.v2-field select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%234a6170' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  padding-right: 2.5rem;
}
.v2-field input:focus,
.v2-field select:focus,
.v2-field textarea:focus {
  border-color: var(--v2-status-success);
  outline: none;
  box-shadow: 0 0 0 3px rgba(38, 208, 124, 0.2);
}
.v2-field input::placeholder,
.v2-field textarea::placeholder {
  color: rgba(74, 97, 112, 0.65);
}
.v2-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
}
.v2-table th {
  border-bottom: 1px solid var(--v2-border-subtle);
  background: var(--v2-surface-canvas);
  color: var(--v2-secondary);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  padding: 0.75rem 0.75rem;
  text-align: left;
  text-transform: uppercase;
}
.v2-table td {
  border-bottom: 1px solid var(--v2-border-subtle);
  height: 3.25rem;
  padding: 0.75rem;
  text-align: left;
}
.v2-table tbody tr:hover td {
  background: var(--v2-surface-canvas);
}
.v2-menu {
  position: absolute;
  z-index: 50;
  min-width: 220px;
  overflow: hidden;
  border: 1px solid var(--v2-border-subtle);
  border-radius: 0.75rem;
  background: #fff;
  padding: 0.25rem;
  box-shadow: var(--v2-shadow-overlay);
}
.v2-menu a,
.v2-menu button {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 0.5rem;
  border: 0;
  border-radius: 0.375rem;
  background: transparent;
  color: var(--v2-on-surface);
  cursor: pointer;
  font: inherit;
  font-size: 0.875rem;
  font-weight: 500;
  padding: 0.625rem 0.75rem;
  text-align: left;
  text-decoration: none;
}
.v2-menu a:hover,
.v2-menu button:hover {
  background: var(--v2-surface-canvas);
}
.v2-menu a small {
  margin-left: auto;
  color: var(--v2-secondary);
  font-size: 0.75rem;
  font-weight: 500;
}
.v2-menu__caption,
.v2-menu__empty {
  margin: 0;
  padding: 0.5rem 0.75rem;
  color: var(--v2-secondary);
  font-size: 0.75rem;
  font-weight: 600;
}
.v2-menu--account {
  top: calc(100% + 0.5rem);
  right: 0;
}
.v2-menu--search {
  top: calc(100% + 0.35rem);
  right: 0;
  left: 0;
  max-height: 18rem;
  overflow: auto;
}
.v2-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  background: rgba(11, 28, 48, 0.4);
  -webkit-backdrop-filter: blur(4px);
          backdrop-filter: blur(4px);
}
.v2-modal {
  width: min(100%, 32rem);
  max-height: 90vh;
  overflow: auto;
  border-radius: 0.75rem;
  background: #fff;
  box-shadow: var(--v2-shadow-overlay);
}
.v2-modal--wide {
  width: min(100%, 960px);
}
.v2-modal__header,
.v2-modal__footer {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  border-color: var(--v2-border-subtle);
  padding: 1rem 1.5rem;
}
.v2-modal__header {
  justify-content: space-between;
  border-bottom: 1px solid var(--v2-border-subtle);
}
.v2-modal__header h2 {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 600;
  letter-spacing: -0.01em;
}
.v2-modal__body {
  padding: 1rem 1.5rem;
}
.v2-modal__footer {
  justify-content: flex-end;
  border-top: 1px solid var(--v2-border-subtle);
}
.v2-muted {
  color: var(--v2-secondary);
}
.v2-alert {
  border-left: 4px solid var(--v2-status-info);
  background: #eff6ff;
  border-radius: 0.5rem;
  padding: 0.75rem 1rem;
}
.v2-alert--warn {
  border-left-color: var(--v2-status-warning);
  background: #fffbeb;
}
.v2-alert--error {
  border-left-color: var(--v2-status-error);
  background: #fef2f2;
}
.v2-auth {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 1.5rem;
  background: linear-gradient(160deg, #102936 0%, #0b1c30 45%, #006d3d 140%);
}
.v2-auth__card {
  width: min(100%, 420px);
  border-radius: 1rem;
  background: #fff;
  padding: 1.75rem;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.25);
}
.v2-auth__brand {
  font-size: 1.35rem;
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--v2-primary);
}
.v2-auth__card h1 {
  margin: 0;
  font-size: 1.5rem;
  font-weight: 650;
  color: var(--v2-on-surface);
}
.v2-auth__card .ui-btn {
  width: 100%;
}
.v2-auth__links {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  font-size: 0.875rem;
}
.v2-auth__links a {
  color: var(--v2-primary);
  text-decoration: none;
}
.v2-auth__links a:hover {
  text-decoration: underline;
}
.v2-chip {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  background: rgba(38, 208, 124, 0.15);
  color: var(--v2-primary);
  font-size: 0.75rem;
  font-weight: 600;
  padding: 0.2rem 0.55rem;
}
@media (min-width: 640px) {
  .v2-header__search-wrap {
    display: block;
  }
}
@media (min-width: 768px) {
  .v2-header {
    padding: 0 2rem;
  }

  .v2-main {
    padding: 2rem;
  }
}
@media (max-width: 767px) {
  .v2-sidebar,
  .v2-sidebar--rail,
  .v2-sidebar--collapsed {
    width: min(var(--v2-sidebar-width), 86vw);
    transform: translateX(-100%);
  }

  .v2-sidebar--open {
    transform: translateX(0);
  }

  .v2-main-wrap,
  .v2-main-wrap--collapsed {
    margin-left: 0;
  }
}
/* Hub de dashboards */
.v2-dashboard-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
}
.v2-dashboard-card {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  padding: 1rem 1.1rem;
  color: inherit;
  text-decoration: none;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.v2-dashboard-card:hover {
  border-color: var(--v2-status-success);
  box-shadow: 0 4px 14px rgba(16, 41, 54, 0.08);
}
.v2-dashboard-card strong {
  font-size: 1rem;
}
/* Isola MUI v1 embutido no shell v2 */
.v2-legacy-embed {
  width: 100%;
  min-height: 0;
  background: var(--v2-surface-canvas);
}
.v2-legacy-embed .MuiContainer-root {
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
*, ::before, ::after {
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x:  ;
    --tw-pan-y:  ;
    --tw-pinch-zoom:  ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position:  ;
    --tw-gradient-via-position:  ;
    --tw-gradient-to-position:  ;
    --tw-ordinal:  ;
    --tw-slashed-zero:  ;
    --tw-numeric-figure:  ;
    --tw-numeric-spacing:  ;
    --tw-numeric-fraction:  ;
    --tw-ring-inset:  ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgb(59 130 246 / 0.5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur:  ;
    --tw-brightness:  ;
    --tw-contrast:  ;
    --tw-grayscale:  ;
    --tw-hue-rotate:  ;
    --tw-invert:  ;
    --tw-saturate:  ;
    --tw-sepia:  ;
    --tw-drop-shadow:  ;
    --tw-backdrop-blur:  ;
    --tw-backdrop-brightness:  ;
    --tw-backdrop-contrast:  ;
    --tw-backdrop-grayscale:  ;
    --tw-backdrop-hue-rotate:  ;
    --tw-backdrop-invert:  ;
    --tw-backdrop-opacity:  ;
    --tw-backdrop-saturate:  ;
    --tw-backdrop-sepia:  ;
    --tw-contain-size:  ;
    --tw-contain-layout:  ;
    --tw-contain-paint:  ;
    --tw-contain-style:  ;
}
::backdrop {
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x:  ;
    --tw-pan-y:  ;
    --tw-pinch-zoom:  ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position:  ;
    --tw-gradient-via-position:  ;
    --tw-gradient-to-position:  ;
    --tw-ordinal:  ;
    --tw-slashed-zero:  ;
    --tw-numeric-figure:  ;
    --tw-numeric-spacing:  ;
    --tw-numeric-fraction:  ;
    --tw-ring-inset:  ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgb(59 130 246 / 0.5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur:  ;
    --tw-brightness:  ;
    --tw-contrast:  ;
    --tw-grayscale:  ;
    --tw-hue-rotate:  ;
    --tw-invert:  ;
    --tw-saturate:  ;
    --tw-sepia:  ;
    --tw-drop-shadow:  ;
    --tw-backdrop-blur:  ;
    --tw-backdrop-brightness:  ;
    --tw-backdrop-contrast:  ;
    --tw-backdrop-grayscale:  ;
    --tw-backdrop-hue-rotate:  ;
    --tw-backdrop-invert:  ;
    --tw-backdrop-opacity:  ;
    --tw-backdrop-saturate:  ;
    --tw-backdrop-sepia:  ;
    --tw-contain-size:  ;
    --tw-contain-layout:  ;
    --tw-contain-paint:  ;
    --tw-contain-style:  ;
}
  .v2-root *,
  .v2-root *::before,
  .v2-root *::after {
    box-sizing: border-box;
    border-width: 0;
    border-style: solid;
    border-color: rgb(var(--color-border-subtle));
  }

  .v2-root h1,
  .v2-root h2,
  .v2-root h3,
  .v2-root h4,
  .v2-root h5,
  .v2-root h6,
  .v2-root p,
  .v2-root figure,
  .v2-root blockquote,
  .v2-root dl,
  .v2-root dd {
    margin: 0;
  }

  .v2-root ol,
  .v2-root ul,
  .v2-root menu {
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .v2-root button,
  .v2-root input,
  .v2-root optgroup,
  .v2-root select,
  .v2-root textarea {
    margin: 0;
    padding: 0;
    color: inherit;
    font: inherit;
    letter-spacing: inherit;
  }

  .v2-root button,
  .v2-root select {
    text-transform: none;
  }

  .v2-root button,
  .v2-root [type='button'],
  .v2-root [type='reset'],
  .v2-root [type='submit'] {
    appearance: button;
    background-color: transparent;
    background-image: none;
  }

  .v2-root textarea {
    resize: vertical;
  }

  .v2-root table {
    border-color: inherit;
    border-collapse: collapse;
    text-indent: 0;
  }

  .v2-root img,
  .v2-root svg {
    display: block;
    vertical-align: middle;
  }

  .v2-root [hidden] {
    display: none;
  }

  /* Sem preflight global: links herdam UA (azul/:visited roxo). Forçar inherit como o protótipo. */
  .v2-root a {
    color: inherit;
    text-decoration: inherit;
  }

  .v2-root a:visited {
    color: inherit;
  }
.container {
    width: 100%;
}
@media (min-width: 640px) {
    .container {
        max-width: 640px;
    }
}
@media (min-width: 768px) {
    .container {
        max-width: 768px;
    }
}
@media (min-width: 1024px) {
    .container {
        max-width: 1024px;
    }
}
@media (min-width: 1280px) {
    .container {
        max-width: 1280px;
    }
}
@media (min-width: 1536px) {
    .container {
        max-width: 1536px;
    }
}
.ui-panel {
    border-radius: var(--radius-xl);
    border-width: 1px;
    --tw-border-opacity: 1;
    border-color: rgb(var(--color-border-subtle) / var(--tw-border-opacity, 1));
    --tw-bg-opacity: 1;
    background-color: rgb(var(--color-surface-container-lowest) / var(--tw-bg-opacity, 1));
    padding: 1rem;
    --tw-shadow: 0 1px 3px rgba(16, 41, 54, 0.1), 0 1px 2px rgba(16, 41, 54, 0.06);
    --tw-shadow-colored: 0 1px 3px var(--tw-shadow-color), 0 1px 2px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
    box-shadow:
      0 1px 3px rgba(16, 41, 54, 0.1),
      0 1px 2px rgba(16, 41, 54, 0.06);
}
.ui-btn {
    display: inline-flex;
    height: 2.5rem;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    border-radius: var(--radius-lg);
    --tw-bg-opacity: 1;
    background-color: rgb(var(--color-on-surface) / var(--tw-bg-opacity, 1));
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    font-size: var(--font-label-md-size);
    line-height: var(--font-label-md-line-height);
    letter-spacing: var(--font-label-md-letter-spacing);
    font-weight: var(--font-label-md-weight);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.025em;
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
    --tw-shadow: 0 1px 3px rgba(16, 41, 54, 0.1), 0 1px 2px rgba(16, 41, 54, 0.06);
    --tw-shadow-colored: 0 1px 3px var(--tw-shadow-color), 0 1px 2px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
    box-shadow:
      0 1px 3px rgba(16, 41, 54, 0.1),
      0 1px 2px rgba(16, 41, 54, 0.06);
}
.ui-btn:hover {
    background-color: rgb(var(--color-on-surface) / 0.9);
}
.ui-btn:disabled {
    cursor: not-allowed;
    opacity: 0.5;
}
.ui-btn--ghost {
    border-width: 1px;
    --tw-border-opacity: 1;
    border-color: rgb(var(--color-border-subtle) / var(--tw-border-opacity, 1));
    --tw-bg-opacity: 1;
    background-color: rgb(var(--color-surface-container-lowest) / var(--tw-bg-opacity, 1));
    padding-left: 1rem;
    padding-right: 1rem;
    font-weight: 500;
    text-transform: none;
    letter-spacing: 0em;
    --tw-text-opacity: 1;
    color: rgb(var(--color-secondary) / var(--tw-text-opacity, 1));
    --tw-shadow: 0 1px 3px rgba(16, 41, 54, 0.1), 0 1px 2px rgba(16, 41, 54, 0.06);
    --tw-shadow-colored: 0 1px 3px var(--tw-shadow-color), 0 1px 2px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
    box-shadow:
      0 1px 3px rgba(16, 41, 54, 0.1),
      0 1px 2px rgba(16, 41, 54, 0.06);
}
.ui-btn--ghost:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(var(--color-surface-canvas) / var(--tw-bg-opacity, 1));
    --tw-text-opacity: 1;
    color: rgb(var(--color-on-surface) / var(--tw-text-opacity, 1));
}
.ui-btn--ghost {
    background-image: none;
  }
.ui-alert {
    border-radius: var(--radius-lg);
    border-width: 1px;
    padding-left: 1rem;
    padding-right: 1rem;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
    font-size: var(--font-body-sm-size);
    line-height: var(--font-body-sm-line-height);
    font-weight: var(--font-body-sm-weight);
}
.ui-alert--error {
    border-color: rgb(var(--color-status-error) / 0.3);
    background-color: rgb(var(--color-status-error) / 0.05);
    --tw-text-opacity: 1;
    color: rgb(var(--color-status-error) / var(--tw-text-opacity, 1));
}
.ui-alert--warn {
    border-color: rgb(var(--color-status-warning) / 0.3);
    background-color: rgb(var(--color-status-warning) / 0.05);
    --tw-text-opacity: 1;
    color: rgb(var(--color-status-warning) / var(--tw-text-opacity, 1));
}
.ui-alert--success {
    border-color: rgb(var(--color-status-success) / 0.3);
    background-color: rgb(var(--color-status-success) / 0.05);
    --tw-text-opacity: 1;
    color: rgb(var(--color-status-success) / var(--tw-text-opacity, 1));
}
.ui-field {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}
.ui-field label {
    font-size: var(--font-label-sm-size);
    line-height: var(--font-label-sm-line-height);
    font-weight: var(--font-label-sm-weight);
    font-weight: 500;
    --tw-text-opacity: 1;
    color: rgb(var(--color-secondary) / var(--tw-text-opacity, 1));
}
.ui-field input,
  .ui-field select,
  .ui-field textarea {
    height: 2.5rem;
    width: 100%;
    border-radius: var(--radius-lg);
    border-width: 1px;
    --tw-border-opacity: 1;
    border-color: rgb(var(--color-border-subtle) / var(--tw-border-opacity, 1));
    --tw-bg-opacity: 1;
    background-color: rgb(var(--color-surface-container-lowest) / var(--tw-bg-opacity, 1));
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    font-size: var(--font-body-sm-size);
    line-height: var(--font-body-sm-line-height);
    font-weight: var(--font-body-sm-weight);
    --tw-text-opacity: 1;
    color: rgb(var(--color-on-surface) / var(--tw-text-opacity, 1));
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.ui-field input:focus,
  .ui-field select:focus,
  .ui-field textarea:focus {
    --tw-border-opacity: 1;
    border-color: rgb(var(--color-status-success) / var(--tw-border-opacity, 1));
    outline: 2px solid transparent;
    outline-offset: 2px;
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
    --tw-ring-color: rgb(var(--color-status-success) / 0.2);
}
.ui-field textarea {
    height: auto;
    min-height: 80px;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}
.ui-form {
    display: grid;
    gap: 1rem;
}
.ui-muted {
    font-size: var(--font-body-sm-size);
    line-height: var(--font-body-sm-line-height);
    font-weight: var(--font-body-sm-weight);
    --tw-text-opacity: 1;
    color: rgb(var(--color-secondary) / var(--tw-text-opacity, 1));
}
/* aliases legados → mesmo visual (utilitárias explícitas; evitar @apply de .ui-*) */
.v2-root .sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}
.v2-root .pointer-events-none {
    pointer-events: none;
}
.v2-root .pointer-events-auto {
    pointer-events: auto;
}
.v2-root .\!visible {
    visibility: visible !important;
}
.v2-root .visible {
    visibility: visible;
}
.v2-root .fixed {
    position: fixed;
}
.v2-root .absolute {
    position: absolute;
}
.v2-root .relative {
    position: relative;
}
.v2-root .sticky {
    position: sticky;
}
.v2-root .inset-0 {
    inset: 0px;
}
.v2-root .inset-x-0 {
    left: 0px;
    right: 0px;
}
.v2-root .inset-y-0 {
    top: 0px;
    bottom: 0px;
}
.v2-root .-left-32 {
    left: -8rem;
}
.v2-root .-top-2 {
    top: -0.5rem;
}
.v2-root .-top-32 {
    top: -8rem;
}
.v2-root .bottom-0 {
    bottom: 0px;
}
.v2-root .bottom-3 {
    bottom: 0.75rem;
}
.v2-root .bottom-6 {
    bottom: 1.5rem;
}
.v2-root .left-0 {
    left: 0px;
}
.v2-root .left-0\.5 {
    left: 0.125rem;
}
.v2-root .left-1\/2 {
    left: 50%;
}
.v2-root .left-3 {
    left: 0.75rem;
}
.v2-root .left-3\.5 {
    left: 0.875rem;
}
.v2-root .left-4 {
    left: 1rem;
}
.v2-root .left-full {
    left: 100%;
}
.v2-root .right-0 {
    right: 0px;
}
.v2-root .right-1\.5 {
    right: 0.375rem;
}
.v2-root .right-2 {
    right: 0.5rem;
}
.v2-root .right-3 {
    right: 0.75rem;
}
.v2-root .right-6 {
    right: 1.5rem;
}
.v2-root .top-0 {
    top: 0px;
}
.v2-root .top-0\.5 {
    top: 0.125rem;
}
.v2-root .top-1\.5 {
    top: 0.375rem;
}
.v2-root .top-1\/2 {
    top: 50%;
}
.v2-root .top-2 {
    top: 0.5rem;
}
.v2-root .top-3 {
    top: 0.75rem;
}
.v2-root .top-5 {
    top: 1.25rem;
}
.v2-root .top-full {
    top: 100%;
}
.v2-root .z-10 {
    z-index: 10;
}
.v2-root .z-20 {
    z-index: 20;
}
.v2-root .z-30 {
    z-index: 30;
}
.v2-root .z-40 {
    z-index: 40;
}
.v2-root .z-50 {
    z-index: 50;
}
.v2-root .z-\[100\] {
    z-index: 100;
}
.v2-root .z-\[110\] {
    z-index: 110;
}
.v2-root .z-\[120\] {
    z-index: 120;
}
.v2-root .z-\[60\] {
    z-index: 60;
}
.v2-root .col-span-12 {
    grid-column: span 12 / span 12;
}
.v2-root .m-0 {
    margin: 0px;
}
.v2-root .mx-2 {
    margin-left: 0.5rem;
    margin-right: 0.5rem;
}
.v2-root .mx-4 {
    margin-left: 1rem;
    margin-right: 1rem;
}
.v2-root .mx-auto {
    margin-left: auto;
    margin-right: auto;
}
.v2-root .my-6 {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
}
.v2-root .my-auto {
    margin-top: auto;
    margin-bottom: auto;
}
.v2-root .mb-0\.5 {
    margin-bottom: 0.125rem;
}
.v2-root .mb-1 {
    margin-bottom: 0.25rem;
}
.v2-root .mb-2 {
    margin-bottom: 0.5rem;
}
.v2-root .mb-3 {
    margin-bottom: 0.75rem;
}
.v2-root .mb-4 {
    margin-bottom: 1rem;
}
.v2-root .mb-6 {
    margin-bottom: 1.5rem;
}
.v2-root .mb-8 {
    margin-bottom: 2rem;
}
.v2-root .mb-stack-sm {
    margin-bottom: var(--spacing-stack-sm);
}
.v2-root .ml-2 {
    margin-left: 0.5rem;
}
.v2-root .mr-2 {
    margin-right: 0.5rem;
}
.v2-root .mt-0 {
    margin-top: 0px;
}
.v2-root .mt-0\.5 {
    margin-top: 0.125rem;
}
.v2-root .mt-1 {
    margin-top: 0.25rem;
}
.v2-root .mt-1\.5 {
    margin-top: 0.375rem;
}
.v2-root .mt-2 {
    margin-top: 0.5rem;
}
.v2-root .mt-3 {
    margin-top: 0.75rem;
}
.v2-root .mt-4 {
    margin-top: 1rem;
}
.v2-root .mt-6 {
    margin-top: 1.5rem;
}
.v2-root .mt-8 {
    margin-top: 2rem;
}
.v2-root .mt-auto {
    margin-top: auto;
}
.v2-root .line-clamp-2 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.v2-root .block {
    display: block;
}
.v2-root .inline-block {
    display: inline-block;
}
.v2-root .flex {
    display: flex;
}
.v2-root .inline-flex {
    display: inline-flex;
}
.v2-root .table {
    display: table;
}
.v2-root .grid {
    display: grid;
}
.v2-root .hidden {
    display: none;
}
.v2-root .aspect-\[16\/10\] {
    aspect-ratio: 16/10;
}
.v2-root .h-1 {
    height: 0.25rem;
}
.v2-root .h-1\.5 {
    height: 0.375rem;
}
.v2-root .h-10 {
    height: 2.5rem;
}
.v2-root .h-11 {
    height: 2.75rem;
}
.v2-root .h-12 {
    height: 3rem;
}
.v2-root .h-14 {
    height: 3.5rem;
}
.v2-root .h-16 {
    height: 4rem;
}
.v2-root .h-2 {
    height: 0.5rem;
}
.v2-root .h-2\.5 {
    height: 0.625rem;
}
.v2-root .h-28 {
    height: 7rem;
}
.v2-root .h-3 {
    height: 0.75rem;
}
.v2-root .h-4 {
    height: 1rem;
}
.v2-root .h-5 {
    height: 1.25rem;
}
.v2-root .h-6 {
    height: 1.5rem;
}
.v2-root .h-7 {
    height: 1.75rem;
}
.v2-root .h-8 {
    height: 2rem;
}
.v2-root .h-9 {
    height: 2.25rem;
}
.v2-root .h-96 {
    height: 24rem;
}
.v2-root .h-auto {
    height: auto;
}
.v2-root .h-full {
    height: 100%;
}
.v2-root .h-screen {
    height: 100vh;
}
.v2-root .max-h-32 {
    max-height: 8rem;
}
.v2-root .max-h-40 {
    max-height: 10rem;
}
.v2-root .max-h-48 {
    max-height: 12rem;
}
.v2-root .max-h-56 {
    max-height: 14rem;
}
.v2-root .max-h-80 {
    max-height: 20rem;
}
.v2-root .max-h-\[55vh\] {
    max-height: 55vh;
}
.v2-root .max-h-\[60vh\] {
    max-height: 60vh;
}
.v2-root .max-h-\[70vh\] {
    max-height: 70vh;
}
.v2-root .max-h-\[90vh\] {
    max-height: 90vh;
}
.v2-root .max-h-\[92vh\] {
    max-height: 92vh;
}
.v2-root .max-h-\[calc\(90vh-8rem\)\] {
    max-height: calc(90vh - 8rem);
}
.v2-root .max-h-\[min\(28rem\2c 50vh\)\] {
    max-height: min(28rem, 50vh);
}
.v2-root .max-h-\[min\(36rem\2c calc\(100dvh-18rem\)\)\] {
    max-height: min(36rem, calc(100dvh - 18rem));
}
.v2-root .min-h-0 {
    min-height: 0px;
}
.v2-root .min-h-\[240px\] {
    min-height: 240px;
}
.v2-root .min-h-\[420px\] {
    min-height: 420px;
}
.v2-root .min-h-\[96px\] {
    min-height: 96px;
}
.v2-root .min-h-screen {
    min-height: 100vh;
}
.v2-root .w-1 {
    width: 0.25rem;
}
.v2-root .w-1\.5 {
    width: 0.375rem;
}
.v2-root .w-1\/3 {
    width: 33.333333%;
}
.v2-root .w-10 {
    width: 2.5rem;
}
.v2-root .w-11 {
    width: 2.75rem;
}
.v2-root .w-12 {
    width: 3rem;
}
.v2-root .w-14 {
    width: 3.5rem;
}
.v2-root .w-16 {
    width: 4rem;
}
.v2-root .w-2 {
    width: 0.5rem;
}
.v2-root .w-2\.5 {
    width: 0.625rem;
}
.v2-root .w-24 {
    width: 6rem;
}
.v2-root .w-3 {
    width: 0.75rem;
}
.v2-root .w-4 {
    width: 1rem;
}
.v2-root .w-5 {
    width: 1.25rem;
}
.v2-root .w-56 {
    width: 14rem;
}
.v2-root .w-6 {
    width: 1.5rem;
}
.v2-root .w-7 {
    width: 1.75rem;
}
.v2-root .w-8 {
    width: 2rem;
}
.v2-root .w-80 {
    width: 20rem;
}
.v2-root .w-9 {
    width: 2.25rem;
}
.v2-root .w-96 {
    width: 24rem;
}
.v2-root .w-\[280px\] {
    width: 280px;
}
.v2-root .w-\[var\(--spacing-sidebar-width\)\] {
    width: var(--spacing-sidebar-width);
}
.v2-root .w-auto {
    width: auto;
}
.v2-root .w-full {
    width: 100%;
}
.v2-root .w-max {
    width: max-content;
}
.v2-root .min-w-0 {
    min-width: 0px;
}
.v2-root .min-w-\[120px\] {
    min-width: 120px;
}
.v2-root .min-w-\[1rem\] {
    min-width: 1rem;
}
.v2-root .min-w-\[220px\] {
    min-width: 220px;
}
.v2-root .min-w-\[9\.5rem\] {
    min-width: 9.5rem;
}
.v2-root .min-w-full {
    min-width: 100%;
}
.v2-root .min-w-max {
    min-width: max-content;
}
.v2-root .max-w-2xl {
    max-width: 42rem;
}
.v2-root .max-w-3xl {
    max-width: 48rem;
}
.v2-root .max-w-4xl {
    max-width: 56rem;
}
.v2-root .max-w-5xl {
    max-width: 64rem;
}
.v2-root .max-w-\[1200px\] {
    max-width: 1200px;
}
.v2-root .max-w-\[52px\] {
    max-width: 52px;
}
.v2-root .max-w-\[7rem\] {
    max-width: 7rem;
}
.v2-root .max-w-\[86vw\] {
    max-width: 86vw;
}
.v2-root .max-w-\[9\.5rem\] {
    max-width: 9.5rem;
}
.v2-root .max-w-\[min\(20rem\2c calc\(100vw-3rem\)\)\] {
    max-width: min(20rem, calc(100vw - 3rem));
}
.v2-root .max-w-container {
    max-width: var(--spacing-container-max);
}
.v2-root .max-w-full {
    max-width: 100%;
}
.v2-root .max-w-lg {
    max-width: 32rem;
}
.v2-root .max-w-md {
    max-width: 28rem;
}
.v2-root .max-w-sm {
    max-width: 24rem;
}
.v2-root .max-w-xl {
    max-width: 36rem;
}
.v2-root .flex-1 {
    flex: 1 1 0%;
}
.v2-root .shrink-0 {
    flex-shrink: 0;
}
.v2-root .border-collapse {
    border-collapse: collapse;
}
.v2-root .-translate-x-1\/2 {
    --tw-translate-x: -50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.v2-root .-translate-x-full {
    --tw-translate-x: -100%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.v2-root .-translate-y-1\/2 {
    --tw-translate-y: -50%;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.v2-root .translate-x-0 {
    --tw-translate-x: 0px;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.v2-root .translate-x-5 {
    --tw-translate-x: 1.25rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.v2-root .rotate-180 {
    --tw-rotate: 180deg;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.v2-root .rotate-90 {
    --tw-rotate: 90deg;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.v2-root .scale-\[0\.98\] {
    --tw-scale-x: 0.98;
    --tw-scale-y: 0.98;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
@keyframes pulse {
    50% {
        opacity: .5;
    }
}
.v2-root .animate-pulse {
    animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}
.v2-root .animate-spin {
    animation: spin 1s linear infinite;
}
.v2-root .cursor-col-resize {
    cursor: col-resize;
}
.v2-root .cursor-default {
    cursor: default;
}
.v2-root .cursor-grab {
    cursor: grab;
}
.v2-root .cursor-help {
    cursor: help;
}
.v2-root .cursor-not-allowed {
    cursor: not-allowed;
}
.v2-root .cursor-pointer {
    cursor: pointer;
}
.v2-root .select-none {
    -webkit-user-select: none;
            user-select: none;
}
.v2-root .resize-none {
    resize: none;
}
.v2-root .resize {
    resize: both;
}
.v2-root .list-none {
    list-style-type: none;
}
.v2-root .appearance-none {
    appearance: none;
}
.v2-root .grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
}
.v2-root .grid-cols-12 {
    grid-template-columns: repeat(12, minmax(0, 1fr));
}
.v2-root .grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.v2-root .flex-col {
    flex-direction: column;
}
.v2-root .flex-col-reverse {
    flex-direction: column-reverse;
}
.v2-root .flex-wrap {
    flex-wrap: wrap;
}
.v2-root .flex-nowrap {
    flex-wrap: nowrap;
}
.v2-root .content-start {
    align-content: flex-start;
}
.v2-root .items-start {
    align-items: flex-start;
}
.v2-root .items-end {
    align-items: flex-end;
}
.v2-root .items-center {
    align-items: center;
}
.v2-root .items-stretch {
    align-items: stretch;
}
.v2-root .justify-end {
    justify-content: flex-end;
}
.v2-root .justify-center {
    justify-content: center;
}
.v2-root .justify-between {
    justify-content: space-between;
}
.v2-root .gap-0 {
    gap: 0px;
}
.v2-root .gap-0\.5 {
    gap: 0.125rem;
}
.v2-root .gap-1 {
    gap: 0.25rem;
}
.v2-root .gap-1\.5 {
    gap: 0.375rem;
}
.v2-root .gap-10 {
    gap: 2.5rem;
}
.v2-root .gap-2 {
    gap: 0.5rem;
}
.v2-root .gap-2\.5 {
    gap: 0.625rem;
}
.v2-root .gap-3 {
    gap: 0.75rem;
}
.v2-root .gap-3\.5 {
    gap: 0.875rem;
}
.v2-root .gap-4 {
    gap: 1rem;
}
.v2-root .gap-5 {
    gap: 1.25rem;
}
.v2-root .gap-6 {
    gap: 1.5rem;
}
.v2-root .gap-gutter {
    gap: var(--spacing-gutter);
}
.v2-root .gap-stack-lg {
    gap: var(--spacing-stack-lg);
}
.v2-root .gap-stack-sm {
    gap: var(--spacing-stack-sm);
}
.v2-root .gap-x-3 {
    column-gap: 0.75rem;
}
.v2-root .gap-x-4 {
    column-gap: 1rem;
}
.v2-root .gap-y-1\.5 {
    row-gap: 0.375rem;
}
.v2-root .gap-y-4 {
    row-gap: 1rem;
}
.v2-root :is(.space-y-0\.5 > :not([hidden]) ~ :not([hidden])) {
    --tw-space-y-reverse: 0;
    margin-top: calc(0.125rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.125rem * var(--tw-space-y-reverse));
}
.v2-root :is(.space-y-1 > :not([hidden]) ~ :not([hidden])) {
    --tw-space-y-reverse: 0;
    margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
}
.v2-root :is(.space-y-1\.5 > :not([hidden]) ~ :not([hidden])) {
    --tw-space-y-reverse: 0;
    margin-top: calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.375rem * var(--tw-space-y-reverse));
}
.v2-root :is(.space-y-2 > :not([hidden]) ~ :not([hidden])) {
    --tw-space-y-reverse: 0;
    margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
}
.v2-root :is(.space-y-2\.5 > :not([hidden]) ~ :not([hidden])) {
    --tw-space-y-reverse: 0;
    margin-top: calc(0.625rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.625rem * var(--tw-space-y-reverse));
}
.v2-root :is(.space-y-3 > :not([hidden]) ~ :not([hidden])) {
    --tw-space-y-reverse: 0;
    margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
}
.v2-root :is(.space-y-4 > :not([hidden]) ~ :not([hidden])) {
    --tw-space-y-reverse: 0;
    margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1rem * var(--tw-space-y-reverse));
}
.v2-root :is(.space-y-5 > :not([hidden]) ~ :not([hidden])) {
    --tw-space-y-reverse: 0;
    margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1.25rem * var(--tw-space-y-reverse));
}
.v2-root :is(.space-y-6 > :not([hidden]) ~ :not([hidden])) {
    --tw-space-y-reverse: 0;
    margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
}
.v2-root :is(.space-y-8 > :not([hidden]) ~ :not([hidden])) {
    --tw-space-y-reverse: 0;
    margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(2rem * var(--tw-space-y-reverse));
}
.v2-root :is(.divide-y > :not([hidden]) ~ :not([hidden])) {
    --tw-divide-y-reverse: 0;
    border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
    border-bottom-width: calc(1px * var(--tw-divide-y-reverse));
}
.v2-root :is(.divide-border-subtle > :not([hidden]) ~ :not([hidden])) {
    --tw-divide-opacity: 1;
    border-color: rgb(var(--color-border-subtle) / var(--tw-divide-opacity, 1));
}
.v2-root .self-start {
    align-self: flex-start;
}
.v2-root .self-end {
    align-self: flex-end;
}
.v2-root .overflow-auto {
    overflow: auto;
}
.v2-root .overflow-hidden {
    overflow: hidden;
}
.v2-root .overflow-x-auto {
    overflow-x: auto;
}
.v2-root .overflow-y-auto {
    overflow-y: auto;
}
.v2-root .overflow-x-hidden {
    overflow-x: hidden;
}
.v2-root .truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.v2-root .whitespace-normal {
    white-space: normal;
}
.v2-root .whitespace-nowrap {
    white-space: nowrap;
}
.v2-root .break-words {
    overflow-wrap: break-word;
}
.v2-root .rounded {
    border-radius: var(--radius-default);
}
.v2-root .rounded-2xl {
    border-radius: 1rem;
}
.v2-root .rounded-full {
    border-radius: var(--radius-full);
}
.v2-root .rounded-lg {
    border-radius: var(--radius-lg);
}
.v2-root .rounded-md {
    border-radius: var(--radius-md);
}
.v2-root .rounded-xl {
    border-radius: var(--radius-xl);
}
.v2-root .rounded-t-lg {
    border-top-left-radius: var(--radius-lg);
    border-top-right-radius: var(--radius-lg);
}
.v2-root .border {
    border-width: 1px;
}
.v2-root .border-0 {
    border-width: 0px;
}
.v2-root .border-2 {
    border-width: 2px;
}
.v2-root .border-b {
    border-bottom-width: 1px;
}
.v2-root .border-b-2 {
    border-bottom-width: 2px;
}
.v2-root .border-l {
    border-left-width: 1px;
}
.v2-root .border-l-2 {
    border-left-width: 2px;
}
.v2-root .border-l-4 {
    border-left-width: 4px;
}
.v2-root .border-l-\[3px\] {
    border-left-width: 3px;
}
.v2-root .border-r {
    border-right-width: 1px;
}
.v2-root .border-t {
    border-top-width: 1px;
}
.v2-root .border-dashed {
    border-style: dashed;
}
.v2-root .border-\[var\(--v2-border-subtle\)\] {
    border-color: var(--v2-border-subtle);
}
.v2-root .border-border-subtle {
    --tw-border-opacity: 1;
    border-color: rgb(var(--color-border-subtle) / var(--tw-border-opacity, 1));
}
.v2-root .border-border-subtle\/70 {
    border-color: rgb(var(--color-border-subtle) / 0.7);
}
.v2-root .border-on-surface\/20 {
    border-color: rgb(var(--color-on-surface) / 0.2);
}
.v2-root .border-primary {
    --tw-border-opacity: 1;
    border-color: rgb(var(--color-primary) / var(--tw-border-opacity, 1));
}
.v2-root .border-primary\/25 {
    border-color: rgb(var(--color-primary) / 0.25);
}
.v2-root .border-primary\/30 {
    border-color: rgb(var(--color-primary) / 0.3);
}
.v2-root .border-primary\/40 {
    border-color: rgb(var(--color-primary) / 0.4);
}
.v2-root .border-secondary {
    --tw-border-opacity: 1;
    border-color: rgb(var(--color-secondary) / var(--tw-border-opacity, 1));
}
.v2-root .border-status-error {
    --tw-border-opacity: 1;
    border-color: rgb(var(--color-status-error) / var(--tw-border-opacity, 1));
}
.v2-root .border-status-error\/20 {
    border-color: rgb(var(--color-status-error) / 0.2);
}
.v2-root .border-status-error\/25 {
    border-color: rgb(var(--color-status-error) / 0.25);
}
.v2-root .border-status-error\/30 {
    border-color: rgb(var(--color-status-error) / 0.3);
}
.v2-root .border-status-info\/30 {
    border-color: rgb(var(--color-status-info) / 0.3);
}
.v2-root .border-status-success {
    --tw-border-opacity: 1;
    border-color: rgb(var(--color-status-success) / var(--tw-border-opacity, 1));
}
.v2-root .border-status-success\/20 {
    border-color: rgb(var(--color-status-success) / 0.2);
}
.v2-root .border-status-success\/25 {
    border-color: rgb(var(--color-status-success) / 0.25);
}
.v2-root .border-status-success\/30 {
    border-color: rgb(var(--color-status-success) / 0.3);
}
.v2-root .border-status-warning\/30 {
    border-color: rgb(var(--color-status-warning) / 0.3);
}
.v2-root .border-status-warning\/40 {
    border-color: rgb(var(--color-status-warning) / 0.4);
}
.v2-root .border-transparent {
    border-color: transparent;
}
.v2-root .border-v2-border {
    --tw-border-opacity: 1;
    border-color: rgb(var(--color-border-subtle) / var(--tw-border-opacity, 1));
}
.v2-root .border-white\/10 {
    border-color: rgb(255 255 255 / 0.1);
}
.v2-root .border-white\/15 {
    border-color: rgb(255 255 255 / 0.15);
}
.v2-root .border-l-\[\#7c6af2\] {
    --tw-border-opacity: 1;
    border-left-color: rgb(124 106 242 / var(--tw-border-opacity, 1));
}
.v2-root .border-l-primary {
    --tw-border-opacity: 1;
    border-left-color: rgb(var(--color-primary) / var(--tw-border-opacity, 1));
}
.v2-root .border-l-secondary {
    --tw-border-opacity: 1;
    border-left-color: rgb(var(--color-secondary) / var(--tw-border-opacity, 1));
}
.v2-root .border-l-status-error {
    --tw-border-opacity: 1;
    border-left-color: rgb(var(--color-status-error) / var(--tw-border-opacity, 1));
}
.v2-root .border-l-status-info {
    --tw-border-opacity: 1;
    border-left-color: rgb(var(--color-status-info) / var(--tw-border-opacity, 1));
}
.v2-root .border-l-status-success {
    --tw-border-opacity: 1;
    border-left-color: rgb(var(--color-status-success) / var(--tw-border-opacity, 1));
}
.v2-root .border-l-status-warning {
    --tw-border-opacity: 1;
    border-left-color: rgb(var(--color-status-warning) / var(--tw-border-opacity, 1));
}
.v2-root .bg-\[\#030b10\] {
    --tw-bg-opacity: 1;
    background-color: rgb(3 11 16 / var(--tw-bg-opacity, 1));
}
.v2-root .bg-\[\#05141d\] {
    --tw-bg-opacity: 1;
    background-color: rgb(5 20 29 / var(--tw-bg-opacity, 1));
}
.v2-root .bg-\[\#05141d\]\/75 {
    background-color: rgb(5 20 29 / 0.75);
}
.v2-root .bg-\[\#064e3b\]\/40 {
    background-color: rgb(6 78 59 / 0.4);
}
.v2-root .bg-\[\#0a222e\]\/80 {
    background-color: rgb(10 34 46 / 0.8);
}
.v2-root .bg-\[rgba\(38\2c 208\2c 124\2c 0\.08\)\] {
    background-color: rgba(38,208,124,0.08);
}
.v2-root .bg-\[var\(--v2-surface\)\] {
    background-color: var(--v2-surface);
}
.v2-root .bg-border-subtle {
    --tw-bg-opacity: 1;
    background-color: rgb(var(--color-border-subtle) / var(--tw-bg-opacity, 1));
}
.v2-root .bg-error-container {
    --tw-bg-opacity: 1;
    background-color: rgb(var(--color-error-container) / var(--tw-bg-opacity, 1));
}
.v2-root .bg-error-container\/60 {
    background-color: rgb(var(--color-error-container) / 0.6);
}
.v2-root .bg-inverse-surface\/40 {
    background-color: rgb(var(--color-inverse-surface) / 0.4);
}
.v2-root .bg-on-background\/40 {
    background-color: rgb(var(--color-on-background) / 0.4);
}
.v2-root .bg-on-surface {
    --tw-bg-opacity: 1;
    background-color: rgb(var(--color-on-surface) / var(--tw-bg-opacity, 1));
}
.v2-root .bg-primary {
    --tw-bg-opacity: 1;
    background-color: rgb(var(--color-primary) / var(--tw-bg-opacity, 1));
}
.v2-root .bg-primary-container {
    --tw-bg-opacity: 1;
    background-color: rgb(var(--color-primary-container) / var(--tw-bg-opacity, 1));
}
.v2-root .bg-primary\/10 {
    background-color: rgb(var(--color-primary) / 0.1);
}
.v2-root .bg-primary\/5 {
    background-color: rgb(var(--color-primary) / 0.05);
}
.v2-root .bg-secondary {
    --tw-bg-opacity: 1;
    background-color: rgb(var(--color-secondary) / var(--tw-bg-opacity, 1));
}
.v2-root .bg-slate-300 {
    --tw-bg-opacity: 1;
    background-color: rgb(203 213 225 / var(--tw-bg-opacity, 1));
}
.v2-root .bg-slate-400 {
    --tw-bg-opacity: 1;
    background-color: rgb(148 163 184 / var(--tw-bg-opacity, 1));
}
.v2-root .bg-slate-400\/15 {
    background-color: rgb(148 163 184 / 0.15);
}
.v2-root .bg-slate-800 {
    --tw-bg-opacity: 1;
    background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1));
}
.v2-root .bg-slate-900\/40 {
    background-color: rgb(15 23 42 / 0.4);
}
.v2-root .bg-slate-900\/70 {
    background-color: rgb(15 23 42 / 0.7);
}
.v2-root .bg-status-error {
    --tw-bg-opacity: 1;
    background-color: rgb(var(--color-status-error) / var(--tw-bg-opacity, 1));
}
.v2-root .bg-status-error\/10 {
    background-color: rgb(var(--color-status-error) / 0.1);
}
.v2-root .bg-status-error\/15 {
    background-color: rgb(var(--color-status-error) / 0.15);
}
.v2-root .bg-status-error\/5 {
    background-color: rgb(var(--color-status-error) / 0.05);
}
.v2-root .bg-status-error\/\[0\.05\] {
    background-color: rgb(var(--color-status-error) / 0.05);
}
.v2-root .bg-status-info {
    --tw-bg-opacity: 1;
    background-color: rgb(var(--color-status-info) / var(--tw-bg-opacity, 1));
}
.v2-root .bg-status-info\/10 {
    background-color: rgb(var(--color-status-info) / 0.1);
}
.v2-root .bg-status-info\/15 {
    background-color: rgb(var(--color-status-info) / 0.15);
}
.v2-root .bg-status-info\/5 {
    background-color: rgb(var(--color-status-info) / 0.05);
}
.v2-root .bg-status-success {
    --tw-bg-opacity: 1;
    background-color: rgb(var(--color-status-success) / var(--tw-bg-opacity, 1));
}
.v2-root .bg-status-success\/10 {
    background-color: rgb(var(--color-status-success) / 0.1);
}
.v2-root .bg-status-success\/15 {
    background-color: rgb(var(--color-status-success) / 0.15);
}
.v2-root .bg-status-success\/5 {
    background-color: rgb(var(--color-status-success) / 0.05);
}
.v2-root .bg-status-warning {
    --tw-bg-opacity: 1;
    background-color: rgb(var(--color-status-warning) / var(--tw-bg-opacity, 1));
}
.v2-root .bg-status-warning\/10 {
    background-color: rgb(var(--color-status-warning) / 0.1);
}
.v2-root .bg-status-warning\/15 {
    background-color: rgb(var(--color-status-warning) / 0.15);
}
.v2-root .bg-status-warning\/5 {
    background-color: rgb(var(--color-status-warning) / 0.05);
}
.v2-root .bg-surface-canvas {
    --tw-bg-opacity: 1;
    background-color: rgb(var(--color-surface-canvas) / var(--tw-bg-opacity, 1));
}
.v2-root .bg-surface-canvas\/30 {
    background-color: rgb(var(--color-surface-canvas) / 0.3);
}
.v2-root .bg-surface-canvas\/40 {
    background-color: rgb(var(--color-surface-canvas) / 0.4);
}
.v2-root .bg-surface-canvas\/50 {
    background-color: rgb(var(--color-surface-canvas) / 0.5);
}
.v2-root .bg-surface-canvas\/60 {
    background-color: rgb(var(--color-surface-canvas) / 0.6);
}
.v2-root .bg-surface-canvas\/80 {
    background-color: rgb(var(--color-surface-canvas) / 0.8);
}
.v2-root .bg-surface-container {
    --tw-bg-opacity: 1;
    background-color: rgb(var(--color-surface-container) / var(--tw-bg-opacity, 1));
}
.v2-root .bg-surface-container-lowest {
    --tw-bg-opacity: 1;
    background-color: rgb(var(--color-surface-container-lowest) / var(--tw-bg-opacity, 1));
}
.v2-root .bg-surface-container-lowest\/80 {
    background-color: rgb(var(--color-surface-container-lowest) / 0.8);
}
.v2-root .bg-surface-sidebar {
    --tw-bg-opacity: 1;
    background-color: rgb(var(--color-surface-sidebar) / var(--tw-bg-opacity, 1));
}
.v2-root .bg-v2-canvas {
    --tw-bg-opacity: 1;
    background-color: rgb(var(--color-surface-canvas) / var(--tw-bg-opacity, 1));
}
.v2-root .bg-v2-info {
    --tw-bg-opacity: 1;
    background-color: rgb(var(--color-status-info) / var(--tw-bg-opacity, 1));
}
.v2-root .bg-v2-info\/10 {
    background-color: rgb(var(--color-status-info) / 0.1);
}
.v2-root .bg-v2-primary {
    --tw-bg-opacity: 1;
    background-color: rgb(var(--color-primary) / var(--tw-bg-opacity, 1));
}
.v2-root .bg-v2-primary\/10 {
    background-color: rgb(var(--color-primary) / 0.1);
}
.v2-root .bg-v2-success {
    --tw-bg-opacity: 1;
    background-color: rgb(var(--color-status-success) / var(--tw-bg-opacity, 1));
}
.v2-root .bg-v2-success\/10 {
    background-color: rgb(var(--color-status-success) / 0.1);
}
.v2-root .bg-v2-warning {
    --tw-bg-opacity: 1;
    background-color: rgb(var(--color-status-warning) / var(--tw-bg-opacity, 1));
}
.v2-root .bg-v2-warning\/10 {
    background-color: rgb(var(--color-status-warning) / 0.1);
}
.v2-root .bg-white {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.v2-root .bg-white\/10 {
    background-color: rgb(255 255 255 / 0.1);
}
.v2-root .bg-white\/45 {
    background-color: rgb(255 255 255 / 0.45);
}
.v2-root .bg-white\/5 {
    background-color: rgb(255 255 255 / 0.05);
}
.v2-root .bg-gradient-to-br {
    background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
}
.v2-root .bg-gradient-to-r {
    background-image: linear-gradient(to right, var(--tw-gradient-stops));
}
.v2-root .bg-gradient-to-t {
    background-image: linear-gradient(to top, var(--tw-gradient-stops));
}
.v2-root .from-\[\#030b10\]\/70 {
    --tw-gradient-from: rgb(3 11 16 / 0.7) var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(3 11 16 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.v2-root .from-\[\#05141d\] {
    --tw-gradient-from: #05141d var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(5 20 29 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.v2-root .from-\[\#34d399\] {
    --tw-gradient-from: #34d399 var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(52 211 153 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.v2-root .from-primary\/10 {
    --tw-gradient-from: rgb(var(--color-primary) / 0.1) var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(var(--color-primary) / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.v2-root .via-\[\#081924\] {
    --tw-gradient-to: rgb(8 25 36 / 0)  var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), #081924 var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.v2-root .to-\[\#030b10\] {
    --tw-gradient-to: #030b10 var(--tw-gradient-to-position);
}
.v2-root .to-emerald-300 {
    --tw-gradient-to: #6ee7b7 var(--tw-gradient-to-position);
}
.v2-root .to-surface-canvas {
    --tw-gradient-to: rgb(var(--color-surface-canvas) / 1) var(--tw-gradient-to-position);
}
.v2-root .to-transparent {
    --tw-gradient-to: transparent var(--tw-gradient-to-position);
}
.v2-root .bg-clip-text {
    -webkit-background-clip: text;
            background-clip: text;
}
.v2-root .object-contain {
    object-fit: contain;
}
.v2-root .object-cover {
    object-fit: cover;
}
.v2-root .object-\[center_28\%\] {
    object-position: center 28%;
}
.v2-root .p-0 {
    padding: 0px;
}
.v2-root .p-0\.5 {
    padding: 0.125rem;
}
.v2-root .p-1 {
    padding: 0.25rem;
}
.v2-root .p-1\.5 {
    padding: 0.375rem;
}
.v2-root .p-10 {
    padding: 2.5rem;
}
.v2-root .p-2 {
    padding: 0.5rem;
}
.v2-root .p-2\.5 {
    padding: 0.625rem;
}
.v2-root .p-3 {
    padding: 0.75rem;
}
.v2-root .p-3\.5 {
    padding: 0.875rem;
}
.v2-root .p-4 {
    padding: 1rem;
}
.v2-root .p-5 {
    padding: 1.25rem;
}
.v2-root .p-6 {
    padding: 1.5rem;
}
.v2-root .p-8 {
    padding: 2rem;
}
.v2-root .p-margin-mobile {
    padding: var(--spacing-margin-mobile);
}
.v2-root .p-stack-lg {
    padding: var(--spacing-stack-lg);
}
.v2-root .px-1 {
    padding-left: 0.25rem;
    padding-right: 0.25rem;
}
.v2-root .px-1\.5 {
    padding-left: 0.375rem;
    padding-right: 0.375rem;
}
.v2-root .px-2 {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}
.v2-root .px-2\.5 {
    padding-left: 0.625rem;
    padding-right: 0.625rem;
}
.v2-root .px-3 {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
}
.v2-root .px-4 {
    padding-left: 1rem;
    padding-right: 1rem;
}
.v2-root .px-5 {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
}
.v2-root .px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}
.v2-root .px-margin-mobile {
    padding-left: var(--spacing-margin-mobile);
    padding-right: var(--spacing-margin-mobile);
}
.v2-root .px-stack-lg {
    padding-left: var(--spacing-stack-lg);
    padding-right: var(--spacing-stack-lg);
}
.v2-root .py-0\.5 {
    padding-top: 0.125rem;
    padding-bottom: 0.125rem;
}
.v2-root .py-1 {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
}
.v2-root .py-1\.5 {
    padding-top: 0.375rem;
    padding-bottom: 0.375rem;
}
.v2-root .py-10 {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
}
.v2-root .py-12 {
    padding-top: 3rem;
    padding-bottom: 3rem;
}
.v2-root .py-2 {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}
.v2-root .py-2\.5 {
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
}
.v2-root .py-3 {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}
.v2-root .py-3\.5 {
    padding-top: 0.875rem;
    padding-bottom: 0.875rem;
}
.v2-root .py-4 {
    padding-top: 1rem;
    padding-bottom: 1rem;
}
.v2-root .py-5 {
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
}
.v2-root .py-6 {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
}
.v2-root .py-8 {
    padding-top: 2rem;
    padding-bottom: 2rem;
}
.v2-root .py-\[10px\] {
    padding-top: 10px;
    padding-bottom: 10px;
}
.v2-root .pb-1 {
    padding-bottom: 0.25rem;
}
.v2-root .pb-2 {
    padding-bottom: 0.5rem;
}
.v2-root .pb-3 {
    padding-bottom: 0.75rem;
}
.v2-root .pb-4 {
    padding-bottom: 1rem;
}
.v2-root .pb-6 {
    padding-bottom: 1.5rem;
}
.v2-root .pb-8 {
    padding-bottom: 2rem;
}
.v2-root .pl-10 {
    padding-left: 2.5rem;
}
.v2-root .pl-2 {
    padding-left: 0.5rem;
}
.v2-root .pl-4 {
    padding-left: 1rem;
}
.v2-root .pr-1 {
    padding-right: 0.25rem;
}
.v2-root .pr-10 {
    padding-right: 2.5rem;
}
.v2-root .pr-11 {
    padding-right: 2.75rem;
}
.v2-root .pr-16 {
    padding-right: 4rem;
}
.v2-root .pr-3 {
    padding-right: 0.75rem;
}
.v2-root .pr-3\.5 {
    padding-right: 0.875rem;
}
.v2-root .pr-4 {
    padding-right: 1rem;
}
.v2-root .pt-1 {
    padding-top: 0.25rem;
}
.v2-root .pt-2 {
    padding-top: 0.5rem;
}
.v2-root .pt-3 {
    padding-top: 0.75rem;
}
.v2-root .pt-4 {
    padding-top: 1rem;
}
.v2-root .pt-5 {
    padding-top: 1.25rem;
}
.v2-root .pt-6 {
    padding-top: 1.5rem;
}
.v2-root .pt-8 {
    padding-top: 2rem;
}
.v2-root .text-left {
    text-align: left;
}
.v2-root .text-center {
    text-align: center;
}
.v2-root .text-right {
    text-align: right;
}
.v2-root .align-top {
    vertical-align: top;
}
.v2-root .align-middle {
    vertical-align: middle;
}
.v2-root .text-2xl {
    font-size: 1.5rem;
    line-height: 2rem;
}
.v2-root .text-3xl {
    font-size: 1.875rem;
    line-height: 2.25rem;
}
.v2-root .text-\[10px\] {
    font-size: 10px;
}
.v2-root .text-\[11px\] {
    font-size: 11px;
}
.v2-root .text-\[14px\] {
    font-size: 14px;
}
.v2-root .text-\[16px\] {
    font-size: 16px;
}
.v2-root .text-\[18px\] {
    font-size: 18px;
}
.v2-root .text-\[20px\] {
    font-size: 20px;
}
.v2-root .text-\[22px\] {
    font-size: 22px;
}
.v2-root .text-\[24px\] {
    font-size: 24px;
}
.v2-root .text-\[32px\] {
    font-size: 32px;
}
.v2-root .text-\[40px\] {
    font-size: 40px;
}
.v2-root .text-base {
    font-size: 1rem;
    line-height: 1.5rem;
}
.v2-root .text-body-md {
    font-size: var(--font-body-md-size);
    line-height: var(--font-body-md-line-height);
    font-weight: var(--font-body-md-weight);
}
.v2-root .text-body-sm {
    font-size: var(--font-body-sm-size);
    line-height: var(--font-body-sm-line-height);
    font-weight: var(--font-body-sm-weight);
}
.v2-root .text-headline-lg {
    font-size: var(--font-headline-lg-size);
    line-height: var(--font-headline-lg-line-height);
    letter-spacing: var(--font-headline-lg-letter-spacing);
    font-weight: var(--font-headline-lg-weight);
}
.v2-root .text-headline-md {
    font-size: var(--font-headline-md-size);
    line-height: var(--font-headline-md-line-height);
    font-weight: var(--font-headline-md-weight);
}
.v2-root .text-headline-sm {
    font-size: var(--font-headline-sm-size);
    line-height: var(--font-headline-sm-line-height);
    font-weight: var(--font-headline-sm-weight);
}
.v2-root .text-label-md {
    font-size: var(--font-label-md-size);
    line-height: var(--font-label-md-line-height);
    letter-spacing: var(--font-label-md-letter-spacing);
    font-weight: var(--font-label-md-weight);
}
.v2-root .text-label-sm {
    font-size: var(--font-label-sm-size);
    line-height: var(--font-label-sm-line-height);
    font-weight: var(--font-label-sm-weight);
}
.v2-root .text-lg {
    font-size: 1.125rem;
    line-height: 1.75rem;
}
.v2-root .text-sm {
    font-size: 0.875rem;
    line-height: 1.25rem;
}
.v2-root .text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem;
}
.v2-root .text-xs {
    font-size: 0.75rem;
    line-height: 1rem;
}
.v2-root .font-bold {
    font-weight: 700;
}
.v2-root .font-extrabold {
    font-weight: 800;
}
.v2-root .font-light {
    font-weight: 300;
}
.v2-root .font-medium {
    font-weight: 500;
}
.v2-root .font-normal {
    font-weight: 400;
}
.v2-root .font-semibold {
    font-weight: 600;
}
.v2-root .uppercase {
    text-transform: uppercase;
}
.v2-root .normal-case {
    text-transform: none;
}
.v2-root .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);
}
.v2-root .leading-relaxed {
    line-height: 1.625;
}
.v2-root .leading-snug {
    line-height: 1.375;
}
.v2-root .leading-tight {
    line-height: 1.25;
}
.v2-root .tracking-normal {
    letter-spacing: 0em;
}
.v2-root .tracking-tight {
    letter-spacing: -0.025em;
}
.v2-root .tracking-wide {
    letter-spacing: 0.025em;
}
.v2-root .tracking-wider {
    letter-spacing: 0.05em;
}
.v2-root .tracking-widest {
    letter-spacing: 0.1em;
}
.v2-root .text-\[\#030b10\] {
    --tw-text-opacity: 1;
    color: rgb(3 11 16 / var(--tw-text-opacity, 1));
}
.v2-root .text-\[\#0A66C2\] {
    --tw-text-opacity: 1;
    color: rgb(10 102 194 / var(--tw-text-opacity, 1));
}
.v2-root .text-\[\#34d399\] {
    --tw-text-opacity: 1;
    color: rgb(52 211 153 / var(--tw-text-opacity, 1));
}
.v2-root .text-\[var\(--v2-on-surface\)\] {
    color: var(--v2-on-surface);
}
.v2-root .text-current {
    color: currentColor;
}
.v2-root .text-emerald-300 {
    --tw-text-opacity: 1;
    color: rgb(110 231 183 / var(--tw-text-opacity, 1));
}
.v2-root .text-emerald-400\/80 {
    color: rgb(52 211 153 / 0.8);
}
.v2-root .text-inverse-on-surface {
    --tw-text-opacity: 1;
    color: rgb(var(--color-inverse-on-surface) / var(--tw-text-opacity, 1));
}
.v2-root .text-inverse-on-surface\/40 {
    color: rgb(var(--color-inverse-on-surface) / 0.4);
}
.v2-root .text-inverse-on-surface\/50 {
    color: rgb(var(--color-inverse-on-surface) / 0.5);
}
.v2-root .text-inverse-on-surface\/65 {
    color: rgb(var(--color-inverse-on-surface) / 0.65);
}
.v2-root .text-inverse-on-surface\/80 {
    color: rgb(var(--color-inverse-on-surface) / 0.8);
}
.v2-root .text-on-primary {
    --tw-text-opacity: 1;
    color: rgb(var(--color-on-primary) / var(--tw-text-opacity, 1));
}
.v2-root .text-on-primary-container {
    --tw-text-opacity: 1;
    color: rgb(var(--color-on-primary-container) / var(--tw-text-opacity, 1));
}
.v2-root .text-on-surface {
    --tw-text-opacity: 1;
    color: rgb(var(--color-on-surface) / var(--tw-text-opacity, 1));
}
.v2-root .text-on-surface-variant {
    --tw-text-opacity: 1;
    color: rgb(var(--color-on-surface-variant) / var(--tw-text-opacity, 1));
}
.v2-root .text-primary {
    --tw-text-opacity: 1;
    color: rgb(var(--color-primary) / var(--tw-text-opacity, 1));
}
.v2-root .text-secondary {
    --tw-text-opacity: 1;
    color: rgb(var(--color-secondary) / var(--tw-text-opacity, 1));
}
.v2-root .text-secondary\/60 {
    color: rgb(var(--color-secondary) / 0.6);
}
.v2-root .text-slate-100 {
    --tw-text-opacity: 1;
    color: rgb(241 245 249 / var(--tw-text-opacity, 1));
}
.v2-root .text-slate-200 {
    --tw-text-opacity: 1;
    color: rgb(226 232 240 / var(--tw-text-opacity, 1));
}
.v2-root .text-slate-300 {
    --tw-text-opacity: 1;
    color: rgb(203 213 225 / var(--tw-text-opacity, 1));
}
.v2-root .text-slate-400 {
    --tw-text-opacity: 1;
    color: rgb(148 163 184 / var(--tw-text-opacity, 1));
}
.v2-root .text-slate-500 {
    --tw-text-opacity: 1;
    color: rgb(100 116 139 / var(--tw-text-opacity, 1));
}
.v2-root .text-slate-600 {
    --tw-text-opacity: 1;
    color: rgb(71 85 105 / var(--tw-text-opacity, 1));
}
.v2-root .text-slate-700 {
    --tw-text-opacity: 1;
    color: rgb(51 65 85 / var(--tw-text-opacity, 1));
}
.v2-root .text-status-error {
    --tw-text-opacity: 1;
    color: rgb(var(--color-status-error) / var(--tw-text-opacity, 1));
}
.v2-root .text-status-info {
    --tw-text-opacity: 1;
    color: rgb(var(--color-status-info) / var(--tw-text-opacity, 1));
}
.v2-root .text-status-success {
    --tw-text-opacity: 1;
    color: rgb(var(--color-status-success) / var(--tw-text-opacity, 1));
}
.v2-root .text-status-warning {
    --tw-text-opacity: 1;
    color: rgb(var(--color-status-warning) / var(--tw-text-opacity, 1));
}
.v2-root .text-tertiary {
    --tw-text-opacity: 1;
    color: rgb(var(--color-tertiary) / var(--tw-text-opacity, 1));
}
.v2-root .text-transparent {
    color: transparent;
}
.v2-root .text-v2-info {
    --tw-text-opacity: 1;
    color: rgb(var(--color-status-info) / var(--tw-text-opacity, 1));
}
.v2-root .text-v2-on {
    --tw-text-opacity: 1;
    color: rgb(var(--color-on-surface) / var(--tw-text-opacity, 1));
}
.v2-root .text-v2-primary {
    --tw-text-opacity: 1;
    color: rgb(var(--color-primary) / var(--tw-text-opacity, 1));
}
.v2-root .text-v2-secondary {
    --tw-text-opacity: 1;
    color: rgb(var(--color-secondary) / var(--tw-text-opacity, 1));
}
.v2-root .text-v2-success {
    --tw-text-opacity: 1;
    color: rgb(var(--color-status-success) / var(--tw-text-opacity, 1));
}
.v2-root .text-v2-warning {
    --tw-text-opacity: 1;
    color: rgb(var(--color-status-warning) / var(--tw-text-opacity, 1));
}
.v2-root .text-white {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.v2-root .underline {
    text-decoration-line: underline;
}
.v2-root .no-underline {
    text-decoration-line: none;
}
.v2-root .underline-offset-2 {
    text-underline-offset: 2px;
}
.v2-root .antialiased {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.v2-root .accent-primary {
    accent-color: rgb(var(--color-primary) / 1);
}
.v2-root .opacity-0 {
    opacity: 0;
}
.v2-root .opacity-100 {
    opacity: 1;
}
.v2-root .opacity-20 {
    opacity: 0.2;
}
.v2-root .opacity-40 {
    opacity: 0.4;
}
.v2-root .opacity-50 {
    opacity: 0.5;
}
.v2-root .opacity-60 {
    opacity: 0.6;
}
.v2-root .opacity-70 {
    opacity: 0.7;
}
.v2-root .opacity-80 {
    opacity: 0.8;
}
.v2-root .shadow-2xl {
    --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
    --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.v2-root .shadow-\[-4px_0_8px_-4px_rgba\(0\2c 0\2c 0\2c 0\.08\)\] {
    --tw-shadow: -4px 0 8px -4px rgba(0,0,0,0.08);
    --tw-shadow-colored: -4px 0 8px -4px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.v2-root .shadow-\[0_0_28px_-4px_rgba\(38\2c 208\2c 124\2c 0\.35\)\] {
    --tw-shadow: 0 0 28px -4px rgba(38,208,124,0.35);
    --tw-shadow-colored: 0 0 28px -4px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.v2-root .shadow-\[0_1px_2px_rgba\(16\2c 41\2c 54\2c 0\.06\)\] {
    --tw-shadow: 0 1px 2px rgba(16,41,54,0.06);
    --tw-shadow-colored: 0 1px 2px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.v2-root .shadow-\[0_1px_3px_rgba\(16\2c 41\2c 54\2c 0\.1\)\2c 0_1px_2px_rgba\(16\2c 41\2c 54\2c 0\.06\)\] {
    --tw-shadow: 0 1px 3px rgba(16,41,54,0.1),0 1px 2px rgba(16,41,54,0.06);
    --tw-shadow-colored: 0 1px 3px var(--tw-shadow-color), 0 1px 2px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.v2-root .shadow-\[4px_0_24px_rgba\(0\2c 0\2c 0\2c 0\.12\)\] {
    --tw-shadow: 4px 0 24px rgba(0,0,0,0.12);
    --tw-shadow-colored: 4px 0 24px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.v2-root .shadow-\[4px_8px_24px_rgba\(0\2c 0\2c 0\2c 0\.35\)\] {
    --tw-shadow: 4px 8px 24px rgba(0,0,0,0.35);
    --tw-shadow-colored: 4px 8px 24px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.v2-root .shadow-inner {
    --tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);
    --tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.v2-root .shadow-sm {
    --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
    --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.v2-root .shadow-soft {
    --tw-shadow: 0 1px 3px rgba(16, 41, 54, 0.1), 0 1px 2px rgba(16, 41, 54, 0.06);
    --tw-shadow-colored: 0 1px 3px var(--tw-shadow-color), 0 1px 2px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.v2-root .outline-none {
    outline: 2px solid transparent;
    outline-offset: 2px;
}
.v2-root .ring-2 {
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.v2-root .ring-inset {
    --tw-ring-inset: inset;
}
.v2-root .ring-primary\/20 {
    --tw-ring-color: rgb(var(--color-primary) / 0.2);
}
.v2-root .ring-primary\/30 {
    --tw-ring-color: rgb(var(--color-primary) / 0.3);
}
.v2-root .ring-primary\/40 {
    --tw-ring-color: rgb(var(--color-primary) / 0.4);
}
.v2-root .blur-3xl {
    --tw-blur: blur(64px);
    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);
}
.v2-root .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);
}
.v2-root .backdrop-blur-\[1px\] {
    --tw-backdrop-blur: blur(1px);
    -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);
}
.v2-root .backdrop-blur-md {
    --tw-backdrop-blur: blur(12px);
    -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);
}
.v2-root .backdrop-blur-sm {
    --tw-backdrop-blur: blur(4px);
    -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);
}
.v2-root .transition {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.v2-root .transition-\[margin-left\] {
    transition-property: margin-left;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.v2-root .transition-\[width\2c transform\] {
    transition-property: width,transform;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.v2-root .transition-all {
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.v2-root .transition-colors {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.v2-root .transition-opacity {
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.v2-root .transition-transform {
    transition-property: transform;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
.v2-root .duration-200 {
    transition-duration: 200ms;
}
.v2-root .duration-300 {
    transition-duration: 300ms;
}
.v2-root .duration-700 {
    transition-duration: 700ms;
}
.v2-root .ease-in-out {
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.v2-root .calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
  }
.v2-root .sidebar-scroll {
    scrollbar-width: thin;
    scrollbar-color: rgb(255 255 255 / 0.22) transparent;
  }
.v2-root .sidebar-scroll::-webkit-scrollbar {
    width: 6px;
  }
.v2-root .sidebar-scroll::-webkit-scrollbar-track {
    background: transparent;
  }
.v2-root .sidebar-scroll::-webkit-scrollbar-thumb {
    background: rgb(255 255 255 / 0.18);
    border-radius: 999px;
  }
.v2-root .sidebar-scroll::-webkit-scrollbar-thumb:hover {
    background: rgb(255 255 255 / 0.3);
  }
/* Sidebar: texto claro (não roxo de :visited / MUI Link) */
.v2-root .sidebar-nav-link,
  .v2-root .sidebar-nav-link:link,
  .v2-root .sidebar-nav-link:visited {
    color: rgb(234 241 255 / 0.65);
    text-decoration: none;
  }
.v2-root .sidebar-nav-link:hover {
    color: rgb(234 241 255);
  }
.v2-root .sidebar-nav-link--active,
  .v2-root .sidebar-nav-link--active:link,
  .v2-root .sidebar-nav-link--active:visited,
  .v2-root .sidebar-nav-link--active:hover {
    color: rgb(var(--color-status-success));
  }
.v2-root .sidebar-nav-link--muted,
  .v2-root .sidebar-nav-link--muted:link,
  .v2-root .sidebar-nav-link--muted:visited {
    color: rgb(234 241 255 / 0.55);
  }
.v2-root .sidebar-nav-link--open,
  .v2-root .sidebar-nav-link--open:link,
  .v2-root .sidebar-nav-link--open:visited {
    color: rgb(234 241 255 / 0.92);
  }
.v2-root .sidebar-nav-link--in-branch,
  .v2-root .sidebar-nav-link--in-branch:link,
  .v2-root .sidebar-nav-link--in-branch:visited {
    color: rgb(234 241 255 / 0.78);
  }
.v2-root .sidebar-nav-branch {
    margin: 0.125rem 0.5rem;
    overflow: hidden;
    border-radius: 0.5rem;
    padding-block: 0.125rem;
    background: linear-gradient(
      180deg,
      rgb(var(--color-primary) / 0.26) 0%,
      rgb(var(--color-status-success) / 0.07) 100%
    );
    box-shadow: inset 0 0 0 1px rgb(255 255 255 / 0.06);
  }
.v2-root .sidebar-nav-branch--nested {
    margin: 0.125rem 0.375rem 0.25rem;
    background: linear-gradient(
      180deg,
      rgb(var(--color-status-success) / 0.1) 0%,
      rgb(0 0 0 / 0.2) 100%
    );
  }
.v2-root .shadow-soft {
    box-shadow:
      0 1px 3px rgba(16, 41, 54, 0.1),
      0 1px 2px rgba(16, 41, 54, 0.06);
  }
.v2-root .\[-\:T\] {
    -: T;
}
.v2-root .\[background-image\:linear-gradient\(to_right\2c rgba\(38\2c 208\2c 124\2c 0\.04\)_1px\2c transparent_1px\)\2c linear-gradient\(to_bottom\2c rgba\(38\2c 208\2c 124\2c 0\.04\)_1px\2c transparent_1px\)\] {
    background-image: linear-gradient(to right,rgba(38,208,124,0.04) 1px,transparent 1px),linear-gradient(to bottom,rgba(38,208,124,0.04) 1px,transparent 1px);
}
.v2-root .\[background-size\:32px_32px\] {
    background-size: 32px 32px;
}

/*
 * Equivalente escopado do Tailwind Preflight usado pelo modelosDesign.
 * O preflight global fica desligado para não afetar a v1/MUI.
 */

/*
 * Design system canônico (tokens modelosDesign).
 * Preferir estas classes (ou Button/Panel/Alert) em páginas novas.
 * Aliases v2-tw-* mantidos temporariamente para migração.
 */

.v2-root .placeholder\:text-secondary::placeholder {
    --tw-text-opacity: 1;
    color: rgb(var(--color-secondary) / var(--tw-text-opacity, 1));
}

.v2-root .placeholder\:text-secondary\/60::placeholder {
    color: rgb(var(--color-secondary) / 0.6);
}

.v2-root .placeholder\:text-slate-500::placeholder {
    --tw-text-opacity: 1;
    color: rgb(100 116 139 / var(--tw-text-opacity, 1));
}

.v2-root .last\:border-b-0:last-child {
    border-bottom-width: 0px;
}

.v2-root .last\:pb-0:last-child {
    padding-bottom: 0px;
}

.v2-root .hover\:z-20:hover {
    z-index: 20;
}

.v2-root .hover\:-translate-y-0\.5:hover {
    --tw-translate-y: -0.125rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.v2-root .hover\:border-primary:hover {
    --tw-border-opacity: 1;
    border-color: rgb(var(--color-primary) / var(--tw-border-opacity, 1));
}

.v2-root .hover\:border-primary\/40:hover {
    border-color: rgb(var(--color-primary) / 0.4);
}

.v2-root .hover\:border-primary\/50:hover {
    border-color: rgb(var(--color-primary) / 0.5);
}

.v2-root .hover\:border-v2-primary\/50:hover {
    border-color: rgb(var(--color-primary) / 0.5);
}

.v2-root .hover\:bg-\[\#0A66C2\]\/10:hover {
    background-color: rgb(10 102 194 / 0.1);
}

.v2-root .hover\:bg-\[\#34d399\]:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(52 211 153 / var(--tw-bg-opacity, 1));
}

.v2-root .hover\:bg-error-container:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(var(--color-error-container) / var(--tw-bg-opacity, 1));
}

.v2-root .hover\:bg-on-surface\/90:hover {
    background-color: rgb(var(--color-on-surface) / 0.9);
}

.v2-root .hover\:bg-primary\/10:hover {
    background-color: rgb(var(--color-primary) / 0.1);
}

.v2-root .hover\:bg-primary\/5:hover {
    background-color: rgb(var(--color-primary) / 0.05);
}

.v2-root .hover\:bg-primary\/90:hover {
    background-color: rgb(var(--color-primary) / 0.9);
}

.v2-root .hover\:bg-status-error:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(var(--color-status-error) / var(--tw-bg-opacity, 1));
}

.v2-root .hover\:bg-status-error\/5:hover {
    background-color: rgb(var(--color-status-error) / 0.05);
}

.v2-root .hover\:bg-status-error\/90:hover {
    background-color: rgb(var(--color-status-error) / 0.9);
}

.v2-root .hover\:bg-status-info\/20:hover {
    background-color: rgb(var(--color-status-info) / 0.2);
}

.v2-root .hover\:bg-status-info\/90:hover {
    background-color: rgb(var(--color-status-info) / 0.9);
}

.v2-root .hover\:bg-status-success\/20:hover {
    background-color: rgb(var(--color-status-success) / 0.2);
}

.v2-root .hover\:bg-status-success\/90:hover {
    background-color: rgb(var(--color-status-success) / 0.9);
}

.v2-root .hover\:bg-status-warning\/20:hover {
    background-color: rgb(var(--color-status-warning) / 0.2);
}

.v2-root .hover\:bg-status-warning\/90:hover {
    background-color: rgb(var(--color-status-warning) / 0.9);
}

.v2-root .hover\:bg-surface-canvas:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(var(--color-surface-canvas) / var(--tw-bg-opacity, 1));
}

.v2-root .hover\:bg-surface-canvas\/40:hover {
    background-color: rgb(var(--color-surface-canvas) / 0.4);
}

.v2-root .hover\:bg-surface-canvas\/50:hover {
    background-color: rgb(var(--color-surface-canvas) / 0.5);
}

.v2-root .hover\:bg-surface-container:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(var(--color-surface-container) / var(--tw-bg-opacity, 1));
}

.v2-root .hover\:bg-surface-container-low:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(var(--color-surface-container-low) / var(--tw-bg-opacity, 1));
}

.v2-root .hover\:bg-surface-container-lowest:hover {
    --tw-bg-opacity: 1;
    background-color: rgb(var(--color-surface-container-lowest) / var(--tw-bg-opacity, 1));
}

.v2-root .hover\:bg-white\/70:hover {
    background-color: rgb(255 255 255 / 0.7);
}

.v2-root .hover\:bg-white\/\[0\.06\]:hover {
    background-color: rgb(255 255 255 / 0.06);
}

.v2-root .hover\:bg-white\/\[0\.08\]:hover {
    background-color: rgb(255 255 255 / 0.08);
}

.v2-root .hover\:text-\[\#34d399\]:hover {
    --tw-text-opacity: 1;
    color: rgb(52 211 153 / var(--tw-text-opacity, 1));
}

.v2-root .hover\:text-emerald-300:hover {
    --tw-text-opacity: 1;
    color: rgb(110 231 183 / var(--tw-text-opacity, 1));
}

.v2-root .hover\:text-inverse-on-surface:hover {
    --tw-text-opacity: 1;
    color: rgb(var(--color-inverse-on-surface) / var(--tw-text-opacity, 1));
}

.v2-root .hover\:text-on-surface:hover {
    --tw-text-opacity: 1;
    color: rgb(var(--color-on-surface) / var(--tw-text-opacity, 1));
}

.v2-root .hover\:text-primary:hover {
    --tw-text-opacity: 1;
    color: rgb(var(--color-primary) / var(--tw-text-opacity, 1));
}

.v2-root .hover\:text-slate-200:hover {
    --tw-text-opacity: 1;
    color: rgb(226 232 240 / var(--tw-text-opacity, 1));
}

.v2-root .hover\:text-slate-400:hover {
    --tw-text-opacity: 1;
    color: rgb(148 163 184 / var(--tw-text-opacity, 1));
}

.v2-root .hover\:text-white:hover {
    --tw-text-opacity: 1;
    color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.v2-root .hover\:underline:hover {
    text-decoration-line: underline;
}

.v2-root .hover\:opacity-100:hover {
    opacity: 1;
}

.v2-root .hover\:shadow-md:hover {
    --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.v2-root .hover\:shadow-sm:hover {
    --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
    --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.v2-root .hover\:shadow-soft:hover {
    --tw-shadow: 0 1px 3px rgba(16, 41, 54, 0.1), 0 1px 2px rgba(16, 41, 54, 0.06);
    --tw-shadow-colored: 0 1px 3px var(--tw-shadow-color), 0 1px 2px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
    box-shadow:
      0 1px 3px rgba(16, 41, 54, 0.1),
      0 1px 2px rgba(16, 41, 54, 0.06);
}

.v2-root .focus\:border-primary:focus {
    --tw-border-opacity: 1;
    border-color: rgb(var(--color-primary) / var(--tw-border-opacity, 1));
}

.v2-root .focus\:border-status-success:focus {
    --tw-border-opacity: 1;
    border-color: rgb(var(--color-status-success) / var(--tw-border-opacity, 1));
}

.v2-root .focus\:outline-none:focus {
    outline: 2px solid transparent;
    outline-offset: 2px;
}

.v2-root .focus\:ring-2:focus {
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.v2-root .focus\:ring-\[3px\]:focus {
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.v2-root .focus\:ring-primary\/20:focus {
    --tw-ring-color: rgb(var(--color-primary) / 0.2);
}

.v2-root .focus\:ring-status-success:focus {
    --tw-ring-opacity: 1;
    --tw-ring-color: rgb(var(--color-status-success) / var(--tw-ring-opacity, 1));
}

.v2-root .focus\:ring-status-success\/20:focus {
    --tw-ring-color: rgb(var(--color-status-success) / 0.2);
}

.v2-root .focus\:ring-offset-2:focus {
    --tw-ring-offset-width: 2px;
}

.v2-root .focus\:ring-offset-\[\#030b10\]:focus {
    --tw-ring-offset-color: #030b10;
}

.v2-root .active\:cursor-grabbing:active {
    cursor: grabbing;
}

.v2-root .active\:opacity-80:active {
    opacity: 0.8;
}

.v2-root .disabled\:cursor-not-allowed:disabled {
    cursor: not-allowed;
}

.v2-root .disabled\:opacity-40:disabled {
    opacity: 0.4;
}

.v2-root .disabled\:opacity-50:disabled {
    opacity: 0.5;
}

.v2-root .disabled\:opacity-60:disabled {
    opacity: 0.6;
}

.v2-root :is(.group:hover .group-hover\:-translate-x-1) {
    --tw-translate-x: -0.25rem;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.v2-root :is(.group:hover .group-hover\:scale-105) {
    --tw-scale-x: 1.05;
    --tw-scale-y: 1.05;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.v2-root :is(.group:hover .group-hover\:bg-primary) {
    --tw-bg-opacity: 1;
    background-color: rgb(var(--color-primary) / var(--tw-bg-opacity, 1));
}

.v2-root :is(.group:hover .group-hover\:text-on-primary) {
    --tw-text-opacity: 1;
    color: rgb(var(--color-on-primary) / var(--tw-text-opacity, 1));
}

.v2-root :is(.group:hover .group-hover\:text-primary) {
    --tw-text-opacity: 1;
    color: rgb(var(--color-primary) / var(--tw-text-opacity, 1));
}

.v2-root :is(.group:hover .group-hover\:underline) {
    text-decoration-line: underline;
}

.v2-root .has-\[\:checked\]\:border-primary:has(:checked) {
    --tw-border-opacity: 1;
    border-color: rgb(var(--color-primary) / var(--tw-border-opacity, 1));
}

.v2-root .has-\[\:checked\]\:bg-primary\/5:has(:checked) {
    background-color: rgb(var(--color-primary) / 0.05);
}

@media (min-width: 640px) {
    .v2-root .sm\:col-span-2 {
        grid-column: span 2 / span 2;
    }
    .v2-root .sm\:flex {
        display: flex;
    }
    .v2-root .sm\:inline-flex {
        display: inline-flex;
    }
    .v2-root .sm\:min-h-\[300px\] {
        min-height: 300px;
    }
    .v2-root .sm\:w-auto {
        width: auto;
    }
    .v2-root .sm\:max-w-\[10rem\] {
        max-width: 10rem;
    }
    .v2-root .sm\:max-w-md {
        max-width: 28rem;
    }
    .v2-root .sm\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .v2-root .sm\:grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .v2-root .sm\:grid-cols-\[minmax\(0\2c 1fr\)_11rem\] {
        grid-template-columns: minmax(0,1fr) 11rem;
    }
    .v2-root .sm\:flex-row {
        flex-direction: row;
    }
    .v2-root .sm\:items-start {
        align-items: flex-start;
    }
    .v2-root .sm\:items-end {
        align-items: flex-end;
    }
    .v2-root .sm\:items-center {
        align-items: center;
    }
    .v2-root .sm\:justify-end {
        justify-content: flex-end;
    }
    .v2-root .sm\:justify-center {
        justify-content: center;
    }
    .v2-root .sm\:justify-between {
        justify-content: space-between;
    }
    .v2-root .sm\:self-center {
        align-self: center;
    }
    .v2-root .sm\:p-10 {
        padding: 2.5rem;
    }
    .v2-root .sm\:p-12 {
        padding: 3rem;
    }
    .v2-root .sm\:pb-0\.5 {
        padding-bottom: 0.125rem;
    }
    .v2-root .sm\:text-3xl {
        font-size: 1.875rem;
        line-height: 2.25rem;
    }
    .v2-root .sm\:text-base {
        font-size: 1rem;
        line-height: 1.5rem;
    }
}

@media (min-width: 768px) {
    .v2-root .md\:col-span-2 {
        grid-column: span 2 / span 2;
    }
    .v2-root .md\:col-span-3 {
        grid-column: span 3 / span 3;
    }
    .v2-root .md\:col-span-4 {
        grid-column: span 4 / span 4;
    }
    .v2-root .md\:col-span-8 {
        grid-column: span 8 / span 8;
    }
    .v2-root .md\:ml-\[var\(--spacing-sidebar-width\)\] {
        margin-left: var(--spacing-sidebar-width);
    }
    .v2-root .md\:ml-\[var\(--spacing-sidebar-width-collapsed\)\] {
        margin-left: var(--spacing-sidebar-width-collapsed);
    }
    .v2-root .md\:hidden {
        display: none;
    }
    .v2-root .md\:min-h-\[70vh\] {
        min-height: 70vh;
    }
    .v2-root .md\:w-\[var\(--spacing-sidebar-width\)\] {
        width: var(--spacing-sidebar-width);
    }
    .v2-root .md\:w-\[var\(--spacing-sidebar-width-collapsed\)\] {
        width: var(--spacing-sidebar-width-collapsed);
    }
    .v2-root .md\:max-w-2xl {
        max-width: 42rem;
    }
    .v2-root .md\:translate-x-0 {
        --tw-translate-x: 0px;
        transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    }
    .v2-root .md\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .v2-root .md\:grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .v2-root .md\:grid-cols-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    .v2-root .md\:grid-cols-5 {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }
    .v2-root .md\:gap-x-gutter {
        column-gap: var(--spacing-gutter);
    }
    .v2-root .md\:p-margin-desktop {
        padding: var(--spacing-margin-desktop);
    }
    .v2-root .md\:px-margin-desktop {
        padding-left: var(--spacing-margin-desktop);
        padding-right: var(--spacing-margin-desktop);
    }
}

@media (min-width: 1024px) {
    .v2-root .lg\:col-span-2 {
        grid-column: span 2 / span 2;
    }
    .v2-root .lg\:col-span-4 {
        grid-column: span 4 / span 4;
    }
    .v2-root .lg\:col-span-8 {
        grid-column: span 8 / span 8;
    }
    .v2-root .lg\:my-auto {
        margin-top: auto;
        margin-bottom: auto;
    }
    .v2-root .lg\:mt-0 {
        margin-top: 0px;
    }
    .v2-root .lg\:flex {
        display: flex;
    }
    .v2-root .lg\:hidden {
        display: none;
    }
    .v2-root .lg\:min-h-\[340px\] {
        min-height: 340px;
    }
    .v2-root .lg\:w-\[46\%\] {
        width: 46%;
    }
    .v2-root .lg\:w-\[48\%\] {
        width: 48%;
    }
    .v2-root .lg\:w-\[52\%\] {
        width: 52%;
    }
    .v2-root .lg\:w-\[54\%\] {
        width: 54%;
    }
    .v2-root .lg\:max-w-4xl {
        max-width: 56rem;
    }
    .v2-root .lg\:grid-cols-12 {
        grid-template-columns: repeat(12, minmax(0, 1fr));
    }
    .v2-root .lg\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .v2-root .lg\:grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .v2-root .lg\:grid-cols-6 {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }
    .v2-root .lg\:grid-cols-\[minmax\(0\2c 1fr\)_auto\] {
        grid-template-columns: minmax(0,1fr) auto;
    }
    .v2-root .lg\:grid-cols-\[minmax\(0\2c 1fr\)_minmax\(0\2c 1fr\)_auto\] {
        grid-template-columns: minmax(0,1fr) minmax(0,1fr) auto;
    }
    .v2-root .lg\:grid-cols-\[minmax\(0\2c 1fr\)_minmax\(0\2c 1fr\)_minmax\(0\2c 1fr\)_auto\] {
        grid-template-columns: minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) auto;
    }
    .v2-root .lg\:flex-row {
        flex-direction: row;
    }
    .v2-root .lg\:gap-0 {
        gap: 0px;
    }
    .v2-root .lg\:border-b-0 {
        border-bottom-width: 0px;
    }
    .v2-root .lg\:border-r {
        border-right-width: 1px;
    }
    .v2-root .lg\:border-t-0 {
        border-top-width: 0px;
    }
    .v2-root .lg\:border-border-subtle {
        --tw-border-opacity: 1;
        border-color: rgb(var(--color-border-subtle) / var(--tw-border-opacity, 1));
    }
    .v2-root .lg\:p-12 {
        padding: 3rem;
    }
    .v2-root .lg\:p-16 {
        padding: 4rem;
    }
    .v2-root .lg\:pl-6 {
        padding-left: 1.5rem;
    }
    .v2-root .lg\:pr-6 {
        padding-right: 1.5rem;
    }
    .v2-root .lg\:pt-0 {
        padding-top: 0px;
    }
}

@media (min-width: 1280px) {
    .v2-root .xl\:col-span-1 {
        grid-column: span 1 / span 1;
    }
    .v2-root .xl\:col-span-2 {
        grid-column: span 2 / span 2;
    }
    .v2-root .xl\:col-span-5 {
        grid-column: span 5 / span 5;
    }
    .v2-root .xl\:col-span-7 {
        grid-column: span 7 / span 7;
    }
    .v2-root .xl\:min-h-\[380px\] {
        min-height: 380px;
    }
    .v2-root .xl\:w-\[44\%\] {
        width: 44%;
    }
    .v2-root .xl\:w-\[46\%\] {
        width: 46%;
    }
    .v2-root .xl\:w-\[54\%\] {
        width: 54%;
    }
    .v2-root .xl\:w-\[56\%\] {
        width: 56%;
    }
    .v2-root .xl\:grid-cols-12 {
        grid-template-columns: repeat(12, minmax(0, 1fr));
    }
    .v2-root .xl\:grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .v2-root .xl\:grid-cols-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    .v2-root .xl\:grid-cols-\[repeat\(4\2c minmax\(0\2c 1fr\)\)_auto\] {
        grid-template-columns: repeat(4,minmax(0,1fr)) auto;
    }
    .v2-root .xl\:justify-end {
        justify-content: flex-end;
    }
    .v2-root .xl\:text-4xl {
        font-size: 2.25rem;
        line-height: 2.5rem;
    }
}

.v2-root :is(.\[\&\:focus-within_\.kanban-hint\]\:block:focus-within .kanban-hint) {
    display: block;
}

.v2-root :is(.\[\&\:hover_\.kanban-hint\]\:block:hover .kanban-hint) {
    display: block;
}

.v2-root :is(.\[\&\:hover_\.opportunity-tooltip\]\:block:hover .opportunity-tooltip) {
    display: block;
}
