@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap");

/*
ImpulzaFit Premium UI Library
Source design: designs/DESIGN-impulzafit-premium.md

Refactor target:
- Use CSS variables and fc-* component classes for all visual decisions.
- Use section accents only as small cues: fc-accent-brand, fc-accent-diet,
  fc-accent-routine, fc-accent-package, fc-accent-plan.
- Current icon choices from the design doc:
  clients fa-users, diets fa-utensils, routines fa-dumbbell,
  packages fa-box-open, plans fa-tags, objective fa-bullseye,
  status fa-circle-check.
*/

[x-cloak] {
    display: none !important;
}

html.dark {
    color-scheme: dark;
}

:root {
    --fc-bg: #f7f8f5;
    --fc-bg-end: #f7f8f5;
    --fc-bg-wash: rgba(53, 126, 168, 0.1);
    --fc-surface: rgba(255, 255, 255, 0.86);
    --fc-surface-solid: #ffffff;
    --fc-surface-soft: #f4f7f4;
    --fc-border: rgba(29, 41, 45, 0.1);
    --fc-border-strong: rgba(29, 41, 45, 0.18);
    --fc-text: #172023;
    --fc-text-on-light: #172023;
    --fc-muted: #637075;
    --fc-brand: #183b56;
    --fc-brand-strong: #102a43;
    --fc-brand-hover: #1f4e79;
    --fc-brand-action: #183b56;
    --fc-brand-soft: #ddecf6;
    --fc-brand-faint: #f1f7fb;
    --fc-brand-ring: rgba(53, 126, 168, 0.22);
    --fc-info: #357ea8;
    --fc-info-soft: #ddecf6;
    --fc-success: #2f8a6b;
    --fc-success-soft: #ddf3ea;
    --fc-warning: #b7791f;
    --fc-warning-soft: #fff2d7;
    --fc-danger: #c24a3a;
    --fc-danger-soft: #fce5e1;
    --fc-diet: #6faf7a;
    --fc-diet-soft: rgba(111, 175, 122, 0.16);
    --fc-routine: #c18a3a;
    --fc-routine-soft: rgba(193, 138, 58, 0.18);
    --fc-package: #5d8d91;
    --fc-package-soft: rgba(93, 141, 145, 0.16);
    --fc-plan: #a86b5a;
    --fc-plan-soft: rgba(168, 107, 90, 0.15);
    --fc-radius-xs: 6px;
    --fc-radius-sm: 8px;
    --fc-radius-md: 12px;
    --fc-radius-lg: 16px;
    --fc-radius-full: 9999px;
    --fc-control-height: 44px;
    --fc-icon-button-size: 40px;
    --fc-page-padding-desktop: 32px;
    --fc-page-padding-mobile: 16px;
    --fc-topbar-height: 72px;
    --fc-shadow-card: 0 1px 2px rgba(17, 23, 25, 0.04), 0 12px 30px rgba(17, 23, 25, 0.06);
    --fc-shadow-hover: 0 18px 44px rgba(17, 23, 25, 0.11);
    --fc-shadow-focus: 0 0 0 3px rgba(53, 126, 168, 0.22);
}

html.dark {
    --fc-bg: #090d0f;
    --fc-bg-end: #0e1416;
    --fc-bg-wash: rgba(127, 179, 213, 0.11);
    --fc-surface: rgba(23, 32, 35, 0.86);
    --fc-surface-solid: #12191c;
    --fc-surface-soft: #0e1416;
    --fc-border: rgba(225, 230, 231, 0.12);
    --fc-border-strong: rgba(225, 230, 231, 0.2);
    --fc-text: #f4f7f4;
    --fc-text-on-light: #172023;
    --fc-muted: #aab5b8;
    --fc-brand: #7fb3d5;
    --fc-brand-strong: #9cc6df;
    --fc-brand-hover: #9cc6df;
    --fc-brand-action: #7fb3d5;
    --fc-brand-soft: rgba(53, 126, 168, 0.2);
    --fc-brand-faint: rgba(53, 126, 168, 0.11);
    --fc-brand-ring: rgba(127, 179, 213, 0.24);
    --fc-info: #7fb3d5;
    --fc-info-soft: rgba(53, 126, 168, 0.18);
    --fc-success: #86d2ac;
    --fc-success-soft: rgba(47, 138, 107, 0.2);
    --fc-warning: #e0b568;
    --fc-warning-soft: rgba(183, 121, 31, 0.2);
    --fc-danger: #ef8a7d;
    --fc-danger-soft: rgba(194, 74, 58, 0.2);
    --fc-diet: #94d19a;
    --fc-diet-soft: rgba(111, 175, 122, 0.18);
    --fc-routine: #e0b568;
    --fc-routine-soft: rgba(193, 138, 58, 0.2);
    --fc-package: #8fc5c8;
    --fc-package-soft: rgba(93, 141, 145, 0.22);
    --fc-plan: #d29a8a;
    --fc-plan-soft: rgba(168, 107, 90, 0.22);
    --fc-shadow-card: 0 1px 2px rgba(0, 0, 0, 0.25), 0 18px 44px rgba(0, 0, 0, 0.24);
    --fc-shadow-hover: 0 22px 54px rgba(0, 0, 0, 0.34);
    --fc-shadow-focus: 0 0 0 3px rgba(127, 179, 213, 0.24);
}

.dashboard-premium {
    background:
        linear-gradient(180deg, var(--fc-bg-wash), transparent 320px),
        linear-gradient(180deg, var(--fc-bg), var(--fc-bg-end) 100%) !important;
    color: var(--fc-text);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-feature-settings: "cv02", "cv03", "cv04", "cv11";
    -webkit-font-smoothing: antialiased;
    text-rendering: geometricPrecision;
}

.dashboard-premium .dashboard-content-shell {
    background:
        linear-gradient(180deg, var(--fc-bg-wash), transparent 340px),
        linear-gradient(180deg, var(--fc-bg), var(--fc-bg-end) 100%);
}

.fc-flash,
.dashboard-premium .fc-flash {
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius-md);
    background: var(--fc-surface);
    box-shadow: var(--fc-shadow-card);
    color: var(--fc-text);
    backdrop-filter: blur(18px);
}

.fc-flash-title,
.dashboard-premium .fc-flash-title {
    color: var(--fc-text);
}

.fc-flash-message,
.dashboard-premium .fc-flash-message {
    color: var(--fc-muted);
}

.fc-flash-close,
.dashboard-premium .fc-flash-close {
    color: var(--fc-muted);
}

.fc-flash-close:hover,
.dashboard-premium .fc-flash-close:hover {
    background: var(--fc-surface-soft);
    color: var(--fc-text);
}

.fc-flash-icon.fc-flash-success,
.dashboard-premium .fc-flash-icon.fc-flash-success {
    background: var(--fc-success-soft);
    color: var(--fc-success);
}

.fc-flash-icon.fc-flash-danger,
.dashboard-premium .fc-flash-icon.fc-flash-danger {
    background: var(--fc-danger-soft);
    color: var(--fc-danger);
}

.fc-flash-icon.fc-flash-warning,
.dashboard-premium .fc-flash-icon.fc-flash-warning {
    background: var(--fc-warning-soft);
    color: var(--fc-warning);
}

.fc-flash-icon.fc-flash-info,
.dashboard-premium .fc-flash-icon.fc-flash-info {
    background: var(--fc-info-soft);
    color: var(--fc-info);
}

.fc-flash-rule.fc-flash-success,
.dashboard-premium .fc-flash-rule.fc-flash-success {
    background: linear-gradient(90deg, var(--fc-success), color-mix(in srgb, var(--fc-success) 62%, var(--fc-info)));
}

.fc-flash-rule.fc-flash-danger,
.dashboard-premium .fc-flash-rule.fc-flash-danger {
    background: linear-gradient(90deg, var(--fc-danger), color-mix(in srgb, var(--fc-danger) 72%, #ffffff 28%));
}

.fc-flash-rule.fc-flash-warning,
.dashboard-premium .fc-flash-rule.fc-flash-warning {
    background: linear-gradient(90deg, var(--fc-warning), color-mix(in srgb, var(--fc-warning) 70%, #ffffff 30%));
}

.fc-flash-rule.fc-flash-info,
.dashboard-premium .fc-flash-rule.fc-flash-info {
    background: linear-gradient(90deg, var(--fc-info), var(--fc-brand));
}

.fc-toast,
.dashboard-premium .fc-toast {
    border: 1px solid var(--fc-border);
    border-left-width: 4px;
    border-radius: var(--fc-radius-sm);
    background: var(--fc-surface-solid);
    box-shadow: var(--fc-shadow-card);
    color: var(--fc-text) !important;
    backdrop-filter: blur(18px);
}

.fc-toast p,
.dashboard-premium .fc-toast p {
    color: var(--fc-text) !important;
}

.fc-toast-success,
.dashboard-premium .fc-toast-success {
    background: #ddf3ea !important;
    border-color: rgba(47, 138, 107, 0.28) !important;
    border-left-color: var(--fc-success) !important;
    color: #1f6b52 !important;
}

.fc-toast-success p,
.dashboard-premium .fc-toast-success p,
.fc-toast-success i,
.dashboard-premium .fc-toast-success i {
    color: #1f6b52 !important;
}

.fc-toast-danger,
.dashboard-premium .fc-toast-danger {
    background: #fce5e1 !important;
    border-color: rgba(194, 74, 58, 0.28) !important;
    border-left-color: var(--fc-danger) !important;
    color: #8f3328 !important;
}

.fc-toast-danger p,
.dashboard-premium .fc-toast-danger p,
.fc-toast-danger i,
.dashboard-premium .fc-toast-danger i {
    color: #8f3328 !important;
}

.fc-toast-warning,
.dashboard-premium .fc-toast-warning {
    background: #fff2d7 !important;
    border-color: rgba(183, 121, 31, 0.28) !important;
    border-left-color: var(--fc-warning) !important;
    color: #7a4d10 !important;
}

.fc-toast-warning p,
.dashboard-premium .fc-toast-warning p,
.fc-toast-warning i,
.dashboard-premium .fc-toast-warning i {
    color: #7a4d10 !important;
}

.fc-toast-info,
.dashboard-premium .fc-toast-info {
    background: #ddecf6 !important;
    border-color: rgba(53, 126, 168, 0.28) !important;
    border-left-color: var(--fc-info) !important;
    color: #235f80 !important;
}

.fc-toast-info p,
.dashboard-premium .fc-toast-info p,
.fc-toast-info i,
.dashboard-premium .fc-toast-info i {
    color: #235f80 !important;
}

.fc-toast-close,
.dashboard-premium .fc-toast-close {
    color: var(--fc-muted) !important;
}

.fc-toast-close:hover,
.dashboard-premium .fc-toast-close:hover {
    background: var(--fc-surface-soft);
    color: var(--fc-text) !important;
}

.dashboard-premium .fc-toast-action {
    border-radius: var(--fc-radius-xs);
    background: var(--fc-surface-soft);
    color: var(--fc-text);
    box-shadow: 0 1px 2px rgba(17, 23, 25, 0.08);
}

.dashboard-premium .fc-toast-action:hover {
    background: var(--fc-brand-soft);
    color: var(--fc-brand);
}

.navbar {
    background: rgba(255, 255, 255, 0.84) !important;
    border-bottom: 1px solid var(--fc-border) !important;
    box-shadow: 0 1px 2px rgba(17, 23, 25, 0.04) !important;
}

html.dark .navbar {
    background: rgba(18, 25, 28, 0.86) !important;
    border-bottom-color: var(--fc-border) !important;
}

.navbar a,
.navbar button {
    letter-spacing: 0;
}

.navbar [x-show] {
    border-color: var(--fc-border) !important;
    box-shadow: var(--fc-shadow-card) !important;
}

.fc-footer-logo {
    background: linear-gradient(135deg, var(--fc-brand-strong), var(--fc-brand-hover));
}

html.dark .navbar [x-show],
html.dark .navbar .bg-white,
html.dark .navbar .bg-white\/95,
html.dark .navbar .bg-white\/90,
html.dark .navbar .bg-white\/80 {
    background-color: var(--fc-surface-solid) !important;
}

html.dark .navbar .text-gray-900,
html.dark .navbar .text-gray-800,
html.dark .navbar .text-gray-700 {
    color: var(--fc-text) !important;
}

html.dark .navbar .text-gray-600,
html.dark .navbar .text-gray-500,
html.dark .navbar .text-gray-400 {
    color: var(--fc-muted) !important;
}

html.dark body,
html.dark .dashboard-premium .bg-gray-50 {
    background-color: var(--fc-bg) !important;
}

html.dark .dashboard-premium .bg-white {
    background-color: var(--fc-surface-solid) !important;
}

html.dark .dashboard-premium .text-gray-900 {
    color: var(--fc-text) !important;
}

html.dark .dashboard-premium .text-gray-800,
html.dark .dashboard-premium .text-gray-700 {
    color: var(--fc-text) !important;
}

html.dark .dashboard-premium .text-gray-600,
html.dark .dashboard-premium .text-gray-500,
html.dark .dashboard-premium .text-gray-400 {
    color: var(--fc-muted) !important;
}

html.dark .dashboard-premium .border-gray-200,
html.dark .dashboard-premium .border-gray-300,
html.dark .dashboard-premium .border-gray-700,
html.dark .dashboard-premium .divide-gray-200 > :not([hidden]) ~ :not([hidden]) {
    border-color: var(--fc-border) !important;
}

.dashboard-premium h1,
.dashboard-premium h2,
.dashboard-premium h3 {
    color: var(--fc-text);
    font-weight: 750;
    letter-spacing: 0;
}

.dashboard-premium h1 {
    font-size: 28px;
    line-height: 1.18;
}

.dashboard-premium p,
.dashboard-premium a,
.dashboard-premium button,
.dashboard-premium input,
.dashboard-premium select,
.dashboard-premium textarea,
.dashboard-premium table {
    font-family: inherit;
}

.dashboard-premium .dashboard-topbar {
    background: rgba(255, 255, 255, 0.78) !important;
    border-color: var(--fc-border) !important;
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    min-height: var(--fc-topbar-height);
}

html.dark .dashboard-premium .dashboard-topbar {
    background: rgba(18, 25, 28, 0.82) !important;
}

.dashboard-premium .dashboard-topbar-actions {
    gap: 0.75rem;
}

.dashboard-premium .dashboard-topbar-icon-button {
    align-items: center;
    background: var(--fc-surface) !important;
    border: 1px solid var(--fc-border) !important;
    border-radius: var(--fc-radius-sm);
    box-shadow: 0 1px 2px rgba(17, 23, 25, 0.04);
    color: var(--fc-muted) !important;
    display: inline-flex;
    height: var(--fc-icon-button-size);
    justify-content: center;
    transition: background-color 0.16s ease, border-color 0.16s ease, color 0.16s ease, box-shadow 0.16s ease;
    width: var(--fc-icon-button-size);
}

.dashboard-premium .dashboard-topbar-icon-button:hover {
    background: var(--fc-surface-solid) !important;
    border-color: var(--fc-border-strong) !important;
    box-shadow: var(--fc-shadow-card);
    color: var(--fc-text) !important;
}

.dashboard-premium .dashboard-topbar-icon-button:focus-visible,
.dashboard-premium .dashboard-user-menu-button:focus-visible {
    outline: none;
    box-shadow: var(--fc-shadow-focus) !important;
}

.dashboard-premium .dashboard-notification-badge {
    background: var(--fc-danger) !important;
    box-shadow: 0 0 0 2px var(--fc-surface-solid);
    color: #ffffff !important;
    font-weight: 700;
}

.dashboard-premium .dashboard-notifications-menu,
.dashboard-premium .dashboard-user-menu-panel {
    background: var(--fc-surface-solid) !important;
    border-color: var(--fc-border) !important;
    border-radius: var(--fc-radius-md) !important;
    box-shadow: var(--fc-shadow-card) !important;
    overflow: hidden;
}

.dashboard-premium .dashboard-notifications-header {
    background: var(--fc-surface-soft) !important;
    border-color: var(--fc-border) !important;
}

.dashboard-premium .dashboard-notifications-header p {
    color: var(--fc-text) !important;
}

.dashboard-premium .dashboard-notification-item {
    background: var(--fc-brand-faint) !important;
    border-color: var(--fc-border) !important;
    color: var(--fc-text) !important;
}

.dashboard-premium .dashboard-notification-item:hover {
    background: var(--fc-brand-soft) !important;
}

.dashboard-premium .dashboard-notification-item p {
    color: inherit !important;
}

.dashboard-premium .dashboard-notification-item p + p {
    color: var(--fc-muted) !important;
}

.dashboard-premium .dashboard-user-menu-button {
    background: var(--fc-surface) !important;
    border-color: var(--fc-border) !important;
    border-radius: var(--fc-radius-full) !important;
    box-shadow: 0 1px 2px rgba(17, 23, 25, 0.04) !important;
    color: var(--fc-text) !important;
    min-height: 48px;
    padding: 0.25rem 0.375rem 0.25rem 0.875rem !important;
    transition: background-color 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease;
}

.dashboard-premium .dashboard-user-menu-button:hover {
    background: var(--fc-surface-solid) !important;
    border-color: var(--fc-border-strong) !important;
    box-shadow: var(--fc-shadow-card) !important;
}

.dashboard-premium .dashboard-user-menu-button p:first-child {
    color: var(--fc-text) !important;
    line-height: 1.2;
    max-width: 14rem;
}

.dashboard-premium .dashboard-user-menu-button p:last-child,
.dashboard-premium .dashboard-user-menu-button i {
    color: var(--fc-muted) !important;
}

.dashboard-premium .dashboard-user-menu-avatar {
    background: linear-gradient(135deg, var(--fc-brand-hover), var(--fc-brand-strong)) !important;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.18);
}

.dashboard-premium .dashboard-user-menu-initial {
    color: #ffffff !important;
}

.dashboard-premium .dashboard-user-menu-panel a {
    color: var(--fc-text) !important;
}

.dashboard-premium .dashboard-user-menu-panel a:hover {
    background: var(--fc-surface-soft) !important;
}

.dashboard-premium .dashboard-user-menu-panel a.text-red-600 {
    color: var(--fc-danger) !important;
}

.dashboard-premium .dashboard-user-menu-panel .border-gray-100 {
    border-color: var(--fc-border) !important;
}

@media (max-width: 640px) {
    .dashboard-premium .dashboard-topbar {
        min-height: 64px;
    }

    .dashboard-premium .dashboard-topbar-actions {
        gap: 0.5rem;
    }

    .dashboard-premium .dashboard-notifications-menu {
        right: -0.5rem;
        width: min(20rem, calc(100vw - 2rem));
    }
}

.fc-auth-page {
    align-items: center;
    background:
        radial-gradient(circle at 16% 0%, var(--fc-bg-wash), transparent 28rem),
        linear-gradient(180deg, var(--fc-bg), var(--fc-bg-end) 100%);
    color: var(--fc-text);
    display: flex;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    justify-content: center;
    min-height: 100vh;
    padding: 48px 16px;
}

.fc-auth-shell {
    margin: 0 auto;
    max-width: 1120px;
    width: 100%;
}

.fc-auth-shell-narrow {
    max-width: 560px;
}

.fc-auth-header {
    margin-bottom: 28px;
    text-align: center;
}

.fc-auth-brand {
    align-items: center;
    color: var(--fc-text);
    display: inline-flex;
    gap: 12px;
    justify-content: center;
    margin-bottom: 16px;
    transition: opacity 150ms ease;
}

.fc-auth-brand:hover {
    opacity: 0.86;
}

.fc-auth-logo {
    align-items: center;
    background: linear-gradient(135deg, var(--fc-brand-hover), var(--fc-brand-strong));
    border-radius: var(--fc-radius-md);
    box-shadow: var(--fc-shadow-card);
    color: #ffffff;
    display: inline-flex;
    height: 56px;
    justify-content: center;
    width: 56px;
}

.fc-auth-brand-text {
    color: var(--fc-text);
    font-size: 32px;
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1.1;
}

.fc-auth-title {
    color: var(--fc-text);
    font-size: 28px;
    font-weight: 750;
    letter-spacing: 0;
    line-height: 1.18;
    margin: 0;
}

.fc-auth-subtitle {
    color: var(--fc-muted);
    font-size: 16px;
    line-height: 1.55;
    margin: 8px auto 0;
    max-width: 640px;
}

.fc-auth-grid {
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.fc-auth-grid-single {
    grid-template-columns: minmax(0, 560px);
    justify-content: center;
}

.fc-auth-card {
    background: var(--fc-surface);
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius-md);
    box-shadow: var(--fc-shadow-card);
    overflow: hidden;
    backdrop-filter: blur(18px);
}

.fc-auth-card-head {
    background: linear-gradient(135deg, var(--fc-brand-strong), var(--fc-brand-hover));
    color: #ffffff;
    padding: 24px;
}

.fc-auth-card-head-row {
    align-items: center;
    display: flex;
    gap: 14px;
}

.fc-auth-card-icon {
    align-items: center;
    background: rgba(255, 255, 255, 0.14);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: var(--fc-radius-sm);
    display: inline-flex;
    flex: 0 0 auto;
    height: 52px;
    justify-content: center;
    width: 52px;
}

.fc-auth-card-head h2 {
    color: #ffffff;
    font-size: 22px;
    font-weight: 750;
    letter-spacing: 0;
    line-height: 1.2;
    margin: 0;
}

.fc-auth-card-head p {
    color: rgba(255, 255, 255, 0.78);
    font-size: 14px;
    line-height: 1.45;
    margin: 4px 0 0;
}

.fc-auth-card-body {
    padding: 24px;
}

.fc-auth-form {
    display: grid;
    gap: 18px;
}

.fc-auth-field {
    display: grid;
    gap: 8px;
}

.fc-auth-label {
    align-items: center;
    color: var(--fc-text);
    display: inline-flex;
    font-size: 13px;
    font-weight: 700;
    gap: 8px;
    letter-spacing: 0;
}

.fc-auth-input {
    background: var(--fc-surface-solid);
    border: 1px solid var(--fc-border-strong);
    border-radius: var(--fc-radius-sm);
    color: var(--fc-text);
    min-height: var(--fc-control-height);
    padding: 10px 13px;
    transition: border-color 150ms ease, box-shadow 150ms ease, background-color 150ms ease;
    width: 100%;
}

.fc-auth-input:focus {
    border-color: var(--fc-info);
    box-shadow: var(--fc-shadow-focus);
    outline: none;
}

.fc-auth-input::placeholder {
    color: var(--fc-muted);
}

.fc-auth-row {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: space-between;
}

.fc-auth-check {
    align-items: center;
    color: var(--fc-muted);
    display: inline-flex;
    font-size: 14px;
    gap: 8px;
}

.fc-auth-check input {
    accent-color: var(--fc-brand-action);
}

.fc-auth-link {
    color: var(--fc-brand);
    font-weight: 700;
}

.fc-auth-link:hover {
    color: var(--fc-brand-hover);
}

.fc-auth-button {
    align-items: center;
    border-radius: var(--fc-radius-sm);
    display: inline-flex;
    font-size: 15px;
    font-weight: 750;
    gap: 9px;
    justify-content: center;
    min-height: var(--fc-control-height);
    padding: 10px 18px;
    transition: background-color 150ms ease, border-color 150ms ease, box-shadow 150ms ease, color 150ms ease;
    width: 100%;
}

.fc-auth-button-primary {
    background: var(--fc-brand-action);
    color: #ffffff;
    box-shadow: 0 12px 28px rgba(16, 42, 67, 0.16);
}

.fc-auth-button-primary:hover {
    background: var(--fc-brand-hover);
}

.fc-auth-button-danger {
    background: var(--fc-danger);
    color: #ffffff;
}

.fc-auth-button-secondary {
    background: transparent;
    border: 1px solid var(--fc-border-strong);
    color: var(--fc-text);
}

.fc-auth-button-secondary:hover {
    background: var(--fc-surface-soft);
}

.fc-auth-divider {
    align-items: center;
    color: var(--fc-muted);
    display: grid;
    font-size: 12px;
    font-weight: 700;
    gap: 12px;
    grid-template-columns: 1fr auto 1fr;
    margin: 4px 0;
}

.fc-auth-divider::before,
.fc-auth-divider::after {
    background: var(--fc-border);
    content: "";
    height: 1px;
}

.fc-auth-note,
.fc-auth-alert {
    align-items: flex-start;
    background: var(--fc-brand-faint);
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius-sm);
    color: var(--fc-muted);
    display: flex;
    gap: 12px;
    line-height: 1.5;
    padding: 14px;
}

.fc-auth-alert {
    background: var(--fc-danger-soft);
    color: var(--fc-text);
}

.fc-auth-note i,
.fc-auth-alert i {
    color: var(--fc-info);
    margin-top: 3px;
}

.fc-auth-alert i {
    color: var(--fc-danger);
}

.fc-auth-error {
    color: var(--fc-danger);
    font-size: 13px;
    line-height: 1.35;
    margin-top: 6px;
}

.fc-auth-footer {
    background: var(--fc-surface-soft);
    border-top: 1px solid var(--fc-border);
    color: var(--fc-muted);
    font-size: 14px;
    padding: 18px 24px;
    text-align: center;
}

.fc-auth-benefits {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 18px;
}

.fc-auth-benefit {
    align-items: center;
    background: var(--fc-surface);
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius-sm);
    color: var(--fc-text);
    display: flex;
    gap: 10px;
    justify-content: center;
    min-height: 58px;
    padding: 12px;
    text-align: center;
}

.fc-auth-pill {
    align-items: center;
    background: var(--fc-brand-soft);
    border-radius: var(--fc-radius-full);
    color: var(--fc-brand);
    display: inline-flex;
    font-size: 13px;
    font-weight: 750;
    gap: 8px;
    margin-top: 14px;
    padding: 8px 12px;
}

.fc-auth-role-trainer {
    --fc-auth-accent: var(--fc-brand);
    --fc-auth-accent-strong: var(--fc-brand-strong);
    --fc-auth-accent-hover: var(--fc-brand-hover);
    --fc-auth-accent-soft: var(--fc-brand-soft);
    --fc-auth-accent-faint: var(--fc-brand-faint);
}

.fc-auth-role-client {
    --fc-auth-accent: var(--fc-success);
    --fc-auth-accent-strong: #1f6f59;
    --fc-auth-accent-hover: #287d63;
    --fc-auth-accent-soft: var(--fc-success-soft);
    --fc-auth-accent-faint: rgba(47, 138, 107, 0.1);
}

.fc-auth-card.fc-auth-role-trainer,
.fc-auth-card.fc-auth-role-client {
    border-color: color-mix(in srgb, var(--fc-auth-accent) 26%, var(--fc-border));
}

.fc-auth-card.fc-auth-role-trainer .fc-auth-card-head,
.fc-auth-card.fc-auth-role-client .fc-auth-card-head {
    background:
        linear-gradient(135deg, var(--fc-auth-accent-strong), var(--fc-auth-accent-hover));
}

.fc-auth-card.fc-auth-role-trainer .fc-auth-card-icon,
.fc-auth-card.fc-auth-role-client .fc-auth-card-icon {
    background: rgba(255, 255, 255, 0.16);
    border-color: rgba(255, 255, 255, 0.24);
}

.fc-auth-card.fc-auth-role-trainer .fc-auth-label i,
.fc-auth-card.fc-auth-role-client .fc-auth-label i,
.fc-auth-card.fc-auth-role-trainer .fc-auth-link,
.fc-auth-card.fc-auth-role-client .fc-auth-link {
    color: var(--fc-auth-accent);
}

.fc-auth-card.fc-auth-role-trainer .fc-auth-link:hover,
.fc-auth-card.fc-auth-role-client .fc-auth-link:hover {
    color: var(--fc-auth-accent-hover);
}

.fc-auth-card.fc-auth-role-trainer .fc-auth-input:focus,
.fc-auth-card.fc-auth-role-client .fc-auth-input:focus {
    border-color: var(--fc-auth-accent);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--fc-auth-accent) 24%, transparent);
}

.fc-auth-card.fc-auth-role-trainer .fc-auth-button-primary,
.fc-auth-card.fc-auth-role-client .fc-auth-button-primary {
    background: var(--fc-auth-accent-strong);
    color: #ffffff;
}

.fc-auth-card.fc-auth-role-trainer .fc-auth-button-primary:hover,
.fc-auth-card.fc-auth-role-client .fc-auth-button-primary:hover {
    background: var(--fc-auth-accent-hover);
}

.fc-auth-pill.fc-auth-role-trainer,
.fc-auth-pill.fc-auth-role-client {
    background: var(--fc-auth-accent-soft);
    color: var(--fc-auth-accent-strong);
}

html.dark .fc-auth-page {
    background:
        radial-gradient(circle at 18% 6%, rgba(127, 179, 213, 0.2), transparent 22rem),
        radial-gradient(circle at 82% 12%, rgba(47, 138, 107, 0.13), transparent 24rem),
        radial-gradient(circle at 50% 100%, rgba(193, 138, 58, 0.1), transparent 28rem),
        linear-gradient(145deg, #0c1214 0%, #121c21 46%, #0e1619 100%);
}

html.dark .fc-auth-page::before {
    background:
        linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.02) 1px, transparent 1px);
    background-size: 44px 44px;
    content: "";
    inset: 0;
    mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.72), transparent 72%);
    pointer-events: none;
    position: fixed;
}

html.dark .fc-auth-shell {
    position: relative;
    z-index: 1;
}

html.dark .fc-auth-logo {
    background: linear-gradient(135deg, #7fb3d5, #2b6a9b 52%, #102a43);
    box-shadow:
        0 18px 44px rgba(0, 0, 0, 0.34),
        0 0 0 1px rgba(225, 230, 231, 0.12),
        0 0 34px rgba(127, 179, 213, 0.2);
}

html.dark .fc-auth-card {
    background:
        linear-gradient(180deg, rgba(29, 41, 45, 0.94), rgba(18, 25, 28, 0.9));
    border-color: rgba(225, 230, 231, 0.14);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.04) inset,
        0 26px 70px rgba(0, 0, 0, 0.38);
}

html.dark .fc-auth-card-head {
    background:
        linear-gradient(135deg, rgba(16, 42, 67, 0.98), rgba(31, 78, 121, 0.9) 54%, rgba(47, 138, 107, 0.72));
    border-bottom: 1px solid rgba(225, 230, 231, 0.12);
}

html.dark .fc-auth-card-icon {
    background: rgba(255, 255, 255, 0.11);
    border-color: rgba(255, 255, 255, 0.2);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

html.dark .fc-auth-input {
    background: rgba(9, 13, 15, 0.58);
    border-color: rgba(225, 230, 231, 0.16);
}

html.dark .fc-auth-input:focus {
    background: rgba(9, 13, 15, 0.78);
    border-color: rgba(127, 179, 213, 0.72);
}

html.dark .fc-auth-button-primary {
    background: #7fb3d5;
    color: #0d171b;
    box-shadow:
        0 14px 30px rgba(0, 0, 0, 0.32),
        0 0 0 1px rgba(255, 255, 255, 0.08) inset;
}

html.dark .fc-auth-button-primary:hover {
    background: #9cc6df;
}

html.dark .fc-auth-button-secondary {
    background: rgba(255, 255, 255, 0.025);
    border-color: rgba(225, 230, 231, 0.18);
}

html.dark .fc-auth-button-secondary:hover {
    background: rgba(127, 179, 213, 0.12);
    border-color: rgba(127, 179, 213, 0.32);
}

html.dark .fc-auth-note {
    background: rgba(53, 126, 168, 0.13);
    border-color: rgba(127, 179, 213, 0.18);
}

html.dark .fc-auth-footer {
    background: rgba(9, 13, 15, 0.26);
    border-color: rgba(225, 230, 231, 0.1);
}

html.dark .fc-auth-benefit {
    background: rgba(23, 32, 35, 0.74);
    border-color: rgba(225, 230, 231, 0.12);
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.22);
}

html.dark .fc-auth-pill {
    background: rgba(127, 179, 213, 0.16);
    border: 1px solid rgba(127, 179, 213, 0.24);
    color: #b8d7ea;
}

html.dark .fc-auth-role-trainer {
    --fc-auth-accent: #7fb3d5;
    --fc-auth-accent-strong: #183b56;
    --fc-auth-accent-hover: #9cc6df;
    --fc-auth-accent-soft: rgba(127, 179, 213, 0.16);
    --fc-auth-accent-faint: rgba(127, 179, 213, 0.1);
}

html.dark .fc-auth-role-client {
    --fc-auth-accent: #86d2ac;
    --fc-auth-accent-strong: #1f6f59;
    --fc-auth-accent-hover: #a5dfc0;
    --fc-auth-accent-soft: rgba(47, 138, 107, 0.2);
    --fc-auth-accent-faint: rgba(47, 138, 107, 0.12);
}

html.dark .fc-auth-card.fc-auth-role-trainer,
html.dark .fc-auth-card.fc-auth-role-client {
    border-color: color-mix(in srgb, var(--fc-auth-accent) 24%, rgba(225, 230, 231, 0.1));
}

html.dark .fc-auth-card.fc-auth-role-trainer .fc-auth-card-head {
    background:
        linear-gradient(135deg, rgba(16, 42, 67, 0.98), rgba(31, 78, 121, 0.92) 56%, rgba(127, 179, 213, 0.28));
}

html.dark .fc-auth-card.fc-auth-role-client .fc-auth-card-head {
    background:
        linear-gradient(135deg, rgba(17, 32, 28, 0.98), rgba(31, 111, 89, 0.9) 56%, rgba(134, 210, 172, 0.24));
}

html.dark .fc-auth-card.fc-auth-role-trainer .fc-auth-label i,
html.dark .fc-auth-card.fc-auth-role-client .fc-auth-label i,
html.dark .fc-auth-card.fc-auth-role-trainer .fc-auth-link,
html.dark .fc-auth-card.fc-auth-role-client .fc-auth-link {
    color: var(--fc-auth-accent);
}

html.dark .fc-auth-card.fc-auth-role-trainer .fc-auth-button-primary,
html.dark .fc-auth-card.fc-auth-role-client .fc-auth-button-primary {
    background: var(--fc-auth-accent);
    color: #0d171b;
}

html.dark .fc-auth-card.fc-auth-role-trainer .fc-auth-button-primary:hover,
html.dark .fc-auth-card.fc-auth-role-client .fc-auth-button-primary:hover {
    background: var(--fc-auth-accent-hover);
}

html.dark .fc-auth-pill.fc-auth-role-trainer,
html.dark .fc-auth-pill.fc-auth-role-client {
    background: var(--fc-auth-accent-soft);
    border-color: color-mix(in srgb, var(--fc-auth-accent) 34%, transparent);
    color: var(--fc-auth-accent);
}

@media (max-width: 768px) {
    .fc-auth-grid,
    .fc-auth-benefits {
        grid-template-columns: 1fr;
    }

    .fc-auth-brand-text {
        font-size: 28px;
    }
}

.impulzafit-public {
    background:
        radial-gradient(circle at 16% 0%, var(--fc-bg-wash), transparent 28rem),
        linear-gradient(180deg, var(--fc-bg), var(--fc-bg-end) 100%);
    color: var(--fc-text);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    margin: 0;
    padding: 28px 16px 0;
}

.fc-public-shell {
    display: grid;
    gap: 72px;
    margin: 0 auto;
    max-width: 1180px;
}

.fc-public-hero,
.fc-public-section,
.fc-public-premium {
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius-lg);
    background: var(--fc-surface);
    box-shadow: var(--fc-shadow-card);
    backdrop-filter: blur(18px);
}

.fc-public-hero {
    display: grid;
    grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
    gap: 28px;
    overflow: hidden;
    padding: 28px;
}

.fc-public-hero-copy {
    align-self: start;
    padding: 24px 8px 24px 4px;
}

.fc-public-eyebrow,
.fc-public-section-kicker,
.fc-public-status,
.fc-public-chip,
.fc-public-content-card span,
.fc-public-kpi-grid em,
.fc-public-chart-head span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    border-radius: var(--fc-radius-full);
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: 0;
}

.fc-public-eyebrow {
    background: var(--fc-brand-soft);
    color: var(--fc-brand);
    padding: 10px 16px;
    font-size: 15px;
    font-weight: 800;
}

.fc-public-hero h1 {
    margin: 22px 0 0;
    color: var(--fc-text);
    font-size: clamp(42px, 7vw, 76px);
    font-weight: 800;
    letter-spacing: 0;
    line-height: 0.98;
}

.fc-public-lede {
    color: var(--fc-muted);
    font-size: 18px;
    line-height: 1.65;
    margin: 24px 0 0;
    max-width: 620px;
}

.fc-public-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 28px;
}

.fc-public-button {
    align-items: center;
    border-radius: var(--fc-radius-sm);
    display: inline-flex;
    font-size: 15px;
    font-weight: 700;
    gap: 8px;
    justify-content: center;
    min-height: var(--fc-control-height);
    padding: 10px 18px;
    transition: background-color 150ms ease, border-color 150ms ease, box-shadow 150ms ease, color 150ms ease;
}

.fc-public-button-primary {
    background: var(--fc-brand-action);
    color: #ffffff;
    box-shadow: 0 12px 28px rgba(16, 42, 67, 0.16);
}

.fc-public-button-primary:hover {
    background: var(--fc-brand-hover);
}

.fc-public-button-secondary {
    background: transparent;
    border: 1px solid var(--fc-border-strong);
    color: var(--fc-text);
}

.fc-public-button-secondary:hover {
    background: var(--fc-surface-soft);
}

.fc-public-proof-grid,
.fc-public-kpi-grid,
.fc-public-mini-grid {
    display: grid;
    gap: 10px;
}

.fc-public-proof-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 32px;
}

.fc-public-proof-grid div,
.fc-public-kpi-grid div,
.fc-public-mini-grid div {
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius-sm);
    background: var(--fc-surface-soft);
    padding: 14px;
}

.fc-public-proof-grid strong,
.fc-public-kpi-grid strong {
    color: var(--fc-text);
    display: block;
    font-size: 24px;
    font-weight: 800;
    line-height: 1.1;
}

.fc-public-proof-grid span,
.fc-public-kpi-grid span,
.fc-public-mini-grid span {
    color: var(--fc-muted);
    display: block;
    font-size: 12px;
    font-weight: 650;
    line-height: 1.35;
    margin-top: 6px;
}

.fc-public-console {
    background:
        linear-gradient(135deg, #111719, #183b56);
    border-radius: var(--fc-radius-md);
    color: #ffffff;
    padding: 16px;
}

.fc-public-console-top {
    align-items: flex-start;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    padding: 6px 6px 16px;
}

.fc-public-console-top span {
    color: #a9c7dc;
    font-size: 12px;
    font-weight: 700;
}

.fc-public-console-top h2 {
    color: #ffffff;
    font-size: 22px;
    font-weight: 750;
    line-height: 1.18;
    margin: 4px 0 0;
}

.fc-public-tabs {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: var(--fc-radius-sm);
    display: inline-flex;
    flex-shrink: 0;
    gap: 3px;
    padding: 3px;
}

.fc-public-tabs button {
    border-radius: var(--fc-radius-xs);
    color: #c9d7df;
    font-size: 12px;
    font-weight: 700;
    padding: 8px 10px;
}

.fc-public-tabs button.is-active {
    background: #ffffff;
    color: #183b56;
}

.fc-public-console-panel {
    background: var(--fc-surface-solid);
    border-radius: var(--fc-radius-md);
    color: var(--fc-text);
    height: 448px;
    overflow: hidden;
    padding: 16px;
}

.fc-public-client-grid,
.fc-public-content-grid,
.fc-public-feature-grid,
.fc-public-premium-grid {
    display: grid;
    gap: 14px;
}

.fc-public-client-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.fc-public-real-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    align-items: stretch;
}

.fc-public-product-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius-md);
    background: var(--fc-surface);
    box-shadow: 0 1px 2px rgba(17, 23, 25, 0.04);
}

.fc-public-console-panel .fc-public-product-card {
    height: 416px;
}

.fc-public-product-hero {
    color: #ffffff;
    padding: 20px;
}

.fc-public-template-grid .fc-public-product-hero {
    padding: 18px;
}

.fc-public-client-hero {
    background: linear-gradient(135deg, #102a43, #183b56 58%, #2b6a9b);
}

.fc-public-diet-hero {
    background: linear-gradient(135deg, #356b3e, #4d8f58 58%, #6faf7a);
}

.fc-public-routine-hero {
    background: linear-gradient(135deg, #7a541f, #9a6a2e 58%, #c18a3a);
}

.fc-public-package-hero {
    background: linear-gradient(135deg, #315f62, #49777a 58%, #5d8d91);
}

.fc-public-product-hero h3,
.fc-public-product-hero p,
.fc-public-product-hero span {
    color: inherit;
}

.fc-public-card-title-row {
    align-items: flex-start;
    display: flex;
    gap: 12px;
    justify-content: space-between;
}

.fc-public-card-identity {
    align-items: center;
    display: flex;
    gap: 12px;
    min-width: 0;
}

.fc-public-card-identity h3 {
    color: inherit;
    font-size: 18px;
    font-weight: 750;
    line-height: 1.18;
    margin: 0;
}

.fc-public-client-avatar,
.fc-public-square-icon {
    align-items: center;
    background: rgba(255, 255, 255, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.28);
    display: inline-flex;
    flex: 0 0 auto;
    font-weight: 800;
    justify-content: center;
}

.fc-public-client-avatar {
    border-radius: var(--fc-radius-full);
    height: 56px;
    width: 56px;
}

.fc-public-square-icon {
    border-radius: var(--fc-radius-sm);
    font-size: 21px;
    height: 52px;
    width: 52px;
}

.fc-public-hero-badge,
.fc-public-plan-badge {
    align-items: center;
    background: rgba(9, 13, 15, 0.22);
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: var(--fc-radius-sm);
    color: #ffffff;
    display: inline-flex;
    gap: 7px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.35;
    padding: 7px 10px;
}

.fc-public-hero-badge {
    flex-shrink: 0;
}

.fc-public-hero-badge i {
    color: #86d2ac;
    font-size: 8px;
}

.fc-public-plan-badge {
    margin-top: 18px;
    max-width: 100%;
}

.fc-public-product-hero > p {
    font-size: 13px;
    line-height: 1.5;
    margin: 12px 0 0;
    opacity: 0.88;
}

.fc-public-template-grid .fc-public-diet-hero > p,
.fc-public-template-grid .fc-public-package-hero > p {
    display: none;
}

.fc-public-product-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 18px;
    min-height: 0;
}

.fc-public-template-grid .fc-public-product-body {
    padding: 16px;
}

.fc-public-field-block {
    margin-top: 10px;
}

.fc-public-field-block > span,
.fc-public-usage-grid span,
.fc-public-macro-grid span,
.fc-public-stat-grid span {
    align-items: center;
    color: var(--fc-muted);
    display: flex;
    font-size: 11px;
    font-weight: 700;
    gap: 5px;
    line-height: 1.35;
    text-transform: uppercase;
}

.fc-public-field-block > span {
    font-size: 12px;
}

.fc-public-field-block b {
    align-items: center;
    background: var(--fc-brand-soft);
    border-radius: var(--fc-radius-full);
    color: var(--fc-brand);
    display: inline-flex;
    font-size: 12px;
    font-weight: 700;
    gap: 6px;
    margin-top: 6px;
    padding: 6px 10px;
}

.fc-public-chip-muted {
    background: var(--fc-surface-soft);
    color: var(--fc-muted);
}

.fc-public-action-row {
    border-top: 1px solid var(--fc-border);
    display: flex;
    gap: 8px;
    margin-top: auto;
    padding-top: 12px;
}

.fc-public-primary-mock,
.fc-public-accent-action,
.fc-public-icon-mock {
    align-items: center;
    border-radius: var(--fc-radius-sm);
    display: inline-flex;
    font-size: 13px;
    font-weight: 750;
    gap: 7px;
    justify-content: center;
    min-height: 36px;
    padding: 8px 12px;
}

.fc-public-primary-mock,
.fc-public-accent-action {
    flex: 1;
}

.fc-public-primary-mock {
    background: var(--fc-brand-action);
    color: #ffffff;
}

.fc-public-icon-mock {
    flex: 0 0 38px;
    padding: 0;
}

.fc-public-icon-diet,
.fc-public-accent-action-diet {
    background: var(--fc-diet-soft);
    color: var(--fc-diet);
}

.fc-public-icon-routine,
.fc-public-accent-action-routine {
    background: var(--fc-routine-soft);
    color: var(--fc-routine);
}

.fc-public-accent-action-package {
    background: var(--fc-package-soft);
    color: var(--fc-package);
}

.fc-public-macro-grid,
.fc-public-stat-grid,
.fc-public-usage-grid {
    display: grid;
    gap: 9px;
}

.fc-public-macro-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.fc-public-stat-grid,
.fc-public-usage-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.fc-public-macro-grid div,
.fc-public-stat-grid div {
    background: var(--fc-surface-soft);
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius-sm);
    padding: 10px;
}

.fc-public-macro-grid strong,
.fc-public-stat-grid strong {
    color: var(--fc-text);
    display: block;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.15;
    margin-top: 5px;
}

.fc-public-macro-grid small {
    color: var(--fc-muted);
    display: block;
    font-size: 11px;
    font-weight: 600;
    margin-top: 2px;
}

.fc-public-macro-calories {
    color: #f97316;
}

.fc-public-macro-protein {
    color: #ef4444;
}

.fc-public-macro-carbs {
    color: #ca8a04;
}

.fc-public-macro-fats {
    color: #d97706;
}

.fc-public-usage-grid {
    border-top: 1px solid var(--fc-border);
    margin-top: 14px;
    padding-top: 14px;
}

.fc-public-usage-grid b,
.fc-public-pill-diet,
.fc-public-pill-routine,
.fc-public-pill-brand {
    align-items: center;
    border-radius: var(--fc-radius-full);
    display: inline-flex;
    font-size: 12px;
    font-weight: 750;
    line-height: 1.35;
    margin-top: 8px;
    padding: 6px 10px;
}

.fc-public-pill-diet {
    background: var(--fc-diet-soft);
    color: var(--fc-diet);
}

.fc-public-pill-routine {
    background: var(--fc-routine-soft);
    color: var(--fc-routine);
}

.fc-public-pill-package {
    background: var(--fc-package-soft);
    color: var(--fc-package);
}

.fc-public-pill-brand {
    background: var(--fc-brand-soft);
    color: var(--fc-brand);
}

.fc-public-package-list {
    display: grid;
    gap: 8px;
}

.fc-public-package-list div {
    align-items: center;
    background: var(--fc-surface-soft);
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius-sm);
    color: var(--fc-text);
    display: flex;
    gap: 10px;
    padding: 10px;
}

.fc-public-package-list i {
    align-items: center;
    background: var(--fc-package-soft);
    border-radius: var(--fc-radius-xs);
    color: var(--fc-package);
    display: inline-flex;
    flex: 0 0 30px;
    height: 28px;
    justify-content: center;
    width: 28px;
}

.fc-public-package-list span {
    color: var(--fc-text);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.35;
}

.fc-public-client-card,
.fc-public-content-card,
.fc-public-feature-grid article,
.fc-public-premium-grid article,
.fc-public-problem-grid article,
.fc-public-chart {
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius-md);
    background: var(--fc-surface);
    box-shadow: 0 1px 2px rgba(17, 23, 25, 0.04);
}

.fc-public-client-card {
    padding: 16px;
}

.fc-public-client-card header {
    align-items: flex-start;
    display: flex;
    gap: 12px;
}

.fc-public-client-card h3,
.fc-public-content-card h3,
.fc-public-feature-grid h3,
.fc-public-premium-grid h3,
.fc-public-chart h3 {
    color: var(--fc-text);
    font-size: 16px;
    font-weight: 750;
    line-height: 1.25;
    margin: 0;
}

.fc-public-client-card p,
.fc-public-content-card p,
.fc-public-feature-grid p,
.fc-public-premium p,
.fc-public-section p,
.fc-public-premium-grid p {
    color: var(--fc-muted);
    line-height: 1.55;
    margin: 6px 0 0;
}

.fc-public-avatar {
    align-items: center;
    background: linear-gradient(135deg, var(--fc-brand-hover), var(--fc-brand-strong));
    border-radius: var(--fc-radius-sm);
    color: #ffffff;
    display: inline-flex;
    flex: 0 0 44px;
    font-weight: 800;
    height: 44px;
    justify-content: center;
}

.fc-public-status {
    margin-left: auto;
    padding: 6px 9px;
}

.fc-public-status-active {
    background: var(--fc-success-soft);
    color: var(--fc-success);
}

.fc-public-status-warning {
    background: var(--fc-warning-soft);
    color: var(--fc-warning);
}

.fc-public-status-panel {
    align-items: center;
    border-radius: var(--fc-radius-sm);
    display: flex;
    justify-content: space-between;
    margin-top: 12px;
    padding: 10px 12px;
}

.fc-public-status-panel span {
    font-size: 13px;
    font-weight: 700;
}

.fc-public-status-panel span i {
    margin-right: 6px;
}

.fc-public-label-icon {
    margin-right: 8px !important;
}

.fc-public-status-panel strong {
    font-size: 13px;
    font-weight: 800;
    line-height: 1.35;
}

.fc-public-status-panel-active {
    background: var(--fc-success-soft);
    color: var(--fc-success);
}

.fc-public-status-panel-warning {
    background: var(--fc-warning-soft);
    color: var(--fc-warning);
}

.fc-public-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.fc-public-chip {
    padding: 7px 9px;
}

.fc-public-chip-diet,
.fc-public-accent-diet i,
.fc-public-accent-diet span {
    background: var(--fc-diet-soft);
    color: var(--fc-diet);
}

.fc-public-chip-routine,
.fc-public-accent-routine i,
.fc-public-accent-routine span {
    background: var(--fc-routine-soft);
    color: var(--fc-routine);
}

.fc-public-accent-package i,
.fc-public-accent-package span {
    background: var(--fc-package-soft);
    color: var(--fc-package);
}

.fc-public-mini-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 14px;
}

.fc-public-mini-grid strong {
    color: var(--fc-text);
    display: block;
    font-size: 13px;
    margin-top: 4px;
}

.fc-public-content-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.fc-public-content-card {
    padding: 20px;
}

.fc-public-content-card > i,
.fc-public-feature-grid i,
.fc-public-premium-grid i,
.fc-public-problem-grid i {
    align-items: center;
    border-radius: var(--fc-radius-sm);
    display: inline-flex;
    height: 42px;
    justify-content: center;
    width: 42px;
}

.fc-public-content-card h3 {
    margin-top: 18px;
}

.fc-public-content-card span {
    margin-top: 18px;
    padding: 7px 10px;
}

.fc-public-kpi-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.fc-public-analytics-kpi {
    min-height: 132px;
    overflow: hidden;
    position: relative;
}

.fc-public-kpi-grid .fc-public-analytics-kpi {
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--fc-current-accent-soft) 62%, transparent), transparent 52%),
        var(--fc-surface);
    border: 1px solid color-mix(in srgb, var(--fc-current-accent) 28%, var(--fc-border));
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.72) inset,
        0 18px 42px rgba(17, 23, 25, 0.08),
        0 0 0 3px color-mix(in srgb, var(--fc-current-accent) 8%, transparent);
    color: var(--fc-text);
    padding: 18px;
}

.fc-public-analytics-kpi::before {
    border-radius: inherit;
    box-shadow: inset 4px 0 0 var(--fc-current-accent);
    content: "";
    inset: 0;
    opacity: 0.86;
    pointer-events: none;
    position: absolute;
}

.fc-public-kpi-grid .fc-public-analytics-kpi-brand {
    --fc-current-accent: var(--fc-brand);
    --fc-current-accent-soft: var(--fc-brand-soft);
}

.fc-public-kpi-grid .fc-public-analytics-kpi-plan {
    --fc-current-accent: var(--fc-plan);
    --fc-current-accent-soft: var(--fc-plan-soft);
}

.fc-public-kpi-grid .fc-public-analytics-kpi-success {
    --fc-current-accent: var(--fc-success);
    --fc-current-accent-soft: var(--fc-success-soft);
}

.fc-public-kpi-grid .fc-public-analytics-kpi-warning {
    --fc-current-accent: var(--fc-warning);
    --fc-current-accent-soft: var(--fc-warning-soft);
}

.fc-public-kpi-grid .fc-public-analytics-kpi span,
.fc-public-kpi-grid .fc-public-analytics-kpi strong,
.fc-public-kpi-grid .fc-public-analytics-kpi em {
    position: relative;
    z-index: 1;
}

.fc-public-kpi-grid .fc-public-analytics-kpi span {
    color: var(--fc-muted);
    opacity: 1;
}

.fc-public-kpi-grid .fc-public-analytics-kpi strong {
    color: var(--fc-text);
    font-size: 30px;
    margin-top: 12px;
}

.fc-public-kpi-grid .fc-public-analytics-kpi em {
    background: transparent;
    color: var(--fc-muted);
    display: block;
    font-size: 12px;
    font-weight: 700;
    margin-top: 10px;
    padding: 0;
}

.fc-public-analytics-kpi > i {
    align-items: center;
    background: var(--fc-current-accent-soft);
    border: 1px solid color-mix(in srgb, var(--fc-current-accent) 24%, transparent);
    border-radius: var(--fc-radius-full);
    bottom: 16px;
    box-shadow: 0 10px 24px color-mix(in srgb, var(--fc-current-accent) 16%, transparent);
    color: var(--fc-current-accent);
    display: inline-flex;
    height: 42px;
    justify-content: center;
    position: absolute;
    right: 16px;
    width: 42px;
    z-index: 1;
}

.fc-public-chart {
    margin-top: 18px;
    padding: 20px;
}

.fc-public-chart-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 14px;
}

.fc-public-mini-chart {
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius-md);
    background: var(--fc-surface);
    padding: 14px;
}

.fc-public-mini-chart h3 {
    color: var(--fc-text);
    font-size: 14px;
    font-weight: 750;
    line-height: 1.25;
    margin: 0 0 10px;
}

.fc-public-chart-head {
    align-items: center;
    display: flex;
    justify-content: space-between;
    gap: 12px;
}

.fc-public-chart-head span {
    background: var(--fc-brand-soft);
    color: var(--fc-brand);
    padding: 6px 9px;
}

.fc-public-chart svg {
    height: 250px;
    margin-top: 12px;
    width: 100%;
}

.fc-public-mini-chart svg {
    height: 112px;
    width: 100%;
}

.fc-public-chart .grid {
    fill: none;
    stroke: var(--fc-border);
    stroke-width: 1;
}

.fc-public-chart .area {
    fill: var(--fc-brand-soft);
    opacity: 0.72;
}

.fc-public-chart .line {
    fill: none;
    stroke: var(--fc-brand);
    stroke-linecap: round;
    stroke-width: 3;
}

.fc-public-mini-chart .line {
    fill: none;
    stroke: var(--fc-brand);
    stroke-linecap: round;
    stroke-width: 4;
}

.fc-public-mini-chart .line.success {
    stroke: var(--fc-success);
}

.fc-public-mini-chart .area {
    fill: var(--fc-brand-soft);
    opacity: 0.72;
}

.fc-public-console-panel .fc-public-kpi-grid {
    gap: 10px;
}

.fc-public-console-panel .fc-public-analytics-kpi {
    min-height: 92px;
}

.fc-public-console-panel .fc-public-kpi-grid .fc-public-analytics-kpi {
    padding: 12px;
}

.fc-public-console-panel .fc-public-analytics-kpi::after {
    height: 72px;
    right: -34px;
    top: -30px;
    width: 72px;
}

.fc-public-console-panel .fc-public-kpi-grid .fc-public-analytics-kpi strong {
    font-size: 22px;
    margin-top: 6px;
}

.fc-public-console-panel .fc-public-kpi-grid .fc-public-analytics-kpi em {
    font-size: 11px;
    margin-top: 5px;
}

.fc-public-console-panel .fc-public-analytics-kpi > i {
    bottom: 10px;
    height: 32px;
    right: 10px;
    width: 32px;
}

.fc-public-console-panel .fc-public-chart {
    margin-top: 12px;
    padding: 14px;
}

.fc-public-console-panel .fc-public-chart svg {
    height: 165px;
    margin-top: 8px;
}

.fc-public-mini-chart .area.success {
    fill: var(--fc-success-soft);
}

.fc-public-bars {
    align-items: end;
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    height: 112px;
}

.fc-public-bars span {
    background: linear-gradient(180deg, var(--fc-brand), var(--fc-brand-hover));
    border-radius: var(--fc-radius-xs) var(--fc-radius-xs) 2px 2px;
    min-height: 18px;
}

.fc-public-stacked-bars,
.fc-public-goal-list {
    display: grid;
    gap: 12px;
    min-height: 112px;
    align-content: center;
}

.fc-public-stacked-bars span {
    background: var(--fc-surface-soft);
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius-full);
    display: flex;
    height: 18px;
    overflow: hidden;
}

.fc-public-stacked-bars b,
.fc-public-stacked-bars i,
.fc-public-stacked-bars em {
    display: block;
}

.fc-public-stacked-bars b {
    background: var(--fc-brand);
}

.fc-public-stacked-bars i {
    background: var(--fc-package);
}

.fc-public-stacked-bars em {
    background: var(--fc-plan);
}

.fc-public-goal-list span {
    display: grid;
    gap: 6px;
}

.fc-public-goal-list b {
    color: var(--fc-muted);
    font-size: 12px;
    font-weight: 700;
}

.fc-public-goal-list i {
    background: var(--fc-brand);
    border-radius: var(--fc-radius-full);
    display: block;
    height: 8px;
}

.fc-public-section,
.fc-public-premium {
    padding: 32px;
}

.fc-public-problem {
    display: grid;
    grid-template-columns: 0.8fr 1.2fr;
    gap: 28px;
    align-items: center;
}

.fc-public-section-kicker {
    background: var(--fc-brand-soft);
    color: var(--fc-brand);
    padding: 7px 10px;
}

.fc-public-section h2,
.fc-public-premium h2 {
    color: var(--fc-text);
    font-size: clamp(28px, 4vw, 40px);
    font-weight: 750;
    line-height: 1.15;
    margin: 14px 0 0;
    max-width: 800px;
}

.fc-public-problem-grid,
.fc-public-feature-grid,
.fc-public-showcase-grid {
    display: grid;
    gap: 14px;
}

.fc-public-problem-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.fc-public-problem-grid article,
.fc-public-feature-grid article,
.fc-public-premium-grid article {
    padding: 20px;
}

.fc-public-problem-grid i {
    background: var(--fc-warning-soft);
    color: var(--fc-warning);
}

.fc-public-problem-grid strong {
    color: var(--fc-text);
    display: block;
    font-size: 15px;
    line-height: 1.35;
    margin-top: 16px;
}

.fc-public-section-head {
    max-width: 850px;
}

.fc-public-feature-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 28px;
}

.fc-public-showcase-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 28px;
}

.fc-public-showcase-card {
    background: var(--fc-surface);
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius-md);
    box-shadow: 0 18px 42px rgba(17, 23, 25, 0.08);
    display: flex;
    flex-direction: column;
    min-height: 330px;
    overflow: hidden;
}

.fc-public-showcase-wide {
    grid-column: span 2;
}

.fc-public-showcase-head {
    align-items: center;
    color: #ffffff;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    padding: 20px;
}

.fc-public-showcase-head span {
    color: rgba(255, 255, 255, 0.82);
    display: block;
    font-size: 12px;
    font-weight: 750;
    line-height: 1.35;
    text-transform: uppercase;
}

.fc-public-showcase-head h3 {
    color: #ffffff;
    font-size: 20px;
    font-weight: 800;
    line-height: 1.18;
    margin: 5px 0 0;
}

.fc-public-showcase-head > i,
.fc-public-mini-avatar {
    align-items: center;
    background: rgba(255, 255, 255, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: var(--fc-radius-sm);
    display: inline-flex;
    flex: 0 0 48px;
    height: 48px;
    justify-content: center;
    width: 48px;
}

.fc-public-mini-avatar {
    border-radius: var(--fc-radius-full);
    color: #ffffff;
    font-weight: 850;
}

.fc-public-showcase-diet {
    background: linear-gradient(135deg, #356b3e, #4d8f58 58%, #6faf7a);
}

.fc-public-showcase-routine {
    background: linear-gradient(135deg, #7a541f, #9a6a2e 58%, #c18a3a);
}

.fc-public-showcase-client {
    background: linear-gradient(135deg, #102a43, #183b56 58%, #2b6a9b);
}

.fc-public-showcase-library {
    background: linear-gradient(135deg, #2f8a6b, #356b3e 58%, #5aa875);
}

.fc-public-showcase-analytics {
    background: linear-gradient(135deg, #1f4e79, #2b6a9b 58%, #357ea8);
}

.fc-public-showcase-body {
    display: grid;
    flex: 1;
    gap: 14px;
    padding: 18px;
}

.fc-public-tint-grid,
.fc-public-detail-stats,
.fc-public-client-snapshot,
.fc-public-analytics-preview {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.fc-public-tint-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.fc-public-tint-grid div,
.fc-public-detail-stats div,
.fc-public-client-snapshot div,
.fc-public-analytics-preview div {
    background: var(--fc-surface-soft);
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius-sm);
    padding: 12px;
}

.fc-public-tint-grid span,
.fc-public-detail-stats span,
.fc-public-client-snapshot span,
.fc-public-analytics-preview span {
    align-items: center;
    color: var(--fc-muted);
    display: flex;
    font-size: 11px;
    font-weight: 750;
    gap: 6px;
    line-height: 1.35;
    text-transform: uppercase;
}

.fc-public-tint-grid strong,
.fc-public-detail-stats strong,
.fc-public-client-snapshot strong,
.fc-public-analytics-preview strong {
    color: var(--fc-text);
    display: block;
    font-size: 20px;
    font-weight: 850;
    line-height: 1.15;
    margin-top: 7px;
}

.fc-public-tint-calories i {
    color: #f97316;
}

.fc-public-tint-protein i {
    color: #ef4444;
}

.fc-public-tint-carbs i {
    color: #ca8a04;
}

.fc-public-tint-fats i {
    color: #d97706;
}

.fc-public-schedule-list,
.fc-public-exercise-stack,
.fc-public-assignment-list,
.fc-public-library-stack {
    display: grid;
    gap: 9px;
}

.fc-public-schedule-list div,
.fc-public-exercise-stack div,
.fc-public-library-stack div {
    align-items: center;
    background: var(--fc-surface-soft);
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius-sm);
    display: grid;
    gap: 8px;
    grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr) auto;
    padding: 10px 12px;
}

.fc-public-exercise-stack div {
    grid-template-columns: auto minmax(0, 1fr) auto;
}

.fc-public-schedule-list b,
.fc-public-exercise-stack span,
.fc-public-library-stack b {
    color: var(--fc-text);
    font-size: 13px;
    font-weight: 800;
    line-height: 1.3;
}

.fc-public-schedule-list span,
.fc-public-library-stack span {
    color: var(--fc-muted);
    font-size: 12px;
    font-weight: 650;
    line-height: 1.35;
}

.fc-public-schedule-list em,
.fc-public-exercise-stack b,
.fc-public-library-stack em,
.fc-public-analytics-preview em {
    background: var(--fc-brand-soft);
    border-radius: var(--fc-radius-full);
    color: var(--fc-brand);
    display: inline-flex;
    font-size: 11px;
    font-style: normal;
    font-weight: 800;
    line-height: 1.2;
    padding: 5px 8px;
    white-space: nowrap;
}

.fc-public-exercise-stack i,
.fc-public-assignment-list i {
    align-items: center;
    background: var(--fc-routine-soft);
    border-radius: var(--fc-radius-xs);
    color: var(--fc-routine);
    display: inline-flex;
    height: 28px;
    justify-content: center;
    width: 28px;
}

.fc-public-assignment-list span {
    align-items: center;
    background: var(--fc-surface-soft);
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius-sm);
    color: var(--fc-text);
    display: flex;
    font-size: 13px;
    font-weight: 750;
    gap: 10px;
    padding: 10px 12px;
}

.fc-public-mini-bars {
    align-items: end;
    background:
        linear-gradient(var(--fc-border) 1px, transparent 1px),
        var(--fc-surface-soft);
    background-size: 100% 36px;
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius-sm);
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    min-height: 118px;
    padding: 16px;
}

.fc-public-mini-bars span {
    background: linear-gradient(180deg, var(--fc-brand), var(--fc-brand-hover));
    border-radius: var(--fc-radius-xs) var(--fc-radius-xs) 2px 2px;
    min-height: 20px;
}

.fc-public-product-tour {
    background:
        linear-gradient(135deg, rgba(127, 179, 213, 0.14), transparent 34%),
        var(--fc-surface-solid);
}

.fc-public-tour-head {
    align-items: end;
    display: flex;
    gap: 24px;
    justify-content: space-between;
}

.fc-public-tour-proof {
    background: var(--fc-surface);
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius-md);
    box-shadow: 0 18px 42px rgba(17, 23, 25, 0.08);
    min-width: 180px;
    padding: 18px;
}

.fc-public-tour-proof strong {
    color: var(--fc-text);
    display: block;
    font-size: 26px;
    font-weight: 850;
    line-height: 1.1;
}

.fc-public-tour-proof span {
    color: var(--fc-muted);
    display: block;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.35;
    margin-top: 6px;
}

.fc-public-tour-shell {
    display: grid;
    gap: 18px;
    grid-template-columns: 230px minmax(0, 1fr);
    margin-top: 30px;
}

.fc-public-tour-nav {
    align-content: start;
    background: #0f171a;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: var(--fc-radius-md);
    display: grid;
    gap: 8px;
    padding: 12px;
}

.fc-public-tour-nav button {
    align-items: center;
    border-radius: var(--fc-radius-sm);
    color: rgba(255, 255, 255, 0.72);
    display: flex;
    gap: 10px;
    min-height: 48px;
    padding: 10px 12px;
    text-align: left;
    transition: background-color 150ms ease, color 150ms ease, transform 150ms ease;
}

.fc-public-tour-nav button i {
    align-items: center;
    background: rgba(255, 255, 255, 0.08);
    border-radius: var(--fc-radius-xs);
    display: inline-flex;
    flex: 0 0 30px;
    height: 30px;
    justify-content: center;
    width: 30px;
}

.fc-public-tour-nav button span {
    font-size: 13px;
    font-weight: 800;
    line-height: 1.25;
}

.fc-public-tour-nav button.is-active {
    background: #ffffff;
    color: #183b56;
    transform: translateX(3px);
}

.fc-public-tour-nav button.is-active i {
    background: var(--fc-brand-soft);
    color: var(--fc-brand);
}

.fc-public-tour-stage {
    background: var(--fc-surface);
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius-md);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.76) inset,
        0 24px 64px rgba(17, 23, 25, 0.1);
    min-height: 620px;
    overflow: hidden;
    padding: 18px;
}

.fc-public-tour-scene {
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.65fr);
}

.fc-public-scene-main,
.fc-public-scene-side {
    display: grid;
    gap: 14px;
}

.fc-public-scene-main {
    align-content: start;
}

.fc-public-screen-bar {
    align-items: center;
    background: var(--fc-surface-soft);
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius-sm);
    display: grid;
    gap: 12px;
    grid-template-columns: auto minmax(0, 1fr) auto;
    padding: 12px 14px;
}

.fc-public-screen-bar span,
.fc-public-screen-bar em {
    color: var(--fc-muted);
    font-size: 12px;
    font-style: normal;
    font-weight: 800;
    text-transform: uppercase;
}

.fc-public-screen-bar strong {
    color: var(--fc-text);
    font-size: 15px;
    font-weight: 850;
}

.fc-public-screen-bar em {
    background: var(--fc-brand-soft);
    border-radius: var(--fc-radius-full);
    color: var(--fc-brand);
    padding: 6px 9px;
    text-transform: none;
}

.fc-public-detail-hero-mock {
    align-items: center;
    border-radius: var(--fc-radius-md);
    color: #ffffff;
    display: flex;
    gap: 18px;
    justify-content: space-between;
    min-height: 150px;
    padding: 24px;
}

.fc-public-detail-hero-diet {
    background: linear-gradient(135deg, #356b3e, #4d8f58 58%, #6faf7a);
}

.fc-public-detail-hero-routine {
    background: linear-gradient(135deg, #7a541f, #9a6a2e 58%, #c18a3a);
}

.fc-public-detail-hero-mock span {
    color: rgba(255, 255, 255, 0.82);
    display: block;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.fc-public-detail-hero-mock h3 {
    color: #ffffff;
    font-size: 28px;
    font-weight: 850;
    line-height: 1.08;
    margin: 8px 0 0;
}

.fc-public-detail-hero-mock p {
    color: rgba(255, 255, 255, 0.88);
    font-size: 14px;
    line-height: 1.45;
    margin: 9px 0 0;
    max-width: 560px;
}

.fc-public-detail-hero-mock > i {
    align-items: center;
    background: rgba(255, 255, 255, 0.18);
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: var(--fc-radius-md);
    display: inline-flex;
    flex: 0 0 70px;
    font-size: 28px;
    height: 70px;
    justify-content: center;
    width: 70px;
}

.fc-public-day-builder,
.fc-public-exercise-table,
.fc-public-risk-table,
.fc-public-package-steps {
    display: grid;
    gap: 9px;
}

.fc-public-day-builder div,
.fc-public-exercise-table div,
.fc-public-risk-table div {
    align-items: center;
    background: var(--fc-surface-soft);
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius-sm);
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.3fr) auto;
    padding: 12px 14px;
}

.fc-public-exercise-table div {
    grid-template-columns: auto minmax(0, 1fr) auto auto;
}

.fc-public-day-builder b,
.fc-public-exercise-table b,
.fc-public-risk-table b {
    color: var(--fc-text);
    font-size: 13px;
    font-weight: 850;
}

.fc-public-day-builder span,
.fc-public-exercise-table span,
.fc-public-risk-table span {
    color: var(--fc-muted);
    font-size: 12px;
    font-weight: 700;
}

.fc-public-day-builder em,
.fc-public-exercise-table em {
    background: var(--fc-brand-soft);
    border-radius: var(--fc-radius-full);
    color: var(--fc-brand);
    font-size: 11px;
    font-style: normal;
    font-weight: 850;
    padding: 5px 8px;
}

.fc-public-exercise-table i {
    align-items: center;
    background: var(--fc-routine-soft);
    border-radius: var(--fc-radius-xs);
    color: var(--fc-routine);
    display: inline-flex;
    height: 30px;
    justify-content: center;
    width: 30px;
}

.fc-public-side-card,
.fc-public-flow-card {
    background: var(--fc-surface-soft);
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius-md);
    padding: 18px;
}

.fc-public-side-card > span {
    color: var(--fc-muted);
    display: block;
    font-size: 12px;
    font-weight: 850;
    text-transform: uppercase;
}

.fc-public-side-card h3 {
    color: var(--fc-text);
    font-size: 18px;
    font-weight: 850;
    line-height: 1.2;
    margin: 7px 0 14px;
}

.fc-public-search-mock {
    align-items: center;
    background: var(--fc-surface);
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius-sm);
    color: var(--fc-muted);
    display: flex;
    font-size: 13px;
    font-weight: 700;
    gap: 9px;
    margin-bottom: 10px;
    padding: 10px 12px;
}

.fc-public-flow-card {
    align-items: center;
    display: flex;
    gap: 12px;
}

.fc-public-flow-card i {
    align-items: center;
    background: var(--fc-brand-soft);
    border-radius: var(--fc-radius-sm);
    color: var(--fc-brand);
    display: inline-flex;
    flex: 0 0 42px;
    height: 42px;
    justify-content: center;
    width: 42px;
}

.fc-public-flow-card strong {
    color: var(--fc-text);
    display: block;
    font-size: 14px;
    font-weight: 850;
}

.fc-public-flow-card span {
    color: var(--fc-muted);
    display: block;
    font-size: 12px;
    font-weight: 650;
    line-height: 1.4;
    margin-top: 3px;
}

.fc-public-package-builder {
    align-items: center;
    display: grid;
    gap: 16px;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
}

.fc-public-bundle-item,
.fc-public-bundle-plus,
.fc-public-assign-panel {
    background: var(--fc-surface-soft);
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius-md);
}

.fc-public-bundle-item {
    align-content: center;
    display: grid;
    gap: 10px;
    justify-items: center;
    min-height: 210px;
    overflow: hidden;
    padding: 28px 18px;
    position: relative;
    text-align: center;
}

.fc-public-bundle-item::before {
    border-radius: inherit;
    box-shadow: inset 5px 0 0 var(--fc-bundle-accent);
    content: "";
    inset: 0;
    opacity: 0.9;
    pointer-events: none;
    position: absolute;
}

.fc-public-bundle-item::after {
    background: var(--fc-bundle-accent);
    border-radius: var(--fc-radius-full);
    content: "";
    filter: blur(26px);
    height: 84px;
    opacity: 0.14;
    position: absolute;
    right: -30px;
    top: -22px;
    width: 84px;
}

.fc-public-bundle-item i,
.fc-public-bundle-plus i {
    align-items: center;
    background: var(--fc-package-soft);
    border-radius: var(--fc-radius-sm);
    color: var(--fc-package);
    display: inline-flex;
    height: 54px;
    justify-content: center;
    position: relative;
    width: 54px;
    z-index: 1;
}

.fc-public-bundle-item:first-child {
    --fc-bundle-accent: var(--fc-diet);
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--fc-diet) 16%, transparent), transparent 58%),
        var(--fc-surface);
    border-color: color-mix(in srgb, var(--fc-diet) 32%, var(--fc-border));
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.72) inset,
        0 18px 38px rgba(47, 138, 107, 0.1),
        0 0 0 3px color-mix(in srgb, var(--fc-diet) 8%, transparent);
}

.fc-public-bundle-item:first-child i {
    background: var(--fc-diet-soft);
    box-shadow: 0 10px 24px color-mix(in srgb, var(--fc-diet) 16%, transparent);
    color: var(--fc-diet);
}

.fc-public-bundle-item:last-child {
    --fc-bundle-accent: var(--fc-routine);
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--fc-routine) 18%, transparent), transparent 58%),
        var(--fc-surface);
    border-color: color-mix(in srgb, var(--fc-routine) 34%, var(--fc-border));
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.72) inset,
        0 18px 38px rgba(193, 138, 58, 0.12),
        0 0 0 3px color-mix(in srgb, var(--fc-routine) 9%, transparent);
}

.fc-public-bundle-item:last-child i {
    background: var(--fc-routine-soft);
    box-shadow: 0 10px 24px color-mix(in srgb, var(--fc-routine) 18%, transparent);
    color: var(--fc-routine);
}

.fc-public-bundle-item span {
    background: color-mix(in srgb, var(--fc-bundle-accent) 12%, transparent);
    border-radius: var(--fc-radius-full);
    color: var(--fc-bundle-accent);
    font-size: 12px;
    font-weight: 850;
    padding: 6px 10px;
    position: relative;
    text-transform: uppercase;
    z-index: 1;
}

.fc-public-bundle-item strong {
    color: var(--fc-text);
    font-size: 21px;
    font-weight: 850;
    line-height: 1.15;
    position: relative;
    z-index: 1;
}

.fc-public-bundle-plus {
    align-items: center;
    background: var(--fc-surface);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.72) inset,
        0 12px 28px rgba(17, 23, 25, 0.08);
    border-radius: var(--fc-radius-full);
    display: flex;
    height: 58px;
    justify-content: center;
    width: 58px;
}

.fc-public-assign-panel {
    align-items: center;
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr)) auto;
    padding: 16px;
}

.fc-public-assign-panel span {
    color: var(--fc-muted);
    display: block;
    font-size: 11px;
    font-weight: 850;
    text-transform: uppercase;
}

.fc-public-assign-panel strong {
    color: var(--fc-text);
    display: block;
    font-size: 14px;
    font-weight: 850;
    margin-top: 4px;
}

.fc-public-assign-panel button,
.fc-public-risk-table button,
.fc-public-plan-row button {
    align-items: center;
    background: var(--fc-brand-action);
    border-radius: var(--fc-radius-sm);
    color: #ffffff;
    display: inline-flex;
    font-size: 12px;
    font-weight: 850;
    gap: 7px;
    justify-content: center;
    min-height: 38px;
    padding: 8px 12px;
}

.fc-public-package-steps div {
    align-items: center;
    display: flex;
    gap: 10px;
}

.fc-public-package-steps b {
    align-items: center;
    background: var(--fc-package-soft);
    border-radius: var(--fc-radius-full);
    color: var(--fc-package);
    display: inline-flex;
    flex: 0 0 28px;
    height: 28px;
    justify-content: center;
    width: 28px;
}

.fc-public-package-steps span {
    color: var(--fc-text);
    font-size: 13px;
    font-weight: 750;
}

.fc-public-analytics-mosaic {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.fc-public-analytics-mosaic div {
    background:
        linear-gradient(135deg, var(--fc-brand-soft), transparent 58%),
        var(--fc-surface-soft);
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius-md);
    padding: 16px;
}

.fc-public-analytics-mosaic span {
    color: var(--fc-muted);
    display: block;
    font-size: 11px;
    font-weight: 850;
    line-height: 1.35;
    text-transform: uppercase;
}

.fc-public-analytics-mosaic strong {
    color: var(--fc-text);
    display: block;
    font-size: 24px;
    font-weight: 850;
    line-height: 1.1;
    margin-top: 9px;
}

.fc-public-analytics-mosaic em {
    color: var(--fc-success);
    display: block;
    font-size: 12px;
    font-style: normal;
    font-weight: 850;
    margin-top: 8px;
}

.fc-public-analytics-mosaic button {
    align-items: center;
    background: var(--fc-warning-soft);
    border-radius: var(--fc-radius-full);
    color: var(--fc-warning);
    display: inline-flex;
    font-size: 11px;
    font-weight: 850;
    gap: 6px;
    margin-top: 10px;
    padding: 6px 9px;
}

.fc-public-risk-table div {
    grid-template-columns: minmax(0, 1fr) auto auto;
}

.fc-public-risk-table button {
    background: var(--fc-warning);
}

.fc-public-coach-mock {
    background: var(--fc-surface-soft);
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius-md);
    overflow: hidden;
}

.fc-public-coach-hero {
    align-items: center;
    background:
        linear-gradient(135deg, rgba(16, 42, 67, 0.92), rgba(43, 106, 155, 0.82)),
        var(--fc-brand);
    color: #ffffff;
    display: flex;
    gap: 18px;
    padding: 28px;
}

.fc-public-coach-photo {
    align-items: center;
    background: rgba(255, 255, 255, 0.18);
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: var(--fc-radius-full);
    display: inline-flex;
    flex: 0 0 78px;
    font-size: 24px;
    font-weight: 850;
    height: 78px;
    justify-content: center;
    width: 78px;
}

.fc-public-coach-hero span,
.fc-public-coach-hero p {
    color: rgba(255, 255, 255, 0.82);
}

.fc-public-coach-hero h3 {
    color: #ffffff;
    font-size: 30px;
    font-weight: 850;
    line-height: 1.08;
    margin: 4px 0;
}

.fc-public-plan-row {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 18px;
}

.fc-public-plan-row div {
    background: var(--fc-surface);
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius-sm);
    padding: 16px;
}

.fc-public-plan-row span {
    color: var(--fc-muted);
    display: block;
    font-size: 12px;
    font-weight: 850;
}

.fc-public-plan-row strong {
    color: var(--fc-text);
    display: block;
    font-size: 26px;
    font-weight: 850;
    margin: 8px 0 12px;
}

.fc-public-testimonial-mini {
    background: var(--fc-surface);
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius-sm);
    margin-top: 10px;
    padding: 14px;
}

.fc-public-stars {
    color: #d97706;
    display: flex;
    gap: 3px;
    font-size: 12px;
}

.fc-public-testimonial-mini p {
    color: var(--fc-text);
    font-size: 13px;
    font-style: italic;
    font-weight: 650;
    line-height: 1.45;
    margin: 9px 0;
}

.fc-public-testimonial-mini strong {
    color: var(--fc-muted);
    font-size: 12px;
    font-weight: 850;
}

.fc-public-component-story {
    background:
        linear-gradient(135deg, rgba(127, 179, 213, 0.14), transparent 34%),
        var(--fc-surface-solid);
}

.fc-public-component-story .fc-public-section-head p {
    max-width: 760px;
}

.fc-public-story-flow {
    display: grid;
    gap: 18px;
    margin-top: 30px;
    position: relative;
}

.fc-public-story-flow::before {
    background: linear-gradient(180deg, var(--fc-brand), var(--fc-diet), var(--fc-routine), var(--fc-package), var(--fc-warning));
    border-radius: var(--fc-radius-full);
    bottom: 32px;
    content: "";
    left: 22px;
    opacity: 0.22;
    position: absolute;
    top: 32px;
    width: 4px;
}

.fc-public-story-row {
    background: var(--fc-surface);
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius-md);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.72) inset,
        0 20px 54px rgba(17, 23, 25, 0.08);
    display: grid;
    gap: 24px;
    grid-template-columns: minmax(240px, 0.72fr) minmax(0, 1.28fr);
    overflow: hidden;
    padding: 24px 24px 24px 42px;
    position: relative;
}

.fc-public-story-row::before {
    align-items: center;
    background: var(--fc-current-accent, var(--fc-brand));
    border: 4px solid var(--fc-surface-solid);
    border-radius: var(--fc-radius-full);
    box-shadow: 0 12px 24px color-mix(in srgb, var(--fc-current-accent, var(--fc-brand)) 20%, transparent);
    content: "";
    height: 18px;
    left: 15px;
    position: absolute;
    top: 34px;
    width: 18px;
    z-index: 1;
}

.fc-public-story-row-diet {
    --fc-current-accent: var(--fc-diet);
}

.fc-public-story-row-routine {
    --fc-current-accent: var(--fc-routine);
}

.fc-public-story-row-package {
    --fc-current-accent: var(--fc-package);
}

.fc-public-story-row-analytics {
    --fc-current-accent: var(--fc-brand);
}

.fc-public-story-row-public {
    --fc-current-accent: var(--fc-warning);
}

.fc-public-story-copy {
    align-self: center;
}

.fc-public-story-copy > span {
    align-items: center;
    background: color-mix(in srgb, var(--fc-current-accent) 13%, transparent);
    border-radius: var(--fc-radius-full);
    color: var(--fc-current-accent);
    display: inline-flex;
    font-size: 12px;
    font-weight: 850;
    gap: 8px;
    padding: 8px 11px;
}

.fc-public-story-copy h3 {
    color: var(--fc-text);
    font-size: clamp(22px, 3vw, 32px);
    font-weight: 850;
    line-height: 1.12;
    margin: 16px 0 0;
}

.fc-public-story-copy p {
    color: var(--fc-muted);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.6;
    margin: 12px 0 0;
}

.fc-public-story-visual {
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--fc-current-accent) 9%, transparent), transparent 46%),
        var(--fc-surface-soft);
    border: 1px solid color-mix(in srgb, var(--fc-current-accent) 18%, var(--fc-border));
    border-radius: var(--fc-radius-md);
    display: grid;
    gap: 12px;
    padding: 16px;
}

.fc-public-story-row:nth-child(even) {
    grid-template-columns: minmax(0, 1.28fr) minmax(240px, 0.72fr);
}

.fc-public-story-row:nth-child(even) .fc-public-story-copy {
    order: 2;
}

.fc-public-story-hero {
    align-items: center;
    border-radius: var(--fc-radius-sm);
    color: #ffffff;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    min-height: 96px;
    padding: 18px;
}

.fc-public-story-hero-diet {
    background: linear-gradient(135deg, #356b3e, #4d8f58 58%, #6faf7a);
}

.fc-public-story-hero-routine {
    background: linear-gradient(135deg, #7a541f, #9a6a2e 58%, #c18a3a);
}

.fc-public-story-hero span {
    color: rgba(255, 255, 255, 0.82);
    display: block;
    font-size: 11px;
    font-weight: 850;
    text-transform: uppercase;
}

.fc-public-story-hero strong {
    color: #ffffff;
    display: block;
    font-size: 22px;
    font-weight: 850;
    line-height: 1.12;
    margin-top: 5px;
}

.fc-public-story-hero em {
    background: rgba(9, 13, 15, 0.22);
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: var(--fc-radius-full);
    color: #ffffff;
    font-size: 12px;
    font-style: normal;
    font-weight: 800;
    padding: 7px 10px;
    white-space: nowrap;
}

.fc-public-story-split {
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 0.78fr);
}

.fc-public-library-panel {
    background: var(--fc-surface);
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius-sm);
    padding: 12px;
}

.fc-public-story-chipline {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.fc-public-story-chipline span {
    background: var(--fc-routine-soft);
    border-radius: var(--fc-radius-full);
    color: var(--fc-routine);
    font-size: 12px;
    font-weight: 850;
    padding: 7px 10px;
}

.fc-public-public-combo {
    grid-template-columns: minmax(0, 1fr) minmax(220px, 0.48fr);
}

.fc-public-public-combo .fc-public-testimonial-mini {
    align-self: stretch;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-top: 0;
}

.fc-public-feature-grid i,
.fc-public-premium-grid i {
    background: var(--fc-brand-soft);
    color: var(--fc-brand);
}

.fc-public-feature-grid h3,
.fc-public-premium-grid h3 {
    margin-top: 18px;
}

.fc-public-premium {
    display: grid;
    grid-template-columns: 0.85fr 1.15fr;
    gap: 28px;
    align-items: center;
}

.fc-public-premium-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 1024px) {
    .fc-public-hero,
    .fc-public-problem,
    .fc-public-premium {
        grid-template-columns: 1fr;
    }

    .fc-public-content-grid,
    .fc-public-feature-grid,
    .fc-public-showcase-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fc-public-showcase-wide {
        grid-column: span 2;
    }

    .fc-public-tint-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fc-public-tour-head {
        align-items: start;
        flex-direction: column;
    }

    .fc-public-tour-shell,
    .fc-public-tour-scene {
        grid-template-columns: 1fr;
    }

    .fc-public-tour-nav {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .fc-public-tour-nav button {
        justify-content: center;
    }

    .fc-public-tour-nav button span {
        display: none;
    }

    .fc-public-tour-nav button.is-active {
        transform: translateY(-2px);
    }

    .fc-public-tour-stage {
        min-height: 0;
    }

    .fc-public-analytics-mosaic {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fc-public-story-row,
    .fc-public-story-row:nth-child(even) {
        grid-template-columns: 1fr;
    }

    .fc-public-story-row:nth-child(even) .fc-public-story-copy {
        order: 0;
    }

    .fc-public-story-split,
    .fc-public-public-combo {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .impulzafit-public {
        padding: 16px 12px 0;
    }

    .fc-public-shell {
        gap: 40px;
    }

    .fc-public-hero,
    .fc-public-section,
    .fc-public-premium {
        border-radius: var(--fc-radius-md);
        padding: 18px;
    }

    .fc-public-console-top,
    .fc-public-chart-head {
        align-items: stretch;
        flex-direction: column;
    }

    .fc-public-tabs {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
    }

    .fc-public-tabs button {
        min-width: 0;
    }

    .fc-public-proof-grid,
    .fc-public-client-grid,
    .fc-public-real-grid,
    .fc-public-content-grid,
    .fc-public-kpi-grid,
    .fc-public-chart-grid,
    .fc-public-problem-grid,
    .fc-public-feature-grid,
    .fc-public-showcase-grid,
    .fc-public-premium-grid {
        grid-template-columns: 1fr;
    }

    .fc-public-showcase-wide {
        grid-column: span 1;
    }

    .fc-public-schedule-list div,
    .fc-public-library-stack div {
        grid-template-columns: 1fr auto;
    }

    .fc-public-schedule-list span,
    .fc-public-library-stack span {
        grid-column: 1 / -1;
        order: 3;
    }

    .fc-public-tour-head {
        display: grid;
    }

    .fc-public-tour-proof {
        min-width: 0;
    }

    .fc-public-tour-stage {
        padding: 12px;
    }

    .fc-public-tour-nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fc-public-tour-nav button {
        justify-content: flex-start;
    }

    .fc-public-tour-nav button span {
        display: inline;
    }

    .fc-public-screen-bar,
    .fc-public-day-builder div,
    .fc-public-risk-table div,
    .fc-public-assign-panel,
    .fc-public-package-builder,
    .fc-public-plan-row,
    .fc-public-analytics-mosaic {
        grid-template-columns: 1fr;
    }

    .fc-public-screen-bar em,
    .fc-public-day-builder em {
        justify-self: start;
    }

    .fc-public-detail-hero-mock,
    .fc-public-coach-hero {
        align-items: flex-start;
        flex-direction: column;
    }

    .fc-public-detail-hero-mock h3,
    .fc-public-coach-hero h3 {
        font-size: 24px;
    }

    .fc-public-exercise-table div {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .fc-public-exercise-table span,
    .fc-public-exercise-table em {
        grid-column: 2;
        justify-self: start;
    }

    .fc-public-bundle-plus {
        justify-self: center;
    }

    .fc-public-story-flow::before {
        display: none;
    }

    .fc-public-story-row {
        padding: 18px;
    }

    .fc-public-story-row::before {
        display: none;
    }

    .fc-public-story-visual {
        padding: 12px;
    }

    .fc-public-story-hero {
        align-items: flex-start;
        flex-direction: column;
    }

    .fc-public-story-hero em {
        white-space: normal;
    }

    .fc-public-console-panel {
        min-height: auto;
        height: auto;
        overflow: visible;
    }

    .fc-public-console-panel .fc-public-product-card {
        height: auto;
    }
}

.dashboard-premium .dashboard-sidebar {
    background:
        linear-gradient(180deg, rgba(127, 179, 213, 0.1), transparent 220px),
        linear-gradient(180deg, #090d0f 0%, #102a43 100%) !important;
    border-right: 1px solid rgba(225, 230, 231, 0.1);
    width: 16rem;
    transition: width 300ms ease, transform 300ms ease;
}

.dashboard-premium .dashboard-content-shell {
    transition: margin-left 300ms ease;
}

.dashboard-premium .dashboard-sidebar-brand,
.dashboard-premium .dashboard-sidebar-profile,
.dashboard-premium .dashboard-sidebar-logout {
    border-color: rgba(225, 230, 231, 0.11) !important;
}

.dashboard-premium .dashboard-sidebar-logo {
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.dashboard-premium .dashboard-sidebar-logo i {
    color: #7fb3d5 !important;
}

.dashboard-premium .dashboard-sidebar-toggle {
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 0.5rem;
    color: #d9e8f2;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.14);
    transition: background 180ms ease, color 180ms ease, transform 180ms ease;
}

.dashboard-premium .dashboard-sidebar-toggle:hover {
    background: rgba(255, 255, 255, 0.16);
    color: #ffffff;
}

.dashboard-premium .dashboard-sidebar-toggle-icon {
    position: relative;
    width: 1.05rem;
    height: 1.2rem;
    border: 2px solid rgba(225, 230, 231, 0.72);
    border-radius: 0.22rem;
    box-shadow: inset 0.32rem 0 0 rgba(225, 230, 231, 0.22);
}

.dashboard-premium.dashboard-sidebar-collapsed .dashboard-sidebar-toggle-icon {
    box-shadow: inset -0.32rem 0 0 rgba(225, 230, 231, 0.22);
}

.dashboard-premium.dashboard-sidebar-collapsed .dashboard-sidebar-toggle-icon::before {
    content: "";
    position: absolute;
    top: 50%;
    left: -0.5rem;
    width: 0.5rem;
    height: 2px;
    background: rgba(225, 230, 231, 0.86);
    transform: translateY(-50%);
}

.dashboard-premium.dashboard-sidebar-collapsed .dashboard-sidebar-toggle-icon::after {
    content: "";
    position: absolute;
    top: 50%;
    left: -0.16rem;
    width: 0.34rem;
    height: 0.34rem;
    border-top: 2px solid rgba(225, 230, 231, 0.86);
    border-right: 2px solid rgba(225, 230, 231, 0.86);
    transform: translateY(-50%) rotate(45deg);
}

.dashboard-premium .dashboard-sidebar-title {
    color: #ffffff;
}

.dashboard-premium .dashboard-sidebar-brand p,
.dashboard-premium .dashboard-sidebar-profile-role {
    color: #a9c7dc !important;
}

.dashboard-premium .dashboard-sidebar-avatar {
    background: linear-gradient(135deg, #2b6a9b, #183b56) !important;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.14);
}

.dashboard-premium .dashboard-sidebar-link {
    color: #c9d7df !important;
    border: 1px solid transparent;
}

.dashboard-premium .dashboard-sidebar-link i {
    flex: 0 0 1.25rem;
    text-align: center;
}

.dashboard-premium .dashboard-sidebar-link-inactive {
    color: #c9d7df !important;
}

.dashboard-premium .dashboard-sidebar-link:hover {
    background: rgba(255, 255, 255, 0.07) !important;
    color: #ffffff !important;
}

.dashboard-premium .dashboard-sidebar-link-active {
    background: rgba(127, 179, 213, 0.16) !important;
    border-color: rgba(127, 179, 213, 0.24);
    color: #ffffff !important;
    box-shadow: inset 3px 0 0 #7fb3d5;
}

.dashboard-premium .dashboard-sidebar-link.bg-purple-700,
.dashboard-premium .dashboard-sidebar-link.bg-sky-600 {
    background: rgba(127, 179, 213, 0.16) !important;
    border-color: rgba(127, 179, 213, 0.24);
    color: #ffffff !important;
    box-shadow: inset 3px 0 0 #7fb3d5;
}

.dashboard-premium .dashboard-sidebar-secondary {
    border-color: rgba(225, 230, 231, 0.11) !important;
}

.dashboard-premium .dashboard-sidebar-logout .dashboard-sidebar-link:hover {
    background: rgba(194, 74, 58, 0.2) !important;
}

@media (min-width: 1024px) {
    .dashboard-premium .dashboard-content-shell {
        margin-left: 16rem;
    }

    .dashboard-premium.dashboard-sidebar-collapsed .dashboard-sidebar {
        width: 5rem;
    }

    .dashboard-premium.dashboard-sidebar-collapsed .dashboard-content-shell {
        margin-left: 5rem;
    }

    .dashboard-premium.dashboard-sidebar-collapsed .dashboard-sidebar-brand,
    .dashboard-premium.dashboard-sidebar-collapsed .dashboard-sidebar-logout {
        padding-left: 0.875rem;
        padding-right: 0.875rem;
    }

    .dashboard-premium.dashboard-sidebar-collapsed .dashboard-sidebar-brand {
        justify-content: center;
    }

    .dashboard-premium.dashboard-sidebar-collapsed .dashboard-sidebar-profile,
    .dashboard-premium.dashboard-sidebar-collapsed .dashboard-sidebar-logo,
    .dashboard-premium.dashboard-sidebar-collapsed .dashboard-sidebar-copy,
    .dashboard-premium.dashboard-sidebar-collapsed .dashboard-sidebar-label,
    .dashboard-premium.dashboard-sidebar-collapsed .dashboard-sidebar-badge {
        display: none !important;
    }

    .dashboard-premium.dashboard-sidebar-collapsed .dashboard-sidebar-toggle {
        width: 1.75rem;
        height: 1.75rem;
        font-size: 0.8125rem;
    }

    .dashboard-premium.dashboard-sidebar-collapsed .dashboard-sidebar-nav {
        padding-left: 0.75rem;
        padding-right: 0.75rem;
    }

    .dashboard-premium.dashboard-sidebar-collapsed .dashboard-sidebar-link {
        justify-content: center;
        gap: 0;
        min-height: 2.75rem;
        padding-left: 0;
        padding-right: 0;
    }

    .dashboard-premium.dashboard-sidebar-collapsed .dashboard-sidebar-link-main {
        justify-content: center;
        gap: 0;
    }

    .dashboard-premium.dashboard-sidebar-collapsed .dashboard-sidebar-link-active {
        box-shadow: inset 0 0 0 1px rgba(127, 179, 213, 0.26);
    }
}

@media (max-height: 760px) {
    .dashboard-sidebar-brand {
        padding: 0.875rem 1rem;
    }

    .dashboard-sidebar-profile {
        padding: 0.75rem 1rem;
    }

    .dashboard-sidebar-nav {
        padding-top: 0.625rem;
        padding-bottom: 0.625rem;
    }

    .dashboard-sidebar-link {
        padding-top: 0.45rem;
        padding-bottom: 0.45rem;
        font-size: 0.925rem;
    }

    .dashboard-sidebar-secondary {
        margin-top: 0.75rem;
        padding-top: 0.75rem;
    }

    .dashboard-sidebar-logout {
        padding: 0.75rem;
    }
}

@media (max-height: 680px) {
    .dashboard-sidebar-brand {
        padding: 0.625rem 1rem;
    }

    .dashboard-sidebar-logo {
        width: 2rem;
        height: 2rem;
    }

    .dashboard-sidebar-title {
        font-size: 1rem;
        line-height: 1.35;
    }

    .dashboard-sidebar-profile {
        padding: 0.5rem 1rem;
    }

    .dashboard-sidebar-avatar,
    .dashboard-sidebar-avatar img {
        width: 2.25rem;
        height: 2.25rem;
    }

    .dashboard-sidebar-profile-name {
        font-size: 0.925rem;
        line-height: 1.25;
    }

    .dashboard-sidebar-profile-role {
        font-size: 0.75rem;
        line-height: 1.2;
    }

    .dashboard-sidebar-nav {
        padding-top: 0.375rem;
        padding-bottom: 0.375rem;
    }

    .dashboard-sidebar-link {
        padding-top: 0.325rem;
        padding-bottom: 0.325rem;
        font-size: 0.875rem;
    }

    .dashboard-sidebar-secondary {
        margin-top: 0.5rem;
        padding-top: 0.5rem;
    }

    .dashboard-sidebar-logout {
        padding: 0.5rem 0.75rem;
    }
}

.trainer-dashboard-surface {
    min-height: calc(100vh - 73px);
}

.trainer-dashboard-surface *,
.trainer-dashboard-surface *::before,
.trainer-dashboard-surface *::after {
    letter-spacing: 0;
}

.trainer-dashboard-surface :focus-visible {
    outline: none;
    box-shadow: var(--fc-shadow-focus) !important;
}

.trainer-dashboard-surface .fc-page {
    padding: var(--fc-page-padding-desktop);
}

@media (max-width: 768px) {
    .trainer-dashboard-surface .fc-page {
        padding: var(--fc-page-padding-mobile);
    }
}

.trainer-dashboard-surface .fc-page-title {
    color: var(--fc-text) !important;
    font-size: 28px;
    font-weight: 750;
    line-height: 1.18;
}

.trainer-dashboard-surface .fc-section-title {
    color: var(--fc-text) !important;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.25;
}

.trainer-dashboard-surface .fc-body-text {
    color: var(--fc-text) !important;
    font-size: 15px;
    font-weight: 450;
    line-height: 1.5;
}

.trainer-dashboard-surface .fc-caption {
    color: var(--fc-muted) !important;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.35;
}

.trainer-dashboard-surface .bg-white,
.trainer-dashboard-surface .bg-gray-50,
.trainer-dashboard-surface .bg-gray-100 {
    background-color: var(--fc-surface) !important;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.trainer-dashboard-surface .text-gray-900,
.trainer-dashboard-surface .text-gray-800,
.trainer-dashboard-surface .text-gray-700 {
    color: var(--fc-text) !important;
}

.trainer-dashboard-surface .text-gray-600,
.trainer-dashboard-surface .text-gray-500,
.trainer-dashboard-surface .text-gray-400 {
    color: var(--fc-muted) !important;
}

.trainer-dashboard-surface .border-gray-100,
.trainer-dashboard-surface .border-gray-200,
.trainer-dashboard-surface .border-gray-300,
.trainer-dashboard-surface .divide-gray-200 > :not([hidden]) ~ :not([hidden]) {
    border-color: var(--fc-border) !important;
}

.trainer-dashboard-surface .shadow-sm {
    box-shadow: var(--fc-shadow-card) !important;
}

.trainer-dashboard-surface input,
.trainer-dashboard-surface select,
.trainer-dashboard-surface textarea {
    background-color: var(--fc-surface-solid) !important;
    border-color: var(--fc-border-strong) !important;
    color: var(--fc-text) !important;
}

.trainer-dashboard-surface input:focus,
.trainer-dashboard-surface select:focus,
.trainer-dashboard-surface textarea:focus {
    border-color: var(--fc-brand) !important;
    box-shadow: var(--fc-shadow-focus) !important;
}

.trainer-dashboard-surface .fc-page-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 32px;
}

.trainer-dashboard-surface .fc-page-header-main {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 12px;
}

.trainer-dashboard-surface .fc-page-header-actions {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    gap: 12px;
}

@media (max-width: 768px) {
    .trainer-dashboard-surface .fc-page-header {
        align-items: stretch;
        flex-direction: column;
    }

    .trainer-dashboard-surface .fc-page-header-actions,
    .trainer-dashboard-surface .fc-page-header-actions > * {
        width: 100%;
    }
}

.trainer-dashboard-surface .fc-control,
.trainer-dashboard-surface .fc-button,
.trainer-dashboard-surface .fc-primary-action,
.trainer-dashboard-surface .fc-secondary-action,
.trainer-dashboard-surface .fc-danger-action {
    display: inline-flex;
    min-height: var(--fc-control-height);
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-radius: var(--fc-radius-sm) !important;
    padding: 10px 18px;
    font-size: 15px;
    font-weight: 650;
    line-height: 1.35;
    transition: background-color 150ms ease, border-color 150ms ease, color 150ms ease, box-shadow 150ms ease;
}

.trainer-dashboard-surface .fc-icon-button,
.trainer-dashboard-surface .fc-icon-action {
    display: inline-flex;
    width: var(--fc-icon-button-size);
    height: var(--fc-icon-button-size);
    min-width: var(--fc-icon-button-size);
    align-items: center;
    justify-content: center;
    border-radius: var(--fc-radius-sm) !important;
    background: var(--fc-surface-soft) !important;
    color: var(--fc-muted) !important;
    transition: background-color 150ms ease, color 150ms ease, box-shadow 150ms ease;
}

.trainer-dashboard-surface .fc-icon-button:hover,
.trainer-dashboard-surface .fc-icon-action:hover {
    color: var(--fc-text) !important;
    background: var(--fc-brand-faint) !important;
}

.trainer-dashboard-surface .fc-assignment-selected-count {
    background: var(--fc-danger-soft) !important;
    color: var(--fc-danger) !important;
    font-weight: 800;
    min-width: 1.5rem;
    text-align: center;
}

html.dark .trainer-dashboard-surface .fc-assignment-selected-count {
    background: var(--fc-danger) !important;
    color: #ffffff !important;
}

.trainer-dashboard-surface .fc-routine-meta-chip {
    align-items: center;
    border-radius: var(--fc-radius-full);
    display: inline-flex;
    font-size: 12px;
    font-weight: 650;
    gap: 4px;
    line-height: 1.25;
    padding: 5px 9px;
}

.trainer-dashboard-surface .fc-routine-meta-chip i {
    font-size: 11px;
}

.trainer-dashboard-surface .fc-quick-action {
    display: inline-flex;
    width: var(--fc-icon-button-size);
    height: var(--fc-icon-button-size);
    min-width: var(--fc-icon-button-size);
    align-items: center;
    justify-content: center;
    border-radius: var(--fc-radius-sm) !important;
    border: 1px solid var(--fc-border);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.38);
    transition: background-color 150ms ease, border-color 150ms ease, color 150ms ease, transform 150ms ease;
}

.trainer-dashboard-surface .fc-quick-action:hover,
.trainer-dashboard-surface .fc-quick-action:focus-visible {
    transform: translateY(-1px);
}

.trainer-dashboard-surface .fc-quick-action-detail {
    background: var(--fc-brand-soft) !important;
    color: var(--fc-brand) !important;
    border-color: color-mix(in srgb, var(--fc-brand) 24%, transparent) !important;
}

.trainer-dashboard-surface .fc-quick-action-diet {
    background: var(--fc-diet-soft) !important;
    color: var(--fc-diet) !important;
    border-color: color-mix(in srgb, var(--fc-diet) 24%, transparent) !important;
}

.trainer-dashboard-surface .fc-quick-action-routine {
    background: var(--fc-routine-soft) !important;
    color: var(--fc-routine) !important;
    border-color: color-mix(in srgb, var(--fc-routine) 26%, transparent) !important;
}

.trainer-dashboard-surface .fc-danger-action {
    background: var(--fc-danger) !important;
    color: #ffffff !important;
    border: 1px solid color-mix(in srgb, var(--fc-danger) 80%, #000000 20%) !important;
}

.trainer-dashboard-surface .fc-danger-action,
.trainer-dashboard-surface .fc-success-action,
.trainer-dashboard-surface .fc-warning-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-radius: var(--fc-radius-sm) !important;
    min-height: 40px;
    line-height: 1.25;
}

.trainer-dashboard-surface .fc-modal-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-radius: var(--fc-radius-sm) !important;
    min-height: 40px;
    line-height: 1.25;
}

.trainer-dashboard-surface .fc-danger-action:hover {
    background: #a83d30 !important;
}

.trainer-dashboard-surface .fc-success-action {
    background: var(--fc-success) !important;
    color: #ffffff !important;
    border: 1px solid color-mix(in srgb, var(--fc-success) 80%, #000000 20%) !important;
}

.trainer-dashboard-surface .fc-success-action:hover {
    background: color-mix(in srgb, var(--fc-success) 88%, #000000 12%) !important;
}

.trainer-dashboard-surface .fc-warning-action {
    background: var(--fc-warning) !important;
    color: #ffffff !important;
    border: 1px solid color-mix(in srgb, var(--fc-warning) 80%, #000000 20%) !important;
}

.trainer-dashboard-surface .fc-warning-action:hover {
    background: color-mix(in srgb, var(--fc-warning) 88%, #000000 12%) !important;
}

.trainer-dashboard-surface .fc-search-panel {
    position: relative;
    z-index: 20;
    overflow: visible;
    background: rgba(255, 255, 255, 0.92) !important;
    border-color: var(--fc-border) !important;
    box-shadow: var(--fc-shadow-card) !important;
}

html.dark .trainer-dashboard-surface .fc-search-panel {
    background: rgba(23, 32, 35, 0.92) !important;
}

.trainer-dashboard-surface .fc-filter {
    position: relative;
    z-index: 30;
}

.trainer-dashboard-surface .fc-filter-trigger {
    display: inline-flex;
    min-width: 120px;
    align-items: center;
    gap: 8px;
    border: 1px solid var(--fc-border-strong) !important;
    border-radius: var(--fc-radius-sm);
    padding: 10px 16px;
    background: var(--fc-surface-solid) !important;
    color: var(--fc-text) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72);
    transition: background-color 150ms ease, border-color 150ms ease, color 150ms ease, box-shadow 150ms ease;
}

html.dark .trainer-dashboard-surface .fc-filter-trigger {
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.trainer-dashboard-surface .fc-filter-trigger:hover {
    background: var(--fc-surface-soft) !important;
    border-color: rgba(53, 126, 168, 0.32) !important;
}

.trainer-dashboard-surface .fc-filter-menu {
    position: absolute;
    right: 0;
    margin-top: 8px;
    z-index: 40 !important;
    width: 210px !important;
    background: rgba(255, 255, 255, 0.96) !important;
    border-color: rgba(16, 42, 67, 0.14) !important;
    border-radius: 16px !important;
    padding: 8px !important;
    box-shadow: 0 24px 70px rgba(16, 42, 67, 0.22), 0 2px 8px rgba(16, 42, 67, 0.08) !important;
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    transform-origin: top right;
}

html.dark .trainer-dashboard-surface .fc-filter-menu {
    background: rgba(18, 25, 28, 0.96) !important;
    border-color: rgba(225, 230, 231, 0.16) !important;
    box-shadow: 0 28px 80px rgba(0, 0, 0, 0.44), 0 2px 8px rgba(0, 0, 0, 0.22) !important;
}

.trainer-dashboard-surface .fc-filter-category,
.trainer-dashboard-surface .fc-filter-option {
    display: flex;
    width: 100%;
    align-items: center;
    gap: 8px;
    border-radius: 10px;
    padding: 9px 10px;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.35;
    text-align: left;
    background-color: transparent !important;
    color: var(--fc-text) !important;
}

.trainer-dashboard-surface .fc-filter-category {
    justify-content: space-between;
}

.trainer-dashboard-surface .fc-filter-group {
    position: relative;
}

.trainer-dashboard-surface .fc-filter-group::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 100%;
    width: 12px;
}

.trainer-dashboard-surface .fc-filter-category:hover,
.trainer-dashboard-surface .fc-filter-group:focus-within > .fc-filter-category,
.trainer-dashboard-surface .fc-filter-group:hover > .fc-filter-category,
.trainer-dashboard-surface .fc-filter-option:hover {
    background-color: var(--fc-brand-faint) !important;
}

.trainer-dashboard-surface .fc-filter-category i,
.trainer-dashboard-surface .fc-filter-option i {
    color: var(--fc-muted) !important;
    opacity: 0.88;
}

.trainer-dashboard-surface .fc-filter-trigger i,
.trainer-dashboard-surface .fc-filter-trigger span {
    color: inherit !important;
}

.trainer-dashboard-surface .fc-filter-group:focus-within > .fc-filter-category i,
.trainer-dashboard-surface .fc-filter-group:hover > .fc-filter-category i,
.trainer-dashboard-surface .fc-filter-category:hover i {
    color: var(--fc-brand) !important;
    opacity: 1;
}

.trainer-dashboard-surface .fc-filter-submenu {
    position: absolute;
    top: 0;
    left: calc(100% + 6px);
    z-index: 10000;
    width: 238px;
    max-height: min(70vh, 440px);
    overflow-y: auto;
    padding: 8px;
    border: 1px solid rgba(16, 42, 67, 0.14);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.97);
    box-shadow: 0 24px 70px rgba(16, 42, 67, 0.22), 0 2px 8px rgba(16, 42, 67, 0.08);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateX(-4px) scale(0.98);
    transform-origin: top left;
    transition: opacity 140ms ease, transform 140ms ease, visibility 140ms ease;
}

.trainer-dashboard-surface .fc-filter-group:hover > .fc-filter-submenu,
.trainer-dashboard-surface .fc-filter-group:focus-within > .fc-filter-submenu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(0) scale(1);
}

html.dark .trainer-dashboard-surface .fc-filter-submenu {
    background: rgba(18, 25, 28, 0.97);
    border-color: rgba(225, 230, 231, 0.16);
    box-shadow: 0 28px 80px rgba(0, 0, 0, 0.44), 0 2px 8px rgba(0, 0, 0, 0.22);
}

.trainer-dashboard-surface .fc-filter-submenu-title {
    padding: 7px 9px 9px;
    color: var(--fc-muted);
    font-size: 12px;
    font-weight: 650;
    line-height: 1.35;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.trainer-dashboard-surface .fc-filter-option-selected {
    color: var(--fc-text) !important;
    background-color: var(--fc-brand-faint) !important;
    box-shadow: inset 3px 0 0 var(--fc-brand);
}

.trainer-dashboard-surface .fc-filter-option-selected.fc-filter-option-success {
    box-shadow: inset 3px 0 0 var(--fc-success);
}

.trainer-dashboard-surface .fc-filter-option-selected.fc-filter-option-warning {
    box-shadow: inset 3px 0 0 var(--fc-warning);
}

.trainer-dashboard-surface .fc-filter-option-selected.fc-filter-option-danger {
    box-shadow: inset 3px 0 0 var(--fc-danger);
}

.trainer-dashboard-surface .fc-filter-option-selected.fc-filter-option-package {
    box-shadow: inset 3px 0 0 var(--fc-package);
}

.trainer-dashboard-surface .fc-filter-option-selected.fc-filter-option-plan {
    box-shadow: inset 3px 0 0 var(--fc-plan);
}

.trainer-dashboard-surface .fc-filter-option-selected.fc-filter-option-diet {
    box-shadow: inset 3px 0 0 var(--fc-diet);
}

.trainer-dashboard-surface .fc-filter-option-selected.fc-filter-option-routine {
    box-shadow: inset 3px 0 0 var(--fc-routine);
}

.trainer-dashboard-surface .fc-filter-option-selected.fc-filter-option-brand {
    box-shadow: inset 3px 0 0 var(--fc-brand);
}

.trainer-dashboard-surface .fc-filter-option-selected.fc-filter-option-muted {
    box-shadow: inset 3px 0 0 var(--fc-muted);
}

.trainer-dashboard-surface .fc-filter-option-selected i.fa-check {
    color: var(--fc-brand) !important;
    opacity: 1;
}

@media (max-width: 768px) {
    .trainer-dashboard-surface .fc-filter-submenu {
        position: static;
        width: 100%;
        max-height: 260px;
        margin-top: 8px;
        box-shadow: none;
        display: none;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: none;
    }

    .trainer-dashboard-surface .fc-filter-group:hover > .fc-filter-submenu,
    .trainer-dashboard-surface .fc-filter-group:focus-within > .fc-filter-submenu {
        display: block;
    }
}

.trainer-dashboard-surface .fc-panel,
.trainer-dashboard-surface .fc-client-card,
.trainer-dashboard-surface .fc-kpi-card {
    background: var(--fc-surface) !important;
    border: 1px solid var(--fc-border) !important;
    border-radius: var(--fc-radius-md);
    box-shadow: var(--fc-shadow-card) !important;
}

.trainer-dashboard-surface .fc-card {
    background: var(--fc-surface) !important;
    border: 1px solid var(--fc-border) !important;
    border-radius: var(--fc-radius-md);
    box-shadow: var(--fc-shadow-card) !important;
    padding: 24px;
}

.trainer-dashboard-surface .fc-card-flush {
    padding: 0 !important;
    overflow: hidden;
}

.trainer-dashboard-surface .fc-card-compact,
.trainer-dashboard-surface .fc-soft-panel {
    background: var(--fc-surface-soft) !important;
    border: 1px solid var(--fc-border) !important;
    border-radius: var(--fc-radius-sm);
    padding: 16px;
}

.trainer-dashboard-surface .fc-card-interactive {
    cursor: pointer;
    transition: border-color 150ms ease, box-shadow 150ms ease, background-color 150ms ease;
}

.trainer-dashboard-surface .fc-card-interactive:hover {
    border-color: var(--fc-border-strong) !important;
    box-shadow: var(--fc-shadow-hover) !important;
}

.trainer-dashboard-surface .fc-card-selected {
    border-color: var(--fc-brand) !important;
    box-shadow: var(--fc-shadow-focus), var(--fc-shadow-card) !important;
}

.trainer-dashboard-surface .fc-kpi-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

@media (max-width: 1024px) {
    .trainer-dashboard-surface .fc-kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .trainer-dashboard-surface .fc-kpi-grid {
        grid-template-columns: 1fr;
    }
}

.trainer-dashboard-surface .fc-kpi-card {
    min-height: 132px;
    padding: 24px;
}

.trainer-dashboard-surface .fc-metric-card {
    position: relative;
    overflow: hidden;
}

.trainer-dashboard-surface .fc-metric-card::before,
.trainer-dashboard-surface .fc-program-card::before {
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    content: "";
    background: var(--fc-current-accent, var(--fc-brand));
    opacity: 0.86;
}

.trainer-dashboard-surface .fc-metric-card > *,
.trainer-dashboard-surface .fc-program-card > * {
    position: relative;
    z-index: 1;
}

.trainer-dashboard-surface .fc-metric-footer {
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px solid var(--fc-border);
}

.trainer-dashboard-surface .fc-metric-card.bg-gradient-to-br {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--fc-current-accent-soft) 62%, transparent), transparent 52%),
        var(--fc-surface) !important;
    border: 1px solid color-mix(in srgb, var(--fc-current-accent) 28%, var(--fc-border)) !important;
    border-radius: var(--fc-radius-md) !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.72) inset,
        0 18px 42px rgba(17, 23, 25, 0.08),
        0 0 0 3px color-mix(in srgb, var(--fc-current-accent) 8%, transparent) !important;
    color: var(--fc-text) !important;
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.trainer-dashboard-surface .fc-metric-card.bg-gradient-to-br:hover {
    border-color: color-mix(in srgb, var(--fc-current-accent) 42%, var(--fc-border)) !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.76) inset,
        0 22px 52px rgba(17, 23, 25, 0.12),
        0 0 0 4px color-mix(in srgb, var(--fc-current-accent) 11%, transparent) !important;
    transform: translateY(-1px);
}

html.dark .trainer-dashboard-surface .fc-metric-card.bg-gradient-to-br {
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--fc-current-accent-soft) 70%, transparent), transparent 58%),
        linear-gradient(180deg, color-mix(in srgb, var(--fc-surface-solid) 92%, var(--fc-current-accent) 8%), var(--fc-surface)) !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.06) inset,
        0 18px 46px rgba(0, 0, 0, 0.28),
        0 0 0 3px color-mix(in srgb, var(--fc-current-accent) 14%, transparent) !important;
}

.trainer-dashboard-surface .fc-metric-card.bg-gradient-to-br::before {
    position: absolute;
    inset: 0;
    width: auto;
    border-radius: inherit;
    content: "";
    pointer-events: none;
    box-shadow: inset 4px 0 0 var(--fc-current-accent);
    opacity: 0.86;
}

.trainer-dashboard-surface .fc-metric-card.bg-gradient-to-br p,
.trainer-dashboard-surface .fc-metric-card.bg-gradient-to-br span,
.trainer-dashboard-surface .fc-metric-card.bg-gradient-to-br details,
.trainer-dashboard-surface .fc-metric-card.bg-gradient-to-br summary {
    color: var(--fc-muted) !important;
}

.trainer-dashboard-surface .fc-metric-card.bg-gradient-to-br h3,
.trainer-dashboard-surface .fc-metric-card.bg-gradient-to-br .font-bold,
.trainer-dashboard-surface .fc-metric-card.bg-gradient-to-br .font-semibold {
    color: var(--fc-text) !important;
}

.trainer-dashboard-surface .fc-metric-card.bg-gradient-to-br .bg-white\/20 {
    background: var(--fc-current-accent-soft) !important;
    border: 1px solid color-mix(in srgb, var(--fc-current-accent) 24%, transparent);
    box-shadow: 0 10px 24px color-mix(in srgb, var(--fc-current-accent) 16%, transparent);
    color: var(--fc-current-accent) !important;
}

.trainer-dashboard-surface .fc-metric-card.bg-gradient-to-br .bg-white\/20 i {
    color: var(--fc-current-accent) !important;
}

.trainer-dashboard-surface .fc-kpi-value {
    color: var(--fc-text) !important;
    font-size: 30px;
    font-weight: 750;
    line-height: 1.15;
    font-variant-numeric: tabular-nums;
}

.trainer-dashboard-surface .fc-kpi-label,
.trainer-dashboard-surface .fc-kpi-description {
    color: var(--fc-muted) !important;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.35;
}

.trainer-dashboard-surface .fc-token-text {
    color: var(--fc-text) !important;
}

.trainer-dashboard-surface .fc-token-muted {
    color: var(--fc-muted) !important;
}

.trainer-dashboard-surface .fc-accent-brand {
    --fc-current-accent: var(--fc-brand);
    --fc-current-accent-soft: var(--fc-brand-soft);
}

.trainer-dashboard-surface .fc-accent-diet {
    --fc-current-accent: var(--fc-diet);
    --fc-current-accent-soft: var(--fc-diet-soft);
}

.trainer-dashboard-surface .fc-accent-routine {
    --fc-current-accent: var(--fc-routine);
    --fc-current-accent-soft: var(--fc-routine-soft);
}

.trainer-dashboard-surface.trainer-routines-premium {
    --fc-current-accent: var(--fc-routine);
    --fc-current-accent-soft: var(--fc-routine-soft);
}

.trainer-dashboard-surface .fc-accent-package {
    --fc-current-accent: var(--fc-package);
    --fc-current-accent-soft: var(--fc-package-soft);
}

.trainer-dashboard-surface .fc-accent-plan {
    --fc-current-accent: var(--fc-plan);
    --fc-current-accent-soft: var(--fc-plan-soft);
}

.trainer-dashboard-surface .fc-accent-success {
    --fc-current-accent: var(--fc-success);
    --fc-current-accent-soft: var(--fc-success-soft);
}

.trainer-dashboard-surface .fc-accent-warning {
    --fc-current-accent: var(--fc-warning);
    --fc-current-accent-soft: var(--fc-warning-soft);
}

.trainer-dashboard-surface .fc-accent-danger {
    --fc-current-accent: var(--fc-danger);
    --fc-current-accent-soft: var(--fc-danger-soft);
}

.trainer-dashboard-surface .fc-accent-info {
    --fc-current-accent: var(--fc-info);
    --fc-current-accent-soft: var(--fc-info-soft);
}

.trainer-dashboard-surface .fc-accent-soft,
.trainer-dashboard-surface .fc-icon-tile {
    background: var(--fc-current-accent-soft) !important;
    color: var(--fc-current-accent) !important;
}

.trainer-dashboard-surface .fc-accent-text,
.trainer-dashboard-surface .fc-accent-hover:hover {
    color: var(--fc-current-accent) !important;
}

.trainer-dashboard-surface .fc-accent-border {
    border-color: color-mix(in srgb, var(--fc-current-accent) 34%, transparent) !important;
}

.trainer-dashboard-surface .fc-accent-panel {
    background: var(--fc-current-accent-soft) !important;
    border-color: color-mix(in srgb, var(--fc-current-accent) 28%, transparent) !important;
}

.trainer-dashboard-surface .fc-icon-tile {
    border: 1px solid color-mix(in srgb, var(--fc-current-accent) 20%, transparent);
    border-radius: var(--fc-radius-md);
}

.trainer-dashboard-surface .fc-section-header {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 56px;
    padding: 0;
    border: 0;
    border-radius: var(--fc-radius-sm);
    background: transparent !important;
    color: var(--fc-text) !important;
    box-shadow: none !important;
}

.trainer-dashboard-surface .fc-section-header h1,
.trainer-dashboard-surface .fc-section-header h2,
.trainer-dashboard-surface .fc-section-header h3,
.trainer-dashboard-surface .fc-section-header p,
.trainer-dashboard-surface .fc-section-header span,
.trainer-dashboard-surface .fc-section-header i {
    color: inherit !important;
}

.trainer-dashboard-surface .fc-section-header .fc-icon-tile i {
    color: inherit !important;
}

.trainer-dashboard-surface .fc-section-header .fc-icon-tile {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
}

.trainer-dashboard-surface .fc-section-header-muted {
    color: var(--fc-muted) !important;
}

.trainer-dashboard-surface .fc-secondary-action {
    background: var(--fc-surface-solid) !important;
    border: 1px solid var(--fc-border-strong) !important;
    color: var(--fc-text) !important;
    box-shadow: var(--fc-shadow-card) !important;
}

.trainer-dashboard-surface .fc-secondary-action:hover,
.trainer-dashboard-surface .fc-secondary-action-hover:hover {
    background: var(--fc-brand-faint) !important;
    border-color: var(--fc-brand-action) !important;
    color: var(--fc-brand-strong) !important;
}

.trainer-dashboard-surface .fc-chip,
.trainer-dashboard-surface .fc-status-chip,
.trainer-dashboard-surface .fc-assignment-chip {
    display: inline-flex;
    max-width: 100%;
    align-items: center;
    gap: 6px;
    border-radius: var(--fc-radius-full);
    padding: 5px 10px;
    font-size: 12px;
    font-weight: 650;
    line-height: 1.35;
    white-space: nowrap;
}

.trainer-dashboard-surface .fc-chip {
    background: var(--fc-brand-soft) !important;
    color: var(--fc-brand) !important;
}

.trainer-dashboard-surface .fc-status-active,
.trainer-dashboard-surface .fc-status-chip-active {
    background: var(--fc-success-soft) !important;
    color: var(--fc-success) !important;
}

.trainer-dashboard-surface .fc-status-warning,
.trainer-dashboard-surface .fc-status-chip-warning {
    background: var(--fc-warning-soft) !important;
    color: #7a4d10 !important;
}

.trainer-dashboard-surface .fc-status-danger,
.trainer-dashboard-surface .fc-status-chip-danger {
    background: var(--fc-danger-soft) !important;
    color: #8f3328 !important;
}

.trainer-dashboard-surface .fc-status-info,
.trainer-dashboard-surface .fc-status-chip-info {
    background: var(--fc-info-soft) !important;
    color: var(--fc-info) !important;
}

.trainer-dashboard-surface .fc-assignment-diet {
    background: var(--fc-diet-soft) !important;
    color: #356b3e !important;
}

.trainer-dashboard-surface .fc-assignment-routine {
    background: var(--fc-routine-soft) !important;
    color: #7a541f !important;
}

.trainer-dashboard-surface .fc-assignment-package {
    background: var(--fc-package-soft) !important;
    color: var(--fc-package) !important;
}

.trainer-dashboard-surface .fc-assignment-plan {
    background: var(--fc-plan-soft) !important;
    color: var(--fc-plan) !important;
}

.trainer-dashboard-surface .fc-alert {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius-sm);
    padding: 16px;
    background: var(--fc-surface) !important;
    color: var(--fc-text) !important;
}

.trainer-dashboard-surface .fc-alert-warning {
    background: var(--fc-warning-soft) !important;
    border-color: color-mix(in srgb, var(--fc-warning) 26%, transparent) !important;
}

.trainer-dashboard-surface .fc-alert-danger {
    background: var(--fc-danger-soft) !important;
    border-color: color-mix(in srgb, var(--fc-danger) 26%, transparent) !important;
}

.trainer-dashboard-surface .fc-alert-info {
    background: var(--fc-info-soft) !important;
    border-color: color-mix(in srgb, var(--fc-info) 26%, transparent) !important;
}

.trainer-dashboard-surface .fc-list-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius-sm);
    background: var(--fc-surface-soft) !important;
    padding: 12px;
    transition: background-color 150ms ease, border-color 150ms ease;
}

.trainer-dashboard-surface .fc-list-row:hover {
    border-color: var(--fc-border-strong);
    background: var(--fc-brand-faint) !important;
}

.trainer-dashboard-surface .fc-page-header-icon,
.trainer-dashboard-surface .fc-kpi-icon {
    display: inline-flex;
    width: 52px;
    height: 52px;
    min-width: 52px;
    align-items: center;
    justify-content: center;
    border-radius: var(--fc-radius-sm);
    background: var(--fc-brand-soft) !important;
    color: var(--fc-brand) !important;
    border: 1px solid rgba(16, 42, 67, 0.08);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.82), 0 10px 24px rgba(16, 42, 67, 0.08);
}

.trainer-dashboard-surface .fc-page-header-icon i,
.trainer-dashboard-surface .fc-kpi-icon i {
    color: var(--fc-brand) !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    min-width: 1.25em;
    font-size: 22px;
}

html.dark .trainer-dashboard-surface .fc-page-header-icon,
html.dark .trainer-dashboard-surface .fc-kpi-icon {
    background: rgba(53, 126, 168, 0.18) !important;
    border-color: rgba(127, 179, 213, 0.24);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.trainer-dashboard-surface .fc-client-card:hover {
    border-color: var(--fc-border-strong) !important;
    box-shadow: var(--fc-shadow-hover) !important;
}

.trainer-dashboard-surface .fc-template-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr));
    gap: 24px;
}

.trainer-dashboard-surface .fc-diet-card,
.trainer-dashboard-surface .fc-template-card {
    background: var(--fc-surface) !important;
    border: 1px solid var(--fc-border) !important;
    border-radius: var(--fc-radius-md);
    box-shadow: var(--fc-shadow-card) !important;
}

.trainer-dashboard-surface .fc-diet-card:hover,
.trainer-dashboard-surface .fc-template-card:hover {
    border-color: var(--fc-border-strong) !important;
    box-shadow: var(--fc-shadow-hover) !important;
}

.trainer-dashboard-surface .fc-diet-hero,
.trainer-dashboard-surface .fc-template-hero-diet {
    background: linear-gradient(135deg, #356b3e, #4d8f58 58%, #6faf7a) !important;
    color: #ffffff !important;
}

html.dark .trainer-dashboard-surface .fc-diet-hero,
html.dark .trainer-dashboard-surface .fc-template-hero-diet {
    background: linear-gradient(135deg, #172023, #356b3e 58%, #4d8f58) !important;
}

.trainer-dashboard-surface .fc-routine-hero,
.trainer-dashboard-surface .fc-template-hero-routine {
    background: linear-gradient(135deg, #7a541f, #9a6a2e 58%, #c18a3a) !important;
    color: #ffffff !important;
}

html.dark .trainer-dashboard-surface .fc-routine-hero,
html.dark .trainer-dashboard-surface .fc-template-hero-routine {
    background: linear-gradient(135deg, #172023, #7a541f 58%, #9a6a2e) !important;
}

.trainer-dashboard-surface .fc-template-hero-package {
    background: linear-gradient(135deg, #315f62, #49777a 58%, #5d8d91) !important;
    color: #ffffff !important;
}

html.dark .trainer-dashboard-surface .fc-template-hero-package {
    background: linear-gradient(135deg, #172023, #315f62 58%, #49777a) !important;
}

.trainer-dashboard-surface .fc-template-hero-plan {
    background: linear-gradient(135deg, #744437, #915948 58%, #a86b5a) !important;
    color: #ffffff !important;
}

html.dark .trainer-dashboard-surface .fc-template-hero-plan {
    background: linear-gradient(135deg, #172023, #744437 58%, #915948) !important;
}

.trainer-dashboard-surface .fc-template-card-inactive .fc-template-hero {
    background: linear-gradient(135deg, #526064, #6b787c) !important;
}

html.dark .trainer-dashboard-surface .fc-template-card-inactive .fc-template-hero {
    background: linear-gradient(135deg, #172023, #2e393d) !important;
}

.trainer-dashboard-surface .fc-detail-hero {
    border-radius: var(--fc-radius-md);
    box-shadow: var(--fc-shadow-card) !important;
}

.trainer-dashboard-surface .fc-detail-hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 11px;
    border-radius: var(--fc-radius-full);
    background: rgba(255, 255, 255, 0.18) !important;
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.24);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.35;
}

.trainer-dashboard-surface .fc-detail-hero-icon {
    display: inline-flex;
    width: 80px;
    height: 80px;
    min-width: 80px;
    align-items: center;
    justify-content: center;
    border-radius: var(--fc-radius-md);
    background: rgba(255, 255, 255, 0.18) !important;
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.trainer-dashboard-surface .fc-detail-stat-card {
    border: 1px solid color-mix(in srgb, var(--fc-current-accent) 24%, var(--fc-border)) !important;
    border-radius: var(--fc-radius-md);
    background: var(--fc-surface) !important;
    box-shadow: var(--fc-shadow-card) !important;
    padding: 20px;
}

.trainer-dashboard-surface .fc-detail-stat-icon {
    display: inline-flex;
    width: 40px;
    height: 40px;
    align-items: center;
    justify-content: center;
    border-radius: var(--fc-radius-sm);
    background: var(--fc-current-accent-soft) !important;
    color: var(--fc-current-accent) !important;
}

.trainer-dashboard-surface .fc-detail-stat-label {
    color: var(--fc-muted) !important;
    font-size: 13px;
    font-weight: 650;
    line-height: 1.35;
}

.trainer-dashboard-surface .fc-detail-stat-value {
    color: var(--fc-text) !important;
    font-size: 28px;
    font-weight: 750;
    line-height: 1.15;
    font-variant-numeric: tabular-nums;
}

.trainer-dashboard-surface .fc-detail-stat-card .fc-accent-value,
.trainer-dashboard-surface .fc-detail-stat-card .fc-accent-text {
    color: var(--fc-current-accent) !important;
}

.trainer-dashboard-surface .fc-diet-hero h1,
.trainer-dashboard-surface .fc-diet-hero h2,
.trainer-dashboard-surface .fc-diet-hero h3,
.trainer-dashboard-surface .fc-diet-hero p,
.trainer-dashboard-surface .fc-diet-hero span,
.trainer-dashboard-surface .fc-diet-hero a,
.trainer-dashboard-surface .fc-diet-hero button,
.trainer-dashboard-surface .fc-template-hero h1,
.trainer-dashboard-surface .fc-template-hero h2,
.trainer-dashboard-surface .fc-template-hero h3,
.trainer-dashboard-surface .fc-template-hero p,
.trainer-dashboard-surface .fc-template-hero span,
.trainer-dashboard-surface .fc-template-hero a,
.trainer-dashboard-surface .fc-template-hero button,
.trainer-dashboard-surface .fc-detail-hero h1,
.trainer-dashboard-surface .fc-detail-hero h2,
.trainer-dashboard-surface .fc-detail-hero h3,
.trainer-dashboard-surface .fc-detail-hero p,
.trainer-dashboard-surface .fc-detail-hero span,
.trainer-dashboard-surface .fc-detail-hero a,
.trainer-dashboard-surface .fc-detail-hero button {
    color: inherit !important;
}

.trainer-dashboard-surface .fc-macro-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.trainer-dashboard-surface .fc-macro-tile,
.trainer-dashboard-surface .fc-stat-tile {
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius-sm);
    background: var(--fc-surface-soft) !important;
    padding: 12px;
}

.trainer-dashboard-surface .fc-macro-label,
.trainer-dashboard-surface .fc-stat-label {
    color: var(--fc-muted) !important;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.35;
    text-transform: uppercase;
}

.trainer-dashboard-surface .fc-macro-value,
.trainer-dashboard-surface .fc-stat-value {
    color: var(--fc-text) !important;
    font-size: 20px;
    font-weight: 750;
    line-height: 1.2;
    font-variant-numeric: tabular-nums;
}

.dashboard-premium .fc-tint-box {
    --fc-tint-bg: var(--fc-surface-soft);
    --fc-tint-border: var(--fc-border);
    --fc-tint-text: var(--fc-text);
    --fc-tint-label: var(--fc-muted);
    background: var(--fc-tint-bg) !important;
    border: 1px solid var(--fc-tint-border) !important;
    border-radius: var(--fc-radius-sm);
    color: var(--fc-tint-text) !important;
}

.dashboard-premium .fc-tint-box-calories {
    --fc-tint-bg: #fff3e6;
    --fc-tint-border: #ffd7ad;
    --fc-tint-text: #8a4b12;
    --fc-tint-label: #9a5a1c;
}

.dashboard-premium .fc-tint-box-protein {
    --fc-tint-bg: #fdeceb;
    --fc-tint-border: #f7c8c3;
    --fc-tint-text: #8f3328;
    --fc-tint-label: #a34236;
}

.dashboard-premium .fc-tint-box-carbs {
    --fc-tint-bg: #fff7d9;
    --fc-tint-border: #f5df8f;
    --fc-tint-text: #775a0f;
    --fc-tint-label: #866711;
}

.dashboard-premium .fc-tint-box-fats {
    --fc-tint-bg: #fff1d6;
    --fc-tint-border: #f2cf8e;
    --fc-tint-text: #7a541f;
    --fc-tint-label: #8a6328;
}

.dashboard-premium .fc-tint-box-success {
    --fc-tint-bg: var(--fc-success-soft);
    --fc-tint-border: color-mix(in srgb, var(--fc-success) 28%, transparent);
    --fc-tint-text: #1f6f53;
    --fc-tint-label: #2f8a6b;
}

.dashboard-premium .fc-tint-box-danger {
    --fc-tint-bg: var(--fc-danger-soft);
    --fc-tint-border: color-mix(in srgb, var(--fc-danger) 28%, transparent);
    --fc-tint-text: #8f3328;
    --fc-tint-label: #a64033;
}

.dashboard-premium .fc-tint-box-warning {
    --fc-tint-bg: var(--fc-warning-soft);
    --fc-tint-border: color-mix(in srgb, var(--fc-warning) 28%, transparent);
    --fc-tint-text: #7a4d10;
    --fc-tint-label: #8a5d18;
}

.dashboard-premium .fc-tint-box-info {
    --fc-tint-bg: var(--fc-info-soft);
    --fc-tint-border: color-mix(in srgb, var(--fc-info) 28%, transparent);
    --fc-tint-text: var(--fc-info);
    --fc-tint-label: color-mix(in srgb, var(--fc-info) 78%, var(--fc-muted));
}

.dashboard-premium .fc-tint-box-brand {
    --fc-tint-bg: var(--fc-brand-soft);
    --fc-tint-border: color-mix(in srgb, var(--fc-brand) 28%, transparent);
    --fc-tint-text: var(--fc-brand);
    --fc-tint-label: color-mix(in srgb, var(--fc-brand) 78%, var(--fc-muted));
}

.dashboard-premium .fc-tint-label {
    color: var(--fc-tint-label) !important;
    font-size: 12px;
    font-weight: 650;
    line-height: 1.35;
}

.dashboard-premium .fc-tint-value {
    color: var(--fc-tint-text) !important;
    font-weight: 750;
    line-height: 1.25;
}

.dashboard-premium .fc-tint-pill {
    background: color-mix(in srgb, var(--fc-tint-text) 14%, transparent) !important;
    border: 1px solid color-mix(in srgb, var(--fc-tint-text) 20%, transparent) !important;
    color: var(--fc-tint-text) !important;
}

.dashboard-premium .fc-tint-box i {
    color: currentColor !important;
}

.dashboard-premium .fc-tint-input {
    background: var(--fc-surface-solid) !important;
    border-color: var(--fc-tint-border) !important;
    color: var(--fc-tint-text) !important;
}

.dashboard-premium .fc-tint-input:focus {
    border-color: var(--fc-tint-text) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--fc-tint-text) 18%, transparent) !important;
}

.dashboard-premium .fc-tint-label i,
.dashboard-premium .fc-tint-label svg {
    color: currentColor !important;
}

.dashboard-premium .fc-meal-macro-box {
    display: flex;
    min-height: 30px;
    align-items: center;
    justify-content: flex-start;
    gap: 5px;
    padding: 5px 8px 5px 7px;
}

.dashboard-premium .fc-meal-macro-box .fc-tint-label {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    gap: 0;
    flex: 0 0 auto;
    font-size: 11px;
    text-transform: uppercase;
}

.dashboard-premium .fc-meal-macro-box .fc-tint-label i {
    margin-right: 3px !important;
}

.dashboard-premium .fc-meal-macro-box .fc-tint-value {
    flex: 0 0 auto;
    font-size: 12px;
    font-variant-numeric: tabular-nums;
}

html.dark .dashboard-premium .fc-tint-box-calories {
    --fc-tint-bg: rgba(138, 75, 18, 0.2);
    --fc-tint-border: rgba(224, 181, 104, 0.28);
    --fc-tint-text: #f0c47b;
    --fc-tint-label: #d9ad65;
}

html.dark .dashboard-premium .fc-tint-box-protein {
    --fc-tint-bg: rgba(194, 74, 58, 0.2);
    --fc-tint-border: rgba(239, 138, 125, 0.3);
    --fc-tint-text: #f2a59b;
    --fc-tint-label: #ef8a7d;
}

html.dark .dashboard-premium .fc-tint-box-carbs {
    --fc-tint-bg: rgba(183, 121, 31, 0.2);
    --fc-tint-border: rgba(224, 181, 104, 0.3);
    --fc-tint-text: #f2d07f;
    --fc-tint-label: #e0b568;
}

html.dark .dashboard-premium .fc-tint-box-fats {
    --fc-tint-bg: rgba(193, 138, 58, 0.2);
    --fc-tint-border: rgba(224, 181, 104, 0.3);
    --fc-tint-text: #e6bd74;
    --fc-tint-label: #d7a85f;
}

html.dark .dashboard-premium .fc-tint-box-success {
    --fc-tint-text: #86d2ac;
    --fc-tint-label: #9adbb9;
}

html.dark .dashboard-premium .fc-tint-box-danger {
    --fc-tint-text: #ef8a7d;
    --fc-tint-label: #f0a096;
}

html.dark .dashboard-premium .fc-tint-box-warning {
    --fc-tint-text: #e0b568;
    --fc-tint-label: #edc984;
}

.trainer-dashboard-surface .fc-action-row {
    display: flex;
    align-items: center;
    gap: 8px;
}

.trainer-dashboard-surface .fc-action-row-main {
    flex: 1 1 0;
}

.trainer-dashboard-surface.trainer-diets-premium .category-filter,
.trainer-dashboard-surface.trainer-diets-premium .category-section,
.trainer-dashboard-surface.trainer-diets-premium .meal-card,
.trainer-dashboard-surface.trainer-diets-premium #common-library-section,
.trainer-dashboard-surface.trainer-diets-premium #personal-stats-grid > button {
    background: var(--fc-surface) !important;
    border-color: var(--fc-border) !important;
    color: var(--fc-text) !important;
    box-shadow: var(--fc-shadow-card) !important;
}

.trainer-dashboard-surface.trainer-diets-premium .category-filter:hover,
.trainer-dashboard-surface.trainer-diets-premium .meal-card:hover {
    border-color: var(--fc-border-strong) !important;
    box-shadow: var(--fc-shadow-hover) !important;
}

.trainer-dashboard-surface.trainer-diets-premium #filter-all,
.trainer-dashboard-surface.trainer-diets-premium .source-filter.bg-white {
    border-color: var(--fc-brand) !important;
    color: var(--fc-brand) !important;
}

.trainer-dashboard-surface.trainer-diets-premium .text-purple-600,
.trainer-dashboard-surface.trainer-diets-premium .text-purple-700,
.trainer-dashboard-surface.trainer-diets-premium .text-pink-600,
.trainer-dashboard-surface.trainer-diets-premium .text-indigo-600,
.trainer-dashboard-surface.trainer-diets-premium .text-teal-600 {
    color: var(--fc-brand) !important;
}

.trainer-dashboard-surface.trainer-diets-premium .hover\:border-purple-500:hover,
.trainer-dashboard-surface.trainer-diets-premium .hover\:border-purple-600:hover,
.trainer-dashboard-surface.trainer-diets-premium .border-purple-600 {
    border-color: var(--fc-brand) !important;
}

.trainer-dashboard-surface.trainer-diets-premium .bg-purple-50,
.trainer-dashboard-surface.trainer-diets-premium .hover\:bg-purple-50:hover {
    background-color: var(--fc-brand-faint) !important;
}

.trainer-dashboard-surface.trainer-diets-premium .bg-orange-50,
.trainer-dashboard-surface.trainer-diets-premium .bg-red-50,
.trainer-dashboard-surface.trainer-diets-premium .bg-yellow-50,
.trainer-dashboard-surface.trainer-diets-premium .bg-amber-50,
.trainer-dashboard-surface.trainer-diets-premium .bg-green-50,
.trainer-dashboard-surface.trainer-diets-premium .bg-sky-50\/40 {
    background-color: var(--fc-surface-soft) !important;
    border-color: var(--fc-border) !important;
}

.trainer-dashboard-surface.trainer-diets-premium .bg-orange-50 *,
.trainer-dashboard-surface.trainer-diets-premium .bg-red-50 *,
.trainer-dashboard-surface.trainer-diets-premium .bg-yellow-50 *,
.trainer-dashboard-surface.trainer-diets-premium .bg-amber-50 *,
.trainer-dashboard-surface.trainer-diets-premium .bg-green-50 *,
.trainer-dashboard-surface.trainer-diets-premium .bg-sky-50\/40 * {
    color: inherit !important;
}

.trainer-dashboard-surface.trainer-library-premium .trainer-library-tabs {
    background: var(--fc-surface-soft) !important;
    border: 1px solid var(--fc-border) !important;
}

.trainer-dashboard-surface.trainer-library-premium .source-filter {
    color: var(--fc-muted) !important;
}

.trainer-dashboard-surface.trainer-library-premium .source-filter.bg-white {
    background: var(--fc-surface-solid) !important;
    color: var(--fc-brand) !important;
    border: 1px solid color-mix(in srgb, var(--fc-brand) 24%, transparent) !important;
}

.trainer-dashboard-surface.trainer-library-premium .trainer-library-section,
.trainer-dashboard-surface.trainer-library-premium .trainer-library-card {
    background: var(--fc-surface) !important;
    border: 1px solid var(--fc-border) !important;
    box-shadow: var(--fc-shadow-card) !important;
    color: var(--fc-text) !important;
}

.trainer-dashboard-surface.trainer-library-premium .trainer-library-card:hover {
    border-color: var(--fc-border-strong) !important;
    box-shadow: var(--fc-shadow-hover) !important;
}

.trainer-dashboard-surface.trainer-library-premium .trainer-library-stat-card {
    background: var(--fc-surface) !important;
    border: 1px solid var(--fc-border) !important;
    border-radius: var(--fc-radius-md) !important;
    box-shadow: var(--fc-shadow-card) !important;
    color: var(--fc-text) !important;
    text-align: left;
}

.trainer-dashboard-surface.trainer-library-premium .trainer-library-stat-card:hover,
.trainer-dashboard-surface.trainer-library-premium .trainer-library-stat-card.is-active {
    border-color: color-mix(in srgb, var(--fc-brand) 46%, transparent) !important;
    box-shadow: var(--fc-shadow-hover) !important;
}

.trainer-dashboard-surface.trainer-library-premium .trainer-library-stat-card.is-active {
    background: linear-gradient(180deg, var(--fc-brand-faint), var(--fc-surface)) !important;
}

.trainer-dashboard-surface.trainer-library-premium .trainer-library-mini-action {
    display: inline-flex;
    min-height: 28px;
    align-items: center;
    justify-content: center;
    gap: 6px;
    border-radius: var(--fc-radius-xs);
    border: 1px solid color-mix(in srgb, var(--fc-brand) 30%, transparent);
    background: var(--fc-surface-solid) !important;
    color: var(--fc-brand) !important;
    padding: 4px 8px;
    font-size: 12px;
    font-weight: 650;
    line-height: 1.2;
    transition: background-color 150ms ease, border-color 150ms ease, color 150ms ease;
}

.trainer-dashboard-surface.client-routine-premium .fc-filter-control,
.trainer-dashboard-surface.client-routine-premium .fc-dropdown-menu,
.trainer-dashboard-surface.client-routine-premium .fc-routine-calendar,
.trainer-dashboard-surface.client-routine-premium .fc-routine-card,
.trainer-dashboard-surface.client-routine-premium .fc-routine-history,
.trainer-dashboard-surface.trainer-library-premium .fc-routine-library-card {
    background: var(--fc-surface) !important;
    border: 1px solid var(--fc-border) !important;
    border-radius: var(--fc-radius-md) !important;
    box-shadow: var(--fc-shadow-card) !important;
    color: var(--fc-text) !important;
}

.trainer-dashboard-surface.client-routine-premium .fc-filter-control:hover,
.trainer-dashboard-surface.client-routine-premium .fc-routine-card:hover,
.trainer-dashboard-surface.trainer-library-premium .fc-routine-library-card:hover {
    border-color: var(--fc-border-strong) !important;
    box-shadow: var(--fc-shadow-hover) !important;
}

.trainer-dashboard-surface.client-routine-premium .fc-routine-card {
    overflow: hidden;
}

.trainer-dashboard-surface.client-routine-premium .fc-routine-card.border-blue-500,
.trainer-dashboard-surface.client-routine-premium .fc-routine-card.border-green-500,
.trainer-dashboard-surface.client-routine-premium .fc-routine-card.ring-green-200 {
    border-color: color-mix(in srgb, var(--fc-routine) 54%, var(--fc-border)) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--fc-routine) 18%, transparent), var(--fc-shadow-card) !important;
}

.trainer-dashboard-surface.client-routine-premium .fc-routine-card > button {
    border-radius: var(--fc-radius-md) var(--fc-radius-md) 0 0 !important;
}

.trainer-dashboard-surface.client-routine-premium .fc-routine-card > button:hover,
.trainer-dashboard-surface.client-routine-premium .fc-routine-card .hover\:bg-gray-50:hover,
.trainer-dashboard-surface.client-routine-premium .fc-routine-card .bg-green-50 {
    background: color-mix(in srgb, var(--fc-routine-soft) 62%, var(--fc-surface-solid)) !important;
}

.trainer-dashboard-surface.client-routine-premium .fc-routine-card .bg-gradient-to-br,
.trainer-dashboard-surface.client-routine-premium .fc-routine-card .bg-green-500,
.trainer-dashboard-surface.client-routine-premium .fc-routine-card .bg-blue-500 {
    background: var(--fc-routine) !important;
}

.trainer-dashboard-surface.client-routine-premium .fc-routine-card .bg-blue-100,
.trainer-dashboard-surface.client-routine-premium .fc-routine-card .bg-orange-50,
.trainer-dashboard-surface.client-routine-premium .fc-routine-card .bg-yellow-50,
.trainer-dashboard-surface.client-routine-premium .fc-routine-card .bg-teal-50,
.trainer-dashboard-surface.client-routine-premium .fc-routine-card .bg-green-50,
.trainer-dashboard-surface.client-routine-premium .fc-routine-calendar .bg-blue-50,
.trainer-dashboard-surface.client-routine-premium .fc-routine-calendar .bg-gray-50 {
    background: var(--fc-routine-soft) !important;
}

.trainer-dashboard-surface.client-routine-premium .fc-routine-card .border-blue-500,
.trainer-dashboard-surface.client-routine-premium .fc-routine-card .border-blue-200,
.trainer-dashboard-surface.client-routine-premium .fc-routine-card .border-orange-200,
.trainer-dashboard-surface.client-routine-premium .fc-routine-card .border-yellow-300,
.trainer-dashboard-surface.client-routine-premium .fc-routine-card .border-teal-200,
.trainer-dashboard-surface.client-routine-premium .fc-routine-calendar .border-blue-200,
.trainer-dashboard-surface.client-routine-premium .fc-routine-calendar .border-blue-500 {
    border-color: color-mix(in srgb, var(--fc-routine) 28%, transparent) !important;
}

.trainer-dashboard-surface.client-routine-premium .fc-routine-card .text-blue-600,
.trainer-dashboard-surface.client-routine-premium .fc-routine-card .text-blue-700,
.trainer-dashboard-surface.client-routine-premium .fc-routine-card .text-green-600,
.trainer-dashboard-surface.client-routine-premium .fc-routine-card .text-green-700,
.trainer-dashboard-surface.client-routine-premium .fc-routine-card .text-orange-500,
.trainer-dashboard-surface.client-routine-premium .fc-routine-card .text-yellow-600,
.trainer-dashboard-surface.client-routine-premium .fc-routine-card .text-teal-500 {
    color: var(--fc-routine) !important;
}

.trainer-dashboard-surface.client-routine-premium .fc-calendar-today,
.trainer-dashboard-surface.client-routine-premium .fc-routine-calendar button.is-active {
    background: var(--fc-brand-action) !important;
    color: #ffffff !important;
}

.trainer-dashboard-surface.client-routine-premium .fc-routine-calendar .ring-blue-500 {
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--fc-brand) 54%, transparent) !important;
}

.trainer-dashboard-surface.client-routine-premium .fc-routine-calendar [class*="hover:border-blue"]:hover {
    border-color: color-mix(in srgb, var(--fc-brand) 38%, transparent) !important;
}

.trainer-dashboard-surface.client-routine-premium .fc-routine-history select {
    min-height: 40px;
    border-color: var(--fc-border-strong) !important;
    border-radius: var(--fc-radius-sm) !important;
    background: var(--fc-surface-solid) !important;
    color: var(--fc-text) !important;
}

.trainer-dashboard-surface.client-routine-premium table thead,
.trainer-dashboard-surface.client-routine-premium .fc-routine-history button.bg-gray-50 {
    background: var(--fc-surface-soft) !important;
}

.trainer-dashboard-surface.client-routine-premium .bg-blue-600,
.trainer-dashboard-surface.client-routine-premium .hover\:bg-blue-700:hover {
    background: var(--fc-brand-action) !important;
}

.trainer-dashboard-surface.client-routine-premium .bg-red-50,
.trainer-dashboard-surface.client-routine-premium .hover\:bg-red-100:hover {
    background: var(--fc-danger-soft) !important;
}

.trainer-dashboard-surface.trainer-library-premium .fc-routine-metric {
    border: 1px solid color-mix(in srgb, var(--fc-routine) 22%, var(--fc-border)) !important;
    border-radius: var(--fc-radius-sm);
    background: color-mix(in srgb, var(--fc-surface-solid) 88%, var(--fc-routine) 12%) !important;
}

.trainer-dashboard-surface.trainer-library-premium .trainer-library-mini-action:hover {
    background: var(--fc-brand-faint) !important;
    border-color: var(--fc-brand) !important;
}

.trainer-dashboard-surface .fc-info-panel {
    background: var(--fc-brand-faint) !important;
    border: 1px solid color-mix(in srgb, var(--fc-brand) 18%, transparent) !important;
    color: var(--fc-text) !important;
}

.trainer-dashboard-surface .fc-info-panel,
.trainer-dashboard-surface .fc-info-panel * {
    color: var(--fc-text) !important;
}

.trainer-dashboard-surface.client-diet-premium .fc-client-diet-card,
.trainer-dashboard-surface.client-diet-premium .fc-client-meal-card {
    background: var(--fc-surface) !important;
    border: 1px solid var(--fc-border) !important;
    border-radius: var(--fc-radius-lg) !important;
    box-shadow: var(--fc-shadow-card) !important;
    color: var(--fc-text) !important;
}

.trainer-dashboard-surface.client-diet-premium .fc-client-meal-card:hover {
    border-color: color-mix(in srgb, var(--fc-diet) 42%, var(--fc-border)) !important;
}

.trainer-dashboard-surface.client-diet-premium .fc-client-meal-card .fc-tint-box,
.trainer-dashboard-surface.client-diet-premium .fc-tint-box {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.trainer-dashboard-surface.client-diet-premium .fc-client-diet-card > .bg-gray-50,
.trainer-dashboard-surface.client-diet-premium .fc-client-diet-card thead,
.trainer-dashboard-surface.client-diet-premium .fc-client-diet-card button.w-full {
    background: var(--fc-surface-soft) !important;
}

.trainer-dashboard-surface.client-diet-premium table,
.trainer-dashboard-surface.client-diet-premium tbody,
.trainer-dashboard-surface.client-diet-premium tr,
.trainer-dashboard-surface.client-diet-premium th,
.trainer-dashboard-surface.client-diet-premium td {
    border-color: var(--fc-border) !important;
}

.trainer-dashboard-surface.client-diet-premium .aspect-square {
    background: var(--fc-surface-soft) !important;
    border: 1px solid var(--fc-border) !important;
    border-radius: var(--fc-radius-sm) !important;
    color: var(--fc-muted) !important;
}

.trainer-dashboard-surface.client-diet-premium .ring-2.ring-blue-500 {
    background: var(--fc-diet-soft) !important;
    border-color: color-mix(in srgb, var(--fc-diet) 50%, transparent) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--fc-diet) 18%, transparent) !important;
    color: var(--fc-text) !important;
}

.trainer-dashboard-surface.client-diet-premium .divide-gray-200 > :not([hidden]) ~ :not([hidden]),
.trainer-dashboard-surface.client-diet-premium .border-gray-100,
.trainer-dashboard-surface.client-diet-premium .border-gray-200,
.trainer-dashboard-surface.client-diet-premium .border-gray-300 {
    border-color: var(--fc-border) !important;
}

.trainer-dashboard-surface.client-diet-premium .bg-blue-50,
.trainer-dashboard-surface.client-diet-premium .bg-blue-100,
.trainer-dashboard-surface.client-diet-premium .hover\:bg-blue-50:hover {
    background-color: var(--fc-brand-faint) !important;
}

.trainer-dashboard-surface.client-diet-premium .text-blue-600,
.trainer-dashboard-surface.client-diet-premium .text-blue-700,
.trainer-dashboard-surface.client-diet-premium .text-purple-600,
.trainer-dashboard-surface.client-diet-premium .text-green-600,
.trainer-dashboard-surface.client-diet-premium .text-amber-600 {
    color: var(--fc-brand) !important;
}

.trainer-dashboard-surface.client-diet-premium .bg-red-50,
.trainer-dashboard-surface.client-diet-premium .hover\:bg-red-100:hover {
    background-color: var(--fc-danger-soft) !important;
}

.trainer-dashboard-surface.client-diet-premium .text-red-700 {
    color: var(--fc-danger) !important;
}

.trainer-dashboard-surface .fc-client-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr));
    gap: 24px;
}

.trainer-dashboard-surface .fc-client-card {
    font-size: 15px;
    line-height: 1.5;
}

.trainer-dashboard-surface .fc-client-card h3 {
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    letter-spacing: 0 !important;
}

.trainer-dashboard-surface .fc-client-card p,
.trainer-dashboard-surface .fc-client-card span,
.trainer-dashboard-surface .fc-client-card a {
    letter-spacing: 0 !important;
}

.trainer-dashboard-surface .fc-client-card .text-xs,
.trainer-dashboard-surface .fc-client-card [class*="text-[9px]"] {
    font-size: 12px !important;
    line-height: 1.35 !important;
}

.trainer-dashboard-surface .fc-client-card .text-sm {
    font-size: 15px !important;
    line-height: 1.35 !important;
}

.trainer-dashboard-surface .fc-client-card .text-lg {
    font-size: 18px !important;
    line-height: 1.25 !important;
}

.trainer-dashboard-surface .fc-client-card .text-xl,
.trainer-dashboard-surface .fc-client-card .text-2xl {
    font-size: 18px !important;
    line-height: 1.25 !important;
}

.trainer-dashboard-surface .fc-client-card .font-bold {
    font-weight: 650 !important;
}

.trainer-dashboard-surface .fc-client-card h3.font-bold {
    font-weight: 700 !important;
}

.trainer-dashboard-surface .fc-client-hero {
    background: linear-gradient(135deg, #102a43, #183b56 58%, #2b6a9b) !important;
    color: #ffffff !important;
}

.trainer-dashboard-surface .fc-client-detail-hero {
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
    border-radius: var(--fc-radius-md);
    box-shadow: var(--fc-shadow-card) !important;
}

html.dark .trainer-dashboard-surface .fc-client-hero {
    background: linear-gradient(135deg, #090d0f, #102a43 52%, #183b56) !important;
}

.trainer-dashboard-surface .fc-client-hero h1,
.trainer-dashboard-surface .fc-client-hero h2,
.trainer-dashboard-surface .fc-client-hero h3,
.trainer-dashboard-surface .fc-client-hero p,
.trainer-dashboard-surface .fc-client-hero span,
.trainer-dashboard-surface .fc-client-hero a,
.trainer-dashboard-surface .fc-client-hero button {
    color: inherit !important;
}

.trainer-dashboard-surface .fc-hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border-radius: var(--fc-radius-sm);
    background: rgba(9, 13, 15, 0.22) !important;
    color: #ffffff !important;
    font-size: 14px;
    font-weight: 650;
    line-height: 1.35;
    border: 1px solid rgba(255, 255, 255, 0.22);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.trainer-dashboard-surface .fc-hero-badge i {
    color: currentColor !important;
}

.trainer-dashboard-surface .fc-hero-badge .fc-hero-status-dot-active {
    color: #86d2ac !important;
}

.trainer-dashboard-surface .fc-hero-badge-active {
    background: rgba(22, 163, 74, 0.18) !important;
    border-color: rgba(134, 210, 172, 0.55) !important;
    color: #bff4d3 !important;
}

.trainer-dashboard-surface .fc-hero-badge-active i {
    color: #86d2ac !important;
}

.trainer-dashboard-surface .fc-hero-badge-warning {
    color: #fff1cf !important;
}

.trainer-dashboard-surface .fc-hero-badge-danger {
    background: rgba(220, 38, 38, 0.18) !important;
    border-color: rgba(252, 165, 165, 0.58) !important;
    color: #fecaca !important;
}

.trainer-dashboard-surface .fc-hero-badge-danger i {
    color: #fca5a5 !important;
}

.trainer-dashboard-surface .fc-hero-badge-muted {
    color: #eef2f2 !important;
}

.trainer-dashboard-surface .fc-hero-action {
    cursor: pointer;
    text-decoration: none !important;
    transition: background-color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.trainer-dashboard-surface .fc-hero-action:hover,
.trainer-dashboard-surface .fc-hero-action:focus-visible {
    background: rgba(255, 255, 255, 0.16) !important;
    border-color: rgba(255, 255, 255, 0.34) !important;
    color: #ffffff !important;
    transform: translateY(-1px);
}

.trainer-dashboard-surface .fc-client-hero .fc-status-dot-active {
    color: #86d2ac !important;
}

.trainer-dashboard-surface .fc-client-hero .fc-status-dot-inactive {
    color: #ef8a7d !important;
}

.trainer-dashboard-surface .fc-primary-action {
    background: var(--fc-brand) !important;
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 10px 24px rgba(16, 42, 67, 0.22) !important;
}

.trainer-dashboard-surface .fc-primary-action:hover {
    background: var(--fc-brand-hover) !important;
}

html.dark .trainer-dashboard-surface .fc-primary-action {
    color: #ffffff !important;
}

.trainer-dashboard-surface .fc-primary-action i,
.trainer-dashboard-surface .fc-primary-action span,
.trainer-dashboard-surface .fc-primary-action svg {
    color: inherit !important;
}

.dashboard-premium .fc-diet-detail-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    padding: 10px 18px;
    border-radius: var(--fc-radius-sm);
    background: var(--fc-brand) !important;
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    box-shadow: 0 10px 24px rgba(16, 42, 67, 0.22) !important;
    font-size: 15px;
    font-weight: 650;
    line-height: 1.35;
    text-decoration: none !important;
    transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.dashboard-premium .fc-diet-week-nav {
    box-shadow: none !important;
}

.dashboard-premium .fc-diet-week-nav-title {
    color: var(--fc-brand) !important;
}

.dashboard-premium .fc-diet-week-nav-copy {
    color: color-mix(in srgb, var(--fc-brand) 78%, white 22%) !important;
}

.dashboard-premium .fc-diet-week-select {
    min-height: 44px;
    border-radius: var(--fc-radius-sm);
    border: 1px solid var(--fc-border-strong) !important;
    background: var(--fc-surface-solid) !important;
    color: var(--fc-text) !important;
    padding: 10px 38px 10px 14px;
    font-size: 14px;
    font-weight: 650;
    line-height: 1.35;
    box-shadow: none !important;
}

.dashboard-premium .fc-diet-week-select-sm {
    min-height: 36px;
    padding-top: 7px;
    padding-bottom: 7px;
    font-size: 13px;
}

.dashboard-premium .fc-diet-week-select:focus {
    border-color: var(--fc-diet) !important;
    box-shadow: var(--fc-shadow-focus) !important;
    outline: none;
}

.dashboard-premium .fc-diet-detail-action:hover,
.dashboard-premium .fc-diet-detail-action:focus-visible {
    background: var(--fc-brand-hover) !important;
    color: #ffffff !important;
    transform: translateY(-1px);
}

.dashboard-premium .fc-diet-detail-action-muted,
.dashboard-premium .fc-diet-detail-action-muted:hover,
.dashboard-premium .fc-diet-detail-action-muted:focus-visible {
    cursor: not-allowed;
    transform: none;
    background: var(--fc-surface-soft) !important;
    color: var(--fc-muted) !important;
    border-color: var(--fc-border-strong) !important;
    box-shadow: none !important;
}

html.dark .dashboard-premium .fc-diet-detail-action {
    background: #2b6a9b !important;
    color: #ffffff !important;
    border-color: rgba(255, 255, 255, 0.14) !important;
    box-shadow: none !important;
}

html.dark .dashboard-premium .fc-diet-detail-action:hover,
html.dark .dashboard-premium .fc-diet-detail-action:focus-visible {
    background: #357ea8 !important;
    color: #ffffff !important;
}

html.dark .dashboard-premium .fc-diet-detail-action-muted,
html.dark .dashboard-premium .fc-diet-detail-action-muted:hover,
html.dark .dashboard-premium .fc-diet-detail-action-muted:focus-visible {
    background: rgba(255, 255, 255, 0.04) !important;
    color: var(--fc-muted) !important;
    border-color: var(--fc-border) !important;
}

.dashboard-premium .fc-diet-detail-action i,
.dashboard-premium .fc-diet-detail-action span,
.dashboard-premium .fc-diet-detail-action svg {
    color: inherit !important;
}

.dashboard-premium .fc-diet-detail-action-sm {
    min-height: 32px;
    padding: 6px 12px;
    font-size: 12px;
    font-weight: 650;
}

.dashboard-premium .fc-diet-detail-action-pill {
    min-height: 30px;
    padding: 6px 12px;
    border-radius: var(--fc-radius-full);
    font-size: 12px;
}

.dashboard-premium .fc-package-content-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 7.5rem;
    min-height: 36px;
    padding: 8px 12px;
    border-radius: var(--fc-radius-sm);
    border: 1px solid transparent !important;
    box-shadow: none !important;
    font-size: 13px;
    font-weight: 650;
    line-height: 1.25;
    text-decoration: none !important;
    transition: background-color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.dashboard-premium .fc-package-content-action i,
.dashboard-premium .fc-package-content-action span,
.dashboard-premium .fc-package-content-action svg {
    color: inherit !important;
}

.dashboard-premium .fc-package-content-action:hover,
.dashboard-premium .fc-package-content-action:focus-visible {
    transform: translateY(-1px);
}

.dashboard-premium .fc-package-content-action-view {
    background: var(--fc-brand) !important;
    border-color: color-mix(in srgb, var(--fc-brand) 82%, black 18%) !important;
    color: #ffffff !important;
}

.dashboard-premium .fc-package-content-action-view:hover,
.dashboard-premium .fc-package-content-action-view:focus-visible {
    background: var(--fc-brand-hover) !important;
    color: #ffffff !important;
}

.dashboard-premium .fc-package-content-action-remove {
    background: var(--fc-brand) !important;
    border-color: color-mix(in srgb, var(--fc-brand) 82%, black 18%) !important;
    color: #ffffff !important;
}

.dashboard-premium .fc-package-content-action-remove:hover,
.dashboard-premium .fc-package-content-action-remove:focus-visible {
    background: var(--fc-brand-hover) !important;
    color: #ffffff !important;
}

.dashboard-premium .fc-diet-detail-week-token {
    display: inline-flex;
    width: 64px;
    height: 64px;
    min-width: 64px;
    align-items: center;
    justify-content: center;
    border-radius: var(--fc-radius-sm);
    background: var(--fc-brand-soft) !important;
    color: var(--fc-brand) !important;
    border: 1px solid rgba(16, 42, 67, 0.08);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.82), 0 10px 24px rgba(16, 42, 67, 0.08);
}

.dashboard-premium .fc-diet-detail-week-token * {
    color: inherit !important;
}

html.dark .dashboard-premium .fc-diet-detail-week-token {
    background: rgba(53, 126, 168, 0.18) !important;
    color: #7fb3d5 !important;
    border-color: rgba(127, 179, 213, 0.24);
    box-shadow: none !important;
}

.dashboard-premium .fc-diet-detail-calendar-header {
    background: var(--fc-brand) !important;
    color: #ffffff !important;
}

.dashboard-premium .fc-diet-detail-calendar-header h2,
.dashboard-premium .fc-diet-detail-calendar-header p,
.dashboard-premium .fc-diet-detail-calendar-header i {
    color: inherit !important;
}

.dashboard-premium .fc-diet-detail-calendar-header p {
    opacity: 0.82;
}

html.dark .dashboard-premium .fc-diet-detail-calendar-header {
    background: #2b6a9b !important;
    color: #ffffff !important;
}

.dashboard-premium .fc-calendar-meal-card {
    display: flex;
    min-height: 244px;
    flex-direction: column;
    background: var(--fc-surface-solid) !important;
    border-color: var(--fc-border) !important;
    color: var(--fc-text) !important;
}

.dashboard-premium .fc-calendar-meal-card:hover {
    border-color: var(--fc-border-strong) !important;
    box-shadow: var(--fc-shadow-hover) !important;
}

.dashboard-premium .fc-calendar-meal-card[role="button"] {
    cursor: pointer;
}

.dashboard-premium .fc-calendar-meal-card[role="button"]:focus-visible {
    border-color: var(--fc-brand) !important;
    box-shadow: 0 0 0 3px var(--fc-brand-faint), var(--fc-shadow-hover) !important;
    outline: none;
}

.dashboard-premium .fc-calendar-meal-card .fc-calendar-meal-content {
    min-height: 0;
}

.dashboard-premium .fc-calendar-meal-card .fc-calendar-meal-notes {
    color: var(--fc-muted) !important;
}

.dashboard-premium .fc-calendar-meal-card .fc-calendar-meal-time,
.dashboard-premium .fc-calendar-meal-card .fc-calendar-meal-photo-tag {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    gap: 5px;
    margin-top: 8px;
    border: 1px solid var(--fc-border);
    border-radius: 999px;
    background: var(--fc-surface) !important;
    color: var(--fc-muted) !important;
    padding: 4px 8px;
    font-size: 12px;
    font-weight: 650;
    line-height: 1;
}

.dashboard-premium .fc-calendar-meal-card .fc-calendar-meal-time i,
.dashboard-premium .fc-calendar-meal-card .fc-calendar-meal-time span,
.dashboard-premium .fc-calendar-meal-card .fc-calendar-meal-photo-tag i,
.dashboard-premium .fc-calendar-meal-card .fc-calendar-meal-photo-tag span {
    color: inherit !important;
}

.dashboard-premium .fc-calendar-meal-card .fc-calendar-meal-actions button {
    display: inline-flex;
    height: 24px;
    width: 24px;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
}

.dashboard-premium .fc-calendar-meal-card .fc-calendar-meal-macros {
    margin-top: 14px;
    padding-top: 0;
}

.trainer-dashboard-surface .fc-accent-action-diet,
.trainer-dashboard-surface .fc-accent-action-routine,
.trainer-dashboard-surface .fc-accent-action-package,
.trainer-dashboard-surface .fc-accent-action-plan,
.trainer-dashboard-surface .fc-outline-action-warning {
    display: inline-flex;
    min-height: var(--fc-control-height);
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-radius: var(--fc-radius-sm);
    padding: 12px 18px;
    font-size: 15px;
    font-weight: 650;
    line-height: 1.35;
    border: 1px solid transparent;
    box-shadow: var(--fc-shadow-card) !important;
    transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

.trainer-dashboard-surface .fc-accent-action-diet {
    background: var(--fc-diet) !important;
    color: #ffffff !important;
    border-color: color-mix(in srgb, var(--fc-diet) 82%, black 18%) !important;
}

.trainer-dashboard-surface .fc-accent-action-diet:hover {
    background: color-mix(in srgb, var(--fc-diet) 88%, black 12%) !important;
}

.trainer-dashboard-surface .fc-accent-action-routine {
    background: var(--fc-routine) !important;
    color: #ffffff !important;
    border-color: color-mix(in srgb, var(--fc-routine) 82%, black 18%) !important;
}

.trainer-dashboard-surface .fc-accent-action-routine:hover {
    background: color-mix(in srgb, var(--fc-routine) 88%, black 12%) !important;
}

.trainer-dashboard-surface .fc-accent-action-package {
    background: var(--fc-package) !important;
    color: #ffffff !important;
    border-color: color-mix(in srgb, var(--fc-package) 82%, black 18%) !important;
}

.trainer-dashboard-surface .fc-accent-action-package:hover {
    background: color-mix(in srgb, var(--fc-package) 88%, black 12%) !important;
}

.trainer-dashboard-surface .fc-accent-action-plan {
    background: var(--fc-plan) !important;
    color: #ffffff !important;
    border-color: color-mix(in srgb, var(--fc-plan) 82%, black 18%) !important;
}

.trainer-dashboard-surface .fc-accent-action-plan:hover {
    background: color-mix(in srgb, var(--fc-plan) 88%, black 12%) !important;
}

.trainer-dashboard-surface .fc-outline-action-warning {
    background: var(--fc-surface) !important;
    color: #7a541f !important;
    border-color: color-mix(in srgb, var(--fc-routine) 32%, transparent) !important;
}

.trainer-dashboard-surface .fc-outline-action-warning:hover {
    background: color-mix(in srgb, var(--fc-routine-soft) 45%, white 55%) !important;
}

.trainer-dashboard-surface .fc-detail-action-bar {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, max-content));
    gap: 12px;
}

.trainer-dashboard-surface .fc-detail-action-bar > a,
.trainer-dashboard-surface .fc-detail-action-bar > button {
    min-height: 58px;
    width: auto;
    justify-content: flex-start;
    padding: 14px 20px;
    box-shadow: var(--fc-shadow-card) !important;
}

.trainer-dashboard-surface .fc-detail-action-bar > a:hover,
.trainer-dashboard-surface .fc-detail-action-bar > button:hover {
    box-shadow: var(--fc-shadow-hover) !important;
    transform: translateY(-1px);
}

.trainer-dashboard-surface .fc-detail-action-bar i {
    display: inline-flex;
    width: 34px;
    height: 34px;
    min-width: 34px;
    align-items: center;
    justify-content: center;
    border-radius: var(--fc-radius-sm);
    background: rgba(255, 255, 255, 0.18);
    color: inherit !important;
    font-size: 16px;
}

.trainer-dashboard-surface .fc-detail-action-bar span {
    color: inherit !important;
    font-size: 16px;
    font-weight: 650;
    line-height: 1.35;
    text-align: left;
}

.trainer-dashboard-surface .fc-detail-action-bar .fc-outline-action-warning {
    background: var(--fc-brand-action) !important;
    color: #ffffff !important;
    border-color: color-mix(in srgb, var(--fc-brand-action) 82%, black 18%) !important;
}

.trainer-dashboard-surface .fc-detail-action-bar .fc-outline-action-warning:hover {
    background: var(--fc-brand-hover) !important;
}

.trainer-dashboard-surface .fc-detail-action-bar .fc-accent-action-diet,
.trainer-dashboard-surface .fc-detail-action-bar .fc-accent-action-routine,
.trainer-dashboard-surface .fc-detail-action-bar .fc-accent-action-package {
    background: var(--fc-brand-action) !important;
    color: #ffffff !important;
    border-color: color-mix(in srgb, var(--fc-brand-action) 82%, black 18%) !important;
}

.trainer-dashboard-surface .fc-detail-action-bar .fc-accent-action-diet:hover,
.trainer-dashboard-surface .fc-detail-action-bar .fc-accent-action-routine:hover,
.trainer-dashboard-surface .fc-detail-action-bar .fc-accent-action-package:hover {
    background: var(--fc-brand-hover) !important;
}

.trainer-dashboard-surface .fc-detail-action-bar .fc-primary-action {
    min-height: 58px;
    padding: 14px 20px;
    font-size: 16px;
}

@media (max-width: 640px) {
    .trainer-dashboard-surface .fc-detail-action-bar {
        grid-template-columns: 1fr;
    }

    .trainer-dashboard-surface .fc-detail-action-bar > a,
    .trainer-dashboard-surface .fc-detail-action-bar > button {
        width: 100%;
    }
}

.trainer-dashboard-surface .bg-blue-100,
.trainer-dashboard-surface .bg-sky-100 {
    background-color: var(--fc-brand-soft) !important;
    color: var(--fc-brand) !important;
}

.trainer-dashboard-surface .text-blue-600,
.trainer-dashboard-surface .text-sky-600,
.trainer-dashboard-surface .text-blue-700 {
    color: var(--fc-brand) !important;
}

.trainer-dashboard-surface .bg-green-100 {
    background-color: var(--fc-diet-soft) !important;
    color: var(--fc-diet) !important;
}

.trainer-dashboard-surface .bg-orange-100,
.trainer-dashboard-surface .bg-yellow-100 {
    background-color: var(--fc-warning-soft) !important;
    color: var(--fc-warning) !important;
}

.trainer-dashboard-surface .bg-red-100 {
    background-color: var(--fc-danger-soft) !important;
    color: var(--fc-danger) !important;
}

.trainer-dashboard-surface .fc-status-panel {
    border-width: 1px !important;
    background-image: none !important;
    border-radius: var(--fc-radius-sm);
}

.trainer-dashboard-surface .fc-status-row {
    color: currentColor;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.35;
}

.trainer-dashboard-surface .fc-status-row-value {
    font-weight: 650;
    font-variant-numeric: tabular-nums;
}

.trainer-dashboard-surface .fc-status-panel-active {
    background-color: var(--fc-success-soft) !important;
    border-color: rgba(47, 138, 107, 0.24) !important;
}

.trainer-dashboard-surface .fc-status-panel-warning {
    background-color: var(--fc-warning-soft) !important;
    border-color: rgba(183, 121, 31, 0.26) !important;
}

.trainer-dashboard-surface .fc-status-panel-inactive {
    background-color: var(--fc-danger-soft) !important;
    border-color: rgba(194, 74, 58, 0.24) !important;
}

html.dark .trainer-dashboard-surface .fc-status-panel {
    background-color: rgba(255, 255, 255, 0.06) !important;
}

html.dark .trainer-dashboard-surface .fc-status-panel-active {
    background-color: rgba(47, 138, 107, 0.22) !important;
    border-color: rgba(134, 210, 172, 0.32) !important;
}

html.dark .trainer-dashboard-surface .fc-status-panel-warning {
    background-color: rgba(183, 121, 31, 0.2) !important;
    border-color: rgba(224, 181, 104, 0.34) !important;
}

html.dark .trainer-dashboard-surface .fc-status-panel-inactive {
    border-color: rgba(239, 138, 125, 0.32) !important;
}

html.dark .trainer-dashboard-surface .fc-status-panel p,
html.dark .trainer-dashboard-surface .fc-status-panel span {
    color: #f4f7f4 !important;
}

html.dark .trainer-dashboard-surface .fc-status-panel-active p,
html.dark .trainer-dashboard-surface .fc-status-panel-active span {
    color: #dff8ea !important;
}

html.dark .trainer-dashboard-surface .fc-status-panel-warning p,
html.dark .trainer-dashboard-surface .fc-status-panel-warning span {
    color: #fff1cf !important;
}

html.dark .trainer-dashboard-surface .fc-status-panel i {
    color: currentColor;
}

.trainer-dashboard-surface .fc-icon-action-diet {
    background-color: var(--fc-diet-soft) !important;
    color: var(--fc-diet) !important;
}

.trainer-dashboard-surface .fc-icon-action-routine {
    background-color: var(--fc-routine-soft) !important;
    color: var(--fc-routine) !important;
}

.trainer-dashboard-surface .fc-icon-action-package {
    background-color: var(--fc-package-soft) !important;
    color: var(--fc-package) !important;
}

.trainer-dashboard-surface .fc-icon-action-plan {
    background-color: var(--fc-plan-soft) !important;
    color: var(--fc-plan) !important;
}

.trainer-dashboard-surface .fc-icon-action-danger {
    background-color: var(--fc-danger-soft) !important;
    color: var(--fc-danger) !important;
}

.trainer-dashboard-surface .fc-icon-action-brand {
    background-color: var(--fc-brand-soft) !important;
    color: var(--fc-brand) !important;
}

.trainer-dashboard-surface .fc-icon-action-muted {
    background-color: var(--fc-surface-soft) !important;
    color: var(--fc-muted) !important;
}

.trainer-dashboard-surface .fc-table-wrap {
    overflow-x: auto;
    background: var(--fc-surface) !important;
    border: 1px solid var(--fc-border) !important;
    border-radius: var(--fc-radius-md);
    box-shadow: var(--fc-shadow-card) !important;
}

.trainer-dashboard-surface .fc-table {
    width: 100%;
    border-collapse: collapse;
    color: var(--fc-text);
    font-size: 14px;
}

.trainer-dashboard-surface table thead {
    background: var(--fc-surface-soft) !important;
}

.trainer-dashboard-surface .fc-table thead th,
.trainer-dashboard-surface table thead th {
    height: 48px;
    color: var(--fc-muted) !important;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.35;
    text-transform: uppercase;
}

.trainer-dashboard-surface .fc-table tbody tr,
.trainer-dashboard-surface table tbody tr {
    border-top: 1px solid var(--fc-border);
}

.trainer-dashboard-surface .fc-table td,
.trainer-dashboard-surface table td {
    color: var(--fc-text);
    font-size: 14px;
    line-height: 1.4;
}

.trainer-dashboard-surface tr:hover {
    background-color: var(--fc-surface-soft) !important;
}

.trainer-dashboard-surface .fc-number {
    font-variant-numeric: tabular-nums;
}

.trainer-dashboard-surface.fc-modal-overlay,
.trainer-dashboard-surface .fc-modal-overlay {
    position: fixed;
    inset: 0;
    z-index: 50;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(9, 13, 15, 0.58);
    padding: 16px;
}

.trainer-dashboard-surface.fc-modal-overlay {
    z-index: 70;
}

.trainer-dashboard-surface.fc-modal-overlay.hidden,
.trainer-dashboard-surface .fc-modal-overlay.hidden {
    display: none !important;
}

.trainer-dashboard-surface .fc-modal-panel {
    width: 100%;
    max-width: 640px;
    max-height: min(90vh, 860px);
    overflow-y: auto;
    background: var(--fc-surface-solid) !important;
    border: 1px solid var(--fc-border) !important;
    border-radius: var(--fc-radius-lg);
    box-shadow: 0 28px 80px rgba(9, 13, 15, 0.28);
    color: var(--fc-text);
}

.trainer-dashboard-surface .fc-client-payment-history-shell {
    margin-inline: auto;
    width: min(1280px, calc(100vw - 64px));
}

.trainer-dashboard-surface .fc-client-payment-history-modal {
    max-width: none;
    max-height: min(90vh, 900px);
    width: 100%;
}

.trainer-dashboard-surface .fc-client-payment-history-table {
    min-width: 1040px;
}

html.dark .trainer-dashboard-surface .fc-modal-panel {
    background: var(--fc-surface-solid) !important;
}

@media (max-width: 640px) {
    .trainer-dashboard-surface .fc-client-payment-history-shell {
        width: calc(100vw - 16px);
    }

    .trainer-dashboard-surface.fc-modal-overlay:has(.fc-client-payment-history-modal) {
        padding: 8px;
    }
}

.trainer-dashboard-surface .fc-modal-header,
.trainer-dashboard-surface .fc-modal-footer {
    border-color: var(--fc-border) !important;
}

.trainer-dashboard-surface .fc-modal-header {
    background: var(--fc-surface) !important;
    color: var(--fc-text) !important;
}

.trainer-dashboard-surface .fc-modal-header-brand {
    background: var(--fc-brand-soft) !important;
    color: var(--fc-brand-strong) !important;
}

.trainer-dashboard-surface .fc-modal-header.fc-modal-header-brand {
    background: var(--fc-brand-soft) !important;
    color: var(--fc-brand-strong) !important;
}

.trainer-dashboard-surface .fc-modal-header-danger {
    background: var(--fc-danger-soft) !important;
    color: color-mix(in srgb, var(--fc-danger) 72%, black 28%) !important;
}

.trainer-dashboard-surface .fc-modal-header-success {
    background: var(--fc-success-soft) !important;
    color: color-mix(in srgb, var(--fc-success) 72%, black 28%) !important;
}

.trainer-dashboard-surface .fc-modal-header-warning {
    background: var(--fc-warning-soft) !important;
    color: #7a4d10 !important;
}

.trainer-dashboard-surface .fc-modal-header.fc-diet-hero {
    background: linear-gradient(135deg, #356b3e, #4d8f58 58%, #6faf7a) !important;
    color: #ffffff !important;
}

html.dark .trainer-dashboard-surface .fc-modal-header.fc-diet-hero {
    background: linear-gradient(135deg, #172023, #356b3e 58%, #4d8f58) !important;
    color: #ffffff !important;
}

.trainer-dashboard-surface .fc-modal-header.fc-routine-hero {
    background: linear-gradient(135deg, #7a541f, #9a6a2e 58%, #c18a3a) !important;
    color: #ffffff !important;
}

.trainer-dashboard-surface .fc-modal-header.fc-routine-edit-header {
    background: linear-gradient(135deg, #7a541f, #9a6a2e 58%, #c18a3a) !important;
    background-color: #9a6a2e !important;
    color: #ffffff !important;
}

html.dark .trainer-dashboard-surface .fc-modal-header.fc-routine-hero {
    background: linear-gradient(135deg, #172023, #7a541f 58%, #9a6a2e) !important;
    color: #ffffff !important;
}

html.dark .trainer-dashboard-surface .fc-modal-header.fc-routine-edit-header {
    background: linear-gradient(135deg, #172023, #7a541f 58%, #9a6a2e) !important;
    background-color: #7a541f !important;
    color: #ffffff !important;
}

.trainer-dashboard-surface .fc-modal-copy {
    color: var(--fc-muted) !important;
    font-size: 14px;
    line-height: 1.55;
}

.trainer-dashboard-surface .fc-modal-copy strong,
.trainer-dashboard-surface .fc-modal-copy .font-semibold {
    color: var(--fc-text) !important;
}

.trainer-dashboard-surface .fc-modal-error {
    margin-top: 16px;
    border: 1px solid color-mix(in srgb, var(--fc-danger) 26%, transparent);
    border-radius: var(--fc-radius-sm);
    background: var(--fc-danger-soft) !important;
    color: var(--fc-danger) !important;
    padding: 10px 12px;
    font-size: 14px;
    line-height: 1.45;
}

.trainer-dashboard-surface .fc-modal-footer {
    background: var(--fc-surface-soft) !important;
}

.trainer-dashboard-surface .fc-empty-state {
    background: var(--fc-surface) !important;
    border: 1px solid var(--fc-border) !important;
    border-radius: var(--fc-radius-md);
    box-shadow: var(--fc-shadow-card) !important;
    padding: 32px;
    text-align: center;
}

.trainer-dashboard-surface .fc-empty-state-icon {
    display: inline-flex;
    width: 64px;
    height: 64px;
    align-items: center;
    justify-content: center;
    border-radius: var(--fc-radius-md);
    background: var(--fc-brand-soft) !important;
    color: var(--fc-brand) !important;
}

.trainer-dashboard-surface .fc-empty-state.fc-accent-brand .fc-empty-state-icon,
.trainer-dashboard-surface .fc-empty-state.fc-accent-diet .fc-empty-state-icon,
.trainer-dashboard-surface .fc-empty-state.fc-accent-routine .fc-empty-state-icon,
.trainer-dashboard-surface .fc-empty-state.fc-accent-package .fc-empty-state-icon,
.trainer-dashboard-surface .fc-empty-state.fc-accent-plan .fc-empty-state-icon {
    background: var(--fc-current-accent-soft) !important;
    color: var(--fc-current-accent) !important;
}

.trainer-dashboard-surface .fc-empty-state-title {
    margin: 0 0 8px;
    color: var(--fc-text) !important;
    font-size: 22px;
    font-weight: 800;
    line-height: 1.2;
}

.trainer-dashboard-surface .fc-empty-state-copy {
    max-width: 520px;
    margin: 0 auto 24px;
    color: var(--fc-muted) !important;
    font-size: 15px;
    line-height: 1.55;
}

.trainer-dashboard-surface .fc-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

@media (max-width: 768px) {
    .trainer-dashboard-surface .fc-form-grid {
        grid-template-columns: 1fr;
    }
}

.trainer-dashboard-surface .fc-field-label {
    display: block;
    margin-bottom: 6px;
    color: var(--fc-text) !important;
    font-size: 13px;
    font-weight: 650;
    line-height: 1.35;
}

.trainer-dashboard-surface .fc-form-control {
    width: 100%;
    border: 1px solid var(--fc-border-strong) !important;
    border-radius: var(--fc-radius-sm);
    padding: 12px 16px;
    background: var(--fc-surface-solid) !important;
    color: var(--fc-text) !important;
}

.trainer-dashboard-surface .fc-checkbox {
    width: 20px;
    height: 20px;
    border: 1px solid var(--fc-border-strong) !important;
    border-radius: var(--fc-radius-xs);
    accent-color: var(--fc-brand-action);
}

.trainer-dashboard-surface .fc-unit-option-active {
    background: var(--fc-brand) !important;
    color: #ffffff !important;
    box-shadow:
        0 0 0 1px color-mix(in srgb, var(--fc-brand) 42%, transparent),
        0 10px 24px rgba(16, 42, 67, 0.22);
}

.trainer-dashboard-surface .fc-switch-track {
    display: inline-flex;
    width: 44px;
    height: 24px;
    align-items: center;
    border-radius: var(--fc-radius-full);
    background: var(--fc-border-strong);
    padding: 4px;
    transition: background-color 150ms ease;
}

.trainer-dashboard-surface .fc-switch-track-active {
    background: var(--fc-brand-action);
}

.trainer-dashboard-surface .fc-switch-thumb {
    width: 16px;
    height: 16px;
    border-radius: var(--fc-radius-full);
    background: #ffffff;
    box-shadow: 0 1px 3px rgba(17, 23, 25, 0.22);
    transform: translateX(0);
    transition: transform 150ms ease;
}

.trainer-dashboard-surface .fc-switch-thumb-active {
    transform: translateX(20px);
}

.trainer-dashboard-surface .fc-token-panel {
    background: var(--fc-brand-faint) !important;
    border: 1px solid color-mix(in srgb, var(--fc-brand) 22%, var(--fc-border)) !important;
    border-radius: var(--fc-radius-sm);
    padding: 16px;
}

.trainer-dashboard-surface .fc-variable-token {
    display: inline-flex;
    align-items: center;
    border: 1px solid color-mix(in srgb, var(--fc-brand) 28%, transparent) !important;
    border-radius: var(--fc-radius-sm);
    background: var(--fc-brand-soft) !important;
    color: var(--fc-brand) !important;
    padding: 6px 10px;
    font-size: 12px;
    font-weight: 650;
    line-height: 1.35;
}

/* Email templates: the editable box and its non-editable word chips. */
.trainer-dashboard-surface .fc-template-editor {
    min-height: 44px;
    white-space: pre-wrap;
    word-break: break-word;
    line-height: 1.9;
    cursor: text;
}

.trainer-dashboard-surface .fc-template-editor-multiline {
    min-height: 180px;
}

.trainer-dashboard-surface .fc-template-tag {
    display: inline-block;
    border: 1px solid color-mix(in srgb, var(--fc-brand) 28%, transparent);
    border-radius: 999px;
    background: var(--fc-brand-soft);
    color: var(--fc-brand);
    padding: 0 9px;
    font-size: 0.9em;
    font-weight: 650;
    line-height: 1.6;
    user-select: all;
    cursor: default;
}

html.dark .trainer-dashboard-surface .fc-template-tag {
    color: #ddecf6;
    background: rgba(127, 179, 213, 0.18);
    border-color: rgba(127, 179, 213, 0.28);
}

html.dark .trainer-dashboard-surface .fc-variable-token {
    color: #ddecf6 !important;
    background: rgba(127, 179, 213, 0.18) !important;
    border-color: rgba(127, 179, 213, 0.28) !important;
}

html.dark .trainer-dashboard-surface.subscription-manage .bg-slate-50,
html.dark .trainer-dashboard-surface.subscription-manage .bg-gray-50 {
    background: var(--fc-surface-soft) !important;
}

html.dark .trainer-dashboard-surface.subscription-manage .bg-blue-50,
html.dark .trainer-dashboard-surface.subscription-manage .bg-blue-100 {
    background: rgba(53, 126, 168, 0.18) !important;
}

html.dark .trainer-dashboard-surface.subscription-manage .bg-indigo-50,
html.dark .trainer-dashboard-surface.subscription-manage .bg-indigo-100 {
    background: rgba(127, 179, 213, 0.16) !important;
}

html.dark .trainer-dashboard-surface.subscription-manage .bg-emerald-50,
html.dark .trainer-dashboard-surface.subscription-manage .bg-emerald-100 {
    background: rgba(47, 138, 107, 0.2) !important;
}

html.dark .trainer-dashboard-surface.subscription-manage .bg-yellow-50,
html.dark .trainer-dashboard-surface.subscription-manage .bg-yellow-100,
html.dark .trainer-dashboard-surface.subscription-manage .bg-amber-50,
html.dark .trainer-dashboard-surface.subscription-manage .bg-amber-100 {
    background: rgba(183, 121, 31, 0.2) !important;
}

html.dark .trainer-dashboard-surface.subscription-manage .bg-red-50,
html.dark .trainer-dashboard-surface.subscription-manage .bg-red-100 {
    background: rgba(194, 74, 58, 0.2) !important;
}

html.dark .trainer-dashboard-surface.subscription-manage .border-slate-200,
html.dark .trainer-dashboard-surface.subscription-manage .border-gray-100,
html.dark .trainer-dashboard-surface.subscription-manage .border-gray-200 {
    border-color: var(--fc-border) !important;
}

html.dark .trainer-dashboard-surface.subscription-manage .border-blue-200,
html.dark .trainer-dashboard-surface.subscription-manage .border-indigo-200 {
    border-color: rgba(127, 179, 213, 0.28) !important;
}

html.dark .trainer-dashboard-surface.subscription-manage .border-emerald-200 {
    border-color: rgba(134, 210, 172, 0.28) !important;
}

html.dark .trainer-dashboard-surface.subscription-manage .border-yellow-200,
html.dark .trainer-dashboard-surface.subscription-manage .border-amber-200,
html.dark .trainer-dashboard-surface.subscription-manage .border-amber-300 {
    border-color: rgba(224, 181, 104, 0.32) !important;
}

html.dark .trainer-dashboard-surface.subscription-manage .border-red-200,
html.dark .trainer-dashboard-surface.subscription-manage .border-red-300 {
    border-color: rgba(239, 138, 125, 0.32) !important;
}

html.dark .trainer-dashboard-surface.subscription-manage .text-slate-900,
html.dark .trainer-dashboard-surface.subscription-manage .text-gray-800,
html.dark .trainer-dashboard-surface.subscription-manage .text-gray-900 {
    color: var(--fc-text) !important;
}

html.dark .trainer-dashboard-surface.subscription-manage .text-slate-700,
html.dark .trainer-dashboard-surface.subscription-manage .text-gray-700,
html.dark .trainer-dashboard-surface.subscription-manage .text-gray-600,
html.dark .trainer-dashboard-surface.subscription-manage .text-gray-500 {
    color: var(--fc-muted) !important;
}

html.dark .trainer-dashboard-surface.subscription-manage .text-blue-500,
html.dark .trainer-dashboard-surface.subscription-manage .text-blue-600,
html.dark .trainer-dashboard-surface.subscription-manage .text-blue-700,
html.dark .trainer-dashboard-surface.subscription-manage .text-blue-800,
html.dark .trainer-dashboard-surface.subscription-manage .text-blue-900,
html.dark .trainer-dashboard-surface.subscription-manage .text-indigo-500,
html.dark .trainer-dashboard-surface.subscription-manage .text-indigo-600,
html.dark .trainer-dashboard-surface.subscription-manage .text-indigo-700,
html.dark .trainer-dashboard-surface.subscription-manage .text-indigo-800,
html.dark .trainer-dashboard-surface.subscription-manage .text-indigo-900 {
    color: #9cc6df !important;
}

html.dark .trainer-dashboard-surface.subscription-manage .text-emerald-500,
html.dark .trainer-dashboard-surface.subscription-manage .text-emerald-600,
html.dark .trainer-dashboard-surface.subscription-manage .text-emerald-700,
html.dark .trainer-dashboard-surface.subscription-manage .text-emerald-800,
html.dark .trainer-dashboard-surface.subscription-manage .text-emerald-900 {
    color: #86d2ac !important;
}

html.dark .trainer-dashboard-surface.subscription-manage .text-yellow-500,
html.dark .trainer-dashboard-surface.subscription-manage .text-yellow-600,
html.dark .trainer-dashboard-surface.subscription-manage .text-yellow-700,
html.dark .trainer-dashboard-surface.subscription-manage .text-yellow-800,
html.dark .trainer-dashboard-surface.subscription-manage .text-yellow-900,
html.dark .trainer-dashboard-surface.subscription-manage .text-amber-600,
html.dark .trainer-dashboard-surface.subscription-manage .text-amber-700,
html.dark .trainer-dashboard-surface.subscription-manage .text-amber-800,
html.dark .trainer-dashboard-surface.subscription-manage .text-amber-900,
html.dark .trainer-dashboard-surface.subscription-manage .text-amber-950 {
    color: #e0b568 !important;
}

html.dark .trainer-dashboard-surface.subscription-manage .text-red-500,
html.dark .trainer-dashboard-surface.subscription-manage .text-red-600,
html.dark .trainer-dashboard-surface.subscription-manage .text-red-700,
html.dark .trainer-dashboard-surface.subscription-manage .text-red-800,
html.dark .trainer-dashboard-surface.subscription-manage .text-red-900 {
    color: #ef8a7d !important;
}

.trainer-dashboard-surface.pricing-premium .pricing-plan-price-block {
    text-align: center;
}

.trainer-dashboard-surface.pricing-premium .pricing-plan-price-row {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    width: 100%;
}

.trainer-dashboard-surface.pricing-premium .pricing-plan-card-premium {
    background:
        radial-gradient(circle at top right, rgba(53, 126, 168, 0.24), transparent 34%),
        linear-gradient(180deg, #e6f3fb 0%, #f2f8fc 42%, #ffffff 100%) !important;
    border-color: #183B56 !important;
    box-shadow:
        0 0 0 4px rgba(24, 59, 86, 0.22),
        0 32px 72px rgba(24, 59, 86, 0.3),
        0 0 64px rgba(53, 126, 168, 0.22) !important;
}

.trainer-dashboard-surface.pricing-premium .pricing-plan-card-premium:hover {
    box-shadow:
        0 0 0 4px rgba(24, 59, 86, 0.3),
        0 38px 84px rgba(24, 59, 86, 0.36),
        0 0 76px rgba(53, 126, 168, 0.28) !important;
}

.trainer-dashboard-surface.pricing-premium .pricing-plan-card-premium > .absolute {
    height: 0.65rem !important;
    background: linear-gradient(90deg, #102A43, #357EA8, #7FB3D5) !important;
}

.trainer-dashboard-surface.pricing-premium .pricing-plan-card-premium h2 {
    color: #102A43 !important;
}

.trainer-dashboard-surface.pricing-premium .pricing-plan-card-premium .rounded-md.bg-\[\#183B56\] {
    background: linear-gradient(135deg, #102A43, #183B56) !important;
    box-shadow: 0 10px 24px rgba(24, 59, 86, 0.24) !important;
}

html.dark .trainer-dashboard-surface.pricing-premium,
html.dark .trainer-dashboard-surface.pricing-premium .bg-\[\#fbfaf7\] {
    background:
        linear-gradient(180deg, var(--fc-bg-wash), transparent 320px),
        linear-gradient(180deg, var(--fc-bg), var(--fc-bg-end) 100%) !important;
    color: var(--fc-text);
}

html.dark .trainer-dashboard-surface.pricing-premium section.bg-\[\#fbfaf7\] {
    background: transparent !important;
}

html.dark .trainer-dashboard-surface.pricing-premium .bg-white,
html.dark .trainer-dashboard-surface.pricing-premium .pricing-plan-card {
    background: var(--fc-surface) !important;
    border-color: var(--fc-border) !important;
    color: var(--fc-text) !important;
    box-shadow: var(--fc-shadow-card) !important;
}

html.dark .trainer-dashboard-surface.pricing-premium .pricing-plan-card-premium {
    background:
        linear-gradient(180deg, rgba(127, 179, 213, 0.22), rgba(18, 25, 28, 0.92)),
        var(--fc-surface-solid) !important;
    border-color: rgba(127, 179, 213, 0.7) !important;
    box-shadow:
        0 0 0 2px rgba(127, 179, 213, 0.26),
        0 24px 60px rgba(0, 0, 0, 0.34),
        0 0 36px rgba(127, 179, 213, 0.16) !important;
    transform: translateY(-0.5rem);
}

html.dark .trainer-dashboard-surface.pricing-premium .pricing-plan-card-premium:hover {
    box-shadow:
        0 0 0 2px rgba(127, 179, 213, 0.34),
        0 30px 70px rgba(0, 0, 0, 0.42),
        0 0 44px rgba(127, 179, 213, 0.22) !important;
}

html.dark .trainer-dashboard-surface.pricing-premium .pricing-plan-card-premium > .absolute {
    background: linear-gradient(90deg, #7fb3d5, #9cc6df) !important;
}

html.dark .trainer-dashboard-surface.pricing-premium .pricing-plan-card-premium .bg-\[\#183B56\] {
    background: #7fb3d5 !important;
    color: #071014 !important;
}

html.dark .trainer-dashboard-surface.pricing-premium .bg-stone-50,
html.dark .trainer-dashboard-surface.pricing-premium .bg-stone-100,
html.dark .trainer-dashboard-surface.pricing-premium .bg-slate-50 {
    background: var(--fc-surface-soft) !important;
}

html.dark .trainer-dashboard-surface.pricing-premium .border-stone-100,
html.dark .trainer-dashboard-surface.pricing-premium .border-stone-200,
html.dark .trainer-dashboard-surface.pricing-premium .border-stone-300,
html.dark .trainer-dashboard-surface.pricing-premium .border-stone-900 {
    border-color: var(--fc-border) !important;
}

html.dark .trainer-dashboard-surface.pricing-premium .border-indigo-600,
html.dark .trainer-dashboard-surface.pricing-premium .ring-indigo-100 {
    border-color: rgba(127, 179, 213, 0.48) !important;
    --tw-ring-color: rgba(127, 179, 213, 0.24) !important;
}

html.dark .trainer-dashboard-surface.pricing-premium .text-stone-950,
html.dark .trainer-dashboard-surface.pricing-premium .text-stone-900,
html.dark .trainer-dashboard-surface.pricing-premium .text-gray-900 {
    color: var(--fc-text) !important;
}

html.dark .trainer-dashboard-surface.pricing-premium .text-stone-700,
html.dark .trainer-dashboard-surface.pricing-premium .text-stone-600,
html.dark .trainer-dashboard-surface.pricing-premium .text-stone-500,
html.dark .trainer-dashboard-surface.pricing-premium .text-gray-600,
html.dark .trainer-dashboard-surface.pricing-premium .text-gray-500 {
    color: var(--fc-muted) !important;
}

html.dark .trainer-dashboard-surface.pricing-premium .text-indigo-700,
html.dark .trainer-dashboard-surface.pricing-premium .text-indigo-800,
html.dark .trainer-dashboard-surface.pricing-premium .hover\:text-stone-950:hover {
    color: #9cc6df !important;
}

html.dark .trainer-dashboard-surface.pricing-premium .bg-stone-950,
html.dark .trainer-dashboard-surface.pricing-premium .hover\:bg-stone-800:hover {
    background: var(--fc-brand-action) !important;
    color: #090d0f !important;
}

html.dark .trainer-dashboard-surface.pricing-premium .bg-indigo-600,
html.dark .trainer-dashboard-surface.pricing-premium .hover\:bg-indigo-700:hover {
    background: var(--fc-brand-action) !important;
    color: #090d0f !important;
}

html.dark .trainer-dashboard-surface.pricing-premium .bg-indigo-100 {
    background: rgba(127, 179, 213, 0.16) !important;
}

html.dark .trainer-dashboard-surface.pricing-premium .bg-emerald-50,
html.dark .trainer-dashboard-surface.pricing-premium .bg-emerald-100 {
    background: rgba(47, 138, 107, 0.2) !important;
}

html.dark .trainer-dashboard-surface.pricing-premium .bg-amber-50,
html.dark .trainer-dashboard-surface.pricing-premium .bg-amber-100 {
    background: rgba(183, 121, 31, 0.2) !important;
}

html.dark .trainer-dashboard-surface.pricing-premium .bg-sky-100 {
    background: rgba(53, 126, 168, 0.18) !important;
}

html.dark .trainer-dashboard-surface.pricing-premium .border-emerald-200 {
    border-color: rgba(134, 210, 172, 0.28) !important;
}

html.dark .trainer-dashboard-surface.pricing-premium .border-amber-200 {
    border-color: rgba(224, 181, 104, 0.32) !important;
}

html.dark .trainer-dashboard-surface.pricing-premium .text-emerald-600,
html.dark .trainer-dashboard-surface.pricing-premium .text-emerald-700,
html.dark .trainer-dashboard-surface.pricing-premium .text-emerald-800,
html.dark .trainer-dashboard-surface.pricing-premium .text-emerald-900,
html.dark .trainer-dashboard-surface.pricing-premium .text-emerald-950 {
    color: #86d2ac !important;
}

html.dark .trainer-dashboard-surface.pricing-premium .text-amber-600,
html.dark .trainer-dashboard-surface.pricing-premium .text-amber-700,
html.dark .trainer-dashboard-surface.pricing-premium .text-amber-950 {
    color: #e0b568 !important;
}

html.dark .trainer-dashboard-surface.pricing-premium thead.bg-stone-950 {
    background: #102a43 !important;
    color: #ffffff !important;
}

html.dark .trainer-dashboard-surface.pricing-premium tbody.bg-white {
    background: var(--fc-surface) !important;
}

html.dark .trainer-dashboard-surface.pricing-premium .divide-stone-100 > :not([hidden]) ~ :not([hidden]) {
    border-color: var(--fc-border) !important;
}

html.dark .trainer-dashboard-surface.pricing-premium .hover\:bg-stone-50:hover {
    background: var(--fc-brand-faint) !important;
}

html.dark .trainer-dashboard-surface.pricing-premium #pricingFeedbackModal .bg-white {
    background: var(--fc-surface-solid) !important;
}

html.dark .trainer-dashboard-surface.pricing-premium #pricingFeedbackActions {
    background: var(--fc-surface-soft) !important;
    border-color: var(--fc-border) !important;
}

.trainer-dashboard-surface .fc-help-text {
    margin-top: 6px;
    color: var(--fc-muted) !important;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.35;
}

.trainer-dashboard-surface .fc-form-error {
    margin-top: 6px;
    color: var(--fc-danger) !important;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.35;
}

.trainer-dashboard-surface.fc-meal-modal .fc-modal-panel {
    max-width: 896px;
}

.trainer-dashboard-surface.fc-meal-modal .fc-meal-modal-segment,
.trainer-dashboard-surface.fc-meal-modal .fc-meal-modal-source-tabs {
    background: var(--fc-surface-soft) !important;
    border: 1px solid var(--fc-border) !important;
    color: var(--fc-text) !important;
}

.trainer-dashboard-surface.fc-meal-modal .fc-meal-modal-info {
    background: var(--fc-info-soft) !important;
    border: 1px solid color-mix(in srgb, var(--fc-info) 24%, transparent) !important;
    color: color-mix(in srgb, var(--fc-brand) 78%, white 22%) !important;
}

.trainer-dashboard-surface.fc-meal-modal .fc-meal-modal-segment button,
.trainer-dashboard-surface.fc-meal-modal .fc-meal-modal-source-tabs button {
    color: var(--fc-muted) !important;
}

.trainer-dashboard-surface.fc-meal-modal .fc-meal-modal-segment button.is-active,
.trainer-dashboard-surface.fc-meal-modal .fc-meal-modal-source-tabs button.is-active {
    background: var(--fc-surface-solid) !important;
    color: var(--fc-diet) !important;
    box-shadow: var(--fc-shadow-card) !important;
}

.trainer-dashboard-surface.fc-meal-modal .fc-meal-modal-library-card {
    background: var(--fc-surface) !important;
    border: 1px solid var(--fc-border) !important;
    color: var(--fc-text) !important;
}

.trainer-dashboard-surface.fc-meal-modal .fc-meal-modal-library-card:hover {
    border-color: color-mix(in srgb, var(--fc-diet) 42%, var(--fc-border)) !important;
    box-shadow: var(--fc-shadow-card) !important;
}

.trainer-dashboard-surface.fc-meal-modal .fc-meal-modal-library-card-common {
    border-color: color-mix(in srgb, var(--fc-info) 32%, var(--fc-border)) !important;
}

.trainer-dashboard-surface.fc-meal-modal .fc-meal-modal-copy-wrap {
    display: flex;
    justify-content: flex-start;
}

.trainer-dashboard-surface.fc-meal-modal .fc-meal-modal-copy-button {
    display: inline-flex;
    min-height: 30px;
    align-items: center;
    justify-content: center;
    border-radius: var(--fc-radius-xs);
    border: 1px solid color-mix(in srgb, var(--fc-info) 34%, var(--fc-border)) !important;
    background: var(--fc-surface-solid) !important;
    color: var(--fc-info) !important;
    padding: 5px 10px;
    font-size: 12px;
    font-weight: 650;
    line-height: 1.2;
    box-shadow: var(--fc-shadow-card);
}

.trainer-dashboard-surface.fc-meal-modal .fc-meal-modal-copy-button:hover {
    border-color: color-mix(in srgb, var(--fc-info) 54%, var(--fc-border)) !important;
    background: var(--fc-info-soft) !important;
    color: var(--fc-info) !important;
}

.trainer-dashboard-surface.fc-meal-modal .fc-meal-modal-badge {
    display: inline-flex;
    border-radius: var(--fc-radius-full);
    background: var(--fc-diet-soft) !important;
    color: var(--fc-diet) !important;
    padding: 2px 8px;
    font-size: 12px;
    font-weight: 650;
    line-height: 1.35;
}

.trainer-dashboard-surface.fc-meal-modal .fc-form-control::placeholder,
.trainer-dashboard-surface.fc-meal-modal .fc-tint-input::placeholder {
    color: var(--fc-muted) !important;
    opacity: 0.78;
}

.trainer-dashboard-surface .fc-wizard-shell {
    max-width: 896px;
}

.trainer-dashboard-surface .fc-wizard-panel {
    background: var(--fc-surface) !important;
}

.trainer-dashboard-surface .fc-wizard-step-hero {
    padding: 24px 32px;
}

.trainer-dashboard-surface .fc-wizard-step-icon {
    display: inline-flex;
    width: 48px;
    height: 48px;
    min-width: 48px;
    align-items: center;
    justify-content: center;
    border-radius: var(--fc-radius-sm);
    background: rgba(255, 255, 255, 0.18);
    color: #ffffff;
}

.trainer-dashboard-surface .fc-wizard-step-active {
    background: var(--fc-brand) !important;
    color: #ffffff !important;
}

.trainer-dashboard-surface .fc-wizard-step-text-active {
    color: var(--fc-brand) !important;
}

.trainer-dashboard-surface .fc-wizard-bar-active {
    background: var(--fc-brand) !important;
}

.trainer-dashboard-surface .fc-wizard-body {
    padding: 32px;
}

.trainer-dashboard-surface .fc-wizard-choice {
    padding: 24px;
    background: var(--fc-surface) !important;
    border: 1px solid var(--fc-border-strong) !important;
    border-radius: var(--fc-radius-sm);
    box-shadow: var(--fc-shadow-card) !important;
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease, background-color 160ms ease;
}

.trainer-dashboard-surface .fc-wizard-choice:hover {
    border-color: var(--fc-brand) !important;
    box-shadow: var(--fc-shadow-hover) !important;
    transform: translateY(-1px);
}

.trainer-dashboard-surface .fc-wizard-choice-selected {
    background: color-mix(in srgb, var(--fc-brand-soft) 56%, white 44%) !important;
}

html.dark .trainer-dashboard-surface .fc-wizard-choice-selected {
    background: color-mix(in srgb, var(--fc-brand-soft) 84%, transparent) !important;
}

.trainer-dashboard-surface .fc-wizard-choice-icon {
    color: var(--fc-brand) !important;
}

.trainer-dashboard-surface.trainer-routines-premium .fc-wizard-choice-icon {
    color: var(--fc-routine) !important;
}

.trainer-dashboard-surface .fc-radio {
    accent-color: var(--fc-brand);
}

.trainer-dashboard-surface.trainer-routines-premium .fc-radio {
    accent-color: var(--fc-routine);
}

.trainer-dashboard-surface .fc-routine-exercise-panel {
    background: color-mix(in srgb, var(--fc-routine-soft) 42%, var(--fc-surface-soft)) !important;
    border-color: color-mix(in srgb, var(--fc-routine) 24%, var(--fc-border)) !important;
}

.trainer-dashboard-surface .fc-routine-exercise-row {
    background: var(--fc-surface) !important;
    border: 1px solid var(--fc-border) !important;
    border-radius: var(--fc-radius-sm);
    padding: 12px;
}

.trainer-dashboard-surface .fc-routine-exercise-row .fc-form-control {
    padding: 8px 10px;
    font-size: 14px;
}

.trainer-dashboard-surface .fc-routine-remove-action {
    color: var(--fc-danger) !important;
}

.trainer-dashboard-surface .fc-routine-remove-action:hover {
    background: var(--fc-danger-soft) !important;
}

.trainer-dashboard-surface .fc-day-choice {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px;
    box-shadow: none !important;
}

.trainer-dashboard-surface .fc-wizard-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-top: 24px;
    border-top: 1px solid var(--fc-border);
}

.trainer-dashboard-surface .fc-wizard-actions > a,
.trainer-dashboard-surface .fc-wizard-actions > button,
.trainer-dashboard-surface .fc-wizard-nav-action {
    min-width: 132px;
    background: var(--fc-brand) !important;
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    box-shadow: 0 10px 24px rgba(16, 42, 67, 0.22) !important;
    text-decoration: none !important;
}

.trainer-dashboard-surface .fc-wizard-actions > a:hover,
.trainer-dashboard-surface .fc-wizard-actions > a:focus-visible,
.trainer-dashboard-surface .fc-wizard-actions > button:hover,
.trainer-dashboard-surface .fc-wizard-actions > button:focus-visible,
.trainer-dashboard-surface .fc-wizard-nav-action:hover,
.trainer-dashboard-surface .fc-wizard-nav-action:focus-visible {
    background: var(--fc-brand-hover) !important;
    color: #ffffff !important;
}

.trainer-dashboard-surface .fc-wizard-actions > a i,
.trainer-dashboard-surface .fc-wizard-actions > a span,
.trainer-dashboard-surface .fc-wizard-actions > a svg,
.trainer-dashboard-surface .fc-wizard-actions > button i,
.trainer-dashboard-surface .fc-wizard-actions > button span,
.trainer-dashboard-surface .fc-wizard-actions > button svg,
.trainer-dashboard-surface .fc-wizard-nav-action i,
.trainer-dashboard-surface .fc-wizard-nav-action span,
.trainer-dashboard-surface .fc-wizard-nav-action svg {
    color: inherit !important;
}

@media (max-width: 640px) {
    .trainer-dashboard-surface .fc-wizard-step-hero,
    .trainer-dashboard-surface .fc-wizard-body {
        padding: 20px;
    }

    .trainer-dashboard-surface .fc-wizard-actions {
        align-items: stretch;
        flex-direction: column-reverse;
    }

    .trainer-dashboard-surface .fc-wizard-actions > * {
        width: 100%;
    }
}

.trainer-dashboard-surface.trainer-clients-premium input,
.trainer-dashboard-surface.trainer-clients-premium select,
.trainer-dashboard-surface.trainer-clients-premium textarea {
    color: var(--fc-text) !important;
    font-weight: 500;
}

.trainer-dashboard-surface.trainer-clients-premium input::placeholder,
.trainer-dashboard-surface.trainer-clients-premium textarea::placeholder {
    color: var(--fc-muted) !important;
    opacity: 0.78;
}

.trainer-dashboard-surface .fc-surface-limit {
    width: 100%;
    max-width: 1480px;
    margin-inline: auto;
}

.trainer-dashboard-surface .fc-preferences-shell {
    max-width: 672px;
}

.trainer-dashboard-surface .fc-surface-limit.fc-settings-shell {
    max-width: 608px;
}

.trainer-dashboard-surface .fc-settings-shell .fc-settings-card > div {
    padding: 24px 28px;
}

.trainer-dashboard-surface .fc-settings-shell select,
.trainer-dashboard-surface .fc-settings-shell input[type="text"],
.trainer-dashboard-surface .fc-settings-shell input[type="email"],
.trainer-dashboard-surface .fc-settings-shell input[type="number"] {
    background: var(--fc-surface-solid) !important;
    border-color: var(--fc-border-strong) !important;
    color: var(--fc-text) !important;
    min-height: var(--fc-control-height);
}

.trainer-dashboard-surface .fc-settings-shell select:focus,
.trainer-dashboard-surface .fc-settings-shell input[type="text"]:focus,
.trainer-dashboard-surface .fc-settings-shell input[type="email"]:focus,
.trainer-dashboard-surface .fc-settings-shell input[type="number"]:focus {
    border-color: var(--fc-brand) !important;
    box-shadow: var(--fc-shadow-focus) !important;
    outline: none;
}

.trainer-dashboard-surface .fc-segmented-control {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px;
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius-sm);
    background: var(--fc-surface-soft) !important;
}

.trainer-dashboard-surface .fc-segment-button {
    min-width: 46px;
    border-radius: 6px;
    color: var(--fc-muted) !important;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.35;
    padding: 7px 12px;
    transition: background-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

.trainer-dashboard-surface .fc-segment-button:hover,
.trainer-dashboard-surface .fc-segment-button:focus-visible {
    color: var(--fc-text) !important;
    outline: none;
}

.trainer-dashboard-surface .fc-settings-shell .fc-access-table {
    border: 1px solid var(--fc-border);
    border-radius: 0;
    overflow: hidden;
    width: 100%;
}

.trainer-dashboard-surface .fc-settings-shell .fc-access-table-header,
.trainer-dashboard-surface .fc-settings-shell .fc-access-table-row {
    align-items: center;
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(120px, 1fr) 72px minmax(132px, 150px) minmax(132px, 150px);
    padding: 7px 12px;
}

.trainer-dashboard-surface .fc-settings-shell .fc-access-table-header {
    background: var(--fc-surface-soft) !important;
    border-bottom: 1px solid var(--fc-border);
    color: var(--fc-muted) !important;
    font-size: 12px;
    font-weight: 700;
}

.trainer-dashboard-surface .fc-settings-shell .fc-access-table-row {
    background: var(--fc-surface-solid) !important;
}

.trainer-dashboard-surface .fc-settings-shell .fc-access-table-row + .fc-access-table-row {
    border-top: 1px solid var(--fc-border);
}

.trainer-dashboard-surface .fc-settings-shell .fc-access-toggle-cell {
    align-items: center;
    display: flex;
    gap: 7px;
}

.trainer-dashboard-surface .fc-settings-shell .fc-access-checkbox {
    accent-color: var(--fc-brand-action);
    height: 13px;
    width: 13px;
}

.trainer-dashboard-surface .fc-settings-shell .fc-access-switch {
    cursor: pointer;
    display: inline-flex;
    line-height: 0;
}

.trainer-dashboard-surface .fc-settings-shell .fc-access-switch-input:checked + .fc-switch-track {
    background: var(--fc-brand-action);
}

.trainer-dashboard-surface .fc-settings-shell .fc-access-switch-input:checked + .fc-switch-track .fc-switch-thumb {
    transform: translateX(20px);
}

.trainer-dashboard-surface .fc-settings-shell .fc-access-switch-input:focus-visible + .fc-switch-track {
    box-shadow: var(--fc-shadow-focus);
}

.trainer-dashboard-surface .fc-settings-shell .fc-access-trainer-cell p {
    font-size: 13px;
    line-height: 1.3;
}

.trainer-dashboard-surface .fc-settings-shell .fc-access-toggle-cell .fc-status-chip {
    font-size: 11px;
    padding: 4px 9px;
}

.trainer-dashboard-surface .fc-settings-shell .fc-access-select:focus-visible {
    box-shadow: var(--fc-shadow-focus);
    outline: none;
}

.trainer-dashboard-surface .fc-settings-shell .fc-access-select-cell {
    max-width: 150px;
    position: relative;
    width: 100%;
}

.trainer-dashboard-surface .fc-settings-shell .fc-access-select-cell::after {
    border-bottom: 2px solid var(--fc-brand-action);
    border-right: 2px solid var(--fc-brand-action);
    content: "";
    height: 7px;
    pointer-events: none;
    position: absolute;
    right: 13px;
    top: 50%;
    transform: translateY(-60%) rotate(45deg);
    width: 7px;
}

.trainer-dashboard-surface .fc-settings-shell .fc-access-select {
    appearance: none;
    background:
        linear-gradient(180deg, var(--fc-surface-solid), var(--fc-brand-faint)) !important;
    border: 1px solid color-mix(in srgb, var(--fc-brand-action) 30%, var(--fc-border-strong));
    border-radius: 7px;
    box-shadow:
        inset 3px 0 0 var(--fc-brand-action),
        inset 0 1px 0 rgba(255, 255, 255, 0.78),
        0 1px 2px rgba(17, 23, 25, 0.05);
    color: var(--fc-text) !important;
    cursor: pointer;
    font-family: inherit;
    font-size: 12.5px;
    font-weight: 650;
    line-height: 1.2;
    min-height: 32px;
    padding: 6px 34px 6px 14px;
    text-overflow: ellipsis;
    transition:
        background-color 0.16s ease,
        border-color 0.16s ease,
        box-shadow 0.16s ease;
    width: 100%;
}

.trainer-dashboard-surface .fc-settings-shell .fc-access-select:hover {
    background:
        linear-gradient(180deg, var(--fc-surface-solid), var(--fc-brand-faint)) !important;
    border-color: color-mix(in srgb, var(--fc-brand-action) 34%, var(--fc-border-strong));
    box-shadow:
        inset 3px 0 0 var(--fc-brand-action),
        inset 0 1px 0 rgba(255, 255, 255, 0.9),
        0 4px 12px rgba(16, 42, 67, 0.06);
}

.trainer-dashboard-surface .fc-settings-shell .fc-access-select:focus-visible {
    background:
        linear-gradient(180deg, var(--fc-surface-solid), var(--fc-brand-faint)) !important;
    border-color: var(--fc-brand-action);
}

@media (max-width: 640px) {
    .trainer-dashboard-surface .fc-settings-shell .fc-access-table-header {
        display: none;
    }

    .trainer-dashboard-surface .fc-settings-shell .fc-access-table-row {
        align-items: start;
        gap: 10px;
        grid-template-columns: 1fr;
    }

    .trainer-dashboard-surface .fc-settings-shell .fc-access-select-cell {
        max-width: none;
    }

    .trainer-dashboard-surface .fc-settings-shell .fc-access-toggle-cell::before,
    .trainer-dashboard-surface .fc-settings-shell .fc-access-select-cell::before {
        color: var(--fc-muted) !important;
        display: block;
        font-size: 11px;
        font-weight: 800;
        margin-bottom: 4px;
    }

    .trainer-dashboard-surface .fc-settings-shell .fc-access-toggle-cell {
        display: block;
    }

    .trainer-dashboard-surface .fc-settings-shell .fc-access-toggle-cell::before {
        content: attr(data-label);
    }

    .trainer-dashboard-surface .fc-settings-shell .fc-access-toggle-cell .fc-access-checkbox {
        margin-right: 8px;
        vertical-align: middle;
    }

    .trainer-dashboard-surface .fc-settings-shell .fc-access-toggle-cell .fc-status-chip {
        vertical-align: middle;
    }

    .trainer-dashboard-surface .fc-settings-shell .fc-access-select-cell::before {
        content: attr(data-label);
    }
}

.trainer-dashboard-surface .fc-segment-button.fc-segment-active {
    background: var(--fc-surface-solid) !important;
    color: var(--fc-text) !important;
    box-shadow: 0 1px 2px rgba(17, 23, 25, 0.08);
}

.trainer-dashboard-surface .fc-settings-toggle-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius-sm);
    background: var(--fc-surface-solid) !important;
    padding: 12px;
}

.trainer-dashboard-surface .fc-toggle-track {
    display: inline-flex;
    width: 44px;
    height: 24px;
    align-items: center;
    border-radius: var(--fc-radius-full);
    background: color-mix(in srgb, var(--fc-muted) 28%, transparent) !important;
    transition: background-color 160ms ease;
}

.trainer-dashboard-surface .fc-toggle-track-active {
    background: var(--fc-brand) !important;
}

.trainer-dashboard-surface .fc-toggle-thumb {
    display: inline-block;
    width: 16px;
    height: 16px;
    margin-left: 4px;
    border-radius: var(--fc-radius-full);
    background: #ffffff;
    box-shadow: 0 1px 3px rgba(17, 23, 25, 0.22);
    transform: translateX(0);
    transition: transform 160ms ease;
}

html.dark .trainer-dashboard-surface .fc-segment-button.fc-segment-active {
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.28);
}

.trainer-dashboard-surface .fc-setup-trainer-shell {
    max-width: 768px;
}

.trainer-dashboard-surface .fc-setup-trainer-header {
    padding-inline: 8px;
}

.trainer-dashboard-surface.fc-setup-trainer-surface {
    padding-top: 32px;
    padding-bottom: 32px;
    border-radius: var(--fc-radius-lg);
}

.trainer-dashboard-surface .fc-add-client-shell {
    max-width: 768px;
}

.trainer-dashboard-surface .fc-add-client-shell .fc-page-shell {
    gap: 12px;
    margin-bottom: 16px !important;
}

.trainer-dashboard-surface .fc-add-client-shell .fc-page-header {
    margin-bottom: 0;
}

.trainer-dashboard-surface .fc-page-shell {
    display: grid;
    gap: 24px;
}

.trainer-dashboard-surface .fc-back-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--fc-muted) !important;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.35;
    transition: color 160ms ease, transform 160ms ease;
}

.trainer-dashboard-surface .fc-back-link:hover {
    color: var(--fc-text) !important;
}

.trainer-dashboard-surface .fc-back-link:hover i {
    transform: translateX(-2px);
}

.trainer-dashboard-surface .fc-stack-sm,
.trainer-dashboard-surface .fc-stack-md,
.trainer-dashboard-surface .fc-stack-lg {
    display: grid;
}

.trainer-dashboard-surface .fc-stack-sm {
    gap: 12px;
}

.trainer-dashboard-surface .fc-stack-md {
    gap: 16px;
}

.trainer-dashboard-surface .fc-stack-lg {
    gap: 24px;
}

.trainer-dashboard-surface .fc-card-title {
    color: var(--fc-text) !important;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.25;
}

.trainer-dashboard-surface .fc-card-subtitle {
    color: var(--fc-muted) !important;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.45;
}

.trainer-dashboard-surface .fc-body-copy {
    color: var(--fc-text) !important;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.5;
}

.trainer-dashboard-surface .fc-icon-tile {
    display: inline-flex;
    width: 40px;
    height: 40px;
    align-items: center;
    justify-content: center;
    border-radius: var(--fc-radius-sm);
    border: 1px solid var(--fc-border);
}

.trainer-dashboard-surface .fc-icon-tile-brand {
    background: var(--fc-brand-soft) !important;
    color: var(--fc-brand) !important;
}

.trainer-dashboard-surface .fc-icon-tile-plan {
    background: var(--fc-plan-soft) !important;
    color: var(--fc-plan) !important;
}

.trainer-dashboard-surface .fc-icon-tile-package {
    background: var(--fc-package-soft) !important;
    color: var(--fc-package) !important;
}

.trainer-dashboard-surface .fc-icon-tile-diet {
    background: var(--fc-diet-soft) !important;
    color: var(--fc-diet) !important;
}

.trainer-dashboard-surface .fc-icon-tile-routine {
    background: var(--fc-routine-soft) !important;
    color: var(--fc-routine) !important;
}

.trainer-dashboard-surface .fc-icon-tile-danger {
    background: var(--fc-danger-soft) !important;
    color: var(--fc-danger) !important;
}

.trainer-dashboard-surface .fc-icon-tile-warning {
    background: var(--fc-warning-soft) !important;
    color: var(--fc-warning) !important;
}

.trainer-dashboard-surface .fc-info-panel,
.trainer-dashboard-surface .fc-light-info-panel {
    background: var(--fc-info-soft) !important;
    border: 1px solid color-mix(in srgb, var(--fc-info) 24%, transparent) !important;
    border-radius: var(--fc-radius-sm);
}

.trainer-dashboard-surface .fc-info-title,
.trainer-dashboard-surface .fc-light-info-title {
    color: var(--fc-brand) !important;
}

.trainer-dashboard-surface .fc-info-text,
.trainer-dashboard-surface .fc-info-text *,
.trainer-dashboard-surface .fc-light-info-text,
.trainer-dashboard-surface .fc-light-info-text * {
    color: color-mix(in srgb, var(--fc-brand) 78%, white 22%) !important;
}

.trainer-dashboard-surface .fc-input {
    background: var(--fc-surface-solid) !important;
    border-color: var(--fc-border-strong) !important;
    color: var(--fc-text) !important;
    min-height: var(--fc-control-height);
}

.trainer-dashboard-surface .fc-input::placeholder {
    color: var(--fc-muted) !important;
}

.trainer-dashboard-surface .fc-input:focus {
    border-color: var(--fc-brand) !important;
    box-shadow: var(--fc-shadow-focus) !important;
    outline: none;
}

.trainer-dashboard-surface.public-coach-page {
    min-height: 100vh;
}

.public-coach-container {
    width: min(1120px, calc(100% - 32px));
    margin: 0 auto;
}

.public-coach-hero {
    background:
        linear-gradient(135deg, rgba(9, 13, 15, 0.94), rgba(24, 59, 86, 0.94)),
        linear-gradient(180deg, var(--fc-bg), var(--fc-bg-end));
    color: #ffffff;
    padding: 72px 0 56px;
}

.public-coach-hero-grid {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    align-items: center;
    gap: 40px;
}

.public-coach-photo-wrap {
    width: 220px;
}

.public-coach-photo {
    width: 220px;
    height: 220px;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: var(--fc-radius-lg);
    box-shadow: 0 28px 70px rgba(0, 0, 0, 0.28);
    object-fit: cover;
}

.public-coach-photo-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.1);
    color: #ddecf6;
    font-size: 64px;
}

.public-coach-hero-copy h1 {
    margin-top: 16px;
    color: #ffffff !important;
    font-size: clamp(34px, 6vw, 56px);
    font-weight: 750;
    line-height: 1.05;
}

.public-coach-lede {
    max-width: 720px;
    margin-top: 14px;
    color: #c9d7df !important;
    font-size: 19px;
    line-height: 1.55;
}

.public-coach-meta,
.public-coach-actions,
.public-coach-socials {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
}

.public-coach-meta {
    margin-top: 22px;
}

.public-coach-meta span,
.public-coach-meta a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #ddecf6 !important;
    font-size: 14px;
    font-weight: 650;
}

.public-coach-actions {
    margin-top: 28px;
}

.public-coach-hero .fc-secondary-action {
    border-color: rgba(255, 255, 255, 0.28) !important;
    color: #ffffff !important;
}

.public-coach-page .fc-primary-action {
    background: var(--fc-brand-action) !important;
    border-color: color-mix(in srgb, var(--fc-brand-action) 88%, #ffffff 12%) !important;
    color: #ffffff !important;
}

.public-coach-page .fc-primary-action:hover {
    background: var(--fc-brand-hover) !important;
    color: #ffffff !important;
}

.public-coach-socials {
    margin-top: 20px;
}

.public-coach-hero .fc-icon-button {
    background: rgba(255, 255, 255, 0.1) !important;
    border: 1px solid rgba(255, 255, 255, 0.18);
    color: #ffffff !important;
}

.public-coach-content,
.public-signup-shell {
    padding: 48px 0 72px;
}

.public-coach-content > * + *,
.public-signup-form > * + * {
    margin-top: 24px;
}

.public-coach-info-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.public-coach-section {
    scroll-margin-top: 92px;
}

.public-coach-section-heading {
    max-width: 720px;
    margin: 0 auto 28px;
    text-align: center;
}

.public-coach-section-heading h1,
.public-coach-section-heading h2 {
    margin-top: 12px;
    color: var(--fc-text) !important;
    font-size: clamp(28px, 4vw, 40px);
    font-weight: 750;
    line-height: 1.14;
}

.public-coach-section-heading p {
    margin-top: 10px;
    color: var(--fc-muted) !important;
    font-size: 16px;
    line-height: 1.55;
}

.public-plan-grid,
.public-testimonial-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

.public-plan-card {
    display: flex;
    min-height: 100%;
    flex-direction: column;
    justify-content: space-between;
    gap: 24px;
}

.public-plan-price {
    margin-top: 22px;
}

.public-plan-price span,
.public-selected-plan-price strong {
    color: var(--fc-brand) !important;
    font-size: 34px;
    font-weight: 800;
    line-height: 1;
}

.public-plan-price small,
.public-selected-plan-price span {
    color: var(--fc-muted) !important;
    font-size: 13px;
    font-weight: 650;
}

.public-plan-details {
    margin-top: 20px;
}

.public-plan-details summary {
    display: inline-flex;
    cursor: pointer;
    list-style: none;
    align-items: center;
    gap: 8px;
    color: var(--fc-brand) !important;
    font-size: 14px;
    font-weight: 700;
}

.public-plan-details summary::-webkit-details-marker {
    display: none;
}

.public-plan-details[open] summary i {
    transform: rotate(180deg);
}

.public-plan-details p {
    margin-top: 10px;
    color: var(--fc-muted) !important;
    font-size: 14px;
    line-height: 1.55;
    white-space: pre-line;
    overflow-wrap: anywhere;
}

.public-disabled-action,
.public-submit-button:disabled {
    background: var(--fc-border-strong) !important;
    border-color: transparent !important;
    color: var(--fc-muted) !important;
    cursor: not-allowed;
    box-shadow: none !important;
}

.public-payment-unavailable {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.public-tooltip-wrap {
    position: relative;
    display: block;
    border-radius: 12px;
    outline: none;
}

.public-tooltip-wrap:focus-visible {
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--fc-brand) 35%, transparent);
}

.public-tooltip {
    position: absolute;
    bottom: calc(100% + 10px);
    left: 50%;
    z-index: 30;
    width: max-content;
    max-width: min(280px, calc(100vw - 32px));
    padding: 10px 12px;
    border-radius: 10px;
    background: var(--fc-text);
    color: var(--fc-surface-solid) !important;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.45;
    text-align: left;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.18);
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, 4px);
    transition: opacity 0.15s ease, transform 0.15s ease;
}

.public-tooltip::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    border: 6px solid transparent;
    border-top-color: var(--fc-text);
    transform: translateX(-50%);
}

.public-tooltip-wrap:hover .public-tooltip,
.public-tooltip-wrap:focus-within .public-tooltip {
    opacity: 1;
    transform: translate(-50%, 0);
}

.public-payment-unavailable-note {
    color: var(--fc-muted) !important;
    font-size: 13px;
    line-height: 1.45;
    text-align: center;
}

.public-payment-unavailable-note a,
.public-payment-setup-link {
    color: var(--fc-brand) !important;
    font-weight: 700;
}

.public-payment-setup-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 14px;
}

.public-rating {
    display: flex;
    gap: 4px;
    color: var(--fc-warning);
}

.public-testimonial-text {
    margin-top: 18px;
    color: var(--fc-text) !important;
    font-size: 15px;
    font-style: italic;
    line-height: 1.6;
}

.public-testimonial-author {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 22px;
    padding-top: 16px;
    border-top: 1px solid var(--fc-border);
}

.public-testimonial-author > div {
    display: flex;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    align-items: center;
    justify-content: center;
    border-radius: var(--fc-radius-sm);
    background: linear-gradient(135deg, var(--fc-brand-hover), var(--fc-brand-strong));
    color: #ffffff;
    font-weight: 800;
}

.public-testimonial-author span {
    display: grid;
    gap: 2px;
}

.public-testimonial-author strong {
    color: var(--fc-text) !important;
    font-size: 14px;
}

.public-testimonial-author small {
    color: var(--fc-muted) !important;
    font-size: 12px;
}

.public-testimonial-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.public-testimonial-card:hover {
    transform: translateY(-3px);
}

.public-testimonial-card .public-testimonial-author {
    margin-top: auto;
}

.public-testimonial-card .public-testimonial-text {
    margin-bottom: 22px;
}

/* Photo slider bleeds to the card edges (card padding is 24px). */
.public-testimonial-slider {
    position: relative;
    margin: -24px -24px 20px;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: var(--fc-surface-soft);
    touch-action: pan-y;
}

.public-testimonial-slider::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    height: 64px;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.35), transparent);
    pointer-events: none;
}

.public-testimonial-slide {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transform: scale(1.04);
    transition: opacity 0.8s ease, transform 4.8s ease-out;
}

/* Before Alpine boots, show the first photo and first dot. */
.public-testimonial-slider:not([data-ready]) .public-testimonial-slide:first-of-type,
.public-testimonial-slide.is-active {
    opacity: 1;
    transform: scale(1);
}

.public-slider-arrow {
    position: absolute;
    top: 50%;
    z-index: 2;
    display: flex;
    width: 34px;
    height: 34px;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.9);
    color: #111827;
    font-size: 13px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18);
    opacity: 0;
    transform: translateY(-50%) scale(0.9);
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.public-slider-arrow.is-prev {
    left: 12px;
}

.public-slider-arrow.is-next {
    right: 12px;
}

.public-testimonial-slider:hover .public-slider-arrow,
.public-slider-arrow:focus-visible {
    opacity: 1;
    transform: translateY(-50%) scale(1);
}

.public-slider-dots {
    position: absolute;
    bottom: 12px;
    left: 50%;
    z-index: 2;
    display: flex;
    gap: 6px;
    transform: translateX(-50%);
}

.public-slider-dots button {
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.55);
    transition: width 0.3s ease, background 0.3s ease;
}

.public-testimonial-slider:not([data-ready]) .public-slider-dots button:first-child,
.public-slider-dots button.is-active {
    width: 20px;
    background: #ffffff;
}

@media (hover: none) {
    .public-slider-arrow {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .public-testimonial-slide,
    .public-testimonial-card {
        transition: none;
    }
}

.public-coach-cta {
    border-top: 1px solid var(--fc-border);
    background: var(--fc-surface);
    padding: 32px 0;
}

.public-coach-cta .public-coach-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.public-coach-cta h2 {
    margin-top: 10px;
    color: var(--fc-text) !important;
    font-size: 24px;
    font-weight: 750;
}

.public-coach-cta p {
    margin-top: 6px;
    color: var(--fc-muted) !important;
}

.public-back-link {
    margin-bottom: 28px;
}

.public-signup-heading {
    margin-bottom: 28px;
}

.public-selected-plan {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: 20px;
    margin-bottom: 24px;
}

.public-selected-plan-price {
    text-align: right;
}

.public-selected-plan-description {
    grid-column: 1 / -1;
    white-space: pre-line;
}

.public-plan-choice-list {
    display: grid;
    gap: 12px;
}

.public-plan-choice {
    cursor: pointer;
}

.public-plan-choice input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.public-plan-choice .fc-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 18px;
}

.public-plan-choice .fc-card::after {
    content: "\f00c";
    display: flex;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--fc-border-strong);
    border-radius: var(--fc-radius-full);
    color: transparent;
    font-family: "Font Awesome 6 Free";
    font-size: 12px;
    font-weight: 900;
}

.public-plan-choice input:checked + .fc-card {
    border-color: var(--fc-brand) !important;
    box-shadow: var(--fc-shadow-focus), var(--fc-shadow-card) !important;
}

.public-plan-choice input:checked + .fc-card::after {
    background: var(--fc-brand);
    border-color: var(--fc-brand);
    color: #ffffff;
}

.public-plan-choice strong {
    display: block;
    color: var(--fc-text) !important;
    font-size: 16px;
    font-weight: 750;
}

.public-plan-choice small {
    display: block;
    margin-top: 4px;
    color: var(--fc-muted) !important;
    font-size: 13px;
}

.public-bank-panel {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.public-bank-panel p:last-child {
    margin-top: 4px;
    color: var(--fc-text) !important;
    font-size: 16px;
    font-weight: 750;
    overflow-wrap: anywhere;
}

.fc-required {
    color: var(--fc-danger);
}

.public-file-input {
    padding: 10px 12px;
}

.public-warning-panel {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 18px;
}

.public-warning-panel > i {
    margin-top: 2px;
    color: var(--fc-warning) !important;
    font-size: 22px;
}

.public-warning-panel p {
    margin-top: 4px;
    color: #7a4d10 !important;
}

.public-submit-row {
    display: flex;
    justify-content: center;
    padding-top: 8px;
}

.public-submit-button {
    min-width: min(100%, 280px);
}

@media (max-width: 900px) {
    .public-coach-hero-grid,
    .public-coach-info-grid,
    .public-plan-grid,
    .public-testimonial-grid {
        grid-template-columns: 1fr;
    }

    .public-coach-hero-grid {
        text-align: center;
    }

    .public-coach-photo-wrap {
        margin: 0 auto;
    }

    .public-coach-meta,
    .public-coach-actions,
    .public-coach-socials {
        justify-content: center;
    }

    .public-coach-cta .public-coach-container,
    .public-selected-plan {
        align-items: stretch;
        flex-direction: column;
        display: flex;
    }

    .public-selected-plan-price {
        text-align: left;
    }
}

@media (max-width: 640px) {
    .public-coach-container {
        width: min(100% - 24px, 1120px);
    }

    .public-coach-hero {
        padding: 48px 0 40px;
    }

    .public-coach-photo-wrap,
    .public-coach-photo {
        width: 176px;
        height: 176px;
    }

    .public-coach-content,
    .public-signup-shell {
        padding: 32px 0 52px;
    }

    .public-plan-choice .fc-card,
    .public-bank-panel {
        grid-template-columns: 1fr;
    }

    .public-plan-choice .fc-card {
        align-items: flex-start;
    }
}

.trainer-dashboard-surface .fc-sticky-search {
    background: color-mix(in srgb, var(--fc-surface-solid) 88%, transparent) !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.trainer-dashboard-surface .fc-select-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 16px;
}

.trainer-dashboard-surface .fc-select-card {
    display: block;
    height: 100%;
    padding: 16px;
    background: var(--fc-surface) !important;
    border: 1px solid var(--fc-border-strong) !important;
    border-radius: var(--fc-radius-sm);
    box-shadow: var(--fc-shadow-card) !important;
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease, background-color 160ms ease;
}

.trainer-dashboard-surface .fc-select-card:hover {
    border-color: var(--fc-border-strong) !important;
    box-shadow: var(--fc-shadow-hover) !important;
    transform: translateY(-1px);
}

.trainer-dashboard-surface .peer:checked + .fc-select-card {
    border-color: var(--fc-brand) !important;
    background: color-mix(in srgb, var(--fc-brand-soft) 56%, white 44%) !important;
    box-shadow: 0 0 0 3px rgba(53, 126, 168, 0.14);
}

.trainer-dashboard-surface .fc-select-card-plan .peer:checked + .fc-select-card,
.trainer-dashboard-surface .fc-select-card-plan.peer:checked + .fc-select-card {
    border-color: var(--fc-plan) !important;
    background: color-mix(in srgb, var(--fc-plan-soft) 52%, white 48%) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--fc-plan) 18%, transparent);
}

.trainer-dashboard-surface .fc-select-card-package .peer:checked + .fc-select-card,
.trainer-dashboard-surface .fc-select-card-package.peer:checked + .fc-select-card {
    border-color: var(--fc-package) !important;
    background: color-mix(in srgb, var(--fc-package-soft) 52%, white 48%) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--fc-package) 18%, transparent);
}

.trainer-dashboard-surface .fc-select-card-package.fc-card-selected {
    border-color: var(--fc-package) !important;
    background: color-mix(in srgb, var(--fc-package-soft) 52%, var(--fc-surface-solid) 48%) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--fc-package) 18%, transparent), var(--fc-shadow-card) !important;
}

.trainer-dashboard-surface .fc-day-chip {
    background: var(--fc-surface-solid) !important;
    border-color: var(--fc-border-strong) !important;
    color: var(--fc-text) !important;
    font-weight: 600;
    line-height: 1.35;
    transition: border-color 150ms ease, background-color 150ms ease, color 150ms ease;
}

.trainer-dashboard-surface .fc-day-chip:hover,
.trainer-dashboard-surface .fc-day-chip:focus-within {
    background: var(--fc-package-soft) !important;
    border-color: var(--fc-package) !important;
    color: var(--fc-package) !important;
}

html.dark .trainer-dashboard-surface.trainer-clients-premium .fc-select-card-plan .peer:checked + .fc-select-card,
html.dark .trainer-dashboard-surface.trainer-clients-premium .fc-select-card-plan.peer:checked + .fc-select-card,
html.dark .trainer-dashboard-surface.trainer-clients-premium .fc-select-card-plan:has(input[name="plan"]:checked) .fc-select-card {
    border-color: var(--fc-plan) !important;
    background: color-mix(in srgb, var(--fc-surface-solid) 94%, var(--fc-plan) 6%) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--fc-plan) 18%, transparent) !important;
}

html.dark .trainer-dashboard-surface.trainer-clients-premium .fc-select-card-package .peer:checked + .fc-select-card,
html.dark .trainer-dashboard-surface.trainer-clients-premium .fc-select-card-package.peer:checked + .fc-select-card,
html.dark .trainer-dashboard-surface.trainer-clients-premium .fc-select-card-package:has(input[name="package"]:checked) .fc-select-card {
    border-color: var(--fc-package) !important;
    background: color-mix(in srgb, var(--fc-surface-solid) 94%, var(--fc-package) 6%) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--fc-package) 18%, transparent) !important;
}

.trainer-dashboard-surface .fc-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    border-radius: var(--fc-radius-full);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.35;
}

.trainer-dashboard-surface .fc-pill-brand {
    background: var(--fc-brand-soft) !important;
    color: var(--fc-brand) !important;
}

.trainer-dashboard-surface .fc-pill-plan {
    background: var(--fc-plan-soft) !important;
    color: var(--fc-plan) !important;
}

.trainer-dashboard-surface .fc-pill-package {
    background: var(--fc-package-soft) !important;
    color: var(--fc-package) !important;
}

.trainer-dashboard-surface .fc-pill-diet {
    background: var(--fc-diet-soft) !important;
    color: var(--fc-diet) !important;
}

.trainer-dashboard-surface .fc-pill-routine {
    background: var(--fc-routine-soft) !important;
    color: var(--fc-routine) !important;
}

.trainer-dashboard-surface .fc-pill-muted {
    background: var(--fc-surface-soft) !important;
    color: var(--fc-muted) !important;
}

.trainer-dashboard-surface .fc-table-avatar {
    display: inline-flex;
    width: 40px;
    height: 40px;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: linear-gradient(135deg, #102a43, #183b56 58%, #2b6a9b) !important;
    color: #ffffff !important;
    font-size: 14px;
    font-weight: 700;
}

.trainer-dashboard-surface .fc-link-accent {
    color: var(--fc-brand) !important;
    transition: color 160ms ease;
}

.trainer-dashboard-surface .fc-link-accent:hover {
    color: var(--fc-brand-hover) !important;
}

.trainer-dashboard-surface .fc-divider {
    border-color: var(--fc-border) !important;
}

.trainer-dashboard-surface .fc-truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.trainer-dashboard-surface.trainer-payments-premium,
.trainer-dashboard-surface.trainer-testimonials-premium {
    --fc-current-accent: var(--fc-brand);
    --fc-current-accent-soft: var(--fc-brand-soft);
}

.trainer-dashboard-surface .fc-payment-register-modal {
    max-width: 896px;
}

.trainer-dashboard-surface .fc-payment-review-modal {
    max-width: 768px;
}

.trainer-dashboard-surface.trainer-payments-premium .fc-kpi-icon,
.trainer-dashboard-surface.trainer-testimonials-premium .fc-kpi-icon {
    background: var(--fc-brand-soft) !important;
    color: var(--fc-brand) !important;
}

.trainer-dashboard-surface.trainer-payments-premium .fc-select-card.fc-card-selected {
    border-color: var(--fc-plan) !important;
    background: color-mix(in srgb, var(--fc-plan-soft) 56%, var(--fc-surface-solid) 44%) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--fc-plan) 18%, transparent) !important;
}

.trainer-dashboard-surface.trainer-payments-premium .fc-modal-panel,
.trainer-dashboard-surface.trainer-testimonials-premium .fc-modal-panel {
    background: var(--fc-surface-solid) !important;
}

.trainer-dashboard-surface.trainer-payments-premium .fc-payment-review-icon {
    align-items: center;
    background: var(--fc-brand-soft) !important;
    border: 1px solid color-mix(in srgb, var(--fc-brand) 20%, transparent);
    border-radius: var(--fc-radius-sm);
    color: var(--fc-brand) !important;
    display: inline-flex;
    flex: 0 0 auto;
    height: 44px;
    justify-content: center;
    width: 44px;
}

.trainer-dashboard-surface.trainer-payments-premium .fc-payment-detail-tile,
.trainer-dashboard-surface.trainer-payments-premium .fc-payment-detail-section,
.trainer-dashboard-surface.trainer-payments-premium .fc-payment-proof-frame {
    background: var(--fc-surface) !important;
    border: 1px solid var(--fc-border) !important;
    border-radius: var(--fc-radius-md);
    box-shadow: 0 1px 2px rgba(17, 23, 25, 0.04);
}

.trainer-dashboard-surface.trainer-payments-premium .fc-payment-detail-tile {
    padding: 16px;
}

.trainer-dashboard-surface.trainer-payments-premium .fc-payment-detail-label {
    color: var(--fc-muted) !important;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.35;
    margin-bottom: 6px;
    text-transform: uppercase;
}

.trainer-dashboard-surface.trainer-payments-premium .fc-payment-detail-value {
    color: var(--fc-text) !important;
    font-size: 24px;
    font-weight: 750;
    line-height: 1.2;
}

.trainer-dashboard-surface.trainer-payments-premium .fc-payment-detail-reference {
    font-size: 18px;
    overflow-wrap: anywhere;
}

.trainer-dashboard-surface.trainer-payments-premium .fc-payment-detail-section {
    display: grid;
    gap: 0;
    overflow: hidden;
}

.trainer-dashboard-surface.trainer-payments-premium .fc-payment-detail-row {
    padding: 16px;
}

.trainer-dashboard-surface.trainer-payments-premium .fc-payment-detail-row + .fc-payment-detail-row {
    border-top: 1px solid var(--fc-border);
}

.trainer-dashboard-surface.trainer-payments-premium .fc-payment-detail-text {
    color: var(--fc-text) !important;
    font-size: 15px;
    font-weight: 650;
    line-height: 1.45;
}

.trainer-dashboard-surface.trainer-payments-premium .fc-payment-detail-note {
    background: var(--fc-surface-soft) !important;
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius-sm);
    color: var(--fc-muted) !important;
    font-size: 14px;
    line-height: 1.55;
    margin-top: 8px;
    padding: 12px;
    white-space: pre-wrap;
}

.trainer-dashboard-surface.trainer-payments-premium .fc-payment-proof-title {
    align-items: center;
    color: var(--fc-text) !important;
    display: flex;
    font-size: 14px;
    font-weight: 700;
    gap: 8px;
    margin-bottom: 12px;
}

.trainer-dashboard-surface.trainer-payments-premium .fc-payment-proof-title i,
.trainer-dashboard-surface.trainer-payments-premium .fc-payment-proof-hint i {
    color: var(--fc-brand) !important;
}

.trainer-dashboard-surface.trainer-payments-premium .fc-payment-proof-frame {
    overflow: hidden;
}

.trainer-dashboard-surface.trainer-payments-premium .fc-payment-proof-frame img:hover {
    opacity: 0.92;
}

.trainer-dashboard-surface.trainer-payments-premium .fc-payment-proof-pdf {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 32px;
    text-align: center;
}

.trainer-dashboard-surface.trainer-payments-premium .fc-payment-proof-pdf > i {
    color: var(--fc-danger) !important;
    font-size: 48px;
}

.trainer-dashboard-surface.trainer-payments-premium .fc-payment-proof-pdf p {
    color: var(--fc-text) !important;
    font-size: 15px;
    font-weight: 650;
}

.trainer-dashboard-surface.trainer-payments-premium .fc-payment-proof-hint {
    align-items: center;
    color: var(--fc-muted) !important;
    display: flex;
    font-size: 12px;
    font-weight: 600;
    gap: 6px;
    justify-content: center;
    margin-top: 10px;
}

.trainer-dashboard-surface.trainer-payments-premium .fc-payment-empty-proof {
    background: var(--fc-warning-soft) !important;
    border: 1px solid color-mix(in srgb, var(--fc-warning) 28%, transparent);
    border-radius: var(--fc-radius-md);
    color: #7a4d10 !important;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.45;
    padding: 14px 16px;
}

.trainer-dashboard-surface.trainer-payments-premium .fc-payment-empty-proof i {
    color: var(--fc-warning) !important;
    margin-top: 2px;
}

.trainer-dashboard-surface .fc-testimonial-card {
    background: var(--fc-surface-solid) !important;
}

.trainer-dashboard-surface .fc-testimonial-quote {
    color: var(--fc-text) !important;
    font-size: 14px;
    font-style: italic;
    font-weight: 450;
    line-height: 1.55;
}

.trainer-dashboard-surface .fc-rating-row {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--fc-warning) !important;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
}

.trainer-dashboard-surface .fc-rating-row span {
    color: var(--fc-muted) !important;
    font-size: 13px;
    margin-left: 6px;
}

.trainer-dashboard-surface .fc-rating-row-sm {
    font-size: 13px;
}

.trainer-dashboard-surface.client-testimonial-premium {
    --fc-current-accent: var(--fc-brand);
    --fc-current-accent-soft: var(--fc-brand-soft);
}

.trainer-dashboard-surface.client-testimonial-premium .client-rating-grid {
    display: grid;
    gap: 10px;
}

.trainer-dashboard-surface.client-testimonial-premium .client-rating-option {
    display: flex;
    min-height: 56px;
    align-items: center;
    gap: 14px;
    padding: 12px 14px;
    border: 1px solid var(--fc-border-strong);
    border-radius: var(--fc-radius-sm);
    background: var(--fc-surface-solid);
    color: var(--fc-text);
    cursor: pointer;
    transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.trainer-dashboard-surface.client-testimonial-premium .client-rating-option:hover,
.trainer-dashboard-surface.client-testimonial-premium .client-rating-option:focus-within {
    border-color: var(--fc-brand);
    background: color-mix(in srgb, var(--fc-brand-soft) 45%, var(--fc-surface-solid) 55%);
    box-shadow: var(--fc-shadow-focus);
}

.trainer-dashboard-surface.client-testimonial-premium .client-rating-option input {
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
    accent-color: var(--fc-brand);
}

.trainer-dashboard-surface.client-testimonial-premium .client-rating-option:has(input:checked) {
    border-color: var(--fc-brand);
    background: color-mix(in srgb, var(--fc-brand-soft) 58%, var(--fc-surface-solid) 42%);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--fc-brand) 16%, transparent);
}

.trainer-dashboard-surface.client-testimonial-premium .client-rating-stars {
    display: inline-flex;
    min-width: 94px;
    align-items: center;
    gap: 3px;
    color: var(--fc-warning);
    font-size: 14px;
}

.trainer-dashboard-surface.client-testimonial-premium .client-rating-copy {
    color: var(--fc-text);
    font-size: 14px;
    font-weight: 650;
    line-height: 1.35;
}

.trainer-dashboard-surface.client-testimonial-premium textarea {
    min-height: 148px;
    border-color: var(--fc-border-strong) !important;
    border-radius: var(--fc-radius-sm) !important;
    background: var(--fc-surface-solid) !important;
    color: var(--fc-text) !important;
    font-size: 15px;
    line-height: 1.5;
    box-shadow: none !important;
}

.trainer-dashboard-surface.client-testimonial-premium textarea:focus {
    border-color: var(--fc-brand) !important;
    box-shadow: var(--fc-shadow-focus) !important;
}

html.dark .trainer-dashboard-surface.client-testimonial-premium .client-rating-option:has(input:checked),
html.dark .trainer-dashboard-surface.client-testimonial-premium .client-rating-option:hover,
html.dark .trainer-dashboard-surface.client-testimonial-premium .client-rating-option:focus-within {
    background: color-mix(in srgb, var(--fc-surface-solid) 90%, var(--fc-brand) 10%);
}

html.dark .trainer-dashboard-surface.trainer-payments-premium .fc-select-card.fc-card-selected {
    background: color-mix(in srgb, var(--fc-plan-soft) 80%, transparent) !important;
}

.trainer-dashboard-surface.trainer-analytics-premium {
    --fc-current-accent: var(--fc-brand);
    --fc-current-accent-soft: var(--fc-brand-soft);
    --fc-analytics-grid: rgba(29, 41, 45, 0.12);
    --fc-analytics-axis: #637075;
    --fc-analytics-stack-border: #ffffff;
    --fc-analytics-bar-border: transparent;
    --fc-analytics-legend-text: #637075;
}

.trainer-dashboard-surface.client-dashboard-premium {
    --fc-current-accent: var(--fc-brand);
    --fc-current-accent-soft: var(--fc-brand-soft);
    color: var(--fc-text);
}

.trainer-dashboard-surface.client-dashboard-premium .client-dashboard-advanced-kpis .from-purple-500,
.trainer-dashboard-surface.client-dashboard-premium .client-dashboard-advanced-kpis .from-blue-500 {
    --fc-current-accent: var(--fc-brand);
    --fc-current-accent-soft: var(--fc-brand-soft);
}

.trainer-dashboard-surface.client-dashboard-premium .client-dashboard-advanced-kpis .from-green-500 {
    --fc-current-accent: var(--fc-success);
    --fc-current-accent-soft: var(--fc-success-soft);
}

.trainer-dashboard-surface.client-dashboard-premium .client-dashboard-advanced-kpis .from-amber-500 {
    --fc-current-accent: var(--fc-warning);
    --fc-current-accent-soft: var(--fc-warning-soft);
}

.trainer-dashboard-surface.client-dashboard-premium .client-dashboard-advanced-kpis .bg-gradient-to-br {
    position: relative;
    overflow: hidden;
    background: var(--fc-surface) !important;
    border: 1px solid var(--fc-border) !important;
    border-radius: var(--fc-radius-md) !important;
    box-shadow: var(--fc-shadow-card) !important;
    color: var(--fc-text) !important;
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.trainer-dashboard-surface.client-dashboard-premium .client-dashboard-advanced-kpis .bg-gradient-to-br:hover {
    border-color: color-mix(in srgb, var(--fc-current-accent) 32%, var(--fc-border)) !important;
    box-shadow: var(--fc-shadow-hover) !important;
    transform: translateY(-1px);
}

.trainer-dashboard-surface.client-dashboard-premium .client-dashboard-advanced-kpis .bg-gradient-to-br p,
.trainer-dashboard-surface.client-dashboard-premium .client-dashboard-advanced-kpis .bg-gradient-to-br span {
    color: var(--fc-muted) !important;
}

.trainer-dashboard-surface.client-dashboard-premium .client-dashboard-advanced-kpis .bg-gradient-to-br h3,
.trainer-dashboard-surface.client-dashboard-premium .client-dashboard-advanced-kpis .bg-gradient-to-br .font-bold,
.trainer-dashboard-surface.client-dashboard-premium .client-dashboard-advanced-kpis .bg-gradient-to-br .font-semibold {
    color: var(--fc-text) !important;
}

.trainer-dashboard-surface.client-dashboard-premium .client-dashboard-advanced-kpis .bg-gradient-to-br .bg-white\/20 {
    background: var(--fc-current-accent-soft) !important;
    border: 1px solid color-mix(in srgb, var(--fc-current-accent) 24%, transparent);
    color: var(--fc-current-accent) !important;
}

.trainer-dashboard-surface.client-dashboard-premium .client-dashboard-advanced-kpis .bg-gradient-to-br .bg-white\/20 i {
    color: var(--fc-current-accent) !important;
}

.trainer-dashboard-surface.client-dashboard-premium .client-dashboard-advanced-kpis .border-purple-400,
.trainer-dashboard-surface.client-dashboard-premium .client-dashboard-advanced-kpis .border-blue-400,
.trainer-dashboard-surface.client-dashboard-premium .client-dashboard-advanced-kpis .border-green-400,
.trainer-dashboard-surface.client-dashboard-premium .client-dashboard-advanced-kpis .border-amber-400 {
    border-color: var(--fc-border) !important;
}

.trainer-dashboard-surface.client-dashboard-premium .fc-primary-action {
    background: var(--fc-brand-action) !important;
    border-color: var(--fc-brand-action) !important;
    color: #ffffff !important;
}

.trainer-dashboard-surface.client-dashboard-premium .fc-primary-action:hover {
    background: var(--fc-brand-action-hover) !important;
}

.trainer-dashboard-surface.client-dashboard-premium .fc-program-card {
    min-height: 184px;
}

.trainer-dashboard-surface.client-dashboard-premium .fc-status-chip:not(.fc-status-chip-active):not(.fc-status-warning):not(.fc-status-danger):not(.fc-status-info) {
    background: var(--fc-surface-soft) !important;
    color: var(--fc-muted) !important;
}

.trainer-dashboard-surface.trainer-analytics-premium {
    color: var(--fc-text);
}

.trainer-dashboard-surface.trainer-analytics-premium .fc-analytics-page-header {
    align-items: center;
    display: flex;
    gap: 14px;
}

.trainer-dashboard-surface.trainer-analytics-premium .fc-analytics-page-icon {
    align-items: center;
    background: var(--fc-brand-soft);
    border: 1px solid color-mix(in srgb, var(--fc-brand) 20%, transparent);
    border-radius: var(--fc-radius-md);
    box-shadow: 0 10px 24px color-mix(in srgb, var(--fc-brand) 10%, transparent);
    color: var(--fc-brand);
    display: inline-flex;
    flex: 0 0 auto;
    height: 48px;
    justify-content: center;
    width: 48px;
}

.trainer-dashboard-surface.trainer-analytics-premium h1,
.trainer-dashboard-surface.trainer-analytics-premium h2,
.trainer-dashboard-surface.trainer-analytics-premium h3 {
    color: var(--fc-text) !important;
    letter-spacing: 0;
}

.trainer-dashboard-surface.trainer-analytics-premium p,
.trainer-dashboard-surface.trainer-analytics-premium label,
.trainer-dashboard-surface.trainer-analytics-premium .text-gray-600,
.trainer-dashboard-surface.trainer-analytics-premium .text-gray-500,
.trainer-dashboard-surface.trainer-analytics-premium .text-gray-400 {
    color: var(--fc-muted) !important;
}

.trainer-dashboard-surface.trainer-analytics-premium .fc-analytics-tabs {
    background: color-mix(in srgb, var(--fc-surface) 86%, transparent);
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius-md);
    box-shadow: var(--fc-shadow-card);
    padding: 6px;
}

.trainer-dashboard-surface.trainer-analytics-premium .fc-analytics-tab {
    align-items: center;
    border: 1px solid transparent;
    border-radius: var(--fc-radius-sm);
    display: inline-flex;
    min-height: 40px;
    padding: 9px 14px;
}

.trainer-dashboard-surface.trainer-analytics-premium .fc-analytics-tab-active {
    background: var(--fc-brand-action);
    border-color: color-mix(in srgb, var(--fc-brand) 20%, var(--fc-border));
    color: #ffffff !important;
    box-shadow: 0 10px 22px color-mix(in srgb, var(--fc-brand) 18%, transparent);
}

.trainer-dashboard-surface.trainer-analytics-premium .fc-analytics-tab-inactive {
    color: var(--fc-muted) !important;
}

.trainer-dashboard-surface.trainer-analytics-premium .fc-analytics-tab-inactive:hover {
    background: var(--fc-brand-faint);
    color: var(--fc-brand) !important;
}

.trainer-dashboard-surface.trainer-analytics-premium .bg-white.rounded-xl,
.trainer-dashboard-surface.trainer-analytics-premium .bg-white.rounded-lg,
.trainer-dashboard-surface.trainer-analytics-premium details.bg-white {
    background: var(--fc-surface) !important;
    border: 1px solid var(--fc-border) !important;
    border-radius: var(--fc-radius-md) !important;
    box-shadow: var(--fc-shadow-card) !important;
}

.trainer-dashboard-surface.trainer-analytics-premium .fc-analytics-chart-card {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(180deg, color-mix(in srgb, var(--fc-surface-solid) 88%, transparent), var(--fc-surface)) !important;
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.trainer-dashboard-surface.trainer-analytics-premium .fc-measurements-chart-card {
    overflow: visible !important;
    z-index: 10;
}

.trainer-dashboard-surface.trainer-analytics-premium .fc-measurements-chart-card [id="measurementDropdown"] {
    z-index: 1000;
}

.trainer-dashboard-surface.trainer-analytics-premium .fc-measurements-chart-card [id="measurementDropdownMenu"] {
    z-index: 1001;
}

.trainer-dashboard-surface.trainer-analytics-premium .fc-analytics-chart-card::before {
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    content: "";
    background: var(--fc-current-accent);
    opacity: 0.9;
}

.trainer-dashboard-surface.trainer-analytics-premium .fc-analytics-chart-card:hover {
    border-color: color-mix(in srgb, var(--fc-current-accent) 28%, var(--fc-border)) !important;
    box-shadow: var(--fc-shadow-hover) !important;
    transform: translateY(-1px);
}

.trainer-dashboard-surface.trainer-analytics-premium .fc-analytics-chart-card > * {
    position: relative;
    z-index: 1;
}

.trainer-dashboard-surface.trainer-analytics-premium .fc-chart-accent-brand {
    --fc-current-accent: var(--fc-brand);
    --fc-current-accent-soft: var(--fc-brand-soft);
}

.trainer-dashboard-surface.trainer-analytics-premium .fc-chart-accent-info {
    --fc-current-accent: var(--fc-info);
    --fc-current-accent-soft: var(--fc-info-soft);
}

.trainer-dashboard-surface.trainer-analytics-premium .fc-chart-accent-success {
    --fc-current-accent: var(--fc-success);
    --fc-current-accent-soft: var(--fc-success-soft);
}

.trainer-dashboard-surface.trainer-analytics-premium .fc-chart-accent-warning {
    --fc-current-accent: var(--fc-warning);
    --fc-current-accent-soft: var(--fc-warning-soft);
}

.trainer-dashboard-surface.trainer-analytics-premium .fc-chart-accent-danger {
    --fc-current-accent: var(--fc-danger);
    --fc-current-accent-soft: var(--fc-danger-soft);
}

.trainer-dashboard-surface.trainer-analytics-premium .fc-analytics-chart-heading {
    align-items: center;
    display: flex;
    gap: 10px;
}

.trainer-dashboard-surface.trainer-analytics-premium .fc-analytics-chart-heading h3 {
    margin: 0 !important;
    line-height: 1.25;
}

.trainer-dashboard-surface.trainer-analytics-premium .fc-analytics-chart-icon {
    align-items: center;
    background: var(--fc-current-accent-soft);
    border: 1px solid color-mix(in srgb, var(--fc-current-accent) 22%, transparent);
    border-radius: var(--fc-radius-sm);
    color: var(--fc-current-accent);
    display: inline-flex;
    flex: 0 0 auto;
    height: 36px;
    justify-content: center;
    width: 36px;
}

.trainer-dashboard-surface.trainer-analytics-premium .fc-analytics-chart-icon i {
    color: var(--fc-current-accent) !important;
}

.trainer-dashboard-surface.trainer-analytics-premium .fc-chart-container {
    background:
        linear-gradient(180deg, color-mix(in srgb, var(--fc-current-accent-soft) 22%, transparent), transparent 42%),
        color-mix(in srgb, var(--fc-surface-solid) 82%, var(--fc-surface-soft) 18%);
    border: 1px solid color-mix(in srgb, var(--fc-current-accent) 12%, var(--fc-border));
    border-radius: var(--fc-radius-sm);
    padding: 14px;
}

.trainer-dashboard-surface.trainer-analytics-premium .fc-chart-empty {
    background:
        linear-gradient(180deg, color-mix(in srgb, var(--fc-current-accent-soft) 24%, transparent), transparent 60%),
        var(--fc-surface-soft);
    border: 1px dashed color-mix(in srgb, var(--fc-current-accent) 24%, var(--fc-border));
    border-radius: var(--fc-radius-sm);
}

.trainer-dashboard-surface.trainer-analytics-premium .fc-chart-empty i {
    color: color-mix(in srgb, var(--fc-current-accent) 52%, var(--fc-muted)) !important;
    opacity: 0.8;
}

.trainer-dashboard-surface.trainer-analytics-premium .fc-chart-compare-row {
    background: color-mix(in srgb, var(--fc-surface-soft) 76%, transparent);
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius-sm);
    padding: 10px;
}

.trainer-dashboard-surface.trainer-analytics-premium .fc-chart-mini-kpi {
    background: var(--fc-surface-solid) !important;
    border-color: var(--fc-border) !important;
    border-radius: var(--fc-radius-sm) !important;
    box-shadow: none !important;
}

.trainer-dashboard-surface.trainer-analytics-premium .fc-chart-mini-kpi div:last-child {
    color: var(--fc-current-accent) !important;
}

.trainer-dashboard-surface.trainer-analytics-premium .border-2.border-dashed {
    background: color-mix(in srgb, var(--fc-surface-soft) 86%, transparent) !important;
    border-color: var(--fc-border-strong) !important;
    border-radius: var(--fc-radius-md) !important;
}

.trainer-dashboard-surface.trainer-analytics-premium input,
.trainer-dashboard-surface.trainer-analytics-premium select,
.trainer-dashboard-surface.trainer-analytics-premium textarea,
.trainer-dashboard-surface.trainer-analytics-premium button[id$="DropdownButton"] {
    background: var(--fc-surface-solid) !important;
    border-color: var(--fc-border-strong) !important;
    border-radius: var(--fc-radius-sm) !important;
    color: var(--fc-text) !important;
}

.trainer-dashboard-surface.trainer-analytics-premium input:focus,
.trainer-dashboard-surface.trainer-analytics-premium select:focus,
.trainer-dashboard-surface.trainer-analytics-premium textarea:focus,
.trainer-dashboard-surface.trainer-analytics-premium button[id$="DropdownButton"]:focus {
    border-color: var(--fc-brand) !important;
    box-shadow: var(--fc-shadow-focus) !important;
    outline: none;
}

.trainer-dashboard-surface.trainer-analytics-premium button[type="submit"],
.trainer-dashboard-surface.trainer-analytics-premium button[style*="background-color"] {
    background: var(--fc-brand-action) !important;
    border-radius: var(--fc-radius-sm) !important;
    color: #ffffff !important;
}

.trainer-dashboard-surface.trainer-analytics-premium table thead,
.trainer-dashboard-surface.trainer-analytics-premium .bg-gray-50 {
    background: var(--fc-surface-soft) !important;
}

.trainer-dashboard-surface.trainer-analytics-premium .rounded-full.bg-slate-50,
.trainer-dashboard-surface.trainer-analytics-premium .rounded-full.bg-blue-50,
.trainer-dashboard-surface.trainer-analytics-premium .rounded-full.bg-green-100 {
    background: color-mix(in srgb, var(--fc-surface-solid) 72%, var(--fc-brand-soft) 28%) !important;
    border: 1px solid color-mix(in srgb, var(--fc-brand) 24%, var(--fc-border));
    color: var(--fc-brand) !important;
}

.trainer-dashboard-surface.trainer-analytics-premium .fc-trend-forming-pill {
    background: var(--fc-info-soft) !important;
    border-color: color-mix(in srgb, var(--fc-info) 28%, transparent) !important;
    color: var(--fc-brand-strong) !important;
}

.trainer-dashboard-surface.trainer-analytics-premium .fc-trend-forming-pill i {
    color: var(--fc-info) !important;
}

html.dark .trainer-dashboard-surface.trainer-analytics-premium {
    --fc-analytics-grid: rgba(225, 230, 231, 0.1);
    --fc-analytics-axis: #aab5b8;
    --fc-analytics-stack-border: #12191c;
    --fc-analytics-bar-border: transparent;
    --fc-analytics-legend-text: #aab5b8;
}

html.dark .trainer-dashboard-surface.trainer-analytics-premium .fc-trend-forming-pill {
    background: color-mix(in srgb, var(--fc-info-soft) 72%, var(--fc-surface-solid)) !important;
    border-color: color-mix(in srgb, var(--fc-info) 42%, transparent) !important;
    color: var(--fc-text) !important;
}

html.dark .trainer-dashboard-surface.trainer-analytics-premium .fc-trend-forming-pill i {
    color: var(--fc-brand) !important;
}

.trainer-dashboard-surface.trainer-analytics-premium canvas {
    display: block;
    max-width: 100% !important;
    height: auto !important;
}

.trainer-dashboard-surface.trainer-analytics-premium canvas[id*="Chart"] {
    width: 100% !important;
    height: 100% !important;
}

.trainer-dashboard-surface.trainer-analytics-premium .chart-container {
    position: relative;
    width: 100%;
    height: 300px;
    min-height: 300px;
}

.trainer-dashboard-surface.trainer-analytics-premium .chart-container-tall {
    position: relative;
    width: 100%;
    height: 350px;
    min-height: 350px;
}

.trainer-dashboard-surface.trainer-analytics-premium .fc-chart-note {
    align-items: flex-start;
    display: flex;
    gap: 8px;
    padding: 10px 12px;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.45;
}

.trainer-dashboard-surface.trainer-analytics-premium .fc-chart-note i {
    color: var(--fc-brand) !important;
    margin-top: 2px;
}

.trainer-dashboard-surface.trainer-analytics-premium button[type="submit"].htmx-request {
    opacity: 0.6;
    pointer-events: none;
}

.trainer-dashboard-surface.trainer-analytics-premium button[type="submit"].htmx-request i.fa-filter::before {
    content: "\f110";
    animation: fc-spin 1s linear infinite;
}

@keyframes fc-spin {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

.trainer-dashboard-surface.trainer-analytics-premium h1 i,
.trainer-dashboard-surface.trainer-analytics-premium h2 i {
    color: var(--fc-brand) !important;
}

.trainer-dashboard-surface.trainer-analytics-premium .bg-gradient-to-br {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--fc-current-accent-soft) 62%, transparent), transparent 52%),
        var(--fc-surface) !important;
    border: 1px solid color-mix(in srgb, var(--fc-current-accent) 28%, var(--fc-border)) !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.72) inset,
        0 18px 42px rgba(17, 23, 25, 0.08),
        0 0 0 3px color-mix(in srgb, var(--fc-current-accent) 8%, transparent) !important;
    color: var(--fc-text) !important;
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.trainer-dashboard-surface.trainer-analytics-premium .bg-gradient-to-br:hover {
    border-color: color-mix(in srgb, var(--fc-current-accent) 42%, var(--fc-border)) !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.76) inset,
        0 22px 52px rgba(17, 23, 25, 0.12),
        0 0 0 4px color-mix(in srgb, var(--fc-current-accent) 11%, transparent) !important;
    transform: translateY(-1px);
}

html.dark .trainer-dashboard-surface.trainer-analytics-premium .bg-gradient-to-br {
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--fc-current-accent-soft) 70%, transparent), transparent 58%),
        linear-gradient(180deg, color-mix(in srgb, var(--fc-surface-solid) 92%, var(--fc-current-accent) 8%), var(--fc-surface)) !important;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.06) inset,
        0 18px 46px rgba(0, 0, 0, 0.28),
        0 0 0 3px color-mix(in srgb, var(--fc-current-accent) 14%, transparent) !important;
}

.trainer-dashboard-surface.trainer-analytics-premium .bg-gradient-to-br::before {
    position: absolute;
    inset: 0;
    border-radius: inherit;
    content: "";
    pointer-events: none;
    box-shadow: inset 4px 0 0 var(--fc-current-accent);
    opacity: 0.86;
}

.trainer-dashboard-surface.trainer-analytics-premium .from-purple-500 {
    --fc-current-accent: var(--fc-package);
    --fc-current-accent-soft: var(--fc-package-soft);
}

.trainer-dashboard-surface.trainer-analytics-premium .from-blue-500 {
    --fc-current-accent: var(--fc-brand);
    --fc-current-accent-soft: var(--fc-brand-soft);
}

.trainer-dashboard-surface.trainer-analytics-premium .from-green-500,
.trainer-dashboard-surface.trainer-analytics-premium .from-green-50,
.trainer-dashboard-surface.trainer-analytics-premium .from-emerald-50 {
    --fc-current-accent: var(--fc-success);
    --fc-current-accent-soft: var(--fc-success-soft);
}

.trainer-dashboard-surface.trainer-analytics-premium .from-amber-500,
.trainer-dashboard-surface.trainer-analytics-premium .from-orange-50,
.trainer-dashboard-surface.trainer-analytics-premium .from-red-50 {
    --fc-current-accent: var(--fc-warning);
    --fc-current-accent-soft: var(--fc-warning-soft);
}

.trainer-dashboard-surface.trainer-analytics-premium .from-purple-50,
.trainer-dashboard-surface.trainer-analytics-premium .from-pink-50 {
    --fc-current-accent: var(--fc-package);
    --fc-current-accent-soft: var(--fc-package-soft);
}

.trainer-dashboard-surface.trainer-analytics-premium .from-blue-50,
.trainer-dashboard-surface.trainer-analytics-premium .from-indigo-50 {
    --fc-current-accent: var(--fc-info);
    --fc-current-accent-soft: var(--fc-info-soft);
}

.trainer-dashboard-surface.trainer-analytics-premium .fc-progress-kpi-card.fc-progress-kpi-blue {
    background: linear-gradient(135deg, #357ea8, #1f4e79) !important;
}

.trainer-dashboard-surface.trainer-analytics-premium .fc-progress-kpi-card.fc-progress-kpi-purple {
    background: linear-gradient(135deg, var(--fc-package), #3f6f73) !important;
}

.trainer-dashboard-surface.trainer-analytics-premium .fc-progress-kpi-card.fc-progress-kpi-green {
    background: linear-gradient(135deg, #2f8a6b, #1f6f55) !important;
}

.trainer-dashboard-surface.trainer-analytics-premium .fc-progress-kpi-card.fc-progress-kpi-amber {
    background: linear-gradient(135deg, #b7791f, #915f18) !important;
}

.trainer-dashboard-surface.trainer-analytics-premium .fc-progress-kpi-card.fc-progress-kpi-red {
    background: linear-gradient(135deg, #c24a3a, #96382c) !important;
}

.trainer-dashboard-surface.trainer-analytics-premium .fc-progress-kpi-card,
.trainer-dashboard-surface.trainer-analytics-premium .fc-progress-kpi-card p,
.trainer-dashboard-surface.trainer-analytics-premium .fc-progress-kpi-card span,
.trainer-dashboard-surface.trainer-analytics-premium .fc-progress-kpi-card h3,
.trainer-dashboard-surface.trainer-analytics-premium .fc-progress-kpi-card i {
    color: #ffffff !important;
}

.trainer-dashboard-surface.trainer-analytics-premium .fc-progress-kpi-card p,
.trainer-dashboard-surface.trainer-analytics-premium .fc-progress-kpi-card span {
    opacity: 0.86;
}

.trainer-dashboard-surface.trainer-analytics-premium .bg-gradient-to-br p,
.trainer-dashboard-surface.trainer-analytics-premium .bg-gradient-to-br span,
.trainer-dashboard-surface.trainer-analytics-premium .bg-gradient-to-br details,
.trainer-dashboard-surface.trainer-analytics-premium .bg-gradient-to-br summary {
    color: var(--fc-muted) !important;
}

.trainer-dashboard-surface.trainer-analytics-premium .bg-gradient-to-br h3 {
    color: var(--fc-text) !important;
    font-size: 30px;
    line-height: 1.12;
}

.trainer-dashboard-surface.trainer-analytics-premium .bg-gradient-to-br .font-bold,
.trainer-dashboard-surface.trainer-analytics-premium .bg-gradient-to-br .font-semibold {
    color: var(--fc-text) !important;
}

.trainer-dashboard-surface.trainer-analytics-premium .bg-gradient-to-br .rounded-full.font-bold,
.trainer-dashboard-surface.trainer-analytics-premium .bg-gradient-to-br .rounded-full.font-semibold {
    color: #ffffff !important;
}

.trainer-dashboard-surface.trainer-analytics-premium .bg-gradient-to-br .bg-white\/20 {
    background: var(--fc-current-accent-soft) !important;
    border: 1px solid color-mix(in srgb, var(--fc-current-accent) 24%, transparent);
    box-shadow: 0 10px 24px color-mix(in srgb, var(--fc-current-accent) 16%, transparent);
    color: var(--fc-current-accent) !important;
}

.trainer-dashboard-surface.trainer-analytics-premium .bg-gradient-to-br .bg-white\/20 i {
    color: var(--fc-current-accent) !important;
}

.trainer-dashboard-surface.trainer-analytics-premium .fc-insight-box {
    position: relative;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--fc-brand) 18%, var(--fc-border));
    border-radius: var(--fc-radius-md);
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--fc-surface-solid) 82%, var(--fc-brand-soft) 18%), var(--fc-surface)),
        var(--fc-surface);
    box-shadow: var(--fc-shadow-card);
    color: var(--fc-text);
    backdrop-filter: blur(18px);
}

.trainer-dashboard-surface.trainer-analytics-premium .fc-insight-box::before {
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: linear-gradient(180deg, var(--fc-brand), var(--fc-info));
    content: "";
}

.trainer-dashboard-surface.trainer-analytics-premium .fc-insight-box > * {
    position: relative;
    z-index: 1;
}

.trainer-dashboard-surface.trainer-analytics-premium .fc-insight-box .w-10.h-10 {
    background: var(--fc-brand-soft) !important;
    border-color: color-mix(in srgb, var(--fc-brand) 24%, var(--fc-border)) !important;
    color: var(--fc-brand) !important;
    box-shadow: 0 10px 24px color-mix(in srgb, var(--fc-brand) 12%, transparent);
}

.trainer-dashboard-surface.trainer-analytics-premium .fc-insight-box .w-10.h-10 i,
.trainer-dashboard-surface.trainer-analytics-premium .fc-insight-box .text-blue-600,
.trainer-dashboard-surface.trainer-analytics-premium .fc-insight-box .text-blue-700 {
    color: var(--fc-brand) !important;
}

.trainer-dashboard-surface.trainer-analytics-premium .fc-insight-box p,
.trainer-dashboard-surface.trainer-analytics-premium .fc-insight-box li {
    color: var(--fc-text) !important;
}

html.dark .trainer-dashboard-surface.trainer-analytics-premium .fc-insight-box {
    border-color: color-mix(in srgb, var(--fc-brand) 24%, var(--fc-border));
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--fc-surface) 84%, var(--fc-brand-soft) 16%), var(--fc-surface)),
        var(--fc-surface);
}

html.dark .trainer-dashboard-surface.trainer-analytics-premium .fc-insight-box .w-10.h-10 {
    background: var(--fc-info-soft) !important;
    border-color: color-mix(in srgb, var(--fc-brand) 36%, var(--fc-border)) !important;
}

.trainer-dashboard-surface.trainer-analytics-premium .fc-insight-box span.fc-insight-label {
    background: color-mix(in srgb, var(--fc-surface-solid) 72%, var(--fc-brand-soft) 28%) !important;
    border-color: color-mix(in srgb, var(--fc-brand) 28%, var(--fc-border)) !important;
    color: var(--fc-brand) !important;
}

.trainer-dashboard-surface.trainer-analytics-premium .fc-insight-box span.fc-insight-label.text-green-700 {
    background: color-mix(in srgb, var(--fc-surface-solid) 68%, var(--fc-success-soft) 32%) !important;
    border-color: color-mix(in srgb, var(--fc-success) 34%, var(--fc-border)) !important;
    color: color-mix(in srgb, var(--fc-success) 72%, black 28%) !important;
}

.trainer-dashboard-surface.trainer-analytics-premium .fc-insight-box span.fc-insight-label.text-amber-700,
.trainer-dashboard-surface.trainer-analytics-premium .fc-insight-box span.fc-insight-label.text-yellow-800 {
    background: color-mix(in srgb, var(--fc-surface-solid) 66%, var(--fc-warning-soft) 34%) !important;
    border-color: color-mix(in srgb, var(--fc-warning) 38%, var(--fc-border)) !important;
    color: color-mix(in srgb, var(--fc-warning) 68%, black 32%) !important;
}

.trainer-dashboard-surface.trainer-analytics-premium .fc-insight-box span.fc-insight-label.text-red-700 {
    background: color-mix(in srgb, var(--fc-surface-solid) 66%, var(--fc-danger-soft) 34%) !important;
    border-color: color-mix(in srgb, var(--fc-danger) 36%, var(--fc-border)) !important;
    color: color-mix(in srgb, var(--fc-danger) 72%, black 28%) !important;
}

.trainer-dashboard-surface.trainer-analytics-premium .bg-gradient-to-br > * {
    position: relative;
    z-index: 1;
}

.trainer-dashboard-surface.trainer-analytics-premium .text-purple-600,
.trainer-dashboard-surface.trainer-analytics-premium .text-indigo-700,
.trainer-dashboard-surface.trainer-analytics-premium .text-blue-600,
.trainer-dashboard-surface.trainer-analytics-premium .text-blue-700 {
    color: var(--fc-brand) !important;
}

.trainer-dashboard-surface.trainer-analytics-premium .text-green-600,
.trainer-dashboard-surface.trainer-analytics-premium .text-green-700,
.trainer-dashboard-surface.trainer-analytics-premium .text-emerald-600 {
    color: var(--fc-success) !important;
}

.trainer-dashboard-surface.trainer-analytics-premium .text-orange-600,
.trainer-dashboard-surface.trainer-analytics-premium .text-orange-700,
.trainer-dashboard-surface.trainer-analytics-premium .text-amber-700,
.trainer-dashboard-surface.trainer-analytics-premium .text-yellow-800 {
    color: var(--fc-warning) !important;
}

.trainer-dashboard-surface.trainer-analytics-premium .text-red-600,
.trainer-dashboard-surface.trainer-analytics-premium .text-red-700 {
    color: var(--fc-danger) !important;
}

.trainer-dashboard-surface.trainer-analytics-premium .border-purple-100,
.trainer-dashboard-surface.trainer-analytics-premium .border-purple-200,
.trainer-dashboard-surface.trainer-analytics-premium .border-indigo-100,
.trainer-dashboard-surface.trainer-analytics-premium .border-blue-100,
.trainer-dashboard-surface.trainer-analytics-premium .border-blue-200,
.trainer-dashboard-surface.trainer-analytics-premium .border-green-100,
.trainer-dashboard-surface.trainer-analytics-premium .border-green-200,
.trainer-dashboard-surface.trainer-analytics-premium .border-amber-100,
.trainer-dashboard-surface.trainer-analytics-premium .border-yellow-100,
.trainer-dashboard-surface.trainer-analytics-premium .border-red-100,
.trainer-dashboard-surface.trainer-analytics-premium .border-orange-200 {
    border-color: var(--fc-border) !important;
}

.trainer-dashboard-surface.trainer-analytics-premium .bg-purple-50,
.trainer-dashboard-surface.trainer-analytics-premium .bg-purple-50\/70,
.trainer-dashboard-surface.trainer-analytics-premium .bg-indigo-50,
.trainer-dashboard-surface.trainer-analytics-premium .bg-blue-50,
.trainer-dashboard-surface.trainer-analytics-premium .bg-green-50,
.trainer-dashboard-surface.trainer-analytics-premium .bg-red-50,
.trainer-dashboard-surface.trainer-analytics-premium .bg-yellow-50,
.trainer-dashboard-surface.trainer-analytics-premium .bg-amber-50,
.trainer-dashboard-surface.trainer-analytics-premium .bg-slate-50 {
    background: var(--fc-surface-soft) !important;
}

.trainer-dashboard-surface.trainer-analytics-premium .bg-purple-600,
.trainer-dashboard-surface.trainer-analytics-premium .hover\:bg-purple-700:hover,
.trainer-dashboard-surface.trainer-analytics-premium .bg-blue-600,
.trainer-dashboard-surface.trainer-analytics-premium .bg-green-600,
.trainer-dashboard-surface.trainer-analytics-premium .bg-orange-600 {
    background: var(--fc-brand-action) !important;
    color: #ffffff !important;
}

.trainer-dashboard-surface.trainer-analytics-premium .focus\:ring-purple-500:focus,
.trainer-dashboard-surface.trainer-analytics-premium .focus\:ring-blue-500:focus {
    --tw-ring-color: var(--fc-brand-ring) !important;
}

.trainer-dashboard-surface.trainer-analytics-premium table {
    color: var(--fc-text) !important;
}

.trainer-dashboard-surface.trainer-analytics-premium .divide-gray-100 > :not([hidden]) ~ :not([hidden]),
.trainer-dashboard-surface.trainer-analytics-premium .border-gray-100 {
    border-color: var(--fc-border) !important;
}

html.dark .trainer-dashboard-surface.trainer-analytics-premium .divide-gray-100 > :not([hidden]) ~ :not([hidden]),
html.dark .trainer-dashboard-surface.trainer-analytics-premium .border-gray-100 {
    border-color: color-mix(in srgb, var(--fc-surface-solid) 78%, var(--fc-border) 22%) !important;
}

.trainer-dashboard-surface.trainer-analytics-premium tr.hover\:bg-blue-50\/40:hover {
    background: var(--fc-brand-faint) !important;
}

.trainer-dashboard-surface.trainer-advanced-analytics-premium .shadow-lg,
.trainer-dashboard-surface.trainer-advanced-analytics-premium .shadow-2xl {
    box-shadow: var(--fc-shadow-card) !important;
}

.trainer-dashboard-surface.trainer-advanced-analytics-premium .bg-white.rounded-xl,
.trainer-dashboard-surface.trainer-advanced-analytics-premium .bg-white.rounded-lg {
    background: var(--fc-surface) !important;
    border: 1px solid var(--fc-border) !important;
    border-radius: var(--fc-radius-md) !important;
}

.trainer-dashboard-surface.trainer-advanced-analytics-premium .border-t-4,
.trainer-dashboard-surface.trainer-advanced-analytics-premium .border-l-4 {
    border-width: 1px !important;
}

.trainer-dashboard-surface.trainer-advanced-analytics-premium .border-green-500,
.trainer-dashboard-surface.trainer-advanced-analytics-premium .border-blue-500,
.trainer-dashboard-surface.trainer-advanced-analytics-premium .border-purple-500,
.trainer-dashboard-surface.trainer-advanced-analytics-premium .border-red-500,
.trainer-dashboard-surface.trainer-advanced-analytics-premium .border-orange-500,
.trainer-dashboard-surface.trainer-advanced-analytics-premium .border-gray-400 {
    border-color: var(--fc-border) !important;
}

.trainer-dashboard-surface.trainer-advanced-analytics-premium .bg-slate-50\/90,
.trainer-dashboard-surface.trainer-advanced-analytics-premium .bg-slate-50\/70 {
    background: var(--fc-surface-soft) !important;
}

.trainer-dashboard-surface.trainer-advanced-analytics-premium .divide-slate-100 > :not([hidden]) ~ :not([hidden]),
.trainer-dashboard-surface.trainer-advanced-analytics-premium .divide-gray-200 > :not([hidden]) ~ :not([hidden]),
.trainer-dashboard-surface.trainer-advanced-analytics-premium .border-slate-100,
.trainer-dashboard-surface.trainer-advanced-analytics-premium .border-slate-200,
.trainer-dashboard-surface.trainer-advanced-analytics-premium .border-gray-200 {
    border-color: var(--fc-border) !important;
}

html.dark .trainer-dashboard-surface.trainer-advanced-analytics-premium .divide-slate-100 > :not([hidden]) ~ :not([hidden]),
html.dark .trainer-dashboard-surface.trainer-advanced-analytics-premium .divide-gray-200 > :not([hidden]) ~ :not([hidden]),
html.dark .trainer-dashboard-surface.trainer-advanced-analytics-premium .border-slate-100,
html.dark .trainer-dashboard-surface.trainer-advanced-analytics-premium .border-slate-200,
html.dark .trainer-dashboard-surface.trainer-advanced-analytics-premium .border-gray-200 {
    border-color: color-mix(in srgb, var(--fc-surface-solid) 78%, var(--fc-border) 22%) !important;
}

.trainer-dashboard-surface.trainer-advanced-analytics-premium th {
    color: var(--fc-muted) !important;
    letter-spacing: 0.04em;
}

.trainer-dashboard-surface.trainer-advanced-analytics-premium td,
.trainer-dashboard-surface.trainer-advanced-analytics-premium td div {
    color: var(--fc-text) !important;
}

.trainer-dashboard-surface.trainer-advanced-analytics-premium td .text-gray-500,
.trainer-dashboard-surface.trainer-advanced-analytics-premium td .text-gray-600,
.trainer-dashboard-surface.trainer-advanced-analytics-premium td .text-gray-400 {
    color: var(--fc-muted) !important;
}

.trainer-dashboard-surface.trainer-advanced-analytics-premium tr.hover\:bg-orange-50\/30:hover,
.trainer-dashboard-surface.trainer-advanced-analytics-premium tr.hover\:bg-purple-50\/30:hover,
.trainer-dashboard-surface.trainer-advanced-analytics-premium tr.hover\:bg-gray-50:hover {
    background: var(--fc-brand-faint) !important;
}

.trainer-dashboard-surface.trainer-advanced-analytics-premium .bg-green-50,
.trainer-dashboard-surface.trainer-advanced-analytics-premium .bg-red-50,
.trainer-dashboard-surface.trainer-advanced-analytics-premium .bg-gray-50,
.trainer-dashboard-surface.trainer-advanced-analytics-premium .bg-gradient-to-r {
    background: var(--fc-info-soft) !important;
    border: 1px solid color-mix(in srgb, var(--fc-info) 24%, transparent) !important;
    border-radius: var(--fc-radius-sm) !important;
}

.trainer-dashboard-surface.trainer-advanced-analytics-premium .bg-red-50 {
    background: var(--fc-danger-soft) !important;
    border-color: color-mix(in srgb, var(--fc-danger) 26%, transparent) !important;
}

.trainer-dashboard-surface.trainer-advanced-analytics-premium .bg-green-50 {
    background: var(--fc-success-soft) !important;
    border-color: color-mix(in srgb, var(--fc-success) 26%, transparent) !important;
}

.trainer-dashboard-surface.trainer-advanced-analytics-premium .text-xs,
.trainer-dashboard-surface.trainer-advanced-analytics-premium .text-sm {
    color: color-mix(in srgb, var(--fc-text) 72%, var(--fc-muted) 28%) !important;
}

.trainer-dashboard-surface.trainer-advanced-analytics-premium .bg-gradient-to-br .text-xs,
.trainer-dashboard-surface.trainer-advanced-analytics-premium .bg-gradient-to-br .text-sm,
.trainer-dashboard-surface.trainer-advanced-analytics-premium .bg-gradient-to-br h3,
.trainer-dashboard-surface.trainer-advanced-analytics-premium .bg-gradient-to-br details,
.trainer-dashboard-surface.trainer-advanced-analytics-premium .bg-gradient-to-br summary {
    color: var(--fc-text) !important;
}

.trainer-dashboard-surface.trainer-advanced-analytics-premium span.inline-flex.rounded-full {
    background: color-mix(in srgb, var(--fc-surface-solid) 72%, var(--fc-brand-soft) 28%) !important;
    border-color: color-mix(in srgb, var(--fc-brand) 28%, var(--fc-border)) !important;
    color: var(--fc-brand) !important;
}

.trainer-dashboard-surface.trainer-advanced-analytics-premium span.inline-flex.rounded-full.text-green-700,
.trainer-dashboard-surface.trainer-advanced-analytics-premium span.inline-flex.rounded-full.text-green-800 {
    background: color-mix(in srgb, var(--fc-surface-solid) 68%, var(--fc-success-soft) 32%) !important;
    border-color: color-mix(in srgb, var(--fc-success) 34%, var(--fc-border)) !important;
    color: color-mix(in srgb, var(--fc-success) 72%, black 28%) !important;
}

.trainer-dashboard-surface.trainer-advanced-analytics-premium span.inline-flex.rounded-full.text-amber-700,
.trainer-dashboard-surface.trainer-advanced-analytics-premium span.inline-flex.rounded-full.text-orange-800,
.trainer-dashboard-surface.trainer-advanced-analytics-premium span.inline-flex.rounded-full.text-yellow-800 {
    background: color-mix(in srgb, var(--fc-surface-solid) 66%, var(--fc-warning-soft) 34%) !important;
    border-color: color-mix(in srgb, var(--fc-warning) 38%, var(--fc-border)) !important;
    color: color-mix(in srgb, var(--fc-warning) 68%, black 32%) !important;
}

.trainer-dashboard-surface.trainer-advanced-analytics-premium span.inline-flex.rounded-full.text-red-700,
.trainer-dashboard-surface.trainer-advanced-analytics-premium span.inline-flex.rounded-full.text-red-800 {
    background: color-mix(in srgb, var(--fc-surface-solid) 66%, var(--fc-danger-soft) 34%) !important;
    border-color: color-mix(in srgb, var(--fc-danger) 36%, var(--fc-border)) !important;
    color: color-mix(in srgb, var(--fc-danger) 72%, black 28%) !important;
}

.trainer-dashboard-surface.trainer-advanced-analytics-premium .text-green-500,
.trainer-dashboard-surface.trainer-advanced-analytics-premium .text-green-600,
.trainer-dashboard-surface.trainer-advanced-analytics-premium .text-green-800 {
    color: var(--fc-success) !important;
}

.trainer-dashboard-surface.trainer-advanced-analytics-premium .text-red-500,
.trainer-dashboard-surface.trainer-advanced-analytics-premium .text-red-600,
.trainer-dashboard-surface.trainer-advanced-analytics-premium .text-red-800 {
    color: var(--fc-danger) !important;
}

.trainer-dashboard-surface.trainer-advanced-analytics-premium .text-blue-500,
.trainer-dashboard-surface.trainer-advanced-analytics-premium .text-blue-600,
.trainer-dashboard-surface.trainer-advanced-analytics-premium .text-indigo-600,
.trainer-dashboard-surface.trainer-advanced-analytics-premium .text-purple-500,
.trainer-dashboard-surface.trainer-advanced-analytics-premium .text-purple-600,
.trainer-dashboard-surface.trainer-advanced-analytics-premium .text-purple-700,
.trainer-dashboard-surface.trainer-advanced-analytics-premium .text-purple-800 {
    color: var(--fc-brand) !important;
}

.trainer-dashboard-surface.trainer-advanced-analytics-premium .text-orange-500,
.trainer-dashboard-surface.trainer-advanced-analytics-premium .text-orange-800,
.trainer-dashboard-surface.trainer-advanced-analytics-premium .text-yellow-800,
.trainer-dashboard-surface.trainer-advanced-analytics-premium .text-amber-500 {
    color: var(--fc-warning) !important;
}

.trainer-dashboard-surface.trainer-advanced-analytics-premium .bg-blue-600,
.trainer-dashboard-surface.trainer-advanced-analytics-premium .hover\:bg-blue-700:hover {
    background: var(--fc-brand-action) !important;
    color: #ffffff !important;
}

.trainer-dashboard-surface.trainer-advanced-analytics-premium .bg-purple-100,
.trainer-dashboard-surface.trainer-advanced-analytics-premium .bg-blue-100,
.trainer-dashboard-surface.trainer-advanced-analytics-premium .bg-gray-100 {
    background: var(--fc-brand-soft) !important;
    border: 1px solid color-mix(in srgb, var(--fc-brand) 20%, transparent);
    color: var(--fc-brand) !important;
}

.trainer-dashboard-surface.trainer-advanced-analytics-premium .bg-red-100 {
    background: var(--fc-danger-soft) !important;
    color: var(--fc-danger) !important;
}

.trainer-dashboard-surface.trainer-advanced-analytics-premium .bg-orange-100,
.trainer-dashboard-surface.trainer-advanced-analytics-premium .bg-yellow-100 {
    background: var(--fc-warning-soft) !important;
    color: var(--fc-warning) !important;
}

.trainer-dashboard-surface.trainer-advanced-analytics-premium .bg-gray-200 {
    background: var(--fc-border) !important;
}

.trainer-dashboard-surface.trainer-advanced-analytics-premium .bg-green-500,
.trainer-dashboard-surface.trainer-advanced-analytics-premium .bg-green-600 {
    background: var(--fc-success) !important;
}

.trainer-dashboard-surface.trainer-advanced-analytics-premium input,
.trainer-dashboard-surface.trainer-advanced-analytics-premium textarea {
    background: var(--fc-surface-solid) !important;
    border-color: var(--fc-border-strong) !important;
    color: var(--fc-text) !important;
}

.trainer-dashboard-surface.trainer-advanced-analytics-premium input:focus,
.trainer-dashboard-surface.trainer-advanced-analytics-premium textarea:focus {
    border-color: var(--fc-brand) !important;
    box-shadow: var(--fc-shadow-focus) !important;
    outline: none;
}

@media (prefers-reduced-motion: reduce) {
    .dashboard-premium *,
    .dashboard-premium *::before,
    .dashboard-premium *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}

/* Public homepage — editorial operator layout */

.impulzafit-public {
    background:
        radial-gradient(circle at 18% 4%, var(--fc-bg-wash), transparent 30rem),
        linear-gradient(180deg, var(--fc-bg), var(--fc-bg-end));
    overflow: clip;
    padding: 0 24px;
}

.fc-home-shell {
    margin: 0 auto;
    max-width: 1240px;
}

.fc-home-hero {
    align-items: center;
    display: grid;
    gap: clamp(48px, 6vw, 84px);
    grid-template-columns: minmax(360px, 0.82fr) minmax(560px, 1.18fr);
    min-height: min(820px, calc(100vh - 64px));
    padding: 88px 0 80px;
}

[data-reveal] {
    opacity: 1;
    transform: none;
}

.fc-reveal-ready [data-reveal] {
    opacity: 0;
    transform: translateY(22px);
    transition: opacity 700ms cubic-bezier(0.2, 0.7, 0.2, 1), transform 700ms cubic-bezier(0.2, 0.7, 0.2, 1);
}

.fc-reveal-ready [data-reveal].is-visible {
    opacity: 1;
    transform: translateY(0);
}

.fc-home-product-wrap[data-reveal] {
    transition-delay: 120ms;
}

.fc-home-eyebrow,
.fc-home-kicker,
.fc-home-dark-kicker {
    align-items: center;
    display: inline-flex;
    font-size: 12px;
    font-weight: 750;
    gap: 8px;
    letter-spacing: 0.04em;
    line-height: 1;
}

.fc-home-eyebrow,
.fc-home-kicker {
    color: var(--fc-brand);
}

.fc-home-eyebrow {
    background: var(--fc-brand-soft);
    border: 1px solid color-mix(in srgb, var(--fc-brand) 15%, transparent);
    border-radius: var(--fc-radius-full);
    padding: 9px 12px;
}

.fc-home-hero-copy h1 {
    color: var(--fc-text);
    font-size: clamp(48px, 5.2vw, 74px);
    font-weight: 780;
    letter-spacing: -0.045em;
    line-height: 0.98;
    margin: 24px 0 0;
    max-width: 720px;
}

.fc-home-hero-copy h1 span {
    color: var(--fc-brand);
}

.fc-home-hero-copy > p {
    color: var(--fc-muted);
    font-size: 18px;
    line-height: 1.62;
    margin: 28px 0 0;
    max-width: 570px;
}

.fc-home-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 30px;
}

.fc-home-button {
    align-items: center;
    border-radius: var(--fc-radius-sm);
    display: inline-flex;
    font-size: 14px;
    font-weight: 750;
    gap: 9px;
    justify-content: center;
    min-height: 46px;
    padding: 11px 18px;
    transition: background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease, color 180ms ease, transform 180ms ease;
}

.fc-home-button:hover {
    transform: translateY(-2px);
}

.fc-home-button-primary {
    background: var(--fc-brand-action);
    box-shadow: 0 12px 28px rgba(16, 42, 67, 0.16);
    color: #ffffff;
}

html.dark .fc-home-button-primary {
    color: #102a43;
}

.fc-home-button-primary:hover {
    background: var(--fc-brand-hover);
    box-shadow: 0 16px 34px rgba(16, 42, 67, 0.22);
}

.fc-home-button-secondary {
    background: color-mix(in srgb, var(--fc-surface-solid) 70%, transparent);
    border: 1px solid var(--fc-border-strong);
    color: var(--fc-text);
}

.fc-home-button-secondary:hover {
    background: var(--fc-surface-solid);
    border-color: color-mix(in srgb, var(--fc-brand) 30%, var(--fc-border));
}

.fc-home-trust {
    align-items: center;
    color: var(--fc-muted);
    display: flex;
    flex-wrap: wrap;
    font-size: 11px;
    font-weight: 650;
    gap: 16px;
    margin-top: 24px;
}

.fc-home-trust span {
    align-items: center;
    display: inline-flex;
    gap: 6px;
}

.fc-home-trust i {
    color: var(--fc-brand);
}

.fc-home-product-wrap {
    isolation: isolate;
    position: relative;
}

.fc-home-product-wrap::before {
    background: var(--fc-brand-soft);
    border: 1px solid color-mix(in srgb, var(--fc-brand) 18%, transparent);
    border-radius: var(--fc-radius-lg);
    content: "";
    inset: 26px -18px -20px 38px;
    opacity: 0.5;
    position: absolute;
    transform: rotate(2deg);
    z-index: -2;
}

.fc-home-product-glow {
    background: color-mix(in srgb, var(--fc-brand) 16%, transparent);
    border-radius: 50%;
    filter: blur(56px);
    height: 260px;
    opacity: 0.5;
    position: absolute;
    right: -8%;
    top: 9%;
    width: 260px;
    z-index: -1;
}

.fc-home-console {
    background: #0d1316;
    border: 1px solid rgba(225, 230, 231, 0.18);
    border-radius: var(--fc-radius-lg);
    box-shadow: 0 34px 80px rgba(9, 13, 15, 0.24), 0 8px 24px rgba(9, 13, 15, 0.14);
    overflow: hidden;
}

.fc-home-console-bar {
    align-items: center;
    border-bottom: 1px solid rgba(225, 230, 231, 0.1);
    color: #aab5b8;
    display: grid;
    font-size: 10px;
    font-weight: 650;
    gap: 12px;
    grid-template-columns: 1fr auto 1fr;
    letter-spacing: 0.02em;
    min-height: 42px;
    padding: 0 14px;
}

.fc-home-console-bar > span {
    grid-column: 2;
}

.fc-home-window-dots {
    display: flex;
    gap: 5px;
}

.fc-home-window-dots i {
    background: #536166;
    border-radius: 50%;
    display: block;
    height: 7px;
    width: 7px;
}

.fc-home-window-dots i:first-child {
    background: #c24a3a;
}

.fc-home-window-dots i:nth-child(2) {
    background: #b7791f;
}

.fc-home-window-dots i:last-child {
    background: #2f8a6b;
}

.fc-home-console-bar > em {
    align-items: center;
    color: #86d2ac;
    display: inline-flex;
    font-size: 10px;
    font-style: normal;
    gap: 6px;
    justify-self: end;
}

.fc-home-console-bar > em i {
    animation: fc-home-pulse 1.8s ease-in-out infinite;
    background: #2f8a6b;
    border-radius: 50%;
    height: 6px;
    width: 6px;
}

.fc-home-console-body {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    min-height: 525px;
}

.fc-home-console-nav {
    align-items: center;
    border-right: 1px solid rgba(225, 230, 231, 0.1);
    display: flex;
    flex-direction: column;
    gap: 9px;
    padding: 12px 8px;
}

.fc-home-console-nav span {
    flex: 1;
}

.fc-home-console-nav button {
    align-items: center;
    border-radius: var(--fc-radius-sm);
    color: #748085;
    display: inline-flex;
    height: 36px;
    justify-content: center;
    transition: background-color 160ms ease, color 160ms ease, transform 160ms ease;
    width: 36px;
}

.fc-home-console-nav button:hover,
.fc-home-console-nav button.is-active {
    background: rgba(127, 179, 213, 0.14);
    color: #ffffff;
}

.fc-home-console-nav button.is-active {
    box-shadow: inset 2px 0 0 #7fb3d5;
    transform: translateX(1px);
}

.fc-home-console-stage {
    background:
        linear-gradient(180deg, color-mix(in srgb, var(--fc-brand-soft) 42%, transparent), transparent 150px),
        var(--fc-surface-solid);
    color: var(--fc-text);
    min-width: 0;
    overflow: hidden;
    padding: 13px;
}

.fc-home-demo-tabs {
    display: flex;
    gap: 4px;
    margin-bottom: 12px;
}

.fc-home-demo-tabs button {
    color: var(--fc-muted);
    font-size: 10px;
    font-weight: 750;
    overflow: hidden;
    padding: 7px 9px;
    position: relative;
}

.fc-home-demo-tabs button > i {
    background: var(--fc-brand);
    bottom: 0;
    display: none;
    height: 2px;
    left: 8px;
    position: absolute;
    right: 8px;
    transform-origin: left center;
}

.fc-home-demo-tabs button.is-active {
    color: var(--fc-text);
}

.fc-home-demo-tabs button.is-active > i {
    animation: fc-home-progress 5.2s linear both;
    display: block;
}

.fc-home-console-panel {
    min-height: 457px;
}

.fc-home-screen-heading {
    align-items: center;
    display: flex;
    gap: 16px;
    justify-content: space-between;
}

.fc-home-screen-heading span {
    color: var(--fc-muted);
    display: block;
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
}

.fc-home-screen-heading h2 {
    color: var(--fc-text);
    font-size: 20px;
    font-weight: 780;
    letter-spacing: -0.025em;
    line-height: 1.15;
    margin: 4px 0 0;
}

.fc-home-screen-heading > button {
    align-items: center;
    background: var(--fc-brand-action);
    border-radius: var(--fc-radius-xs);
    color: #ffffff;
    display: inline-flex;
    font-size: 10px;
    font-weight: 750;
    gap: 6px;
    min-height: 32px;
    padding: 7px 10px;
}

html.dark .fc-home-screen-heading > button {
    color: #102a43;
}

.fc-home-kpis {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 13px;
}

.fc-home-kpis article,
.fc-home-revenue-card,
.fc-home-renewal-card,
.fc-home-client-table,
.fc-home-program-grid > article {
    background: var(--fc-surface);
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius-sm);
}

.fc-home-kpis article {
    padding: 11px;
}

.fc-home-kpis span,
.fc-home-kpis em {
    color: var(--fc-muted);
    display: block;
    font-size: 9px;
    font-style: normal;
    font-weight: 700;
}

.fc-home-kpis strong {
    color: var(--fc-text);
    display: block;
    font-size: 21px;
    font-weight: 800;
    line-height: 1;
    margin: 7px 0;
}

.fc-home-kpis em.is-positive,
.fc-home-insight-kpis em {
    color: var(--fc-success);
}

.fc-home-kpis em.is-warning,
.fc-home-insight-kpis em.is-warning {
    color: var(--fc-warning);
}

.fc-home-overview-grid {
    display: grid;
    gap: 8px;
    grid-template-columns: minmax(0, 1.32fr) minmax(180px, 0.68fr);
    margin-top: 8px;
}

.fc-home-revenue-card,
.fc-home-renewal-card {
    padding: 12px;
}

.fc-home-revenue-card header,
.fc-home-renewal-card header {
    align-items: flex-start;
    display: flex;
    gap: 12px;
    justify-content: space-between;
}

.fc-home-revenue-card header span,
.fc-home-renewal-card header span {
    color: var(--fc-muted);
    display: block;
    font-size: 9px;
    font-weight: 700;
}

.fc-home-revenue-card header strong {
    color: var(--fc-text);
    display: block;
    font-size: 17px;
    margin-top: 3px;
}

.fc-home-revenue-card header em,
.fc-home-renewal-card header b {
    background: var(--fc-brand-soft);
    border-radius: var(--fc-radius-full);
    color: var(--fc-brand);
    font-size: 8px;
    font-style: normal;
    font-weight: 750;
    padding: 5px 7px;
}

.fc-home-revenue-card svg {
    height: 148px;
    margin-top: 5px;
    width: 100%;
}

.fc-home-revenue-card .grid,
.fc-home-retention-chart .grid {
    fill: none;
    stroke: var(--fc-border);
    stroke-width: 1;
}

.fc-home-revenue-card .area,
.fc-home-retention-chart .area {
    fill: var(--fc-brand-soft);
    opacity: 0.76;
}

.fc-home-revenue-card .line,
.fc-home-retention-chart .line {
    animation: none;
    fill: none;
    stroke: var(--fc-brand);
    stroke-dasharray: none;
    stroke-linecap: round;
    stroke-width: 3;
}

.fc-home-revenue-card circle {
    fill: var(--fc-brand);
    stroke: var(--fc-surface-solid);
    stroke-width: 3;
}

.fc-home-renewal-card > div {
    align-items: center;
    border-top: 1px solid var(--fc-border);
    display: grid;
    gap: 8px;
    grid-template-columns: auto minmax(0, 1fr) auto;
    margin-top: 10px;
    padding-top: 10px;
}

.fc-home-avatar {
    align-items: center;
    background: var(--fc-brand-soft);
    border-radius: 50%;
    color: var(--fc-brand);
    display: inline-flex;
    font-size: 8px;
    font-style: normal;
    font-weight: 800;
    height: 28px;
    justify-content: center;
    width: 28px;
}

.fc-home-renewal-card > div span strong,
.fc-home-renewal-card > div span small {
    display: block;
}

.fc-home-renewal-card > div span strong {
    color: var(--fc-text);
    font-size: 9px;
}

.fc-home-renewal-card > div span small {
    color: var(--fc-muted);
    font-size: 8px;
    margin-top: 2px;
}

.fc-home-renewal-card > div > em {
    color: var(--fc-brand);
    font-size: 8px;
    font-style: normal;
    font-weight: 750;
}

.fc-home-client-table {
    margin-top: 16px;
    overflow: hidden;
}

.fc-home-client-table > div {
    align-items: center;
    border-top: 1px solid var(--fc-border);
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(140px, 1.25fr) minmax(105px, 1fr) 72px 70px;
    min-height: 74px;
    padding: 10px 12px;
}

.fc-home-client-table .fc-home-table-head {
    background: var(--fc-surface-soft);
    border-top: 0;
    color: var(--fc-muted);
    font-size: 8px;
    font-weight: 800;
    min-height: 34px;
    text-transform: uppercase;
}

.fc-home-client-table > div > span {
    color: var(--fc-muted);
    font-size: 9px;
    font-weight: 650;
    min-width: 0;
}

.fc-home-client-table > div:not(.fc-home-table-head) > span:first-child {
    align-items: center;
    display: flex;
    gap: 8px;
}

.fc-home-client-table b,
.fc-home-client-table b small {
    display: block;
}

.fc-home-client-table b {
    color: var(--fc-text);
    font-size: 10px;
}

.fc-home-client-table b small {
    color: var(--fc-muted);
    font-size: 8px;
    font-weight: 600;
    margin-top: 3px;
}

.fc-home-client-table em {
    border-radius: var(--fc-radius-full);
    display: inline-flex;
    font-size: 8px;
    font-style: normal;
    font-weight: 750;
    padding: 5px 7px;
}

.fc-home-client-table em.is-active {
    background: var(--fc-success-soft);
    color: var(--fc-success);
}

.fc-home-client-table em.is-warning {
    background: var(--fc-warning-soft);
    color: var(--fc-warning);
}

.fc-home-client-table button {
    color: var(--fc-brand);
    font-size: 8px;
    font-weight: 750;
}

.fc-home-program-grid {
    display: grid;
    gap: 9px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 16px;
}

.fc-home-program-grid > article {
    min-width: 0;
    padding: 14px;
}

.fc-home-program-icon {
    align-items: center;
    background: var(--fc-brand-soft);
    border-radius: var(--fc-radius-sm);
    color: var(--fc-brand);
    display: inline-flex;
    font-size: 14px;
    height: 36px;
    justify-content: center;
    width: 36px;
}

.fc-home-program-icon.is-diet {
    background: var(--fc-diet-soft);
    color: var(--fc-diet);
}

.fc-home-program-icon.is-routine {
    background: var(--fc-routine-soft);
    color: var(--fc-routine);
}

.fc-home-program-icon.is-package {
    background: var(--fc-package-soft);
    color: var(--fc-package);
}

.fc-home-program-grid article > span {
    color: var(--fc-muted);
    display: block;
    font-size: 8px;
    font-weight: 800;
    margin-top: 20px;
    text-transform: uppercase;
}

.fc-home-program-grid h3 {
    color: var(--fc-text);
    font-size: 14px;
    font-weight: 780;
    line-height: 1.2;
    margin: 5px 0 0;
}

.fc-home-program-grid p {
    color: var(--fc-muted);
    font-size: 9px;
    line-height: 1.4;
    margin: 6px 0 0;
}

.fc-home-program-grid footer {
    border-top: 1px solid var(--fc-border);
    display: flex;
    gap: 6px;
    justify-content: space-between;
    margin-top: 28px;
    padding-top: 10px;
}

.fc-home-program-grid footer em,
.fc-home-program-grid footer b {
    color: var(--fc-muted);
    font-size: 8px;
    font-style: normal;
    font-weight: 700;
}

.fc-home-program-grid footer b {
    color: var(--fc-brand);
}

.fc-home-live-card {
    align-items: center;
    animation: fc-home-float 4s ease-in-out infinite;
    backdrop-filter: blur(18px);
    background: color-mix(in srgb, var(--fc-surface-solid) 92%, transparent);
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius-md);
    bottom: -23px;
    box-shadow: var(--fc-shadow-hover);
    display: flex;
    gap: 10px;
    left: -28px;
    min-width: 226px;
    padding: 11px 13px;
    position: absolute;
}

.fc-home-live-card > i {
    align-items: center;
    background: var(--fc-success-soft);
    border-radius: 50%;
    color: var(--fc-success);
    display: inline-flex;
    height: 34px;
    justify-content: center;
    width: 34px;
}

.fc-home-live-card strong,
.fc-home-live-card small {
    display: block;
}

.fc-home-live-card strong {
    color: var(--fc-text);
    font-size: 11px;
}

.fc-home-live-card small {
    color: var(--fc-muted);
    font-size: 9px;
    margin-top: 3px;
}

.fc-home-proof-rail {
    align-items: center;
    border-bottom: 1px solid var(--fc-border);
    border-top: 1px solid var(--fc-border);
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    margin-bottom: 104px;
    min-height: 72px;
}

.fc-home-proof-rail span {
    align-items: center;
    color: var(--fc-muted);
    display: flex;
    font-size: 12px;
    font-weight: 700;
    gap: 9px;
    justify-content: center;
}

.fc-home-proof-rail i {
    color: var(--fc-brand);
}

.fc-home-operator-band,
.fc-home-insight-band {
    background:
        linear-gradient(140deg, rgba(53, 126, 168, 0.22), transparent 42%),
        #111719;
    border: 1px solid rgba(225, 230, 231, 0.12);
    border-radius: var(--fc-radius-lg);
    color: #f4f7f4;
    overflow: hidden;
}

.fc-home-operator-band {
    align-items: center;
    display: grid;
    gap: clamp(40px, 7vw, 100px);
    grid-template-columns: minmax(0, 0.82fr) minmax(440px, 1.18fr);
    padding: clamp(48px, 7vw, 84px);
}

.fc-home-dark-kicker {
    color: #9cc6df;
}

.fc-home-operator-copy h2,
.fc-home-chapter-copy-dark h2 {
    color: #f4f7f4;
    font-size: clamp(36px, 4.5vw, 56px);
    font-weight: 720;
    letter-spacing: -0.04em;
    line-height: 1.02;
    margin: 18px 0 0;
}

.fc-home-chapter-copy.fc-home-chapter-copy-dark h2 {
    color: #ffffff;
}

.fc-home-operator-copy p,
.fc-home-chapter-copy-dark p {
    color: #aab5b8;
    font-size: 16px;
    line-height: 1.65;
    margin: 22px 0 0;
    max-width: 510px;
}

.fc-home-signal-list {
    display: grid;
    gap: 10px;
    position: relative;
}

.fc-home-signal-list::before {
    background: rgba(225, 230, 231, 0.14);
    bottom: 28px;
    content: "";
    left: 25px;
    position: absolute;
    top: 28px;
    width: 1px;
}

.fc-home-signal-list article {
    align-items: center;
    background: rgba(255, 255, 255, 0.045);
    border: 1px solid rgba(225, 230, 231, 0.1);
    border-radius: var(--fc-radius-md);
    display: grid;
    gap: 13px;
    grid-template-columns: auto minmax(0, 1fr) auto;
    min-height: 72px;
    padding: 12px 14px;
    position: relative;
}

.fc-home-signal-list article.is-current {
    background: rgba(127, 179, 213, 0.12);
    border-color: rgba(127, 179, 213, 0.32);
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.22);
    transform: translateX(-14px);
}

.fc-home-signal-list article > i {
    align-items: center;
    background: rgba(127, 179, 213, 0.12);
    border: 1px solid rgba(127, 179, 213, 0.2);
    border-radius: var(--fc-radius-sm);
    color: #9cc6df;
    display: inline-flex;
    height: 38px;
    justify-content: center;
    width: 38px;
    z-index: 1;
}

.fc-home-signal-list small,
.fc-home-signal-list strong {
    display: block;
}

.fc-home-signal-list small {
    color: #748085;
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
}

.fc-home-signal-list strong {
    color: #eef2f2;
    font-size: 12px;
    margin-top: 4px;
}

.fc-home-signal-list em {
    background: rgba(255, 255, 255, 0.06);
    border-radius: var(--fc-radius-full);
    color: #aab5b8;
    font-size: 9px;
    font-style: normal;
    font-weight: 750;
    padding: 6px 8px;
}

.fc-home-signal-list .is-current em {
    background: rgba(183, 121, 31, 0.2);
    color: #e0b568;
}

.fc-home-workflow {
    padding: 118px 0 124px;
}

.fc-home-section-heading {
    align-items: end;
    display: grid;
    gap: 40px;
    grid-template-columns: minmax(0, 1.3fr) minmax(320px, 0.7fr);
}

.fc-home-section-heading h2,
.fc-home-chapter-copy h2,
.fc-home-final-cta h2 {
    color: var(--fc-text);
    font-size: clamp(38px, 5vw, 62px);
    font-weight: 740;
    letter-spacing: -0.045em;
    line-height: 1.02;
    margin: 17px 0 0;
}

.fc-home-section-heading p,
.fc-home-chapter-copy > p {
    color: var(--fc-muted);
    font-size: 16px;
    line-height: 1.65;
    margin: 0;
}

.fc-home-loop {
    display: grid;
    gap: 0;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    list-style: none;
    margin: 56px 0 0;
    padding: 0;
}

.fc-home-loop li {
    align-items: center;
    border-top: 1px solid var(--fc-border-strong);
    display: grid;
    gap: 11px;
    grid-template-columns: auto minmax(0, 1fr);
    padding: 32px 24px 0 0;
    position: relative;
}

.fc-home-loop li::before {
    background: var(--fc-bg);
    border: 3px solid var(--fc-brand);
    border-radius: 50%;
    content: "";
    height: 13px;
    left: 0;
    position: absolute;
    top: -7px;
    width: 13px;
}

.fc-home-loop li > b {
    color: var(--fc-muted);
    font-size: 10px;
    font-weight: 750;
    grid-column: 1 / -1;
}

.fc-home-loop li > i {
    align-items: center;
    background: var(--fc-brand-soft);
    border-radius: var(--fc-radius-sm);
    color: var(--fc-brand);
    display: inline-flex;
    height: 40px;
    justify-content: center;
    width: 40px;
}

.fc-home-loop strong,
.fc-home-loop small {
    display: block;
}

.fc-home-loop strong {
    color: var(--fc-text);
    font-size: 14px;
}

.fc-home-loop small {
    color: var(--fc-muted);
    font-size: 10px;
    line-height: 1.35;
    margin-top: 3px;
}

.fc-home-chapter {
    align-items: center;
    display: grid;
    gap: clamp(48px, 8vw, 112px);
    grid-template-columns: minmax(330px, 0.72fr) minmax(540px, 1.28fr);
    padding: 48px 0 128px;
}

.fc-home-chapter-copy h2 {
    font-size: clamp(38px, 4.8vw, 58px);
}

.fc-home-chapter-copy > p {
    margin-top: 22px;
    max-width: 520px;
}

.fc-home-check-list {
    display: grid;
    gap: 11px;
    margin-top: 28px;
}

.fc-home-check-list span {
    align-items: center;
    color: var(--fc-text);
    display: flex;
    font-size: 13px;
    font-weight: 700;
    gap: 10px;
}

.fc-home-check-list i {
    align-items: center;
    background: var(--fc-success-soft);
    border-radius: 50%;
    color: var(--fc-success);
    display: inline-flex;
    font-size: 9px;
    height: 24px;
    justify-content: center;
    width: 24px;
}

.fc-home-content-demo,
.fc-home-profile-demo {
    background:
        linear-gradient(145deg, color-mix(in srgb, var(--fc-brand-soft) 52%, transparent), transparent 42%),
        var(--fc-surface);
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius-lg);
    box-shadow: var(--fc-shadow-card);
    padding: 18px;
}

.fc-home-segmented {
    background: var(--fc-surface-soft);
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius-sm);
    display: inline-flex;
    gap: 4px;
    padding: 4px;
}

.fc-home-segmented button {
    align-items: center;
    border-radius: var(--fc-radius-xs);
    color: var(--fc-muted);
    display: inline-flex;
    font-size: 11px;
    font-weight: 750;
    gap: 7px;
    padding: 8px 12px;
}

.fc-home-segmented button > span {
    font-size: 13px;
    line-height: 1;
}

.fc-home-segmented button.is-active {
    background: var(--fc-surface-solid);
    box-shadow: 0 2px 8px rgba(17, 23, 25, 0.08);
    color: var(--fc-text);
}

.fc-home-builder-stage {
    height: 397px;
    margin-top: 12px;
    position: relative;
}

.fc-home-builder {
    background: var(--fc-surface-solid);
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius-md);
    inset: 0;
    min-height: 361px;
    opacity: 0;
    pointer-events: none;
    padding: 18px;
    position: absolute;
    transform: translateY(4px);
    transition: opacity 180ms ease, transform 180ms ease;
    width: 100%;
}

.fc-home-builder.is-active {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

.fc-home-builder > header {
    align-items: center;
    display: grid;
    gap: 12px;
    grid-template-columns: auto minmax(0, 1fr) auto;
}

.fc-home-builder > header > span {
    align-items: center;
    background: var(--fc-diet-soft);
    border-radius: var(--fc-radius-sm);
    color: var(--fc-diet);
    display: inline-flex;
    height: 44px;
    justify-content: center;
    width: 44px;
}

.fc-home-builder > header > span.is-routine {
    background: var(--fc-routine-soft);
    color: var(--fc-routine);
}

.fc-home-builder > header small {
    color: var(--fc-muted);
    display: block;
    font-size: 9px;
    font-weight: 750;
    text-transform: uppercase;
}

.fc-home-builder > header h3 {
    color: var(--fc-text);
    font-size: 19px;
    font-weight: 780;
    margin: 4px 0 0;
}

.fc-home-builder > header > em {
    background: var(--fc-success-soft);
    border-radius: var(--fc-radius-full);
    color: var(--fc-success);
    font-size: 10px;
    font-style: normal;
    font-weight: 750;
    padding: 7px 9px;
}

.fc-home-macro-row,
.fc-home-routine-summary {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 18px;
}

.fc-home-routine-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.fc-home-macro-row > span,
.fc-home-routine-summary > span {
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.72), transparent),
        var(--fc-surface-soft);
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius-sm);
    box-shadow: 0 8px 22px rgba(17, 23, 25, 0.04);
    min-height: 76px;
    padding: 12px;
}

html.dark .fc-home-macro-row > span,
html.dark .fc-home-routine-summary > span {
    background:
        linear-gradient(145deg, rgba(53, 126, 168, 0.18), transparent 58%),
        #12191c;
    border-color: rgba(127, 179, 213, 0.22);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.2);
}

.fc-home-macro-row small,
.fc-home-macro-row strong,
.fc-home-macro-row em,
.fc-home-routine-summary small,
.fc-home-routine-summary strong,
.fc-home-routine-summary em {
    display: block;
}

.fc-home-macro-row small,
.fc-home-routine-summary small {
    color: var(--fc-muted);
    font-size: 8px;
    font-weight: 700;
}

html.dark .fc-home-macro-row small,
html.dark .fc-home-routine-summary small {
    color: #aab5b8;
}

.fc-home-macro-row strong,
.fc-home-routine-summary strong {
    color: var(--fc-text);
    font-size: 16px;
    margin-top: 6px;
}

html.dark .fc-home-macro-row strong,
html.dark .fc-home-routine-summary strong {
    color: #f4f7f4;
}

.fc-home-macro-row em,
.fc-home-routine-summary em {
    color: var(--fc-muted);
    font-size: 8px;
    font-style: normal;
    font-weight: 650;
    margin-top: 4px;
}

html.dark .fc-home-macro-row em,
html.dark .fc-home-routine-summary em {
    color: #c8d0d2;
}

.fc-home-builder-rows {
    border-top: 1px solid var(--fc-border);
    display: grid;
    gap: 8px;
    margin-top: 18px;
    padding-top: 16px;
}

.fc-home-builder-rows > div {
    align-items: center;
    background:
        linear-gradient(90deg, color-mix(in srgb, var(--fc-brand-soft) 30%, transparent), transparent 48%),
        var(--fc-surface-soft);
    border-radius: var(--fc-radius-sm);
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(90px, 0.75fr) minmax(160px, 1.25fr) auto;
    padding: 11px 12px;
}

.fc-home-builder-rows b {
    color: var(--fc-text);
    font-size: 11px;
}

.fc-home-builder-rows span {
    color: var(--fc-muted);
    font-size: 10px;
}

.fc-home-builder-rows em {
    background: var(--fc-brand-soft);
    border-radius: var(--fc-radius-full);
    color: var(--fc-brand);
    font-size: 9px;
    font-style: normal;
    font-weight: 750;
    padding: 6px 8px;
}

.fc-home-insight-band {
    align-items: center;
    display: grid;
    gap: clamp(48px, 7vw, 90px);
    grid-template-columns: minmax(520px, 1.18fr) minmax(330px, 0.82fr);
    padding: clamp(40px, 6vw, 72px);
}

.fc-home-insight-visual {
    background: #f7f8f5;
    border: 1px solid rgba(225, 230, 231, 0.16);
    border-radius: var(--fc-radius-md);
    box-shadow: 0 28px 70px rgba(0, 0, 0, 0.26);
    color: #172023;
    padding: 16px;
    transform: rotate(-1deg);
}

.fc-home-insight-top {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: space-between;
}

.fc-home-insight-top span {
    color: #172023;
    font-size: 13px;
    font-weight: 800;
}

.fc-home-insight-top em {
    background: #ddecf6;
    border-radius: var(--fc-radius-full);
    color: #183b56;
    font-size: 9px;
    font-style: normal;
    font-weight: 750;
    padding: 6px 8px;
}

.fc-home-insight-kpis {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 14px;
}

.fc-home-insight-kpis article {
    background: #ffffff;
    border: 1px solid rgba(29, 41, 45, 0.1);
    border-radius: var(--fc-radius-sm);
    padding: 12px;
}

.fc-home-insight-kpis span,
.fc-home-insight-kpis em {
    color: #637075;
    display: block;
    font-size: 9px;
    font-style: normal;
    font-weight: 700;
}

.fc-home-insight-kpis strong {
    color: #172023;
    display: block;
    font-size: 22px;
    margin: 8px 0 6px;
}

.fc-home-retention-chart {
    background: #ffffff;
    border: 1px solid rgba(29, 41, 45, 0.1);
    border-radius: var(--fc-radius-sm);
    margin-top: 8px;
    padding: 14px;
}

.fc-home-retention-chart > div span,
.fc-home-retention-chart > div strong {
    display: block;
}

.fc-home-retention-chart > div span {
    color: #637075;
    font-size: 9px;
    font-weight: 700;
}

.fc-home-retention-chart > div strong {
    color: #172023;
    font-size: 12px;
    margin-top: 4px;
}

.fc-home-retention-chart svg {
    height: 170px;
    margin-top: 5px;
    width: 100%;
}

.fc-home-retention-chart .grid {
    stroke: rgba(29, 41, 45, 0.1);
}

.fc-home-retention-chart .area {
    fill: #ddecf6;
}

.fc-home-retention-chart .line {
    stroke: #183b56;
}

.fc-home-chapter-copy-dark a {
    align-items: center;
    color: #9cc6df;
    display: inline-flex;
    font-size: 13px;
    font-weight: 750;
    gap: 9px;
    margin-top: 28px;
}

.fc-home-public-chapter {
    grid-template-columns: minmax(330px, 0.72fr) minmax(540px, 1.28fr);
    padding: 128px 0;
}

.fc-home-outcome {
    border-left: 2px solid var(--fc-brand);
    margin-top: 28px;
    padding-left: 16px;
}

.fc-home-outcome strong,
.fc-home-outcome span {
    display: block;
}

.fc-home-outcome strong {
    color: var(--fc-text);
    font-size: 13px;
}

.fc-home-outcome span {
    color: var(--fc-muted);
    font-size: 11px;
    line-height: 1.5;
    margin-top: 5px;
}

.fc-home-profile-demo {
    padding: 0 24px 24px;
    position: relative;
}

.fc-home-profile-cover {
    background:
        linear-gradient(120deg, rgba(127, 179, 213, 0.16), transparent 55%),
        linear-gradient(135deg, #102a43, #183b56 56%, #2b6a9b);
    border-radius: var(--fc-radius-md) var(--fc-radius-md) 0 0;
    height: 132px;
    margin: 0 -24px;
}

.fc-home-profile-head {
    align-items: center;
    display: grid;
    gap: 22px;
    grid-template-columns: auto minmax(0, 1fr) auto;
    margin-top: -88px;
    padding-bottom: 36px;
}

.fc-home-profile-head > i {
    align-items: center;
    background: #183b56;
    border: 4px solid var(--fc-surface-solid);
    border-radius: 50%;
    color: #ffffff;
    display: inline-flex;
    font-size: 20px;
    font-style: normal;
    font-weight: 800;
    height: 82px;
    justify-content: center;
    width: 82px;
}

.fc-home-profile-head small {
    color: rgba(244, 247, 244, 0.68);
    display: block;
    font-size: 9px;
    font-weight: 750;
    text-transform: uppercase;
}

.fc-home-profile-head h3 {
    color: #ffffff;
    font-size: 25px;
    font-weight: 800;
    line-height: 1.1;
    margin: 6px 0;
}

.fc-home-profile-head p {
    color: rgba(244, 247, 244, 0.82);
    font-size: 12px;
    margin: 0;
}

.fc-home-profile-head > em {
    align-items: center;
    background: var(--fc-success-soft);
    border-radius: var(--fc-radius-full);
    color: var(--fc-success);
    display: inline-flex;
    font-size: 9px;
    font-style: normal;
    font-weight: 750;
    gap: 5px;
    margin-bottom: 0;
    padding: 8px 11px;
}

.fc-home-profile-plans {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 24px;
}

.fc-home-profile-plans article {
    background: var(--fc-surface-solid);
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius-sm);
    padding: 18px;
    position: relative;
}

.fc-home-profile-plans article.is-featured {
    border-color: color-mix(in srgb, var(--fc-brand) 40%, var(--fc-border));
    box-shadow: 0 12px 28px color-mix(in srgb, var(--fc-brand) 10%, transparent);
}

.fc-home-profile-plans article > em {
    background: var(--fc-brand);
    border-radius: var(--fc-radius-full);
    color: #ffffff;
    font-size: 8px;
    font-style: normal;
    font-weight: 750;
    padding: 5px 7px;
    position: absolute;
    right: 10px;
    top: 10px;
}

.fc-home-profile-plans article > span,
.fc-home-profile-plans article > small {
    color: var(--fc-muted);
    display: block;
    font-size: 9px;
    font-weight: 700;
}

.fc-home-profile-plans article > strong {
    color: var(--fc-text);
    display: block;
    font-size: 25px;
    margin: 11px 0 5px;
}

.fc-home-profile-plans button {
    background: var(--fc-brand-action);
    border-radius: var(--fc-radius-xs);
    color: #ffffff;
    font-size: 9px;
    font-weight: 750;
    margin-top: 18px;
    min-height: 36px;
    width: 100%;
}

html.dark .fc-home-profile-plans button {
    color: #102a43;
}

.fc-home-profile-demo blockquote {
    align-items: center;
    background: var(--fc-surface-soft);
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius-sm);
    display: grid;
    gap: 8px;
    grid-template-columns: auto minmax(0, 1fr) auto;
    margin: 14px 0 0;
    padding: 13px 16px;
}

.fc-home-profile-demo blockquote > div {
    color: #b7791f;
    display: flex;
    font-size: 8px;
    gap: 2px;
}

.fc-home-profile-demo blockquote p {
    color: var(--fc-text);
    font-size: 10px;
    font-style: italic;
    font-weight: 650;
    margin: 0;
}

.fc-home-profile-demo blockquote cite {
    color: var(--fc-muted);
    font-size: 9px;
    font-style: normal;
}

.fc-home-final-cta {
    align-items: center;
    background:
        linear-gradient(145deg, color-mix(in srgb, var(--fc-brand-soft) 62%, transparent), transparent 45%),
        var(--fc-surface);
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius-lg);
    box-shadow: var(--fc-shadow-card);
    display: flex;
    flex-direction: column;
    margin-bottom: 24px;
    padding: clamp(56px, 9vw, 104px) 28px;
    text-align: center;
}

.fc-home-final-cta h2 {
    max-width: 900px;
}

.fc-home-final-cta > p {
    color: var(--fc-muted);
    font-size: 17px;
    line-height: 1.6;
    margin: 22px auto 0;
    max-width: 680px;
}

.fc-home-final-cta .fc-home-actions {
    justify-content: center;
}

.fc-home-final-cta > small {
    color: var(--fc-muted);
    font-size: 10px;
    font-weight: 650;
    margin-top: 18px;
}

@keyframes fc-home-progress {
    from { transform: scaleX(0); }
    to { transform: scaleX(1); }
}

@keyframes fc-home-draw {
    from { stroke-dashoffset: 700; }
    to { stroke-dashoffset: 0; }
}

@keyframes fc-home-float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-7px); }
}

@keyframes fc-home-pulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(47, 138, 107, 0.35); }
    50% { box-shadow: 0 0 0 5px rgba(47, 138, 107, 0); }
}

@media (max-width: 1100px) {
    .fc-home-hero {
        gap: 48px;
        grid-template-columns: minmax(300px, 0.75fr) minmax(520px, 1.25fr);
    }

    .fc-home-live-card {
        left: -12px;
    }

    .fc-home-operator-band,
    .fc-home-insight-band {
        gap: 48px;
        padding: 56px 44px;
    }

    .fc-home-chapter,
    .fc-home-public-chapter {
        gap: 54px;
        grid-template-columns: minmax(300px, 0.72fr) minmax(480px, 1.28fr);
    }
}

@media (max-width: 900px) {
    .impulzafit-public {
        padding-left: 20px;
        padding-right: 20px;
    }

    .fc-home-hero {
        grid-template-columns: 1fr;
        min-height: 0;
        padding: 72px 0 84px;
    }

    .fc-home-hero-copy {
        max-width: 700px;
    }

    .fc-home-product-wrap {
        margin: 0 auto;
        max-width: 720px;
        width: 100%;
    }

    .fc-home-operator-band,
    .fc-home-insight-band,
    .fc-home-chapter,
    .fc-home-public-chapter {
        grid-template-columns: 1fr;
    }

    .fc-home-operator-copy,
    .fc-home-chapter-copy {
        max-width: 680px;
    }

    .fc-home-signal-list article.is-current {
        transform: translateX(0);
    }

    .fc-home-section-heading {
        align-items: start;
        grid-template-columns: 1fr;
    }

    .fc-home-section-heading p {
        max-width: 620px;
    }

    .fc-home-loop {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        row-gap: 44px;
    }

    .fc-home-content-chapter {
        padding-bottom: 104px;
    }

    .fc-home-insight-visual {
        max-width: 680px;
        order: 2;
        transform: none;
    }

    .fc-home-chapter-copy-dark {
        order: 1;
    }

    .fc-home-profile-demo,
    .fc-home-content-demo {
        max-width: 680px;
        width: 100%;
    }
}

@media (max-width: 640px) {
    .impulzafit-public {
        padding-left: 14px;
        padding-right: 14px;
    }

    .fc-home-hero {
        gap: 42px;
        padding: 56px 0 66px;
    }

    .fc-home-hero-copy h1 {
        font-size: clamp(42px, 13vw, 58px);
    }

    .fc-home-hero-copy > p {
        font-size: 16px;
        margin-top: 22px;
    }

    .fc-home-actions,
    .fc-home-actions .fc-home-button {
        width: 100%;
    }

    .fc-home-trust {
        gap: 9px 14px;
    }

    .fc-home-product-wrap::before,
    .fc-home-product-glow,
    .fc-home-live-card {
        display: none;
    }

    .fc-home-console-body {
        grid-template-columns: 1fr;
        min-height: 490px;
    }

    .fc-home-console-nav {
        display: none;
    }

    .fc-home-console-stage {
        padding: 11px;
    }

    .fc-home-console-bar {
        grid-template-columns: auto 1fr auto;
    }

    .fc-home-console-bar > span {
        grid-column: 2;
        text-align: center;
    }

    .fc-home-console-panel {
        min-height: 420px;
    }

    .fc-home-screen-heading h2 {
        font-size: 17px;
    }

    .fc-home-screen-heading > button {
        font-size: 0;
        width: 32px;
    }

    .fc-home-screen-heading > button i {
        font-size: 10px;
    }

    .fc-home-kpis strong {
        font-size: 17px;
    }

    .fc-home-overview-grid {
        grid-template-columns: 1fr;
    }

    .fc-home-revenue-card svg {
        height: 118px;
    }

    .fc-home-renewal-card {
        display: none;
    }

    .fc-home-client-table > div {
        grid-template-columns: minmax(130px, 1.2fr) minmax(110px, 1fr);
    }

    .fc-home-client-table > div > span:nth-child(3),
    .fc-home-client-table > div > span:nth-child(4) {
        display: none;
    }

    .fc-home-program-grid {
        grid-template-columns: 1fr;
    }

    .fc-home-program-grid > article {
        display: grid;
        gap: 8px 12px;
        grid-template-columns: auto minmax(0, 1fr);
    }

    .fc-home-program-grid article > span,
    .fc-home-program-grid h3,
    .fc-home-program-grid p,
    .fc-home-program-grid footer {
        grid-column: 2;
        margin: 0;
    }

    .fc-home-program-grid footer {
        padding-top: 7px;
    }

    .fc-home-proof-rail {
        gap: 10px;
        grid-template-columns: repeat(5, max-content);
        justify-content: start;
        margin: 0 -14px 72px;
        min-height: 62px;
        overflow-x: auto;
        padding: 0 18px;
        scrollbar-width: none;
    }

    .fc-home-proof-rail::-webkit-scrollbar {
        display: none;
    }

    .fc-home-proof-rail span {
        padding: 0 10px;
    }

    .fc-home-operator-band,
    .fc-home-insight-band {
        padding: 38px 20px;
    }

    .fc-home-operator-copy h2,
    .fc-home-chapter-copy-dark h2,
    .fc-home-section-heading h2,
    .fc-home-chapter-copy h2,
    .fc-home-final-cta h2 {
        font-size: clamp(34px, 10vw, 46px);
    }

    .fc-home-signal-list article {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .fc-home-signal-list article > em {
        display: none;
    }

    .fc-home-workflow,
    .fc-home-public-chapter {
        padding: 82px 0;
    }

    .fc-home-loop {
        grid-template-columns: 1fr;
        margin-top: 44px;
        row-gap: 34px;
    }

    .fc-home-chapter {
        padding: 22px 0 88px;
    }

    .fc-home-content-demo,
    .fc-home-profile-demo {
        padding: 12px;
    }

    .fc-home-macro-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fc-home-builder-stage {
        height: 468px;
    }

    .fc-home-builder {
        padding: 13px;
    }

    .fc-home-builder > header {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .fc-home-builder > header > em {
        display: none;
    }

    .fc-home-builder-rows > div {
        grid-template-columns: minmax(82px, 0.75fr) minmax(0, 1.25fr);
    }

    .fc-home-builder-rows em {
        display: none;
    }

    .fc-home-insight-kpis strong {
        font-size: 18px;
    }

    .fc-home-retention-chart svg {
        height: 135px;
    }

    .fc-home-profile-demo {
        padding: 0 14px 16px;
    }

    .fc-home-profile-cover {
        height: 116px;
        margin: 0 -14px;
    }

    .fc-home-profile-head {
        align-items: center;
        gap: 14px;
        grid-template-columns: auto minmax(0, 1fr);
        margin-top: -76px;
        padding-bottom: 30px;
    }

    .fc-home-profile-head > i {
        height: 68px;
        width: 68px;
    }

    .fc-home-profile-head > em {
        display: none;
    }

    .fc-home-profile-plans {
        grid-template-columns: 1fr;
    }

    .fc-home-profile-demo blockquote {
        grid-template-columns: 1fr;
    }

    .fc-home-final-cta {
        padding: 52px 20px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .fc-home-shell *,
    .fc-home-shell *::before,
    .fc-home-shell *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}

/* Product-faithful homepage demo */

.fc-home-console-body {
    height: 525px;
    min-height: 525px;
}

.fc-home-console-stage {
    box-sizing: border-box;
    height: 525px;
    min-height: 0;
    position: relative;
}

.fc-home-console-panel {
    bottom: 13px;
    height: 450px;
    left: 13px;
    min-height: 450px;
    overflow: hidden;
    position: absolute;
    right: 13px;
    top: 62px;
}

.fc-home-demo-tabs {
    flex-wrap: nowrap;
    min-height: 31px;
    overflow-x: auto;
    scrollbar-width: none;
}

.fc-home-demo-tabs::-webkit-scrollbar {
    display: none;
}

.fc-home-demo-tabs button {
    flex: 0 0 auto;
    white-space: nowrap;
}

.fc-home-demo-tabs button.is-active::after {
    background: var(--fc-brand);
    bottom: 0;
    content: "";
    height: 2px;
    left: 8px;
    position: absolute;
    right: 8px;
}

.fc-home-screen-heading > div > p {
    color: var(--fc-muted);
    font-size: 9px;
    font-weight: 600;
    line-height: 1.35;
    margin: 4px 0 0;
}

.fc-home-demo-toolbar {
    align-items: center;
    display: grid;
    gap: 8px;
    grid-template-columns: minmax(0, 1fr) auto auto;
    margin-top: 14px;
}

.fc-home-demo-toolbar span {
    align-items: center;
    background: var(--fc-surface);
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius-xs);
    color: var(--fc-muted);
    display: inline-flex;
    font-size: 9px;
    gap: 7px;
    min-height: 32px;
    padding: 7px 10px;
}

.fc-home-demo-toolbar > i {
    align-items: center;
    background: var(--fc-surface);
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius-xs);
    color: var(--fc-muted);
    display: inline-flex;
    height: 32px;
    justify-content: center;
    width: 32px;
}

.fc-home-demo-toolbar > i:first-of-type {
    background: var(--fc-brand-soft);
    color: var(--fc-brand);
}

.fc-home-client-table-real {
    margin-top: 10px;
}

.fc-home-client-table-real > div {
    grid-template-columns: minmax(132px, 1.2fr) minmax(92px, 0.9fr) 58px minmax(112px, 1fr);
}

.fc-home-client-table-real > div > span:last-child {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

.fc-home-assignment {
    border-radius: var(--fc-radius-full);
    display: inline-flex;
    font-size: 7px;
    font-weight: 750;
    padding: 4px 6px;
    white-space: nowrap;
}

.fc-home-assignment.is-diet {
    background: var(--fc-diet-soft);
    color: var(--fc-diet);
}

.fc-home-assignment.is-routine {
    background: var(--fc-routine-soft);
    color: var(--fc-routine);
}

.fc-home-assignment.is-muted {
    background: var(--fc-surface-soft);
    color: var(--fc-muted);
}

.fc-home-demo-template-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 16px;
}

.fc-home-demo-template-card {
    background: var(--fc-surface);
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius-sm);
    display: flex;
    flex-direction: column;
    min-height: 330px;
    overflow: hidden;
    padding: 14px;
}

.fc-home-demo-template-card > header {
    align-items: center;
    display: grid;
    gap: 9px;
    grid-template-columns: auto minmax(0, 1fr) auto;
}

.fc-home-demo-template-card > header > i {
    align-items: center;
    border-radius: var(--fc-radius-sm);
    display: inline-flex;
    height: 38px;
    justify-content: center;
    width: 38px;
}

.fc-home-demo-template-card.is-diet > header > i {
    background: var(--fc-diet-soft);
    color: var(--fc-diet);
}

.fc-home-demo-template-card.is-routine > header > i {
    background: var(--fc-routine-soft);
    color: var(--fc-routine);
}

.fc-home-demo-template-card.is-package > header > i {
    background: var(--fc-package-soft);
    color: var(--fc-package);
}

.fc-home-demo-template-card.is-testimonial > header > i {
    background: var(--fc-warning-soft);
    color: var(--fc-warning);
}

.fc-home-demo-template-card.is-plan > header > i {
    background: var(--fc-plan-soft);
    color: var(--fc-plan);
}

.fc-home-demo-template-card h3,
.fc-home-demo-template-card header p {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fc-home-demo-template-card h3 {
    color: var(--fc-text);
    font-size: 12px;
    font-weight: 800;
    margin: 0;
}

.fc-home-demo-template-card header p {
    color: var(--fc-muted);
    font-size: 8px;
    margin: 3px 0 0;
}

.fc-home-demo-template-card header em {
    background: var(--fc-success-soft);
    border-radius: var(--fc-radius-full);
    color: var(--fc-success);
    font-size: 7px;
    font-style: normal;
    font-weight: 750;
    padding: 5px 6px;
}

.fc-home-demo-macros,
.fc-home-demo-stats {
    display: grid;
    gap: 6px;
    margin-top: 18px;
}

.fc-home-demo-macros {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.fc-home-demo-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.fc-home-demo-macros > span,
.fc-home-demo-stats > span {
    background: var(--fc-surface-soft);
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius-xs);
    padding: 9px;
}

.fc-home-demo-macros small,
.fc-home-demo-macros strong,
.fc-home-demo-stats small,
.fc-home-demo-stats strong {
    display: block;
}

.fc-home-demo-macros small,
.fc-home-demo-stats small {
    color: var(--fc-muted);
    font-size: 7px;
    font-weight: 700;
    text-transform: uppercase;
}

.fc-home-demo-macros strong,
.fc-home-demo-stats strong {
    color: var(--fc-text);
    font-size: 13px;
    margin-top: 5px;
}

.fc-home-demo-template-card > footer {
    border-top: 1px solid var(--fc-border);
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: auto;
    padding-top: 12px;
}

.fc-home-demo-template-card > footer span,
.fc-home-demo-template-card > footer b {
    display: block;
}

.fc-home-demo-template-card > footer span {
    color: var(--fc-muted);
    font-size: 7px;
    font-weight: 700;
    text-transform: uppercase;
}

.fc-home-demo-template-card > footer b {
    color: var(--fc-text);
    font-size: 9px;
    margin-top: 5px;
    text-transform: none;
}

.fc-home-demo-bundle {
    display: grid;
    gap: 7px;
    margin-top: 18px;
}

.fc-home-demo-bundle > span {
    align-items: center;
    background: var(--fc-surface-soft);
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius-xs);
    display: grid;
    gap: 2px 8px;
    grid-template-columns: auto minmax(0, 1fr);
    padding: 9px;
}

.fc-home-demo-bundle i {
    color: var(--fc-package);
    grid-row: span 2;
}

.fc-home-demo-bundle b {
    color: var(--fc-text);
    font-size: 9px;
}

.fc-home-demo-bundle small {
    color: var(--fc-muted);
    font-size: 7px;
}

.fc-home-dashboard-card,
.fc-home-risk-preview {
    background: var(--fc-surface);
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius-sm);
    box-shadow: 0 10px 28px rgba(17, 23, 25, 0.05);
    margin-top: 12px;
    padding: 13px;
}

.fc-home-dashboard-card header,
.fc-home-risk-preview header {
    align-items: center;
    display: grid;
    gap: 9px;
    grid-template-columns: auto minmax(0, 1fr);
}

.fc-home-dashboard-card header > i,
.fc-home-risk-preview header > i {
    align-items: center;
    background: var(--fc-brand-soft);
    border-radius: var(--fc-radius-sm);
    color: var(--fc-brand);
    display: inline-flex;
    height: 34px;
    justify-content: center;
    width: 34px;
}

.fc-home-dashboard-card h3,
.fc-home-risk-preview h3 {
    color: var(--fc-text);
    font-size: 12px;
    font-weight: 800;
    margin: 0;
}

.fc-home-dashboard-card p,
.fc-home-risk-preview p {
    color: var(--fc-muted);
    font-size: 8px;
    margin: 3px 0 0;
}

.fc-home-dashboard-card-soft {
    background:
        linear-gradient(145deg, color-mix(in srgb, var(--fc-brand-soft) 45%, transparent), transparent 52%),
        var(--fc-surface);
}

.fc-home-form-preview {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 12px;
}

.fc-home-form-preview span {
    background: var(--fc-surface-soft);
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius-xs);
    padding: 9px;
}

.fc-home-form-preview small,
.fc-home-form-preview strong {
    display: block;
}

.fc-home-form-preview small {
    color: var(--fc-muted);
    font-size: 7px;
    font-weight: 750;
}

.fc-home-form-preview strong {
    color: var(--fc-text);
    font-size: 10px;
    margin-top: 5px;
}

.fc-home-settings-row {
    align-items: center;
    border-top: 1px solid var(--fc-border);
    display: flex;
    gap: 10px;
    justify-content: space-between;
    margin-top: 10px;
    padding-top: 10px;
}

.fc-home-settings-row b,
.fc-home-settings-row small {
    display: block;
}

.fc-home-settings-row b {
    color: var(--fc-text);
    font-size: 10px;
}

.fc-home-settings-row small {
    color: var(--fc-muted);
    font-size: 8px;
    margin-top: 3px;
}

.fc-home-settings-row em,
.fc-home-settings-row strong {
    background: var(--fc-success-soft);
    border-radius: var(--fc-radius-full);
    color: var(--fc-success);
    flex: 0 0 auto;
    font-size: 8px;
    font-style: normal;
    font-weight: 750;
    padding: 6px 8px;
}

.fc-home-payment-kpis {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 14px;
}

.fc-home-payment-kpis article {
    background: var(--fc-surface);
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius-sm);
    display: grid;
    gap: 7px 8px;
    grid-template-columns: minmax(0, 1fr) auto;
    min-height: 74px;
    padding: 10px;
}

.fc-home-payment-kpis span,
.fc-home-payment-kpis strong {
    display: block;
}

.fc-home-payment-kpis span {
    color: var(--fc-muted);
    font-size: 7px;
    font-weight: 800;
    text-transform: uppercase;
}

.fc-home-payment-kpis strong {
    color: var(--fc-text);
    font-size: 19px;
    line-height: 1;
}

.fc-home-payment-kpis i {
    align-items: center;
    background: var(--fc-brand-soft);
    border-radius: var(--fc-radius-xs);
    color: var(--fc-brand);
    display: inline-flex;
    font-size: 11px;
    grid-row: span 2;
    height: 28px;
    justify-content: center;
    width: 28px;
}

.fc-home-payment-table {
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius-sm);
    margin-top: 10px;
    overflow: hidden;
}

.fc-home-payment-table > div {
    align-items: center;
    border-top: 1px solid var(--fc-border);
    display: grid;
    gap: 8px;
    grid-template-columns: minmax(132px, 1.35fr) minmax(104px, 1fr) 92px 58px 92px 36px;
    min-height: 58px;
    padding: 8px 10px;
}

.fc-home-payment-table > div:first-child {
    background: var(--fc-surface-soft);
    border-top: 0;
    color: var(--fc-muted);
    font-size: 7px;
    font-weight: 800;
    min-height: 34px;
    text-transform: uppercase;
}

.fc-home-payment-table span,
.fc-home-payment-table b,
.fc-home-payment-table small {
    display: block;
    min-width: 0;
}

.fc-home-payment-table > div:not(:first-child) > span {
    color: var(--fc-muted);
    font-size: 8px;
    font-weight: 650;
}

.fc-home-payment-table > div:not(:first-child) > span:first-child {
    align-items: center;
    display: flex;
    gap: 8px;
}

.fc-home-payment-table span > i {
    align-items: center;
    background: var(--fc-brand-soft);
    border-radius: 50%;
    color: var(--fc-brand);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 8px;
    font-style: normal;
    font-weight: 800;
    height: 28px;
    justify-content: center;
    width: 28px;
}

.fc-home-payment-table b {
    color: var(--fc-text);
    font-size: 9px;
}

.fc-home-payment-table small {
    color: var(--fc-muted);
    font-size: 7px;
    margin-top: 2px;
}

.fc-home-payment-table strong {
    color: var(--fc-text);
    font-size: 10px;
}

.fc-home-payment-table em {
    align-items: center;
    background: var(--fc-success-soft);
    border-radius: var(--fc-radius-full);
    color: var(--fc-success);
    display: inline-flex;
    font-size: 7px;
    font-style: normal;
    font-weight: 750;
    gap: 4px;
    justify-content: center;
    padding: 5px 7px;
    white-space: nowrap;
}

.fc-home-payment-table em.is-warning {
    background: var(--fc-warning-soft);
    color: var(--fc-warning);
}

.fc-home-payment-table em.is-danger {
    background: var(--fc-danger-soft);
    color: var(--fc-danger);
}

.fc-home-payment-table button {
    align-items: center;
    background: var(--fc-brand-soft);
    border-radius: var(--fc-radius-xs);
    color: var(--fc-brand);
    display: inline-flex;
    height: 28px;
    justify-content: center;
    width: 28px;
}

.fc-home-testimonial-kpis {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 14px;
}

.fc-home-testimonial-kpis article {
    background: var(--fc-surface);
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius-sm);
    display: grid;
    gap: 4px 8px;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 10px;
}

.fc-home-testimonial-kpis span,
.fc-home-testimonial-kpis small,
.fc-home-testimonial-kpis strong {
    display: block;
}

.fc-home-testimonial-kpis span {
    color: var(--fc-muted);
    font-size: 7px;
    font-weight: 750;
    text-transform: uppercase;
}

.fc-home-testimonial-kpis strong {
    color: var(--fc-text);
    font-size: 18px;
    line-height: 1;
}

.fc-home-testimonial-kpis small {
    color: var(--fc-muted);
    font-size: 7px;
}

.fc-home-testimonial-kpis i {
    color: var(--fc-brand);
    grid-row: span 3;
}

.fc-home-testimonial-section {
    margin-top: 8px;
    padding: 11px;
}

.fc-home-testimonial-section header > i {
    background: var(--fc-warning-soft);
    color: var(--fc-warning);
}

.fc-home-testimonial-row {
    align-items: center;
    background: var(--fc-surface-soft);
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius-xs);
    display: grid;
    gap: 9px;
    grid-template-columns: auto minmax(0, 1fr) auto;
    margin-top: 10px;
    min-height: 58px;
    padding: 9px;
}

.fc-home-testimonial-row > i {
    align-items: center;
    background: var(--fc-brand-soft);
    border-radius: 50%;
    color: var(--fc-brand);
    display: inline-flex;
    font-size: 9px;
    font-style: normal;
    font-weight: 800;
    height: 30px;
    justify-content: center;
    width: 30px;
}

.fc-home-testimonial-row b,
.fc-home-testimonial-row small,
.fc-home-testimonial-row em {
    display: block;
}

.fc-home-testimonial-row b {
    color: var(--fc-text);
    font-size: 10px;
}

.fc-home-testimonial-row small {
    color: var(--fc-warning);
    font-size: 8px;
    font-weight: 750;
    margin-top: 2px;
}

.fc-home-testimonial-row em {
    color: var(--fc-muted);
    font-size: 8px;
    font-style: normal;
    margin-top: 3px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fc-home-testimonial-row button,
.fc-home-risk-table button {
    background: var(--fc-brand);
    border: 0;
    border-radius: var(--fc-radius-full);
    color: #ffffff;
    display: inline-flex;
    gap: 5px;
    justify-content: center;
    font-size: 8px;
    font-weight: 750;
    line-height: 1;
    padding: 6px 8px;
    white-space: nowrap;
}

.fc-home-testimonial-row button.is-icon {
    align-items: center;
    background: var(--fc-surface);
    border: 1px solid var(--fc-border);
    color: var(--fc-muted);
    display: inline-flex;
    height: 28px;
    justify-content: center;
    padding: 0;
    width: 28px;
}

.fc-home-risk-table {
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius-xs);
    margin-top: 11px;
    overflow: hidden;
}

.fc-home-risk-table > div {
    align-items: center;
    border-top: 1px solid var(--fc-border);
    display: grid;
    gap: 8px;
    grid-template-columns: minmax(110px, 1.25fr) 58px 84px 58px 52px;
    min-height: 48px;
    padding: 8px 10px;
}

.fc-home-risk-table > div:first-child {
    background: var(--fc-surface-soft);
    border-top: 0;
    color: var(--fc-muted);
    font-size: 7px;
    font-weight: 800;
    text-transform: uppercase;
}

.fc-home-risk-table span,
.fc-home-risk-table small,
.fc-home-risk-table b {
    display: block;
}

.fc-home-risk-table span {
    color: var(--fc-muted);
    font-size: 8px;
    min-width: 0;
}

.fc-home-risk-table b {
    color: var(--fc-text);
    font-size: 9px;
}

.fc-home-risk-table small {
    font-size: 7px;
    margin-top: 2px;
}

.fc-home-risk-table em {
    background: var(--fc-warning-soft);
    border-radius: var(--fc-radius-full);
    color: var(--fc-warning);
    font-size: 7px;
    font-style: normal;
    font-weight: 750;
    padding: 5px 7px;
    text-align: center;
}

.fc-home-risk-table em.is-high {
    background: var(--fc-danger-soft);
    color: var(--fc-danger);
}

.fc-home-demo-compact-grid {
    margin-top: 8px;
}

.fc-home-demo-compact-grid .fc-home-demo-template-card {
    min-height: 225px;
}

.fc-home-demo-analytics-kpis {
    display: grid;
    gap: 7px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 14px;
}

.fc-home-demo-analytics-kpis article {
    background: var(--fc-surface);
    border: 1px solid var(--fc-border);
    border-top: 3px solid var(--fc-kpi-accent);
    border-radius: var(--fc-radius-sm);
    padding: 10px;
}

.fc-home-demo-analytics-kpis article.is-brand {
    --fc-kpi-accent: var(--fc-brand);
}

.fc-home-demo-analytics-kpis article.is-plan {
    --fc-kpi-accent: var(--fc-plan);
}

.fc-home-demo-analytics-kpis article.is-success {
    --fc-kpi-accent: var(--fc-success);
}

.fc-home-demo-analytics-kpis article.is-warning {
    --fc-kpi-accent: var(--fc-warning);
}

.fc-home-demo-analytics-kpis span,
.fc-home-demo-analytics-kpis strong,
.fc-home-demo-analytics-kpis em {
    display: block;
}

.fc-home-demo-analytics-kpis span {
    color: var(--fc-muted);
    font-size: 7px;
    font-weight: 700;
}

.fc-home-demo-analytics-kpis strong {
    color: var(--fc-text);
    font-size: 17px;
    margin-top: 7px;
}

.fc-home-demo-analytics-kpis em {
    color: var(--fc-kpi-accent);
    font-size: 7px;
    font-style: normal;
    font-weight: 750;
    margin-top: 5px;
}

.fc-home-demo-analytics-chart {
    background: var(--fc-surface);
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius-sm);
    margin-top: 8px;
    padding: 11px;
}

.fc-home-demo-analytics-chart header {
    align-items: flex-start;
    display: flex;
    gap: 12px;
    justify-content: space-between;
}

.fc-home-demo-analytics-chart header span,
.fc-home-demo-analytics-chart header strong {
    display: block;
}

.fc-home-demo-analytics-chart header span {
    color: var(--fc-muted);
    font-size: 7px;
    font-weight: 700;
    text-transform: uppercase;
}

.fc-home-demo-analytics-chart header strong {
    color: var(--fc-text);
    font-size: 10px;
    margin-top: 3px;
}

.fc-home-demo-analytics-chart header em {
    background: var(--fc-brand-soft);
    border-radius: var(--fc-radius-full);
    color: var(--fc-brand);
    font-size: 7px;
    font-style: normal;
    font-weight: 750;
    padding: 5px 7px;
}

.fc-home-demo-analytics-chart svg {
    height: 176px;
    margin-top: 2px;
    width: 100%;
}

.fc-home-demo-analytics-chart .grid {
    fill: none;
    stroke: var(--fc-border);
    stroke-width: 1;
}

.fc-home-demo-analytics-chart .area {
    fill: var(--fc-brand-soft);
    opacity: 0.76;
}

.fc-home-demo-analytics-chart .line {
    animation: none;
    fill: none;
    stroke: var(--fc-brand);
    stroke-dasharray: none;
    stroke-linecap: round;
    stroke-width: 3;
}

@media (max-width: 640px) {
    .fc-home-console-body,
    .fc-home-console-stage {
        height: 500px;
        min-height: 500px;
    }

    .fc-home-console-panel {
        bottom: 11px;
        height: 425px;
        left: 11px;
        min-height: 425px;
        right: 11px;
        top: 62px;
    }

    .fc-home-demo-tabs {
        padding-bottom: 2px;
    }

    .fc-home-client-table-real > div {
        grid-template-columns: minmax(120px, 1.15fr) minmax(98px, 0.85fr);
    }

    .fc-home-client-table-real > div > span:nth-child(3),
    .fc-home-client-table-real > div > span:nth-child(4) {
        display: none;
    }

    .fc-home-demo-template-grid {
        grid-template-columns: 1fr;
    }

    .fc-home-demo-template-card {
        min-height: 0;
    }

    .fc-home-demo-template-card:nth-child(2) {
        display: none;
    }

    .fc-home-demo-analytics-kpis {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fc-home-demo-analytics-chart svg {
        height: 128px;
    }
}

.trainer-dashboard-surface .fc-supplement-remove:hover {
    background: var(--fc-danger-soft) !important;
    color: var(--fc-danger) !important;
}

/* KPI cards whose value is a name (most/least used diet, routine, package, plan):
   up to two readable lines instead of one cut-off 30px line. */
.trainer-dashboard-surface .fc-kpi-value-text {
    font-size: 22px;
    line-height: 1.2;
    overflow-wrap: anywhere;
}
