@layer v2-components {
  .v2-body .v2-table-sort-link { display: inline-flex; align-items: center; gap: .45rem; color: inherit; font-weight: 600; min-height: 36px; }
  .v2-body .v2-table-sort-link:focus-visible { outline: 2px solid var(--v2-accent); outline-offset: 3px; }
  .v2-body .v2-table-search { display: grid; gap: .35rem; margin: 0; min-width: 180px; max-width: 100%; flex: 1 1 220px; }
  .v2-body [data-v2-table-mode="local"] tbody tr[hidden], .v2-body [data-v2-guide-step][hidden] { display: none !important; }
  .v2-body .v2-table-navigation { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 1rem; padding: 1rem 1.25rem; border-top: 1px solid var(--v2-border); }
  .v2-body .v2-table-navigation__controls { display: flex; align-items: center; flex-wrap: wrap; gap: .75rem; }
  .v2-body .v2-table-status, .v2-body .v2-table-page { color: var(--v2-muted); font-size: .9rem; }
  .v2-body .v2-setup-steps { display: flex; flex-wrap: wrap; gap: .6rem; padding-bottom: 1.25rem; border-bottom: 1px solid var(--v2-border); }
  .v2-body .v2-setup-steps button { flex: 1 1 150px; min-height: 44px; text-align: left; }
  .v2-body [data-v2-guide-step] { padding: 1.5rem 0; min-height: 100px; }
  .v2-body .v2-setup-navigation { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: .75rem; border-top: 1px solid var(--v2-border); padding-top: 1rem; }
  @media (max-width: 575px) {
    .v2-body .v2-table-navigation__controls { width: 100%; justify-content: space-between; }
    .v2-body .v2-table-navigation button { min-height: 44px; }
  }
  @media print { .v2-body .v2-table-search, .v2-body .v2-table-navigation { display: none; } }
  .v2-body .v2-visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }

  .v2-body .v2-page-stack {
    display: grid;
    gap: 1.25rem;
  }

  .v2-body .v2-page-header {
    position: relative;
    display: flex;
    min-width: 0;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1.5rem;
    padding: 0 0 0.25rem;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .v2-body .v2-page-header::before {
    content: none;
  }

  .v2-body .v2-page-header__copy {
    flex: 1 1 30rem;
    min-width: 0;
    max-width: 56rem;
  }

  .v2-body .v2-page-header__eyebrow {
    display: block;
    margin-bottom: 0.35rem;
    color: var(--v2-accent-text);
    font-size: 0.86rem;
    font-weight: 800;
    letter-spacing: 0.09em;
    text-transform: uppercase;
  }

  .v2-body .v2-page-header h1 {
    margin-bottom: 0.45rem;
    color: var(--v2-heading);
    font-size: clamp(1.45rem, 2.2vw, 2rem);
    line-height: 1.18;
    letter-spacing: -0.025em;
  }

  .v2-body .v2-page-header p {
    max-width: 52rem;
    margin-bottom: 0;
    color: var(--v2-muted);
    font-size: 0.9rem;
  }

  .v2-body .v2-page-header__aside {
    display: grid;
    width: min(100%, 44rem);
    flex: 1 1 28rem;
    grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
    align-items: stretch;
    gap: 0.65rem;
  }

  .v2-body .v2-action-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.65rem;
  }

  .v2-body .v2-card {
    min-width: 0;
    padding: clamp(1rem, 1.8vw, 1.35rem);
    border: 0;
    border-radius: var(--v2-radius-lg);
    background: var(--v2-surface);
    box-shadow: var(--v2-shadow-sm);
  }

  html[data-theme-skin="bordered"] .v2-body .v2-card {
    border: 1px solid var(--v2-border);
  }

  html[data-theme-density="compact"] .v2-body .v2-card {
    padding: 0.9rem;
  }

  .v2-body .v2-card__header {
    display: flex;
    min-width: 0;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
    padding-bottom: 0.8rem;
    border-bottom: 1px solid var(--v2-border-soft);
  }

  .v2-body .v2-card__header > div {
    min-width: 0;
  }

  .v2-body .v2-card__header h2,
  .v2-body .v2-card__header h3 {
    margin-bottom: 0.2rem;
    color: var(--v2-heading);
    font-size: 1rem;
    line-height: 1.25;
  }

  .v2-body .v2-card__header p {
    margin-bottom: 0;
    color: var(--v2-muted);
    font-size: 0.86rem;
  }

  .v2-body .v2-badge {
    display: inline-flex;
    max-width: 100%;
    align-items: center;
    justify-content: center;
    padding: 0.25rem 0.55rem;
    border: 1px solid var(--v2-border);
    border-radius: 999px;
    color: var(--v2-muted);
    background: var(--v2-surface-soft);
    font-size: 0.86rem;
    font-weight: 700;
    line-height: 1.25;
  }

  .v2-body .v2-badge--accent {
    border-color: color-mix(in srgb, var(--v2-accent) 32%, transparent);
    color: var(--v2-accent-text);
    background: color-mix(in srgb, var(--v2-accent) 12%, transparent);
  }

  .v2-body .v2-badge--success {
    border-color: color-mix(in srgb, var(--v2-success) 35%, transparent);
    color: var(--v2-success-text);
    background: color-mix(in srgb, var(--v2-success) 12%, transparent);
  }

  .v2-body .v2-badge--warning {
    border-color: color-mix(in srgb, var(--v2-warning) 35%, transparent);
    color: var(--v2-warning-text);
    background: color-mix(in srgb, var(--v2-warning) 12%, transparent);
  }

  .v2-body .v2-badge--danger {
    border-color: color-mix(in srgb, var(--v2-danger) 35%, transparent);
    color: var(--v2-danger-text);
    background: color-mix(in srgb, var(--v2-danger) 12%, transparent);
  }

  .v2-body .v2-badge--info {
    border-color: color-mix(in srgb, var(--v2-info) 35%, transparent);
    color: var(--v2-info-text);
    background: color-mix(in srgb, var(--v2-info) 12%, transparent);
  }

  .v2-body .v2-form-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
    align-items: end;
    gap: 1rem;
  }

  .v2-body .v2-field {
    display: grid;
    min-width: 0;
    gap: 0.38rem;
    color: var(--v2-muted);
    font-size: 0.86rem;
    font-weight: 600;
  }

  .v2-body .v2-field__hint {
    color: var(--v2-faint);
    font-size: 0.86rem;
    font-weight: 400;
  }

  .v2-body .v2-empty {
    display: grid;
    min-height: 7rem;
    place-content: center;
    gap: 0.3rem;
    padding: 1.5rem;
    border: 1px dashed var(--v2-border);
    border-radius: var(--v2-radius-md);
    color: var(--v2-muted);
    background: var(--v2-surface-soft);
    font-size: 0.86rem;
    text-align: center;
  }

  .v2-body .v2-empty strong {
    color: var(--v2-heading);
  }

  .v2-body .v2-alert {
    padding: 0.8rem 1rem;
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius-md);
    color: var(--v2-text);
    background: var(--v2-surface);
    box-shadow: var(--v2-shadow-sm);
  }

  .v2-body .v2-alert--success {
    border-color: color-mix(in srgb, var(--v2-success) 35%, var(--v2-border));
    color: var(--v2-success-text);
    background: color-mix(in srgb, var(--v2-success) 8%, var(--v2-surface));
  }

  .v2-body .v2-alert--danger {
    border-color: color-mix(in srgb, var(--v2-danger) 35%, var(--v2-border));
    color: var(--v2-danger-text);
    background: color-mix(in srgb, var(--v2-danger) 8%, var(--v2-surface));
  }

  .v2-body .v2-alert--warning {
    border-color: color-mix(in srgb, var(--v2-warning) 35%, var(--v2-border));
    color: var(--v2-warning-text);
    background: color-mix(in srgb, var(--v2-warning) 8%, var(--v2-surface));
  }

  .v2-body .v2-alert--info {
    border-color: color-mix(in srgb, var(--v2-info) 35%, var(--v2-border));
    color: var(--v2-info-text);
    background: color-mix(in srgb, var(--v2-info) 8%, var(--v2-surface));
  }

  .v2-body .v2-kpi-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr));
    gap: 0.75rem;
  }

  .v2-body .v2-kpi {
    display: grid;
    min-width: 0;
    min-height: 6rem;
    align-content: start;
    gap: 0.18rem;
    padding: 0.9rem;
    border: 0;
    border-radius: var(--v2-radius-md);
    background: var(--v2-surface);
    box-shadow: var(--v2-shadow-sm);
  }

  .v2-body .v2-kpi > span,
  .v2-body .v2-kpi > small {
    color: var(--v2-faint);
    font-size: 0.86rem;
  }

  .v2-body .v2-kpi > strong {
    overflow-wrap: anywhere;
    color: var(--v2-heading);
    font-size: 1.35rem;
  }

  .v2-body .v2-kpi--accent {
    border-color: color-mix(in srgb, var(--v2-accent) 34%, var(--v2-border));
    box-shadow: inset 0.18rem 0 0 var(--v2-accent);
  }

  .v2-body .v2-kpi--success {
    border-color: color-mix(in srgb, var(--v2-success) 34%, var(--v2-border));
    box-shadow: inset 0.18rem 0 0 var(--v2-success);
  }

  .v2-body .v2-kpi--warning {
    border-color: color-mix(in srgb, var(--v2-warning) 34%, var(--v2-border));
    box-shadow: inset 0.18rem 0 0 var(--v2-warning);
  }

  .v2-body .v2-kpi--danger {
    border-color: color-mix(in srgb, var(--v2-danger) 34%, var(--v2-border));
    box-shadow: inset 0.18rem 0 0 var(--v2-danger);
  }

  .v2-body .v2-kpi--info {
    border-color: color-mix(in srgb, var(--v2-info) 34%, var(--v2-border));
    box-shadow: inset 0.18rem 0 0 var(--v2-info);
  }

  .v2-body .v2-action-row,
  .v2-body .v2-action-row--wrap,
  .v2-body .v2-filter-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem;
  }

  .v2-body .v2-panel,
  .v2-body .v2-panel--subtle,
  .v2-body .v2-surface-card {
    min-width: 0;
    margin: 0 0 1.25rem;
    padding: clamp(1rem, 1.8vw, 1.35rem);
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius-lg);
    background: var(--v2-surface);
    box-shadow: var(--v2-shadow-sm);
  }

  .v2-body .v2-panel__header {
    display: flex;
    min-width: 0;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
    padding-bottom: 0.8rem;
    border-bottom: 1px solid var(--v2-border-soft);
  }

  .v2-body .v2-panel__header > div {
    min-width: 0;
  }

  .v2-body .v2-panel__header h2,
  .v2-body .v2-panel__header h3 {
    margin-bottom: 0.2rem;
    color: var(--v2-heading);
    font-size: 1rem;
    line-height: 1.25;
  }

  .v2-body .v2-panel__header p {
    margin-bottom: 0;
    color: var(--v2-muted);
    font-size: 0.86rem;
  }

  .v2-body .v2-button,
  .v2-body .v2-table-action {
    display: inline-flex;
    min-height: 2.45rem;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    padding: 0.58rem 0.85rem;
    border: 1px solid transparent;
    border-radius: var(--v2-radius-sm);
    font-size: 0.86rem;
    font-weight: 700;
    line-height: 1.15;
    text-align: center;
    transition: transform var(--v2-transition), box-shadow var(--v2-transition), background var(--v2-transition), border-color var(--v2-transition);
  }

  .v2-body .v2-button:hover,
  .v2-body .v2-table-action:hover {
    transform: translateY(-1px);
  }

  .v2-body .v2-button:disabled,
  .v2-body .v2-table-action:disabled,
  .v2-body .v2-button[aria-disabled="true"],
  .v2-body .v2-table-action[aria-disabled="true"] {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
    transform: none;
    box-shadow: none;
  }

  .v2-body .v2-button--primary,
  .v2-body .v2-table-action--primary {
    color: var(--v2-on-accent);
    background: var(--v2-accent);
    box-shadow: 0 6px 16px color-mix(in srgb, var(--v2-accent) 18%, transparent);
  }

  .v2-body .v2-button--secondary,
  .v2-body .v2-button--ghost,
  .v2-body .v2-table-action {
    border-color: var(--v2-border);
    color: var(--v2-text);
    background: var(--v2-surface-soft);
  }

  .v2-body .v2-button--secondary:hover,
  .v2-body .v2-button--ghost:hover,
  .v2-body .v2-table-action:hover {
    border-color: color-mix(in srgb, var(--v2-accent) 46%, var(--v2-border));
    color: var(--v2-heading);
    background: var(--v2-surface-raised);
  }

  .v2-body .v2-button--compact {
    min-height: 2rem;
    padding: 0.4rem 0.65rem;
    font-size: 0.86rem;
  }

  .v2-body .v2-button--full {
    width: 100%;
  }

  .v2-body .v2-button--danger {
    border-color: color-mix(in srgb, var(--v2-danger) 28%, transparent);
    color: var(--v2-danger-text);
    background: color-mix(in srgb, var(--v2-danger) 10%, transparent);
  }

  .v2-body .v2-form-grid > label {
    display: grid;
    min-width: 0;
    gap: 0.38rem;
    color: var(--v2-muted);
    font-size: 0.86rem;
    font-weight: 600;
  }

  .v2-body input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="color"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="image"]),
  .v2-body select,
  .v2-body textarea {
    width: 100%;
    min-width: 0;
    min-height: 2.65rem;
    padding: 0.58rem 0.75rem;
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius-sm);
    color: var(--v2-heading);
    background: var(--v2-surface-soft);
    transition: border-color var(--v2-transition), box-shadow var(--v2-transition), background var(--v2-transition);
  }

  .v2-body input:is([type="checkbox"], [type="radio"]) {
    width: auto;
    min-width: 0;
    min-height: 0;
    margin: 0;
    padding: 0;
    accent-color: var(--v2-accent);
  }

  .v2-body textarea {
    min-height: 6rem;
    resize: vertical;
  }

  .v2-body input::placeholder,
  .v2-body textarea::placeholder {
    color: var(--v2-faint);
  }

  .v2-body input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="color"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="image"]):focus,
  .v2-body select:focus,
  .v2-body textarea:focus {
    border-color: var(--v2-accent-border);
    background: var(--v2-surface-raised);
    box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--v2-accent) 14%, transparent);
  }

  .v2-body input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="color"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="image"]):focus-visible,
  .v2-body select:focus-visible,
  .v2-body textarea:focus-visible {
    outline: 3px solid var(--v2-focus-ring);
    outline-offset: 2px;
  }

  .v2-body :is(input, select, textarea)[aria-invalid="true"] {
    outline: 2px solid var(--v2-danger-text);
    outline-offset: 2px;
  }

  .v2-body :is(input, select, textarea)[aria-invalid="true"]:not(:focus) {
    border-color: var(--v2-danger-text);
  }

  .v2-body .v2-helper-text {
    color: var(--v2-faint);
    font-size: 0.86rem;
    font-weight: 400;
  }

  .v2-body .v2-detail-list {
    display: grid;
    gap: 0.65rem;
  }

  .v2-body .v2-detail-list__item {
    display: grid;
    min-width: 0;
    gap: 0.35rem;
    padding: 0.85rem 1rem;
    border: 1px solid var(--v2-border-soft);
    border-radius: var(--v2-radius-md);
    background: var(--v2-surface-soft);
    transition: border-color var(--v2-transition), transform var(--v2-transition), box-shadow var(--v2-transition);
  }

  .v2-body .v2-detail-list__item:hover {
    border-color: color-mix(in srgb, var(--v2-accent) 30%, var(--v2-border));
    box-shadow: var(--v2-shadow-sm);
    transform: translateY(-1px);
  }

  .v2-body .v2-detail-list__item > strong {
    color: var(--v2-heading);
    font-size: 0.86rem;
  }

  .v2-body .v2-detail-list__item > span,
  .v2-body .v2-detail-list__meta {
    overflow-wrap: anywhere;
    color: var(--v2-muted);
    font-size: 0.86rem;
  }

  .v2-body .v2-detail-list__meta {
    color: var(--v2-faint);
  }

  .v2-body .v2-table-wrap {
    min-width: 0;
    overflow-x: auto;
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius-md);
    background: var(--v2-surface-soft);
  }

  .v2-body table {
    width: 100%;
    min-width: 100%;
    border-collapse: collapse;
    color: var(--v2-text);
    font-size: 0.86rem;
  }

  .v2-body th,
  .v2-body td {
    padding: 0.75rem 0.85rem;
    border-bottom: 1px solid var(--v2-border-soft);
    text-align: left;
    vertical-align: middle;
  }

  .v2-body th {
    color: var(--v2-heading);
    background: color-mix(in srgb, var(--v2-surface-raised) 76%, transparent);
    font-size: 0.86rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }

  .v2-body tbody tr:hover {
    background: color-mix(in srgb, var(--v2-accent) 5%, transparent);
  }

  .v2-body .v2-pagination {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-top: 1rem;
    color: var(--v2-muted);
    font-size: 0.86rem;
  }

  .v2-body .v2-pagination__controls,
  .v2-body .v2-pagination__pages {
    display: flex;
    align-items: center;
    gap: 0.35rem;
  }

  .v2-body .v2-pagination__control,
  .v2-body .v2-pagination__page {
    display: grid;
    min-width: 2rem;
    min-height: 2rem;
    place-items: center;
    padding: 0.3rem 0.55rem;
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius-sm);
    background: var(--v2-surface-soft);
  }

  .v2-body .v2-pagination__page[aria-current="page"] {
    border-color: var(--v2-accent-border);
    color: var(--v2-on-accent);
    background: var(--v2-accent);
  }

  .v2-body .v2-pagination__control.is-disabled {
    opacity: 0.45;
  }

  @media (max-width: 900px) {

  }

  @media (max-width: 620px) {
    .v2-body .v2-page-header,
    .v2-body .v2-card__header {
      align-items: stretch;
      flex-direction: column;
    }

    .v2-body .v2-page-header__copy,
    .v2-body .v2-page-header__aside {
      width: 100%;
      flex: none;
    }

    .v2-body .v2-page-header__aside,
    .v2-body .v2-action-row {
      justify-content: flex-start;
    }

    .v2-body .v2-page-header__aside {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .v2-body .v2-button,
    .v2-body .v2-table-action {
      min-height: 44px;
    }

    .v2-body .v2-background-check__grid {
      grid-template-columns: 1fr;
    }

    .v2-body .v2-panel__header {
      align-items: stretch;
      flex-direction: column;
    }

    .v2-body .v2-pagination {
      align-items: stretch;
      flex-direction: column;
    }

    .v2-body .v2-confirm-dialog__actions {
      align-items: stretch;
      flex-direction: column-reverse;
    }
  }
}

@layer v2-utilities {
  .v2-content__inner > :where(main, section, article, div) {
    min-width: 0;
  }

  @media (max-width: 900px) {
    .v2-body .v2-filter-chip__remove {
      width: 44px;
      height: 44px;
      min-width: 44px;
      min-height: 44px;
      flex: 0 0 44px;
    }

    .v2-body :is(
      button,
      input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]),
      select,
      textarea,
      .v2-button,
      .v2-table-action,
      .v2-download-action,
      .photo-card__actions a
    ) {
      min-width: 44px;
      min-height: 44px;
    }
  }

}

@layer v2-components {
  .v2-body [hidden] {
    display: none !important;
  }

  .v2-body .v2-section-header {
    display: flex;
    min-width: 0;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
  }

  .v2-body .v2-section-header__copy {
    min-width: 0;
  }

  .v2-body .v2-section-header__eyebrow {
    display: block;
    margin-bottom: 0.3rem;
    color: var(--v2-accent-text);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .v2-body .v2-section-header__title {
    margin: 0;
  }

  .v2-body .v2-section-header__description {
    margin: 0.28rem 0 0;
    color: var(--v2-muted);
    font-size: 0.86rem;
  }

  .v2-body .v2-section-header__actions,
  .v2-body .v2-card__footer,
  .v2-body .v2-toolbar__actions,
  .v2-body .v2-toolbar__filters,
  .v2-body .v2-toolbar__chips,
  .v2-body .v2-data-table__controls,
  .v2-body .v2-timeline__actions,
  .v2-body .v2-state__actions {
    display: flex;
    min-width: 0;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem;
  }

  .v2-body .v2-card-action,
  .v2-body .v2-overlay__close {
    display: inline-grid;
    min-width: 2.35rem;
    min-height: 2.35rem;
    flex: 0 0 auto;
    place-items: center;
    padding: 0;
    border: 1px solid transparent;
    border-radius: var(--v2-radius-sm);
    color: var(--v2-muted);
    background: transparent;
    cursor: pointer;
  }

  .v2-body .v2-card-action:hover,
  .v2-body .v2-overlay__close:hover {
    border-color: var(--v2-border);
    color: var(--v2-heading);
    background: var(--v2-surface-soft);
  }

  .v2-body .v2-card[data-v2-card] {
    position: relative;
    padding: 0;
    overflow: hidden;
  }

  .v2-body .v2-card[data-v2-card] > .v2-section-header {
    margin: 0;
    padding: 1rem 1.2rem;
  }

  .v2-body .v2-card__body {
    min-width: 0;
    padding: 1.2rem;
  }

  .v2-body .v2-card[data-v2-card] > .v2-section-header + .v2-card__body {
    padding-top: 0;
  }

  .v2-body .v2-card__footer {
    justify-content: flex-end;
    padding: 0.9rem 1.2rem;
    border-top: 1px solid var(--v2-border-soft);
    background: var(--v2-surface-soft);
  }

  .v2-body .v2-card.is-collapsed > :is(.v2-card__body, .v2-card__footer) {
    display: none;
  }

  .v2-body .v2-card.is-v2-card-fullscreen {
    position: fixed;
    z-index: calc(var(--v2-z-modal, 1050) - 1);
    inset: max(0.75rem, env(safe-area-inset-top)) max(0.75rem, env(safe-area-inset-right)) max(0.75rem, env(safe-area-inset-bottom)) max(0.75rem, env(safe-area-inset-left));
    display: flex;
    width: auto;
    height: auto;
    min-width: 0;
    min-height: 0;
    max-width: none;
    max-height: none;
    margin: 0;
    overflow: hidden;
    box-sizing: border-box;
    flex-direction: column;
  }

  .v2-body .v2-card.is-v2-card-fullscreen > .v2-card__body {
    min-height: 0;
    flex: 1 1 auto;
    overflow: auto;
  }

  .v2-body .v2-stat-card {
    position: relative;
    display: grid;
    min-width: 0;
    min-height: 7rem;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.8rem;
    align-items: center;
    padding: 1rem;
    overflow: hidden;
    border: 0;
    border-radius: var(--v2-radius-lg);
    color: var(--v2-text);
    background: var(--v2-surface);
    box-shadow: var(--v2-shadow-sm);
    text-decoration: none;
  }

  .v2-body .v2-stat-card::after {
    position: absolute;
    inset: auto 0 0;
    height: 0.18rem;
    background: var(--v2-border);
    content: "";
  }

  .v2-body .v2-stat-card--accent::after { background: var(--v2-accent); }
  .v2-body .v2-stat-card--success::after { background: var(--v2-success); }
  .v2-body .v2-stat-card--warning::after { background: var(--v2-warning); }
  .v2-body .v2-stat-card--danger::after { background: var(--v2-danger); }
  .v2-body .v2-stat-card--info::after { background: var(--v2-info); }

  .v2-body a.v2-stat-card:hover {
    color: var(--v2-text);
    box-shadow: var(--v2-shadow-md);
    transform: translateY(-2px);
  }

  .v2-body .v2-stat-card__copy {
    display: grid;
    min-width: 0;
    gap: 0.1rem;
  }

  .v2-body .v2-stat-card__label,
  .v2-body .v2-stat-card__copy small {
    overflow-wrap: anywhere;
    color: var(--v2-muted);
    font-size: 0.8rem;
  }

  .v2-body .v2-stat-card__value {
    overflow-wrap: anywhere;
    color: var(--v2-heading);
    font-size: clamp(1.25rem, 2vw, 1.65rem);
    line-height: 1.15;
  }

  .v2-body .v2-stat-card__trend {
    position: absolute;
    inset: 0.7rem 0.7rem auto auto;
    padding: 0.2rem 0.45rem;
    border-radius: 999px;
    color: var(--v2-muted);
    background: var(--v2-surface-soft);
    font-size: 0.7rem;
    font-weight: 800;
  }

  .v2-body .v2-stat-card__trend--success { color: var(--v2-success-text); background: color-mix(in srgb, var(--v2-success) 12%, transparent); }
  .v2-body .v2-stat-card__trend--warning { color: var(--v2-warning-text); background: color-mix(in srgb, var(--v2-warning) 12%, transparent); }
  .v2-body .v2-stat-card__trend--danger { color: var(--v2-danger-text); background: color-mix(in srgb, var(--v2-danger) 12%, transparent); }
  .v2-body .v2-stat-card__trend--info { color: var(--v2-info-text); background: color-mix(in srgb, var(--v2-info) 12%, transparent); }
  .v2-body .v2-stat-card__trend--accent { color: var(--v2-accent-text); background: color-mix(in srgb, var(--v2-accent) 12%, transparent); }

  .v2-body .v2-toolbar {
    display: flex;
    min-width: 0;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.8rem;
    padding: 0.85rem 1rem;
    border: 1px solid var(--v2-border-soft);
    border-radius: var(--v2-radius-md);
    background: var(--v2-surface-soft);
  }

  .v2-body .v2-toolbar__copy {
    display: grid;
    min-width: min(100%, 12rem);
    margin-right: auto;
    gap: 0.1rem;
  }

  .v2-body .v2-toolbar__copy strong { color: var(--v2-heading); }
  .v2-body .v2-toolbar__copy span { color: var(--v2-muted); font-size: 0.78rem; }

  .v2-body .v2-filter-chip {
    display: inline-flex;
    max-width: 100%;
    min-height: 2rem;
    align-items: center;
    gap: 0.3rem;
    padding: 0.25rem 0.35rem 0.25rem 0.65rem;
    border: 1px solid var(--v2-border);
    border-radius: 999px;
    color: var(--v2-text);
    background: var(--v2-surface);
    font-size: 0.78rem;
    font-weight: 700;
  }

  .v2-body .v2-filter-chip > span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .v2-body .v2-filter-chip--accent { border-color: color-mix(in srgb, var(--v2-accent) 38%, var(--v2-border)); }
  .v2-body .v2-filter-chip--success { border-color: color-mix(in srgb, var(--v2-success) 38%, var(--v2-border)); }
  .v2-body .v2-filter-chip--warning { border-color: color-mix(in srgb, var(--v2-warning) 38%, var(--v2-border)); }
  .v2-body .v2-filter-chip--danger { border-color: color-mix(in srgb, var(--v2-danger) 38%, var(--v2-border)); }
  .v2-body .v2-filter-chip--info { border-color: color-mix(in srgb, var(--v2-info) 38%, var(--v2-border)); }

  .v2-body .v2-filter-chip__remove {
    display: inline-grid;
    width: 1.55rem;
    height: 1.55rem;
    place-items: center;
    padding: 0;
    border: 0;
    border-radius: 50%;
    color: currentColor;
    background: color-mix(in srgb, currentColor 8%, transparent);
    cursor: pointer;
  }

  .v2-body .v2-data-table {
    position: relative;
    min-width: 0;
    overflow: visible;
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius-lg);
    background: var(--v2-surface);
    box-shadow: var(--v2-shadow-sm);
  }

  .v2-body .v2-data-table__toolbar,
  .v2-body .v2-data-table__footer {
    display: flex;
    min-width: 0;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
    padding: 0.85rem 1rem;
  }

  .v2-body .v2-data-table__toolbar {
    border-bottom: 1px solid var(--v2-border-soft);
  }

  .v2-body .v2-data-table__controls {
    margin-left: auto;
  }

  .v2-body .v2-data-table__viewport {
    max-width: 100%;
    overflow: auto;
    overscroll-behavior-inline: contain;
  }

  .v2-body .v2-data-table table {
    margin: 0;
    border: 0;
    border-radius: 0;
  }

  .v2-body .v2-data-table caption {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
  }

  .v2-body .v2-data-table thead th {
    position: sticky;
    z-index: 2;
    top: 0;
    white-space: nowrap;
  }

  .v2-body .v2-data-table tbody tr:last-child td {
    border-bottom: 0;
  }

  .v2-body .v2-data-table__sort {
    display: inline-flex;
    width: 100%;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 0.45rem;
    padding: 0;
    border: 0;
    color: inherit;
    background: transparent;
    font: inherit;
    letter-spacing: inherit;
    text-align: left;
    text-transform: inherit;
    cursor: pointer;
  }

  .v2-body .v2-data-table__sort i {
    opacity: 0.55;
  }

  .v2-body .v2-data-table th[aria-sort]:not([aria-sort="none"]) .v2-data-table__sort i {
    color: var(--v2-accent-text);
    opacity: 1;
  }

  .v2-body .v2-data-table__page-size {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    color: var(--v2-muted);
    font-size: 0.78rem;
    font-weight: 600;
  }

  .v2-body .v2-data-table__page-size select {
    width: auto;
    min-width: 4.6rem;
    min-height: 2.35rem;
    padding-block: 0.35rem;
  }

  .v2-body .v2-data-table__footer {
    border-top: 1px solid var(--v2-border-soft);
    color: var(--v2-muted);
    font-size: 0.8rem;
  }

  .v2-body .v2-column-chooser {
    position: relative;
  }

  .v2-body .v2-column-chooser > summary {
    list-style: none;
    cursor: pointer;
  }

  .v2-body .v2-column-chooser > summary::-webkit-details-marker { display: none; }

  .v2-body .v2-column-chooser__menu {
    position: absolute;
    z-index: 20;
    inset: calc(100% + 0.4rem) 0 auto auto;
    display: grid;
    width: min(17rem, calc(100vw - 2rem));
    max-height: min(22rem, 60vh);
    gap: 0.25rem;
    padding: 0.65rem;
    overflow: auto;
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius-md);
    background: var(--v2-surface-raised);
    box-shadow: var(--v2-shadow-lg);
  }

  .v2-body .v2-column-chooser__menu label {
    display: flex;
    min-height: 2.35rem;
    align-items: center;
    gap: 0.55rem;
    margin: 0;
    padding: 0.4rem 0.55rem;
    border-radius: var(--v2-radius-sm);
    color: var(--v2-text);
    cursor: pointer;
  }

  .v2-body .v2-column-chooser__menu label:hover { background: var(--v2-surface-soft); }

  .v2-body .v2-overlay {
    position: fixed;
    z-index: 1210;
    inset: 0;
    display: grid;
    place-items: center;
    padding: max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));
    overflow: auto;
    background: color-mix(in srgb, #090b14 56%, transparent);
    backdrop-filter: blur(3px);
    overscroll-behavior: contain;
  }

  .v2-body .v2-overlay__dialog {
    display: flex;
    width: min(100%, 42rem);
    max-height: calc(100vh - 2rem);
    max-height: calc(100dvh - 2rem);
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--v2-border);
    border-radius: var(--v2-radius-lg);
    color: var(--v2-text);
    background: var(--v2-surface-raised);
    box-shadow: var(--v2-shadow-lg);
  }

  .v2-body .v2-modal__dialog--sm { width: min(100%, 28rem); }
  .v2-body .v2-modal__dialog--lg { width: min(100%, 58rem); }
  .v2-body .v2-modal__dialog--xl { width: min(100%, 76rem); }

  .v2-body .v2-overlay__header,
  .v2-body .v2-overlay__footer {
    display: flex;
    flex: 0 0 auto;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.2rem;
  }

  .v2-body .v2-overlay__header {
    border-bottom: 1px solid var(--v2-border-soft);
  }

  .v2-body .v2-overlay__header h2 {
    margin: 0;
    color: var(--v2-heading);
    font-size: 1.1rem;
  }

  .v2-body .v2-overlay__header p {
    margin: 0.25rem 0 0;
    color: var(--v2-muted);
    font-size: 0.82rem;
  }

  .v2-body .v2-overlay__body {
    min-height: 0;
    flex: 1 1 auto;
    padding: 1.2rem;
    overflow: auto;
  }

  .v2-body .v2-overlay__footer {
    align-items: center;
    justify-content: flex-end;
    border-top: 1px solid var(--v2-border-soft);
    background: var(--v2-surface-soft);
  }

  .v2-body .v2-drawer {
    padding: 0;
    place-items: stretch end;
  }

  .v2-body .v2-drawer--left { place-items: stretch start; }

  .v2-body .v2-drawer__dialog {
    width: min(100%, 32rem);
    max-height: 100vh;
    max-height: 100dvh;
    border-block: 0;
    border-radius: 0;
  }

  .v2-body.v2-overlay-open,
  body.v2-overlay-open {
    overflow: hidden;
  }

  .v2-body .v2-timeline {
    position: relative;
    display: grid;
    gap: 0;
  }

  .v2-body .v2-timeline__item {
    position: relative;
    display: grid;
    min-width: 0;
    grid-template-columns: 2.2rem minmax(0, 1fr);
    gap: 0.75rem;
    padding-bottom: 1.25rem;
  }

  .v2-body .v2-timeline__item:not(:last-child)::before {
    position: absolute;
    inset: 2rem auto 0 1.05rem;
    width: 1px;
    background: var(--v2-border);
    content: "";
  }

  .v2-body .v2-timeline__marker {
    position: relative;
    z-index: 1;
    display: grid;
    width: 2.1rem;
    height: 2.1rem;
    place-items: center;
    border: 1px solid var(--v2-border);
    border-radius: 50%;
    color: var(--v2-muted);
    background: var(--v2-surface-raised);
  }

  .v2-body .v2-timeline__item--accent .v2-timeline__marker { border-color: var(--v2-accent-border); color: var(--v2-accent-text); }
  .v2-body .v2-timeline__item--success .v2-timeline__marker { color: var(--v2-success-text); }
  .v2-body .v2-timeline__item--warning .v2-timeline__marker { color: var(--v2-warning-text); }
  .v2-body .v2-timeline__item--danger .v2-timeline__marker { color: var(--v2-danger-text); }
  .v2-body .v2-timeline__item--info .v2-timeline__marker { color: var(--v2-info-text); }

  .v2-body .v2-timeline__content {
    min-width: 0;
    padding: 0.35rem 0 0.1rem;
  }

  .v2-body .v2-timeline__heading {
    display: flex;
    min-width: 0;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.7rem;
  }

  .v2-body .v2-timeline__heading strong { color: var(--v2-heading); }
  .v2-body .v2-timeline__heading time,
  .v2-body .v2-timeline__meta { color: var(--v2-faint); font-size: 0.76rem; }
  .v2-body .v2-timeline__content p { margin: 0.25rem 0; color: var(--v2-muted); font-size: 0.84rem; }

  .v2-body .v2-skeleton-group {
    display: grid;
    gap: 0.65rem;
  }

  .v2-body .v2-skeleton {
    position: relative;
    display: block;
    width: 100%;
    min-height: 0.8rem;
    overflow: hidden;
    border-radius: var(--v2-radius-sm);
    background: color-mix(in srgb, var(--v2-muted) 12%, var(--v2-surface-soft));
  }

  .v2-body .v2-skeleton::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--v2-surface-raised) 70%, transparent), transparent);
    content: "";
    animation: v2-skeleton-shimmer 1.45s ease-in-out calc(var(--v2-skeleton-index, 0) * 80ms) infinite;
    transform: translateX(-100%);
  }

  .v2-body .v2-skeleton--line:nth-child(3n) { width: 72%; }
  .v2-body .v2-skeleton--card { min-height: 8rem; border-radius: var(--v2-radius-md); }
  .v2-body .v2-skeleton--avatar { width: 2.75rem; min-height: 2.75rem; border-radius: 50%; }
  .v2-body .v2-skeleton--table { min-height: 2.8rem; }

  @keyframes v2-skeleton-shimmer {
    to { transform: translateX(100%); }
  }

  .v2-body .v2-spinner {
    display: inline-block;
    width: 1.35rem;
    height: 1.35rem;
    flex: 0 0 auto;
    border: 0.15rem solid color-mix(in srgb, var(--v2-accent) 22%, var(--v2-border));
    border-top-color: var(--v2-accent);
    border-radius: 50%;
    animation: v2-spinner-rotate 0.7s linear infinite;
  }

  @keyframes v2-spinner-rotate { to { transform: rotate(1turn); } }

  .v2-body .v2-block-ui {
    position: absolute;
    z-index: 15;
    inset: 0;
    display: grid;
    place-content: center;
    justify-items: center;
    gap: 0.65rem;
    padding: 1rem;
    border-radius: inherit;
    color: var(--v2-heading);
    background: color-mix(in srgb, var(--v2-surface-raised) 86%, transparent);
    backdrop-filter: blur(2px);
    font-size: 0.8rem;
    font-weight: 700;
    text-align: center;
  }

  .v2-body .v2-avatar {
    position: relative;
    display: inline-grid;
    width: 2.75rem;
    height: 2.75rem;
    flex: 0 0 auto;
    place-items: center;
    overflow: visible;
    border-radius: 50%;
    color: var(--v2-accent-text);
    background: color-mix(in srgb, var(--v2-accent) 12%, var(--v2-surface-soft));
    font-size: 0.8rem;
    font-weight: 800;
    line-height: 1;
  }

  .v2-body .v2-avatar > :is(img, .avatar-content) {
    width: 100%;
    height: 100%;
    border-radius: inherit;
  }

  .v2-body .v2-avatar > img { object-fit: cover; }
  .v2-body .v2-avatar > .avatar-content { display: grid; place-items: center; }
  .v2-body .v2-avatar--xs { width: 1.75rem; height: 1.75rem; font-size: 0.62rem; }
  .v2-body .v2-avatar--sm { width: 2.2rem; height: 2.2rem; font-size: 0.7rem; }
  .v2-body .v2-avatar--lg { width: 3.5rem; height: 3.5rem; font-size: 0.95rem; }
  .v2-body .v2-avatar--xl { width: 4.5rem; height: 4.5rem; font-size: 1.1rem; }

  .v2-body .v2-avatar__status {
    position: absolute;
    right: -0.05rem;
    bottom: -0.05rem;
    width: 0.7rem;
    height: 0.7rem;
    border: 2px solid var(--v2-surface-raised);
    border-radius: 50%;
    background: var(--v2-faint);
  }

  .v2-body .v2-avatar__status--online { background: var(--v2-success); }
  .v2-body .v2-avatar__status--away { background: var(--v2-warning); }
  .v2-body .v2-avatar__status--busy { background: var(--v2-danger); }

  .v2-body .v2-media-object {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 0.75rem;
    padding: 0.7rem;
    border: 1px solid var(--v2-border-soft);
    border-radius: var(--v2-radius-md);
    color: var(--v2-text);
    background: var(--v2-surface);
    text-decoration: none;
  }

  .v2-body a.v2-media-object:hover { border-color: var(--v2-accent-border); color: var(--v2-text); background: var(--v2-surface-raised); }

  .v2-body .v2-media-object__copy {
    display: grid;
    min-width: 0;
    gap: 0.12rem;
  }

  .v2-body .v2-media-object__copy strong,
  .v2-body .v2-media-object__copy span,
  .v2-body .v2-media-object__copy small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .v2-body .v2-media-object__copy strong { color: var(--v2-heading); }
  .v2-body .v2-media-object__copy span { color: var(--v2-muted); font-size: 0.82rem; }
  .v2-body .v2-media-object__copy small { color: var(--v2-faint); font-size: 0.74rem; }
  .v2-body .v2-media-object__actions { flex: 0 0 auto; }

  .v2-body .v2-field.has-error .v2-field__control {
    border-color: var(--v2-danger-text);
    box-shadow: 0 0 0 0.15rem color-mix(in srgb, var(--v2-danger) 10%, transparent);
  }

  .v2-body .v2-field__error {
    display: block;
    color: var(--v2-danger-text);
    font-size: 0.76rem;
  }

  .v2-body .v2-input-group {
    display: flex;
    min-width: 0;
    flex-wrap: nowrap;
  }

  .v2-body .v2-input-group > :is(input, select, textarea, .form-control) {
    min-width: 0;
    flex: 1 1 auto;
  }

  .v2-body .v2-input-group .input-group-text {
    display: flex;
    min-height: 2.65rem;
    align-items: center;
    padding: 0.58rem 0.7rem;
    border: 1px solid var(--v2-border);
    color: var(--v2-muted);
    background: var(--v2-surface-soft);
  }

  .v2-body .v2-tabs {
    display: grid;
    min-width: 0;
    gap: 1rem;
  }

  .v2-body .v2-tabs--vertical {
    grid-template-columns: minmax(10rem, 14rem) minmax(0, 1fr);
    align-items: start;
  }

  .v2-body .v2-tabs__list {
    display: flex;
    min-width: 0;
    gap: 0.25rem;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
  }

  .v2-body .v2-tabs--vertical .v2-tabs__list {
    flex-direction: column;
    overflow: visible;
  }

  .v2-body .v2-tabs__tab {
    display: inline-flex;
    min-width: max-content;
    min-height: 2.65rem;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    padding: 0.55rem 0.8rem;
    border: 0;
    border-radius: var(--v2-radius-sm);
    color: var(--v2-muted);
    background: transparent;
    font-weight: 700;
    cursor: pointer;
  }

  .v2-body .v2-tabs__tab:hover { color: var(--v2-heading); background: var(--v2-surface-soft); }
  .v2-body .v2-tabs__tab[aria-selected="true"] { color: var(--v2-on-accent); background: var(--v2-accent); box-shadow: 0 5px 14px color-mix(in srgb, var(--v2-accent) 18%, transparent); }
  .v2-body .v2-tabs--tabs .v2-tabs__tab[aria-selected="true"] { border-radius: var(--v2-radius-sm) var(--v2-radius-sm) 0 0; }
  .v2-body .v2-tabs__panels,
  .v2-body .v2-tabs__panel { min-width: 0; }

  .v2-body .v2-state {
    display: flex;
    min-width: 0;
    min-height: 7rem;
    align-items: center;
    justify-content: center;
    gap: 0.9rem;
    padding: 1.25rem;
    border: 1px dashed var(--v2-border);
    border-radius: var(--v2-radius-md);
    color: var(--v2-muted);
    background: var(--v2-surface-soft);
    text-align: left;
  }

  .v2-body .v2-state--compact { min-height: 0; justify-content: flex-start; padding: 0.75rem; }

  .v2-body .v2-state__icon {
    display: grid;
    width: 2.5rem;
    height: 2.5rem;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 50%;
    color: var(--v2-muted);
    background: var(--v2-surface-raised);
  }

  .v2-body .v2-state__copy,
  .v2-body .v2-state--loading > div { min-width: 0; }
  .v2-body .v2-state strong { color: var(--v2-heading); }
  .v2-body .v2-state p { margin: 0.2rem 0 0; color: var(--v2-muted); font-size: 0.82rem; }
  .v2-body .v2-state__actions { margin-top: 0.7rem; }
  .v2-body .v2-state--success { border-color: color-mix(in srgb, var(--v2-success) 35%, var(--v2-border)); }
  .v2-body .v2-state--success .v2-state__icon { color: var(--v2-success-text); }
  .v2-body .v2-state--error { border-color: color-mix(in srgb, var(--v2-danger) 35%, var(--v2-border)); }
  .v2-body .v2-state--error .v2-state__icon { color: var(--v2-danger-text); }
  .v2-body .v2-state--warning { border-color: color-mix(in srgb, var(--v2-warning) 35%, var(--v2-border)); }
  .v2-body .v2-state--warning .v2-state__icon { color: var(--v2-warning-text); }
  .v2-body .v2-state--info .v2-state__icon { color: var(--v2-info-text); }

  html[data-theme-mode="dark"] .v2-body .v2-overlay,
  html[data-theme-mode="semi-dark"] .v2-body .v2-overlay {
    background: color-mix(in srgb, #02040a 72%, transparent);
  }

  .v2-body :is(
    .v2-card-action,
    .v2-overlay__close,
    .v2-filter-chip__remove,
    .v2-data-table__sort,
    .v2-column-chooser > summary,
    .v2-tabs__tab
  ):focus-visible {
    outline: 3px solid var(--v2-focus-ring);
    outline-offset: 2px;
  }

  @media (max-width: 720px) {
    .v2-body .v2-section-header,
    .v2-body .v2-toolbar,
    .v2-body .v2-data-table__toolbar,
    .v2-body .v2-data-table__footer,
    .v2-body .v2-timeline__heading {
      align-items: stretch;
      flex-direction: column;
    }

    .v2-body .v2-section-header__actions,
    .v2-body .v2-toolbar__actions,
    .v2-body .v2-toolbar__filters,
    .v2-body .v2-toolbar__chips,
    .v2-body .v2-data-table__controls {
      width: 100%;
      margin-left: 0;
    }

    .v2-body .v2-data-table__controls {
      align-items: stretch;
      justify-content: space-between;
    }

    .v2-body .v2-column-chooser__menu {
      inset: calc(100% + 0.4rem) auto auto 0;
    }

    .v2-body .v2-overlay {
      padding: max(0.5rem, env(safe-area-inset-top)) max(0.5rem, env(safe-area-inset-right)) max(0.5rem, env(safe-area-inset-bottom)) max(0.5rem, env(safe-area-inset-left));
    }

    .v2-body .v2-overlay__dialog {
      max-height: calc(100vh - 1rem);
      max-height: calc(100dvh - 1rem);
    }

    .v2-body .v2-drawer__dialog {
      width: min(100%, 27rem);
      max-height: 100vh;
      max-height: 100dvh;
    }

    .v2-body .v2-tabs--vertical { grid-template-columns: 1fr; }
    .v2-body .v2-tabs--vertical .v2-tabs__list { flex-direction: row; overflow-x: auto; }
    .v2-body .v2-media-object__actions { align-self: flex-start; }
  }

  @media (max-width: 480px) {
    .v2-body .v2-section-header__actions > :is(a, button),
    .v2-body .v2-overlay__footer > :is(a, button) {
      flex: 1 1 auto;
    }

    .v2-body .v2-stat-card { min-height: 6.3rem; }
    .v2-body .v2-data-table__page-size { width: 100%; justify-content: space-between; }
    .v2-body .v2-data-table__page-size select { width: 5.25rem; }
    .v2-body .v2-column-chooser { width: 100%; }
    .v2-body .v2-column-chooser > summary { width: 100%; }
    .v2-body .v2-overlay__header,
    .v2-body .v2-overlay__body,
    .v2-body .v2-overlay__footer { padding: 0.9rem; }
    .v2-body .v2-drawer__dialog { width: 100%; }
    .v2-body .v2-media-object { align-items: flex-start; }
  }

  @media (max-width: 900px) and (max-height: 520px) and (orientation: landscape) {
    .v2-body .v2-column-chooser__menu {
      position: fixed;
      z-index: 1080;
      inset: auto 1rem 1rem auto;
      width: min(22rem, calc(100vw - 2rem));
      max-height: calc(100dvh - 2rem);
      overscroll-behavior: contain;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .v2-body .v2-skeleton::after,
    .v2-body .v2-spinner {
      animation: none !important;
    }
  }

  html[data-portal-motion="reduced"] .v2-body .v2-skeleton::after,
  html[data-portal-motion="reduced"] .v2-body .v2-spinner {
    animation: none !important;
  }

  @media print {
    .v2-body .v2-overlay,
    .v2-body .v2-block-ui,
    .v2-body .v2-card-action,
    .v2-body .v2-column-chooser,
    .v2-body .v2-data-table__page-size {
      display: none !important;
    }
  }
}
