.fi-account-widget,
.fi-wi-widget:has(.tg-dashboard-brand-widget) {
    min-height: 11rem;
}

.fi-account-widget > .fi-section,
.fi-wi-widget:has(.tg-dashboard-brand-widget) > .fi-section,
.fi-account-widget .fi-section-content-ctn,
.fi-wi-widget:has(.tg-dashboard-brand-widget) .fi-section-content-ctn {
    height: 100%;
}

.fi-account-widget .fi-section-content,
.fi-wi-widget:has(.tg-dashboard-brand-widget) .fi-section-content {
    min-height: 11rem;
}

.tg-account-widget-company-name {
    margin-top: 0.125rem;
    color: var(--color-gray-500);
    font-size: 0.875rem;
    line-height: 1.25rem;
}

.tg-account-widget-subscription-row {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
    margin-top: 0.5rem;
}

.tg-account-widget-subscription {
    display: inline-flex;
    width: fit-content;
    max-width: 100%;
    align-items: center;
    border-radius: var(--radius-md);
    background: color-mix(in oklab, var(--primary-500) 10%, transparent);
    padding: 0.1875rem 0.5rem;
    color: var(--primary-700);
    font-size: var(--text-xs);
    font-weight: var(--font-weight-semibold);
    line-height: 1rem;
}

.tg-dashboard-stat-inside-now .fi-wi-stats-overview-stat-value {
    display: inline-block;
    color: var(--success-600);
    font-weight: var(--font-weight-bold);
    transform: scale(1.18);
    transform-origin: left center;
}

.tg-dashboard-stat-active-members .fi-icon {
    color: var(--success-500);
}

.tg-dashboard-stat-active-members .fi-wi-stats-overview-stat-content,
.tg-dashboard-stat-entries-today .fi-wi-stats-overview-stat-content,
.tg-dashboard-stat-spent-credits .fi-wi-stats-overview-stat-content,
.tg-dashboard-stat-inside-now .fi-wi-stats-overview-stat-content,
.tg-dashboard-stat-trainer-slots .fi-wi-stats-overview-stat-content {
    padding-right: 3.5rem;
}

.tg-dashboard-stat-active-members .fi-icon,
.tg-dashboard-stat-entries-today .fi-icon,
.tg-dashboard-stat-spent-credits .fi-icon,
.tg-dashboard-stat-inside-now .fi-icon,
.tg-dashboard-stat-trainer-slots .fi-icon {
    position: absolute;
    top: 50%;
    right: 1.5rem;
    width: 2.5rem;
    height: 2.5rem;
    box-sizing: border-box;
    border-radius: var(--radius-lg);
    overflow: hidden;
    padding: 0.5rem;
    transform: translateY(-50%);
}

.tg-dashboard-stat-entries-today .fi-icon {
    background: color-mix(in oklab, var(--info-500) 12%, transparent);
    color: var(--info-500);
}

.tg-dashboard-stat-spent-credits .fi-icon {
    background: color-mix(in oklab, var(--warning-500) 16%, transparent);
    color: var(--warning-500);
}

.tg-dashboard-stat-inside-now .fi-icon {
    background: color-mix(in oklab, var(--primary-500) 12%, transparent);
    color: var(--primary-500);
}

.tg-dashboard-stat-active-members .fi-icon {
    background: color-mix(in oklab, var(--success-500) 12%, transparent);
}

.tg-dashboard-stat-trainer-slots .fi-icon {
    background: color-mix(in oklab, var(--primary-500) 12%, transparent);
    color: var(--primary-500);
}

.dark .tg-dashboard-stat-inside-now .fi-wi-stats-overview-stat-value {
    color: var(--success-400);
}

.dark .tg-dashboard-stat-active-members .fi-icon {
    background: color-mix(in oklab, var(--success-400) 18%, transparent);
    color: var(--success-400);
}

.dark .tg-dashboard-stat-entries-today .fi-icon {
    background: color-mix(in oklab, var(--info-400) 18%, transparent);
    color: var(--info-400);
}

.dark .tg-dashboard-stat-spent-credits .fi-icon {
    background: color-mix(in oklab, var(--warning-400) 20%, transparent);
    color: var(--warning-400);
}

.dark .tg-dashboard-stat-inside-now .fi-icon {
    background: color-mix(in oklab, var(--primary-400) 18%, transparent);
    color: var(--primary-400);
}

.dark .tg-dashboard-stat-trainer-slots .fi-icon {
    background: color-mix(in oklab, var(--primary-400) 18%, transparent);
    color: var(--primary-400);
}

.dark .tg-account-widget-company-name {
    color: var(--color-gray-400);
}

.dark .tg-account-widget-subscription {
    background: color-mix(in oklab, var(--primary-400) 16%, transparent);
    color: var(--primary-300);
}

.tg-dashboard-brand-widget {
    display: flex;
    min-height: 11rem;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    text-align: center;
}

.tg-dashboard-brand-widget__logo {
    width: min(16rem, 100%);
    height: auto;
}

.tg-dashboard-brand-widget__logo-dark {
    display: none;
}

.dark .tg-dashboard-brand-widget__logo-light {
    display: none;
}

.dark .tg-dashboard-brand-widget__logo-dark {
    display: block;
}

.tg-dashboard-brand-widget__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.5rem 0.75rem;
    color: var(--color-gray-500);
    font-size: 0.875rem;
    line-height: 1.25rem;
}

.tg-dashboard-brand-widget__meta a {
    color: var(--primary-600);
    font-weight: 600;
    text-decoration: none;
}

.tg-dashboard-brand-widget__meta a:hover {
    color: var(--primary-500);
    text-decoration: underline;
    text-underline-offset: 0.1875rem;
}

.dark .tg-dashboard-brand-widget__meta {
    color: var(--color-gray-400);
}

.dark .tg-dashboard-brand-widget__meta a {
    color: var(--primary-400);
}

.tg-subscription-page {
    display: grid;
    gap: 1rem;
}

.tg-subscription-summary,
.tg-subscription-pending {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.tg-subscription-summary__eyebrow {
    color: var(--color-gray-500);
    font-size: var(--text-xs);
    font-weight: var(--font-weight-semibold);
    letter-spacing: 0;
    text-transform: uppercase;
}

.tg-subscription-summary__title {
    margin-top: 0.25rem;
    color: var(--color-gray-950);
    font-size: 1.5rem;
    font-weight: var(--font-weight-bold);
    line-height: 2rem;
}

.tg-subscription-summary__text,
.tg-subscription-pending__text,
.tg-subscription-paytr-note {
    color: var(--color-gray-600);
    font-size: var(--text-sm);
    line-height: 1.5rem;
}

.tg-subscription-summary__meta {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.5rem;
    text-align: right;
}

.tg-subscription-summary__date {
    color: var(--color-gray-500);
    font-size: var(--text-sm);
    line-height: 1.25rem;
}

.tg-subscription-pending {
    justify-content: flex-start;
}

.tg-subscription-pending .fi-btn {
    flex: none;
    margin-left: auto;
}

.tg-subscription-pending__title {
    color: var(--color-gray-950);
    font-size: var(--text-sm);
    font-weight: var(--font-weight-bold);
}

.tg-subscription-plans {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.tg-subscription-plans > .fi-section,
.tg-subscription-plans .fi-section-content-ctn,
.tg-subscription-plans .fi-section-content {
    height: 100%;
}

.tg-subscription-plan {
    display: flex;
    height: 100%;
    flex-direction: column;
    gap: 1rem;
}

.tg-subscription-plan__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
}

.tg-subscription-plan__name {
    color: var(--color-gray-950);
    font-size: 1.125rem;
    font-weight: var(--font-weight-bold);
    line-height: 1.5rem;
}

.tg-subscription-plan__limits,
.tg-subscription-plan__period {
    color: var(--color-gray-500);
    font-size: var(--text-xs);
    line-height: 1rem;
}

.tg-subscription-plan__prices {
    display: grid;
    gap: 0.375rem;
}

.tg-subscription-plan__price {
    color: var(--primary-700);
    font-size: 1.5rem;
    font-weight: var(--font-weight-bold);
    line-height: 2rem;
}

.tg-subscription-plan__price--secondary {
    color: var(--color-gray-700);
    font-size: 1rem;
    line-height: 1.5rem;
}

.tg-subscription-plan__features {
    display: grid;
    gap: 0.5rem;
    margin-top: 0.25rem;
    color: var(--color-gray-700);
    font-size: var(--text-sm);
    line-height: 1.25rem;
}

.tg-subscription-plan__features li {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
}

.tg-subscription-plan__feature-icon {
    width: 1rem;
    height: 1rem;
    flex: none;
    color: var(--success-500);
}

.tg-subscription-plan__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: auto;
}

.tg-subscription-badge {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    border-radius: var(--radius-md);
    padding: 0.1875rem 0.5rem;
    font-size: var(--text-xs);
    font-weight: var(--font-weight-semibold);
    line-height: 1rem;
}

.tg-subscription-badge--success {
    background: color-mix(in oklab, var(--success-500) 12%, transparent);
    color: var(--success-700);
}

.tg-subscription-badge--warning {
    background: color-mix(in oklab, var(--warning-500) 16%, transparent);
    color: var(--warning-700);
}

.tg-subscription-badge--info {
    background: color-mix(in oklab, var(--info-500) 12%, transparent);
    color: var(--info-700);
}

.tg-subscription-badge--danger {
    background: color-mix(in oklab, var(--danger-500) 12%, transparent);
    color: var(--danger-700);
}

.tg-subscription-badge--gray {
    background: color-mix(in oklab, var(--gray-500) 12%, transparent);
    color: var(--color-gray-700);
}

@media (max-width: 1024px) {
    .tg-subscription-plans {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .tg-subscription-summary {
        flex-direction: column;
    }

    .tg-subscription-pending {
        flex-direction: column;
    }

    .tg-subscription-summary__meta {
        align-items: flex-start;
        text-align: left;
    }

    .tg-subscription-pending .fi-btn {
        margin-left: 0;
    }
}

.dark .tg-subscription-summary__title,
.dark .tg-subscription-pending__title,
.dark .tg-subscription-plan__name {
    color: var(--color-gray-100);
}

.dark .tg-subscription-summary__eyebrow,
.dark .tg-subscription-summary__date,
.dark .tg-subscription-plan__limits,
.dark .tg-subscription-plan__period {
    color: var(--color-gray-400);
}

.dark .tg-subscription-summary__text,
.dark .tg-subscription-pending__text,
.dark .tg-subscription-paytr-note,
.dark .tg-subscription-plan__features {
    color: var(--color-gray-300);
}

.dark .tg-subscription-plan__price {
    color: var(--primary-300);
}

.dark .tg-subscription-plan__price--secondary {
    color: var(--color-gray-300);
}

.dark .tg-subscription-badge--success {
    color: var(--success-300);
}

.dark .tg-subscription-badge--warning {
    color: var(--warning-300);
}

.dark .tg-subscription-badge--info {
    color: var(--info-300);
}

.dark .tg-subscription-badge--danger {
    color: var(--danger-300);
}

.dark .tg-subscription-badge--gray {
    color: var(--color-gray-300);
}

.tg-branch-occupancy {
    display: grid;
    gap: 0.5rem;
}

.tg-branch-occupancy__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    border-bottom: 1px solid color-mix(in oklab, var(--gray-950) 8%, transparent);
    padding-block: 0.625rem;
}

.tg-branch-occupancy__row:last-child {
    border-bottom: 0;
}

.tg-branch-occupancy__name {
    color: var(--gray-800);
    font-size: var(--text-sm);
    font-weight: var(--font-weight-medium);
}

.tg-branch-occupancy__count {
    display: inline-flex;
    min-width: 2rem;
    justify-content: center;
    border-radius: var(--radius-md);
    background: color-mix(in oklab, var(--success-500) 14%, transparent);
    padding: 0.125rem 0.5rem;
    color: var(--success-700);
    font-size: var(--text-sm);
    font-weight: var(--font-weight-semibold);
}

.tg-branch-occupancy__count--empty {
    background: transparent;
    color: var(--gray-400);
    font-weight: var(--font-weight-medium);
}

.tg-branch-occupancy__empty {
    color: var(--gray-500);
    font-size: var(--text-sm);
}

.dark .tg-branch-occupancy__row {
    border-bottom-color: color-mix(in oklab, var(--color-white) 10%, transparent);
}

.dark .tg-branch-occupancy__name {
    color: var(--gray-100);
}

.dark .tg-branch-occupancy__count {
    background: color-mix(in oklab, var(--success-400) 18%, transparent);
    color: var(--success-300);
}

.dark .tg-branch-occupancy__count--empty {
    background: transparent;
    color: var(--gray-500);
}

.dark .tg-branch-occupancy__empty {
    color: var(--gray-400);
}

.tg-recent-check-ins {
    display: grid;
    gap: 0.5rem;
}

.tg-recent-check-ins__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    border-bottom: 1px solid color-mix(in oklab, var(--gray-950) 8%, transparent);
    padding-block: 0.75rem;
}

.tg-recent-check-ins__row:last-child {
    border-bottom: 0;
}

.tg-recent-check-ins__identity {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 0.75rem;
}

.tg-recent-check-ins__avatar {
    display: inline-flex;
    width: 2.5rem;
    height: 2.5rem;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: var(--radius-full);
    font-size: var(--text-sm);
    font-weight: var(--font-weight-semibold);
}

.tg-recent-check-ins__avatar--female {
    background: color-mix(in oklab, var(--danger-300) 12%, var(--gray-100));
    color: color-mix(in oklab, var(--danger-400) 45%, var(--gray-500));
}

.tg-recent-check-ins__avatar--male {
    background: color-mix(in oklab, var(--info-300) 12%, var(--gray-100));
    color: color-mix(in oklab, var(--info-500) 45%, var(--gray-500));
}

.tg-recent-check-ins__avatar--neutral {
    background: var(--gray-100);
    color: var(--gray-500);
}

.tg-recent-check-ins__avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.tg-recent-check-ins__main {
    display: grid;
    min-width: 0;
    gap: 0.125rem;
}

.tg-recent-check-ins__member {
    overflow: hidden;
    color: var(--gray-900);
    font-size: var(--text-sm);
    font-weight: var(--font-weight-semibold);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tg-recent-check-ins__meta {
    overflow: hidden;
    color: var(--gray-500);
    font-size: var(--text-xs);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tg-recent-check-ins__side {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    gap: 0.5rem;
}

.tg-recent-check-ins__time {
    color: var(--gray-500);
    font-size: var(--text-xs);
}

.tg-recent-check-ins__type {
    display: inline-flex;
    align-items: center;
    border-radius: var(--radius-md);
    background: color-mix(in oklab, var(--primary-500) 12%, transparent);
    padding: 0.125rem 0.5rem;
    color: var(--primary-700);
    font-size: var(--text-xs);
    font-weight: var(--font-weight-semibold);
}

.tg-recent-check-ins__empty {
    color: var(--gray-500);
    font-size: var(--text-sm);
}

.dark .tg-recent-check-ins__row {
    border-bottom-color: color-mix(in oklab, var(--color-white) 10%, transparent);
}

.dark .tg-recent-check-ins__member {
    color: var(--gray-100);
}

.dark .tg-recent-check-ins__avatar--female {
    background: color-mix(in oklab, var(--danger-400) 12%, var(--gray-800));
    color: color-mix(in oklab, var(--danger-300) 45%, var(--gray-400));
}

.dark .tg-recent-check-ins__avatar--male {
    background: color-mix(in oklab, var(--info-400) 12%, var(--gray-800));
    color: color-mix(in oklab, var(--info-300) 45%, var(--gray-400));
}

.dark .tg-recent-check-ins__avatar--neutral {
    background: var(--gray-800);
    color: var(--gray-400);
}

.dark .tg-recent-check-ins__meta,
.dark .tg-recent-check-ins__time,
.dark .tg-recent-check-ins__empty {
    color: var(--gray-400);
}

.dark .tg-recent-check-ins__type {
    background: color-mix(in oklab, var(--primary-400) 18%, transparent);
    color: var(--primary-300);
}

.tg-dashboard-schedule-list {
    display: grid;
    gap: 0.5rem;
}

.tg-dashboard-schedule-widget > .fi-section,
.tg-dashboard-schedule-widget .fi-section-content-ctn,
.tg-dashboard-schedule-widget .fi-section-content {
    height: 100%;
}

.tg-dashboard-schedule-widget .fi-section-content {
    min-height: 18rem;
}

.tg-dashboard-schedule-list__row {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    border-bottom: 1px solid color-mix(in oklab, var(--gray-950) 8%, transparent);
    padding-block: 0.75rem;
    text-decoration: none;
}

.tg-dashboard-schedule-list__row:last-child {
    border-bottom: 0;
}

.tg-dashboard-schedule-list__row:hover .tg-dashboard-schedule-list__title {
    color: var(--primary-600);
}

.tg-dashboard-schedule-list__row--danger {
    border-radius: var(--radius-md);
    background: color-mix(in oklab, var(--danger-500) 7%, transparent);
    padding-inline: 0.5rem;
}

.tg-dashboard-schedule-list__row--warning {
    border-radius: var(--radius-md);
    background: color-mix(in oklab, var(--warning-500) 8%, transparent);
    padding-inline: 0.5rem;
}

.tg-dashboard-schedule-list__row--danger .tg-dashboard-schedule-list__title {
    color: var(--danger-700);
}

.tg-dashboard-schedule-list__row--warning .tg-dashboard-schedule-list__title {
    color: var(--warning-700);
}

.tg-dashboard-schedule-list__time {
    display: grid;
    width: 4rem;
    flex: 0 0 auto;
    gap: 0.125rem;
    color: var(--gray-500);
    font-size: var(--text-xs);
    line-height: 1rem;
}

.tg-dashboard-schedule-list__time strong {
    color: var(--gray-900);
    font-size: var(--text-sm);
    line-height: 1.25rem;
}

.tg-dashboard-schedule-list__main {
    display: grid;
    min-width: 0;
    flex: 1 1 auto;
    gap: 0.125rem;
}

.tg-dashboard-schedule-list__title,
.tg-dashboard-schedule-list__meta {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tg-dashboard-schedule-list__title {
    color: var(--gray-900);
    font-size: var(--text-sm);
    font-weight: var(--font-weight-semibold);
}

.tg-dashboard-schedule-list__meta {
    color: var(--gray-500);
    font-size: var(--text-xs);
}

.tg-dashboard-schedule-list__badge {
    display: inline-flex;
    min-width: 2.25rem;
    flex: 0 0 auto;
    justify-content: center;
    border-radius: var(--radius-md);
    background: color-mix(in oklab, var(--primary-500) 12%, transparent);
    padding: 0.125rem 0.5rem;
    color: var(--primary-700);
    font-size: var(--text-xs);
    font-weight: var(--font-weight-semibold);
}

.tg-dashboard-schedule-list__badge--danger {
    background: color-mix(in oklab, var(--danger-500) 12%, transparent);
    color: var(--danger-700);
}

.tg-dashboard-schedule-list__badge--warning {
    background: color-mix(in oklab, var(--warning-500) 16%, transparent);
    color: var(--warning-700);
}

.tg-dashboard-schedule-list__badge--success {
    background: color-mix(in oklab, var(--success-500) 14%, transparent);
    color: var(--success-700);
}

.tg-dashboard-schedule-list__empty {
    color: var(--gray-500);
    font-size: var(--text-sm);
}

.dark .tg-dashboard-schedule-list__row {
    border-bottom-color: color-mix(in oklab, var(--color-white) 10%, transparent);
}

.dark .tg-dashboard-schedule-list__row:hover .tg-dashboard-schedule-list__title {
    color: var(--primary-300);
}

.dark .tg-dashboard-schedule-list__row--danger {
    background: color-mix(in oklab, var(--danger-400) 12%, transparent);
}

.dark .tg-dashboard-schedule-list__row--warning {
    background: color-mix(in oklab, var(--warning-400) 12%, transparent);
}

.dark .tg-dashboard-schedule-list__row--danger .tg-dashboard-schedule-list__title {
    color: var(--danger-300);
}

.dark .tg-dashboard-schedule-list__row--warning .tg-dashboard-schedule-list__title {
    color: var(--warning-300);
}

.dark .tg-dashboard-schedule-list__time,
.dark .tg-dashboard-schedule-list__meta,
.dark .tg-dashboard-schedule-list__empty {
    color: var(--gray-400);
}

.dark .tg-dashboard-schedule-list__time strong,
.dark .tg-dashboard-schedule-list__title {
    color: var(--gray-100);
}

.dark .tg-dashboard-schedule-list__badge {
    background: color-mix(in oklab, var(--primary-400) 18%, transparent);
    color: var(--primary-300);
}

.dark .tg-dashboard-schedule-list__badge--danger {
    background: color-mix(in oklab, var(--danger-400) 18%, transparent);
    color: var(--danger-300);
}

.dark .tg-dashboard-schedule-list__badge--warning {
    background: color-mix(in oklab, var(--warning-400) 20%, transparent);
    color: var(--warning-300);
}

.dark .tg-dashboard-schedule-list__badge--success {
    background: color-mix(in oklab, var(--success-400) 18%, transparent);
    color: var(--success-300);
}

.tg-repeater-add-in-label > .fi-fo-repeater-add {
    display: none;
}

.tg-repeater-add-in-label > .fi-fo-table-repeater-add {
    display: none;
}

.tg-repeater-add-in-label > .fi-fo-repeater-items > .fi-fo-repeater-item {
    border: 1px solid color-mix(in oklab, var(--gray-500) 18%, transparent);
    background: color-mix(in oklab, var(--gray-500) 6%, transparent);
}

.dark .tg-repeater-add-in-label > .fi-fo-repeater-items > .fi-fo-repeater-item {
    border-color: color-mix(in oklab, var(--color-white) 12%, transparent);
    background: color-mix(in oklab, var(--color-white) 5%, transparent);
}

.tg-trainer-calendar {
    display: grid;
    gap: 0.875rem;
}

.tg-trainer-calendar__toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.tg-trainer-calendar-header {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: center;
    gap: 0.75rem 1rem;
    flex-wrap: wrap;
}

.tg-trainer-calendar-header__nav {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.tg-trainer-calendar__month {
    color: var(--gray-950);
    font-size: var(--text-lg);
    font-weight: var(--font-weight-bold);
}

.tg-trainer-calendar__nav {
    border-radius: var(--radius-md);
    background: color-mix(in oklab, var(--gray-500) 9%, transparent);
    padding: 0.375rem 0.75rem;
    color: var(--gray-700);
    font-size: var(--text-sm);
    font-weight: var(--font-weight-semibold);
}

.tg-trainer-calendar__nav:hover {
    background: color-mix(in oklab, var(--primary-500) 12%, transparent);
    color: var(--primary-700);
}

.tg-trainer-calendar__bulk-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
    margin-inline-start: auto;
}

.tg-trainer-calendar__selection-count {
    border-radius: var(--radius-md);
    background: color-mix(in oklab, var(--primary-500) 10%, transparent);
    padding: 0.25rem 0.5rem;
    color: var(--primary-700);
    font-size: var(--text-xs);
    font-weight: var(--font-weight-semibold);
}

.tg-trainer-calendar__bulk-link,
.tg-trainer-calendar__bulk-danger {
    border-radius: var(--radius-md);
    padding: 0.375rem 0.625rem;
    font-size: var(--text-xs);
    font-weight: var(--font-weight-semibold);
}

.tg-trainer-calendar__bulk-link {
    background: color-mix(in oklab, var(--gray-500) 8%, transparent);
    color: var(--gray-700);
}

.tg-trainer-calendar__bulk-link:hover {
    background: color-mix(in oklab, var(--primary-500) 12%, transparent);
    color: var(--primary-700);
}

.tg-trainer-calendar__bulk-danger {
    background: color-mix(in oklab, var(--danger-500) 12%, transparent);
    color: var(--danger-700);
}

.tg-trainer-calendar__bulk-danger:hover {
    background: color-mix(in oklab, var(--danger-500) 18%, transparent);
}

.tg-trainer-calendar__bulk-danger--disabled,
.tg-trainer-calendar__bulk-danger:disabled {
    cursor: not-allowed;
    opacity: 0.5;
}

.tg-trainer-calendar__weekdays,
.tg-trainer-calendar__grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
}

.tg-trainer-calendar-legend {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 0.375rem 0.5rem;
}

.tg-trainer-calendar-legend__item {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    border-radius: var(--radius-md);
    background: color-mix(in oklab, var(--gray-500) 7%, transparent);
    padding: 0.1875rem 0.4375rem;
    color: var(--gray-600);
    font-size: var(--text-xs);
    font-weight: var(--font-weight-semibold);
}

.tg-trainer-calendar-legend__swatch {
    width: 0.875rem;
    height: 0.875rem;
    flex: 0 0 auto;
    border-radius: var(--radius-sm);
    box-shadow: inset 0 0 0 1px color-mix(in oklab, var(--color-white) 35%, transparent);
}

.tg-trainer-calendar-legend__swatch--available {
    background: var(--success-500);
}

.tg-trainer-calendar-legend__swatch--booked {
    background: var(--warning-500);
}

.tg-trainer-calendar-legend__swatch--blocked {
    background: var(--gray-500);
}

.tg-trainer-calendar-legend__swatch--cancelled {
    background: var(--danger-500);
}

.tg-trainer-schedule-modal-close-action {
    margin-inline-start: auto;
}

.tg-trainer-calendar__weekdays {
    gap: 0.375rem;
    color: var(--gray-500);
    font-size: var(--text-xs);
    font-weight: var(--font-weight-semibold);
    text-align: center;
}

.tg-trainer-calendar__grid {
    border: 1px solid color-mix(in oklab, var(--gray-500) 18%, transparent);
    border-radius: var(--radius-lg);
}

.tg-trainer-calendar__day {
    min-height: 9.5rem;
    border-right: 1px solid color-mix(in oklab, var(--gray-500) 14%, transparent);
    border-bottom: 1px solid color-mix(in oklab, var(--gray-500) 14%, transparent);
    background: var(--color-white);
    padding: 0.5rem;
}

.tg-trainer-calendar__day:nth-child(7n) {
    border-right: 0;
}

.tg-trainer-calendar__day:nth-last-child(-n + 7) {
    border-bottom: 0;
}

.tg-trainer-calendar__day--muted {
    background: color-mix(in oklab, var(--gray-500) 4%, transparent);
}

.tg-trainer-calendar__day--today {
    box-shadow: inset 0 0 0 2px color-mix(in oklab, var(--primary-500) 42%, transparent);
}

.tg-trainer-calendar__day--drag-target {
    background:
        repeating-linear-gradient(
            135deg,
            color-mix(in oklab, var(--gray-500) 9%, transparent) 0,
            color-mix(in oklab, var(--gray-500) 9%, transparent) 0.375rem,
            transparent 0.375rem,
            transparent 0.75rem
        ),
        color-mix(in oklab, var(--gray-500) 5%, var(--color-white));
    box-shadow: inset 0 0 0 2px color-mix(in oklab, var(--gray-500) 45%, transparent);
}

.tg-trainer-calendar__day:has(.tg-trainer-calendar-slot):hover {
    background: color-mix(in oklab, var(--primary-500) 3%, var(--color-white));
}

.tg-trainer-calendar__day-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.5rem;
    gap: 0.5rem;
}

.tg-trainer-calendar__date {
    color: var(--gray-700);
    font-size: var(--text-sm);
    font-weight: var(--font-weight-bold);
}

.tg-trainer-calendar__add-slot {
    display: inline-flex;
    width: 1.375rem;
    height: 1.375rem;
    align-items: center;
    justify-content: center;
    border: 1px solid color-mix(in oklab, var(--primary-500) 22%, transparent);
    border-radius: var(--radius-md);
    background: color-mix(in oklab, var(--primary-500) 8%, transparent);
    color: var(--primary-700);
    font-size: var(--text-sm);
    font-weight: var(--font-weight-bold);
    line-height: 1;
}

.tg-trainer-calendar__add-slot:hover {
    background: color-mix(in oklab, var(--primary-500) 14%, transparent);
    border-color: color-mix(in oklab, var(--primary-500) 36%, transparent);
}

.tg-trainer-calendar__slots {
    display: grid;
    gap: 0.375rem;
}

.tg-trainer-calendar__empty {
    color: var(--gray-400);
    font-size: var(--text-xs);
}

.tg-trainer-calendar-slot {
    display: grid;
    position: relative;
    width: 100%;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.375rem;
    border: 1px solid transparent;
    border-radius: var(--radius-md);
    padding: 0.375rem;
    cursor: grab;
    text-align: start;
    text-decoration: none;
}

.tg-trainer-calendar--bulk-delete .tg-trainer-calendar__grid {
    background: color-mix(in oklab, var(--gray-500) 4%, transparent);
}

.tg-trainer-calendar--bulk-delete .tg-trainer-calendar-slot {
    cursor: pointer;
}

.tg-trainer-calendar-slot--bulk-disabled {
    cursor: not-allowed;
    filter: grayscale(0.75);
    opacity: 0.28;
}

.tg-trainer-calendar-slot--bulk-selectable {
    box-shadow: 0 0 0 1px color-mix(in oklab, var(--primary-500) 20%, transparent);
}

.tg-trainer-calendar-slot--bulk-selected {
    box-shadow:
        0 0 0 2px color-mix(in oklab, var(--primary-500) 58%, transparent),
        0 0 0 4px color-mix(in oklab, var(--primary-500) 12%, transparent);
}

.tg-trainer-calendar-slot__check {
    display: inline-flex;
    position: absolute;
    top: 0.25rem;
    right: 0.25rem;
    width: 1.125rem;
    height: 1.125rem;
    align-items: center;
    justify-content: center;
    border: 1px solid color-mix(in oklab, var(--primary-500) 48%, transparent);
    border-radius: var(--radius-sm);
    background: var(--color-white);
    color: var(--primary-700);
    font-size: 0.75rem;
    font-weight: var(--font-weight-bold);
    line-height: 1;
}

.tg-trainer-calendar-slot__popover {
    position: absolute;
    z-index: 30;
    bottom: calc(100% + 0.5rem);
    left: 0;
    display: grid;
    min-width: min(18rem, 82vw);
    max-width: min(22rem, 88vw);
    gap: 0.375rem;
    border: 1px solid color-mix(in oklab, var(--gray-500) 28%, transparent);
    border-radius: var(--radius-lg);
    background: color-mix(in oklab, var(--gray-100) 72%, var(--color-white));
    box-shadow:
        0 1rem 2.5rem color-mix(in oklab, var(--gray-900) 18%, transparent),
        0 0 0 1px color-mix(in oklab, var(--color-white) 80%, transparent) inset;
    color: var(--gray-700);
    opacity: 0;
    padding: 0.625rem;
    pointer-events: none;
    text-align: start;
    transform: translateY(0.25rem);
    transition:
        opacity 120ms ease,
        transform 120ms ease;
}

.tg-trainer-calendar-slot__popover::after {
    position: absolute;
    bottom: -0.3125rem;
    left: 0.875rem;
    width: 0.625rem;
    height: 0.625rem;
    border-right: 1px solid color-mix(in oklab, var(--gray-500) 28%, transparent);
    border-bottom: 1px solid color-mix(in oklab, var(--gray-500) 28%, transparent);
    background: color-mix(in oklab, var(--gray-100) 72%, var(--color-white));
    content: "";
    transform: rotate(45deg);
}

.tg-trainer-calendar-slot:hover .tg-trainer-calendar-slot__popover,
.tg-trainer-calendar-slot:focus-visible .tg-trainer-calendar-slot__popover {
    opacity: 1;
    transform: translateY(0);
}

.tg-trainer-calendar--dragging .tg-trainer-calendar-slot__popover {
    display: none;
}

.tg-trainer-calendar-slot__popover-row {
    display: grid;
    gap: 0.125rem;
}

.tg-trainer-calendar-slot__popover-label {
    color: var(--gray-500);
    font-size: 0.6875rem;
    font-weight: var(--font-weight-semibold);
}

.tg-trainer-calendar-slot__popover-value {
    color: var(--gray-800);
    font-size: var(--text-xs);
    font-weight: var(--font-weight-semibold);
    line-height: 1.1rem;
}

.tg-trainer-calendar-slot:hover {
    border-color: color-mix(in oklab, currentColor 22%, transparent);
}

.tg-trainer-calendar-slot:active {
    cursor: grabbing;
}

.tg-trainer-calendar-slot__body {
    display: grid;
    min-width: 0;
    gap: 0.0625rem;
}

.tg-trainer-calendar-slot__time,
.tg-trainer-calendar-slot__trainer,
.tg-trainer-calendar-slot__branch {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tg-trainer-calendar-slot__time {
    font-size: var(--text-xs);
    font-weight: var(--font-weight-bold);
}

.tg-trainer-calendar-slot__trainer {
    font-size: var(--text-xs);
    font-weight: var(--font-weight-medium);
}

.tg-trainer-calendar-slot__branch {
    color: color-mix(in oklab, currentColor 72%, transparent);
    font-size: 0.6875rem;
}

.tg-trainer-calendar-slot__capacity {
    border-radius: var(--radius-sm);
    background: color-mix(in oklab, currentColor 11%, transparent);
    padding: 0.0625rem 0.25rem;
    font-size: 0.6875rem;
    font-weight: var(--font-weight-bold);
}

.tg-trainer-calendar-slot--available {
    background: color-mix(in oklab, var(--success-500) 9%, transparent);
    color: var(--success-700);
}

.tg-trainer-calendar-slot--booked {
    background: color-mix(in oklab, var(--warning-500) 13%, transparent);
    color: var(--warning-700);
}

.tg-trainer-calendar-slot--blocked {
    background: color-mix(in oklab, var(--gray-500) 12%, transparent);
    color: var(--gray-600);
}

.tg-trainer-calendar-slot--cancelled {
    background: color-mix(in oklab, var(--danger-500) 10%, transparent);
    color: var(--danger-700);
    text-decoration: line-through;
}

.tg-trainer-calendar-slot--past {
    border-color: color-mix(in oklab, var(--gray-500) 18%, transparent);
    border-style: dashed;
    cursor: default;
    box-shadow:
        inset 0.25rem 0 0 currentColor,
        inset 0 0 0 999px color-mix(in oklab, var(--gray-500) 10%, transparent);
}

.tg-trainer-calendar-slot--past .tg-trainer-calendar-slot__body,
.tg-trainer-calendar-slot--past .tg-trainer-calendar-slot__capacity {
    opacity: 0.64;
}

.dark .tg-trainer-calendar__month {
    color: var(--gray-100);
}

.dark .tg-trainer-calendar__nav {
    background: color-mix(in oklab, var(--color-white) 8%, transparent);
    color: var(--gray-300);
}

.dark .tg-trainer-calendar__nav:hover {
    background: color-mix(in oklab, var(--primary-400) 18%, transparent);
    color: var(--primary-300);
}

.dark .tg-trainer-calendar__selection-count {
    background: color-mix(in oklab, var(--primary-400) 18%, transparent);
    color: var(--primary-300);
}

.dark .tg-trainer-calendar__bulk-link {
    background: color-mix(in oklab, var(--color-white) 8%, transparent);
    color: var(--gray-300);
}

.dark .tg-trainer-calendar__bulk-link:hover {
    background: color-mix(in oklab, var(--primary-400) 18%, transparent);
    color: var(--primary-300);
}

.dark .tg-trainer-calendar__bulk-danger {
    background: color-mix(in oklab, var(--danger-400) 18%, transparent);
    color: var(--danger-300);
}

.dark .tg-trainer-calendar__bulk-danger:hover {
    background: color-mix(in oklab, var(--danger-400) 24%, transparent);
}

.dark .tg-trainer-calendar__grid {
    border-color: color-mix(in oklab, var(--color-white) 12%, transparent);
}

.dark .tg-trainer-calendar--bulk-delete .tg-trainer-calendar__grid {
    background: color-mix(in oklab, var(--color-white) 4%, transparent);
}

.dark .tg-trainer-calendar__day {
    border-color: color-mix(in oklab, var(--color-white) 9%, transparent);
    background: var(--gray-900);
}

.dark .tg-trainer-calendar__day--muted {
    background: color-mix(in oklab, var(--color-white) 4%, transparent);
}

.dark .tg-trainer-calendar__day--drag-target {
    background:
        repeating-linear-gradient(
            135deg,
            color-mix(in oklab, var(--color-white) 9%, transparent) 0,
            color-mix(in oklab, var(--color-white) 9%, transparent) 0.375rem,
            transparent 0.375rem,
            transparent 0.75rem
        ),
        color-mix(in oklab, var(--color-white) 5%, var(--gray-900));
    box-shadow: inset 0 0 0 2px color-mix(in oklab, var(--color-white) 24%, transparent);
}

.dark .tg-trainer-calendar__day:has(.tg-trainer-calendar-slot):hover {
    background: color-mix(in oklab, var(--primary-400) 6%, var(--gray-900));
}

.dark .tg-trainer-calendar__date {
    color: var(--gray-200);
}

.dark .tg-trainer-calendar__add-slot {
    border-color: color-mix(in oklab, var(--primary-400) 28%, transparent);
    background: color-mix(in oklab, var(--primary-400) 12%, transparent);
    color: var(--primary-300);
}

.dark .tg-trainer-calendar__add-slot:hover {
    background: color-mix(in oklab, var(--primary-400) 18%, transparent);
    border-color: color-mix(in oklab, var(--primary-400) 42%, transparent);
}

.dark .tg-trainer-calendar__empty,
.dark .tg-trainer-calendar__weekdays {
    color: var(--gray-400);
}

.dark .tg-trainer-calendar-legend__item {
    background: color-mix(in oklab, var(--color-white) 7%, transparent);
    color: var(--gray-300);
}

.dark .tg-trainer-calendar-legend__swatch--available {
    background: var(--success-400);
}

.dark .tg-trainer-calendar-legend__swatch--booked {
    background: var(--warning-400);
}

.dark .tg-trainer-calendar-legend__swatch--blocked {
    background: var(--gray-400);
}

.dark .tg-trainer-calendar-legend__swatch--cancelled {
    background: var(--danger-400);
}

.dark .tg-trainer-calendar-slot--available {
    background: color-mix(in oklab, var(--success-400) 14%, transparent);
    color: var(--success-300);
}

.dark .tg-trainer-calendar-slot--booked {
    background: color-mix(in oklab, var(--warning-400) 16%, transparent);
    color: var(--warning-300);
}

.dark .tg-trainer-calendar-slot--blocked {
    background: color-mix(in oklab, var(--color-white) 10%, transparent);
    color: var(--gray-300);
}

.dark .tg-trainer-calendar-slot--cancelled {
    background: color-mix(in oklab, var(--danger-400) 14%, transparent);
    color: var(--danger-300);
}

.dark .tg-trainer-calendar-slot--past {
    border-color: color-mix(in oklab, var(--color-white) 10%, transparent);
    box-shadow:
        inset 0.25rem 0 0 currentColor,
        inset 0 0 0 999px color-mix(in oklab, var(--color-white) 7%, transparent);
}

.dark .tg-trainer-calendar-slot__check {
    background: var(--gray-900);
    color: var(--primary-300);
}

.dark .tg-trainer-calendar-slot__popover {
    border-color: color-mix(in oklab, var(--color-white) 22%, transparent);
    background: color-mix(in oklab, var(--color-white) 7%, var(--gray-900));
    box-shadow:
        0 1rem 2.5rem color-mix(in oklab, var(--color-black) 42%, transparent),
        0 0 0 1px color-mix(in oklab, var(--color-white) 8%, transparent) inset;
    color: var(--gray-200);
}

.dark .tg-trainer-calendar-slot__popover::after {
    border-color: color-mix(in oklab, var(--color-white) 22%, transparent);
    background: color-mix(in oklab, var(--color-white) 7%, var(--gray-900));
}

.dark .tg-trainer-calendar-slot__popover-label {
    color: var(--gray-400);
}

.dark .tg-trainer-calendar-slot__popover-value {
    color: var(--gray-100);
}

.tg-trainer-log-timeline {
    display: grid;
    gap: 0.875rem;
}

.tg-trainer-log-timeline__item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.75rem;
}

.tg-trainer-log-timeline__marker {
    width: 0.75rem;
    height: 0.75rem;
    margin-top: 0.375rem;
    border: 2px solid color-mix(in oklab, var(--primary-500) 76%, transparent);
    border-radius: 999px;
    background: var(--color-white);
    box-shadow: 0 0 0 0.25rem color-mix(in oklab, var(--primary-500) 10%, transparent);
}

.tg-trainer-log-timeline__body {
    display: grid;
    gap: 0.375rem;
    border: 1px solid color-mix(in oklab, var(--gray-500) 14%, transparent);
    border-radius: var(--radius-lg);
    background: color-mix(in oklab, var(--gray-500) 3%, var(--color-white));
    padding: 0.75rem;
}

.tg-trainer-log-timeline__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.tg-trainer-log-timeline__title {
    color: var(--gray-900);
    font-size: var(--text-sm);
    font-weight: var(--font-weight-bold);
}

.tg-trainer-log-timeline__date,
.tg-trainer-log-timeline__meta {
    color: var(--gray-500);
    font-size: var(--text-xs);
}

.tg-trainer-log-timeline__note {
    color: var(--gray-700);
    font-size: var(--text-sm);
    line-height: 1.35rem;
}

.tg-trainer-log-timeline__changes {
    display: grid;
    gap: 0.25rem;
}

.tg-trainer-log-timeline__change {
    display: grid;
    gap: 0.125rem;
    border-radius: var(--radius-md);
    background: color-mix(in oklab, var(--gray-500) 6%, transparent);
    padding: 0.375rem 0.5rem;
}

.tg-trainer-log-timeline__change-label {
    color: var(--gray-500);
    font-size: 0.6875rem;
    font-weight: var(--font-weight-semibold);
}

.tg-trainer-log-timeline__change-values {
    color: var(--gray-800);
    font-size: var(--text-xs);
    font-weight: var(--font-weight-semibold);
    overflow-wrap: anywhere;
}

.tg-trainer-log-timeline__empty {
    border: 1px dashed color-mix(in oklab, var(--gray-500) 22%, transparent);
    border-radius: var(--radius-lg);
    color: var(--gray-500);
    font-size: var(--text-sm);
    padding: 1rem;
    text-align: center;
}

.dark .tg-trainer-log-timeline__marker {
    background: var(--gray-900);
}

.dark .tg-trainer-log-timeline__body {
    border-color: color-mix(in oklab, var(--color-white) 12%, transparent);
    background: color-mix(in oklab, var(--color-white) 6%, transparent);
}

.dark .tg-trainer-log-timeline__title {
    color: var(--gray-100);
}

.dark .tg-trainer-log-timeline__date,
.dark .tg-trainer-log-timeline__meta,
.dark .tg-trainer-log-timeline__change-label {
    color: var(--gray-400);
}

.dark .tg-trainer-log-timeline__note,
.dark .tg-trainer-log-timeline__change-values {
    color: var(--gray-200);
}

.dark .tg-trainer-log-timeline__change {
    background: color-mix(in oklab, var(--color-white) 7%, transparent);
}

.dark .tg-trainer-log-timeline__empty {
    border-color: color-mix(in oklab, var(--color-white) 18%, transparent);
    color: var(--gray-400);
}

.tg-trainer-booked-members {
    display: grid;
    gap: 0.375rem;
}

.tg-trainer-booked-members__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    width: 100%;
}

.tg-trainer-booked-members__label {
    color: var(--gray-700);
    flex: 0 0 auto;
    font-size: var(--text-sm);
    font-weight: var(--font-weight-medium);
}

.tg-trainer-booked-members__badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.375rem;
}

.tg-trainer-booked-members__legend {
    display: flex;
    flex-wrap: wrap;
    gap: 0.375rem 0.625rem;
    justify-content: flex-end;
    margin-inline-start: auto;
    text-align: end;
}

.tg-trainer-booked-members__legend-item {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    color: var(--gray-500);
    font-size: var(--text-xs);
    font-weight: var(--font-weight-medium);
}

.tg-trainer-booked-members__legend-swatch {
    width: 0.625rem;
    height: 0.625rem;
    border-radius: var(--radius-sm);
}

.tg-trainer-booked-members__legend-swatch--booked {
    background: color-mix(in oklab, var(--primary-500) 42%, transparent);
}

.tg-trainer-booked-members__legend-swatch--no-show {
    background: color-mix(in oklab, var(--gray-500) 42%, transparent);
}

.tg-trainer-booked-members__badge {
    display: inline-flex;
    align-items: center;
    border: 0;
    border-radius: var(--radius-md);
    background: color-mix(in oklab, var(--primary-500) 12%, transparent);
    cursor: pointer;
    padding: 0.1875rem 0.5rem;
    color: var(--primary-700);
    font-size: var(--text-xs);
    font-weight: var(--font-weight-semibold);
    line-height: 1rem;
}

.tg-trainer-booked-members__badge--no_show {
    background: color-mix(in oklab, var(--gray-500) 12%, transparent);
    color: var(--gray-600);
    cursor: default;
}

.tg-trainer-booked-members__badge:hover {
    background: color-mix(in oklab, var(--primary-500) 18%, transparent);
}

.tg-trainer-booked-members__badge--no_show:hover {
    background: color-mix(in oklab, var(--gray-500) 12%, transparent);
}

.tg-trainer-booked-members__badge:focus-visible {
    outline: 2px solid var(--primary-500);
    outline-offset: 2px;
}

.tg-trainer-booked-members__empty {
    color: var(--gray-400);
    font-size: var(--text-sm);
}

.dark .tg-trainer-booked-members__label {
    color: var(--gray-200);
}

.dark .tg-trainer-booked-members__legend-item {
    color: var(--gray-400);
}

.dark .tg-trainer-booked-members__badge {
    background: color-mix(in oklab, var(--primary-400) 18%, transparent);
    color: var(--primary-300);
}

.dark .tg-trainer-booked-members__badge--no_show {
    background: color-mix(in oklab, var(--gray-400) 14%, transparent);
    color: var(--gray-300);
}

.dark .tg-trainer-booked-members__badge:hover {
    background: color-mix(in oklab, var(--primary-400) 24%, transparent);
}

.dark .tg-trainer-booked-members__badge--no_show:hover {
    background: color-mix(in oklab, var(--gray-400) 14%, transparent);
}

.dark .tg-trainer-booked-members__empty {
    color: var(--gray-400);
}

@media (max-width: 640px) {
    .tg-recent-check-ins__row {
        align-items: flex-start;
        flex-direction: column;
        gap: 0.5rem;
    }

    .tg-recent-check-ins__side {
        flex-wrap: wrap;
    }

    .tg-trainer-calendar__weekdays {
        display: none;
    }

    .tg-trainer-calendar__grid {
        display: grid;
        grid-template-columns: 1fr;
    }

    .tg-trainer-calendar__day,
    .tg-trainer-calendar__day:nth-child(7n),
    .tg-trainer-calendar__day:nth-last-child(-n + 7) {
        border-right: 0;
        border-bottom: 1px solid color-mix(in oklab, var(--gray-500) 14%, transparent);
    }

    .tg-trainer-calendar__toolbar,
    .tg-trainer-calendar-header {
        align-items: stretch;
        flex-direction: column;
    }

    .tg-trainer-calendar-header__nav {
        justify-content: space-between;
    }

    .tg-trainer-calendar-slot__popover {
        display: none;
    }
}
