/* Final loaded CSS: page scrolls normally, dashboard chrome stays visible. */
:root {
    --fitcore-sidebar-width: 264px;
    --fitcore-topbar-height: 76px;
    --fitcore-public-navbar-height: 80px;
}

/* Payment editing belongs in a focused dialog, never inside a table row. */
#payments .payments-table th:nth-child(1),
#payments .payments-table td:nth-child(1) { width: 22% !important; }
#payments .payments-table th:nth-child(2),
#payments .payments-table td:nth-child(2) { width: 13% !important; }
#payments .payments-table th:nth-child(3),
#payments .payments-table td:nth-child(3) { width: 12% !important; }
#payments .payments-table th:nth-child(4),
#payments .payments-table td:nth-child(4) { width: 11% !important; }
#payments .payments-table th:nth-child(5),
#payments .payments-table td:nth-child(5) { width: 12% !important; }
#payments .payments-table th:nth-child(6),
#payments .payments-table td:nth-child(6) { width: 12% !important; }
#payments .payments-table th:nth-child(7),
#payments .payments-table td:nth-child(7) {
    width: 12% !important;
    min-width: 86px !important;
    text-align: center !important;
    white-space: nowrap !important;
}

#payments .payment-icon-btn,
#payments .payment-icon-btn.btn,
#payments .payment-actions button.payment-icon-btn {
    width: 34px !important;
    min-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    border-radius: 10px !important;
}

#payments .payment-edit-btn {
    border-color: #b7ded9 !important;
    background: #f7fcfb !important;
    color: #087f76 !important;
}

#payments .payment-edit-btn:hover {
    border-color: #67bdb6 !important;
    background: #e8f7f4 !important;
    color: #066f68 !important;
}

/* Keep the finance outcome color above all inherited dashboard heading rules. */
body .admin-main #finance .dash-card .net-profit-value.profit-positive {
    color: #087f76 !important;
    -webkit-text-fill-color: #087f76 !important;
}

body .admin-main #finance .dash-card .net-profit-value.profit-negative {
    color: #bd2d36 !important;
    -webkit-text-fill-color: #bd2d36 !important;
}

/* Login footer must remain a compact third row of the desktop composition. */
body.auth-front .login-screen + .site-footer.fitcore-copyright-footer.login-page-footer {
    display: flex !important;
    min-height: 0 !important;
    padding: 15px 20px !important;
    border-top: 1px solid rgba(15, 23, 42, .08) !important;
    background: var(--secondary-bg, #f7f5ef) !important;
}

body.auth-front .login-screen + .site-footer.fitcore-copyright-footer.login-page-footer p {
    color: #6b7280 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
}

/*
 * Login viewport composition
 *
 * The authentication screen is intentionally a three-row desktop canvas:
 * navigation, the two balanced panels, and a compact footer.  Keeping the
 * sizing scoped to `.auth-front` prevents these height rules from affecting
 * the marketing pages or any authenticated workspace.
 */
@media (min-width: 981px) {
    html:has(body.auth-front),
    body.auth-front {
        min-height: 100dvh !important;
        height: 100dvh !important;
    }

    body.auth-front .page-shell {
        display: grid !important;
        grid-template-rows: 72px minmax(0, 1fr) auto !important;
        min-height: 100dvh !important;
        height: 100dvh !important;
        padding-top: 0 !important;
        overflow: visible !important;
    }

    body.auth-front .page-shell > .navbar {
        position: static !important;
        top: auto !important;
        min-height: 72px !important;
        height: 72px !important;
    }

    body.auth-front .login-screen {
        min-height: 0 !important;
        height: 100% !important;
        padding: clamp(12px, 1.75vh, 18px) 0 !important;
        overflow: visible !important;
    }

    body.auth-front .login-screen .login-shell {
        min-height: 0 !important;
        height: 100% !important;
        align-items: stretch !important;
    }

    body.auth-front .login-screen .login-preview,
    body.auth-front .login-screen .login-panel,
    body.auth-front .login-screen .login-panel .login-card {
        min-height: 0 !important;
        height: 100% !important;
        max-height: 100% !important;
        box-sizing: border-box !important;
    }

    body.auth-front .login-screen .login-preview {
        padding: clamp(16px, 2vh, 20px) !important;
        gap: clamp(8px, 1.3vh, 12px) !important;
    }

    body.auth-front .login-screen .login-panel .login-card {
        padding: clamp(14px, 1.8vh, 18px) clamp(16px, 2vw, 22px) !important;
        gap: clamp(6px, 1vh, 9px) !important;
    }

    body.auth-front .login-screen .login-brand.login-brand-lockup {
        margin: 0 0 2px !important;
    }

    body.auth-front .login-screen .login-preview-copy,
    body.auth-front .login-screen .login-preview-copy p,
    body.auth-front .login-screen .login-preview-copy h1 {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }

    body.auth-front .login-screen .login-stat-strip {
        margin-top: 1px !important;
    }

    body.auth-front .login-screen .login-trust-panel {
        margin-top: 0 !important;
        padding: 8px !important;
    }

    body.auth-front .login-screen .login-trust-panel div {
        min-height: 50px !important;
        padding: 7px 8px !important;
    }

    body.auth-front .login-screen .login-form,
    body.auth-front .login-screen .login-card .field,
    body.auth-front .login-screen .login-fields-container {
        gap: 6px !important;
    }

    body.auth-front .login-screen .login-trial-access {
        margin-top: 7px !important;
        padding-top: 8px !important;
    }

    body.auth-front .login-page-footer {
        min-height: 0 !important;
        padding: 14px 20px !important;
        border-top: 1px solid rgba(15, 23, 42, .08) !important;
        background: var(--secondary-bg, #f7f5ef) !important;
    }

    body.auth-front .login-page-footer p {
        color: #6b7280 !important;
        font-size: 14px !important;
        font-weight: 500 !important;
        line-height: 1.3 !important;
    }
}

/* On shorter laptops, preserve every control while reducing only spare air. */
@media (min-width: 981px) and (max-height: 820px) {
    body.auth-front .login-screen {
        padding: 10px 0 !important;
    }

    body.auth-front .login-screen .login-preview {
        padding: 14px 16px !important;
        gap: 7px !important;
    }

    body.auth-front .login-screen .login-preview-copy h1 {
        font-size: clamp(32px, 3vw, 40px) !important;
        line-height: 1.02 !important;
    }

    body.auth-front .login-screen .login-preview-copy p {
        font-size: 11px !important;
        line-height: 1.3 !important;
    }

    body.auth-front .login-screen .login-stat-card {
        min-height: 56px !important;
        padding: 7px 9px !important;
    }

    body.auth-front .login-screen .login-trust-panel div {
        min-height: 46px !important;
        padding: 6px 8px !important;
    }

    body.auth-front .login-screen .login-panel .login-card {
        padding: 12px 18px !important;
        gap: 5px !important;
    }

    body.auth-front .login-screen .login-card .auth-input-wrap,
    body.auth-front .login-screen .login-card input,
    body.auth-front .login-screen .login-card .password-control {
        min-height: 36px !important;
        height: 36px !important;
    }

    body.auth-front .login-screen .login-card .auth-input-wrap input {
        line-height: 36px !important;
    }

    body.auth-front .login-screen .login-card .login-submit {
        min-height: 34px !important;
        height: 34px !important;
    }

    body.auth-front .login-page-footer {
        padding-top: 12px !important;
        padding-bottom: 12px !important;
    }
}

/* Monthly profit: compact operational reporting without a dense finance screen. */
body .admin-main .monthly-profit-page {
    padding: 20px !important;
    border-radius: 18px !important;
}

body .admin-main .monthly-profit-head {
    display: flex !important;
    align-items: end !important;
    justify-content: space-between !important;
    gap: 18px !important;
    margin: 0 !important;
}

body .admin-main .monthly-profit-head .kicker {
    min-height: 22px !important;
    margin: 0 0 6px !important;
    padding: 4px 9px !important;
    font-size: 9px !important;
    line-height: 1 !important;
}

body .admin-main .monthly-profit-head h2 {
    margin: 0 !important;
    font-size: clamp(22px, 2vw, 28px) !important;
    line-height: 1.08 !important;
}

body .admin-main .monthly-profit-head p {
    max-width: 610px !important;
    margin: 6px 0 0 !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
}

body .admin-main .monthly-profit-filter {
    flex: 0 1 330px !important;
    min-width: 280px !important;
    margin: 0 !important;
}

body .admin-main .monthly-profit-filter label {
    display: block !important;
    margin: 0 0 5px !important;
    color: #5f6f88 !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: .045em !important;
    line-height: 1.1 !important;
    text-transform: uppercase !important;
}

body .admin-main .monthly-profit-filter-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 7px !important;
}

body .admin-main .monthly-profit-filter input[type="month"] {
    width: 100% !important;
    min-width: 0 !important;
    height: 38px !important;
    min-height: 38px !important;
    margin: 0 !important;
    padding: 7px 10px !important;
    border-radius: 10px !important;
    font-size: 12px !important;
}

body .admin-main .monthly-profit-filter .btn {
    min-width: 96px !important;
    min-height: 38px !important;
    height: 38px !important;
    margin: 0 !important;
    padding: 7px 10px !important;
    border-radius: 10px !important;
    font-size: 11px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

body .admin-main .monthly-profit-period {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 8px 12px !important;
    margin: 14px 0 0 !important;
    color: #63738d !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
}

body .admin-main .monthly-profit-period span:first-child {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    color: #087f76 !important;
    font-weight: 750 !important;
}

body .admin-main .monthly-profit-period span + span {
    padding-left: 12px !important;
    border-left: 1px solid #dfebea !important;
}

body .admin-main .monthly-profit-summary {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin: 15px 0 0 !important;
}

body .admin-main .monthly-profit-metric {
    display: flex !important;
    align-items: center !important;
    min-width: 0 !important;
    min-height: 91px !important;
    padding: 12px !important;
    border: 1px solid #e1e9e8 !important;
    border-radius: 14px !important;
    background: #fff !important;
}

body .admin-main .monthly-profit-metric > div {
    display: grid !important;
    min-width: 0 !important;
    gap: 5px !important;
}

body .admin-main .monthly-profit-metric > div > span {
    overflow: hidden !important;
    color: #65748a !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

body .admin-main .monthly-profit-metric strong {
    color: #111a2d !important;
    font-size: clamp(17px, 1.45vw, 22px) !important;
    font-weight: 800 !important;
    line-height: 1.05 !important;
    letter-spacing: -.025em !important;
    white-space: nowrap !important;
}

body .admin-main .monthly-profit-metric-icon {
    display: inline-grid !important;
    width: 32px !important;
    height: 32px !important;
    flex: 0 0 32px !important;
    place-items: center !important;
    margin-right: 10px !important;
    border-radius: 10px !important;
    background: #edf8f6 !important;
    color: #087f76 !important;
    font-size: 15px !important;
}

body .admin-main .monthly-profit-metric.salaries .monthly-profit-metric-icon,
body .admin-main .monthly-profit-metric.expenses .monthly-profit-metric-icon {
    background: #fff6e7 !important;
    color: #bd7615 !important;
}

body .admin-main .monthly-profit-metric.profit-positive {
    border-color: #bfe4dc !important;
    background: linear-gradient(135deg, #fafffe 0%, #f1fbf8 100%) !important;
}

body .admin-main .monthly-profit-metric.profit-positive strong { color: #087f76 !important; }
body .admin-main .monthly-profit-metric.profit-negative { border-color: #f3d3d5 !important; background: #fffafb !important; }
body .admin-main .monthly-profit-metric.profit-negative strong { color: #bd2d36 !important; }

body .admin-main .monthly-profit-footer {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin: 14px 0 0 !important;
    padding-top: 13px !important;
    border-top: 1px solid #e6eeee !important;
}

body .admin-main .monthly-profit-footer p {
    margin: 0 !important;
    color: #6a7890 !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
}

body .admin-main .monthly-profit-footer p i { margin-right: 5px !important; color: #087f76 !important; }

body .admin-main .monthly-profit-footer .btn {
    min-height: 34px !important;
    height: 34px !important;
    margin: 0 !important;
    padding: 6px 10px !important;
    border-radius: 10px !important;
    font-size: 11px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

dialog.monthly-profit-dialog {
    width: min(1080px, calc(100vw - 32px)) !important;
    max-width: 1080px !important;
    max-height: min(720px, calc(100vh - 32px)) !important;
    margin: auto !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid #d7e9e7 !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 26px 72px rgba(15, 34, 57, .22) !important;
}

dialog.monthly-profit-dialog::backdrop { background: rgba(13, 24, 40, .46) !important; backdrop-filter: blur(3px) !important; }

dialog.monthly-profit-dialog .monthly-profit-dialog-head {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 14px !important;
    padding: 18px 20px 14px !important;
    border-bottom: 1px solid #e3eded !important;
    background: linear-gradient(104deg, #fff 0%, #f1fbfa 100%) !important;
}

dialog.monthly-profit-dialog .kicker { min-height: 20px !important; margin: 0 0 5px !important; padding: 3px 8px !important; font-size: 8px !important; line-height: 1 !important; }
dialog.monthly-profit-dialog h3 { margin: 0 !important; color: #111a2d !important; font-size: 21px !important; line-height: 1.1 !important; }
dialog.monthly-profit-dialog .monthly-profit-dialog-head p { margin: 5px 0 0 !important; color: #66758b !important; font-size: 12px !important; line-height: 1.3 !important; }
dialog.monthly-profit-dialog .icon-button { width: 32px !important; min-width: 32px !important; height: 32px !important; min-height: 32px !important; border-radius: 10px !important; }

dialog.monthly-profit-dialog .monthly-profit-dialog-summary {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
    padding: 12px 20px !important;
    border-bottom: 1px solid #edf2f2 !important;
    background: #fbfdfd !important;
}

dialog.monthly-profit-dialog .monthly-profit-dialog-summary span {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    padding: 8px 10px !important;
    border: 1px solid #e4eeee !important;
    border-radius: 10px !important;
    color: #617087 !important;
    font-size: 11px !important;
}

dialog.monthly-profit-dialog .monthly-profit-dialog-summary strong { color: #142038 !important; font-size: 12px !important; white-space: nowrap !important; }
dialog.monthly-profit-dialog .monthly-profit-dialog-summary .is-positive strong { color: #087f76 !important; }
dialog.monthly-profit-dialog .monthly-profit-dialog-summary .is-negative strong { color: #bd2d36 !important; }

dialog.monthly-profit-dialog .monthly-profit-detail-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
    max-height: calc(min(720px, 100vh - 32px) - 254px) !important;
    padding: 14px 20px !important;
    overflow: auto !important;
}

dialog.monthly-profit-dialog .monthly-profit-detail-panel {
    min-width: 0 !important;
    overflow: hidden !important;
    border: 1px solid #e1ebea !important;
    border-radius: 14px !important;
    background: #fff !important;
}

dialog.monthly-profit-dialog .monthly-profit-detail-title {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    min-height: 58px !important;
    padding: 10px !important;
    border-bottom: 1px solid #e7eeee !important;
    background: #f9fcfc !important;
}

dialog.monthly-profit-dialog .monthly-profit-detail-title > span {
    display: grid !important;
    width: 28px !important;
    height: 28px !important;
    flex: 0 0 28px !important;
    place-items: center !important;
    border-radius: 9px !important;
    background: #e8f7f4 !important;
    color: #087f76 !important;
    font-size: 13px !important;
}

dialog.monthly-profit-dialog .monthly-profit-detail-title h4 { margin: 0 !important; color: #1b2638 !important; font-size: 12px !important; line-height: 1.15 !important; }
dialog.monthly-profit-dialog .monthly-profit-detail-title p { margin: 3px 0 0 !important; color: #718096 !important; font-size: 10px !important; line-height: 1.2 !important; }

dialog.monthly-profit-dialog .monthly-profit-detail-list { max-height: 300px !important; overflow: auto !important; }

dialog.monthly-profit-dialog .monthly-profit-line-item {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 8px !important;
    min-width: 0 !important;
    padding: 10px !important;
    border-bottom: 1px solid #edf1f1 !important;
}

dialog.monthly-profit-dialog .monthly-profit-line-item:last-child { border-bottom: 0 !important; }
dialog.monthly-profit-dialog .monthly-profit-line-item > div { display: grid !important; min-width: 0 !important; gap: 3px !important; }
dialog.monthly-profit-dialog .monthly-profit-line-item strong { overflow: hidden !important; color: #243248 !important; font-size: 11px !important; line-height: 1.2 !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
dialog.monthly-profit-dialog .monthly-profit-line-item span { overflow: hidden !important; color: #718096 !important; font-size: 10px !important; line-height: 1.25 !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
dialog.monthly-profit-dialog .monthly-profit-line-item b { flex: 0 0 auto !important; color: #087f76 !important; font-size: 11px !important; line-height: 1.2 !important; white-space: nowrap !important; }
dialog.monthly-profit-dialog .monthly-profit-line-item b.monthly-profit-cost { color: #b56d12 !important; }

dialog.monthly-profit-dialog .monthly-profit-empty {
    display: grid !important;
    min-height: 96px !important;
    place-content: center !important;
    gap: 7px !important;
    padding: 14px !important;
    color: #7a8798 !important;
    text-align: center !important;
    font-size: 11px !important;
}

dialog.monthly-profit-dialog .monthly-profit-empty i { color: #9aafac !important; font-size: 18px !important; }

dialog.monthly-profit-dialog .monthly-profit-dialog-actions {
    display: flex !important;
    justify-content: flex-end !important;
    padding: 12px 20px !important;
    border-top: 1px solid #e7eeee !important;
    background: #fbfdfd !important;
}

dialog.monthly-profit-dialog .monthly-profit-dialog-actions .btn { min-height: 33px !important; height: 33px !important; padding: 6px 12px !important; border-radius: 10px !important; font-size: 11px !important; }

@media (max-width: 980px) {
    body .admin-main .monthly-profit-summary { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    dialog.monthly-profit-dialog .monthly-profit-detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width: 680px) {
    body .admin-main .monthly-profit-page { padding: 16px !important; }
    body .admin-main .monthly-profit-head { align-items: stretch !important; flex-direction: column !important; }
    body .admin-main .monthly-profit-filter { width: 100% !important; min-width: 0 !important; }
    body .admin-main .monthly-profit-summary { grid-template-columns: 1fr !important; }
    body .admin-main .monthly-profit-metric { min-height: 76px !important; }
    body .admin-main .monthly-profit-footer { align-items: stretch !important; flex-direction: column !important; }
    body .admin-main .monthly-profit-footer .btn { width: 100% !important; }
    dialog.monthly-profit-dialog { width: calc(100vw - 20px) !important; max-height: calc(100vh - 20px) !important; border-radius: 15px !important; }
    dialog.monthly-profit-dialog .monthly-profit-dialog-head,
    dialog.monthly-profit-dialog .monthly-profit-dialog-summary,
    dialog.monthly-profit-dialog .monthly-profit-detail-grid { padding-right: 14px !important; padding-left: 14px !important; }
    dialog.monthly-profit-dialog .monthly-profit-dialog-summary,
    dialog.monthly-profit-dialog .monthly-profit-detail-grid { grid-template-columns: 1fr !important; }
    dialog.monthly-profit-dialog .monthly-profit-detail-grid { max-height: calc(100vh - 300px) !important; }
}

/* Keep the Super Admin notification trigger as a natural, compact bell. */
body .super-admin-topbar .super-admin-notification-wrap {
    display: inline-flex !important;
    align-items: center !important;
    position: relative !important;
}

body .super-admin-topbar .super-admin-bell {
    position: relative !important;
    width: 34px !important;
    min-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    display: inline-grid !important;
    place-items: center !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #4b5563 !important;
    cursor: pointer !important;
    transition: background-color .18s ease, color .18s ease !important;
}

body .super-admin-topbar .super-admin-bell:hover,
body .super-admin-topbar .super-admin-bell.active {
    background: rgba(15, 118, 110, .08) !important;
    color: #087f76 !important;
    transform: none !important;
}

body .super-admin-topbar .super-admin-bell > i.bi-bell {
    display: block !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    color: currentColor !important;
    -webkit-text-fill-color: currentColor !important;
    font-size: 19px !important;
    line-height: 1 !important;
}

body .super-admin-topbar .super-admin-bell > .super-admin-bell-count {
    position: absolute !important;
    top: 1px !important;
    right: 1px !important;
    min-width: 14px !important;
    height: 14px !important;
    padding: 0 3px !important;
    display: inline-grid !important;
    place-items: center !important;
    border: 1.5px solid #fff !important;
    border-radius: 999px !important;
    background: #dc2626 !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    font-size: 8px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}

/* Final priority layer: keep operational screens compact despite legacy global styles. */
body .admin-main .trainer-profile-hero {
    padding: 20px !important;
}

body .admin-main .trainer-profile-hero > .trainer-profile-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 18px !important;
    margin: 0 0 16px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body .admin-main .trainer-profile-head > div:first-child {
    display: grid !important;
    grid-template-columns: 72px minmax(0, 1fr) !important;
    grid-template-areas: "avatar kicker" "avatar title" "avatar summary" !important;
    column-gap: 14px !important;
    row-gap: 3px !important;
    align-items: center !important;
}

body .admin-main .trainer-profile-head .avatar-xl {
    grid-area: avatar !important;
    width: 72px !important;
    height: 72px !important;
    margin: 0 !important;
    border-width: 2px !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, .09) !important;
}

body .admin-main .trainer-profile-head .kicker {
    grid-area: kicker !important;
    width: fit-content !important;
    min-height: 22px !important;
    margin: 0 !important;
    padding: 4px 9px !important;
    font-size: 9px !important;
    line-height: 1 !important;
}

body .admin-main .trainer-profile-head h2 {
    grid-area: title !important;
    margin: 0 !important;
    font-size: clamp(23px, 2vw, 30px) !important;
    line-height: 1.08 !important;
}

body .admin-main .trainer-profile-head p {
    grid-area: summary !important;
    margin: 0 !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
}

body .admin-main .trainer-profile-head .inline-actions {
    gap: 8px !important;
    justify-content: flex-end !important;
}

body .admin-main .trainer-profile-head .inline-actions .btn {
    min-height: 36px !important;
    height: 36px !important;
    padding: 7px 11px !important;
    border-radius: 10px !important;
    font-size: 12px !important;
    white-space: nowrap !important;
}

body .admin-main .trainer-profile-hero .detail-grid {
    gap: 10px !important;
}

body .admin-main .trainer-profile-hero .detail-grid > div {
    min-height: 70px !important;
    padding: 10px 12px !important;
    border-radius: 14px !important;
}

body .admin-main .trainer-profile-hero .detail-grid span {
    font-size: 11px !important;
    line-height: 1.2 !important;
}

body .admin-main .trainer-profile-hero .detail-grid strong {
    margin-top: 5px !important;
    font-size: clamp(15px, 1.3vw, 19px) !important;
    line-height: 1.15 !important;
}

body .admin-main .trainer-assigned-members-head > .pill,
body .admin-main .admin-kpi-grid .kpi-meta {
    display: inline-flex !important;
    width: fit-content !important;
    min-width: 0 !important;
    min-height: 24px !important;
    margin: 0 !important;
    padding: 4px 9px !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid rgba(15, 118, 110, .13) !important;
    border-radius: 999px !important;
    background: rgba(15, 118, 110, .06) !important;
    color: #087f76 !important;
    font-size: 10px !important;
    font-weight: 750 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

body .member-package-picker-trigger {
    display: grid !important;
    width: 100% !important;
    min-height: 42px !important;
    grid-template-columns: 28px minmax(0, 1fr) !important;
    gap: 8px !important;
    padding: 6px 10px !important;
    border-radius: 11px !important;
    font-size: 13px !important;
    line-height: 1.15 !important;
}

body .member-package-trigger-icon {
    width: 28px !important;
    height: 28px !important;
    border-radius: 8px !important;
    font-size: 14px !important;
}

body .member-package-trigger-label {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    line-height: 1.15 !important;
}

body .payment-record-form .member-package-picker-trigger,
body .invoice-create-form .member-package-picker-trigger {
    min-height: 42px !important;
}

body .payment-record-form .payment-record-submit {
    width: fit-content !important;
    min-width: 138px !important;
    min-height: 42px !important;
    height: 42px !important;
    justify-self: start !important;
    align-self: end !important;
    margin: 0 !important;
    padding: 0 14px !important;
    border-radius: 11px !important;
    font-size: 12px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

body .admin-main .admin-attendance-overview {
    padding: 18px !important;
}

body .admin-main .admin-attendance-overview > .section-head {
    display: flex !important;
    align-items: center !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body .admin-main .admin-attendance-overview > .section-head .kicker {
    min-height: 22px !important;
    margin: 0 0 6px !important;
    padding: 4px 9px !important;
    font-size: 9px !important;
    line-height: 1 !important;
}

body .admin-main .admin-attendance-overview > .section-head h2 {
    margin: 0 !important;
    font-size: clamp(22px, 1.9vw, 28px) !important;
    line-height: 1.1 !important;
}

body .admin-main .admin-attendance-overview > .section-head p {
    margin: 5px 0 0 !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
}

body .admin-main .admin-attendance-overview > .section-head .btn {
    min-height: 34px !important;
    height: 34px !important;
    padding: 6px 10px !important;
    border-radius: 10px !important;
    font-size: 11px !important;
}

body .admin-main .admin-attendance-overview > .stat-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin: 0 !important;
}

body .admin-main .admin-attendance-overview > .stat-grid .dash-card {
    min-height: 88px !important;
    padding: 12px !important;
    border-radius: 14px !important;
}

body .admin-main .admin-attendance-overview > .stat-grid .dash-card .muted {
    font-size: 12px !important;
    line-height: 1.2 !important;
}

body .admin-main .admin-attendance-overview > .stat-grid .dash-card h3 {
    margin: 7px 0 0 !important;
    font-size: clamp(25px, 2vw, 32px) !important;
    line-height: 1 !important;
}

@media (max-width: 900px) {
    body .admin-main .trainer-profile-hero > .trainer-profile-head {
        grid-template-columns: 1fr !important;
        align-items: start !important;
    }

    body .admin-main .trainer-profile-head .inline-actions {
        justify-content: flex-start !important;
    }

    body .admin-main .admin-attendance-overview > .stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 620px) {
    body .admin-main .trainer-profile-hero,
    body .admin-main .admin-attendance-overview {
        padding: 16px !important;
    }

    body .admin-main .trainer-profile-head > div:first-child {
        grid-template-columns: 58px minmax(0, 1fr) !important;
        column-gap: 11px !important;
    }

    body .admin-main .trainer-profile-head .avatar-xl {
        width: 58px !important;
        height: 58px !important;
    }

    body .admin-main .trainer-profile-head .inline-actions .btn {
        flex: 1 1 auto !important;
    }

    body .admin-main .trainer-profile-hero .detail-grid,
    body .admin-main .admin-attendance-overview > .stat-grid {
        grid-template-columns: 1fr 1fr !important;
    }

    body .admin-main .admin-attendance-overview > .section-head {
        align-items: flex-start !important;
        flex-direction: column !important;
        gap: 10px !important;
    }

    body .payment-record-form .payment-record-submit {
        width: 100% !important;
    }
}

/* Latest compact operational-screen refinement: intentionally last to override legacy dashboard layers. */
body .admin-main .trainer-profile-hero {
    padding: 20px !important;
}

body .admin-main .trainer-profile-hero > .trainer-profile-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 18px !important;
    margin: 0 0 16px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body .admin-main .trainer-profile-head > div:first-child {
    display: grid !important;
    grid-template-columns: 72px minmax(0, 1fr) !important;
    grid-template-areas: "avatar kicker" "avatar title" "avatar summary" !important;
    column-gap: 14px !important;
    row-gap: 3px !important;
    align-items: center !important;
}

body .admin-main .trainer-profile-head .avatar-xl {
    grid-area: avatar !important;
    width: 72px !important;
    height: 72px !important;
    margin: 0 !important;
    border-width: 2px !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, .09) !important;
}

body .admin-main .trainer-profile-head .kicker {
    grid-area: kicker !important;
    width: fit-content !important;
    min-height: 22px !important;
    margin: 0 !important;
    padding: 4px 9px !important;
    font-size: 9px !important;
    line-height: 1 !important;
}

body .admin-main .trainer-profile-head h2 {
    grid-area: title !important;
    margin: 0 !important;
    font-size: clamp(23px, 2vw, 30px) !important;
    line-height: 1.08 !important;
}

body .admin-main .trainer-profile-head p {
    grid-area: summary !important;
    margin: 0 !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
}

body .admin-main .trainer-profile-head .inline-actions {
    gap: 8px !important;
    justify-content: flex-end !important;
}

body .admin-main .trainer-profile-head .inline-actions .btn {
    min-height: 36px !important;
    height: 36px !important;
    padding: 7px 11px !important;
    border-radius: 10px !important;
    font-size: 12px !important;
    white-space: nowrap !important;
}

body .admin-main .trainer-profile-hero .detail-grid {
    gap: 10px !important;
}

body .admin-main .trainer-profile-hero .detail-grid > div {
    min-height: 70px !important;
    padding: 10px 12px !important;
    border-radius: 14px !important;
}

body .admin-main .trainer-profile-hero .detail-grid span {
    font-size: 11px !important;
    line-height: 1.2 !important;
}

body .admin-main .trainer-profile-hero .detail-grid strong {
    margin-top: 5px !important;
    font-size: clamp(15px, 1.3vw, 19px) !important;
    line-height: 1.15 !important;
}

body .admin-main .trainer-assigned-members-head > .pill,
body .admin-main .admin-kpi-grid .kpi-meta {
    display: inline-flex !important;
    width: fit-content !important;
    min-width: 0 !important;
    min-height: 24px !important;
    margin: 0 !important;
    padding: 4px 9px !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid rgba(15, 118, 110, .13) !important;
    border-radius: 999px !important;
    background: rgba(15, 118, 110, .06) !important;
    color: #087f76 !important;
    font-size: 10px !important;
    font-weight: 750 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

.member-package-picker-trigger {
    min-height: 42px !important;
    grid-template-columns: 28px minmax(0, 1fr) !important;
    gap: 8px !important;
    padding: 6px 10px !important;
    border-radius: 11px !important;
    font-size: 13px !important;
    line-height: 1.15 !important;
}

.member-package-trigger-icon {
    width: 28px !important;
    height: 28px !important;
    border-radius: 8px !important;
    font-size: 14px !important;
}

.member-package-trigger-label {
    min-width: 0 !important;
    line-height: 1.15 !important;
}

.payment-record-form .member-package-picker-trigger,
.invoice-create-form .member-package-picker-trigger {
    min-height: 42px !important;
}

.payment-record-form .payment-record-submit {
    width: fit-content !important;
    min-width: 138px !important;
    min-height: 42px !important;
    height: 42px !important;
    justify-self: start !important;
    align-self: end !important;
    margin: 0 !important;
    padding: 0 14px !important;
    border-radius: 11px !important;
    font-size: 12px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

body .admin-main .admin-attendance-overview {
    padding: 18px !important;
}

body .admin-main .admin-attendance-overview > .section-head {
    display: flex !important;
    align-items: center !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body .admin-main .admin-attendance-overview > .section-head .kicker {
    min-height: 22px !important;
    margin: 0 0 6px !important;
    padding: 4px 9px !important;
    font-size: 9px !important;
    line-height: 1 !important;
}

body .admin-main .admin-attendance-overview > .section-head h2 {
    margin: 0 !important;
    font-size: clamp(22px, 1.9vw, 28px) !important;
    line-height: 1.1 !important;
}

body .admin-main .admin-attendance-overview > .section-head p {
    margin: 5px 0 0 !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
}

body .admin-main .admin-attendance-overview > .section-head .btn {
    min-height: 34px !important;
    height: 34px !important;
    padding: 6px 10px !important;
    border-radius: 10px !important;
    font-size: 11px !important;
}

body .admin-main .admin-attendance-overview > .stat-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin: 0 !important;
}

body .admin-main .admin-attendance-overview > .stat-grid .dash-card {
    min-height: 88px !important;
    padding: 12px !important;
    border-radius: 14px !important;
}

body .admin-main .admin-attendance-overview > .stat-grid .dash-card .muted {
    font-size: 12px !important;
    line-height: 1.2 !important;
}

body .admin-main .admin-attendance-overview > .stat-grid .dash-card h3 {
    margin: 7px 0 0 !important;
    font-size: clamp(25px, 2vw, 32px) !important;
    line-height: 1 !important;
}

@media (max-width: 900px) {
    body .admin-main .trainer-profile-hero > .trainer-profile-head {
        grid-template-columns: 1fr !important;
        align-items: start !important;
    }

    body .admin-main .trainer-profile-head .inline-actions {
        justify-content: flex-start !important;
    }

    body .admin-main .admin-attendance-overview > .stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 620px) {
    body .admin-main .trainer-profile-hero,
    body .admin-main .admin-attendance-overview {
        padding: 16px !important;
    }

    body .admin-main .trainer-profile-head > div:first-child {
        grid-template-columns: 58px minmax(0, 1fr) !important;
        column-gap: 11px !important;
    }

    body .admin-main .trainer-profile-head .avatar-xl {
        width: 58px !important;
        height: 58px !important;
    }

    body .admin-main .trainer-profile-head .inline-actions .btn {
        flex: 1 1 auto !important;
    }

    body .admin-main .trainer-profile-hero .detail-grid,
    body .admin-main .admin-attendance-overview > .stat-grid {
        grid-template-columns: 1fr 1fr !important;
    }

    body .admin-main .admin-attendance-overview > .section-head {
        align-items: flex-start !important;
        flex-direction: column !important;
        gap: 10px !important;
    }

    .payment-record-form .payment-record-submit {
        width: 100% !important;
    }
}

/* Final compact workspace controls: scoped to admin/member operational screens. */
body .admin-main .trainer-profile-hero {
    padding: 20px !important;
}

body .admin-main .trainer-profile-hero > .trainer-profile-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 18px !important;
    margin: 0 0 16px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body .admin-main .trainer-profile-head > div:first-child {
    display: grid !important;
    grid-template-columns: 72px minmax(0, 1fr) !important;
    grid-template-areas:
        "avatar kicker"
        "avatar title"
        "avatar summary" !important;
    column-gap: 14px !important;
    row-gap: 3px !important;
    align-items: center !important;
}

body .admin-main .trainer-profile-head .avatar-xl {
    grid-area: avatar !important;
    width: 72px !important;
    height: 72px !important;
    margin: 0 !important;
    border-width: 2px !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, .09) !important;
}

body .admin-main .trainer-profile-head .kicker {
    grid-area: kicker !important;
    width: fit-content !important;
    min-height: 22px !important;
    margin: 0 !important;
    padding: 4px 9px !important;
    font-size: 9px !important;
    line-height: 1 !important;
}

body .admin-main .trainer-profile-head h2 {
    grid-area: title !important;
    margin: 0 !important;
    font-size: clamp(23px, 2vw, 30px) !important;
    line-height: 1.08 !important;
}

body .admin-main .trainer-profile-head p {
    grid-area: summary !important;
    margin: 0 !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
}

body .admin-main .trainer-profile-head .inline-actions {
    gap: 8px !important;
    justify-content: flex-end !important;
}

body .admin-main .trainer-profile-head .inline-actions .btn {
    min-height: 36px !important;
    height: 36px !important;
    padding: 7px 11px !important;
    border-radius: 10px !important;
    font-size: 12px !important;
    white-space: nowrap !important;
}

body .admin-main .trainer-profile-hero .detail-grid {
    gap: 10px !important;
}

body .admin-main .trainer-profile-hero .detail-grid > div {
    min-height: 70px !important;
    padding: 10px 12px !important;
    border-radius: 14px !important;
}

body .admin-main .trainer-profile-hero .detail-grid span {
    font-size: 11px !important;
    line-height: 1.2 !important;
}

body .admin-main .trainer-profile-hero .detail-grid strong {
    margin-top: 5px !important;
    font-size: clamp(15px, 1.3vw, 19px) !important;
    line-height: 1.15 !important;
}

/* Assigned-count status must remain a compact indicator, never a full-width bar. */
body .admin-main .trainer-assigned-members-head > .pill,
body .admin-main .admin-kpi-grid .kpi-meta {
    display: inline-flex !important;
    width: fit-content !important;
    min-width: 0 !important;
    min-height: 24px !important;
    margin: 0 !important;
    padding: 4px 9px !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid rgba(15, 118, 110, .13) !important;
    border-radius: 999px !important;
    background: rgba(15, 118, 110, .06) !important;
    color: #087f76 !important;
    font-size: 10px !important;
    font-weight: 750 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

/* A concise picker trigger keeps long member-package labels contained in admin and member workflows. */
.member-package-picker-trigger {
    min-height: 42px !important;
    grid-template-columns: 28px minmax(0, 1fr) !important;
    gap: 8px !important;
    padding: 6px 10px !important;
    border-radius: 11px !important;
    font-size: 13px !important;
    line-height: 1.15 !important;
}

.member-package-trigger-icon {
    width: 28px !important;
    height: 28px !important;
    border-radius: 8px !important;
    font-size: 14px !important;
}

.member-package-trigger-label {
    min-width: 0 !important;
    line-height: 1.15 !important;
}

.payment-record-form .member-package-picker-trigger,
.invoice-create-form .member-package-picker-trigger {
    min-height: 42px !important;
}

/* Payment submission is a compact action, rather than a stretched form column. */
.payment-record-form .payment-record-submit {
    width: fit-content !important;
    min-width: 138px !important;
    min-height: 42px !important;
    height: 42px !important;
    justify-self: start !important;
    align-self: end !important;
    margin: 0 !important;
    padding: 0 14px !important;
    border-radius: 11px !important;
    font-size: 12px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

/* Admin attendance: present the daily summary as a compact operational panel. */
body .admin-main .admin-attendance-overview {
    padding: 18px !important;
}

body .admin-main .admin-attendance-overview > .section-head {
    display: flex !important;
    align-items: center !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body .admin-main .admin-attendance-overview > .section-head .kicker {
    min-height: 22px !important;
    margin: 0 0 6px !important;
    padding: 4px 9px !important;
    font-size: 9px !important;
    line-height: 1 !important;
}

body .admin-main .admin-attendance-overview > .section-head h2 {
    margin: 0 !important;
    font-size: clamp(22px, 1.9vw, 28px) !important;
    line-height: 1.1 !important;
}

body .admin-main .admin-attendance-overview > .section-head p {
    margin: 5px 0 0 !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
}

body .admin-main .admin-attendance-overview > .section-head .btn {
    min-height: 34px !important;
    height: 34px !important;
    padding: 6px 10px !important;
    border-radius: 10px !important;
    font-size: 11px !important;
}

body .admin-main .admin-attendance-overview > .stat-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin: 0 !important;
}

body .admin-main .admin-attendance-overview > .stat-grid .dash-card {
    min-height: 88px !important;
    padding: 12px !important;
    border-radius: 14px !important;
}

body .admin-main .admin-attendance-overview > .stat-grid .dash-card .muted {
    font-size: 12px !important;
    line-height: 1.2 !important;
}

body .admin-main .admin-attendance-overview > .stat-grid .dash-card h3 {
    margin: 7px 0 0 !important;
    font-size: clamp(25px, 2vw, 32px) !important;
    line-height: 1 !important;
}

@media (max-width: 900px) {
    body .admin-main .trainer-profile-hero > .trainer-profile-head {
        grid-template-columns: 1fr !important;
        align-items: start !important;
    }

    body .admin-main .trainer-profile-head .inline-actions {
        justify-content: flex-start !important;
    }

    body .admin-main .admin-attendance-overview > .stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 620px) {
    body .admin-main .trainer-profile-hero {
        padding: 16px !important;
    }

    body .admin-main .trainer-profile-head > div:first-child {
        grid-template-columns: 58px minmax(0, 1fr) !important;
        column-gap: 11px !important;
    }

    body .admin-main .trainer-profile-head .avatar-xl {
        width: 58px !important;
        height: 58px !important;
    }

    body .admin-main .trainer-profile-head .inline-actions .btn {
        flex: 1 1 auto !important;
    }

    body .admin-main .trainer-profile-hero .detail-grid,
    body .admin-main .admin-attendance-overview > .stat-grid {
        grid-template-columns: 1fr 1fr !important;
    }

    body .admin-main .admin-attendance-overview {
        padding: 16px !important;
    }

    body .admin-main .admin-attendance-overview > .section-head {
        align-items: flex-start !important;
        flex-direction: column !important;
        gap: 10px !important;
    }

    .payment-record-form .payment-record-submit {
        width: 100% !important;
    }
}

/* Public landing page: live operations replaces the former static problems cards. */
body.public-front .saas-home .live-operations-section {
    padding: 48px 0 !important;
    background:
        radial-gradient(circle at 86% 18%, rgba(20, 184, 166, .08), transparent 28%),
        #f8faf7 !important;
}

body.public-front .saas-home .live-operations-heading {
    max-width: 620px !important;
    margin-bottom: 18px !important;
}

body.public-front .saas-home .live-operations-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 14px !important;
}

body.public-front .saas-home .live-operation-card {
    display: grid !important;
    gap: 9px !important;
    min-height: 180px !important;
    padding: 17px !important;
    border: 1px solid rgba(15, 118, 110, .14) !important;
    border-radius: 16px !important;
    background: rgba(255, 255, 255, .94) !important;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .055) !important;
}

body.public-front .saas-home .live-operation-card-top {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
}

body.public-front .saas-home .live-operation-icon {
    display: inline-grid !important;
    place-items: center !important;
    width: 32px !important;
    height: 32px !important;
    border-radius: 10px !important;
    background: #ecf8f6 !important;
    color: #087f76 !important;
    font-size: 15px !important;
}

body.public-front .saas-home .live-status,
body.public-front .saas-home .live-card-meta {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    min-height: 22px !important;
    padding: 3px 8px !important;
    border-radius: 999px !important;
    background: #f2faf6 !important;
    color: #087f76 !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: .01em !important;
    white-space: nowrap !important;
}

body.public-front .saas-home .live-status i {
    width: 6px !important;
    height: 6px !important;
    border-radius: 999px !important;
    background: #22c55e !important;
    box-shadow: 0 0 0 4px rgba(34, 197, 94, .12) !important;
    animation: fitcore-live-pulse 2.1s ease-in-out infinite !important;
}

body.public-front .saas-home .live-card-meta {
    background: #f8fafc !important;
    color: #64748b !important;
}

body.public-front .saas-home .live-operation-label {
    color: #475569 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}

body.public-front .saas-home .live-operation-value {
    display: flex !important;
    align-items: baseline !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    color: #0f172a !important;
    font-size: 28px !important;
    line-height: 1 !important;
    letter-spacing: -.035em !important;
}

body.public-front .saas-home .live-operation-value small {
    color: #64748b !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
}

body.public-front .saas-home .live-operation-progress {
    width: 100% !important;
    height: 6px !important;
    overflow: hidden !important;
    border-radius: 999px !important;
    background: #e7f0ee !important;
}

body.public-front .saas-home .live-operation-progress > span {
    display: block !important;
    width: var(--progress) !important;
    height: 100% !important;
    border-radius: inherit !important;
    background: linear-gradient(90deg, #0f766e, #2db29f) !important;
    transform-origin: left center !important;
    animation: fitcore-live-progress .8s cubic-bezier(.2, .8, .2, 1) both !important;
}

body.public-front .saas-home .live-operation-card > p {
    margin: 0 !important;
    color: #64748b !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
}

/* Keep the existing Core Modules system, with only a restrained density refinement. */
body.public-front .saas-home #features.saas-section {
    padding: 46px 0 !important;
}

body.public-front .saas-home #features .module-grid {
    gap: 12px !important;
}

body.public-front .saas-home #features .module-card {
    gap: 8px !important;
    padding: 12px !important;
}

body.public-front .saas-home #features .module-shot {
    padding: 8px !important;
}

body.public-front .saas-home #features .module-shot p {
    min-height: 24px !important;
    padding: 5px 6px !important;
}

@keyframes fitcore-live-progress {
    from { transform: scaleX(0); }
    to { transform: scaleX(1); }
}

@keyframes fitcore-live-pulse {
    50% { box-shadow: 0 0 0 6px rgba(34, 197, 94, .04); }
}

@media (max-width: 1100px) {
    body.public-front .saas-home .live-operations-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 720px) {
    body.public-front .saas-home .live-operations-section,
    body.public-front .saas-home #features.saas-section {
        padding: 36px 0 !important;
    }

    body.public-front .saas-home .live-operations-grid {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }

    body.public-front .saas-home .live-operation-card {
        min-height: 0 !important;
        padding: 15px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.public-front .saas-home .live-status i,
    body.public-front .saas-home .live-operation-progress > span {
        animation: none !important;
    }
}

/* Keep subscription status in the normal card flow so it never sits behind package fields. */
body .admin-main .membership-packages-section .admin-package-card > .subscription-badge {
    position: static !important;
    z-index: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    width: max-content !important;
    max-width: 100% !important;
    min-height: 28px !important;
    height: 28px !important;
    margin: 0 0 12px !important;
    padding: 0 10px !important;
    vertical-align: top !important;
}

body .admin-main .membership-packages-section .admin-package-card.subscribed-plan > .plan-discount-form {
    clear: both !important;
}

/* Calendar-driven custom package duration. */
body .admin-main .membership-packages-section .plan-custom-duration-field .custom-duration-date {
    width: 100% !important;
    min-width: 0 !important;
    height: 48px !important;
    min-height: 48px !important;
    box-sizing: border-box !important;
}

body .admin-main .membership-packages-section .plan-custom-duration-field .custom-duration-summary {
    display: flex !important;
    align-items: center !important;
    min-height: 32px !important;
    padding: 6px 10px !important;
    border: 1px solid #d6ebe8 !important;
    border-radius: 9px !important;
    background: #f4fbfa !important;
    color: #087f76 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
}

/* Member dashboard: subscription time remaining. */
body .admin-main.member-main #overview.member-overview-section .member-membership-status {
    width: min(348px, 100%) !important;
    min-width: 0 !important;
    display: grid !important;
    gap: 9px !important;
    justify-self: end !important;
    padding: 13px 15px !important;
    border: 1px solid #d7ebe8 !important;
    border-radius: 22px !important;
    background: linear-gradient(135deg, #ffffff 0%, #f1fbf9 100%) !important;
    box-shadow: 0 12px 26px rgba(15, 118, 110, .08) !important;
}

body .admin-main.member-main #overview.member-overview-section .member-membership-status-top {
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) auto !important;
    gap: 10px !important;
    align-items: center !important;
}

body .admin-main.member-main #overview.member-overview-section .member-membership-icon {
    display: grid !important;
    width: 42px !important;
    height: 42px !important;
    place-items: center !important;
    border-radius: 14px !important;
    color: #ffffff !important;
    background: linear-gradient(135deg, #0f766e, #169b85) !important;
    box-shadow: 0 7px 16px rgba(15, 118, 110, .18) !important;
}

body .admin-main.member-main #overview.member-overview-section .member-membership-icon i {
    font-size: 19px !important;
    line-height: 1 !important;
}

body .admin-main.member-main #overview.member-overview-section .member-membership-copy {
    min-width: 0 !important;
    display: grid !important;
    gap: 2px !important;
}

body .admin-main.member-main #overview.member-overview-section .member-membership-copy > span {
    display: block !important;
    margin: 0 !important;
    color: #087f76 !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: .045em !important;
    text-transform: uppercase !important;
}

body .admin-main.member-main #overview.member-overview-section .member-membership-copy strong {
    display: block !important;
    overflow: hidden !important;
    color: #15223a !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    line-height: 1.14 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

body .admin-main.member-main #overview.member-overview-section .member-membership-percent {
    display: grid !important;
    width: 42px !important;
    height: 42px !important;
    place-items: center !important;
    border-radius: 14px !important;
    color: #087f76 !important;
    background: #ffffff !important;
    box-shadow: inset 0 0 0 1px rgba(15, 118, 110, .08) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}

body .admin-main.member-main #overview.member-overview-section .member-membership-progress {
    width: 100% !important;
    height: 7px !important;
    overflow: hidden !important;
    border-radius: 999px !important;
    background: #dcebea !important;
}

body .admin-main.member-main #overview.member-overview-section .member-membership-progress > span {
    display: block !important;
    width: var(--membership-progress, 0%) !important;
    height: 100% !important;
    border-radius: inherit !important;
    background: linear-gradient(90deg, #0f766e, #19b675) !important;
    transition: width .65s cubic-bezier(.2, .8, .2, 1) !important;
}

body .admin-main.member-main #overview.member-overview-section .member-membership-renewal {
    display: block !important;
    color: #62728d !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
}

body .admin-main.member-main #overview.member-overview-section .member-membership-status.is-pending,
body .admin-main.member-main #overview.member-overview-section .member-membership-status.is-inactive {
    background: #fbfcfc !important;
}

body .admin-main.member-main #overview.member-overview-section .member-membership-status.is-pending .member-membership-icon {
    background: linear-gradient(135deg, #c27a12, #e9a321) !important;
    box-shadow: none !important;
}

body .admin-main.member-main #overview.member-overview-section .member-membership-status.is-inactive .member-membership-icon {
    background: linear-gradient(135deg, #667085, #8792a5) !important;
    box-shadow: none !important;
}

body .admin-main.member-main #overview.member-overview-section .member-membership-status:not(.is-active) .member-membership-progress {
    display: none !important;
}

@media (max-width: 760px) {
    body .admin-main.member-main #overview.member-overview-section .member-membership-status {
        width: 100% !important;
        justify-self: stretch !important;
    }
}

/* Member account controls: keep both actions neatly within their cards. */
body .admin-main .member-create-form > .member-create-submit {
    transform: translateY(9px) !important;
}

body.member-modal-open .member-view-modal .member-status-control,
body .admin-main .member-modal .member-status-control,
body .admin-main .member-detail-modal .member-status-control {
    min-width: 0 !important;
    grid-template-columns: minmax(96px, 110px) minmax(0, 1fr) !important;
}

body.member-modal-open .member-view-modal .member-status-control .account-status-form,
body .admin-main .member-modal .member-status-control .account-status-form,
body .admin-main .member-detail-modal .member-status-control .account-status-form {
    display: grid !important;
    width: 100% !important;
    min-width: 0 !important;
    grid-template-columns: minmax(0, 1fr) 42px !important;
    gap: 8px !important;
    align-items: center !important;
}

body.member-modal-open .member-view-modal .member-status-control .account-status-form select,
body .admin-main .member-modal .member-status-control .account-status-form select,
body .admin-main .member-detail-modal .member-status-control .account-status-form select {
    min-width: 0 !important;
    width: 100% !important;
}

body.member-modal-open .member-view-modal .member-status-control .account-status-form .btn,
body .admin-main .member-modal .member-status-control .account-status-form .btn,
body .admin-main .member-detail-modal .member-status-control .account-status-form .btn {
    box-sizing: border-box !important;
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 !important;
    flex: 0 0 42px !important;
    margin: 0 !important;
    overflow: hidden !important;
}

/* Clean, contained editors for class scheduling and member plan changes. */
.class-edit-dialog,
.member-plan-change-dialog {
    width: min(620px, calc(100vw - 32px));
    max-width: 620px;
    max-height: calc(100vh - 32px);
    margin: auto;
    padding: 0;
    overflow: auto;
    border: 1px solid #d6e9e7;
    border-radius: 20px;
    background: #ffffff;
    box-shadow: 0 24px 72px rgba(10, 33, 52, .24);
    color: #13233c;
}

.class-edit-dialog::backdrop,
.member-plan-change-dialog::backdrop {
    background: rgba(12, 26, 42, .48);
    backdrop-filter: blur(3px);
}

.class-edit-dialog-head,
.member-plan-change-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    padding: 22px 24px 18px;
    border-bottom: 1px solid #e6efef;
    background: linear-gradient(112deg, #ffffff 0%, #f1fbfa 100%);
}

.class-edit-dialog-head h3,
.member-plan-change-head h3 {
    margin: 2px 0 0;
    color: #13233c;
    font-size: 22px;
    line-height: 1.2;
}

.class-edit-dialog-head p,
.member-plan-change-head p {
    margin: 6px 0 0;
    color: #65768c;
    font-size: 13px;
    line-height: 1.45;
}

.class-edit-dialog-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 16px;
    padding: 22px 24px 24px;
}

.class-edit-dialog-form .field,
.member-plan-change-form .field {
    display: grid;
    gap: 6px;
    min-width: 0;
}

.class-edit-dialog-form .field label,
.member-plan-change-form .field label {
    color: #53647a;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.class-edit-dialog-form input,
.class-edit-dialog-form select,
.member-plan-change-form select,
.member-plan-change-form input {
    width: 100%;
    min-width: 0;
    height: 42px;
    padding: 0 12px;
    border: 1px solid #dce6e5;
    border-radius: 12px;
    color: #18273e;
    background: #ffffff;
    font-size: 14px;
}

.class-edit-dialog-actions,
.member-plan-change-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 9px;
    grid-column: 1 / -1;
    padding-top: 4px;
}

.class-edit-dialog-actions .btn,
.member-plan-change-actions .btn {
    width: auto !important;
    min-width: 104px;
    height: 38px !important;
    min-height: 38px !important;
    padding: 0 14px !important;
}

.field-help {
    color: #7b8ca1;
    font-size: 11px;
    line-height: 1.25;
}

.member-modal-panel-tools {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 8px;
}

.member-plan-change-current {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 20px 24px 0;
    padding: 14px 16px;
    border: 1px solid #d9ecea;
    border-radius: 14px;
    background: #f7fcfb;
}

.member-plan-change-current div,
.member-plan-change-summary div {
    min-width: 0;
}

.member-plan-change-current span,
.member-plan-change-summary span {
    display: block;
    margin-bottom: 4px;
    color: #63758a;
    font-size: 11px;
    font-weight: 750;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.member-plan-change-current strong,
.member-plan-change-summary strong {
    display: block;
    color: #13233c;
    font-size: 15px;
    line-height: 1.35;
}

.member-plan-change-form {
    display: grid;
    gap: 16px;
    padding: 20px 24px 24px;
}

.member-custom-extension-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    padding: 14px;
    border: 1px solid #d8ece8;
    border-radius: 14px;
    background: #f7fcfb;
}

.member-custom-extension-fields[hidden] {
    display: none;
}

/* Do not stretch the amount field to the calendar help text height. */
.member-custom-extension-fields > .field {
    align-self: start;
    align-content: start;
}

.member-custom-extension-fields .custom-extension-calendar-summary {
    display: flex;
    align-items: center;
    min-height: 34px;
    margin-top: 8px;
    padding: 7px 10px;
    border: 1px solid #d6ebe8;
    border-radius: 10px;
    background: #f4fbfa;
    color: #087f76;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.3;
}

.member-custom-extension-fields .custom-extension-calendar-help {
    display: block;
    margin-top: 7px;
    color: #718096;
    font-size: 11.5px;
    line-height: 1.35;
}

.member-plan-change-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    padding: 14px 16px;
    border-radius: 14px;
    background: #f4f8f8;
}

.member-plan-change-summary p {
    grid-column: 1 / -1;
    margin: 0;
    color: #5f7187;
    font-size: 12px;
    line-height: 1.45;
}

@media (max-width: 620px) {
    .class-edit-dialog,
    .member-plan-change-dialog {
        width: calc(100vw - 20px);
        border-radius: 16px;
    }

    .class-edit-dialog-head,
    .member-plan-change-head,
    .class-edit-dialog-form,
    .member-plan-change-form {
        padding-left: 18px;
        padding-right: 18px;
    }

    .class-edit-dialog-form,
    .member-plan-change-current,
    .member-plan-change-summary,
    .member-custom-extension-fields {
        grid-template-columns: 1fr;
    }

    .member-plan-change-current {
        margin-left: 18px;
        margin-right: 18px;
    }

    .class-edit-dialog-actions,
    .member-plan-change-actions {
        justify-content: stretch;
    }

    .class-edit-dialog-actions .btn,
    .member-plan-change-actions .btn {
        flex: 1 1 100%;
    }
}

/* Align the member-create action with the input row rather than its label. */
body .admin-main .member-create-form > .member-create-submit {
    align-self: end !important;
    justify-self: start !important;
    /* Match the top edge of the adjacent date input, not its label. */
    margin-bottom: -15px !important;
}

body .admin-main .class-create-form > .class-create-submit {
    align-self: end !important;
    justify-self: start !important;
    margin-bottom: 14px !important;
}

@media (max-width: 680px) {
    body .admin-main .member-create-form > .member-create-submit {
        margin-bottom: 0 !important;
    }

    body .admin-main .class-create-form > .class-create-submit {
        margin-bottom: 0 !important;
    }
}

#payments .payment-edit-dialog {
    width: min(650px, calc(100vw - 32px)) !important;
    max-width: 650px !important;
    max-height: min(720px, calc(100vh - 32px)) !important;
    overflow: auto !important;
    padding: 0 !important;
    border: 1px solid #d5e8e5 !important;
    border-radius: 22px !important;
    background: #fff !important;
    color: #14233a !important;
    box-shadow: 0 24px 70px rgba(10, 34, 49, .25) !important;
}

#payments .payment-edit-dialog::backdrop {
    background: rgba(8, 24, 39, .50) !important;
    backdrop-filter: blur(3px);
}

#payments .payment-edit-dialog-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 22px 58px 17px 24px;
    border-bottom: 1px solid #e6efee;
    background: linear-gradient(115deg, #ffffff 0%, #effaf8 100%);
}

#payments .payment-edit-dialog-head .kicker {
    margin-bottom: 5px;
}

#payments .payment-edit-dialog-head h3 {
    margin: 0;
    color: #13233c;
    font-size: 22px;
    line-height: 1.15;
}

#payments .payment-edit-dialog-head p {
    margin: 6px 0 0;
    color: #64758b;
    font-size: 13px;
}

#payments .payment-edit-dialog-head p span {
    color: #a4b1c0;
    padding: 0 4px;
}

#payments .payment-edit-dialog .payment-edit-form {
    width: auto !important;
    max-width: none !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
    margin: 0 !important;
    padding: 21px 24px 24px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

#payments .payment-edit-dialog .payment-edit-form .field {
    display: grid;
    min-width: 0;
    gap: 6px;
}

#payments .payment-edit-dialog .payment-edit-form .field label {
    margin: 0;
    color: #55667c;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .045em;
    text-transform: uppercase;
}

#payments .payment-edit-dialog .payment-edit-form input,
#payments .payment-edit-dialog .payment-edit-form select,
#payments .payment-edit-dialog .payment-edit-form .search-select,
#payments .payment-edit-dialog .payment-edit-form .search-select-trigger {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 46px !important;
    min-height: 46px !important;
    margin: 0 !important;
    border-radius: 11px !important;
    font-size: 13px !important;
}

#payments .payment-edit-dialog .payment-edit-form input,
#payments .payment-edit-dialog .payment-edit-form select {
    padding: 0 12px !important;
}

#payments .payment-edit-dialog .payment-edit-form .search-select-trigger {
    padding: 0 12px !important;
}

#payments .payment-edit-dialog .payment-edit-dialog-actions {
    display: flex;
    grid-column: 1 / -1;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 2px;
    padding-top: 16px;
    border-top: 1px solid #edf2f2;
}

#payments .payment-edit-dialog .payment-edit-dialog-actions .btn {
    width: auto !important;
    min-width: 112px !important;
    height: 40px !important;
    min-height: 40px !important;
    margin: 0 !important;
    padding: 8px 13px !important;
    border-radius: 10px !important;
    font-size: 13px !important;
    box-shadow: none !important;
}

@media (max-width: 620px) {
    #payments .payment-edit-dialog {
        width: calc(100vw - 20px) !important;
        border-radius: 18px !important;
    }

    #payments .payment-edit-dialog-head {
        padding: 18px 50px 14px 18px;
    }

    #payments .payment-edit-dialog-head h3 {
        font-size: 19px;
    }

    #payments .payment-edit-dialog .payment-edit-form {
        grid-template-columns: 1fr !important;
        padding: 18px !important;
        gap: 12px !important;
    }

    #payments .payment-edit-dialog .payment-edit-dialog-actions {
        justify-content: stretch;
    }

    #payments .payment-edit-dialog .payment-edit-dialog-actions .btn {
        flex: 1 1 0;
        min-width: 0 !important;
    }
}

/* Admin branding settings: logo, favicon, and profile photo stay visually separate. */
.admin-topbar .account-avatar-img {
    object-fit: cover !important;
    border-radius: 50% !important;
}

.admin-sidebar .admin-logo > .brand-mark,
.member-sidebar .admin-logo > .brand-mark,
.trainer-sidebar .admin-logo > .brand-mark {
    background: linear-gradient(135deg, #0F766E, #115E59) !important;
    padding: 0 !important;
    overflow: hidden !important;
}

.admin-sidebar .admin-logo > .brand-mark img,
.member-sidebar .admin-logo > .brand-mark img,
.trainer-sidebar .admin-logo > .brand-mark img,
.sidebar .admin-logo > .brand-mark img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    filter: none !important;
    mix-blend-mode: normal !important;
}

.settings-upload-grid {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.settings-upload-card {
    position: relative;
    display: grid;
    grid-template-columns: 84px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    min-height: 124px;
    padding: 16px;
    border: 1px solid rgba(15, 23, 42, .10);
    border-radius: 18px;
    background: rgba(255, 255, 255, .78);
    box-shadow: 0 14px 30px rgba(15, 23, 42, .06);
}

.settings-upload-preview {
    width: 84px;
    height: 84px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 1px solid rgba(15, 23, 42, .10);
    background: #F8FAFC;
}

.settings-upload-preview img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.settings-logo-preview {
    border-radius: 16px;
    padding: 0;
    background: linear-gradient(135deg, #0F766E, #115E59);
}

.settings-logo-preview img {
    object-fit: cover;
    object-position: center;
}

.settings-favicon-preview,
.settings-profile-preview {
    border-radius: 50%;
    padding: 8px;
}

.settings-profile-preview img {
    object-fit: cover;
    border-radius: inherit;
}

.settings-upload-copy {
    min-width: 0;
    display: grid;
    gap: 7px;
}

.settings-upload-copy strong {
    font-size: 15px;
    font-weight: 800;
    color: #111827;
}

.settings-upload-copy small {
    color: #64748B;
    line-height: 1.35;
}

.settings-upload-copy .btn {
    width: fit-content;
    min-height: 38px !important;
    height: 38px !important;
    padding: 0 14px !important;
    font-size: 13px !important;
}

.settings-file-input {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.settings-remove-photo {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: fit-content;
    min-height: 30px;
    padding: 0 10px;
    border: 1px solid rgba(220, 38, 38, .18);
    border-radius: 10px;
    background: rgba(254, 242, 242, .72);
    color: #DC2626;
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: .01em;
    cursor: pointer;
    user-select: none;
    box-shadow: 0 8px 18px rgba(220, 38, 38, .06);
    transition: background-color .18s ease, color .18s ease, border-color .18s ease;
}

.settings-remove-photo input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.settings-remove-photo__icon {
    width: 18px;
    height: 18px;
    display: inline-grid;
    place-items: center;
    border-radius: 6px;
    background: rgba(220, 38, 38, .10);
    color: #DC2626;
    font-size: 10px;
}

.settings-remove-photo:hover {
    background: #DC2626;
    border-color: #DC2626;
    color: #fff;
}

.settings-remove-photo:hover .settings-remove-photo__icon,
.settings-remove-photo input:checked + .settings-remove-photo__icon {
    background: rgba(255, 255, 255, .18);
    color: #fff;
}

.settings-remove-photo:has(input:checked) {
    background: #DC2626;
    border-color: #DC2626;
    color: #fff;
    box-shadow: 0 10px 22px rgba(220, 38, 38, .14);
}

.settings-remove-photo:has(input:focus-visible) {
    outline: 3px solid rgba(220, 38, 38, .16);
    outline-offset: 2px;
}

.settings-remove-photo__label::before {
    content: attr(data-default);
}

.settings-remove-photo:has(input:checked) .settings-remove-photo__label::before {
    content: attr(data-selected);
}

@media (max-width: 1100px) {
    .settings-upload-grid {
        grid-template-columns: 1fr;
    }
}

html,
body {
    height: auto !important;
    min-height: 100% !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior-y: auto !important;
}

body.sidebar-open {
    overflow-y: auto !important;
}

* {
    overscroll-behavior-y: auto !important;
}

.main,
.admin-main,
.admin-workspace,
.page-shell,
.dashboard,
.admin-shell,
.member-shell {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
}

.navbar,
.page-shell > .navbar,
.page-shell > .navbar.nav-scrolled,
body.public-front .navbar,
body.public-front .navbar.nav-scrolled {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 1200 !important;
}

.page-shell {
    padding-top: var(--fitcore-public-navbar-height) !important;
}

.page-shell > .navbar + * {
    scroll-margin-top: calc(var(--fitcore-public-navbar-height) + 16px) !important;
}

body.public-front .saas-hero-v2 {
    padding-top: 18px !important;
}

/* Public navbar logo lockup: compact mark + readable FitCore name. */
.brand.brand-platform-lockup {
    gap: 10px !important;
    align-items: center !important;
}

.brand.brand-platform-lockup > .brand-mark {
    box-sizing: border-box !important;
    width: 54px !important;
    min-width: 54px !important;
    height: 54px !important;
    padding: 5px !important;
    border-radius: 15px !important;
    overflow: hidden !important;
    background: #ffffff !important;
    border: 1px solid rgba(15, 118, 110, .14) !important;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .09) !important;
}

.brand.brand-platform-lockup > .brand-mark img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
    transform: none !important;
}

.brand.brand-platform-lockup > .brand-text {
    position: static !important;
    width: auto !important;
    height: auto !important;
    overflow: visible !important;
    clip: auto !important;
    white-space: nowrap !important;
    display: inline-flex !important;
    align-items: center !important;
    color: #0f172a !important;
    font-family: "Manrope", "Inter", sans-serif !important;
    font-size: 21px !important;
    font-weight: 950 !important;
    letter-spacing: -.035em !important;
    line-height: 1 !important;
}

body.public-front .page-shell > .navbar {
    min-height: 76px !important;
    padding: 7px 0 !important;
}

body.public-front .nav-inner {
    min-height: 60px !important;
}

body.public-front .saas-hero-v2 {
    padding-top: 14px !important;
}

/* Professional public navbar logo: use the horizontal lockup image exactly as designed. */
body.public-front .brand.brand-platform-lockup {
    gap: 0 !important;
    align-items: center !important;
}

body.public-front .brand.brand-platform-lockup > .brand-mark {
    width: 186px !important;
    min-width: 186px !important;
    height: 46px !important;
    min-height: 46px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
}

body.public-front .brand.brand-platform-lockup > .brand-mark img {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: contain !important;
    object-position: left center !important;
    transform: none !important;
}

body.public-front .brand.brand-platform-lockup > .brand-text {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
}

body.public-front .page-shell > .navbar {
    min-height: 74px !important;
    padding: 8px 0 !important;
}

body.public-front .nav-inner {
    min-height: 58px !important;
}

body.public-front .hero-command-bar {
    margin-bottom: 18px !important;
    gap: 10px !important;
}

body.public-front .hero-command-bar a {
    min-height: 58px !important;
    padding: 10px 14px !important;
    border-radius: 14px !important;
}

body.public-front .hero-command-bar i {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    border-radius: 10px !important;
    font-size: 16px !important;
}

body.public-front .hero-command-bar strong {
    font-size: 13px !important;
}

body.public-front .hero-command-bar small {
    font-size: 11px !important;
}

body.public-front .hero-grid-v2 {
    align-items: start !important;
    gap: 34px !important;
}

body.public-front .hero-message {
    padding-top: 10px !important;
}

body.public-front .hero-message h1 {
    max-width: 640px !important;
    margin: 10px 0 12px !important;
    font-size: clamp(30px, 2.55vw, 38px) !important;
    line-height: 1.16 !important;
    font-weight: 820 !important;
    letter-spacing: -0.018em !important;
}

body.public-front .hero-message p {
    max-width: 620px !important;
    font-size: 15px !important;
    line-height: 1.48 !important;
}

body.public-front .hero-message .eyebrow {
    margin-top: 0 !important;
}

body.public-front .hero-rfid-demo {
    width: min(100%, 520px) !important;
    display: grid !important;
    gap: 10px !important;
    margin-top: 8px !important;
    padding: 14px !important;
    border: 1px solid rgba(15, 118, 110, .12) !important;
    border-radius: 18px !important;
    background:
        radial-gradient(circle at 25% 18%, rgba(15, 118, 110, .10), transparent 32%),
        linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,250,247,.90)) !important;
    box-shadow: 0 16px 38px rgba(15, 23, 42, .07) !important;
}

body.public-front .hero-rfid-head,
body.public-front .hero-rfid-meta {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
}

body.public-front .hero-rfid-head span {
    display: block !important;
    color: #64748b !important;
    font-size: 10px !important;
    font-weight: 750 !important;
}

body.public-front .hero-rfid-head strong {
    display: block !important;
    color: #0f172a !important;
    font-size: 14px !important;
    line-height: 1.15 !important;
}

body.public-front .hero-rfid-head em {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 6px 9px !important;
    border-radius: 999px !important;
    background: rgba(15, 118, 110, .08) !important;
    color: var(--home-emerald) !important;
    font-size: 10px !important;
    font-style: normal !important;
    font-weight: 850 !important;
    white-space: nowrap !important;
}

body.public-front .hero-rfid-head em i {
    width: 7px !important;
    height: 7px !important;
    border-radius: 999px !important;
    background: #16a34a !important;
    box-shadow: 0 0 0 3px rgba(22, 163, 74, .12) !important;
}

body.public-front .hero-rfid-stage {
    position: relative !important;
    min-height: 128px !important;
    display: grid !important;
    place-items: center !important;
    overflow: hidden !important;
    border: 1px solid rgba(15, 118, 110, .12) !important;
    border-radius: 16px !important;
    background:
        linear-gradient(90deg, rgba(15, 118, 110, .08), transparent 26%, transparent 74%, rgba(15, 118, 110, .08)),
        #f8faf7 !important;
}

body.public-front .hero-rfid-wave {
    position: absolute !important;
    width: 130px !important;
    height: 86px !important;
    border: 1px solid rgba(15, 118, 110, .16) !important;
    border-radius: 24px !important;
    animation: heroRfidPulse 2.6s ease-in-out infinite !important;
}

body.public-front .hero-rfid-wave-two {
    width: 164px !important;
    height: 106px !important;
    opacity: .6 !important;
    animation-delay: .35s !important;
}

body.public-front .hero-rfid-scan {
    position: absolute !important;
    left: 18% !important;
    right: 18% !important;
    height: 2px !important;
    border-radius: 999px !important;
    background: linear-gradient(90deg, transparent, rgba(15, 118, 110, .88), transparent) !important;
    box-shadow: 0 0 18px rgba(15, 118, 110, .28) !important;
    animation: heroRfidScan 2.4s ease-in-out infinite !important;
}

body.public-front .hero-rfid-card {
    position: relative !important;
    z-index: 2 !important;
    width: 56px !important;
    height: 56px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 18px !important;
    background: #fff !important;
    color: var(--home-emerald) !important;
    font-size: 22px !important;
    box-shadow: 0 18px 38px rgba(15, 23, 42, .12) !important;
}

body.public-front .hero-rfid-result {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 10px !important;
    border: 1px solid rgba(15, 118, 110, .12) !important;
    border-radius: 14px !important;
    background: #fff !important;
}

body.public-front .hero-rfid-result > span {
    width: 32px !important;
    height: 32px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 50% !important;
    background: #16a34a !important;
    color: #fff !important;
    font-size: 17px !important;
}

body.public-front .hero-rfid-result strong {
    display: block !important;
    color: #0f172a !important;
    font-size: 13px !important;
    line-height: 1.15 !important;
}

body.public-front .hero-rfid-result small,
body.public-front .hero-rfid-meta {
    color: #64748b !important;
    font-size: 10px !important;
    font-weight: 750 !important;
}

body.public-front .hero-rfid-meta i,
body.public-front .hero-rfid-meta strong {
    color: var(--home-emerald) !important;
}

@keyframes heroRfidPulse {
    0%, 100% { opacity: .65; transform: scale(.96); }
    50% { opacity: 1; transform: scale(1.04); }
}

@keyframes heroRfidScan {
    0%, 100% { transform: translateY(-38px); opacity: .2; }
    45%, 55% { opacity: 1; }
    50% { transform: translateY(38px); }
}

body.public-front .product-showcase-preview .preview-main-grid {
    align-items: start !important;
}

body.public-front .product-window .dashboard-preview-real.product-showcase-preview {
    min-height: 0 !important;
}

body.public-front .product-showcase-preview > section {
    align-content: start !important;
    padding-bottom: 14px !important;
}

body.public-front .product-window .window-bar strong {
    font-size: 12px !important;
}

/* Landing hero product-preview header: premium SaaS browser bar. */
body.public-front .saas-home .hero-product-window > .window-bar {
    min-height: 70px !important;
    height: 70px !important;
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    gap: 16px !important;
    padding: 0 20px !important;
    background: linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(252, 253, 252, .96)) !important;
}

body.public-front .saas-home .hero-product-window > .window-bar .browser-dots {
    display: inline-flex !important;
    gap: 8px !important;
    align-items: center !important;
}

body.public-front .saas-home .hero-product-window > .window-bar .browser-dots span {
    width: 11px !important;
    height: 11px !important;
    border-radius: 999px !important;
    opacity: 1 !important;
    box-shadow: inset 0 -1px 0 rgba(15, 23, 42, .10) !important;
}

body.public-front .saas-home .hero-product-window > .window-bar .browser-dots span:nth-child(1) {
    background: #ff5f57 !important;
}

body.public-front .saas-home .hero-product-window > .window-bar .browser-dots span:nth-child(2) {
    background: #ffbd2e !important;
}

body.public-front .saas-home .hero-product-window > .window-bar .browser-dots span:nth-child(3) {
    background: #28c840 !important;
}

body.public-front .saas-home .hero-window-title {
    min-width: 0 !important;
    display: grid !important;
    gap: 3px !important;
    align-content: center !important;
}

body.public-front .saas-home .hero-window-title strong {
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.1 !important;
    letter-spacing: -0.01em !important;
}

body.public-front .saas-home .hero-window-title small {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 10px !important;
    color: #64748b !important;
    -webkit-text-fill-color: #64748b !important;
    font-size: 13px !important;
    font-weight: 650 !important;
    line-height: 1.2 !important;
}

body.public-front .saas-home .hero-window-title small span {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    height: 22px !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    background: rgba(34, 197, 94, .10) !important;
    color: #15803d !important;
    -webkit-text-fill-color: #15803d !important;
    font-size: 11px !important;
    font-weight: 850 !important;
}

body.public-front .saas-home .hero-window-title small span i {
    width: 6px !important;
    height: 6px !important;
    border-radius: 999px !important;
    background: #22c55e !important;
    box-shadow: 0 0 0 4px rgba(34, 197, 94, .14) !important;
}

body.public-front .saas-home .hero-window-demo {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    min-height: 34px !important;
    padding: 0 12px !important;
    border: 1px solid rgba(15, 130, 118, .24) !important;
    border-radius: 9px !important;
    background: linear-gradient(135deg, rgba(240, 253, 250, .94), rgba(255, 255, 255, .98)) !important;
    color: #0f8276 !important;
    -webkit-text-fill-color: #0f8276 !important;
    font-size: 12px !important;
    font-weight: 750 !important;
    white-space: nowrap !important;
    box-shadow: 0 8px 18px rgba(15, 118, 110, .07) !important;
}

body.public-front .saas-home .hero-window-demo i {
    font-size: 14px !important;
}

@media (max-width: 760px) {
    body.public-front .saas-home .hero-product-window > .window-bar {
        grid-template-columns: auto minmax(0, 1fr) !important;
        min-height: 64px !important;
        height: auto !important;
        padding: 12px 14px !important;
    }

    body.public-front .saas-home .hero-window-demo {
        display: none !important;
    }

    body.public-front .saas-home .hero-window-title strong {
        font-size: 14px !important;
    }

    body.public-front .saas-home .hero-window-title small {
        font-size: 11px !important;
        gap: 6px !important;
    }
}

body.public-front .product-showcase-preview .preview-showcase-topbar small {
    font-size: 10px !important;
}

body.public-front .product-showcase-preview .preview-showcase-topbar strong {
    font-size: 15px !important;
}

body.public-front .product-showcase-preview .preview-date-pill {
    padding: 5px 9px !important;
    font-size: 10px !important;
}

body.public-front .product-showcase-preview .preview-top small {
    font-size: 10px !important;
    line-height: 1.2 !important;
}

body.public-front .product-showcase-preview .preview-top strong {
    font-size: 15px !important;
    line-height: 1.1 !important;
}

body.public-front .product-showcase-preview .preview-top em {
    font-size: 9px !important;
    line-height: 1.35 !important;
}

body.public-front .product-showcase-preview .preview-card-head strong {
    font-size: 13px !important;
    line-height: 1.15 !important;
}

body.public-front .product-showcase-preview .preview-card-head span {
    font-size: 10px !important;
}

body.public-front .product-showcase-preview .preview-list-card {
    align-self: start !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 10px !important;
}

body.public-front .product-showcase-preview .preview-list-card .preview-card-head {
    margin-bottom: 8px !important;
}

body.public-front .product-showcase-preview .preview-list-card p {
    margin: 6px 0 !important;
    font-size: 10px !important;
    line-height: 1.25 !important;
}

body.public-front .product-showcase-preview .preview-list-card p b,
body.public-front .product-showcase-preview .preview-list-card p em,
body.public-front .product-showcase-preview .preview-progress-row,
body.public-front .product-showcase-preview .member-growth-row {
    font-size: 10px !important;
    line-height: 1.25 !important;
}

body.public-front .product-showcase-preview .preview-list-card.preview-calendar-card {
    background: #fff !important;
}

body.public-front .saas-home .metric-band {
    padding: 30px 0 !important;
}

body.public-front .saas-home .metrics-grid {
    gap: 10px !important;
}

body.public-front .saas-home .metrics-grid div {
    padding: 14px 16px !important;
    border-radius: 12px !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, .04) !important;
}

body.public-front .saas-home .metrics-grid strong {
    margin-bottom: 5px !important;
    font-size: 24px !important;
    line-height: 1 !important;
}

body.public-front .saas-home .metrics-grid span {
    font-size: 12px !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
}

.admin-topbar {
    flex-shrink: 0 !important;
}

.table-wrap {
    overflow-x: auto !important;
    overflow-y: visible !important;
    overscroll-behavior: auto !important;
    touch-action: pan-x pan-y !important;
}

.admin-sidebar,
.member-sidebar,
.sidebar {
    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior: auto !important;
}

.admin-main *,
.main *,
.page-shell *,
.dashboard * {
    overscroll-behavior-y: auto !important;
}

.admin-main canvas,
.main canvas,
.chart-card,
.chart-panel,
.stat-card,
.metric-card,
.admin-card,
.dashboard-card,
.panel,
.glass-card {
    touch-action: pan-y !important;
}

.chart-card,
.chart-panel,
.stat-card,
.metric-card,
.admin-card,
.dashboard-card,
.panel,
.glass-card {
    overflow-y: visible !important;
}

.search-select-list,
.profile-menu,
.profile-dropdown,
.confirm-modal,
dialog {
    overscroll-behavior: contain !important;
}

input[type="number"] {
    appearance: textfield !important;
    -moz-appearance: textfield !important;
}

input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    appearance: none !important;
    margin: 0 !important;
}

.admin-alert-icon {
    position: relative !important;
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    display: inline-grid !important;
    place-items: center !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: transparent !important;
    color: #4B5563 !important;
    -webkit-text-fill-color: #4B5563 !important;
    text-decoration: none !important;
    box-shadow: none !important;
    transition: background-color .18s ease, border-color .18s ease, color .18s ease !important;
}

.admin-alert-icon:hover {
    background: transparent !important;
    border-color: transparent !important;
    color: #0F766E !important;
    -webkit-text-fill-color: #0F766E !important;
}

.admin-alert-icon i {
    font-size: 22px !important;
    line-height: 1 !important;
    transform: rotate(-18deg) !important;
    transform-origin: center !important;
}

.admin-alert-icon span {
    position: absolute !important;
    top: -4px !important;
    right: -5px !important;
    min-width: 18px !important;
    height: 18px !important;
    padding: 0 5px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 2px solid #FFFFFF !important;
    border-radius: 999px !important;
    background: #DC2626 !important;
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}

.admin-alert-popover-wrap {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
}

.admin-alert-popover {
    position: absolute !important;
    top: calc(100% + 14px) !important;
    right: -8px !important;
    width: min(360px, calc(100vw - 28px)) !important;
    overflow: hidden !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 18px !important;
    background: #FFFFFF !important;
    box-shadow: 0 24px 60px rgba(15, 23, 42, .16) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(-6px) !important;
    transition: opacity .18s ease, visibility .18s ease, transform .18s ease !important;
    z-index: 1600 !important;
}

.admin-alert-popover.open {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
}

.admin-alert-popover-head {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 16px 18px !important;
    border-bottom: 1px solid #E5E7EB !important;
}

.admin-alert-popover-head strong {
    color: #111827 !important;
    font-size: 15px !important;
    font-weight: 800 !important;
}

.admin-alert-popover-head small {
    color: #0F766E !important;
    font-size: 12px !important;
    font-weight: 700 !important;
}

.admin-alert-list {
    max-height: 330px !important;
    overflow-y: auto !important;
    padding: 8px !important;
}

.admin-alert-item {
    display: grid !important;
    grid-template-columns: 36px 1fr !important;
    gap: 10px !important;
    align-items: center !important;
    padding: 10px !important;
    border-radius: 14px !important;
    color: #111827 !important;
    text-decoration: none !important;
    transition: background-color .18s ease, color .18s ease !important;
}

.admin-alert-item:hover {
    background: #F4FAF8 !important;
}

.admin-alert-item > span {
    width: 36px !important;
    height: 36px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 12px !important;
    background: #EAF4F1 !important;
    color: #0F766E !important;
}

.admin-alert-item strong {
    display: block !important;
    color: #111827 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
}

.admin-alert-item small {
    display: block !important;
    margin-top: 3px !important;
    color: #6B7280 !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
}

.admin-alert-empty {
    display: grid !important;
    place-items: center !important;
    gap: 8px !important;
    min-height: 118px !important;
    color: #6B7280 !important;
    font-size: 13px !important;
}

.admin-alert-empty i {
    color: #16A34A !important;
    font-size: 24px !important;
}

.admin-alert-center-link {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    padding: 14px 18px !important;
    border-top: 1px solid #E5E7EB !important;
    color: #0F766E !important;
    text-decoration: none !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    transition: background-color .18s ease, color .18s ease !important;
}

.admin-alert-center-link:hover {
    background: #F4FAF8 !important;
    color: #115E59 !important;
}

/* Final form comfort layer: prevent cramped controls/buttons inside cards. */
.card > .form-grid,
.admin-card > .form-grid,
.dashboard-card > .form-grid,
.panel > .form-grid,
.glass-card > .form-grid,
.admin-main section > .form-grid,
.main section > .form-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)) !important;
    gap: 18px 20px !important;
    align-items: stretch !important;
    margin: 16px 0 24px !important;
}

.card > .form-grid input,
.card > .form-grid select,
.card > .form-grid textarea,
.card > .form-grid .search-select-trigger,
.admin-card > .form-grid input,
.admin-card > .form-grid select,
.admin-card > .form-grid textarea,
.admin-card > .form-grid .search-select-trigger,
.dashboard-card > .form-grid input,
.dashboard-card > .form-grid select,
.dashboard-card > .form-grid textarea,
.dashboard-card > .form-grid .search-select-trigger,
.panel > .form-grid input,
.panel > .form-grid select,
.panel > .form-grid textarea,
.panel > .form-grid .search-select-trigger,
.glass-card > .form-grid input,
.glass-card > .form-grid select,
.glass-card > .form-grid textarea,
.glass-card > .form-grid .search-select-trigger {
    min-height: 54px !important;
}

.card > .form-grid .btn,
.admin-card > .form-grid .btn,
.dashboard-card > .form-grid .btn,
.panel > .form-grid .btn,
.glass-card > .form-grid .btn,
.admin-main section > .form-grid .btn,
.main section > .form-grid .btn {
    width: auto !important;
    min-width: 160px !important;
    max-width: 220px !important;
    min-height: 46px !important;
    padding: 10px 18px !important;
    justify-self: start !important;
    align-self: center !important;
    white-space: nowrap !important;
}

.card > .table-wrap,
.admin-card > .table-wrap,
.dashboard-card > .table-wrap,
.panel > .table-wrap,
.glass-card > .table-wrap {
    margin-top: 10px !important;
}

.table-wrap td .form-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr)) !important;
    gap: 10px !important;
    margin: 0 !important;
    align-items: center !important;
}

.table-wrap td .form-grid input,
.table-wrap td .form-grid select,
.table-wrap td .form-grid .search-select-trigger,
.table-wrap td .form-grid .btn {
    min-height: 44px !important;
}

.compact-chart-card {
    min-height: 220px !important;
    max-height: 250px !important;
    padding: 16px 18px !important;
    display: flex !important;
    flex-direction: column !important;
}

.compact-chart-card h3 {
    margin-bottom: 8px !important;
    font-size: 18px !important;
    line-height: 1.15 !important;
}

.compact-chart-card canvas {
    width: 100% !important;
    height: 160px !important;
    max-height: 160px !important;
}

.compact-admin-table-card {
    padding: 22px 26px !important;
    margin-bottom: 20px !important;
}

.compact-admin-table-card .section-head {
    margin-bottom: 14px !important;
}

.compact-admin-table-card .section-head h3 {
    font-size: 24px !important;
    line-height: 1.2 !important;
    margin-top: 6px !important;
}

.compact-admin-table-card .section-head p {
    font-size: 15px !important;
    margin-top: 4px !important;
}

.compact-admin-table-card .kicker {
    font-size: 12px !important;
    padding: 8px 14px !important;
}

.compact-admin-table-card .table-wrap {
    margin-top: 10px !important;
}

.compact-admin-table-card table th,
.compact-admin-table-card table td {
    padding-top: 14px !important;
    padding-bottom: 14px !important;
}

.compact-admin-table-card .empty {
    min-height: 58px !important;
    padding: 18px 20px !important;
    display: grid !important;
    place-items: center !important;
}

.admin-alerts-section {
    padding: 16px 18px !important;
}

.admin-alerts-section .section-head {
    margin-bottom: 10px !important;
}

.admin-alerts-section .kicker {
    min-height: 26px !important;
    padding: 4px 11px !important;
    font-size: 9px !important;
}

.admin-alerts-section .section-head h3 {
    font-size: clamp(20px, 1.6vw, 28px) !important;
    line-height: 1.08 !important;
    margin: 6px 0 4px !important;
}

.admin-alerts-section .section-head p {
    max-width: 680px !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    margin: 0 !important;
}

.admin-alerts-section > .stat-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 12px !important;
}

.admin-alerts-section > .stat-grid .dash-card {
    min-height: 104px !important;
    padding: 13px 15px !important;
    gap: 6px !important;
}

.admin-alerts-section > .stat-grid .dash-card > .muted:first-child {
    font-size: 12px !important;
    line-height: 1.2 !important;
    gap: 7px !important;
}

.admin-alerts-section > .stat-grid .dash-card > .muted:first-child i {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    font-size: 13px !important;
}

.admin-alerts-section > .stat-grid .dash-card h3 {
    font-size: clamp(24px, 2vw, 34px) !important;
    line-height: 1 !important;
    margin: 2px 0 0 !important;
}

.admin-alerts-section > .stat-grid .dash-card p {
    min-height: 16px !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
    margin: 0 !important;
}

.admin-alerts-section .table-wrap {
    margin-top: 10px !important;
    padding: 10px 12px !important;
}

.admin-alerts-section table th,
.admin-alerts-section table td {
    padding-top: 9px !important;
    padding-bottom: 9px !important;
}

.admin-alerts-section table th {
    font-size: 12px !important;
}

.admin-alerts-section .empty-state {
    min-height: 54px !important;
    padding: 12px 16px !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
}

.admin-expiry-section {
    padding: 16px 18px !important;
}

.admin-expiry-section .section-head {
    margin-bottom: 10px !important;
}

.admin-expiry-section .kicker {
    min-height: 26px !important;
    padding: 4px 11px !important;
    font-size: 9px !important;
}

.admin-expiry-section .section-head h3 {
    font-size: clamp(20px, 1.6vw, 28px) !important;
    line-height: 1.08 !important;
    margin: 6px 0 4px !important;
}

.admin-expiry-section .section-head p {
    max-width: 620px !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    margin: 0 !important;
}

.admin-expiry-section .table-wrap {
    margin-top: 10px !important;
    padding: 10px 12px !important;
}

.admin-expiry-section table th,
.admin-expiry-section table td {
    padding-top: 9px !important;
    padding-bottom: 9px !important;
}

.admin-expiry-section table th {
    font-size: 12px !important;
}

.admin-expiry-section .empty-state {
    min-height: 54px !important;
    padding: 12px 16px !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
}

@media (max-width: 1200px) {
    .admin-alerts-section > .stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 560px) {
    .admin-alerts-section > .stat-grid {
        grid-template-columns: 1fr !important;
    }
}

#finance.tab-section.card {
    padding: 16px 18px !important;
}

#finance .section-head {
    margin-bottom: 10px !important;
}

#finance .section-head h3 {
    font-size: 18px !important;
    line-height: 1.15 !important;
    margin-top: 4px !important;
}

#finance .kicker {
    font-size: 10px !important;
    padding: 5px 11px !important;
}

#finance .stat-grid {
    gap: 10px !important;
    grid-template-columns: repeat(auto-fit, minmax(170px, 210px)) !important;
    justify-content: start !important;
    margin-bottom: 12px !important;
}

#finance .dash-card {
    min-height: 76px !important;
    max-width: 210px !important;
    padding: 10px 12px !important;
    border-radius: 14px !important;
}

#finance .dash-card h3 {
    font-size: clamp(18px, 1.55vw, 24px) !important;
    line-height: 1.02 !important;
    margin-top: 7px !important;
}

#finance .dash-card .muted {
    font-size: 11px !important;
    line-height: 1.2 !important;
}

#finance .form-grid {
    gap: 10px !important;
    margin-top: 4px !important;
    margin-bottom: 12px !important;
}

#finance .form-grid input,
#finance .form-grid textarea {
    height: 36px !important;
    min-height: 36px !important;
    padding: 10px 12px !important;
    font-size: 13px !important;
}

#finance .form-grid textarea {
    min-height: 42px !important;
}

#finance .form-grid .btn {
    min-height: 40px !important;
    padding: 9px 14px !important;
    font-size: 12px !important;
}

.payments-table {
    min-width: 1120px !important;
}

.payments-table th,
.payments-table td {
    vertical-align: middle !important;
}

.payment-edit-form {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(112px, 1fr)) !important;
    gap: 8px !important;
    align-items: center !important;
    min-width: 270px !important;
    max-width: 340px !important;
}

.payment-edit-form input,
.payment-edit-form select {
    width: 100% !important;
    height: 38px !important;
    min-height: 38px !important;
    padding: 0 12px !important;
    border-radius: 12px !important;
    font-size: 13px !important;
}

.payment-edit-form .btn {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    min-height: 38px !important;
    height: 38px !important;
    padding: 0 14px !important;
    border-radius: 12px !important;
    font-size: 13px !important;
}

.payment-actions {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    align-items: flex-start !important;
}

.payment-actions .btn,
.payment-actions button {
    min-height: 38px !important;
    height: 38px !important;
    padding: 0 14px !important;
    border-radius: 12px !important;
    font-size: 13px !important;
    white-space: nowrap !important;
}

@media (max-width: 900px) {
    .payment-edit-form {
        min-width: 240px !important;
        max-width: 280px !important;
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 640px) {
    .card > .form-grid,
    .admin-card > .form-grid,
    .dashboard-card > .form-grid,
    .panel > .form-grid,
    .glass-card > .form-grid,
    .admin-main section > .form-grid,
    .main section > .form-grid {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }

    .compact-chart-card {
        min-height: 280px !important;
        max-height: none !important;
    }

    .compact-chart-card canvas {
        height: 200px !important;
        max-height: 200px !important;
    }

    .compact-admin-table-card {
        padding: 18px !important;
    }

    #finance.tab-section.card {
        padding: 18px !important;
    }

    #finance .dash-card {
        min-height: 110px !important;
        max-width: none !important;
    }
}

@media (min-width: 901px) {
    body.sidebar-collapsed {
        --fitcore-sidebar-width: 84px;
    }

    .admin-shell,
    .member-shell {
        display: grid !important;
        grid-template-columns: var(--fitcore-sidebar-width) minmax(0, 1fr) !important;
        min-height: 100vh !important;
        width: 100% !important;
        max-width: none !important;
        overflow-x: clip !important;
    }

    .admin-sidebar,
    .member-sidebar {
        position: fixed !important;
        left: 0 !important;
        top: 0 !important;
        bottom: 0 !important;
        width: var(--fitcore-sidebar-width) !important;
        height: 100vh !important;
        min-height: 100vh !important;
        max-height: 100vh !important;
        z-index: 1300 !important;
    }

    .admin-workspace {
        grid-column: 2 !important;
        margin-left: 0 !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        min-height: 100vh !important;
    }

    .admin-topbar,
    body[data-theme="light"] .admin-topbar {
        position: fixed !important;
        top: 0 !important;
        bottom: auto !important;
        left: var(--fitcore-sidebar-width) !important;
        right: 0 !important;
        width: auto !important;
        max-width: none !important;
        height: var(--fitcore-topbar-height) !important;
        min-height: var(--fitcore-topbar-height) !important;
        max-height: var(--fitcore-topbar-height) !important;
        margin: 0 !important;
        transform: none !important;
        z-index: 1250 !important;
    }

    .admin-main {
        width: auto !important;
        max-width: none !important;
        min-width: 0 !important;
        padding-top: calc(var(--fitcore-topbar-height) + 20px) !important;
    }

    .dashboard .sidebar {
        position: fixed !important;
        left: 0 !important;
        top: 0 !important;
        bottom: 0 !important;
        height: 100vh !important;
        min-height: 100vh !important;
        max-height: 100vh !important;
        z-index: 1300 !important;
    }

    .dashboard .main {
        margin-left: 292px !important;
        width: auto !important;
        min-width: 0 !important;
    }
}

@media (max-width: 900px) {
    .admin-workspace,
    .dashboard .main {
        margin-left: 0 !important;
        width: 100% !important;
    }

    .admin-topbar,
    body[data-theme="light"] .admin-topbar {
        position: sticky !important;
        top: 0 !important;
        left: auto !important;
        right: auto !important;
        width: 100% !important;
        z-index: 1200 !important;
    }

    .admin-main {
        padding-top: 16px !important;
    }
}

.sidebar-overlay {
    pointer-events: none !important;
}

body.sidebar-open .sidebar-overlay {
    pointer-events: auto !important;
}

/* Final text containment layer: keep all copy inside its visual box. */
.admin-main *,
.member-main *,
.main *,
.page-shell *,
.front-page *,
.card *,
.dash-card *,
.table-wrap *,
.admin-topbar *,
.admin-sidebar * {
    box-sizing: border-box !important;
}

.admin-main,
.member-main,
.main,
.page-shell,
.card,
.dash-card,
.tab-section,
.section-head,
.section-head > *,
.grid-2 > *,
.stat-grid > *,
.form-grid > *,
.table-wrap,
td,
th {
    min-width: 0 !important;
}

.section-head,
.front-section-head,
.card,
.dash-card,
.member-row-profile,
.inline-actions,
.profile-menu-summary,
.admin-alert-item,
td,
th {
    overflow-wrap: anywhere !important;
    word-break: normal !important;
}

.section-head h1,
.section-head h2,
.section-head h3,
.front-section-head h1,
.front-section-head h2,
.front-section-head h3,
.card h1,
.card h2,
.card h3,
.dash-card h3,
.admin-main h1,
.admin-main h2,
.admin-main h3 {
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    text-wrap: wrap !important;
}

.admin-main .section-head h2,
.admin-main .tab-section > .section-head h2,
.admin-main .card > .section-head h2 {
    font-size: clamp(28px, 3.2vw, 44px) !important;
    line-height: 1.08 !important;
}

.section-head p,
.front-section-head p,
.card p,
.muted,
label,
small {
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
}

.kicker,
.pill,
.status-badge,
.subscription-badge {
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    line-height: 1.25 !important;
}

.btn,
button,
.search-select-trigger,
.profile-menu-button {
    max-width: 100% !important;
}

td .btn,
td button,
.inline-actions .btn,
.inline-actions button {
    white-space: normal !important;
}

.section-head > div:first-child {
    max-width: 100% !important;
}

@media (max-width: 760px) {
    .section-head,
    .front-section-head {
        display: block !important;
        width: 100% !important;
}

.admin-main .section-head h2,
.admin-main .tab-section > .section-head h2,
.admin-main .card > .section-head h2 {
        font-size: clamp(24px, 8vw, 34px) !important;
    }
}

/* Hard stop for oversized/clipped page titles. */
.admin-main .section-head,
.member-main .section-head,
.main .section-head {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
}

.admin-main .section-head > *,
.member-main .section-head > *,
.main .section-head > * {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
}

.admin-main .section-head h1,
.admin-main .section-head h2,
.admin-main .section-head h3,
.member-main .section-head h1,
.member-main .section-head h2,
.member-main .section-head h3,
.main .section-head h1,
.main .section-head h2,
.main .section-head h3 {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
}

.admin-main .section-head h2 {
    font-size: clamp(26px, 3vw, 38px) !important;
    line-height: 1.12 !important;
}

.admin-main .section-head p,
.member-main .section-head p,
.main .section-head p {
    display: block !important;
    width: 100% !important;
    max-width: 780px !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
}

/* Shared dashboard containment: content must fit its parent, not the viewport. */
.admin-shell,
.member-shell,
.dashboard,
.admin-workspace,
.member-workspace,
.dashboard .main,
.admin-main,
.member-main,
.main {
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: clip !important;
}

.admin-main > *,
.member-main > *,
.main > *,
.tab-section,
.card,
.dash-card {
    width: 100% !important;
    max-width: 100% !important;
}

.admin-main .tab-section.card,
.member-main .tab-section.card,
.main .tab-section.card {
    overflow: visible !important;
}

.table-wrap,
.payment-table-wrap {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
}

.admin-main .tab-section.card > .section-head h2,
.admin-main .tab-section.card > .section-head h3,
.admin-main .card > .section-head h2,
.admin-main .card > .section-head h3 {
    max-width: min(100%, 720px) !important;
}

/* Shared card header fix: no clipped letters in any dashboard section. */
.admin-main .tab-section.card > .section-head,
.admin-main .card > .section-head,
.member-main .tab-section.card > .section-head,
.member-main .card > .section-head,
.main .tab-section.card > .section-head,
.main .card > .section-head {
    overflow: visible !important;
    margin: 0 0 18px !important;
    padding: 18px !important;
    min-height: auto !important;
}

.admin-main .tab-section.card > .section-head h1,
.admin-main .tab-section.card > .section-head h2,
.admin-main .tab-section.card > .section-head h3,
.admin-main .card > .section-head h1,
.admin-main .card > .section-head h2,
.admin-main .card > .section-head h3,
.member-main .tab-section.card > .section-head h1,
.member-main .tab-section.card > .section-head h2,
.member-main .tab-section.card > .section-head h3,
.member-main .card > .section-head h1,
.member-main .card > .section-head h2,
.member-main .card > .section-head h3,
.main .tab-section.card > .section-head h1,
.main .tab-section.card > .section-head h2,
.main .tab-section.card > .section-head h3,
.main .card > .section-head h1,
.main .card > .section-head h2,
.main .card > .section-head h3 {
    overflow: visible !important;
    margin: 8px 0 6px !important;
    padding-bottom: .08em !important;
    font-size: clamp(24px, 2.4vw, 34px) !important;
    line-height: 1.24 !important;
    letter-spacing: -0.012em !important;
}

.admin-main .tab-section.card > .section-head p,
.admin-main .card > .section-head p,
.member-main .tab-section.card > .section-head p,
.member-main .card > .section-head p,
.main .tab-section.card > .section-head p,
.main .card > .section-head p {
    margin-top: 4px !important;
    line-height: 1.6 !important;
}

/* Shared overview/reveal header fix: prevent clipped hero-style dashboard titles. */
.admin-main .tab-section.reveal > .section-head,
.admin-main #overview > .section-head,
.admin-main > .section-head,
.member-main .tab-section.reveal > .section-head,
.main .tab-section.reveal > .section-head {
    overflow: visible !important;
    min-height: auto !important;
    padding-top: 22px !important;
    padding-bottom: 24px !important;
}

.admin-main .tab-section.reveal > .section-head h1,
.admin-main .tab-section.reveal > .section-head h2,
.admin-main .tab-section.reveal > .section-head h3,
.admin-main #overview > .section-head h1,
.admin-main #overview > .section-head h2,
.admin-main #overview > .section-head h3,
.admin-main > .section-head h1,
.admin-main > .section-head h2,
.admin-main > .section-head h3,
.member-main .tab-section.reveal > .section-head h1,
.member-main .tab-section.reveal > .section-head h2,
.member-main .tab-section.reveal > .section-head h3,
.main .tab-section.reveal > .section-head h1,
.main .tab-section.reveal > .section-head h2,
.main .tab-section.reveal > .section-head h3 {
    overflow: visible !important;
    margin: 10px 0 8px !important;
    padding-bottom: .1em !important;
    font-size: clamp(28px, 3vw, 40px) !important;
    line-height: 1.22 !important;
}

/* Select dropdowns should open downward and scroll inside the panel. */
.search-select.open-up .search-select-panel,
.search-select .search-select-panel {
    position: fixed !important;
    top: auto;
    left: auto;
    bottom: auto !important;
    transform-origin: top !important;
    z-index: 7000 !important;
}

.search-select-list {
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    max-height: min(260px, 48vh) !important;
}

.form-grid,
.form-grid > *,
.field,
.card > .form-grid,
.admin-main section > .form-grid,
.main section > .form-grid {
    overflow: visible !important;
}

.admin-main .card,
.member-main .card,
.main .card,
.admin-main .tab-section,
.member-main .tab-section,
.main .tab-section {
    overflow: visible !important;
}

.search-select {
    z-index: 1 !important;
}

.search-select.open {
    z-index: 5000 !important;
}

.search-select.open .search-select-panel {
    z-index: 7001 !important;
    display: grid !important;
}

.search-select-panel.open {
    display: grid !important;
    gap: 8px !important;
    z-index: 7001 !important;
}

/* Remove legacy decorative glow/strip overlays from cards and forms. */
.card::before,
.dash-card::before,
.front-card::before,
.pricing-card::before,
.plan-card::before,
.trainer-card::before,
.member-card::before,
.equipment-card::before,
.auth-card::before,
.table-wrap::before,
.tab-section::before,
.contact-form-balanced::before,
.form-grid::before {
    display: none !important;
    content: none !important;
    background: none !important;
    border: 0 !important;
    box-shadow: none !important;
}

.card,
.dash-card,
.front-card,
.pricing-card,
.plan-card,
.trainer-card,
.member-card,
.equipment-card,
.auth-card,
.table-wrap,
.tab-section,
.contact-form-balanced {
    background-image: none !important;
}

.admin-main .card:has(.search-select.open),
.member-main .card:has(.search-select.open),
.main .card:has(.search-select.open),
.admin-main .tab-section:has(.search-select.open),
.member-main .tab-section:has(.search-select.open),
.main .tab-section:has(.search-select.open) {
    position: relative !important;
    z-index: 120 !important;
}

/* Attendance tables need real columns, not letter-by-letter wrapping. */
.attendance-table-wrap {
    overflow-x: auto !important;
    overflow-y: visible !important;
}

.attendance-table {
    width: max-content !important;
    min-width: 1180px !important;
    table-layout: auto !important;
}

.trainer-attendance-table {
    min-width: 980px !important;
}

.member-attendance-table {
    min-width: 860px !important;
}

.attendance-table th,
.attendance-table td {
    min-width: 92px !important;
    white-space: nowrap !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    vertical-align: middle !important;
}

.daily-attendance-table th:first-child,
.daily-attendance-table td:first-child {
    min-width: 44px !important;
    width: 44px !important;
}

.attendance-table th:first-child,
.attendance-table td:first-child,
.trainer-attendance-table th:first-child,
.trainer-attendance-table td:first-child,
.member-attendance-table th:first-child,
.member-attendance-table td:first-child {
    width: auto !important;
    min-width: 120px !important;
}

.daily-attendance-table th:first-child,
.daily-attendance-table td:first-child {
    min-width: 44px !important;
    width: 44px !important;
}

.daily-attendance-table th:nth-child(2),
.daily-attendance-table td:nth-child(2),
.trainer-attendance-table th:first-child,
.trainer-attendance-table td:first-child {
    min-width: 220px !important;
}

.attendance-table th:last-child,
.attendance-table td:last-child {
    min-width: 260px !important;
}

.attendance-table .member-row-profile,
.attendance-table .member-row-profile *,
.attendance-table .inline-actions,
.attendance-table .pill,
.attendance-table .btn {
    white-space: nowrap !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
}

/* Compact Admin attendance actions: one three-dot menu instead of wide action rows. */
.compact-admin-table-card > .section-head {
    align-items: flex-end !important;
    gap: 16px !important;
}

.compact-admin-table-card > .section-head h3 {
    font-size: 24px !important;
    line-height: 1.15 !important;
}

.attendance-bulk-actions {
    display: grid !important;
    grid-template-columns: minmax(220px, 1fr) auto auto !important;
    align-items: center !important;
    gap: 10px !important;
    width: min(720px, 100%) !important;
    margin-left: auto !important;
}

.attendance-bulk-actions select {
    width: 100% !important;
    min-height: 46px !important;
    height: 46px !important;
    padding: 0 14px !important;
    border-radius: 14px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
}

.attendance-bulk-actions .pill {
    min-height: 46px !important;
    height: 46px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 9px !important;
    padding: 0 14px !important;
    border-radius: 14px !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

.attendance-bulk-actions .pill input {
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
    min-height: 16px !important;
    margin: 0 !important;
}

.attendance-bulk-actions .btn {
    min-height: 46px !important;
    height: 46px !important;
    padding: 0 20px !important;
    border-radius: 14px !important;
    font-size: 14px !important;
    white-space: nowrap !important;
}

.daily-attendance-table {
    width: 100% !important;
    min-width: 0 !important;
    table-layout: fixed !important;
}

.attendance-table-wrap:has(.daily-attendance-table) {
    overflow: visible !important;
    width: 100% !important;
    max-width: 100% !important;
}

.daily-attendance-table th,
.daily-attendance-table td {
    min-width: 0 !important;
    padding: 10px 8px !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
}

.daily-attendance-table th {
    font-size: 11px !important;
    letter-spacing: .06em !important;
}

.daily-attendance-table th:first-child,
.daily-attendance-table td:first-child {
    width: 34px !important;
    min-width: 34px !important;
    text-align: center !important;
}

.daily-attendance-table input[type="checkbox"] {
    appearance: auto !important;
    -webkit-appearance: checkbox !important;
    display: inline-block !important;
    width: 17px !important;
    min-width: 17px !important;
    max-width: 17px !important;
    height: 17px !important;
    min-height: 17px !important;
    max-height: 17px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 3px !important;
    background: transparent !important;
    box-shadow: none !important;
    accent-color: #0F8077;
    vertical-align: middle !important;
}

.daily-attendance-table th:nth-child(2),
.daily-attendance-table td:nth-child(2) {
    width: 23% !important;
}

.daily-attendance-table th:nth-child(3),
.daily-attendance-table td:nth-child(3) {
    width: 11% !important;
}

.daily-attendance-table th:nth-child(4),
.daily-attendance-table td:nth-child(4) {
    width: 12% !important;
}

.daily-attendance-table th:nth-child(5),
.daily-attendance-table td:nth-child(5) {
    width: 8% !important;
}

.daily-attendance-table th:nth-child(6),
.daily-attendance-table td:nth-child(6),
.daily-attendance-table th:nth-child(7),
.daily-attendance-table td:nth-child(7) {
    width: 7% !important;
}

.daily-attendance-table th:nth-child(8),
.daily-attendance-table td:nth-child(8) {
    width: 8% !important;
}

.daily-attendance-table th:nth-child(9),
.daily-attendance-table td:nth-child(9) {
    width: 9% !important;
}

.daily-attendance-table th:last-child,
.daily-attendance-table td:last-child {
    width: 56px !important;
    min-width: 56px !important;
    text-align: center !important;
    overflow: visible !important;
}

.daily-attendance-table .member-row-profile {
    gap: 8px !important;
}

.daily-attendance-table .member-row-profile .avatar {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
}

.daily-attendance-table .member-row-profile strong,
.daily-attendance-table .member-row-profile .muted {
    display: block !important;
    max-width: 130px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.daily-attendance-table .pill {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 28px !important;
    max-width: 100% !important;
    padding: 4px 9px !important;
    font-size: 10.5px !important;
    line-height: 1.1 !important;
    letter-spacing: .01em !important;
    white-space: nowrap !important;
}

.daily-attendance-table td:nth-child(8),
.daily-attendance-table td:nth-child(9) {
    text-align: center !important;
}

.daily-attendance-table td:nth-child(8) .pill,
.daily-attendance-table td:nth-child(9) .pill {
    width: auto !important;
    min-width: 66px !important;
}

.daily-attendance-table td:nth-child(9) .pill {
    min-width: 82px !important;
}

.attendance-action-menu {
    position: relative !important;
    display: inline-block !important;
}

.attendance-action-menu summary {
    list-style: none !important;
}

.attendance-action-menu summary::-webkit-details-marker {
    display: none !important;
}

.attendance-action-trigger {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 11px !important;
    background: #FFFFFF !important;
    color: #475569 !important;
    cursor: pointer !important;
    transition: background-color .18s ease, color .18s ease, border-color .18s ease !important;
}

.attendance-action-trigger:hover,
.attendance-action-menu[open] .attendance-action-trigger {
    background: #EAF4F1 !important;
    color: #0F766E !important;
    border-color: rgba(15, 118, 110, .22) !important;
}

.attendance-action-panel {
    position: absolute !important;
    top: calc(100% + 8px) !important;
    right: 0 !important;
    z-index: 1800 !important;
    width: 210px !important;
    padding: 8px !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 14px !important;
    background: #FFFFFF !important;
    box-shadow: 0 18px 48px rgba(15, 23, 42, .16) !important;
    text-align: left !important;
}

.attendance-action-panel-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    margin: -2px -2px 6px !important;
    padding: 4px 4px 8px !important;
    border-bottom: 1px solid #EEF2F4 !important;
}

.attendance-action-panel-head strong {
    color: #334155 !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
}

.attendance-action-panel-head button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 26px !important;
    min-width: 26px !important;
    height: 26px !important;
    min-height: 26px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: transparent !important;
    color: #64748B !important;
    cursor: pointer !important;
}

.attendance-action-panel-head button:hover {
    background: #F1F5F4 !important;
    color: #0F766E !important;
}

.attendance-action-menu.drop-up .attendance-action-panel,
.daily-attendance-table tbody tr:nth-last-child(-n+2) .attendance-action-panel {
    top: auto !important;
    bottom: calc(100% + 8px) !important;
}

.daily-attendance-table tbody tr:nth-last-child(-n+2) .attendance-action-panel {
    box-shadow: 0 -18px 48px rgba(15, 23, 42, .13) !important;
}

.attendance-action-panel form,
.attendance-action-panel a {
    margin: 0 !important;
}

.attendance-menu-button {
    width: 100% !important;
    min-height: 34px !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 8px 10px !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: transparent !important;
    color: #111827 !important;
    -webkit-text-fill-color: #111827 !important;
    font-size: 12px !important;
    font-weight: 750 !important;
    line-height: 1.15 !important;
    text-decoration: none !important;
    cursor: pointer !important;
}

.attendance-menu-button:hover {
    background: #F6F7F7 !important;
}

.attendance-menu-button.present,
.attendance-menu-button.primary {
    color: #0F766E !important;
    -webkit-text-fill-color: #0F766E !important;
}

.attendance-menu-button.absent {
    color: #DC2626 !important;
    -webkit-text-fill-color: #DC2626 !important;
}

.attendance-menu-button.late {
    color: #D97706 !important;
    -webkit-text-fill-color: #D97706 !important;
}

.attendance-menu-button.profile {
    border-top: 1px solid #E5E7EB !important;
    margin-top: 6px !important;
    padding-top: 10px !important;
}

.attendance-edit-action,
.attendance-expired-action {
    display: grid !important;
    gap: 7px !important;
    margin-bottom: 6px !important;
}

.attendance-edit-action select,
.attendance-edit-action textarea,
.attendance-expired-action select {
    width: 100% !important;
    min-height: 34px !important;
    padding: 7px 9px !important;
    border-radius: 9px !important;
    font-size: 12px !important;
}

.attendance-edit-action textarea {
    min-height: 58px !important;
    resize: vertical !important;
}

.attendance-expired-action label,
.attendance-action-note {
    display: block !important;
    padding: 7px 9px !important;
    color: #6B7280 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
}

@media (max-width: 1100px) {
    .daily-attendance-table {
        min-width: 840px !important;
    }

    .attendance-table-wrap:has(.daily-attendance-table) {
        overflow-x: auto !important;
        overflow-y: visible !important;
    }
}

@media (max-width: 900px) {
    .compact-admin-table-card > .section-head {
        align-items: stretch !important;
    }

    .attendance-bulk-actions {
        width: 100% !important;
        margin-left: 0 !important;
        grid-template-columns: 1fr auto !important;
    }

    .attendance-bulk-actions select {
        grid-column: 1 / -1 !important;
    }
}

@media (max-width: 520px) {
    .attendance-bulk-actions {
        grid-template-columns: 1fr !important;
    }

    .attendance-bulk-actions .btn,
    .attendance-bulk-actions .pill {
        width: 100% !important;
        justify-content: center !important;
    }
}

/* RFID cards management: compact scoped interface. */
body .admin-main .rfid-cards-manager {
    display: grid !important;
    gap: 14px !important;
}

body .admin-main .rfid-cards-manager .rfid-cards-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    padding: 18px 20px !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 20px !important;
    background: #FFFFFF !important;
    box-shadow: 0 14px 34px rgba(15, 23, 42, .055) !important;
}

body .admin-main .rfid-cards-manager .rfid-cards-header h2 {
    margin: 0 !important;
    color: #111827 !important;
    font-size: 26px !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
}

body .admin-main .rfid-cards-manager .rfid-cards-header p {
    margin: 4px 0 0 !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
}

body .admin-main .rfid-cards-manager .rfid-filter-toolbar {
    display: grid !important;
    grid-template-columns: minmax(240px, 1.4fr) minmax(150px, .55fr) minmax(130px, .45fr) auto !important;
    gap: 10px !important;
    align-items: center !important;
    padding: 12px !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 18px !important;
    background: #FFFFFF !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .045) !important;
}

body .admin-main .rfid-cards-manager .rfid-filter-toolbar input,
body .admin-main .rfid-cards-manager .rfid-filter-toolbar select {
    height: 42px !important;
    min-height: 42px !important;
    border-radius: 13px !important;
    font-size: 13px !important;
}

body .admin-main .rfid-cards-manager .rfid-filter-toolbar .btn,
body .admin-main .rfid-cards-manager .rfid-inline-assign .btn {
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 14px !important;
    border-radius: 13px !important;
    font-size: 12px !important;
    white-space: nowrap !important;
}

body .admin-main .rfid-cards-manager .rfid-summary-row {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 10px !important;
}

body .admin-main .rfid-cards-manager .rfid-summary-row > div {
    min-width: 0 !important;
    padding: 12px 14px !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 16px !important;
    background: #FFFFFF !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .045) !important;
}

body .admin-main .rfid-cards-manager .rfid-summary-row span {
    display: block !important;
    color: #64748B !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: .04em !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

body .admin-main .rfid-cards-manager .rfid-summary-row strong {
    display: block !important;
    margin-top: 5px !important;
    color: #111827 !important;
    font-size: 22px !important;
    line-height: 1.1 !important;
    font-weight: 850 !important;
}

body .admin-main .rfid-cards-manager .rfid-compact-card {
    position: relative !important;
    overflow: visible !important;
    padding: 18px !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 20px !important;
    background: #FFFFFF !important;
    box-shadow: 0 16px 38px rgba(15, 23, 42, .055) !important;
}

body .admin-main .rfid-cards-manager .rfid-table-card {
    padding-top: 14px !important;
}

body .admin-main .rfid-cards-manager .table-wrap {
    overflow-x: visible !important;
    overflow-y: visible !important;
}

body .admin-main .rfid-cards-manager .rfid-management-table {
    width: 100% !important;
    min-width: 0 !important;
    table-layout: fixed !important;
}

body .admin-main .rfid-cards-manager .rfid-management-table th,
body .admin-main .rfid-cards-manager .rfid-management-table td,
body .admin-main .rfid-cards-manager .rfid-small-table th,
body .admin-main .rfid-cards-manager .rfid-small-table td {
    padding: 11px 10px !important;
    font-size: 11px !important;
    line-height: 1.3 !important;
    vertical-align: middle !important;
}

body .admin-main .rfid-cards-manager .rfid-management-table th,
body .admin-main .rfid-cards-manager .rfid-small-table th {
    color: #475569 !important;
    font-weight: 850 !important;
    text-transform: uppercase !important;
    letter-spacing: .035em !important;
    white-space: nowrap !important;
}

body .admin-main .rfid-cards-manager .rfid-management-table td strong,
body .admin-main .rfid-cards-manager .rfid-small-table td strong {
    display: block !important;
    color: #111827 !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

body .admin-main .rfid-cards-manager .rfid-management-table td .muted,
body .admin-main .rfid-cards-manager .rfid-small-table td .muted {
    display: block !important;
    margin-top: 2px !important;
    font-size: 10px !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

body .admin-main .rfid-cards-manager .rfid-management-table th:nth-child(1) { width: 25% !important; }
body .admin-main .rfid-cards-manager .rfid-management-table th:nth-child(2) { width: 8% !important; }
body .admin-main .rfid-cards-manager .rfid-management-table th:nth-child(3) { width: 12% !important; }
body .admin-main .rfid-cards-manager .rfid-management-table th:nth-child(4) { width: 10% !important; }
body .admin-main .rfid-cards-manager .rfid-management-table th:nth-child(5) { width: 11% !important; }
body .admin-main .rfid-cards-manager .rfid-management-table th:nth-child(6) { width: 15% !important; }
body .admin-main .rfid-cards-manager .rfid-management-table th:nth-child(7) { width: 12% !important; }
body .admin-main .rfid-cards-manager .rfid-management-table th:nth-child(8) { width: 7% !important; }

body .admin-main .rfid-cards-manager .member-row-profile.compact {
    display: grid !important;
    grid-template-columns: 32px minmax(0, 1fr) !important;
    gap: 8px !important;
    align-items: center !important;
    min-width: 0 !important;
}

body .admin-main .rfid-cards-manager .avatar-sm {
    width: 32px !important;
    height: 32px !important;
}

body .admin-main .rfid-cards-manager .rfid-pagination {
    margin-top: 12px !important;
}

body .admin-main .rfid-cards-manager .rfid-secondary-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    align-items: start !important;
}

body .admin-main .rfid-cards-manager .rfid-section-title {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 12px !important;
    margin-bottom: 12px !important;
}

body .admin-main .rfid-cards-manager .rfid-section-title h3 {
    margin: 4px 0 0 !important;
    color: #111827 !important;
    font-size: 18px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
}

body .admin-main .rfid-cards-manager .rfid-small-table {
    width: 100% !important;
    min-width: 660px !important;
}

body .admin-main .rfid-cards-manager .rfid-inline-assign {
    display: grid !important;
    grid-template-columns: minmax(110px, 1fr) auto !important;
    gap: 8px !important;
    align-items: center !important;
}

body .admin-main .rfid-cards-manager .rfid-stack-list {
    display: grid !important;
    gap: 10px !important;
}

body .admin-main .rfid-cards-manager .rfid-person-card,
body .admin-main .rfid-cards-manager .rfid-assignment-card {
    min-width: 0 !important;
    min-height: 68px !important;
    display: grid !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 12px 14px !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 16px !important;
    background: #FFFFFF !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .045) !important;
}

body .admin-main .rfid-cards-manager .rfid-person-card {
    grid-template-columns: minmax(220px, 1fr) 190px minmax(260px, .8fr) !important;
}

body .admin-main .rfid-cards-manager .rfid-assignment-card {
    grid-template-columns: minmax(0, 1fr) auto minmax(130px, auto) !important;
}

body .admin-main .rfid-cards-manager .rfid-person-main {
    display: grid !important;
    grid-template-columns: 38px minmax(0, 1fr) !important;
    gap: 10px !important;
    align-items: center !important;
    min-width: 0 !important;
}

body .admin-main .rfid-cards-manager .rfid-person-main strong,
body .admin-main .rfid-cards-manager .rfid-assignment-card strong {
    display: block !important;
    color: #111827 !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
    font-weight: 850 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

body .admin-main .rfid-cards-manager .rfid-person-main .muted,
body .admin-main .rfid-cards-manager .rfid-assignment-card .muted {
    display: block !important;
    margin-top: 2px !important;
    font-size: 11px !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

body .admin-main .rfid-cards-manager .rfid-person-badges {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    flex-wrap: nowrap !important;
}

body .admin-main .rfid-cards-manager .rfid-person-badges .pill,
body .admin-main .rfid-cards-manager .rfid-assignment-card .pill {
    min-width: 82px !important;
    justify-content: center !important;
    white-space: nowrap !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    font-size: 11px !important;
    line-height: 1 !important;
    padding: 9px 12px !important;
}

body .admin-main .rfid-cards-manager .rfid-person-action {
    min-width: 0 !important;
}

body .admin-main .rfid-cards-manager .rfid-note {
    color: #64748B !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    text-align: right !important;
}

body .admin-main .rfid-cards-manager .rfid-assignment-meta {
    display: grid !important;
    justify-items: end !important;
    gap: 2px !important;
    color: #111827 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}

body .admin-main .rfid-cards-manager .rfid-assignment-meta small {
    color: #64748B !important;
    font-size: 11px !important;
    font-weight: 700 !important;
}

body .admin-main .rfid-cards-manager .rfid-inline-assign input {
    height: 38px !important;
    min-height: 38px !important;
    border-radius: 12px !important;
    font-size: 12px !important;
}

body .admin-main .rfid-cards-manager .rfid-action-menu {
    position: relative !important;
    display: inline-block !important;
}

body .admin-main .rfid-cards-manager .rfid-action-menu summary {
    width: 38px !important;
    height: 38px !important;
    display: grid !important;
    place-items: center !important;
    list-style: none !important;
    cursor: pointer !important;
    border: 1px solid #DCEAE8 !important;
    border-radius: 13px !important;
    background: #F4FAF8 !important;
    color: #0F766E !important;
    -webkit-text-fill-color: #0F766E !important;
}

body .admin-main .rfid-cards-manager .rfid-action-menu summary::-webkit-details-marker {
    display: none !important;
}

body .admin-main .rfid-cards-manager .rfid-action-panel {
    position: absolute !important;
    right: 0 !important;
    top: calc(100% + 8px) !important;
    z-index: 30 !important;
    width: 230px !important;
    display: grid !important;
    gap: 8px !important;
    padding: 10px !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 16px !important;
    background: #FFFFFF !important;
    box-shadow: 0 18px 46px rgba(15, 23, 42, .16) !important;
}

body .admin-main .rfid-cards-manager .rfid-action-panel a,
body .admin-main .rfid-cards-manager .rfid-action-panel button {
    width: 100% !important;
    min-height: 36px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    padding: 8px 10px !important;
    border: 0 !important;
    border-radius: 11px !important;
    background: #F8FAFC !important;
    color: #111827 !important;
    -webkit-text-fill-color: #111827 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    cursor: pointer !important;
}

body .admin-main .rfid-cards-manager .rfid-action-panel input {
    height: 36px !important;
    min-height: 36px !important;
    border-radius: 11px !important;
    font-size: 12px !important;
}

body .admin-main .rfid-cards-manager .rfid-action-panel .danger {
    color: #DC2626 !important;
    -webkit-text-fill-color: #DC2626 !important;
    background: #FEF2F2 !important;
}

@media (max-width: 1100px) {
    body .admin-main .rfid-cards-manager .rfid-summary-row {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    body .admin-main .rfid-cards-manager .rfid-secondary-grid {
        grid-template-columns: 1fr !important;
    }

    body .admin-main .rfid-cards-manager .rfid-person-card {
        grid-template-columns: minmax(0, 1fr) 190px !important;
    }

    body .admin-main .rfid-cards-manager .rfid-person-action,
    body .admin-main .rfid-cards-manager .rfid-note {
        grid-column: 1 / -1 !important;
        text-align: left !important;
    }
}

@media (max-width: 760px) {
    body .admin-main .rfid-cards-manager .rfid-cards-header {
        align-items: stretch !important;
        flex-direction: column !important;
    }

    body .admin-main .rfid-cards-manager .rfid-cards-header .inline-actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
        width: 100% !important;
    }

    body .admin-main .rfid-cards-manager .rfid-filter-toolbar {
        grid-template-columns: 1fr !important;
    }

    body .admin-main .rfid-cards-manager .rfid-summary-row {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body .admin-main .rfid-cards-manager .rfid-person-card,
    body .admin-main .rfid-cards-manager .rfid-assignment-card,
    body .admin-main .rfid-cards-manager .rfid-inline-assign {
        grid-template-columns: 1fr !important;
    }

    body .admin-main .rfid-cards-manager .rfid-person-badges,
    body .admin-main .rfid-cards-manager .rfid-assignment-meta {
        justify-items: start !important;
        justify-content: flex-start !important;
    }
}

@media (max-width: 480px) {
    body .admin-main .rfid-cards-manager .rfid-summary-row {
        grid-template-columns: 1fr !important;
    }
}

.rfid-reader-panel {
    display: grid !important;
    align-content: start !important;
    gap: 14px !important;
}

.rfid-pulse {
    width: 72px !important;
    height: 72px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 22px !important;
    background: #EAF4F1 !important;
    color: #0F766E !important;
    -webkit-text-fill-color: #0F766E !important;
    font-size: 30px !important;
    position: relative !important;
}

.rfid-pulse::after {
    content: "" !important;
    position: absolute !important;
    inset: -8px !important;
    border: 1px solid rgba(15, 118, 110, .28) !important;
    border-radius: 28px !important;
    animation: rfidPulse 1.6s ease-out infinite !important;
}

.rfid-result-panel {
    transition: border-color .18s ease, background-color .18s ease !important;
}

.rfid-result-accepted {
    border-color: rgba(22, 163, 74, .28) !important;
    background: #F7FEFA !important;
}

.rfid-result-duplicate {
    border-color: rgba(217, 119, 6, .30) !important;
    background: #FFFBEB !important;
}

.rfid-result-unknown_card,
.rfid-result-expired_membership,
.rfid-result-inactive_member,
.rfid-result-disabled_card,
.rfid-result-error {
    border-color: rgba(220, 38, 38, .28) !important;
    background: #FEF2F2 !important;
    animation: rfidShake .2s ease both !important;
}

/* Super Admin Gym Admin table: keep words readable and scroll horizontally. */
.gym-admin-table-wrap {
    overflow-x: auto !important;
    overflow-y: visible !important;
}

.gym-admins-table {
    width: max-content !important;
    min-width: 1280px !important;
    table-layout: auto !important;
}

.gym-admins-table th,
.gym-admins-table td {
    white-space: nowrap !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    vertical-align: middle !important;
}

.gym-admins-table th {
    white-space: nowrap !important;
}

.gym-admins-table th:nth-child(1),
.gym-admins-table td:nth-child(1) {
    min-width: 240px !important;
    max-width: none !important;
}

.gym-admins-table th:nth-child(2),
.gym-admins-table td:nth-child(2) {
    min-width: 210px !important;
    max-width: none !important;
}

.gym-admins-table th:nth-child(3),
.gym-admins-table td:nth-child(3) {
    min-width: 190px !important;
}

.gym-admins-table th:nth-child(4),
.gym-admins-table td:nth-child(4) {
    min-width: 130px !important;
}

.gym-admins-table th:nth-child(5),
.gym-admins-table td:nth-child(5) {
    min-width: 150px !important;
}

.gym-admins-table th:nth-child(6),
.gym-admins-table td:nth-child(6) {
    min-width: 420px !important;
}

.gym-admins-table .status-toggle-btn,
.gym-admins-table .gym-admin-action-btn,
.gym-admins-table .btn,
.gym-admins-table .pill,
.gym-admins-table .password-control button,
.gym-admins-table strong,
.gym-admins-table span,
.gym-admins-table input,
.gym-admins-table button {
    white-space: nowrap !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
}

.gym-admins-table .muted {
    display: inline-block !important;
    max-width: none !important;
    white-space: nowrap !important;
    overflow-wrap: normal !important;
}

.gym-admins-table .compact-password {
    width: 235px !important;
    min-width: 235px !important;
}

.gym-admins-table .inline-actions {
    flex-wrap: nowrap !important;
}

.gym-admin-actions-stack {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex-wrap: nowrap !important;
}

/* Super Admin data tables should scroll instead of compressing text. */
.super-admin-data-table-wrap {
    overflow-x: auto !important;
    overflow-y: visible !important;
}

.super-admin-data-table {
    width: max-content !important;
    min-width: 1160px !important;
    table-layout: auto !important;
}

.super-admin-data-table th,
.super-admin-data-table td {
    white-space: nowrap !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    vertical-align: middle !important;
}

.super-admin-data-table .muted,
.super-admin-data-table strong,
.super-admin-data-table .pill,
.super-admin-data-table .btn,
.super-admin-data-table button {
    white-space: nowrap !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
}

.gyms-table th:nth-child(1),
.gyms-table td:nth-child(1) {
    min-width: 240px !important;
}

.gyms-table th:nth-child(2),
.gyms-table td:nth-child(2) {
    min-width: 210px !important;
}

.gyms-table th:nth-child(3),
.gyms-table td:nth-child(3) {
    min-width: 150px !important;
}

.gyms-table th:nth-child(4),
.gyms-table td:nth-child(4),
.gyms-table th:nth-child(5),
.gyms-table td:nth-child(5) {
    min-width: 140px !important;
}

.gyms-table th:nth-child(6),
.gyms-table td:nth-child(6) {
    min-width: 190px !important;
}

.gyms-table th:nth-child(7),
.gyms-table td:nth-child(7) {
    min-width: 270px !important;
}

.gyms-table .inline-actions {
    flex-wrap: nowrap !important;
}

@keyframes rfidPulse {
    from { opacity: .65; transform: scale(.9); }
    to { opacity: 0; transform: scale(1.18); }
}

@keyframes rfidShake {
    0%, 100% { transform: translateX(0); }
    35% { transform: translateX(-4px); }
    70% { transform: translateX(4px); }
}

.super-admin-platform-hero {
    display: flex !important;
    align-items: flex-end !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin-bottom: 14px !important;
    padding: 14px 20px !important;
    position: relative !important;
    overflow: hidden !important;
    border: 1px solid rgba(17, 24, 39, .08) !important;
    box-shadow:
        0 1px 2px rgba(17, 24, 39, .04),
        0 12px 32px rgba(17, 24, 39, .07) !important;
    animation: platformHeroIn .36s ease both;
}

.super-admin-platform-hero .platform-hero-copy {
    flex: 0 1 60% !important;
    min-width: 0 !important;
}

.super-admin-platform-hero::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    pointer-events: none !important;
    background:
        radial-gradient(circle at 16% 12%, rgba(15, 118, 110, .035), transparent 34%),
        radial-gradient(circle at 88% 20%, rgba(17, 24, 39, .025), transparent 28%) !important;
}

.admin-workspace .card:not(.super-admin-platform-hero) > .section-head {
    max-width: 840px !important;
}

.admin-workspace .card:not(.super-admin-platform-hero) > .section-head h1,
.admin-workspace .card:not(.super-admin-platform-hero) > .section-head h2,
.admin-workspace .card:not(.super-admin-platform-hero) > .section-head h3 {
    font-size: clamp(20px, 1.65vw, 30px) !important;
    line-height: 1.1 !important;
    letter-spacing: -0.006em !important;
}

.admin-workspace .card:not(.super-admin-platform-hero) > .section-head p {
    max-width: 720px !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
}

.super-admin-platform-hero h2 {
    margin: 3px 0 4px !important;
    font-size: clamp(18px, 1.75vw, 25px) !important;
    line-height: 1.08 !important;
    font-weight: 760 !important;
    letter-spacing: -0.01em !important;
}

.super-admin-platform-hero .kicker {
    min-height: 23px !important;
    padding: 4px 10px !important;
    font-size: 9px !important;
}

.super-admin-platform-hero p {
    margin: 0 !important;
    max-width: 760px !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
}

.platform-health-strip {
    display: grid !important;
    grid-template-columns: repeat(2, max-content) !important;
    justify-content: flex-end !important;
    align-content: end !important;
    gap: 5px !important;
    flex: 0 0 40% !important;
    max-width: 380px !important;
}

.platform-health-strip span {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    min-height: 28px !important;
    padding: 5px 10px !important;
    border: 1px solid var(--enterprise-border, #E5E7EB) !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: var(--enterprise-muted, #6B7280) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
    transition:
        transform .18s ease,
        border-color .18s ease,
        background-color .18s ease !important;
}

.platform-health-strip span:hover {
    transform: translateY(-2px) !important;
    border-color: rgba(15, 118, 110, .22) !important;
    background: #F8FBFA !important;
}

.platform-health-strip .status-dot {
    width: 7px !important;
    height: 7px !important;
    border-radius: 999px !important;
    background: #16A34A !important;
    box-shadow: 0 0 0 3px rgba(22, 163, 74, .12) !important;
    animation: platformStatusPulse 1.8s ease-in-out infinite !important;
}

.hero-quick-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 7px !important;
    margin-top: 9px !important;
}

.super-admin-platform-hero .hero-quick-actions .btn {
    width: auto !important;
    min-width: 92px !important;
    min-height: 31px !important;
    height: 31px !important;
    padding: 6px 11px !important;
    gap: 7px !important;
    border-radius: 9px !important;
    font-size: 12px !important;
    line-height: 1 !important;
    font-weight: 760 !important;
    box-shadow: none !important;
}

.super-admin-platform-hero .hero-quick-actions .btn-primary {
    min-width: 104px !important;
    background: #0f7f74 !important;
    box-shadow: 0 8px 18px rgba(15, 118, 110, .14) !important;
}

.super-admin-platform-hero .hero-quick-actions .btn-ghost {
    background: #fff !important;
    border-color: rgba(15, 23, 42, .12) !important;
}

.super-admin-platform-hero .hero-quick-actions .btn:hover {
    transform: translateY(-1px) !important;
    border-color: rgba(15, 118, 110, .26) !important;
    box-shadow: 0 10px 20px rgba(15, 23, 42, .08) !important;
}

.super-admin-platform-hero .hero-quick-actions .btn i {
    width: 14px !important;
    min-width: 14px !important;
    height: 14px !important;
    display: inline-grid !important;
    place-items: center !important;
    margin: 0 !important;
    font-size: 13px !important;
    line-height: 1 !important;
}

.super-admin-kpi-grid .stat-card {
    min-height: 58px !important;
    padding: 8px 12px !important;
    gap: 4px !important;
    border-radius: 14px !important;
}

.super-admin-kpi-grid .stat-card i {
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    font-size: 12px !important;
}

.super-admin-kpi-grid .stat-card strong {
    margin-top: 2px !important;
    font-size: clamp(22px, 2vw, 30px) !important;
    line-height: 1 !important;
}

.super-admin-kpi-grid .stat-card span {
    font-size: 12px !important;
    line-height: 1.15 !important;
}

.super-admin-plans-section {
    padding: 22px 24px !important;
}

.super-admin-plans-section .section-head {
    margin-bottom: 12px !important;
}

.super-admin-plans-section .section-head h3 {
    font-size: clamp(26px, 2.2vw, 36px) !important;
    line-height: 1.1 !important;
}

.super-admin-plans-section .add-plan-panel {
    display: block !important;
    margin: 8px 0 18px !important;
}

.super-admin-plans-section .add-plan-panel > summary {
    min-height: 42px !important;
    padding: 9px 16px !important;
}

.super-admin-plans-section .compact-plan-form {
    margin-top: 12px !important;
    padding: 18px !important;
    gap: 12px 16px !important;
    align-items: start !important;
}

.super-admin-plans-section .compact-plan-form .field {
    gap: 6px !important;
}

.super-admin-plans-section .compact-plan-form label {
    font-size: 12px !important;
    line-height: 1.2 !important;
}

.super-admin-plans-section .compact-plan-form input,
.super-admin-plans-section .compact-plan-form select {
    min-height: 44px !important;
    height: 44px !important;
    padding: 9px 14px !important;
}

.super-admin-plans-section .compact-plan-form textarea {
    min-height: 76px !important;
    padding: 10px 14px !important;
}

.super-admin-plans-section .compact-plan-form .btn {
    min-height: 42px !important;
    padding: 9px 16px !important;
    align-self: end !important;
}

.platform-analytics-card,
.platform-activity-card {
    margin-top: 18px !important;
}

.platform-analytics-card .section-head {
    margin-bottom: 6px !important;
}

.platform-analytics-card .section-head h3 {
    font-size: clamp(18px, 1.35vw, 24px) !important;
    line-height: 1.05 !important;
}

.platform-analytics-card {
    padding: 18px 22px !important;
}

.platform-analytics-card .kicker {
    min-height: 26px !important;
    padding: 4px 11px !important;
    font-size: 9px !important;
}

.platform-analytics-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
}

.analytics-chart-panel {
    min-width: 0 !important;
    height: 168px !important;
    padding: 12px !important;
    border: 1px solid rgba(17, 24, 39, .08) !important;
    border-radius: 16px !important;
    background: rgba(255, 255, 255, .72) !important;
}

.analytics-panel-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    margin-bottom: 6px !important;
}

.analytics-panel-head strong {
    font-size: 13px !important;
    line-height: 1.2 !important;
    font-weight: 750 !important;
    color: #111827 !important;
}

.analytics-panel-head span {
    min-height: 24px !important;
    display: inline-flex !important;
    align-items: center !important;
    padding: 2px 8px !important;
    border: 1px solid rgba(15, 118, 110, .10) !important;
    border-radius: 999px !important;
    background: rgba(15, 118, 110, .06) !important;
    color: #0F766E !important;
    font-size: 10px !important;
    font-weight: 700 !important;
}

.analytics-chart-panel canvas {
    width: 100% !important;
    max-height: 116px !important;
}

.platform-activity-list {
    display: grid !important;
    gap: 6px !important;
}

.platform-activity-row {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 7px 10px !important;
    border: 1px solid rgba(17, 24, 39, .075) !important;
    border-radius: 12px !important;
    background: rgba(255, 255, 255, .68) !important;
}

.platform-activity-row strong,
.platform-activity-row small {
    display: block !important;
}

.platform-activity-card .section-head {
    margin-bottom: 8px !important;
}

.platform-activity-card {
    padding: 14px 18px !important;
}

.platform-activity-compact {
    max-height: 154px !important;
    overflow: hidden !important;
    margin-top: 10px !important;
    margin-bottom: 14px !important;
    padding: 10px 14px !important;
    border-radius: 16px !important;
}

.platform-activity-compact .section-head {
    margin-bottom: 7px !important;
    min-height: 0 !important;
}

.platform-activity-compact .kicker {
    min-height: 21px !important;
    padding: 3px 9px !important;
    font-size: 8px !important;
    line-height: 1.1 !important;
}

.platform-activity-compact .section-head h3 {
    font-size: clamp(14px, 1.05vw, 17px) !important;
    margin-top: 4px !important;
    line-height: 1.1 !important;
}

.platform-activity-compact .platform-activity-list {
    gap: 5px !important;
}

.platform-activity-compact .platform-activity-row {
    min-height: 34px !important;
    padding: 5px 8px !important;
    border-radius: 10px !important;
}

.platform-activity-compact .activity-icon {
    width: 22px !important;
    height: 22px !important;
    border-radius: 8px !important;
    font-size: 11px !important;
}

.platform-activity-compact .platform-activity-row strong {
    font-size: 11px !important;
}

.platform-activity-compact .platform-activity-row small,
.platform-activity-compact .platform-activity-row .muted {
    font-size: 10px !important;
}

.platform-activity-compact .platform-activity-row .pill {
    min-height: 22px !important;
    padding: 3px 8px !important;
    font-size: 10px !important;
}

.platform-activity-compact .compact-empty-state {
    min-height: 46px !important;
    padding: 8px 10px !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    justify-items: start !important;
    align-items: center !important;
    gap: 4px 8px !important;
    border-radius: 12px !important;
    text-align: left !important;
}

.platform-activity-compact .compact-empty-state i {
    grid-row: span 2 !important;
    font-size: 18px !important;
}

.platform-activity-compact .compact-empty-state strong {
    font-size: 12px !important;
    line-height: 1.15 !important;
}

.platform-activity-compact .compact-empty-state span {
    font-size: 10px !important;
    line-height: 1.2 !important;
}

.platform-activity-card .section-head.compact {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
}

.platform-activity-card .section-head h3 {
    font-size: clamp(17px, 1.35vw, 22px) !important;
    line-height: 1.08 !important;
    margin: 5px 0 0 !important;
}

.platform-activity-card .kicker {
    min-height: 28px !important;
    padding: 5px 12px !important;
    font-size: 10px !important;
}

.platform-activity-row strong {
    font-size: 13px !important;
    line-height: 1.15 !important;
}

.platform-activity-row .muted {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.platform-activity-row small {
    font-size: 12px !important;
    line-height: 1.15 !important;
}

.activity-icon {
    width: 26px !important;
    height: 26px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 10px !important;
    color: #0F766E !important;
    background: rgba(15, 118, 110, .08) !important;
}

.activity-icon.status-success,
.activity-icon.status-active,
.activity-icon.status-approved,
.activity-icon.status-paid {
    color: #16A34A !important;
    background: rgba(22, 163, 74, .10) !important;
}

.activity-icon.status-pending,
.activity-icon.status-warning {
    color: #D97706 !important;
    background: rgba(217, 119, 6, .10) !important;
}

.activity-icon.status-danger,
.activity-icon.status-rejected,
.activity-icon.status-failed {
    color: #DC2626 !important;
    background: rgba(220, 38, 38, .10) !important;
}

.activity-icon.status-info {
    color: #0F766E !important;
    background: rgba(15, 118, 110, .08) !important;
}

.platform-activity-row .pill {
    min-height: 28px !important;
    padding: 5px 10px !important;
    font-size: 12px !important;
}

.status-success {
    color: #16A34A !important;
}

.status-info {
    color: #0F766E !important;
}

.status-danger {
    color: #DC2626 !important;
}

.super-admin-empty-state {
    display: grid !important;
    justify-items: center !important;
    gap: 6px !important;
    color: #0F766E !important;
}

.super-admin-empty-state i {
    font-size: 24px !important;
}

.super-admin-empty-state span {
    color: #6B7280 !important;
    font-size: 13px !important;
}

.pending-approval-empty-card {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
}

.pending-approval-empty-card .super-admin-empty-state {
    min-height: 92px !important;
    padding: 12px !important;
}

.compact-empty-state {
    min-height: 86px !important;
    padding: 12px !important;
}

.super-admin-branding-section {
    padding: 18px 22px !important;
}

.super-admin-branding-section .section-head {
    margin-bottom: 12px !important;
}

.super-admin-branding-section .kicker {
    min-height: 28px !important;
    padding: 5px 12px !important;
    font-size: 10px !important;
}

.super-admin-branding-section .section-head h3 {
    font-size: clamp(22px, 1.85vw, 30px) !important;
    line-height: 1.08 !important;
    margin: 6px 0 6px !important;
}

.super-admin-branding-section .section-head p {
    max-width: 760px !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
}

.super-admin-branding-section .grid.three {
    gap: 12px !important;
}

.super-admin-branding-section .stat-card {
    min-height: 92px !important;
    padding: 14px 16px !important;
    gap: 7px !important;
}

.super-admin-branding-section .stat-card i {
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    font-size: 14px !important;
}

.super-admin-branding-section .stat-card span {
    font-size: 13px !important;
}

.super-admin-branding-section .stat-card strong {
    font-size: clamp(22px, 1.9vw, 30px) !important;
    line-height: 1.05 !important;
}

.super-admin-settings-section {
    padding: 14px 18px !important;
}

.super-admin-settings-section .section-head {
    margin: 0 !important;
    align-items: center !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 14px !important;
}

.super-admin-settings-section .kicker {
    min-height: 26px !important;
    padding: 4px 11px !important;
    font-size: 9px !important;
}

.super-admin-settings-section .section-head h3 {
    font-size: clamp(20px, 1.7vw, 28px) !important;
    line-height: 1.08 !important;
    margin: 6px 0 4px !important;
}

.super-admin-settings-section .section-head p {
    max-width: 620px !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    margin: 0 !important;
}

.super-admin-settings-section .inline-actions {
    gap: 8px !important;
    align-self: end !important;
    justify-content: flex-end !important;
    flex-wrap: nowrap !important;
}

.super-admin-settings-section .inline-actions .btn,
.super-admin-settings-section a.btn {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 30px !important;
    height: 30px !important;
    padding: 5px 10px !important;
    font-size: 12px !important;
    line-height: 1 !important;
    border-radius: 10px !important;
    gap: 6px !important;
}

.super-admin-settings-section .inline-actions .btn i,
.super-admin-settings-section a.btn i {
    font-size: 12px !important;
}

.super-admin-payments-section {
    padding: 16px 18px !important;
}

.super-admin-payments-section .section-head {
    margin-bottom: 10px !important;
}

.super-admin-payments-section .kicker {
    min-height: 26px !important;
    padding: 4px 11px !important;
    font-size: 9px !important;
}

.super-admin-payments-section .section-head h3 {
    font-size: clamp(20px, 1.6vw, 28px) !important;
    line-height: 1.08 !important;
    margin: 6px 0 0 !important;
}

.super-admin-payments-section .table-wrap {
    margin-top: 8px !important;
}

.super-admin-payments-section th,
.super-admin-payments-section td {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}

.super-admin-payments-section .pill {
    min-height: 28px !important;
    padding: 5px 10px !important;
    font-size: 12px !important;
}

.admin-kpi-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 8px !important;
    align-items: stretch !important;
}

.admin-kpi-grid .dash-card {
    min-height: 68px !important;
    padding: 8px 10px !important;
    gap: 2px !important;
    border-radius: 14px !important;
}

.admin-kpi-grid .dash-card > .muted:first-child {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    min-height: 18px !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
}

.admin-kpi-grid .dash-card > .muted:first-child i {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 10px !important;
}

.admin-kpi-grid .dash-card h3 {
    margin: 1px 0 0 !important;
    font-size: clamp(18px, 1.35vw, 23px) !important;
    line-height: 1 !important;
}

.admin-kpi-grid .dash-card h3 small {
    font-size: 10px !important;
    font-weight: 700 !important;
    color: #64748b !important;
    letter-spacing: 0 !important;
}

.admin-kpi-grid .dash-card p {
    margin: 0 !important;
    min-height: 0 !important;
    font-size: 9.5px !important;
    line-height: 1.18 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.admin-kpi-grid .kpi-meta {
    display: block !important;
    margin-top: auto !important;
    color: #0F766E !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
}

#overview .admin-hero-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
    padding: 8px clamp(18px, 1.8vw, 28px) 8px clamp(20px, 1.8vw, 28px) !important;
    margin-bottom: 10px !important;
    min-height: 0 !important;
    overflow: visible !important;
}

#overview .admin-hero-head > div {
    width: min(62%, 720px) !important;
    min-width: 0 !important;
}

#overview .admin-hero-head .kicker {
    margin-bottom: 5px !important;
    min-height: 24px !important;
    padding: 4px 10px !important;
    font-size: 9px !important;
}

#overview .admin-hero-head h2 {
    margin: 0 0 5px !important;
    font-size: clamp(21px, 2vw, 30px) !important;
    line-height: 1.04 !important;
    padding-bottom: 0 !important;
}

#overview .admin-hero-head p {
    margin: 0 !important;
    max-width: 680px !important;
    font-size: 13px !important;
    line-height: 1.3 !important;
}

#overview .admin-hero-actions {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    margin-top: 7px !important;
}

#overview .admin-hero-actions .btn {
    min-height: 28px !important;
    padding: 6px 10px !important;
    font-size: 11px !important;
    gap: 6px !important;
    border-radius: 10px !important;
}

#overview .admin-hero-summary {
    width: min(29%, 320px) !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    align-self: center !important;
    margin-top: 10px !important;
    padding: 5px !important;
    border: 1px solid rgba(15, 118, 110, .10) !important;
    border-radius: 12px !important;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .92), rgba(248, 251, 250, .78)) !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .035) !important;
}

#overview .admin-hero-summary a {
    display: grid !important;
    grid-template-columns: 20px minmax(0, 1fr) auto !important;
    align-items: center !important;
    column-gap: 7px !important;
    min-height: 27px !important;
    padding: 4px 6px !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: transparent !important;
    color: #111827 !important;
    text-decoration: none !important;
    transition: background-color .18s ease, border-color .18s ease, color .18s ease !important;
}

#overview .admin-hero-summary a:hover {
    background: rgba(15, 118, 110, .055) !important;
}

#overview .admin-hero-summary i {
    width: 20px !important;
    height: 20px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 7px !important;
    background: rgba(15, 118, 110, .09) !important;
    color: #0F766E !important;
    font-size: 10px !important;
}

#overview .admin-hero-summary span {
    color: #475569 !important;
    font-size: 9px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

#overview .admin-hero-summary strong {
    justify-self: end !important;
    color: #0f172a !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

#overview .admin-hero-summary .summary-revenue i,
#overview .admin-hero-summary .summary-revenue strong {
    color: #0F766E !important;
}

#overview .admin-hero-summary .summary-revenue i {
    background: rgba(15, 118, 110, .10) !important;
}

#overview .admin-hero-summary .summary-operational i,
#overview .admin-hero-summary .summary-operational strong {
    color: #16A34A !important;
}

#overview .admin-hero-summary .summary-operational i {
    background: rgba(22, 163, 74, .10) !important;
}

#overview .admin-hero-summary .summary-pending i,
#overview .admin-hero-summary .summary-pending strong {
    color: #D97706 !important;
}

#overview .admin-hero-summary .summary-pending i {
    background: rgba(217, 119, 6, .12) !important;
}

#overview .admin-hero-summary .summary-neutral i {
    color: #64748b !important;
    background: rgba(100, 116, 139, .09) !important;
}

#overview .admin-hero-summary .summary-attendance i {
    color: #0F766E !important;
}

#overview .admin-hero-summary .status-dot {
    width: 6px !important;
    height: 6px !important;
    display: inline-block !important;
    margin-right: 5px !important;
    border-radius: 999px !important;
    background: #16A34A !important;
    box-shadow: 0 0 0 2px rgba(22, 163, 74, .12) !important;
    vertical-align: 1px !important;
}

@media (max-width: 1280px) {
    .admin-kpi-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 900px) {
    #overview .admin-hero-head > div {
        width: min(100%, 680px) !important;
    }

    #overview .admin-hero-head {
        align-items: flex-start !important;
        flex-direction: column !important;
    }

    #overview .admin-hero-summary {
        width: 100% !important;
        grid-template-columns: 1fr !important;
    }

    .admin-kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 520px) {
    #overview .admin-hero-summary {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 560px) {
    .admin-kpi-grid {
        grid-template-columns: 1fr !important;
    }

    .admin-kpi-grid .dash-card p {
        white-space: normal !important;
    }
}

@media (max-width: 760px) {
    .super-admin-settings-section .section-head {
        grid-template-columns: 1fr !important;
    }

    .super-admin-settings-section .inline-actions {
        justify-content: flex-start !important;
        flex-wrap: wrap !important;
    }
}

@media (max-width: 900px) {
    .super-admin-platform-hero {
        display: block !important;
    }

    .platform-health-strip {
        justify-content: flex-start !important;
        margin-top: 16px !important;
    }

    .platform-analytics-grid {
        grid-template-columns: 1fr !important;
    }
}

@media (min-width: 1024px) {
    .super-admin-platform-hero h2 {
        white-space: nowrap !important;
    }
}

@keyframes platformHeroIn {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes platformStatusPulse {
    0%, 100% { box-shadow: 0 0 0 4px rgba(22, 163, 74, .10); }
    50% { box-shadow: 0 0 0 6px rgba(22, 163, 74, .16); }
}

.super-admin-topbar {
    min-height: 76px !important;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
    align-items: center !important;
    border-bottom: 1px solid rgba(17, 24, 39, .08) !important;
    box-shadow: 0 1px 2px rgba(17, 24, 39, .035) !important;
}

.super-admin-topbar > .sidebar-mobile-toggle {
    border-color: rgba(17, 24, 39, .10) !important;
    background: rgba(255, 255, 255, .72) !important;
    transition:
        background-color .18s ease,
        border-color .18s ease,
        transform .12s ease !important;
}

.super-admin-topbar > .sidebar-mobile-toggle:hover {
    background: rgba(15, 118, 110, .06) !important;
    border-color: rgba(15, 118, 110, .18) !important;
}

.super-admin-topbar > .sidebar-mobile-toggle:active {
    transform: scale(.96) !important;
}

.super-admin-topbar-title {
    min-width: 0 !important;
}

.super-admin-topbar-title .kicker {
    white-space: nowrap !important;
}

.super-admin-topbar-title h3 {
    margin-top: 3px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.super-admin-bell {
    position: relative !important;
    width: 42px !important;
    height: 42px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid rgba(17, 24, 39, .10) !important;
    border-radius: 14px !important;
    background: rgba(255, 255, 255, .76) !important;
    color: #111827 !important;
    text-decoration: none !important;
    transition:
        background-color .18s ease,
        border-color .18s ease,
        color .18s ease,
        transform .12s ease !important;
}

.super-admin-bell:hover {
    background: rgba(15, 118, 110, .06) !important;
    border-color: rgba(15, 118, 110, .18) !important;
    color: #0F766E !important;
}

.super-admin-bell:active {
    transform: scale(.96) !important;
}

.super-admin-bell.active {
    background: rgba(15, 118, 110, .08) !important;
    border-color: rgba(15, 118, 110, .24) !important;
    color: #0F766E !important;
}

.super-admin-bell span {
    position: absolute !important;
    top: -5px !important;
    right: -5px !important;
    min-width: 18px !important;
    height: 18px !important;
    padding: 0 5px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    background: #DC2626 !important;
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    border: 2px solid #fff !important;
}

.super-admin-topbar .profile-menu-button {
    min-height: 42px !important;
    border-color: rgba(17, 24, 39, .10) !important;
    background: rgba(255, 255, 255, .76) !important;
}

.super-admin-notification-popover {
    right: -6px !important;
}

.super-admin-notification-popover .admin-alert-item small + small {
    margin-top: 3px !important;
    color: #9CA3AF !important;
}

.super-admin-topbar .profile-menu-button:hover,
.super-admin-topbar .profile-menu-button.active {
    background: rgba(15, 118, 110, .06) !important;
    border-color: rgba(15, 118, 110, .18) !important;
}

.super-admin-topbar .profile-menu {
    transform: translateY(8px) scale(.985) !important;
    transition:
        opacity .18s ease,
        transform .18s ease,
        border-color .18s ease !important;
}

.super-admin-topbar .profile-menu.open {
    transform: translateY(0) scale(1) !important;
}

.super-admin-topbar .profile-menu a,
.super-admin-topbar .profile-menu button {
    transition:
        background-color .18s ease,
        color .18s ease,
        border-color .18s ease !important;
}

.super-admin-topbar .profile-menu a:hover,
.super-admin-topbar .profile-menu button:hover {
    color: #0F766E !important;
    background: rgba(15, 118, 110, .06) !important;
}

@media (max-width: 720px) {
    .super-admin-topbar .account-menu-label {
        display: none !important;
    }

    .super-admin-topbar {
        min-height: 68px !important;
    }
}

/* Premium one-screen trial modal: final override matching the compact reference. */
body.public-front .trial-modal {
    box-sizing: border-box !important;
    width: min(94vw, 1160px) !important;
    height: min(78dvh, 570px) !important;
    max-width: calc(100vw - 34px) !important;
    max-height: calc(100dvh - 34px) !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 24px !important;
    overflow: hidden !important;
    color: #f8fafc !important;
    background:
        radial-gradient(circle at 18% 12%, rgba(45, 212, 191, .34), transparent 34%),
        radial-gradient(circle at 88% 10%, rgba(139, 92, 246, .36), transparent 32%),
        linear-gradient(135deg, #073642 0%, #155e75 42%, #4c1d95 100%) !important;
    box-shadow: 0 34px 90px rgba(2, 6, 23, .46) !important;
}

body.public-front .trial-modal::backdrop {
    background: rgba(15, 23, 42, .58) !important;
    backdrop-filter: blur(10px) saturate(.95) !important;
}

body.public-front .trial-modal-shell {
    box-sizing: border-box !important;
    width: 100% !important;
    height: 100% !important;
    max-height: 100% !important;
    display: grid !important;
    grid-template-columns: minmax(0, .9fr) minmax(440px, .94fr) !important;
    gap: 28px !important;
    align-items: center !important;
    padding: 24px !important;
    background: transparent !important;
    overflow: hidden !important;
}

body.public-front .trial-modal-info {
    height: 100% !important;
    min-height: 0 !important;
    padding: 28px 20px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 14px !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.public-front .trial-modal-info::before,
body.public-front .trial-modal-info::after,
body.public-front .trial-brand-lockup,
body.public-front .trial-modal-mini-grid {
    display: none !important;
}

body.public-front .trial-modal-info .trial-modal-kicker {
    align-self: flex-start !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: rgba(226, 232, 240, .72) !important;
    -webkit-text-fill-color: rgba(226, 232, 240, .72) !important;
    font-size: 9.5px !important;
    font-weight: 850 !important;
    letter-spacing: .24em !important;
    text-transform: uppercase !important;
}

body.public-front .trial-modal-info h2#trial-modal-title {
    max-width: 500px !important;
    margin: 0 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-size: clamp(30px, 3.05vw, 44px) !important;
    line-height: 1.04 !important;
    letter-spacing: -.045em !important;
}

body.public-front .trial-modal-info p {
    max-width: 470px !important;
    margin: 0 !important;
    color: rgba(241, 245, 249, .82) !important;
    -webkit-text-fill-color: rgba(241, 245, 249, .82) !important;
    font-size: 13.5px !important;
    line-height: 1.52 !important;
}

body.public-front .trial-feature-box {
    max-width: 470px !important;
    margin: 10px 0 0 !important;
    padding: 14px 16px !important;
    border-radius: 16px !important;
    border: 1px solid rgba(255, 255, 255, .18) !important;
    background: rgba(255, 255, 255, .12) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08) !important;
}

body.public-front .trial-feature-box i,
body.public-front .trial-feature-box span {
    display: none !important;
}

body.public-front .trial-feature-box strong {
    margin: 0 !important;
    color: rgba(255, 255, 255, .9) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, .9) !important;
    font-size: 12px !important;
    line-height: 1.42 !important;
    letter-spacing: .01em !important;
}

body.public-front .trial-modal-form {
    box-sizing: border-box !important;
    width: 100% !important;
    height: auto !important;
    max-height: calc(min(78dvh, 570px) - 48px) !important;
    align-self: center !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 7px !important;
    overflow: visible !important;
    padding: 20px 20px 18px !important;
    border: 1px solid rgba(255, 255, 255, .18) !important;
    border-radius: 18px !important;
    background: rgba(255, 255, 255, .12) !important;
    backdrop-filter: blur(20px) saturate(1.12) !important;
    box-shadow: 0 24px 70px rgba(2, 6, 23, .26) !important;
}

body.public-front .trial-form-head {
    display: none !important;
}

body.public-front .trial-field-grid,
body.public-front .trial-password-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 7px 10px !important;
}

body.public-front .trial-modal-form label {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    margin: 0 !important;
    color: rgba(255, 255, 255, .76) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, .76) !important;
    font-size: 9px !important;
    font-weight: 850 !important;
    letter-spacing: .035em !important;
    text-transform: none !important;
}

body.public-front .trial-modal-form input {
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 33px !important;
    height: 33px !important;
    padding: 7px 11px !important;
    border: 1px solid rgba(255, 255, 255, .18) !important;
    border-radius: 10px !important;
    background: rgba(255, 255, 255, .11) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06) !important;
}

body.public-front .trial-modal-form input::placeholder {
    color: rgba(255, 255, 255, .46) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, .46) !important;
}

body.public-front .trial-modal-form input:focus {
    border-color: rgba(125, 211, 252, .58) !important;
    background: rgba(255, 255, 255, .15) !important;
    box-shadow: 0 0 0 3px rgba(34, 211, 238, .14) !important;
    outline: none !important;
}

body.public-front .trial-logo-field {
    gap: 4px !important;
}

body.public-front .trial-logo-field em {
    color: rgba(255, 255, 255, .54) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, .54) !important;
    font-size: 8px !important;
    font-style: normal !important;
    font-weight: 750 !important;
    letter-spacing: .025em !important;
}

body.public-front .trial-native-file {
    min-height: 33px !important;
    height: 33px !important;
    padding: 5px 9px !important;
    color: rgba(255, 255, 255, .68) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, .68) !important;
}

body.public-front .trial-native-file::file-selector-button,
body.public-front .trial-native-file::-webkit-file-upload-button {
    margin: 0 9px 0 0 !important;
    padding: 5px 9px !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: rgba(255, 255, 255, .92) !important;
    color: #1e293b !important;
    -webkit-text-fill-color: #1e293b !important;
    font-size: 10px !important;
    font-weight: 850 !important;
    cursor: pointer !important;
}

body.public-front .trial-logo-preview {
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
    min-height: 30px !important;
    padding: 5px 8px !important;
    border: 1px solid rgba(255, 255, 255, .13) !important;
    border-radius: 10px !important;
    background: rgba(255, 255, 255, .08) !important;
}

body.public-front .trial-logo-preview[hidden] {
    display: none !important;
}

body.public-front .trial-logo-preview::after {
    content: "Logo selected" !important;
    color: rgba(255, 255, 255, .78) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, .78) !important;
    font-size: 10px !important;
    font-weight: 800 !important;
}

body.public-front .trial-logo-preview img {
    width: 24px !important;
    height: 24px !important;
    border-radius: 7px !important;
    object-fit: cover !important;
}

body.public-front .trial-logo-preview button {
    margin-left: auto !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: rgba(255, 255, 255, .74) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, .74) !important;
    font-size: 9.5px !important;
    font-weight: 800 !important;
}

body.public-front .trial-password-control {
    display: block !important;
}

body.public-front .trial-password-control input {
    padding-right: 36px !important;
}

body.public-front .trial-password-control button {
    right: 6px !important;
    width: 24px !important;
    height: 24px !important;
    color: rgba(255, 255, 255, .72) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, .72) !important;
}

body.public-front .trial-terms {
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    margin: 1px 0 0 !important;
}

body.public-front .trial-terms input {
    width: 13px !important;
    min-width: 13px !important;
    height: 13px !important;
    min-height: 13px !important;
    accent-color: #22d3ee !important;
}

body.public-front .trial-terms span {
    color: rgba(255, 255, 255, .72) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, .72) !important;
    font-size: 9.5px !important;
    font-weight: 750 !important;
    line-height: 1.25 !important;
}

body.public-front .trial-error,
body.public-front .trial-modal-form small {
    margin: 0 !important;
    color: #fecaca !important;
    -webkit-text-fill-color: #fecaca !important;
    font-size: 8.5px !important;
    line-height: 1.15 !important;
}

body.public-front .trial-submit {
    width: 100% !important;
    min-height: 40px !important;
    height: 40px !important;
    margin: 1px 0 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: linear-gradient(90deg, #22d3ee 0%, #38bdf8 42%, #9333ea 100%) !important;
    color: #06111f !important;
    -webkit-text-fill-color: #06111f !important;
    font-size: 12px !important;
    font-weight: 950 !important;
    letter-spacing: -.01em !important;
    box-shadow: 0 14px 30px rgba(34, 211, 238, .24), 0 8px 18px rgba(147, 51, 234, .16) !important;
}

body.public-front .trial-submit i {
    display: none !important;
}

body.public-front .trial-footnote {
    margin: 0 !important;
    color: rgba(255, 255, 255, .52) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, .52) !important;
    text-align: left !important;
    font-size: 9px !important;
    line-height: 1.2 !important;
}

body.public-front .trial-modal-close {
    top: 12px !important;
    right: 12px !important;
    z-index: 5 !important;
    width: 32px !important;
    height: 32px !important;
    min-height: 32px !important;
    border: 1px solid rgba(255, 255, 255, .18) !important;
    border-radius: 999px !important;
    background: rgba(15, 23, 42, .6) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    box-shadow: 0 10px 24px rgba(2, 6, 23, .18) !important;
    font-size: 20px !important;
}

@media (max-width: 980px) {
    body.public-front .trial-modal {
        width: min(94vw, 620px) !important;
        height: auto !important;
        max-height: 92dvh !important;
    }

    body.public-front .trial-modal-shell {
        display: block !important;
        padding: 18px !important;
        overflow: visible !important;
    }

    body.public-front .trial-modal-info {
        display: none !important;
    }

    body.public-front .trial-modal-form {
        max-height: calc(92dvh - 36px) !important;
        overflow-y: auto !important;
    }

    body.public-front .trial-field-grid,
    body.public-front .trial-password-grid {
        grid-template-columns: 1fr !important;
    }
}

/* TRUE FINAL FitCore trial theme: placed after all older modal rules. */
body.public-front .trial-modal {
    width: min(94vw, 1160px) !important;
    height: min(78dvh, 570px) !important;
    max-width: calc(100vw - 34px) !important;
    max-height: calc(100dvh - 34px) !important;
    border-radius: 24px !important;
    overflow: hidden !important;
    background:
        linear-gradient(135deg, rgba(4, 79, 73, .98) 0%, rgba(11, 111, 103, .98) 42%, rgba(248, 245, 238, .98) 42.15%, rgba(255, 255, 255, .98) 100%) !important;
    box-shadow: 0 34px 90px rgba(15, 23, 42, .34) !important;
}

body.public-front .trial-modal-shell {
    grid-template-columns: minmax(0, .88fr) minmax(440px, .96fr) !important;
    gap: 34px !important;
}

body.public-front .trial-modal-info {
    padding-left: 34px !important;
    background: transparent !important;
}

body.public-front .trial-modal-info::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    inset: 20px auto 20px 18px !important;
    width: 1px !important;
    background: linear-gradient(180deg, transparent, rgba(204, 251, 241, .34), transparent) !important;
}

body.public-front .trial-modal-info::after,
body.public-front .trial-brand-lockup,
body.public-front .trial-modal-mini-grid {
    display: none !important;
}

body.public-front .trial-modal-info .trial-modal-kicker {
    color: rgba(204, 251, 241, .78) !important;
    -webkit-text-fill-color: rgba(204, 251, 241, .78) !important;
}

body.public-front .trial-modal-info h2#trial-modal-title {
    max-width: 520px !important;
    font-size: clamp(29px, 2.95vw, 42px) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

body.public-front .trial-modal-info p {
    max-width: 500px !important;
    color: rgba(240, 253, 250, .82) !important;
    -webkit-text-fill-color: rgba(240, 253, 250, .82) !important;
}

body.public-front .trial-feature-box {
    max-width: 500px !important;
    border-color: rgba(204, 251, 241, .22) !important;
    background: rgba(255, 255, 255, .10) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 18px 45px rgba(2, 44, 34, .12) !important;
}

body.public-front .trial-feature-box strong {
    color: rgba(240, 253, 250, .9) !important;
    -webkit-text-fill-color: rgba(240, 253, 250, .9) !important;
}

body.public-front .trial-modal-form {
    padding: 22px !important;
    border: 1px solid rgba(15, 118, 110, .14) !important;
    background: rgba(255, 255, 255, .9) !important;
    color: #0f172a !important;
    backdrop-filter: blur(18px) saturate(1.05) !important;
    box-shadow: 0 28px 70px rgba(15, 23, 42, .16), inset 0 1px 0 rgba(255, 255, 255, .92) !important;
}

body.public-front .trial-modal-form label {
    color: #475569 !important;
    -webkit-text-fill-color: #475569 !important;
    font-size: 9.5px !important;
    font-weight: 900 !important;
}

body.public-front .trial-modal-form input {
    height: 34px !important;
    min-height: 34px !important;
    border: 1px solid #e2e8f0 !important;
    background: rgba(255, 255, 255, .94) !important;
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
    box-shadow: 0 1px 0 rgba(15, 23, 42, .02) !important;
}

body.public-front .trial-modal-form input::placeholder {
    color: #94a3b8 !important;
    -webkit-text-fill-color: #94a3b8 !important;
}

body.public-front .trial-modal-form input:focus {
    border-color: #14b8a6 !important;
    background: #ffffff !important;
    box-shadow: 0 0 0 4px rgba(20, 184, 166, .13) !important;
}

body.public-front .trial-logo-field em,
body.public-front .trial-native-file,
body.public-front .trial-footnote {
    color: #64748b !important;
    -webkit-text-fill-color: #64748b !important;
}

body.public-front .trial-native-file::file-selector-button,
body.public-front .trial-native-file::-webkit-file-upload-button {
    background: #0f766e !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

body.public-front .trial-logo-preview {
    border-color: #dbeafe !important;
    background: #f8fafc !important;
}

body.public-front .trial-logo-preview[hidden] {
    display: none !important;
}

body.public-front .trial-logo-preview::after {
    color: #334155 !important;
    -webkit-text-fill-color: #334155 !important;
}

body.public-front .trial-logo-preview button {
    color: #b91c1c !important;
    -webkit-text-fill-color: #b91c1c !important;
}

body.public-front .trial-password-control button {
    color: #0f766e !important;
    -webkit-text-fill-color: #0f766e !important;
}

body.public-front .trial-terms {
    flex-direction: row !important;
    justify-content: center !important;
}

body.public-front .trial-terms span {
    color: #475569 !important;
    -webkit-text-fill-color: #475569 !important;
}

body.public-front .trial-submit {
    background: linear-gradient(135deg, #0f766e 0%, #0d9488 100%) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    box-shadow: 0 16px 34px rgba(15, 118, 110, .22) !important;
}

body.public-front .trial-modal-close {
    border-color: rgba(15, 118, 110, .13) !important;
    background: rgba(255, 255, 255, .92) !important;
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
    box-shadow: 0 14px 34px rgba(15, 23, 42, .12) !important;
}

/* FitCore branded trial modal skin: teal, ivory, crisp product UI. */
body.public-front .trial-modal {
    background:
        radial-gradient(circle at 12% 16%, rgba(20, 184, 166, .26), transparent 28%),
        radial-gradient(circle at 58% 8%, rgba(255, 255, 255, .14), transparent 24%),
        linear-gradient(135deg, #07574f 0%, #0b6f67 42%, #f8f5ee 42.2%, #ffffff 100%) !important;
    box-shadow: 0 34px 90px rgba(15, 23, 42, .32) !important;
}

body.public-front .trial-modal-shell {
    gap: 34px !important;
}

body.public-front .trial-modal-info {
    padding-left: 34px !important;
    position: relative !important;
}

body.public-front .trial-modal-info::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    inset: 20px auto 20px 18px !important;
    width: 1px !important;
    background: linear-gradient(180deg, transparent, rgba(255, 255, 255, .28), transparent) !important;
}

body.public-front .trial-modal-info .trial-modal-kicker {
    color: rgba(204, 251, 241, .78) !important;
    -webkit-text-fill-color: rgba(204, 251, 241, .78) !important;
}

body.public-front .trial-modal-info h2#trial-modal-title {
    max-width: 520px !important;
    font-size: clamp(29px, 2.95vw, 42px) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    text-wrap: balance !important;
}

body.public-front .trial-modal-info p {
    max-width: 500px !important;
    color: rgba(240, 253, 250, .82) !important;
    -webkit-text-fill-color: rgba(240, 253, 250, .82) !important;
}

body.public-front .trial-feature-box {
    max-width: 500px !important;
    border-color: rgba(204, 251, 241, .22) !important;
    background: rgba(255, 255, 255, .10) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 18px 45px rgba(2, 44, 34, .12) !important;
}

body.public-front .trial-feature-box strong {
    color: rgba(240, 253, 250, .9) !important;
    -webkit-text-fill-color: rgba(240, 253, 250, .9) !important;
}

body.public-front .trial-modal-form {
    padding: 22px !important;
    border: 1px solid rgba(15, 118, 110, .13) !important;
    background: rgba(255, 255, 255, .88) !important;
    color: #0f172a !important;
    backdrop-filter: blur(18px) saturate(1.05) !important;
    box-shadow: 0 28px 70px rgba(15, 23, 42, .16), inset 0 1px 0 rgba(255, 255, 255, .9) !important;
}

body.public-front .trial-modal-form label {
    color: #475569 !important;
    -webkit-text-fill-color: #475569 !important;
    font-size: 9.5px !important;
    font-weight: 900 !important;
    letter-spacing: .025em !important;
}

body.public-front .trial-modal-form input {
    height: 34px !important;
    min-height: 34px !important;
    border: 1px solid #e2e8f0 !important;
    background: rgba(255, 255, 255, .94) !important;
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
    box-shadow: 0 1px 0 rgba(15, 23, 42, .02) !important;
}

body.public-front .trial-modal-form input::placeholder {
    color: #94a3b8 !important;
    -webkit-text-fill-color: #94a3b8 !important;
}

body.public-front .trial-modal-form input:focus {
    border-color: #14b8a6 !important;
    background: #ffffff !important;
    box-shadow: 0 0 0 4px rgba(20, 184, 166, .13) !important;
}

body.public-front .trial-logo-field em {
    color: #64748b !important;
    -webkit-text-fill-color: #64748b !important;
}

body.public-front .trial-native-file {
    color: #64748b !important;
    -webkit-text-fill-color: #64748b !important;
}

body.public-front .trial-native-file::file-selector-button,
body.public-front .trial-native-file::-webkit-file-upload-button {
    background: #0f766e !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

body.public-front .trial-logo-preview {
    border-color: #dbeafe !important;
    background: #f8fafc !important;
}

body.public-front .trial-logo-preview::after {
    color: #334155 !important;
    -webkit-text-fill-color: #334155 !important;
}

body.public-front .trial-logo-preview button {
    color: #b91c1c !important;
    -webkit-text-fill-color: #b91c1c !important;
}

body.public-front .trial-password-control button {
    color: #0f766e !important;
    -webkit-text-fill-color: #0f766e !important;
}

body.public-front .trial-terms {
    flex-direction: row !important;
    justify-content: center !important;
}

body.public-front .trial-terms span {
    color: #475569 !important;
    -webkit-text-fill-color: #475569 !important;
}

body.public-front .trial-submit {
    background: linear-gradient(135deg, #0f766e 0%, #0d9488 100%) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    box-shadow: 0 16px 34px rgba(15, 118, 110, .22) !important;
}

body.public-front .trial-footnote {
    color: #64748b !important;
    -webkit-text-fill-color: #64748b !important;
}

body.public-front .trial-modal-close {
    border-color: rgba(15, 118, 110, .13) !important;
    background: rgba(255, 255, 255, .92) !important;
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
    box-shadow: 0 14px 34px rgba(15, 23, 42, .12) !important;
}

/* Compact attendance history action. */
body .admin-main.member-main #attendance > .section-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: end !important;
    gap: 12px !important;
}

body .admin-main.member-main #attendance > .section-head > .attendance-view-all-btn {
    width: auto !important;
    min-width: 0 !important;
    max-width: max-content !important;
    min-height: 30px !important;
    height: 30px !important;
    margin: 0 !important;
    padding: 0 10px !important;
    border-radius: 9px !important;
    font-size: 11px !important;
    line-height: 1 !important;
    justify-self: end !important;
}

body .admin-main.member-main #attendance > .section-head > .attendance-view-all-btn i {
    font-size: 11px !important;
}

/* Dedicated Super Admin permissions workspace. */
.permissions-management-section .permissions-admin-list {
    display: grid !important;
    gap: 14px !important;
}

.permissions-management-section .permission-assignment-selector {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(320px, .9fr) !important;
    align-items: center !important;
    gap: 18px !important;
    margin-bottom: 16px !important;
    padding: 16px !important;
    border: 1px solid rgba(15, 118, 110, .14) !important;
    border-radius: 16px !important;
    background: linear-gradient(135deg, rgba(15, 118, 110, .06), rgba(255, 255, 255, .82)) !important;
}

.permission-assignment-selector-copy {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

.permission-assignment-selector-copy > div {
    display: grid !important;
    gap: 4px !important;
}

.permission-assignment-selector-copy small,
.permission-assignment-selector .field label {
    color: #64748b !important;
    font-size: 11px !important;
}

.permission-assignment-icon {
    width: 38px !important;
    height: 38px !important;
    display: inline-grid !important;
    place-items: center !important;
    flex: 0 0 38px !important;
    border-radius: 11px !important;
    background: #0f766e !important;
    color: #fff !important;
    font-size: 17px !important;
}

.permission-assignment-selector .field {
    margin: 0 !important;
}

.permission-selection-empty {
    min-height: 150px !important;
    display: grid !important;
    place-items: center !important;
    align-content: center !important;
    gap: 6px !important;
    padding: 24px !important;
    border: 1px dashed rgba(15, 118, 110, .24) !important;
    border-radius: 16px !important;
    color: #64748b !important;
    text-align: center !important;
}

.permission-selection-empty > i {
    color: #0f766e !important;
    font-size: 24px !important;
}

.permissions-management-section [hidden] {
    display: none !important;
}

/* Compact Permissions workspace while retaining the normal page footer. */
body .admin-main .permissions-management-section {
    margin-top: 10px !important;
    padding: 15px 18px !important;
}

body .admin-main .permissions-management-section > .section-head.compact {
    min-height: 0 !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
}

body .admin-main .permissions-management-section > .section-head h3 {
    margin: 5px 0 3px !important;
    font-size: 20px !important;
    line-height: 1.15 !important;
}

body .admin-main .permissions-management-section > .section-head p {
    margin: 0 !important;
    font-size: 12px !important;
}

body .admin-main .permissions-management-section > .section-head .kicker {
    min-height: 22px !important;
    padding: 3px 9px !important;
    font-size: 8px !important;
}

body .admin-main .permissions-management-section .permission-assignment-selector {
    margin-bottom: 10px !important;
    padding: 11px 13px !important;
    gap: 12px !important;
}

body .admin-main .permissions-management-section .permission-selection-empty {
    min-height: 92px !important;
    padding: 12px !important;
    gap: 3px !important;
}

body .admin-main .permissions-management-section .permission-selection-empty > i {
    font-size: 19px !important;
}

.permissions-management-section .permission-module-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    align-items: start !important;
}

.permissions-management-section .permission-module {
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 14px !important;
    background: #fff !important;
}

.permissions-management-section .permission-module > legend {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.permissions-management-section .permission-module-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 8px !important;
    padding-right: 10px !important;
    background: #f8fafc !important;
}

.permissions-management-section .permission-module-toggle {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 9px !important;
    padding: 11px 12px !important;
    background: transparent !important;
    cursor: pointer !important;
}

.permissions-management-section .permission-children-toggle {
    width: auto !important;
    min-width: 0 !important;
    min-height: 26px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    padding: 4px 7px !important;
    border: 1px solid rgba(15, 118, 110, .15) !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #0f766e !important;
    -webkit-text-fill-color: #0f766e !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    box-shadow: none !important;
}

.permissions-management-section .permission-children-toggle > i {
    font-size: 9px !important;
    transition: transform .18s ease !important;
}

.permissions-management-section .permission-children-toggle[aria-expanded="true"] > i {
    transform: rotate(180deg) !important;
}

.permissions-management-section .permission-module-toggle > span {
    display: grid !important;
    gap: 3px !important;
}

.permissions-management-section .permission-module-toggle strong {
    color: #0f172a !important;
    font-size: 12px !important;
}

.permissions-management-section .permission-module-toggle small {
    color: #64748b !important;
    font-size: 9px !important;
    line-height: 1.3 !important;
}

.permissions-management-section .permission-module input[type="checkbox"] {
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
    min-height: 16px !important;
    max-width: 16px !important;
    max-height: 16px !important;
    padding: 0 !important;
    margin: 1px 0 0 !important;
    border: 0 !important;
    border-radius: 3px !important;
    background: transparent !important;
    box-shadow: none !important;
    appearance: auto !important;
    -webkit-appearance: checkbox !important;
    accent-color: #0f766e !important;
}

.permissions-management-section .permission-children {
    display: grid !important;
    gap: 0 !important;
    padding: 5px 11px 8px !important;
}

.permissions-management-section .permission-child {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 8px !important;
    min-height: 30px !important;
    padding: 5px 2px !important;
    border-bottom: 1px solid rgba(226, 232, 240, .72) !important;
    color: #475569 !important;
    font-size: 10px !important;
    line-height: 1.25 !important;
    cursor: pointer !important;
}

.permissions-management-section .permission-child:last-child {
    border-bottom: 0 !important;
}

.permissions-management-section [data-permission-children][hidden] {
    display: none !important;
}

@media (max-width: 1100px) {
    .permissions-management-section .permission-module-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 680px) {
    .permissions-management-section .permission-module-grid {
        grid-template-columns: 1fr !important;
    }
}

/* Premium branded FitCore loader for public pages and Super Admin. */
body .page-loader {
    position: fixed !important;
    inset: 0 !important;
    z-index: 99999 !important;
    display: grid !important;
    place-items: center !important;
    padding: 20px !important;
    background:
        radial-gradient(circle at 50% 45%, rgba(15, 118, 110, .075), transparent 28%),
        rgba(248, 250, 249, .72) !important;
    backdrop-filter: blur(12px) saturate(.94) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: opacity .14s ease, visibility .14s ease !important;
}

body .page-loader.active {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

.fitcore-loader-card {
    width: min(220px, calc(100vw - 40px)) !important;
    display: grid !important;
    justify-items: center !important;
    gap: 9px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    animation: fitcoreLoaderEnter .22s ease both !important;
}

.fitcore-loader-mark {
    position: relative !important;
    width: 152px !important;
    height: 48px !important;
    display: grid !important;
    place-items: center !important;
    overflow: visible !important;
    filter: drop-shadow(0 10px 22px rgba(15, 23, 42, .10)) !important;
}

.fitcore-loader-mark img {
    position: relative !important;
    z-index: 2 !important;
    width: 148px !important;
    max-width: 148px !important;
    height: 48px !important;
    display: block !important;
    object-fit: contain !important;
    object-position: center !important;
    border-radius: 0 !important;
    animation: fitcoreLogoPulse 1.65s ease-in-out infinite !important;
}

.fitcore-loader-mark > i {
    display: none !important;
    content: none !important;
}

.fitcore-loader-copy {
    display: grid !important;
    justify-items: center !important;
    gap: 2px !important;
    text-align: center !important;
    margin-top: 0 !important;
}

.fitcore-loader-copy strong {
    color: #0f172a !important;
    font-size: 12.5px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
    letter-spacing: -.01em !important;
}

.fitcore-loader-copy small {
    color: #64748b !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
    font-weight: 650 !important;
}

.fitcore-loader-progress {
    width: 156px !important;
    height: 2px !important;
    overflow: hidden !important;
    border-radius: 999px !important;
    background: rgba(15, 118, 110, .13) !important;
}

.fitcore-loader-progress > i {
    width: 40% !important;
    height: 100% !important;
    display: block !important;
    border-radius: inherit !important;
    background: linear-gradient(90deg, #0f766e, #14b8a6, #0f766e) !important;
    animation: fitcoreProgress .95s ease-in-out infinite !important;
}

@keyframes fitcoreLoaderEnter {
    from { opacity: 0; transform: translateY(8px) scale(.98); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes fitcoreLogoPulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.025); }
}

@keyframes fitcoreMarkGlow {
    0%, 100% { opacity: .45; transform: scale(.98); }
    50% { opacity: 1; transform: scale(1.03); }
}

@keyframes fitcoreProgress {
    0% { transform: translateX(-115%); }
    55% { transform: translateX(85%); }
    100% { transform: translateX(240%); }
}

@media (prefers-reduced-motion: reduce) {
    .fitcore-loader-card,
    .fitcore-loader-mark img,
    .fitcore-loader-mark > i,
    .fitcore-loader-progress > i {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}

/* One-screen public contact form: compact spacing without removing fields. */
body .fitcore-contact-form.contact-form-balanced {
    padding: 14px 16px !important;
    gap: 0 !important;
}

body .fitcore-contact-form.contact-form-balanced .field {
    margin: 0 0 7px !important;
}

body .fitcore-contact-form.contact-form-balanced label {
    display: block !important;
    margin: 0 0 3px !important;
    font-size: 10px !important;
    line-height: 1.15 !important;
}

body .fitcore-contact-form.contact-form-balanced input {
    height: 40px !important;
    min-height: 40px !important;
    padding: 8px 11px !important;
    border-radius: 10px !important;
    font-size: 12px !important;
}

body .fitcore-contact-form.contact-form-balanced textarea {
    height: 72px !important;
    min-height: 72px !important;
    padding: 9px 11px !important;
    border-radius: 10px !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    resize: vertical !important;
}

body .fitcore-contact-form.contact-form-balanced > .btn[type="submit"] {
    width: max-content !important;
    min-width: 0 !important;
    min-height: 34px !important;
    margin-top: 1px !important;
    padding: 7px 12px !important;
    font-size: 11px !important;
    border-radius: 9px !important;
}

body .section:has(.fitcore-contact-form) {
    padding-top: 22px !important;
    padding-bottom: 22px !important;
}

/* Keep the login Remember Me checkbox out of text-input sizing rules. */
body .login-card .remember-check input[type="checkbox"] {
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
    min-height: 16px !important;
    max-width: 16px !important;
    max-height: 16px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 3px !important;
    background: transparent !important;
    box-shadow: none !important;
    appearance: auto !important;
    -webkit-appearance: checkbox !important;
    accent-color: #0f766e !important;
}

/* Login page: keep the auth card only as tall as its content. */
body .login-panel {
    align-items: flex-start !important;
}

body .login-panel .login-card {
    flex: 0 0 auto !important;
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    padding-bottom: 22px !important;
}

body .login-panel .auth-note {
    margin: 10px 0 0 !important;
    padding-top: 12px !important;
    border-top: 1px solid rgba(15, 23, 42, .08) !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
}

/* Login page: smaller, more balanced two-card presentation. */
body .login-screen {
    min-height: 0 !important;
    padding: 18px 0 !important;
    justify-content: flex-start !important;
}

body .page-shell:has(.login-screen) {
    min-height: 0 !important;
    background: var(--secondary-bg, #f7f5ef) !important;
}

html:has(.login-screen),
body:has(.login-screen) {
    background: var(--secondary-bg, #f7f5ef) !important;
}

body .login-screen + .site-footer.fitcore-copyright-footer {
    background: var(--secondary-bg, #f7f5ef) !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}

body .login-shell {
    width: min(100% - 76px, 1090px) !important;
    grid-template-columns: minmax(0, 610px) minmax(420px, 460px) !important;
    justify-content: center !important;
    align-items: stretch !important;
    gap: 18px !important;
}

body .login-preview,
body .login-panel .login-card {
    border-radius: 18px !important;
    padding: 20px !important;
}

body .login-preview {
    min-height: 100% !important;
    max-height: none !important;
    gap: 18px !important;
    justify-content: flex-start !important;
    padding-bottom: 24px !important;
}

body .login-panel {
    align-items: stretch !important;
}

body .login-panel .login-card {
    height: auto !important;
}

body .login-brand .brand-mark {
    width: 142px !important;
    height: 48px !important;
    min-width: 142px !important;
    border-radius: 14px !important;
    padding: 9px 16px !important;
    overflow: hidden !important;
}

body .login-brand .brand-mark img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
    border-radius: 0 !important;
}

body .login-brand span:not(.brand-mark) {
    display: none !important;
}

body .login-preview-copy {
    margin-top: 0 !important;
    gap: 7px !important;
}

body .login-preview-copy h1 {
    max-width: 560px !important;
    font-size: clamp(23px, 2.05vw, 32px) !important;
    line-height: 1.07 !important;
    letter-spacing: -.02em !important;
}

body .login-preview-copy p {
    max-width: 560px !important;
    font-size: 12px !important;
    line-height: 1.36 !important;
}

body .login-stat-strip {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 7px !important;
    max-width: none !important;
}

body .login-stat-card {
    flex: 0 0 118px !important;
    width: 118px !important;
    min-width: 118px !important;
    max-width: 118px !important;
    min-height: 62px !important;
    padding: 9px 10px !important;
    border-radius: 11px !important;
    display: grid !important;
    align-content: center !important;
    gap: 3px !important;
}

body .login-stat-card i {
    font-size: 12px !important;
    margin-bottom: 2px !important;
}

body .login-stat-card span {
    font-size: 8.5px !important;
    line-height: 1.12 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

body .login-stat-card strong {
    margin-top: 1px !important;
    font-size: 13px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

body .login-stat-card strong span {
    display: inline !important;
    margin: 0 !important;
    color: inherit !important;
    font: inherit !important;
    line-height: inherit !important;
    letter-spacing: inherit !important;
    white-space: inherit !important;
}

body .login-trust-panel {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
    max-width: 650px !important;
    margin-top: 2px !important;
    padding: 10px !important;
    border: 1px solid rgba(15, 118, 110, .12) !important;
    border-radius: 15px !important;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, .74), rgba(240, 253, 250, .54)) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8) !important;
}

body .login-trust-panel div {
    min-height: 58px !important;
    padding: 9px 10px !important;
    border-radius: 12px !important;
    background: rgba(255, 255, 255, .72) !important;
    border: 1px solid rgba(15, 23, 42, .06) !important;
}

body .login-trust-panel i {
    display: inline-flex !important;
    margin-bottom: 5px !important;
    color: #0f766e !important;
    font-size: 13px !important;
}

body .login-trust-panel span {
    display: block !important;
    color: #0f766e !important;
    font-size: 9px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: .04em !important;
    line-height: 1.1 !important;
}

body .login-trust-panel strong {
    display: block !important;
    margin-top: 4px !important;
    color: #334155 !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    line-height: 1.18 !important;
}

/* Gym admin trial status banner. */
.trial-status-banner {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
    margin: 0 0 14px !important;
    padding: 14px 16px !important;
    border-radius: 16px !important;
    border: 1px solid rgba(15, 23, 42, .08) !important;
    background: #fff !important;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .055) !important;
}

.trial-status-banner span {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    color: #0f766e !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: .04em !important;
}

.trial-status-banner strong {
    display: block !important;
    margin-top: 5px !important;
    color: #0f172a !important;
    font-size: 20px !important;
    line-height: 1 !important;
}

.trial-status-banner p {
    margin: 6px 0 0 !important;
    color: #64748b !important;
    font-size: 12px !important;
}

.trial-status-warning {
    background: linear-gradient(135deg, #fff, #fffbeb) !important;
    border-color: rgba(217, 119, 6, .18) !important;
}

.trial-status-warning span {
    color: #b45309 !important;
}

.trial-status-danger {
    background: linear-gradient(135deg, #fff, #fef2f2) !important;
    border-color: rgba(220, 38, 38, .18) !important;
}

.trial-status-danger span {
    color: #dc2626 !important;
}

/* Super admin trial accounts section. */
.trial-accounts-section .trial-summary-grid {
    grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin-bottom: 14px !important;
}

.trial-accounts-section .trial-summary-grid .dash-card {
    min-height: 74px !important;
    padding: 12px !important;
    border-radius: 14px !important;
}

.trial-accounts-section .trial-summary-grid h3 {
    font-size: 22px !important;
    margin-top: 5px !important;
}

.trial-filter-bar {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 220px auto !important;
    gap: 10px !important;
    margin: 14px 0 !important;
}

.trial-filter-bar input,
.trial-filter-bar select {
    min-height: 40px !important;
    border: 1px solid rgba(15, 23, 42, .1) !important;
    border-radius: 12px !important;
    padding: 0 12px !important;
    background: #fff !important;
    color: #0f172a !important;
    font-weight: 700 !important;
}

.trial-company-cell {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

.trial-company-cell img {
    width: 42px !important;
    height: 42px !important;
    object-fit: contain !important;
    border-radius: 12px !important;
    background: #f8fafc !important;
    border: 1px solid rgba(15, 23, 42, .08) !important;
    padding: 5px !important;
}

.trial-company-cell small {
    display: block !important;
    margin-top: 3px !important;
    color: #64748b !important;
}

.trial-pagination {
    margin-top: 14px !important;
}

@media (max-width: 1180px) {
    .trial-accounts-section .trial-summary-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    .trial-filter-bar {
        grid-template-columns: 1fr !important;
    }
}

body .login-panel .login-card {
    gap: 9px !important;
    max-width: 370px !important;
    padding: 16px 18px !important;
}

body .login-panel .auth-badge {
    min-height: 24px !important;
    padding: 4px 10px !important;
    font-size: 9.5px !important;
    gap: 6px !important;
}

body .login-panel .auth-badge i {
    font-size: 12px !important;
}

body .login-card h2 {
    margin: 3px 0 1px !important;
    font-size: 23px !important;
    line-height: 1.05 !important;
    letter-spacing: -.02em !important;
}

body .login-card h2 + p {
    margin: 0 !important;
    font-size: 11.5px !important;
    line-height: 1.3 !important;
}

body .login-form,
body .login-card .field {
    gap: 7px !important;
}

body .login-card .field label {
    font-size: 10px !important;
    letter-spacing: .035em !important;
}

/* Membership package management: compact, aligned controls without inherited card sizing. */
body .admin-main .membership-packages-section {
    min-height: 0 !important;
    padding: 20px 22px !important;
}

body .admin-main .membership-packages-section > .plan-discount-form {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 14px 18px !important;
    align-items: start !important;
    margin: 14px 0 18px !important;
}

body .admin-main .membership-packages-section > .plan-discount-form .field {
    display: grid !important;
    gap: 6px !important;
    min-width: 0 !important;
}

body .admin-main .membership-packages-section .plan-custom-duration-field[hidden] {
    display: none !important;
}

body .admin-main .membership-packages-section .plan-custom-duration-field small {
    margin: 0 !important;
    color: #718096 !important;
    font-size: 11px !important;
    line-height: 1.3 !important;
}

body .admin-main .membership-packages-section > .plan-discount-form .field label {
    margin: 0 !important;
    color: #52627a !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
}

body .admin-main .membership-packages-section > .plan-discount-form .field input,
body .admin-main .membership-packages-section > .plan-discount-form .field select {
    width: 100% !important;
    height: 48px !important;
    min-height: 48px !important;
    padding: 0 16px !important;
}

body .admin-main .membership-packages-section > .plan-discount-form .discount-preview {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
    align-self: end !important;
    justify-self: stretch !important;
    min-height: 48px !important;
    height: 48px !important;
    padding: 0 14px !important;
}

body .admin-main .membership-packages-section .package-feature-toggle {
    display: inline-flex !important;
    align-items: center !important;
    align-self: end !important;
    justify-self: start !important;
    gap: 9px !important;
    width: auto !important;
    min-height: 48px !important;
    margin: 0 !important;
    color: #52627a !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    letter-spacing: .035em !important;
    text-transform: uppercase !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

body .admin-main .membership-packages-section .package-feature-toggle input[type="checkbox"] {
    appearance: auto !important;
    -webkit-appearance: checkbox !important;
    display: inline-block !important;
    flex: 0 0 17px !important;
    width: 17px !important;
    min-width: 17px !important;
    max-width: 17px !important;
    height: 17px !important;
    min-height: 17px !important;
    max-height: 17px !important;
    margin: 0 !important;
    padding: 0 !important;
    accent-color: #0f766e !important;
}

body .admin-main .membership-packages-section > .plan-discount-form > .btn {
    grid-column: 1 !important;
    align-self: start !important;
    min-width: 0 !important;
    min-height: 42px !important;
    padding: 9px 16px !important;
}

/* When the exact-date calendar is open, keep the calculated amount level with
   Package duration and give the calendar a dedicated, deliberate row below. */
@media (min-width: 861px) {
    body .admin-main .membership-packages-section > .plan-discount-form:has(.plan-custom-duration-field:not([hidden])) .plan-duration-field {
        grid-column: 1 !important;
        grid-row: 2 !important;
    }

    body .admin-main .membership-packages-section > .plan-discount-form:has(.plan-custom-duration-field:not([hidden])) .plan-discount-field {
        grid-column: 2 !important;
        grid-row: 2 !important;
    }

    body .admin-main .membership-packages-section > .plan-discount-form:has(.plan-custom-duration-field:not([hidden])) .plan-custom-duration-field {
        grid-column: 1 / span 2 !important;
        grid-row: 3 !important;
        max-width: none !important;
    }

    body .admin-main .membership-packages-section > .plan-discount-form:has(.plan-custom-duration-field:not([hidden])) > .btn {
        grid-column: 1 !important;
        grid-row: 4 !important;
    }
}

body .admin-main .membership-packages-section > .grid-4 {
    align-items: start !important;
    gap: 16px !important;
    margin-top: 16px !important;
}

body .admin-main .membership-packages-section .admin-package-card {
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 16px !important;
    align-self: start !important;
    gap: 0 !important;
}

body .admin-main .membership-packages-section .admin-package-card .plan-discount-form {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px 12px !important;
    align-items: end !important;
    margin: 0 !important;
}

body .admin-main .membership-packages-section .admin-package-card .field {
    display: grid !important;
    gap: 5px !important;
    min-width: 0 !important;
}

body .admin-main .membership-packages-section .admin-package-card .field:first-child,
body .admin-main .membership-packages-section .admin-package-card .discount-preview,
body .admin-main .membership-packages-section .admin-package-card .muted,
body .admin-main .membership-packages-section .admin-package-card .package-feature-toggle {
    grid-column: 1 / -1 !important;
}

body .admin-main .membership-packages-section .admin-package-card .field label {
    margin: 0 !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: .035em !important;
    text-transform: uppercase !important;
}

body .admin-main .membership-packages-section .admin-package-card .field input,
body .admin-main .membership-packages-section .admin-package-card .field select {
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 12px !important;
    font-size: 13px !important;
}

body .admin-main .membership-packages-section .admin-package-card .discount-preview {
    min-height: 42px !important;
    height: 42px !important;
    padding: 0 12px !important;
}

body .admin-main .membership-packages-section .admin-package-card .muted {
    min-height: 0 !important;
    margin: 0 !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
}

body .admin-main .membership-packages-section .admin-package-card .package-feature-toggle {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    min-height: 20px !important;
    margin: 0 !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
}

body .admin-main .membership-packages-section .admin-package-card .package-feature-toggle input[type="checkbox"] {
    appearance: auto !important;
    -webkit-appearance: checkbox !important;
    flex: 0 0 16px !important;
    width: 16px !important;
    min-width: 16px !important;
    max-width: 16px !important;
    height: 16px !important;
    min-height: 16px !important;
    max-height: 16px !important;
    margin: 0 !important;
    padding: 0 !important;
    accent-color: #0f766e !important;
}

body .admin-main .membership-packages-section .admin-package-card .plan-discount-form > .btn {
    grid-column: 1 / -1 !important;
    justify-self: start !important;
    width: auto !important;
    min-width: 104px !important;
    min-height: 38px !important;
    padding: 8px 14px !important;
}

body .admin-main .membership-packages-section .admin-package-card .plan-delete-form {
    margin: 10px 0 0 !important;
}

body .admin-main .membership-packages-section .admin-package-card .plan-delete-form .btn {
    width: auto !important;
    min-width: 104px !important;
    min-height: 38px !important;
    padding: 8px 14px !important;
}

@media (max-width: 560px) {
    body .admin-main .membership-packages-section > .plan-discount-form,
    body .admin-main .membership-packages-section .admin-package-card .plan-discount-form {
        grid-template-columns: 1fr !important;
    }

    body .admin-main .membership-packages-section > .plan-discount-form > .btn,
    body .admin-main .membership-packages-section .admin-package-card .plan-discount-form > .btn {
        grid-column: 1 !important;
    }
}

body .login-card input,
body .login-card select,
body .login-card textarea,
body .login-card .password-control,
body .login-card .password-control input {
    height: 38px !important;
    min-height: 38px !important;
    font-size: 11.5px !important;
}

body .login-card .auth-input-wrap {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    height: 38px !important;
    min-height: 38px !important;
    padding: 0 15px !important;
    border-radius: 12px !important;
}

body .login-card .auth-input-wrap > i {
    width: 16px !important;
    min-width: 16px !important;
    display: inline-flex !important;
    justify-content: center !important;
    font-size: 14px !important;
}

body .login-card .auth-input-wrap input {
    flex: 1 1 auto !important;
    height: 100% !important;
    min-height: 0 !important;
    width: 100% !important;
    padding: 0 38px 0 42px !important;
    border: 0 !important;
    line-height: 38px !important;
    box-sizing: border-box !important;
}

body .login-card .auth-input-wrap:not(.password-control) input {
    padding-right: 12px !important;
}

body .login-card .auth-input-wrap > i {
    position: absolute !important;
    left: 15px !important;
}

body .login-card .password-control.auth-input-wrap button[data-toggle-password] {
    width: 22px !important;
    min-width: 22px !important;
    height: 22px !important;
    min-height: 22px !important;
}

body .login-card .login-options {
    gap: 10px !important;
    margin-top: -1px !important;
}

body .login-options label,
body .login-options a {
    font-size: 12px !important;
}

body .login-card .login-submit {
    width: min(100%, 94%) !important;
    min-height: 34px !important;
    height: 34px !important;
    max-width: 520px !important;
    align-self: stretch !important;
    justify-self: center !important;
    padding: 0 14px !important;
    border-radius: 10px !important;
    font-size: 12px !important;
    font-weight: 850 !important;
    background: linear-gradient(135deg, #0f766e 0%, #0f8276 100%) !important;
    box-shadow: 0 10px 22px rgba(15, 118, 110, .14) !important;
    transition: background .2s ease, box-shadow .2s ease, transform .2s ease, border-color .2s ease !important;
}

body .login-card .login-submit:hover,
body .login-card .login-submit:focus-visible {
    background: linear-gradient(135deg, #0b5f59 0%, #0d9488 100%) !important;
    border-color: rgba(13, 148, 136, .45) !important;
    box-shadow: 0 14px 30px rgba(15, 118, 110, .22), 0 0 0 4px rgba(20, 184, 166, .08) !important;
    transform: translateY(-1px) !important;
}

body .login-card .login-submit:active {
    transform: translateY(0) !important;
    box-shadow: 0 8px 18px rgba(15, 118, 110, .16) !important;
}

body .login-panel .auth-note {
    margin-top: 8px !important;
    padding-top: 10px !important;
    font-size: 11px !important;
    line-height: 1.32 !important;
}

/* Professional FitCore public-navigation login action. */
body .navbar .nav-links .nav-login-btn {
    width: auto !important;
    min-width: 0 !important;
    min-height: 40px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    padding: 7px 11px !important;
    border: 1px solid rgba(15, 118, 110, .24) !important;
    border-radius: 10px !important;
    background: linear-gradient(180deg, #ffffff, #fbfdfc) !important;
    color: #0f766e !important;
    -webkit-text-fill-color: #0f766e !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .01em !important;
    line-height: 1 !important;
    box-shadow: 0 4px 12px rgba(15, 23, 42, .055) !important;
    transform: none !important;
    transition: background-color .18s ease, box-shadow .18s ease, transform .18s ease !important;
}

body .navbar .nav-links .nav-login-btn:hover {
    border-color: rgba(15, 118, 110, .45) !important;
    background: #f0f8f6 !important;
    color: #0b655e !important;
    -webkit-text-fill-color: #0b655e !important;
    box-shadow: 0 6px 15px rgba(15, 118, 110, .10) !important;
    transform: translateY(-1px) !important;
}

body .navbar .nav-links .nav-login-btn > i {
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    color: inherit !important;
    -webkit-text-fill-color: currentColor !important;
    font-size: 14px !important;
}

body .navbar .nav-links .nav-login-btn > span {
    color: inherit !important;
    -webkit-text-fill-color: currentColor !important;
}

/* Minimal five-dot loader for Admin, Member, and Trainer workspaces. */
body .page-loader.legacy-page-loader {
    background: rgba(255, 255, 255, .91) !important;
    backdrop-filter: blur(1.5px) !important;
}

/* Admin, Member, and Trainer now share the compact FitCore workspace loader. */
body .admin-shell .fitcore-page-loader,
body .dashboard-shell .fitcore-page-loader,
body .member-shell .fitcore-page-loader {
    background:
        radial-gradient(circle at 50% 45%, rgba(15, 118, 110, .075), transparent 28%),
        rgba(248, 250, 249, .72) !important;
}

/* Net profit communicates outcome at a glance without changing the calculation. */
#finance .dash-card .net-profit-value.profit-positive {
    color: #087f76 !important;
}

#finance .dash-card .net-profit-value.profit-negative {
    color: #bd2d36 !important;
}

.legacy-loader-dots {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
}

.legacy-loader-dots > i {
    width: 13px !important;
    height: 13px !important;
    display: block !important;
    border-radius: 50% !important;
    background: #f59e0b !important;
    box-shadow: 0 2px 6px rgba(15, 23, 42, .12) !important;
    animation: workspaceDotWave .85s ease-in-out infinite alternate !important;
}

.legacy-loader-dots > i:nth-child(1) { background: #ff8a00 !important; animation-delay: -.40s !important; }
.legacy-loader-dots > i:nth-child(2) { background: #ff6b22 !important; animation-delay: -.30s !important; }
.legacy-loader-dots > i:nth-child(3) { background: #ff4057 !important; animation-delay: -.20s !important; }
.legacy-loader-dots > i:nth-child(4) { background: #ff277f !important; animation-delay: -.10s !important; }
.legacy-loader-dots > i:nth-child(5) { background: #f0008b !important; animation-delay: 0s !important; }

@keyframes workspaceDotWave {
    0% { opacity: .5; transform: translateY(3px) scale(.82); }
    100% { opacity: 1; transform: translateY(-3px) scale(1); }
}

@media (prefers-reduced-motion: reduce) {
    .legacy-loader-dots > i {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
    }
}

.permissions-management-section .permission-panel {
    margin: 0 !important;
}

.permissions-management-section .permission-editor-dialog {
    width: min(1120px, calc(100vw - 36px)) !important;
    max-width: 1120px !important;
    max-height: calc(100vh - 36px) !important;
    padding: 22px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    border-radius: 20px !important;
}

.permissions-management-section .permission-editor-dialog::backdrop {
    background: rgba(15, 23, 42, .58) !important;
    backdrop-filter: blur(5px) !important;
}

.permissions-management-section .permission-editor-dialog > .permission-panel {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.permissions-management-section .permission-editor-dialog .permission-panel-head {
    padding-right: 38px !important;
}

@media (max-width: 720px) {
    .permissions-management-section .permission-assignment-selector {
        grid-template-columns: 1fr !important;
    }

    .permissions-management-section .permission-panel-head {
        display: grid !important;
        gap: 10px !important;
    }
}

/* Add Gym modal: prevent hover overflow and keep the submit action compact. */
body .create-gym-modal {
    overflow-x: hidden !important;
}

body .create-gym-modal .create-gym-form > .btn[type="submit"] {
    width: max-content !important;
    min-width: 0 !important;
    min-height: 34px !important;
    padding: 7px 12px !important;
    gap: 5px !important;
    justify-self: end !important;
    font-size: 11px !important;
    border-radius: 9px !important;
    transform: none !important;
}

body .create-gym-modal .create-gym-form > .btn[type="submit"]:hover,
body .create-gym-modal .create-gym-form > .btn[type="submit"]:focus-visible {
    transform: none !important;
}

body .create-gym-modal .create-gym-form > .btn[type="submit"] > i {
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    font-size: 12px !important;
}

@media (max-width: 520px) {
    .super-admin-topbar-title h3 {
        display: none !important;
    }
}

/* Member dashboard compact overview refinement */
.member-main .member-overview-section {
    padding-top: 0 !important;
}

.member-main .member-overview-section > .section-head {
    padding: 10px 14px !important;
    min-height: 64px !important;
    max-height: 86px !important;
    margin-bottom: 8px !important;
    border-radius: 15px !important;
    overflow: hidden !important;
}

.member-main .member-overview-section > .section-head .kicker {
    width: auto !important;
    min-height: 18px !important;
    padding: 3px 8px !important;
    font-size: 7.5px !important;
    line-height: 1.1 !important;
}

.member-main .member-overview-section > .section-head h2 {
    margin: 7px 0 0 !important;
    font-size: clamp(18px, 1.75vw, 24px) !important;
    line-height: 1.04 !important;
    letter-spacing: 0 !important;
}

.member-main .member-overview-section > .stat-grid {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 7px !important;
    align-items: stretch !important;
}

.member-main .member-overview-section > .stat-grid .dash-card {
    width: 100% !important;
    min-height: 46px !important;
    max-height: 86px !important;
    padding: 6px 8px !important;
    border-radius: 10px !important;
    gap: 2px !important;
    overflow: hidden !important;
}

.member-main .member-overview-section > .stat-grid .dash-card .muted {
    font-size: 8px !important;
    line-height: 1.1 !important;
    font-weight: 700 !important;
}

.member-main .member-overview-section > .stat-grid .dash-card h3 {
    margin: 2px 0 0 !important;
    font-size: clamp(13px, 1vw, 17px) !important;
    line-height: 1.02 !important;
    letter-spacing: 0 !important;
}

.member-main .member-overview-section .subscription-badge {
    min-height: 17px !important;
    padding: 2px 6px !important;
    margin-top: 3px !important;
    font-size: 7px !important;
    gap: 3px !important;
}

.member-main .member-overview-section .subscription-badge i {
    width: 12px !important;
    height: 12px !important;
    min-width: 12px !important;
    font-size: 7px !important;
}

.member-main .member-overview-section > .stat-grid .dash-card p {
    margin-top: 3px !important;
    font-size: 7.5px !important;
    line-height: 1.12 !important;
}

@media (max-width: 1180px) {
    .member-main .member-overview-section > .stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 620px) {
    .member-main .member-overview-section > .section-head {
        min-height: 64px !important;
        padding: 12px !important;
    }

    .member-main .member-overview-section > .stat-grid {
        grid-template-columns: 1fr !important;
    }
}

/* Strong member overview override: beats older #overview dashboard rules without touching Admin. */
body .admin-main.member-main #overview.member-overview-section {
    margin-top: 0 !important;
}

body .admin-main.member-main #overview.member-overview-section > .section-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
    min-height: 92px !important;
    max-height: none !important;
    padding: 16px 20px !important;
    margin-bottom: 12px !important;
    border-radius: 18px !important;
    overflow: visible !important;
}

body .admin-main.member-main #overview.member-overview-section > .section-head .kicker {
    width: fit-content !important;
    min-height: 22px !important;
    padding: 4px 10px !important;
    font-size: 9px !important;
    line-height: 1.1 !important;
}

body .admin-main.member-main #overview.member-overview-section > .section-head h2 {
    width: auto !important;
    margin: 10px 0 0 !important;
    font-size: clamp(24px, 2.3vw, 34px) !important;
    line-height: 1.08 !important;
    white-space: normal !important;
}

body .admin-main.member-main #overview.member-overview-section .member-hero-mini {
    width: 230px !important;
    min-width: 230px !important;
    display: inline-grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-areas:
        "label meta"
        "bar bar" !important;
    column-gap: 12px !important;
    row-gap: 6px !important;
    align-items: center !important;
    justify-self: end !important;
    padding: 8px 12px !important;
    border: 1px solid rgba(15, 118, 110, .14) !important;
    border-radius: 999px !important;
    background: rgba(248, 251, 250, .88) !important;
    box-shadow: none !important;
}

body .admin-main.member-main #overview.member-overview-section .member-hero-mini span {
    grid-area: label !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    color: #64748b !important;
    font-size: 8.5px !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: .04em !important;
}

body .admin-main.member-main #overview.member-overview-section .member-hero-mini span i {
    width: 7px !important;
    height: 7px !important;
    display: inline-block !important;
    border-radius: 999px !important;
    background: #16A34A !important;
    box-shadow: 0 0 0 3px rgba(22, 163, 74, .11) !important;
}

body .admin-main.member-main #overview.member-overview-section .member-hero-mini small {
    grid-area: meta !important;
    justify-self: end !important;
    color: #0F766E !important;
    font-size: 9px !important;
    line-height: 1.2 !important;
    font-weight: 750 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 112px !important;
}

body .admin-main.member-main #overview.member-overview-section .member-hero-mini b {
    grid-area: bar !important;
    display: block !important;
    width: 100% !important;
    height: 4px !important;
    border-radius: 999px !important;
    background:
        linear-gradient(90deg, #0F766E 0 72%, rgba(15, 118, 110, .14) 72% 100%) !important;
}

body .admin-main.member-main #overview.member-overview-section > .stat-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin-top: 0 !important;
}

body .admin-main.member-main #overview.member-overview-section > .stat-grid .dash-card {
    min-height: 58px !important;
    max-height: none !important;
    padding: 7px 9px !important;
    border-radius: 12px !important;
    overflow: visible !important;
}

body .admin-main.member-main #overview.member-overview-section > .stat-grid .dash-card .muted {
    font-size: 8.5px !important;
    line-height: 1.15 !important;
    font-weight: 700 !important;
}

body .admin-main.member-main #overview.member-overview-section > .stat-grid .dash-card h3 {
    margin: 3px 0 0 !important;
    font-size: clamp(15px, 1.15vw, 20px) !important;
    line-height: 1.02 !important;
}

body .admin-main.member-main #overview.member-overview-section .subscription-badge {
    min-height: 16px !important;
    padding: 2px 6px !important;
    margin-top: 4px !important;
    font-size: 7px !important;
    gap: 3px !important;
}

body .admin-main.member-main #overview.member-overview-section .subscription-badge i {
    width: 11px !important;
    height: 11px !important;
    min-width: 11px !important;
    font-size: 7px !important;
}

body .admin-main.member-main #overview.member-overview-section > .stat-grid .dash-card p {
    margin: 4px 0 0 !important;
    font-size: 7.5px !important;
    line-height: 1.15 !important;
}

@media (max-width: 1180px) {
    body .admin-main.member-main #overview.member-overview-section > .stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 620px) {
    body .admin-main.member-main #overview.member-overview-section > .section-head {
        align-items: flex-start !important;
        flex-direction: column !important;
    }

    body .admin-main.member-main #overview.member-overview-section .member-hero-mini {
        width: 100% !important;
        min-width: 0 !important;
    }

    body .admin-main.member-main #overview.member-overview-section > .stat-grid {
        grid-template-columns: 1fr !important;
    }
}

/* Member attendance section compact refinement */
body .admin-main.member-main #attendance.tab-section.card {
    padding: 16px 18px !important;
    border-radius: 18px !important;
}

body .admin-main.member-main #attendance > .section-head {
    margin-bottom: 12px !important;
    padding: 0 !important;
    min-height: 0 !important;
}

body .admin-main.member-main #attendance > .section-head .kicker {
    width: fit-content !important;
    min-height: 22px !important;
    padding: 4px 10px !important;
    font-size: 9px !important;
    line-height: 1.1 !important;
}

body .admin-main.member-main #attendance > .section-head h3 {
    margin: 8px 0 0 !important;
    font-size: clamp(19px, 1.6vw, 26px) !important;
    line-height: 1.08 !important;
}

body .admin-main.member-main #attendance > .section-head p {
    margin: 6px 0 0 !important;
    max-width: 620px !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
}

body .admin-main.member-main #attendance > .stat-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 9px !important;
}

body .admin-main.member-main #attendance > .stat-grid .dash-card {
    min-height: 66px !important;
    padding: 9px 11px !important;
    border-radius: 13px !important;
    gap: 3px !important;
}

body .admin-main.member-main #attendance > .stat-grid .dash-card .muted {
    font-size: 9px !important;
    line-height: 1.15 !important;
    font-weight: 700 !important;
}

body .admin-main.member-main #attendance > .stat-grid .dash-card h3 {
    margin: 4px 0 0 !important;
    font-size: clamp(17px, 1.35vw, 23px) !important;
    line-height: 1.04 !important;
}

body .admin-main.member-main #attendance > .stat-grid .dash-card p {
    margin: 5px 0 0 !important;
    font-size: 8.5px !important;
    line-height: 1.2 !important;
}

body .admin-main.member-main #attendance .attendance-table-wrap {
    margin-top: 12px !important;
    overflow-x: hidden !important;
    overflow-y: visible !important;
}

body .admin-main.member-main #attendance .member-attendance-table {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    table-layout: auto !important;
}

body .admin-main.member-main #attendance .attendance-view-all-btn {
    flex: 0 0 auto !important;
    min-height: 36px !important;
    height: 36px !important;
    padding: 0 13px !important;
    border-radius: 11px !important;
    font-size: 12px !important;
    gap: 7px !important;
}

.attendance-history-modal {
    width: min(1120px, calc(100vw - 40px)) !important;
    max-width: 1120px !important;
    max-height: calc(100vh - 48px) !important;
    margin: auto !important;
    padding: 20px !important;
    overflow: hidden !important;
    border: 1px solid rgba(15, 118, 110, .16) !important;
    border-radius: 22px !important;
    background: #FFFFFF !important;
    color: #0F172A !important;
    box-shadow: 0 30px 90px rgba(15, 23, 42, .25) !important;
}

.attendance-history-modal[open] {
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
    gap: 16px !important;
}

.attendance-history-modal::backdrop {
    background: rgba(15, 23, 42, .48) !important;
    backdrop-filter: blur(5px) !important;
}

.attendance-history-modal-head {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 18px !important;
}

.attendance-history-modal-head h3,
.attendance-history-modal-head p {
    margin: 4px 0 0 !important;
}

.attendance-history-modal-close {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    padding: 0 !important;
    border: 1px solid #E2E8F0 !important;
    border-radius: 11px !important;
    background: #FFFFFF !important;
    color: #475569 !important;
    cursor: pointer !important;
}

.attendance-history-modal-close:hover {
    border-color: rgba(15, 118, 110, .28) !important;
    background: #EDF7F5 !important;
    color: #0F766E !important;
}

.attendance-history-modal .attendance-table-wrap {
    max-height: calc(100vh - 180px) !important;
    overflow: auto !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 16px !important;
}

.attendance-history-modal .member-attendance-table {
    margin: 0 !important;
}

body .admin-main.member-main #attendance .member-attendance-table th,
body .admin-main.member-main #attendance .member-attendance-table td {
    min-width: 0 !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
}

body .admin-main.member-main #attendance .member-attendance-table th:first-child,
body .admin-main.member-main #attendance .member-attendance-table td:first-child {
    min-width: 120px !important;
}

body .admin-main.member-main #attendance .member-attendance-table th:nth-child(7),
body .admin-main.member-main #attendance .member-attendance-table td:nth-child(7) {
    width: 20% !important;
    white-space: normal !important;
}

@media (max-width: 1180px) {
    body .admin-main.member-main #attendance > .stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 620px) {
    body .admin-main.member-main #attendance > .stat-grid {
        grid-template-columns: 1fr !important;
    }

    body .admin-main.member-main #attendance .attendance-table-wrap {
        overflow-x: auto !important;
    }

    body .admin-main.member-main #attendance .member-attendance-table {
        min-width: 720px !important;
    }
}

/* Final compact Super Admin activity feed override */
body .admin-workspace .platform-activity-card.platform-activity-compact {
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    margin: 10px 0 14px !important;
    padding: 10px 14px !important;
    overflow: visible !important;
}

body .admin-workspace .platform-activity-card.platform-activity-compact > .section-head,
body .admin-workspace .platform-activity-card.platform-activity-compact > .section-head.compact {
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}

body .admin-workspace .platform-activity-card.platform-activity-compact .kicker {
    min-height: 20px !important;
    padding: 3px 9px !important;
    font-size: 8px !important;
}

body .admin-workspace .platform-activity-card.platform-activity-compact .section-head h3 {
    margin: 4px 0 0 !important;
    font-size: 16px !important;
    line-height: 1.1 !important;
    letter-spacing: 0 !important;
}

body .admin-workspace .platform-activity-card.platform-activity-compact .platform-activity-list {
    gap: 5px !important;
}

body .admin-workspace .platform-activity-card.platform-activity-compact .platform-activity-empty {
    min-height: 0 !important;
    height: auto !important;
    padding: 6px 9px !important;
    display: grid !important;
    grid-template-columns: 24px minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    align-items: center !important;
    justify-items: start !important;
    gap: 1px 8px !important;
    text-align: left !important;
    border-radius: 10px !important;
}

body .admin-workspace .platform-activity-card.platform-activity-compact .platform-activity-empty i {
    grid-row: 1 / span 2 !important;
    font-size: 14px !important;
}

body .admin-workspace .platform-activity-card.platform-activity-compact .platform-activity-empty strong {
    margin: 0 !important;
    font-size: 10.5px !important;
    line-height: 1.1 !important;
}

body .admin-workspace .platform-activity-card.platform-activity-compact .platform-activity-empty span {
    margin: 0 !important;
    font-size: 8.5px !important;
    line-height: 1.1 !important;
}

/* Compact contact-page proof card */
.contact-choice-card {
    margin-top: 14px !important;
    padding: 14px 16px !important;
    min-height: 0 !important;
    max-width: 430px !important;
}

.contact-choice-card h3 {
    margin: 0 0 10px !important;
    font-size: 16px !important;
    line-height: 1.15 !important;
}

.contact-choice-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px 12px !important;
}

.contact-choice-grid span {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    color: var(--muted, #6B7280) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
}

.contact-choice-grid i {
    color: var(--primary, #0F766E) !important;
    font-size: 14px !important;
    line-height: 1 !important;
}

@media (max-width: 620px) {
    .contact-choice-grid {
        grid-template-columns: 1fr !important;
    }
}

/* Compact Super Admin activity date filter */
.activity-date-filter {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
}

.activity-date-filter input[type="date"] {
    width: 168px !important;
    min-height: 38px !important;
    height: 38px !important;
    padding: 0 12px !important;
    border-radius: 12px !important;
    border: 1px solid rgba(15, 23, 42, .12) !important;
    background: #fff !important;
    color: #111827 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
}

.activity-date-filter .btn {
    min-height: 38px !important;
    height: 38px !important;
    padding: 0 14px !important;
}

@media (max-width: 720px) {
    .activity-date-filter {
        width: 100% !important;
        justify-content: flex-start !important;
    }

    .activity-date-filter input[type="date"] {
        width: 100% !important;
    }
}

/* Super Admin Registered Gyms compact icon actions */
.gyms-table th:last-child,
.gyms-table td:last-child {
    width: 118px !important;
    min-width: 118px !important;
}

.gyms-table td:last-child .inline-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    flex-wrap: nowrap !important;
}

.gyms-table td:last-child form {
    margin: 0 !important;
    flex: 0 0 auto !important;
}

.gym-icon-action-btn {
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 12px !important;
    gap: 0 !important;
    line-height: 1 !important;
}

.gym-icon-action-btn i {
    margin: 0 !important;
    font-size: 17px !important;
    line-height: 1 !important;
}

.gym-icon-action-btn:hover {
    transform: translateY(-1px) !important;
}

/* Registered Gyms: fit desktop without an ugly horizontal scrollbar. */
.super-admin-data-table-wrap:has(.gyms-table) {
    overflow-x: clip !important;
    overflow-y: visible !important;
}

.super-admin-data-table.gyms-table {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    table-layout: fixed !important;
}

.gyms-table th,
.gyms-table td {
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    padding-inline: 12px !important;
    vertical-align: middle !important;
}

.gyms-table th {
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    font-size: 12px !important;
    letter-spacing: .055em !important;
    line-height: 1.1 !important;
}

.gyms-table td {
    font-size: 13px !important;
    line-height: 1.35 !important;
}

.gyms-table td strong,
.gyms-table td .muted {
    display: block !important;
    max-width: 100% !important;
    line-height: 1.35 !important;
}

.gyms-table td .muted {
    font-size: 12px !important;
    overflow-wrap: anywhere !important;
}

.gyms-table col.gym-col { width: 20% !important; }
.gyms-table col.owner-col { width: 16% !important; }
.gyms-table col.plan-col { width: 11% !important; }
.gyms-table col.status-col { width: 10% !important; }
.gyms-table col.subscription-col { width: 14% !important; }
.gyms-table col.created-col { width: 16% !important; }
.gyms-table col.actions-col { width: 96px !important; }

.gyms-table th:nth-child(5),
.gyms-table td:nth-child(5) {
    padding-left: 14px !important;
    padding-right: 16px !important;
}

.gyms-table .pill,
.gyms-table .status-toggle-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 86px !important;
    max-width: max-content !important;
    height: 34px !important;
    min-height: 34px !important;
    padding: 0 13px !important;
    white-space: nowrap !important;
    overflow: visible !important;
    overflow-wrap: normal !important;
    word-break: keep-all !important;
    line-height: 1 !important;
    font-size: 12px !important;
    text-align: center !important;
}

.gyms-table th:nth-child(6),
.gyms-table td:nth-child(6) {
    padding-left: 16px !important;
    white-space: normal !important;
    font-size: 12.5px !important;
    line-height: 1.35 !important;
}

.gyms-table th:nth-child(7),
.gyms-table td:nth-child(7) {
    padding-inline: 8px !important;
    text-align: center !important;
}

.gyms-table td:last-child .inline-actions {
    justify-content: center !important;
    gap: 6px !important;
}

.gym-icon-action-btn {
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    border-radius: 11px !important;
}

.gym-icon-action-btn i {
    font-size: 15px !important;
}

@media (max-width: 980px) {
    .super-admin-data-table-wrap:has(.gyms-table) {
        overflow-x: auto !important;
    }

    .super-admin-data-table.gyms-table {
        width: max-content !important;
        min-width: 860px !important;
        table-layout: auto !important;
    }

    .gyms-table th,
    .gyms-table td {
        white-space: nowrap !important;
        overflow-wrap: normal !important;
    }
}

/* Super Admin profile form */
.super-admin-profile-form {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px 22px !important;
    margin-top: 18px !important;
    align-items: start !important;
}

.super-admin-profile-form .field {
    display: grid !important;
    gap: 8px !important;
}

.super-admin-profile-form label {
    margin: 0 !important;
    color: #475569 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: .07em !important;
    text-transform: uppercase !important;
}

.super-admin-profile-form input {
    height: 48px !important;
    min-height: 48px !important;
    padding: 0 16px !important;
    border-radius: 14px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
}

.super-admin-profile-form input[disabled],
.super-admin-profile-form input[readonly][disabled] {
    background: #F8FAF9 !important;
    color: #64748B !important;
    -webkit-text-fill-color: #64748B !important;
    cursor: not-allowed !important;
}

.super-admin-profile-form .field small {
    margin-top: 6px !important;
    display: block !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
}

.profile-form-actions {
    grid-column: 1 / -1 !important;
    margin-top: 2px !important;
    padding-top: 6px !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

.profile-form-actions .btn {
    min-height: 42px !important;
    height: 42px !important;
    padding: 0 18px !important;
    border-radius: 14px !important;
}

@media (max-width: 980px) {
    .super-admin-profile-form {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 640px) {
    .super-admin-profile-form {
        grid-template-columns: 1fr !important;
    }
}

/* Compact invoice action for Super Admin billing tables */
.print-invoice-action {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 12px !important;
    background: #fff !important;
    color: #0f766e !important;
    text-decoration: none !important;
    box-shadow: 0 8px 20px rgba(15, 23, 42, .06) !important;
    transition: background-color .18s ease, color .18s ease, border-color .18s ease !important;
}

.print-invoice-action:hover,
.print-invoice-action:focus-visible {
    background: #eef8f6 !important;
    border-color: rgba(15, 118, 110, .28) !important;
    color: #115e59 !important;
}

.print-invoice-action i {
    font-size: 16px !important;
    line-height: 1 !important;
}

/* FitCore copyright footer */
.fitcore-copyright-footer,
body[data-theme="light"] .fitcore-copyright-footer,
.admin-footer.fitcore-copyright-footer,
.site-footer.fitcore-copyright-footer,
.login-footer.fitcore-copyright-footer {
    width: 100% !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 12px 20px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: #64748b !important;
    text-align: center !important;
}

.fitcore-copyright-footer p,
.fitcore-copyright-footer strong,
.fitcore-copyright-footer a,
.fitcore-copyright-footer span {
    margin: 0 !important;
    color: #64748b !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
    letter-spacing: .01em !important;
}

.fitcore-copyright-footer strong {
    font-weight: 700 !important;
    color: #0f766e !important;
    letter-spacing: .03em !important;
}

.fitcore-copyright-footer a {
    color: #0f766e !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    border-bottom: 1px solid transparent !important;
    transition: color .18s ease, border-color .18s ease !important;
}

.fitcore-copyright-footer a:hover,
.fitcore-copyright-footer a:focus-visible {
    color: #115e59 !important;
    border-bottom-color: rgba(17, 94, 89, .35) !important;
    outline: none !important;
}

@media (max-width: 640px) {
    .fitcore-copyright-footer,
    body[data-theme="light"] .fitcore-copyright-footer,
    .admin-footer.fitcore-copyright-footer,
    .site-footer.fitcore-copyright-footer,
    .login-footer.fitcore-copyright-footer {
        min-height: 50px !important;
        padding: 10px 14px !important;
    }

    .fitcore-copyright-footer p,
    .fitcore-copyright-footer strong {
        font-size: 14px !important;
    }
}

/* Admin payments table: fit cleanly without horizontal scrollbar */
#payments .payment-table-wrap {
    overflow-x: hidden !important;
    max-width: 100% !important;
}

#payments .payments-table {
    width: 100% !important;
    min-width: 0 !important;
    table-layout: fixed !important;
}

#payments .payments-table th,
#payments .payments-table td {
    padding: 10px 9px !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
    vertical-align: middle !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
}

#payments .payments-table th {
    font-size: 11px !important;
    letter-spacing: .04em !important;
    white-space: nowrap !important;
}

#payments .payments-table th:nth-child(1),
#payments .payments-table td:nth-child(1) { width: 15% !important; }
#payments .payments-table th:nth-child(2),
#payments .payments-table td:nth-child(2) { width: 13% !important; }
#payments .payments-table th:nth-child(3),
#payments .payments-table td:nth-child(3) { width: 9% !important; }
#payments .payments-table th:nth-child(4),
#payments .payments-table td:nth-child(4) { width: 10% !important; white-space: nowrap !important; }
#payments .payments-table th:nth-child(5),
#payments .payments-table td:nth-child(5) { width: 10% !important; white-space: nowrap !important; }
#payments .payments-table th:nth-child(6),
#payments .payments-table td:nth-child(6) { width: 35% !important; }
#payments .payments-table th:nth-child(7),
#payments .payments-table td:nth-child(7) { width: 8% !important; }

#payments .payment-edit-form {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 7px !important;
    align-items: center !important;
    padding: 8px !important;
    border: 1px solid rgba(15, 118, 110, .12) !important;
    border-radius: 13px !important;
    background: linear-gradient(135deg, rgba(15, 118, 110, .035), rgba(255,255,255,.9)) !important;
    overflow: visible !important;
}

#payments .payment-edit-form input,
#payments .payment-edit-form select,
#payments .payment-edit-form .search-select,
#payments .payment-edit-form .search-select-trigger {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 34px !important;
    min-height: 34px !important;
    border-radius: 9px !important;
    font-size: 11.5px !important;
    font-weight: 650 !important;
    line-height: 1.1 !important;
    background-color: #fff !important;
}

#payments .payment-edit-form input,
#payments .payment-edit-form select {
    padding: 0 8px !important;
}

#payments .payment-edit-form input[type="date"] {
    min-width: 0 !important;
    padding: 0 4px 0 7px !important;
    font-size: 10.5px !important;
}

#payments .payment-edit-form .search-select-trigger {
    padding: 0 8px !important;
}

#payments .payment-edit-form .search-select-trigger span {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

#payments .payment-edit-form .btn {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    height: 34px !important;
    min-height: 34px !important;
    padding: 0 10px !important;
    border-radius: 10px !important;
    font-size: 11.5px !important;
    box-shadow: 0 8px 18px rgba(15, 118, 110, .12) !important;
}

#payments .payment-actions {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: visible !important;
}

#payments .payment-actions form {
    flex: 0 0 auto !important;
    width: auto !important;
    margin: 0 !important;
}

#payments .payment-icon-btn,
#payments .payment-icon-btn.btn,
#payments .payment-actions button.payment-icon-btn {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    min-height: 28px !important;
    padding: 0 !important;
    border-radius: 9px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 12px !important;
    box-shadow: none !important;
}

#payments .payment-icon-btn i,
#payments .payment-actions button.payment-icon-btn i {
    font-size: 13px !important;
    line-height: 1 !important;
    margin: 0 !important;
}

#payments .payment-delete-btn,
#payments .payment-actions button.payment-delete-btn {
    color: #FFFFFF !important;
    background: #DC2626 !important;
    border-color: #DC2626 !important;
}

#payments .payment-delete-btn i {
    display: block !important;
    color: currentColor !important;
    font-size: 13px !important;
    line-height: 1 !important;
}

#payments .payments-table tbody tr {
    transition: background-color .18s ease !important;
}

#payments .payments-table tbody tr:hover {
    background: rgba(15, 118, 110, .025) !important;
}

body > .search-select-panel,
.member-view-modal > .search-select-panel {
    min-width: 220px !important;
    max-width: calc(100vw - 32px) !important;
    overflow: hidden !important;
}

body > .search-select-panel .search-select-input-wrap,
.member-view-modal > .search-select-panel .search-select-input-wrap {
    min-height: 42px !important;
    padding: 0 12px !important;
}

body > .search-select-panel .search-select-input,
.member-view-modal > .search-select-panel .search-select-input {
    height: 38px !important;
    min-height: 38px !important;
    font-size: 14px !important;
    padding: 0 8px !important;
}

body > .search-select-panel .search-select-option,
body > .search-select-panel .search-select-empty,
.member-view-modal > .search-select-panel .search-select-option,
.member-view-modal > .search-select-panel .search-select-empty {
    min-height: 38px !important;
    padding: 9px 12px !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
}

/* Super Admin gym detail modal */
.gym-detail-row {
    cursor: pointer !important;
    transition: background-color .18s ease !important;
}

.gym-detail-row:hover {
    background: rgba(15, 118, 110, .035) !important;
}

.gym-detail-row:focus-visible {
    outline: 2px solid rgba(15, 118, 110, .35) !important;
    outline-offset: -2px !important;
}

.gym-detail-modal {
    width: min(720px, calc(100vw - 32px)) !important;
    max-width: 720px !important;
    padding: 26px !important;
    border-radius: 22px !important;
    box-sizing: border-box !important;
    overflow: visible !important;
}

.gym-detail-close-form {
    margin: 0 !important;
}

.gym-detail-modal .modal-close {
    position: absolute !important;
    top: 16px !important;
    right: 16px !important;
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    border-radius: 999px !important;
    font-size: 20px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    z-index: 2 !important;
}

.gym-detail-modal::backdrop {
    background: rgba(15, 23, 42, .38) !important;
    backdrop-filter: blur(3px) !important;
}

.gym-detail-modal-head {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    gap: 18px !important;
    padding-right: 46px !important;
    padding-bottom: 18px !important;
    margin-bottom: 18px !important;
    border-bottom: 1px solid #e5e7eb !important;
}

.gym-detail-title {
    min-width: 0 !important;
    flex: 1 1 auto !important;
}

.gym-detail-modal-head h3 {
    margin: 8px 0 4px !important;
    font-size: 26px !important;
    line-height: 1.1 !important;
    overflow-wrap: anywhere !important;
}

.gym-detail-modal-head .pill {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
    min-width: max-content !important;
    line-height: 1.2 !important;
}

.gym-detail-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
}

.gym-detail-item {
    min-width: 0 !important;
    padding: 14px !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 14px !important;
    background: #fbfbfa !important;
}

.gym-detail-item span {
    display: block !important;
    margin-bottom: 5px !important;
    color: #64748b !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: .07em !important;
    text-transform: uppercase !important;
}

.gym-detail-item strong {
    display: block !important;
    color: #0f172a !important;
    font-size: 14px !important;
    line-height: 1.3 !important;
    overflow-wrap: anywhere !important;
}

.create-gym-modal {
    width: min(900px, calc(100vw - 32px)) !important;
    max-width: 900px !important;
    max-height: calc(100vh - 44px) !important;
    overflow-y: auto !important;
}

.create-gym-modal .create-gym-form {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
}

.create-gym-modal .permission-panel,
.create-gym-modal .btn[type="submit"] {
    grid-column: 1 / -1 !important;
}

.create-gym-modal .permission-panel {
    padding: 16px !important;
}

.create-gym-modal .permission-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
}

.create-gym-modal input,
.create-gym-modal select,
.create-gym-modal .password-control {
    min-width: 0 !important;
}

@media (max-width: 640px) {
    .gym-detail-modal {
        padding: 20px !important;
    }

    .gym-detail-modal-head,
    .gym-detail-grid {
        grid-template-columns: 1fr !important;
    }

    .gym-detail-modal-head {
        display: grid !important;
    }

    .create-gym-modal .create-gym-form,
    .create-gym-modal .permission-grid {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 1100px) {
    #payments .payment-table-wrap {
        overflow-x: auto !important;
    }

    #payments .payments-table {
        min-width: 980px !important;
    }
}

/* Responsive stability layer: prevents clipped/blurred side edges without changing UI behavior. */
html,
body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: clip !important;
}

@supports not (overflow: clip) {
    html,
    body {
        overflow-x: hidden !important;
    }
}

.admin-shell,
.member-shell,
.admin-workspace,
.admin-main,
.member-main,
.page-shell,
.main,
.front-page,
.dashboard {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
}

.admin-workspace,
.admin-main,
.member-main,
.main,
.dashboard {
    overflow-x: clip !important;
}

@supports not (overflow: clip) {
    .admin-workspace,
    .admin-main,
    .member-main,
    .main,
    .dashboard {
        overflow-x: hidden !important;
    }
}

.admin-main,
.member-main {
    box-sizing: border-box !important;
    padding-left: clamp(14px, 2.2vw, 28px) !important;
    padding-right: clamp(14px, 2.2vw, 28px) !important;
}

.admin-main > *,
.member-main > *,
.main > *,
.page-shell > *:not(.navbar) {
    max-width: 100% !important;
}

.card,
.glass-card,
.panel,
.dashboard-card,
.admin-card,
.metric-card,
.stat-card,
.tab-section {
    max-width: 100% !important;
    min-width: 0 !important;
}

.table-wrap,
.payment-table-wrap,
.super-admin-data-table-wrap {
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    -webkit-overflow-scrolling: touch !important;
}

.sidebar-overlay {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

body.sidebar-open .sidebar-overlay {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

.admin-topbar,
.navbar {
    max-width: 100vw !important;
    overflow: visible !important;
}

@media (max-width: 900px) {
    .admin-shell,
    .member-shell {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .admin-sidebar,
    .member-sidebar {
        max-width: calc(100vw - 42px) !important;
    }

    .admin-main,
    .member-main {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    .card,
    .glass-card,
    .panel,
    .dashboard-card,
    .admin-card {
        box-shadow: 0 12px 30px rgba(17, 24, 39, .06) !important;
    }
}

@media (max-width: 560px) {
    .admin-main,
    .member-main {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    .card,
    .glass-card,
    .panel,
    .dashboard-card,
    .admin-card,
    .metric-card,
    .stat-card {
        border-radius: 18px !important;
    }
}

/* Mobile drawer correction: keeps sidebar, overlay, and page edges clean on narrow screens. */
@media (max-width: 900px) {
    body:has(.admin-shell),
    body:has(.member-shell) {
        background: var(--sidebar-page, #F7F5F0) !important;
        overflow-x: hidden !important;
    }

    .admin-shell,
    .member-shell {
        position: relative !important;
        display: block !important;
        width: 100vw !important;
        max-width: 100vw !important;
        min-height: 100dvh !important;
        overflow-x: hidden !important;
        background: var(--sidebar-page, #F7F5F0) !important;
    }

    .admin-workspace {
        position: relative !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        transform: none !important;
        filter: none !important;
        overflow-x: hidden !important;
        background: var(--sidebar-page, #F7F5F0) !important;
    }

    .admin-sidebar,
    .member-sidebar {
        position: fixed !important;
        top: 0 !important;
        bottom: 0 !important;
        left: 0 !important;
        right: auto !important;
        width: min(292px, calc(100vw - 48px)) !important;
        max-width: min(292px, calc(100vw - 48px)) !important;
        height: 100dvh !important;
        max-height: 100dvh !important;
        z-index: 1501 !important;
        transform: translateX(-105%) !important;
        background: var(--sidebar-bg, #FFFFFF) !important;
        box-shadow: 20px 0 48px rgba(17, 24, 39, .16) !important;
        opacity: 1 !important;
        filter: none !important;
        -webkit-filter: none !important;
    }

    body.sidebar-open .admin-sidebar,
    body.sidebar-open .member-sidebar {
        transform: translateX(0) !important;
    }

    .sidebar-overlay {
        position: fixed !important;
        inset: 0 !important;
        width: 100vw !important;
        height: 100dvh !important;
        z-index: 1500 !important;
        display: block !important;
        background: rgba(17, 24, 39, .28) !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transform: none !important;
        filter: none !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        transition: opacity .18s ease, visibility .18s ease !important;
    }

    body.sidebar-open .sidebar-overlay {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    body.sidebar-open .admin-workspace {
        transform: none !important;
        filter: none !important;
        -webkit-filter: none !important;
    }
}

/* Member page trainer assignment control */
.member-trainer-assignment-panel {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: end !important;
    gap: 12px !important;
    margin-top: 14px !important;
    padding: 14px !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 16px !important;
    background: #FBFBFA !important;
}

.member-trainer-assignment-panel strong,
.member-trainer-assignment-panel small {
    display: block !important;
}

.member-trainer-assignment-panel strong {
    margin-top: 3px !important;
    color: #111827 !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
    overflow-wrap: anywhere !important;
}

.member-trainer-assignment-panel small {
    margin-top: 2px !important;
    color: #6B7280 !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
}

.member-trainer-assign-form {
    display: grid !important;
    grid-template-columns: minmax(180px, 1fr) auto !important;
    align-items: center !important;
    gap: 8px !important;
    min-width: min(100%, 390px) !important;
}

.member-trainer-assign-form select {
    min-height: 40px !important;
    height: 40px !important;
    padding: 0 12px !important;
    border-radius: 12px !important;
    font-size: 13px !important;
}

.member-trainer-assignment-panel .btn {
    min-height: 40px !important;
    height: 40px !important;
    padding: 0 14px !important;
    border-radius: 12px !important;
    font-size: 13px !important;
    white-space: nowrap !important;
}

@media (max-width: 760px) {
    .member-trainer-assignment-panel,
    .member-trainer-assign-form {
        grid-template-columns: 1fr !important;
    }
}

/* Admin member profile cards: compact, aligned, and scoped to the Members page. */
.admin-member-card {
    padding: 22px !important;
}

.admin-member-card-head {
    align-items: center !important;
    gap: 16px !important;
    margin-bottom: 18px !important;
    padding-bottom: 16px !important;
    border-bottom: 1px solid #E5E7EB !important;
}

.admin-member-identity {
    min-width: 0 !important;
    gap: 14px !important;
}

.admin-member-identity .avatar {
    width: 58px !important;
    height: 58px !important;
    flex: 0 0 58px !important;
}

.admin-member-identity h3 {
    margin: 0 0 5px !important;
    font-size: 22px !important;
    line-height: 1.15 !important;
    letter-spacing: -.01em !important;
}

.admin-member-identity .muted {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 4px 10px !important;
    margin: 0 !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
}

.admin-member-identity .muted span {
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
}

.admin-member-identity .muted span + span::before {
    content: "|" !important;
    margin-right: 10px !important;
    color: #CBD5E1 !important;
}

.admin-member-actions {
    justify-content: flex-end !important;
    gap: 8px !important;
}

.admin-member-actions .pill {
    min-height: 34px !important;
    padding: 0 12px !important;
    font-size: 13px !important;
    white-space: nowrap !important;
}

.admin-member-actions .btn {
    min-height: 38px !important;
    height: 38px !important;
    padding: 0 14px !important;
    border-radius: 12px !important;
    font-size: 13px !important;
    white-space: nowrap !important;
}

.admin-member-grid {
    grid-template-columns: minmax(320px, .92fr) minmax(440px, 1.08fr) !important;
    gap: 20px !important;
    align-items: start !important;
}

.admin-member-panel-title {
    margin: 0 0 12px !important;
    font-size: 18px !important;
    line-height: 1.2 !important;
    letter-spacing: -.01em !important;
}

.admin-member-subtitle {
    margin-top: 16px !important;
}

.admin-member-edit-panel,
.admin-member-info-panel {
    min-width: 0 !important;
}

.admin-member-edit-panel .form-grid {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
}

.admin-member-edit-panel input,
.admin-member-edit-panel select,
.admin-member-info-panel input,
.admin-member-info-panel select {
    min-height: 44px !important;
    height: 44px !important;
    padding: 0 14px !important;
    border-radius: 14px !important;
    font-size: 14px !important;
}

.admin-member-edit-panel .btn,
.admin-member-info-panel .btn {
    min-height: 40px !important;
    height: 40px !important;
    padding: 0 14px !important;
    border-radius: 12px !important;
    font-size: 13px !important;
}

.admin-member-card .member-detail-avatar {
    margin: 0 0 12px !important;
    padding: 12px !important;
    border-radius: 16px !important;
    gap: 12px !important;
}

.admin-member-card .member-detail-avatar .avatar-lg {
    width: 62px !important;
    height: 62px !important;
    flex: 0 0 62px !important;
}

.admin-member-card .member-detail-avatar strong {
    display: block !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
}

.admin-member-card .member-detail-avatar p {
    margin: 3px 0 0 !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
}

.admin-member-card .subscription-row {
    align-items: center !important;
    margin: 8px 0 !important;
    padding: 12px !important;
    border-radius: 16px !important;
}

.admin-member-card .subscription-row strong {
    font-size: 16px !important;
    line-height: 1.2 !important;
}

.admin-member-card .subscription-row .muted {
    margin-top: 4px !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
}

.payment-mini-list {
    display: grid !important;
    gap: 8px !important;
}

.payment-mini-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1.25fr) auto auto auto !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 10px 12px !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 14px !important;
    background: #FBFBFA !important;
    font-size: 13px !important;
}

.payment-mini-row span {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.payment-mini-row small {
    color: #64748B !important;
    font-size: 12px !important;
    white-space: nowrap !important;
}

.payment-mini-row strong {
    color: #111827 !important;
    font-size: 13px !important;
    white-space: nowrap !important;
}

.payment-mini-row a {
    font-size: 12px !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
}

.admin-member-detail-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
}

.admin-member-detail-grid > div {
    min-height: 74px !important;
    padding: 12px !important;
    border-radius: 16px !important;
}

.admin-member-detail-grid span,
.admin-member-detail-grid strong,
.admin-member-detail-grid a {
    overflow-wrap: normal !important;
    word-break: normal !important;
}

.admin-member-detail-grid span {
    font-size: 12px !important;
    line-height: 1.25 !important;
}

.admin-member-detail-grid strong,
.admin-member-detail-grid a {
    margin-top: 6px !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
}

.admin-member-detail-grid a {
    display: inline-block !important;
}

.admin-member-card .member-trainer-assignment-panel {
    align-items: center !important;
    margin-top: 12px !important;
    padding: 12px !important;
    background: #FBFBFA !important;
}

.admin-member-card .member-trainer-assignment-panel strong {
    font-size: 15px !important;
}

@media (max-width: 1180px) {
    .admin-member-grid {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 720px) {
    .admin-member-card {
        padding: 16px !important;
    }

    .admin-member-card-head {
        align-items: flex-start !important;
    }

    .admin-member-actions {
        justify-content: flex-start !important;
    }

    .admin-member-identity .muted {
        display: grid !important;
        gap: 2px !important;
    }

    .admin-member-identity .muted span + span::before {
        content: "" !important;
        margin: 0 !important;
    }

    .payment-mini-row,
    .admin-member-detail-grid {
        grid-template-columns: 1fr !important;
    }

    .payment-mini-row {
        align-items: start !important;
    }
}

/* Final alignment pass for admin member management cards. */
body .admin-main .admin-member-card {
    padding: 18px !important;
    overflow: visible !important;
}

body .admin-main .admin-member-card-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 14px !important;
    margin: 0 0 20px !important;
    padding: 12px 14px !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 18px !important;
    background: #FFFFFF !important;
}

body .admin-main .admin-member-identity {
    display: flex !important;
    align-items: center !important;
}

body .admin-main .admin-member-identity .avatar {
    width: 52px !important;
    height: 52px !important;
    flex-basis: 52px !important;
}

body .admin-main .admin-member-identity h3 {
    font-size: 20px !important;
    font-weight: 700 !important;
}

body .admin-main .admin-member-identity .muted {
    font-size: 13px !important;
}

body .admin-main .admin-member-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    max-width: 100% !important;
}

body .admin-main .admin-member-actions .pill,
body .admin-main .admin-member-actions .btn {
    height: 34px !important;
    min-height: 34px !important;
    padding: 0 11px !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    line-height: 34px !important;
}

body .admin-main .admin-member-grid {
    display: grid !important;
    grid-template-columns: minmax(330px, .9fr) minmax(520px, 1.1fr) !important;
    gap: 18px !important;
}

body .admin-main .admin-member-panel-title {
    margin-bottom: 10px !important;
    font-size: 17px !important;
    font-weight: 700 !important;
}

body .admin-main .admin-member-subtitle {
    margin-top: 14px !important;
}

body .admin-main .admin-member-edit-panel .form-grid {
    gap: 8px !important;
}

body .admin-main .admin-member-edit-panel input,
body .admin-main .admin-member-edit-panel select {
    height: 42px !important;
    min-height: 42px !important;
    border-radius: 13px !important;
    font-size: 13px !important;
}

body .admin-main .admin-member-edit-panel .form-grid > .btn {
    width: 100% !important;
    height: 42px !important;
    min-height: 42px !important;
    margin-top: 2px !important;
}

body .admin-main .admin-member-status-actions {
    display: grid !important;
    grid-template-columns: minmax(130px, 160px) 42px minmax(150px, max-content) !important;
    align-items: center !important;
    gap: 10px !important;
    margin-top: 10px !important;
}

body .admin-main .admin-member-status-actions form {
    display: contents !important;
}

body .admin-main .admin-member-status-actions select {
    width: 100% !important;
    height: 42px !important;
    min-height: 42px !important;
    border-radius: 13px !important;
    font-size: 13px !important;
}

body .admin-main .admin-member-status-actions .btn {
    height: 42px !important;
    min-height: 42px !important;
    border-radius: 13px !important;
    padding: 0 14px !important;
    font-size: 13px !important;
}

body .admin-main .admin-member-status-actions .btn-ghost {
    width: 42px !important;
    min-width: 42px !important;
    padding: 0 !important;
}

body .admin-main .admin-member-status-actions .btn-danger {
    white-space: nowrap !important;
}

body .admin-main .admin-member-card .member-trainer-assignment-panel {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(260px, auto) !important;
    gap: 12px !important;
    align-items: center !important;
    margin-top: 12px !important;
    padding: 12px 14px !important;
    border-radius: 16px !important;
}

body .admin-main .admin-member-card .member-trainer-assignment-panel .muted {
    font-size: 12px !important;
}

body .admin-main .admin-member-card .member-trainer-assignment-panel strong {
    margin-top: 2px !important;
    font-size: 15px !important;
}

body .admin-main .admin-member-card .member-trainer-assignment-panel small {
    font-size: 12px !important;
}

body .admin-main .admin-member-card .member-trainer-assign-form {
    grid-template-columns: minmax(160px, 1fr) auto !important;
    gap: 8px !important;
    min-width: 0 !important;
}

body .admin-main .admin-member-card .member-trainer-assign-form select,
body .admin-main .admin-member-card .member-trainer-assign-form .btn {
    height: 38px !important;
    min-height: 38px !important;
    border-radius: 12px !important;
    font-size: 12px !important;
}

body .admin-main .admin-member-card .member-detail-avatar {
    min-height: 82px !important;
    padding: 10px 12px !important;
}

body .admin-main .admin-member-card .member-detail-avatar .avatar-lg {
    width: 54px !important;
    height: 54px !important;
    flex-basis: 54px !important;
}

body .admin-main .admin-member-card .subscription-row {
    min-height: 82px !important;
    padding: 12px 14px !important;
}

body .admin-main .payment-mini-row {
    min-height: 42px !important;
    padding: 8px 10px !important;
    grid-template-columns: minmax(0, 1fr) auto auto auto !important;
}

body .admin-main .admin-member-detail-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 9px !important;
}

body .admin-main .admin-member-detail-grid > div {
    min-height: 70px !important;
    padding: 10px 12px !important;
}

body .admin-main .admin-member-detail-grid span {
    font-size: 11px !important;
    font-weight: 600 !important;
}

body .admin-main .admin-member-detail-grid strong,
body .admin-main .admin-member-detail-grid a {
    font-size: 15px !important;
    line-height: 1.25 !important;
}

body .admin-main .admin-member-detail-grid strong {
    overflow-wrap: break-word !important;
}

body .admin-main .admin-member-info-panel > form.form-grid {
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 8px !important;
}

body .admin-main .admin-member-info-panel > form.form-grid input,
body .admin-main .admin-member-info-panel > form.form-grid .btn {
    height: 40px !important;
    min-height: 40px !important;
    font-size: 12px !important;
}

@media (max-width: 1240px) {
    body .admin-main .admin-member-card-head,
    body .admin-main .admin-member-grid {
        grid-template-columns: 1fr !important;
    }

    body .admin-main .admin-member-actions {
        justify-content: flex-start !important;
    }
}

@media (max-width: 760px) {
    body .admin-main .admin-member-status-actions,
    body .admin-main .admin-member-card .member-trainer-assignment-panel,
    body .admin-main .admin-member-card .member-trainer-assign-form,
    body .admin-main .admin-member-info-panel > form.form-grid {
        grid-template-columns: 1fr !important;
    }

    body .admin-main .admin-member-status-actions form {
        display: grid !important;
        grid-template-columns: 1fr auto !important;
        gap: 8px !important;
    }

    body .admin-main .admin-member-detail-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* Repair member trainer assignment panel: never squeeze text into vertical letters. */
body .admin-main .admin-member-card .member-trainer-assignment-panel {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    align-items: stretch !important;
    padding: 14px !important;
    min-height: auto !important;
}

body .admin-main .admin-member-card .member-trainer-assignment-panel > div {
    min-width: 0 !important;
}

body .admin-main .admin-member-card .member-trainer-assignment-panel .muted,
body .admin-main .admin-member-card .member-trainer-assignment-panel strong,
body .admin-main .admin-member-card .member-trainer-assignment-panel small {
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
}

body .admin-main .admin-member-card .member-trainer-assignment-panel .muted {
    display: block !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
}

body .admin-main .admin-member-card .member-trainer-assignment-panel strong {
    display: block !important;
    margin-top: 3px !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
}

body .admin-main .admin-member-card .member-trainer-assignment-panel small {
    display: block !important;
    max-width: 340px !important;
    margin-top: 3px !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
}

body .admin-main .admin-member-card .member-trainer-assign-form {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 8px !important;
    width: 100% !important;
    min-width: 0 !important;
}

body .admin-main .admin-member-card .member-trainer-assign-form select {
    width: 100% !important;
    min-width: 0 !important;
}

body .admin-main .admin-member-card .member-trainer-assign-form .btn {
    min-width: 118px !important;
    justify-content: center !important;
}

@media (max-width: 640px) {
    body .admin-main .admin-member-card .member-trainer-assign-form {
        grid-template-columns: 1fr !important;
    }

    body .admin-main .admin-member-card .member-trainer-assign-form .btn {
        width: 100% !important;
    }
}

/* Professional Admin Member Details layout */
body .admin-main .member-details-page {
    padding: 22px !important;
}

body .admin-main .member-profile-header {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 16px !important;
    align-items: center !important;
    margin-bottom: 20px !important;
    padding: 16px !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 20px !important;
    background: #FFFFFF !important;
}

body .admin-main .member-profile-summary {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    min-width: 0 !important;
}

body .admin-main .member-profile-summary .avatar {
    width: 58px !important;
    height: 58px !important;
    flex: 0 0 58px !important;
}

body .admin-main .member-profile-summary h3 {
    margin: 0 !important;
    font-size: 22px !important;
    line-height: 1.15 !important;
    font-weight: 750 !important;
}

body .admin-main .member-profile-summary p {
    margin: 4px 0 8px !important;
    color: #64748B !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    overflow-wrap: anywhere !important;
}

body .admin-main .member-profile-badges,
body .admin-main .member-profile-actions,
body .admin-main .member-rfid-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 8px !important;
}

body .admin-main .member-details-page .pill,
body .admin-main .member-details-page .subscription-badge {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    max-width: none !important;
    white-space: nowrap !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    line-height: 1 !important;
}

/* Membership plan discount preview */
body .admin-main .plan-discount-form .discount-preview {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    min-height: 48px !important;
    padding: 10px 14px !important;
    border: 1px solid #D7E9E5 !important;
    border-radius: 14px !important;
    background: #F6FBFA !important;
}

body .admin-main .plan-discount-form .discount-preview span {
    color: #64748B !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: .04em !important;
}

body .admin-main .plan-discount-form .discount-preview strong {
    color: #0F766E !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
}

/* The create-package amount preview is a true form control: its label and
   control baseline intentionally match the Package duration select. */
body .admin-main .membership-packages-section > .plan-discount-form .plan-discount-field {
    display: grid !important;
    gap: 6px !important;
    min-width: 0 !important;
    align-self: stretch !important;
}

body .admin-main .membership-packages-section > .plan-discount-form .plan-discount-field .discount-preview {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 48px !important;
    height: 48px !important;
    max-height: 48px !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 16px !important;
    align-self: auto !important;
    justify-self: stretch !important;
}

body .admin-main .member-profile-actions {
    justify-content: flex-end !important;
}

body .admin-main .member-profile-actions form,
body .admin-main .member-rfid-actions form {
    margin: 0 !important;
}

body .admin-main .member-details-layout {
    display: grid !important;
    grid-template-columns: minmax(300px, .8fr) minmax(0, 1.6fr) !important;
    gap: 18px !important;
    align-items: start !important;
}

body .admin-main .member-details-left,
body .admin-main .member-details-right {
    display: grid !important;
    gap: 16px !important;
    min-width: 0 !important;
}

body .admin-main .member-module-card {
    min-width: 0 !important;
    padding: 16px !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 18px !important;
    background: #FFFFFF !important;
    box-shadow: 0 16px 34px rgba(17, 24, 39, .06) !important;
}

body .admin-main .member-module-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin-bottom: 14px !important;
}

body .admin-main .member-module-head h3 {
    margin: 0 !important;
    font-size: 17px !important;
    line-height: 1.2 !important;
    font-weight: 750 !important;
}

body .admin-main .member-module-head .btn {
    height: 36px !important;
    min-height: 36px !important;
    padding: 0 12px !important;
    font-size: 12px !important;
}

body .admin-main .member-edit-form {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
}

body .admin-main .member-edit-form label {
    display: grid !important;
    gap: 6px !important;
    color: #64748B !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: .05em !important;
}

body .admin-main .member-edit-form input,
body .admin-main .member-edit-form select,
body .admin-main .member-rfid-form input,
body .admin-main .member-rfid-form select,
body .admin-main .member-status-control select,
body .admin-main .member-trainer-assign-form select {
    width: 100% !important;
    min-width: 0 !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 13px !important;
    border-radius: 13px !important;
    font-size: 13px !important;
}

body .admin-main .member-info-list {
    display: grid !important;
    gap: 8px !important;
    margin-top: 12px !important;
}

body .admin-main .member-info-list > div {
    display: grid !important;
    grid-template-columns: 130px minmax(0, 1fr) !important;
    gap: 10px !important;
    align-items: start !important;
    padding: 8px 0 !important;
    border-top: 1px solid #F1F5F9 !important;
}

body .admin-main .member-info-list span,
body .admin-main .member-status-control > span,
body .admin-main .member-metric-grid span {
    color: #64748B !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
}

body .admin-main .member-info-list strong {
    min-width: 0 !important;
    color: #111827 !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
    overflow-wrap: anywhere !important;
}

body .admin-main .member-status-control {
    display: grid !important;
    grid-template-columns: 130px minmax(0, 1fr) !important;
    gap: 10px !important;
    align-items: center !important;
    margin-top: 12px !important;
    padding-top: 12px !important;
    border-top: 1px solid #F1F5F9 !important;
}

body .admin-main .member-status-control form {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 42px !important;
    gap: 8px !important;
    align-items: center !important;
}

body .admin-main .member-status-control .btn {
    width: 42px !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 !important;
    border-radius: 13px !important;
}

body .admin-main .member-trainer-assign-form,
body .admin-main .member-rfid-form {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 10px !important;
    align-items: center !important;
    margin-top: 12px !important;
}

body .admin-main .member-trainer-assign-form .btn,
body .admin-main .member-rfid-form .btn,
body .admin-main .member-profile-actions .btn,
body .admin-main .member-rfid-actions .btn {
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 13px !important;
    border-radius: 13px !important;
    font-size: 12px !important;
    white-space: nowrap !important;
}

body .admin-main .member-subscription-summary {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 14px !important;
    align-items: center !important;
    padding: 14px !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 16px !important;
    background: #FBFBFA !important;
}

body .admin-main .member-subscription-summary strong {
    display: block !important;
    margin-bottom: 4px !important;
    font-size: 19px !important;
    line-height: 1.15 !important;
}

body .admin-main .member-subscription-summary span,
body .admin-main .member-subscription-summary small {
    display: block !important;
}

body .admin-main .member-subscription-summary small {
    margin-top: 4px !important;
    color: #64748B !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
}

body .admin-main .member-payment-table {
    width: 100% !important;
    overflow-x: auto !important;
}

body .admin-main .member-payment-table table {
    width: 100% !important;
    min-width: 680px !important;
    border-collapse: collapse !important;
}

body .admin-main .member-payment-table th,
body .admin-main .member-payment-table td {
    padding: 10px 8px !important;
    border-bottom: 1px solid #E5E7EB !important;
    text-align: left !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    vertical-align: middle !important;
}

body .admin-main .member-payment-table th {
    color: #475569 !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: .05em !important;
    background: #F8FAFC !important;
}

body .admin-main .member-payment-table .btn {
    height: 34px !important;
    min-height: 34px !important;
    padding: 0 10px !important;
    font-size: 11px !important;
    white-space: nowrap !important;
}

body .admin-main .member-metric-grid {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 10px !important;
}

body .admin-main .member-metric-grid > div {
    min-width: 0 !important;
    min-height: 72px !important;
    padding: 11px !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 15px !important;
    background: #FBFBFA !important;
}

body .admin-main .member-metric-grid strong {
    display: block !important;
    margin-top: 7px !important;
    color: #111827 !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
}

body .admin-main .rfid-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

body .admin-main .member-rfid-actions {
    margin-top: 10px !important;
}

@media (max-width: 1240px) {
    body .admin-main .member-profile-header,
    body .admin-main .member-details-layout {
        grid-template-columns: 1fr !important;
    }

    body .admin-main .member-profile-actions {
        justify-content: flex-start !important;
    }
}

@media (max-width: 900px) {
    body .admin-main .member-metric-grid,
    body .admin-main .rfid-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 640px) {
    body .admin-main .member-details-page {
        padding: 14px !important;
    }

    body .admin-main .member-profile-header,
    body .admin-main .member-profile-summary,
    body .admin-main .member-trainer-assign-form,
    body .admin-main .member-rfid-form,
    body .admin-main .member-subscription-summary,
    body .admin-main .member-status-control,
    body .admin-main .member-info-list > div {
        grid-template-columns: 1fr !important;
    }

    body .admin-main .member-profile-summary {
        display: grid !important;
    }

    body .admin-main .member-profile-actions .btn,
    body .admin-main .member-profile-actions form,
    body .admin-main .member-profile-actions form .btn,
    body .admin-main .member-trainer-assign-form .btn,
    body .admin-main .member-rfid-form .btn {
        width: 100% !important;
    }
}

/* RFID attendance terminal: scoped page polish only. */
body .admin-main .rfid-attendance-terminal {
    display: grid !important;
    gap: 18px !important;
}

body .admin-main .rfid-attendance-terminal .rfid-terminal-head {
    display: flex !important;
    align-items: flex-end !important;
    justify-content: space-between !important;
    gap: 16px !important;
    padding: 22px 24px !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 22px !important;
    background: #FFFFFF !important;
    box-shadow: 0 18px 44px rgba(15, 23, 42, .07) !important;
}

body .admin-main .rfid-attendance-terminal .rfid-terminal-head h2,
body .admin-main .rfid-attendance-terminal .rfid-live-header h3,
body .admin-main .rfid-attendance-terminal .section-head h3 {
    margin: 0 !important;
    color: #111827 !important;
    font-size: 24px !important;
    line-height: 1.18 !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
}

body .admin-main .rfid-attendance-terminal .rfid-terminal-head p,
body .admin-main .rfid-attendance-terminal .rfid-live-header p,
body .admin-main .rfid-attendance-terminal .rfid-scan-stage p,
body .admin-main .rfid-attendance-terminal .rfid-scan-form p {
    margin: 6px 0 0 !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
}

body .admin-main .rfid-attendance-terminal .rfid-terminal-grid {
    display: grid !important;
    grid-template-columns: minmax(380px, .9fr) minmax(0, 1.4fr) !important;
    gap: 18px !important;
    align-items: start !important;
}

body .admin-main .rfid-attendance-terminal .rfid-live-card,
body .admin-main .rfid-attendance-terminal .rfid-recent-card {
    position: relative !important;
    overflow: hidden !important;
    padding: 22px !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 22px !important;
    background: #FFFFFF !important;
    box-shadow: 0 18px 44px rgba(15, 23, 42, .07) !important;
}

body .admin-main .rfid-attendance-terminal .rfid-card-topline {
    position: absolute !important;
    top: 0 !important;
    left: 28px !important;
    width: 120px !important;
    height: 4px !important;
    border-radius: 0 0 999px 999px !important;
    background: linear-gradient(90deg, #5B7CFA, #34C6C0) !important;
}

body .admin-main .rfid-attendance-terminal .rfid-live-header,
body .admin-main .rfid-attendance-terminal .section-head {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    gap: 14px !important;
}

body .admin-main .rfid-attendance-terminal .rfid-status-pill {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    min-height: 34px !important;
    padding: 7px 11px !important;
    border: 1px solid #DCEAE8 !important;
    border-radius: 999px !important;
    background: #F4FAF8 !important;
    color: #0F766E !important;
    -webkit-text-fill-color: #0F766E !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

body .admin-main .rfid-attendance-terminal .rfid-status-waiting {
    color: #D97706 !important;
    -webkit-text-fill-color: #D97706 !important;
    background: #FFFBEB !important;
    border-color: rgba(217, 119, 6, .22) !important;
}

body .admin-main .rfid-attendance-terminal .rfid-status-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin-top: 16px !important;
}

body .admin-main .rfid-attendance-terminal .rfid-status-grid > div,
body .admin-main .rfid-attendance-terminal .rfid-detail-grid > div,
body .admin-main .rfid-attendance-terminal .rfid-metrics-row > div {
    min-width: 0 !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 15px !important;
    background: #FBFBFA !important;
}

body .admin-main .rfid-attendance-terminal .rfid-status-grid > div {
    padding: 11px 12px !important;
}

body .admin-main .rfid-attendance-terminal .rfid-status-grid span,
body .admin-main .rfid-attendance-terminal .rfid-detail-grid span,
body .admin-main .rfid-attendance-terminal .rfid-metrics-row span,
body .admin-main .rfid-attendance-terminal .rfid-scan-form label {
    display: block !important;
    color: #64748B !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: .04em !important;
}

body .admin-main .rfid-attendance-terminal .rfid-status-grid strong,
body .admin-main .rfid-attendance-terminal .rfid-detail-grid strong,
body .admin-main .rfid-attendance-terminal .rfid-metrics-row strong {
    display: block !important;
    margin-top: 5px !important;
    color: #111827 !important;
    font-size: 15px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    overflow-wrap: anywhere !important;
}

body .admin-main .rfid-attendance-terminal .rfid-scan-stage {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    gap: 16px !important;
    align-items: center !important;
    min-height: 154px !important;
    margin-top: 16px !important;
    padding: 18px !important;
    border: 1px dashed rgba(15, 118, 110, .28) !important;
    border-radius: 20px !important;
    background: linear-gradient(135deg, #F8FCFB 0%, #FFFFFF 72%) !important;
}

body .admin-main .rfid-attendance-terminal .rfid-scan-stage h3 {
    margin: 7px 0 0 !important;
    color: #111827 !important;
    font-size: 26px !important;
    line-height: 1.1 !important;
    font-weight: 850 !important;
}

body .admin-main .rfid-attendance-terminal .rfid-pulse {
    width: 76px !important;
    height: 76px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 22px !important;
    background: #EAF4F1 !important;
    color: #0F766E !important;
    -webkit-text-fill-color: #0F766E !important;
    font-size: 32px !important;
    position: relative !important;
}

body .admin-main .rfid-attendance-terminal .rfid-pulse::after {
    content: "" !important;
    position: absolute !important;
    inset: -8px !important;
    border: 1px solid rgba(15, 118, 110, .25) !important;
    border-radius: 28px !important;
    animation: rfidPulse 1.6s ease-out infinite !important;
}

body .admin-main .rfid-attendance-terminal .rfid-result-icon {
    width: 70px !important;
    height: 70px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 22px !important;
    font-size: 32px !important;
}

body .admin-main .rfid-attendance-terminal .rfid-stage-success {
    border-color: rgba(22, 163, 74, .28) !important;
    background: #F7FEFA !important;
}

body .admin-main .rfid-attendance-terminal .rfid-stage-success .rfid-result-icon {
    color: #16A34A !important;
    -webkit-text-fill-color: #16A34A !important;
    background: #DCFCE7 !important;
}

body .admin-main .rfid-attendance-terminal .rfid-stage-warning {
    border-color: rgba(217, 119, 6, .28) !important;
    background: #FFFBEB !important;
}

body .admin-main .rfid-attendance-terminal .rfid-stage-warning .rfid-result-icon {
    color: #D97706 !important;
    -webkit-text-fill-color: #D97706 !important;
    background: #FEF3C7 !important;
}

body .admin-main .rfid-attendance-terminal .rfid-stage-danger {
    border-color: rgba(220, 38, 38, .25) !important;
    background: #FEF2F2 !important;
    animation: rfidShake .2s ease both !important;
}

body .admin-main .rfid-attendance-terminal .rfid-stage-danger .rfid-result-icon {
    color: #DC2626 !important;
    -webkit-text-fill-color: #DC2626 !important;
    background: #FEE2E2 !important;
}

body .admin-main .rfid-attendance-terminal .rfid-person-result {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 12px !important;
    align-items: center !important;
    margin-top: 14px !important;
    padding: 12px !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 16px !important;
    background: #FFFFFF !important;
}

body .admin-main .rfid-attendance-terminal .rfid-person-result strong {
    display: block !important;
    color: #111827 !important;
    font-size: 15px !important;
    line-height: 1.25 !important;
    font-weight: 850 !important;
    overflow-wrap: anywhere !important;
}

body .admin-main .rfid-attendance-terminal .rfid-person-result small {
    display: block !important;
    margin-top: 2px !important;
    color: #64748B !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
}

body .admin-main .rfid-attendance-terminal .rfid-detail-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin-top: 12px !important;
}

body .admin-main .rfid-attendance-terminal .rfid-detail-grid > div {
    padding: 10px 11px !important;
}

body .admin-main .rfid-attendance-terminal .rfid-scan-form {
    display: grid !important;
    gap: 8px !important;
    margin-top: 16px !important;
}

body .admin-main .rfid-attendance-terminal .rfid-input-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 10px !important;
    align-items: center !important;
}

body .admin-main .rfid-attendance-terminal .rfid-input-row input {
    height: 48px !important;
    min-height: 48px !important;
    border-radius: 15px !important;
    font-size: 15px !important;
}

body .admin-main .rfid-attendance-terminal .rfid-input-row .btn {
    height: 48px !important;
    min-height: 48px !important;
    padding: 0 16px !important;
    border-radius: 15px !important;
    font-size: 13px !important;
}

body .admin-main .rfid-attendance-terminal .rfid-button-spinner {
    width: 16px !important;
    height: 16px !important;
    border: 2px solid rgba(255, 255, 255, .5) !important;
    border-top-color: #FFFFFF !important;
    border-radius: 999px !important;
    animation: rfidSpin .65s linear infinite !important;
}

body .admin-main .rfid-attendance-terminal .rfid-activity-column {
    display: grid !important;
    gap: 14px !important;
}

body .admin-main .rfid-attendance-terminal .rfid-metrics-row {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 10px !important;
}

body .admin-main .rfid-attendance-terminal .rfid-metrics-row > div {
    padding: 12px !important;
    background: #FFFFFF !important;
    box-shadow: 0 10px 28px rgba(15, 23, 42, .055) !important;
}

body .admin-main .rfid-attendance-terminal .rfid-metrics-row strong {
    font-size: 24px !important;
}

body .admin-main .rfid-attendance-terminal .rfid-recent-card {
    padding-bottom: 18px !important;
}

body .admin-main .rfid-attendance-terminal .rfid-scan-list {
    display: grid !important;
    gap: 8px !important;
    margin-top: 14px !important;
    max-height: 510px !important;
    overflow-y: auto !important;
    padding-right: 2px !important;
}

body .admin-main .rfid-attendance-terminal .rfid-scan-row {
    display: grid !important;
    grid-template-columns: minmax(180px, 1.1fr) minmax(150px, .8fr) auto !important;
    gap: 12px !important;
    align-items: center !important;
    padding: 10px 12px !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 15px !important;
    background: #FFFFFF !important;
    transition: background-color .18s ease, border-color .18s ease !important;
}

body .admin-main .rfid-attendance-terminal .rfid-scan-row:first-child {
    border-color: rgba(15, 118, 110, .24) !important;
    background: #F8FCFB !important;
}

body .admin-main .rfid-attendance-terminal .rfid-row-person {
    display: grid !important;
    grid-template-columns: 38px minmax(0, 1fr) !important;
    gap: 10px !important;
    align-items: center !important;
    min-width: 0 !important;
}

body .admin-main .rfid-attendance-terminal .rfid-row-person strong,
body .admin-main .rfid-attendance-terminal .rfid-row-meta strong {
    display: block !important;
    color: #111827 !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
    font-weight: 850 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

body .admin-main .rfid-attendance-terminal .rfid-row-person span,
body .admin-main .rfid-attendance-terminal .rfid-row-meta span,
body .admin-main .rfid-attendance-terminal .rfid-row-status small {
    display: block !important;
    margin-top: 2px !important;
    color: #64748B !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
}

body .admin-main .rfid-attendance-terminal .rfid-row-status {
    display: grid !important;
    justify-items: end !important;
    gap: 4px !important;
}

body .admin-main .rfid-attendance-terminal .rfid-unknown-avatar {
    width: 38px !important;
    height: 38px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 13px !important;
    background: #FEF2F2 !important;
    color: #DC2626 !important;
    -webkit-text-fill-color: #DC2626 !important;
    font-size: 16px !important;
}

body .admin-main .rfid-attendance-terminal .rfid-empty-state {
    display: grid !important;
    justify-items: center !important;
    gap: 7px !important;
    padding: 30px 16px !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 18px !important;
    background: #F6F4EE !important;
    color: #64748B !important;
    text-align: center !important;
}

body .admin-main .rfid-attendance-terminal .rfid-empty-state i {
    color: #0F766E !important;
    -webkit-text-fill-color: #0F766E !important;
    font-size: 28px !important;
}

body .admin-main .rfid-attendance-terminal .rfid-empty-state strong {
    color: #0F766E !important;
    font-size: 15px !important;
    line-height: 1.25 !important;
}

body .admin-main .rfid-attendance-terminal .rfid-empty-state span {
    font-size: 13px !important;
    line-height: 1.35 !important;
}

body .admin-main .rfid-scan-popup {
    position: fixed !important;
    inset: 0 !important;
    z-index: 1200 !important;
    display: grid !important;
    place-items: center !important;
    padding: 20px !important;
    background: rgba(17, 24, 39, .22) !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity .18s ease !important;
}

body .admin-main .rfid-scan-popup.is-visible {
    opacity: 1 !important;
    pointer-events: auto !important;
}

body .admin-main .rfid-scan-popup-card {
    position: relative !important;
    width: min(520px, 100%) !important;
    padding: 22px !important;
    border: 1px solid #DCEAE8 !important;
    border-radius: 24px !important;
    background: #FFFFFF !important;
    box-shadow: 0 28px 80px rgba(15, 23, 42, .22) !important;
    transform: translateY(10px) scale(.98) !important;
    transition: transform .18s ease !important;
}

body .admin-main .rfid-scan-popup.is-visible .rfid-scan-popup-card {
    transform: translateY(0) scale(1) !important;
}

body .admin-main .rfid-scan-popup-card::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 24px !important;
    width: 130px !important;
    height: 4px !important;
    border-radius: 0 0 999px 999px !important;
    background: linear-gradient(90deg, #5B7CFA, #34C6C0) !important;
}

body .admin-main .rfid-scan-popup-close {
    position: absolute !important;
    top: 14px !important;
    right: 14px !important;
    width: 34px !important;
    height: 34px !important;
    display: grid !important;
    place-items: center !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 12px !important;
    background: #FFFFFF !important;
    color: #64748B !important;
    -webkit-text-fill-color: #64748B !important;
    cursor: pointer !important;
}

body .admin-main .rfid-scan-popup-icon {
    width: 54px !important;
    height: 54px !important;
    display: grid !important;
    place-items: center !important;
    margin-bottom: 14px !important;
    border-radius: 18px !important;
    background: #DCFCE7 !important;
    color: #16A34A !important;
    -webkit-text-fill-color: #16A34A !important;
    font-size: 28px !important;
}

body .admin-main .rfid-popup-warning .rfid-scan-popup-icon {
    background: #FEF3C7 !important;
    color: #D97706 !important;
    -webkit-text-fill-color: #D97706 !important;
}

body .admin-main .rfid-popup-danger .rfid-scan-popup-icon {
    background: #FEE2E2 !important;
    color: #DC2626 !important;
    -webkit-text-fill-color: #DC2626 !important;
}

body .admin-main .rfid-popup-person {
    display: grid !important;
    grid-template-columns: 62px minmax(0, 1fr) !important;
    gap: 14px !important;
    align-items: center !important;
}

body .admin-main .rfid-popup-person .avatar-lg {
    width: 62px !important;
    height: 62px !important;
}

body .admin-main .rfid-scan-popup-body small,
body .admin-main .rfid-popup-details span {
    display: block !important;
    color: #64748B !important;
    font-size: 11px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: .04em !important;
}

body .admin-main .rfid-scan-popup-body strong {
    display: block !important;
    color: #111827 !important;
    font-size: 22px !important;
    line-height: 1.18 !important;
    font-weight: 850 !important;
    overflow-wrap: anywhere !important;
}

body .admin-main .rfid-scan-popup-body > span,
body .admin-main .rfid-popup-person span {
    display: block !important;
    margin-top: 4px !important;
    color: #64748B !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
}

body .admin-main .rfid-popup-details {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin-top: 16px !important;
}

body .admin-main .rfid-popup-details > div {
    min-width: 0 !important;
    padding: 11px 12px !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 14px !important;
    background: #FBFBFA !important;
}

body .admin-main .rfid-popup-details strong {
    margin-top: 4px !important;
    font-size: 13px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

@keyframes rfidSpin {
    to { transform: rotate(360deg); }
}

@media (max-width: 1180px) {
    body .admin-main .rfid-attendance-terminal .rfid-terminal-grid {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 760px) {
    body .admin-main .rfid-attendance-terminal .rfid-terminal-head,
    body .admin-main .rfid-attendance-terminal .rfid-live-header,
    body .admin-main .rfid-attendance-terminal .section-head {
        align-items: stretch !important;
        flex-direction: column !important;
    }

    body .admin-main .rfid-attendance-terminal .inline-actions {
        width: 100% !important;
    }

    body .admin-main .rfid-attendance-terminal .inline-actions .btn {
        width: 100% !important;
        justify-content: center !important;
    }

    body .admin-main .rfid-attendance-terminal .rfid-status-grid,
    body .admin-main .rfid-attendance-terminal .rfid-metrics-row,
    body .admin-main .rfid-attendance-terminal .rfid-detail-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body .admin-main .rfid-attendance-terminal .rfid-person-result,
    body .admin-main .rfid-attendance-terminal .rfid-scan-row {
        grid-template-columns: 1fr !important;
    }

    body .admin-main .rfid-attendance-terminal .rfid-row-status {
        justify-items: start !important;
    }
}

@media (max-width: 520px) {
    body .admin-main .rfid-attendance-terminal .rfid-terminal-head,
    body .admin-main .rfid-attendance-terminal .rfid-live-card,
    body .admin-main .rfid-attendance-terminal .rfid-recent-card {
        padding: 16px !important;
        border-radius: 18px !important;
    }

    body .admin-main .rfid-attendance-terminal .rfid-terminal-head h2,
    body .admin-main .rfid-attendance-terminal .rfid-scan-stage h3 {
        font-size: 22px !important;
    }

    body .admin-main .rfid-attendance-terminal .rfid-status-grid,
    body .admin-main .rfid-attendance-terminal .rfid-metrics-row,
    body .admin-main .rfid-attendance-terminal .rfid-detail-grid,
    body .admin-main .rfid-attendance-terminal .rfid-input-row {
        grid-template-columns: 1fr !important;
    }

    body .admin-main .rfid-attendance-terminal .rfid-input-row .btn {
        width: 100% !important;
        justify-content: center !important;
    }

    body .admin-main .rfid-popup-details {
        grid-template-columns: 1fr !important;
    }
}

/* Keep square uploaded logos visible in wide sidebar/logo slots. */
.admin-sidebar .admin-logo.admin-logo-custom {
    justify-content: flex-start !important;
    padding: 8px 10px 18px !important;
}

.admin-sidebar .admin-logo.admin-logo-custom > .brand-mark.brand-mark-crop {
    width: 76px !important;
    height: 76px !important;
    min-width: 76px !important;
    border-radius: 18px !important;
    background: #FFFFFF !important;
    border: 1px solid rgba(15, 118, 110, .22) !important;
    box-shadow: 0 12px 26px rgba(15, 23, 42, .08) !important;
    padding: 6px !important;
}

.admin-sidebar .admin-logo > .brand-mark.brand-mark-crop img,
.settings-logo-preview.brand-mark-crop img {
    object-fit: contain !important;
    object-position: center !important;
    transform: none !important;
    transform-origin: center !important;
}

/* Salary-only admin page */
.salary-only-page .section-head {
    margin-bottom: 18px !important;
}

.salary-summary-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 14px !important;
    margin-bottom: 18px !important;
}

.salary-summary-grid .dash-card {
    min-height: 112px !important;
    padding: 18px !important;
}

.salary-summary-grid .dash-card h3 {
    font-size: clamp(24px, 2.4vw, 34px) !important;
}

.salary-filter-form {
    grid-template-columns: minmax(260px, 1fr) 220px auto auto !important;
    gap: 12px !important;
}

.salary-list {
    display: grid;
    gap: 0;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 18px;
    overflow: hidden;
    background: #FFFFFF;
}

.salary-list-header,
.salary-row {
    display: grid;
    grid-template-columns: minmax(220px, 1.4fr) 112px 140px minmax(250px, .95fr) 144px;
    align-items: center;
    column-gap: 16px;
}

.salary-list-header {
    min-height: 62px;
    padding: 0 20px;
    background: #F8FAFC;
    color: #475569;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.salary-row {
    min-height: 96px;
    padding: 16px 20px;
    border-top: 1px solid rgba(15, 23, 42, .08);
}

.salary-trainer-cell {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.salary-trainer-cell > div {
    min-width: 0;
}

.salary-trainer-cell strong,
.salary-trainer-cell .muted {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.salary-trainer-cell .muted {
    max-width: 180px;
}

.salary-actions {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 8px;
}

.salary-inline-form {
    display: grid;
    grid-template-columns: minmax(110px, 142px) 78px !important;
    gap: 10px;
    align-items: center;
}

.salary-inline-form input {
    width: 142px !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 12px !important;
    font-size: 14px !important;
}

.salary-list .pill {
    min-width: 76px !important;
    min-height: 36px !important;
    padding: 0 14px !important;
    justify-content: center !important;
    white-space: nowrap !important;
}

.salary-actions .btn,
.salary-inline-form .btn {
    min-width: 78px !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 12px !important;
    font-size: 13px !important;
    white-space: nowrap !important;
}

.salary-actions .salary-icon-btn {
    width: 42px !important;
    min-width: 42px !important;
    padding: 0 !important;
    border-radius: 14px !important;
}

.salary-actions .salary-action-btn {
    min-width: 78px !important;
}

.salary-inline-form .btn span {
    display: inline !important;
}

@media (max-width: 920px) {
    .salary-summary-grid,
    .salary-filter-form {
        grid-template-columns: 1fr !important;
    }

    .salary-inline-form {
        grid-template-columns: 1fr !important;
    }

    .salary-list-header {
        display: none;
    }

    .salary-row {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .salary-actions {
        justify-content: flex-start;
    }
}

/* Final salary layout guard: compact payroll rows without horizontal clipping. */
.salary-list {
    overflow: visible !important;
    width: 100% !important;
}

.salary-list-header,
.salary-row {
    grid-template-columns: minmax(220px, 1fr) 108px 132px 224px 96px !important;
    column-gap: 12px !important;
    align-items: center !important;
}

.salary-list-header span {
    white-space: nowrap !important;
}

.salary-actions {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 8px !important;
    width: 96px !important;
    min-width: 96px !important;
}

.salary-actions form {
    width: 40px !important;
    min-width: 40px !important;
    margin: 0 !important;
}

.salary-actions .salary-icon-btn.btn {
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 14px !important;
    overflow: hidden !important;
}

.salary-inline-form {
    grid-template-columns: 132px 42px !important;
    gap: 8px !important;
}

.salary-inline-form input {
    width: 132px !important;
    height: 40px !important;
    min-height: 40px !important;
}

.salary-inline-form .btn {
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 !important;
}

.salary-inline-form .btn span {
    display: none !important;
}

@media (max-width: 1180px) {
    .salary-list-header,
    .salary-row {
        grid-template-columns: minmax(170px, 1fr) 92px 118px 178px 92px !important;
        column-gap: 8px !important;
    }

    .salary-inline-form {
        grid-template-columns: 112px 40px !important;
        gap: 6px !important;
    }

    .salary-inline-form input {
        width: 112px !important;
        padding: 0 10px !important;
    }

    .salary-actions {
        width: 88px !important;
        min-width: 88px !important;
        gap: 6px !important;
    }

    .salary-actions .salary-icon-btn.btn,
    .salary-actions form,
    .salary-inline-form .btn {
        width: 40px !important;
        min-width: 40px !important;
        max-width: 40px !important;
    }
}

/* Notification bell: straight by default, subtle vibration only when unread. */
@keyframes fitcoreBellUnread {
    0%, 100% { transform: rotate(0deg); }
    20% { transform: rotate(-9deg); }
    40% { transform: rotate(7deg); }
    60% { transform: rotate(-5deg); }
    80% { transform: rotate(4deg); }
}

.admin-alert-icon i,
.super-admin-bell i {
    transform: rotate(0deg) !important;
    transform-origin: center !important;
}

.admin-alert-icon.has-unread i,
.super-admin-bell.has-unread i {
    animation: fitcoreBellUnread 1.6s ease-in-out infinite !important;
}

.admin-alert-icon:not(.has-unread) i,
.super-admin-bell:not(.has-unread) i {
    animation: none !important;
}

/* Trainers management header and filters: compact SaaS layout, no stretched CTA. */
.admin-main .trainers-management-panel.card {
    padding: 20px 22px !important;
}

.admin-main .trainers-management-panel .section-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 18px !important;
    width: 100% !important;
    margin: 0 0 16px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.admin-main .trainers-management-panel .section-head > div:first-child {
    max-width: 660px !important;
}

.admin-main .trainers-management-panel .section-head h2 {
    margin: 8px 0 4px !important;
    font-size: 24px !important;
    line-height: 1.18 !important;
    letter-spacing: 0 !important;
}

.admin-main .trainers-management-panel .section-head p {
    margin: 0 !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    color: #64748b !important;
}

.admin-main .trainers-management-panel .section-head > .btn {
    width: auto !important;
    min-width: 124px !important;
    max-width: 124px !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 13px !important;
    align-self: center !important;
    justify-self: end !important;
    flex: 0 0 auto !important;
    border-radius: 12px !important;
    font-size: 13px !important;
    box-shadow: 0 10px 18px rgba(15, 118, 110, .16) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    text-align: center !important;
}

.admin-main .trainers-filter-form {
    display: grid !important;
    grid-template-columns: minmax(220px, 360px) 190px 104px 92px !important;
    gap: 10px !important;
    align-items: center !important;
    width: fit-content !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.admin-main .trainers-filter-form input,
.admin-main .trainers-filter-form select,
.admin-main .trainers-filter-form .search-select-trigger {
    width: 100% !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 14px !important;
    font-size: 13px !important;
    border-radius: 12px !important;
}

.admin-main .trainers-filter-form .btn {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 12px !important;
    border-radius: 12px !important;
    justify-self: stretch !important;
    white-space: nowrap !important;
    font-size: 13px !important;
    box-shadow: none !important;
}

.admin-main .trainer-card .trainer-card-main > .avatar.avatar-lg {
    width: 62px !important;
    height: 62px !important;
    border-width: 2px !important;
    box-shadow: 0 10px 22px rgba(15, 23, 42, .08) !important;
}

.admin-main .trainer-card .pill {
    min-height: 34px !important;
    padding: 7px 14px !important;
    font-size: 13px !important;
}

/* Trainer assignment table: keep assign controls inside the card with no hover scrollbar. */
.trainer-assignment-table-section .table-wrap {
    overflow-x: hidden !important;
}

.trainer-assignment-table-section table {
    width: 100% !important;
    min-width: 0 !important;
    table-layout: fixed !important;
}

.trainer-assignment-table-section th,
.trainer-assignment-table-section td {
    padding: 14px 18px !important;
    vertical-align: middle !important;
}

.trainer-assignment-table-section th:nth-child(1),
.trainer-assignment-table-section td:nth-child(1) {
    width: 28% !important;
}

.trainer-assignment-table-section th:nth-child(2),
.trainer-assignment-table-section td:nth-child(2) {
    width: 24% !important;
}

.trainer-assignment-table-section th:nth-child(3),
.trainer-assignment-table-section td:nth-child(3) {
    width: 20% !important;
}

.trainer-assignment-table-section th:nth-child(4),
.trainer-assignment-table-section td:nth-child(4) {
    width: 28% !important;
}

.trainer-assignment-table-section .member-row-profile.compact {
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr) !important;
    gap: 12px !important;
    align-items: center !important;
}

.trainer-assignment-table-section .member-row-profile.compact strong,
.trainer-assignment-table-section .member-row-profile.compact .muted {
    display: block !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.trainer-assignment-inline-form {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 96px !important;
    gap: 10px !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 300px !important;
    margin-left: auto !important;
}

.trainer-assignment-inline-form select,
.trainer-assignment-inline-form .search-select-trigger {
    width: 100% !important;
    min-width: 0 !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 12px !important;
    border-radius: 14px !important;
    font-size: 13px !important;
}

.trainer-assignment-inline-form .btn {
    width: 96px !important;
    min-width: 96px !important;
    max-width: 96px !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 10px !important;
    border-radius: 14px !important;
    font-size: 13px !important;
    box-shadow: none !important;
    transform: none !important;
    white-space: nowrap !important;
}

.trainer-assignment-inline-form .btn:hover {
    transform: none !important;
}

@media (max-width: 860px) {
    .trainer-assignment-table-section .table-wrap {
        overflow-x: auto !important;
    }

    .trainer-assignment-table-section table {
        min-width: 760px !important;
    }
}

/* Topbar profile photo: clean circular avatar for uploaded and default images. */
.admin-topbar .profile-menu-button {
    height: 42px !important;
    min-height: 42px !important;
    padding: 4px 8px 4px 4px !important;
    overflow: hidden !important;
}

.admin-topbar .profile-menu-button .account-avatar-img {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    display: block !important;
    object-fit: cover !important;
    object-position: center !important;
    border-radius: 999px !important;
    border: 1px solid rgba(15, 118, 110, .14) !important;
    background: #FFFFFF !important;
    box-shadow: inset 0 0 0 1px rgba(226, 232, 240, .8) !important;
}

/* Revenue payments: compact receipt actions and date/time-only filters. */
.revenue-payments-card .section-head.compact {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    margin-bottom: 16px !important;
}

.revenue-payments-card .section-head.compact h3,
.revenue-payments-card .section-head.compact h2 {
    margin: 0 0 4px !important;
    font-size: 22px !important;
    line-height: 1.2 !important;
}

.revenue-payments-card .section-head.compact p {
    margin: 0 !important;
    font-size: 13px !important;
}

.revenue-payments-card .section-head.compact > div:first-child {
    width: auto !important;
    max-width: none !important;
    flex: 1 1 auto !important;
}

.revenue-payments-card .section-head.compact .revenue-view-more-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    max-width: max-content !important;
    min-width: 122px !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 16px !important;
    gap: 8px !important;
    text-align: center !important;
    white-space: nowrap !important;
    line-height: 1 !important;
    align-self: center !important;
}

.revenue-payments-card .section-head.compact .revenue-view-more-btn i {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
}

.payment-date-filter-form {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(130px, 1fr)) auto auto !important;
    gap: 10px !important;
    align-items: center !important;
    margin: 0 0 16px !important;
}

.payment-date-filter-form input {
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 12px !important;
    border-radius: 12px !important;
    font-size: 13px !important;
}

.payment-date-filter-form .btn {
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 14px !important;
    border-radius: 12px !important;
    font-size: 13px !important;
    white-space: nowrap !important;
}

.revenue-payments-card table {
    min-width: 0 !important;
}

.revenue-payments-card th,
.revenue-payments-card td {
    padding: 13px 14px !important;
    font-size: 14px !important;
}

.revenue-payments-card .pill {
    min-height: 30px !important;
    padding: 5px 10px !important;
    font-size: 12px !important;
    white-space: nowrap !important;
}

.pagination-wrap {
    margin-top: 14px !important;
}

@media (max-width: 980px) {
    .payment-date-filter-form {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 620px) {
    .revenue-payments-card .section-head.compact {
        align-items: flex-start !important;
        flex-direction: column !important;
    }

    .revenue-payments-card .section-head.compact .revenue-view-more-btn {
        width: auto !important;
        min-width: 122px !important;
        align-self: flex-start !important;
    }

    .payment-date-filter-form {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 980px) {
    .admin-main .trainers-management-panel .section-head {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    .admin-main .trainers-management-panel .section-head > .btn {
        justify-self: start !important;
    }

    .admin-main .trainers-filter-form {
        grid-template-columns: 1fr 1fr !important;
        width: 100% !important;
    }
}

@media (max-width: 620px) {
    .admin-main .trainers-management-panel.card {
        padding: 18px !important;
    }

    .admin-main .trainers-filter-form {
        grid-template-columns: 1fr !important;
    }

    .admin-main .trainers-management-panel .section-head > .btn {
        width: 100% !important;
        max-width: none !important;
    }
}

/* Trainer detail: compact assigned members list for larger rosters. */
.trainer-assigned-members-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin-bottom: 14px !important;
}

.trainer-assigned-members-head > div:first-child {
    width: auto !important;
    max-width: none !important;
}

.trainer-assigned-members-head h2 {
    margin: 4px 0 0 !important;
    font-size: 24px !important;
    line-height: 1.15 !important;
}

.trainer-assigned-members-list {
    display: grid !important;
    gap: 8px !important;
    max-height: 360px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding: 2px 4px 2px 0 !important;
}

.trainer-assigned-member-row {
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 12px !important;
    min-height: 64px !important;
    padding: 10px 12px !important;
    border: 1px solid rgba(15, 23, 42, .08) !important;
    border-radius: 16px !important;
    background: rgba(255, 255, 255, .86) !important;
    color: #0f172a !important;
    text-decoration: none !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, .04) !important;
    transition: background-color .18s ease, border-color .18s ease, color .18s ease !important;
}

.trainer-assigned-member-row:hover {
    background: rgba(240, 253, 250, .78) !important;
    border-color: rgba(15, 118, 110, .2) !important;
}

.trainer-assigned-member-main {
    display: grid !important;
    gap: 3px !important;
    min-width: 0 !important;
}

.trainer-assigned-member-main strong {
    font-size: 15px !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.trainer-assigned-member-main small {
    color: #64748b !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.trainer-assigned-member-row .pill {
    min-height: 30px !important;
    padding: 5px 10px !important;
    font-size: 12px !important;
    white-space: nowrap !important;
}

@media (max-width: 680px) {
    .trainer-assigned-members-head {
        align-items: flex-start !important;
        flex-direction: column !important;
    }

    .trainer-assigned-member-row {
        grid-template-columns: 40px minmax(0, 1fr) !important;
    }

    .trainer-assigned-member-row .pill {
        grid-column: 2 !important;
        justify-self: start !important;
    }
}

/* Final trainer management action placement: assignments live inside Trainers, not sidebar. */
body .admin-main .trainers-management-panel .section-head {
    grid-template-columns: minmax(0, 1fr) auto !important;
}

body .admin-main .trainers-management-panel .trainer-management-actions {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 10px !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    justify-self: end !important;
}

body .admin-main .trainers-management-panel .trainer-management-actions .btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 136px !important;
    max-width: 170px !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 16px !important;
    border-radius: 13px !important;
    font-size: 13px !important;
    gap: 7px !important;
    white-space: nowrap !important;
    text-align: center !important;
}

@media (max-width: 980px) {
    body .admin-main .trainers-management-panel .section-head {
        grid-template-columns: 1fr !important;
    }

    body .admin-main .trainers-management-panel .trainer-management-actions {
        justify-self: start !important;
    }
}

@media (max-width: 620px) {
    body .admin-main .trainers-management-panel .trainer-management-actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
        width: 100% !important;
    }

    body .admin-main .trainers-management-panel .trainer-management-actions .btn {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
    }
}

/* Trainer directory: compact aligned rows without crushed table columns. */
body .admin-main .trainer-directory-section {
    padding: 22px 24px !important;
}

body .admin-main .trainer-directory-section .section-head {
    margin-bottom: 14px !important;
}

body .admin-main .trainer-directory-section .section-head h2 {
    font-size: 24px !important;
    line-height: 1.15 !important;
}

body .admin-main .trainer-directory-list {
    display: grid !important;
    gap: 0 !important;
    border: 1px solid rgba(15, 23, 42, .08) !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    background: #fff !important;
    width: 100% !important;
    max-width: 100% !important;
}

body .admin-main .trainer-directory-header,
body .admin-main .trainer-directory-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1.32fr) minmax(0, 1.28fr) minmax(78px, .68fr) minmax(96px, .82fr) minmax(72px, .5fr) minmax(78px, .56fr) 98px !important;
    align-items: center !important;
    column-gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

body .admin-main .trainer-directory-header > *,
body .admin-main .trainer-directory-row > * {
    min-width: 0 !important;
}

body .admin-main .trainer-directory-header > span {
    white-space: nowrap !important;
    overflow: visible !important;
}

body .admin-main .trainer-directory-header {
    min-height: 58px !important;
    padding: 0 16px !important;
    background: #f8fafc !important;
    color: #475569 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

body .admin-main .trainer-directory-row {
    min-height: 84px !important;
    padding: 14px 16px !important;
    border-top: 1px solid rgba(15, 23, 42, .08) !important;
}

body .admin-main .trainer-directory-person,
body .admin-main .trainer-directory-contact {
    display: grid !important;
    min-width: 0 !important;
}

body .admin-main .trainer-directory-person {
    grid-template-columns: 42px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 12px !important;
}

body .admin-main .trainer-directory-person .avatar-sm {
    width: 42px !important;
    height: 42px !important;
}

body .admin-main .trainer-directory-person strong,
body .admin-main .trainer-directory-person .muted,
body .admin-main .trainer-directory-contact strong,
body .admin-main .trainer-directory-contact .muted {
    display: block !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

body .admin-main .trainer-directory-contact strong {
    font-size: 14px !important;
    font-weight: 500 !important;
}

body .admin-main .trainer-directory-section .pill {
    min-height: 30px !important;
    padding: 5px 10px !important;
    font-size: 12px !important;
    white-space: nowrap !important;
}

body .admin-main .trainer-directory-actions {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    min-width: 0 !important;
    overflow: visible !important;
}

body .admin-main .trainer-directory-actions .btn {
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    height: 38px !important;
    min-height: 38px !important;
    padding: 0 !important;
    border-radius: 12px !important;
    font-size: 12.5px !important;
    font-weight: 700 !important;
    gap: 0 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

body .admin-main .trainer-directory-actions .btn i {
    font-size: 16px !important;
    margin: 0 !important;
}

@media (max-width: 1180px) {
    body .admin-main .trainer-directory-header,
    body .admin-main .trainer-directory-row {
        grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.1fr) 78px 96px 66px 72px 88px !important;
        column-gap: 8px !important;
    }

    body .admin-main .trainer-directory-header,
    body .admin-main .trainer-directory-row {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    body .admin-main .trainer-directory-actions .btn {
        width: 40px !important;
        min-width: 40px !important;
        max-width: 40px !important;
        height: 36px !important;
        min-height: 36px !important;
        padding: 0 !important;
    }
}

@media (max-width: 860px) {
    body .admin-main .trainer-directory-header {
        display: none !important;
    }

    body .admin-main .trainer-directory-row {
        grid-template-columns: 1fr auto !important;
        gap: 10px 14px !important;
        align-items: start !important;
    }

    body .admin-main .trainer-directory-row > div:nth-child(2),
    body .admin-main .trainer-directory-row > div:nth-child(3),
    body .admin-main .trainer-directory-row > div:nth-child(4),
    body .admin-main .trainer-directory-row > div:nth-child(5),
    body .admin-main .trainer-directory-row > div:nth-child(6) {
        grid-column: 1 !important;
    }

    body .admin-main .trainer-directory-actions {
        grid-column: 2 !important;
        grid-row: 1 / span 2 !important;
    }
}

/* Final admin notification bell polish.
   This stylesheet loads after the main theme, so keep the bell stable here. */
body .admin-topbar .admin-alert-icon {
    position: relative !important;
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #111827 !important;
    -webkit-text-fill-color: #111827 !important;
    transition: background-color .18s ease, color .18s ease !important;
}

body .admin-topbar .admin-alert-icon:hover,
body .admin-topbar .admin-alert-icon:focus-visible {
    background: rgba(15, 118, 110, .06) !important;
    color: #0F766E !important;
    -webkit-text-fill-color: #0F766E !important;
    outline: none !important;
}

body .admin-topbar .admin-alert-icon::before,
body .admin-topbar .admin-alert-icon::after {
    content: none !important;
    display: none !important;
}

body .admin-topbar .admin-alert-icon i {
    display: block !important;
    font-size: 26px !important;
    line-height: 1 !important;
    transform: rotate(0deg) !important;
    transform-origin: center center !important;
}

body .admin-topbar .admin-alert-icon:not(.has-unread) i {
    animation: none !important;
}

body .admin-topbar .admin-alert-icon.has-unread i {
    animation: fitcoreBellNotify 1.8s ease-in-out infinite !important;
}

body .admin-topbar .admin-alert-icon > .admin-alert-count {
    position: absolute !important;
    top: 5px !important;
    right: 4px !important;
    min-width: 16px !important;
    width: auto !important;
    height: 16px !important;
    padding: 0 4px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: visible !important;
    border: 2px solid #FFFFFF !important;
    border-radius: 999px !important;
    background: #DC2626 !important;
    box-shadow: 0 4px 10px rgba(220, 38, 38, .18) !important;
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
    font-size: 9px !important;
    font-weight: 800 !important;
    line-height: 16px !important;
    letter-spacing: 0 !important;
    text-indent: 0 !important;
    white-space: nowrap !important;
    clip-path: none !important;
    transform: none !important;
}

@keyframes fitcoreBellNotify {
    0%, 72%, 100% { transform: rotate(0deg); }
    78% { transform: rotate(-8deg); }
    84% { transform: rotate(7deg); }
    90% { transform: rotate(-4deg); }
    96% { transform: rotate(3deg); }
}

/* Super Admin bell count: keep the unread badge inside the icon button. */
body .admin-topbar .super-admin-bell {
    position: relative !important;
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    padding: 0 !important;
    overflow: visible !important;
}

body .admin-topbar .super-admin-bell .super-admin-bell-count {
    position: absolute !important;
    top: 4px !important;
    right: 4px !important;
    min-width: 16px !important;
    height: 16px !important;
    padding: 0 4px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 2px solid #FFFFFF !important;
    border-radius: 999px !important;
    background: #DC2626 !important;
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
    box-shadow: 0 4px 10px rgba(220, 38, 38, .18) !important;
    font-size: 9px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
    transform: none !important;
    clip-path: none !important;
    pointer-events: none !important;
}

body .admin-alert-popover-head form {
    margin: 0 !important;
}

body .admin-alert-read-all {
    height: 30px !important;
    padding: 0 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    border: 1px solid rgba(15, 118, 110, .16) !important;
    border-radius: 999px !important;
    background: rgba(15, 118, 110, .06) !important;
    color: #0F766E !important;
    -webkit-text-fill-color: #0F766E !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    transition: background-color .18s ease, border-color .18s ease, color .18s ease !important;
}

body .admin-alert-read-all:hover,
body .admin-alert-read-all:focus-visible {
    background: rgba(15, 118, 110, .12) !important;
    border-color: rgba(15, 118, 110, .28) !important;
    outline: none !important;
}

/* Super Admin support ticket detail */
.fitcore-support-ticket {
    display: grid !important;
    gap: 18px !important;
    padding: 24px !important;
}

.support-ticket-top {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 18px !important;
}

.support-ticket-top h2 {
    margin: 12px 0 0 !important;
    font-size: clamp(28px, 3vw, 36px) !important;
    line-height: 1.15 !important;
    max-width: 720px !important;
    overflow-wrap: anywhere !important;
}

.support-ticket-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
}

.support-ticket-actions form {
    margin: 0 !important;
}

.support-ticket-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
}

.support-ticket-grid > div {
    min-width: 0 !important;
    padding: 14px 16px !important;
    border: 1px solid rgba(17, 24, 39, .08) !important;
    border-radius: 16px !important;
    background: rgba(255, 255, 255, .72) !important;
}

.support-ticket-grid span {
    display: block !important;
    margin-bottom: 6px !important;
    color: #6B7280 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
}

.support-ticket-grid strong {
    display: block !important;
    color: #111827 !important;
    font-size: 15px !important;
    line-height: 1.35 !important;
    overflow-wrap: anywhere !important;
}

.support-message-card {
    max-width: 980px !important;
    padding: 18px 20px !important;
    border: 1px solid rgba(17, 24, 39, .10) !important;
    border-radius: 18px !important;
    background: #FFFFFF !important;
    box-shadow: 0 14px 34px rgba(17, 24, 39, .05) !important;
}

.support-message-card p {
    margin: 10px 0 0 !important;
    max-width: 78ch !important;
    color: #374151 !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
}

.support-reply-modal[hidden] {
    display: none !important;
}

.support-reply-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 9999 !important;
    display: grid !important;
    place-items: center !important;
    padding: 24px !important;
}

.support-reply-backdrop {
    position: absolute !important;
    inset: 0 !important;
    background: rgba(17, 24, 39, .34) !important;
    backdrop-filter: blur(8px) !important;
    opacity: 0 !important;
    transition: opacity .2s ease !important;
}

.support-reply-dialog {
    position: relative !important;
    z-index: 1 !important;
    width: min(640px, 100%) !important;
    padding: 22px !important;
    border: 1px solid rgba(17, 24, 39, .10) !important;
    border-radius: 18px !important;
    background: #FFFFFF !important;
    box-shadow: 0 28px 80px rgba(17, 24, 39, .18) !important;
    opacity: 0 !important;
    transform: scale(.96) translateY(8px) !important;
    transition: opacity .2s ease, transform .2s ease !important;
}

.support-reply-modal.is-open .support-reply-backdrop {
    opacity: 1 !important;
}

.support-reply-modal.is-open .support-reply-dialog {
    opacity: 1 !important;
    transform: scale(1) translateY(0) !important;
}

.support-reply-x {
    position: absolute !important;
    top: 14px !important;
    right: 14px !important;
    width: 38px !important;
    height: 38px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid rgba(17, 24, 39, .08) !important;
    border-radius: 12px !important;
    background: #FFFFFF !important;
    color: #111827 !important;
    cursor: pointer !important;
}

.support-reply-head {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 42px !important;
    padding-right: 42px !important;
}

.support-reply-head h3 {
    margin: 8px 0 0 !important;
    font-size: 26px !important;
    line-height: 1.2 !important;
}

.support-reply-recipient {
    margin: 18px 0 !important;
    padding: 14px 16px !important;
    border: 1px solid rgba(15, 118, 110, .14) !important;
    border-radius: 16px !important;
    background: rgba(15, 118, 110, .05) !important;
}

.support-reply-recipient span,
.support-reply-recipient small {
    display: block !important;
    color: #6B7280 !important;
    font-size: 13px !important;
}

.support-reply-recipient strong {
    display: block !important;
    margin: 4px 0 !important;
    color: #111827 !important;
    font-size: 17px !important;
}

.support-reply-form textarea {
    min-height: 190px !important;
    resize: vertical !important;
}

.support-reply-counter {
    margin-top: 8px !important;
    text-align: right !important;
    color: #6B7280 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
}

.support-reply-footer {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 10px !important;
    margin-top: 14px !important;
}

@media (max-width: 900px) {
    .support-ticket-top {
        flex-direction: column !important;
    }

    .support-ticket-actions {
        justify-content: flex-start !important;
    }

    .support-ticket-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 620px) {
    .fitcore-support-ticket {
        padding: 18px !important;
    }

    .support-ticket-grid {
        grid-template-columns: 1fr !important;
    }

    .support-ticket-actions .btn {
        width: auto !important;
    }

    .support-reply-footer {
        flex-direction: column-reverse !important;
        align-items: stretch !important;
    }
}

/* Super Admin support inbox: stable compact table columns */
.support-table-wrapper {
    overflow-x: hidden !important;
    overflow-y: visible !important;
}

.support-messages-table {
    width: 100% !important;
    min-width: 0 !important;
    table-layout: fixed !important;
}

.support-messages-table th,
.support-messages-table td {
    vertical-align: middle !important;
}

.support-messages-table th {
    white-space: nowrap !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    font-size: 12px !important;
    letter-spacing: .08em !important;
}

.support-messages-table td {
    padding-top: 16px !important;
    padding-bottom: 16px !important;
    min-height: 78px !important;
}

.support-sender-cell,
.support-message-cell,
.support-source-cell {
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
}

.support-sender-cell {
    gap: 4px !important;
}

.support-sender-cell strong,
.support-message-cell strong,
.support-source-cell span {
    max-width: 100% !important;
    color: #111827 !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.support-sender-cell > span:not(.pill),
.support-source-cell small,
.support-date-cell {
    max-width: 100% !important;
    color: #6B7280 !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.support-date-cell {
    display: block !important;
    padding-right: 10px !important;
}

.support-message-cell {
    gap: 5px !important;
}

.support-message-cell .message-preview {
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    color: #6B7280 !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
}

.support-messages-table .status-badge,
.support-messages-table .pill {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: max-content !important;
    max-width: none !important;
    white-space: nowrap !important;
    line-height: 1 !important;
}

.support-messages-table td:nth-child(5) {
    padding-left: 10px !important;
    padding-right: 10px !important;
}

.open-message-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
    min-width: 76px !important;
    max-width: 100% !important;
    height: 36px !important;
    padding: 0 10px !important;
    font-size: 13px !important;
    line-height: 1 !important;
}

.open-message-button i,
.open-message-button span {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
}

@media (max-width: 1100px) {
    .support-messages-table {
        min-width: 0 !important;
    }
}

/* Trainer leave review table: keep every value under its heading. */
body .admin-main .trainer-leave-table-wrap {
    overflow-x: visible !important;
}

body .admin-main .trainer-leave-table {
    width: 100% !important;
    table-layout: fixed !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
}

body .admin-main .trainer-leave-table .leave-col-trainer { width: 17% !important; }
body .admin-main .trainer-leave-table .leave-col-dates { width: 14% !important; }
body .admin-main .trainer-leave-table .leave-col-days { width: 7% !important; }
body .admin-main .trainer-leave-table .leave-col-desc { width: 22% !important; }
body .admin-main .trainer-leave-table .leave-col-status { width: 12% !important; }
body .admin-main .trainer-leave-table .leave-col-action { width: 28% !important; }

body .admin-main .trainer-leave-table th,
body .admin-main .trainer-leave-table td {
    padding: 18px 16px !important;
    vertical-align: middle !important;
    white-space: normal !important;
    word-break: normal !important;
}

body .admin-main .trainer-leave-table th {
    font-size: 12px !important;
    line-height: 1.25 !important;
    letter-spacing: .07em !important;
    white-space: nowrap !important;
    overflow-wrap: normal !important;
    word-break: keep-all !important;
    text-align: left !important;
}

body .admin-main .trainer-leave-table td {
    font-size: 14px !important;
    line-height: 1.45 !important;
    overflow-wrap: break-word !important;
}

body .admin-main .trainer-leave-table th:nth-child(3),
body .admin-main .trainer-leave-table td:nth-child(3),
body .admin-main .trainer-leave-table th:nth-child(5),
body .admin-main .trainer-leave-table td:nth-child(5) {
    text-align: center !important;
}

body .admin-main .trainer-leave-table th:nth-child(6),
body .admin-main .trainer-leave-table td:nth-child(6) {
    text-align: left !important;
}

body .admin-main .trainer-leave-table .leave-days-cell {
    font-weight: 700 !important;
}

body .admin-main .trainer-leave-table .leave-date-cell {
    white-space: nowrap !important;
}

body .admin-main .trainer-leave-table .leave-date-range {
    display: inline-grid !important;
    gap: 3px !important;
    align-items: center !important;
    padding: 8px 10px !important;
    border: 1px solid rgba(15, 118, 110, .14) !important;
    border-radius: 14px !important;
    background: rgba(15, 118, 110, .035) !important;
    color: #111827 !important;
    font-weight: 650 !important;
    line-height: 1.15 !important;
}

body .admin-main .trainer-leave-table .leave-date-range small {
    color: #64748b !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
    letter-spacing: .04em !important;
}

body .admin-main .trainer-leave-table .leave-description-cell {
    color: #111827 !important;
}

body .admin-main .trainer-leave-table td strong,
body .admin-main .trainer-leave-table .muted {
    max-width: 100% !important;
}

body .admin-main .trainer-leave-table .pill {
    min-width: 78px !important;
    max-width: 100% !important;
    height: 34px !important;
    padding: 0 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    font-size: 12px !important;
    line-height: 1 !important;
}

body .admin-main .trainer-leave-review {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 88px 88px !important;
    gap: 8px !important;
    align-items: center !important;
    justify-content: start !important;
}

body .admin-main .trainer-leave-review input {
    display: none !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 12px !important;
    font-size: 13px !important;
    line-height: 42px !important;
    white-space: nowrap !important;
}

body .admin-main .trainer-leave-review form {
    margin: 0 !important;
    width: 100% !important;
    min-width: 0 !important;
}

body .admin-main .trainer-leave-review .btn {
    width: 100% !important;
    min-width: 0 !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    font-size: 12px !important;
    line-height: 1 !important;
}

@media (max-width: 1180px) {
    body .admin-main .trainer-leave-table-wrap {
        overflow-x: auto !important;
    }

    body .admin-main .trainer-leave-table {
        min-width: 1040px !important;
    }
}

/* RFID scan station: professional live reader UI. */
body .admin-main .rfid-attendance-terminal .rfid-terminal-head {
    padding: 18px 20px !important;
    border-radius: 20px !important;
}

body .admin-main .rfid-attendance-terminal .rfid-terminal-head h2 {
    font-size: 22px !important;
}

body .admin-main .rfid-attendance-terminal .rfid-live-card {
    padding: 20px !important;
}

body .admin-main .rfid-attendance-terminal .rfid-scan-stage {
    grid-template-columns: minmax(170px, 220px) minmax(0, 1fr) !important;
    min-height: 220px !important;
    padding: 22px !important;
    border: 1px solid rgba(15, 118, 110, .18) !important;
    border-radius: 22px !important;
    background:
        radial-gradient(circle at 18% 18%, rgba(15, 118, 110, .08), transparent 30%),
        linear-gradient(135deg, #FBFBFA 0%, #FFFFFF 58%, #F5FBF9 100%) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .75), 0 16px 36px rgba(15, 23, 42, .055) !important;
}

body .admin-main .rfid-attendance-terminal .rfid-reader-device {
    position: relative !important;
    width: 168px !important;
    height: 168px !important;
    justify-self: center !important;
    display: grid !important;
    place-items: center !important;
    border: 1px solid rgba(15, 118, 110, .16) !important;
    border-radius: 28px !important;
    background: linear-gradient(180deg, #FFFFFF, #F4F7F6) !important;
    box-shadow: 0 18px 36px rgba(15, 23, 42, .10), inset 0 0 0 8px rgba(255, 255, 255, .72) !important;
}

body .admin-main .rfid-attendance-terminal .rfid-reader-device::before {
    content: "" !important;
    position: absolute !important;
    inset: 20px !important;
    border: 1px solid rgba(15, 118, 110, .10) !important;
    border-radius: 22px !important;
    background: #EEF4F2 !important;
}

body .admin-main .rfid-attendance-terminal .rfid-reader-device::after {
    content: "" !important;
    position: absolute !important;
    left: 28px !important;
    right: 28px !important;
    top: 50% !important;
    height: 4px !important;
    border-radius: 999px !important;
    background: #111827 !important;
    box-shadow: 0 0 0 1px rgba(17, 24, 39, .08) !important;
}

body .admin-main .rfid-attendance-terminal .rfid-reader-device > span {
    position: absolute !important;
    left: 38px !important;
    right: 38px !important;
    top: calc(50% - 18px) !important;
    height: 2px !important;
    border-radius: 999px !important;
    background: rgba(15, 118, 110, .72) !important;
    box-shadow: 0 0 18px rgba(15, 118, 110, .34) !important;
    animation: fitcoreRfidScanLine 1.7s ease-in-out infinite !important;
    z-index: 2 !important;
}

body .admin-main .rfid-attendance-terminal .rfid-reader-screen {
    position: relative !important;
    z-index: 3 !important;
    width: 44px !important;
    height: 44px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 14px !important;
    background: #FFFFFF !important;
    color: #0F766E !important;
    -webkit-text-fill-color: #0F766E !important;
    font-size: 22px !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, .12) !important;
}

body .admin-main .rfid-attendance-terminal .rfid-reader-device.is-approved .rfid-reader-screen {
    color: #16A34A !important;
    -webkit-text-fill-color: #16A34A !important;
    background: #DCFCE7 !important;
}

body .admin-main .rfid-attendance-terminal .rfid-reader-device.is-declined .rfid-reader-screen {
    color: #DC2626 !important;
    -webkit-text-fill-color: #DC2626 !important;
    background: #FEE2E2 !important;
}

body .admin-main .rfid-attendance-terminal .rfid-mini-label {
    display: inline-flex !important;
    align-items: center !important;
    width: fit-content !important;
    min-height: 28px !important;
    padding: 0 10px !important;
    border: 1px solid rgba(15, 118, 110, .16) !important;
    border-radius: 999px !important;
    background: #F4FAF8 !important;
    color: #0F766E !important;
    -webkit-text-fill-color: #0F766E !important;
    font-size: 11px !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    letter-spacing: .03em !important;
    text-transform: uppercase !important;
}

body .admin-main .rfid-attendance-terminal .rfid-scan-stage h3 {
    max-width: 460px !important;
    margin-top: 9px !important;
    font-size: 24px !important;
}

body .admin-main .rfid-attendance-terminal .rfid-scan-form {
    padding: 14px !important;
    border: 1px solid rgba(15, 118, 110, .12) !important;
    border-radius: 18px !important;
    background: #FBFBFA !important;
}

body .admin-main .rfid-attendance-terminal .rfid-input-row input {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace !important;
    letter-spacing: .04em !important;
}

body .admin-main .rfid-scan-popup {
    background: rgba(17, 24, 39, .34) !important;
    backdrop-filter: blur(8px) !important;
}

body .admin-main .rfid-scan-popup-card {
    width: min(560px, calc(100vw - 28px)) !important;
    padding: 26px !important;
    border-radius: 28px !important;
    border-color: rgba(15, 118, 110, .18) !important;
    box-shadow: 0 32px 90px rgba(15, 23, 42, .26) !important;
}

body .admin-main .rfid-scan-popup-icon {
    position: absolute !important;
    top: 22px !important;
    right: 62px !important;
    width: 42px !important;
    height: 42px !important;
    margin: 0 !important;
    border-radius: 999px !important;
    font-size: 22px !important;
}

body .admin-main .rfid-popup-person {
    grid-template-columns: 76px minmax(0, 1fr) !important;
    gap: 16px !important;
    padding-right: 72px !important;
}

body .admin-main .rfid-popup-person .avatar-lg {
    width: 76px !important;
    height: 76px !important;
    border: 3px solid rgba(15, 118, 110, .18) !important;
    box-shadow: 0 12px 30px rgba(15, 23, 42, .12) !important;
}

body .admin-main .rfid-scan-popup-body strong {
    font-size: 24px !important;
    line-height: 1.1 !important;
}

body .admin-main .rfid-popup-details {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 8px !important;
}

body .admin-main .rfid-popup-details > div {
    padding: 10px !important;
    border-radius: 14px !important;
}

body .admin-main .rfid-popup-details strong {
    font-size: 12px !important;
}

@keyframes fitcoreRfidScanLine {
    0%, 100% { transform: translateY(-20px); opacity: .45; }
    50% { transform: translateY(38px); opacity: 1; }
}

@media (max-width: 760px) {
    body .admin-main .rfid-attendance-terminal .rfid-scan-stage {
        grid-template-columns: 1fr !important;
        justify-items: center !important;
        text-align: center !important;
        min-height: 0 !important;
    }

    body .admin-main .rfid-attendance-terminal .rfid-reader-device {
        width: 144px !important;
        height: 144px !important;
    }

    body .admin-main .rfid-popup-details {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body .admin-main .rfid-popup-person {
        padding-right: 0 !important;
    }

    body .admin-main .rfid-scan-popup-icon {
        position: static !important;
        margin-bottom: 10px !important;
    }
}

/* RFID scan station: scanner-only terminal */
body .admin-main .rfid-attendance-terminal.rfid-scan-only {
    min-height: calc(100vh - 170px) !important;
    display: grid !important;
    grid-template-rows: auto 1fr !important;
    gap: 14px !important;
    padding: 0 !important;
}

body .admin-main .rfid-scan-only .rfid-scan-toolbar {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
}

body .admin-main .rfid-scan-only .rfid-scan-toolbar .btn {
    min-height: 42px !important;
    height: 42px !important;
    padding: 0 16px !important;
    border-radius: 14px !important;
    font-size: 14px !important;
    line-height: 1 !important;
}

body .admin-main .rfid-scan-only-card {
    position: relative !important;
    min-height: min(540px, calc(100vh - 230px)) !important;
    display: grid !important;
    place-items: center !important;
    overflow: hidden !important;
    padding: 28px !important;
}

body .admin-main .rfid-scan-only-card .rfid-scan-stage {
    width: min(680px, 100%) !important;
    min-height: min(420px, calc(100vh - 300px)) !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    place-items: center !important;
    padding: 36px !important;
}

body .admin-main .rfid-scan-only-card .rfid-scan-stage > div:not(.rfid-reader-device) {
    display: none !important;
}

body .admin-main .rfid-scan-only-card .rfid-reader-device {
    width: clamp(176px, 23vw, 260px) !important;
    height: clamp(176px, 23vw, 260px) !important;
    border-radius: clamp(26px, 3vw, 38px) !important;
}

body .admin-main .rfid-scan-only-card .rfid-reader-device::before {
    inset: clamp(18px, 2.4vw, 34px) !important;
    border-radius: clamp(18px, 2.4vw, 28px) !important;
}

body .admin-main .rfid-scan-only-card .rfid-reader-device::after {
    left: clamp(28px, 4vw, 50px) !important;
    right: clamp(28px, 4vw, 50px) !important;
}

body .admin-main .rfid-scan-only-card .rfid-reader-device > span {
    left: clamp(38px, 5vw, 64px) !important;
    right: clamp(38px, 5vw, 64px) !important;
}

body .admin-main .rfid-scan-only-card .rfid-reader-screen {
    width: clamp(46px, 5vw, 64px) !important;
    height: clamp(46px, 5vw, 64px) !important;
    font-size: clamp(22px, 2.4vw, 30px) !important;
    border-radius: 16px !important;
}

body .admin-main .rfid-hidden-scan-form {
    position: absolute !important;
    inset: auto auto 12px 12px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

body .admin-main .rfid-hidden-scan-form input#rfid_uid {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
}

@media (max-width: 760px) {
    body .admin-main .rfid-attendance-terminal.rfid-scan-only {
        min-height: calc(100vh - 142px) !important;
    }

    body .admin-main .rfid-scan-only .rfid-scan-toolbar {
        justify-content: stretch !important;
    }

    body .admin-main .rfid-scan-only .rfid-scan-toolbar .btn {
        width: 100% !important;
    }

    body .admin-main .rfid-scan-only-card {
        min-height: 440px !important;
        padding: 18px !important;
    }

    body .admin-main .rfid-scan-only-card .rfid-scan-stage {
        min-height: 340px !important;
        padding: 24px !important;
    }
}

/* Premium RFID reader presentation */
body .admin-main .rfid-scan-only-card .rfid-scan-stage {
    width: min(940px, 100%) !important;
    min-height: min(500px, calc(100vh - 270px)) !important;
    isolation: isolate !important;
    background:
        radial-gradient(circle at 50% 42%, rgba(15, 118, 110, .13), transparent 24%),
        radial-gradient(circle at 50% 50%, rgba(255, 255, 255, .95), transparent 44%),
        linear-gradient(135deg, #FBFBFA 0%, #FFFFFF 55%, #F4FAF8 100%) !important;
}

body .admin-main .rfid-scan-only-card .rfid-scan-stage::before {
    content: "" !important;
    position: absolute !important;
    width: clamp(280px, 34vw, 430px) !important;
    height: clamp(280px, 34vw, 430px) !important;
    border-radius: 999px !important;
    background: radial-gradient(circle, rgba(15, 118, 110, .10), rgba(15, 118, 110, .025) 54%, transparent 72%) !important;
    filter: blur(.2px) !important;
    z-index: 0 !important;
}

body .admin-main .rfid-scan-only-card .rfid-reader-device {
    width: clamp(230px, 25vw, 330px) !important;
    height: clamp(230px, 25vw, 330px) !important;
    z-index: 1 !important;
    border: 1px solid rgba(15, 118, 110, .18) !important;
    border-radius: clamp(34px, 4vw, 54px) !important;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(248, 251, 250, .92)),
        radial-gradient(circle at 50% 0%, rgba(15, 118, 110, .10), transparent 42%) !important;
    box-shadow:
        0 34px 85px rgba(15, 23, 42, .13),
        0 0 0 12px rgba(255, 255, 255, .64),
        inset 0 1px 0 rgba(255, 255, 255, .90) !important;
}

body .admin-main .rfid-scan-only-card .rfid-reader-device::before {
    inset: clamp(34px, 4vw, 52px) !important;
    border: 1px solid rgba(15, 118, 110, .14) !important;
    border-radius: clamp(26px, 3vw, 42px) !important;
    background:
        linear-gradient(180deg, rgba(239, 247, 244, .86), rgba(247, 251, 250, .98)),
        repeating-linear-gradient(90deg, transparent 0 14px, rgba(15, 118, 110, .025) 14px 15px) !important;
}

body .admin-main .rfid-scan-only-card .rfid-reader-device::after {
    left: clamp(34px, 4.5vw, 58px) !important;
    right: clamp(34px, 4.5vw, 58px) !important;
    top: 50% !important;
    height: 5px !important;
    background: linear-gradient(90deg, rgba(17, 24, 39, .38), #111827 18%, #111827 82%, rgba(17, 24, 39, .38)) !important;
    box-shadow: 0 1px 0 rgba(255, 255, 255, .8), 0 8px 18px rgba(15, 23, 42, .16) !important;
}

body .admin-main .rfid-scan-only-card .rfid-reader-device > span {
    left: clamp(50px, 6vw, 78px) !important;
    right: clamp(50px, 6vw, 78px) !important;
    top: calc(50% - 4px) !important;
    height: 3px !important;
    background: linear-gradient(90deg, transparent, rgba(15, 118, 110, .92), transparent) !important;
    box-shadow:
        0 0 20px rgba(15, 118, 110, .42),
        0 0 44px rgba(15, 118, 110, .20) !important;
    animation: fitcorePremiumRfidBeam 1.9s ease-in-out infinite !important;
}

body .admin-main .rfid-scan-only-card .rfid-reader-screen {
    width: clamp(66px, 6.5vw, 92px) !important;
    height: clamp(66px, 6.5vw, 92px) !important;
    border-radius: clamp(20px, 2vw, 28px) !important;
    background:
        linear-gradient(180deg, #FFFFFF, #F8FCFB) !important;
    color: #0F766E !important;
    -webkit-text-fill-color: #0F766E !important;
    font-size: clamp(30px, 3vw, 42px) !important;
    border: 1px solid rgba(15, 118, 110, .14) !important;
    box-shadow:
        0 18px 44px rgba(15, 23, 42, .16),
        0 0 0 10px rgba(255, 255, 255, .58) !important;
}

body .admin-main .rfid-scan-only-card .rfid-reader-screen {
    background: linear-gradient(180deg, rgba(255, 255, 255, .88), rgba(250, 253, 252, .82)) !important;
    color: rgba(15, 118, 110, .78) !important;
    -webkit-text-fill-color: rgba(15, 118, 110, .78) !important;
    border-color: rgba(15, 118, 110, .09) !important;
    box-shadow:
        0 14px 34px rgba(15, 23, 42, .10),
        0 0 0 10px rgba(255, 255, 255, .46) !important;
}

body .admin-main .rfid-scan-only-card .rfid-reader-screen i {
    transform: none !important;
}

body .admin-main .rfid-scan-only-card .rfid-reader-device.is-approved {
    box-shadow:
        0 36px 90px rgba(22, 163, 74, .16),
        0 0 0 12px rgba(255, 255, 255, .64),
        inset 0 1px 0 rgba(255, 255, 255, .90) !important;
}

body .admin-main .rfid-scan-only-card .rfid-reader-device.is-declined {
    box-shadow:
        0 36px 90px rgba(220, 38, 38, .14),
        0 0 0 12px rgba(255, 255, 255, .64),
        inset 0 1px 0 rgba(255, 255, 255, .90) !important;
}

@keyframes fitcorePremiumRfidBeam {
    0%, 100% {
        transform: translateY(-54px) scaleX(.84);
        opacity: .45;
    }
    50% {
        transform: translateY(62px) scaleX(1.08);
        opacity: 1;
    }
}

@media (max-width: 760px) {
    body .admin-main .rfid-scan-only-card .rfid-scan-stage {
        min-height: 390px !important;
    }
}

/* RFID live attendance terminal */
body .admin-main .rfid-attendance-terminal.rfid-live-terminal {
    display: grid !important;
    gap: 14px !important;
}

body .admin-main .rfid-live-terminal .rfid-terminal-actions {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 10px !important;
}

body .admin-main .rfid-live-terminal .rfid-terminal-actions .btn {
    min-height: 42px !important;
    height: 42px !important;
    padding: 0 14px !important;
    border-radius: 14px !important;
    font-size: 13px !important;
}

body .admin-main .rfid-live-terminal .rfid-terminal-layout {
    display: grid !important;
    grid-template-columns: minmax(360px, .72fr) minmax(0, 1fr) !important;
    gap: 16px !important;
    align-items: stretch !important;
}

body .admin-main .rfid-live-terminal .rfid-terminal-panel,
body .admin-main .rfid-live-terminal .rfid-activity-card,
body .admin-main .rfid-live-terminal .rfid-last-scan-card {
    position: relative !important;
    overflow: hidden !important;
}

body .admin-main .rfid-live-terminal .rfid-terminal-panel {
    display: grid !important;
    grid-template-rows: auto auto minmax(280px, 1fr) auto auto !important;
    gap: 14px !important;
    padding: 24px !important;
}

body .admin-main .rfid-live-terminal .rfid-terminal-title h2,
body .admin-main .rfid-live-terminal .rfid-activity-head h3 {
    margin: 6px 0 0 !important;
    font-size: 22px !important;
    line-height: 1.12 !important;
    color: #111827 !important;
}

body .admin-main .rfid-live-terminal .rfid-terminal-title p {
    margin: 6px 0 0 !important;
    font-size: 14px !important;
    color: #64748B !important;
}

body .admin-main .rfid-live-terminal .rfid-status-strip {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 8px !important;
}

body .admin-main .rfid-live-terminal .rfid-status-strip > div {
    min-width: 0 !important;
    padding: 10px !important;
    border: 1px solid rgba(15, 118, 110, .12) !important;
    border-radius: 14px !important;
    background: #FBFBFA !important;
}

body .admin-main .rfid-live-terminal .rfid-status-strip span,
body .admin-main .rfid-live-terminal .rfid-metric-card span,
body .admin-main .rfid-live-terminal .rfid-live-result span,
body .admin-main .rfid-live-terminal .rfid-last-person span,
body .admin-main .rfid-live-terminal .rfid-last-empty span {
    display: block !important;
    color: #64748B !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
}

body .admin-main .rfid-live-terminal .rfid-status-strip strong {
    display: block !important;
    margin-top: 3px !important;
    color: #111827 !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    line-height: 1.2 !important;
}

body .admin-main .rfid-live-terminal .rfid-scan-stage {
    min-height: 300px !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    place-items: center !important;
    gap: 14px !important;
    padding: 22px !important;
    text-align: center !important;
}

body .admin-main .rfid-live-terminal .rfid-reader-device {
    width: clamp(160px, 18vw, 230px) !important;
    height: clamp(160px, 18vw, 230px) !important;
    border-radius: 34px !important;
}

body .admin-main .rfid-live-terminal .rfid-reader-device::before {
    inset: 28px !important;
    border-radius: 26px !important;
}

body .admin-main .rfid-live-terminal .rfid-reader-device::after {
    left: 34px !important;
    right: 34px !important;
}

body .admin-main .rfid-live-terminal .rfid-reader-device > span {
    left: 48px !important;
    right: 48px !important;
    animation: fitcorePremiumRfidBeam 1.8s ease-in-out infinite !important;
}

body .admin-main .rfid-live-terminal .rfid-reader-screen {
    width: 62px !important;
    height: 62px !important;
    border-radius: 20px !important;
    font-size: 28px !important;
}

body .admin-main .rfid-live-terminal .rfid-ready-copy strong {
    display: block !important;
    color: #111827 !important;
    font-size: 18px !important;
    font-weight: 850 !important;
}

body .admin-main .rfid-live-terminal .rfid-ready-copy span {
    display: block !important;
    margin-top: 4px !important;
    color: #64748B !important;
    font-size: 13px !important;
}

body .admin-main .rfid-live-terminal .rfid-scan-feedback {
    display: grid !important;
    justify-items: center !important;
    gap: 8px !important;
}

body .admin-main .rfid-live-terminal .rfid-scan-feedback strong {
    color: #111827 !important;
    font-size: 20px !important;
    line-height: 1.1 !important;
}

body .admin-main .rfid-live-terminal .rfid-scan-feedback p,
body .admin-main .rfid-live-terminal .rfid-scan-feedback small {
    margin: 0 !important;
    color: #64748B !important;
    font-size: 13px !important;
}

body .admin-main .rfid-live-terminal .rfid-live-result {
    min-height: 48px !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 10px 12px !important;
    border: 1px solid rgba(15, 118, 110, .12) !important;
    border-radius: 16px !important;
    background: #F8FCFB !important;
}

body .admin-main .rfid-live-terminal .rfid-live-result i {
    color: #0F766E !important;
    -webkit-text-fill-color: #0F766E !important;
}

body .admin-main .rfid-live-terminal .rfid-live-result strong {
    display: block !important;
    color: #111827 !important;
    font-size: 14px !important;
}

body .admin-main .rfid-live-terminal .rfid-terminal-form {
    padding: 12px !important;
    border-radius: 16px !important;
}

body .admin-main .rfid-live-terminal .rfid-terminal-form label {
    margin-bottom: 8px !important;
    font-size: 11px !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
}

body .admin-main .rfid-live-terminal .rfid-input-row {
    grid-template-columns: minmax(0, 1fr) auto !important;
}

body .admin-main .rfid-live-terminal .rfid-input-row input,
body .admin-main .rfid-live-terminal .rfid-input-row .btn {
    height: 42px !important;
    min-height: 42px !important;
    border-radius: 13px !important;
    font-size: 13px !important;
}

body .admin-main .rfid-live-terminal .rfid-activity-column {
    display: grid !important;
    grid-template-rows: auto auto minmax(0, 1fr) !important;
    gap: 14px !important;
}

body .admin-main .rfid-live-terminal .rfid-metric-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 10px !important;
}

body .admin-main .rfid-live-terminal .rfid-metric-card {
    min-height: 82px !important;
    padding: 14px !important;
    border: 1px solid rgba(15, 23, 42, .08) !important;
    border-radius: 18px !important;
    background: #FFFFFF !important;
    box-shadow: 0 14px 34px rgba(15, 23, 42, .06) !important;
}

body .admin-main .rfid-live-terminal .rfid-metric-card strong {
    display: block !important;
    margin-top: 8px !important;
    color: #111827 !important;
    font-size: 28px !important;
    line-height: 1 !important;
}

body .admin-main .rfid-live-terminal .rfid-last-scan-card {
    padding: 16px !important;
}

body .admin-main .rfid-live-terminal .rfid-last-person,
body .admin-main .rfid-live-terminal .rfid-last-empty {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin-top: 10px !important;
}

body .admin-main .rfid-live-terminal .rfid-last-person strong {
    display: block !important;
    color: #111827 !important;
    font-size: 15px !important;
}

body .admin-main .rfid-live-terminal .rfid-activity-card {
    min-height: 0 !important;
    padding: 16px !important;
}

body .admin-main .rfid-live-terminal .rfid-activity-head {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    gap: 12px !important;
    margin-bottom: 12px !important;
}

body .admin-main .rfid-live-terminal .rfid-scan-list {
    display: grid !important;
    gap: 8px !important;
    max-height: 430px !important;
    overflow-y: auto !important;
    padding-right: 4px !important;
}

body .admin-main .rfid-live-terminal .rfid-scan-row {
    grid-template-columns: minmax(170px, 1fr) minmax(90px, .45fr) auto !important;
    min-height: 58px !important;
    padding: 10px !important;
    border-radius: 16px !important;
}

body .admin-main .rfid-live-terminal .rfid-row-person strong,
body .admin-main .rfid-live-terminal .rfid-row-meta strong {
    font-size: 13px !important;
}

body .admin-main .rfid-live-terminal .rfid-row-person span,
body .admin-main .rfid-live-terminal .rfid-row-meta span {
    font-size: 12px !important;
}

@media (max-width: 1180px) {
    body .admin-main .rfid-live-terminal .rfid-terminal-layout {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 760px) {
    body .admin-main .rfid-live-terminal .rfid-terminal-actions,
    body .admin-main .rfid-live-terminal .rfid-activity-head {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    body .admin-main .rfid-live-terminal .rfid-terminal-actions .btn {
        width: 100% !important;
    }

    body .admin-main .rfid-live-terminal .rfid-status-strip,
    body .admin-main .rfid-live-terminal .rfid-metric-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body .admin-main .rfid-live-terminal .rfid-terminal-panel {
        padding: 18px !important;
    }

    body .admin-main .rfid-live-terminal .rfid-input-row,
    body .admin-main .rfid-live-terminal .rfid-scan-row {
        grid-template-columns: 1fr !important;
    }
}

/* RFID scan station viewport fit: keep the scanner visible on one screen */
body .admin-main:has(.rfid-attendance-terminal.rfid-scan-only) {
    padding-top: 12px !important;
    padding-bottom: 10px !important;
    overflow: hidden !important;
}

body .admin-main .rfid-attendance-terminal.rfid-scan-only {
    height: calc(100svh - 128px) !important;
    min-height: 0 !important;
    grid-template-rows: minmax(0, 1fr) !important;
    gap: 0 !important;
    overflow: hidden !important;
}

body .admin-main .rfid-scan-only .rfid-scan-toolbar {
    height: 46px !important;
    min-height: 46px !important;
    position: relative !important;
    z-index: 5 !important;
    opacity: 1 !important;
    visibility: visible !important;
    padding: 0 2px !important;
    margin: 0 !important;
    background: transparent !important;
}

body .admin-main .rfid-scan-only .rfid-scan-toolbar .btn,
body .admin-main .rfid-scan-only .rfid-scan-toolbar a.btn {
    opacity: 1 !important;
    visibility: visible !important;
    color: #111827 !important;
    -webkit-text-fill-color: #111827 !important;
    background: #FFFFFF !important;
    border: 1px solid rgba(15, 23, 42, .10) !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .08) !important;
    transform: none !important;
}

body .admin-main .rfid-scan-only .rfid-scan-toolbar .btn i,
body .admin-main .rfid-scan-only .rfid-scan-toolbar a.btn i {
    color: #0F766E !important;
    -webkit-text-fill-color: #0F766E !important;
}

body .admin-main .rfid-scan-only-card {
    height: 100% !important;
    min-height: 0 !important;
    padding: clamp(14px, 1.7vw, 22px) !important;
    border-radius: 26px !important;
}

body .admin-main .rfid-manual-attendance-link {
    position: absolute !important;
    top: 18px !important;
    right: 22px !important;
    z-index: 8 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;
    min-height: 42px !important;
    height: 42px !important;
    padding: 0 16px !important;
    border: 1px solid rgba(15, 23, 42, .10) !important;
    border-radius: 14px !important;
    background: rgba(255, 255, 255, .92) !important;
    color: #111827 !important;
    -webkit-text-fill-color: #111827 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .09) !important;
    backdrop-filter: blur(10px) !important;
}

body .admin-main .rfid-manual-attendance-link i {
    color: #0F766E !important;
    -webkit-text-fill-color: #0F766E !important;
    font-size: 16px !important;
}

body .admin-main .rfid-manual-attendance-link:hover {
    background: #FFFFFF !important;
    border-color: rgba(15, 118, 110, .22) !important;
    color: #0F766E !important;
    -webkit-text-fill-color: #0F766E !important;
}

body .admin-main .rfid-scan-only-card .rfid-scan-stage {
    width: min(900px, 100%) !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    padding: clamp(16px, 2vw, 28px) !important;
    border-radius: 24px !important;
}

body .admin-main .rfid-scan-only-card .rfid-reader-device {
    width: clamp(210px, 32vmin, 300px) !important;
    height: clamp(210px, 32vmin, 300px) !important;
    border-radius: clamp(32px, 4vmin, 48px) !important;
}

body .admin-main .rfid-scan-only-card .rfid-reader-device::before {
    inset: clamp(30px, 5vmin, 46px) !important;
}

body .admin-main .rfid-scan-only-card .rfid-reader-device::after {
    left: clamp(34px, 6vmin, 56px) !important;
    right: clamp(34px, 6vmin, 56px) !important;
}

body .admin-main .rfid-scan-only-card .rfid-reader-device > span {
    left: clamp(48px, 7vmin, 76px) !important;
    right: clamp(48px, 7vmin, 76px) !important;
}

body .admin-main .rfid-scan-only-card .rfid-reader-screen {
    width: clamp(64px, 9vmin, 86px) !important;
    height: clamp(64px, 9vmin, 86px) !important;
    font-size: clamp(28px, 4vmin, 38px) !important;
}

@media (max-width: 760px) {
    body .admin-main:has(.rfid-attendance-terminal.rfid-scan-only) {
        overflow: auto !important;
    }

    body .admin-main .rfid-attendance-terminal.rfid-scan-only {
        height: auto !important;
        min-height: calc(100svh - 120px) !important;
        overflow: visible !important;
    }

    body .admin-main .rfid-manual-attendance-link {
        top: 14px !important;
        right: 14px !important;
        min-height: 38px !important;
        height: 38px !important;
        padding: 0 12px !important;
        font-size: 12px !important;
    }
}

/* RFID live access terminal: final scoped production layout */
body .admin-main .rfid-attendance-terminal.rfid-live-terminal {
    display: grid !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
}

body .admin-main .rfid-live-terminal .rfid-terminal-actions {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
}

body .admin-main .rfid-live-terminal .rfid-terminal-actions .btn {
    width: auto !important;
    min-width: 0 !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 14px !important;
    border-radius: 13px !important;
    font-size: 13px !important;
    line-height: 1 !important;
}

body .admin-main .rfid-live-terminal .rfid-terminal-layout {
    display: grid !important;
    grid-template-columns: minmax(340px, 40%) minmax(0, 60%) !important;
    gap: 16px !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
}

body .admin-main .rfid-live-terminal .rfid-terminal-panel,
body .admin-main .rfid-live-terminal .rfid-activity-card,
body .admin-main .rfid-live-terminal .rfid-last-scan-card {
    overflow: hidden !important;
}

body .admin-main .rfid-live-terminal .rfid-terminal-panel {
    display: grid !important;
    grid-template-rows: auto auto minmax(260px, 1fr) auto auto !important;
    gap: 12px !important;
    padding: 20px !important;
}

body .admin-main .rfid-live-terminal .rfid-terminal-title h2 {
    margin: 5px 0 0 !important;
    font-size: clamp(20px, 1.45vw, 24px) !important;
    line-height: 1.12 !important;
}

body .admin-main .rfid-live-terminal .rfid-terminal-title p {
    margin: 5px 0 0 !important;
    max-width: 44ch !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
}

body .admin-main .rfid-live-terminal .rfid-status-strip {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 8px !important;
}

body .admin-main .rfid-live-terminal .rfid-status-strip > div {
    min-width: 0 !important;
    padding: 9px 10px !important;
    border-radius: 13px !important;
}

body .admin-main .rfid-live-terminal .rfid-status-strip span {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

body .admin-main .rfid-live-terminal .rfid-status-strip strong {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: 12px !important;
}

body .admin-main .rfid-live-terminal .rfid-scan-stage {
    position: relative !important;
    min-height: clamp(260px, 36vh, 390px) !important;
    display: grid !important;
    place-items: center !important;
    align-content: center !important;
    gap: 12px !important;
    padding: clamp(18px, 2vw, 28px) !important;
    border-radius: 22px !important;
    background:
        radial-gradient(circle at 50% 42%, rgba(15, 118, 110, .10), transparent 28%),
        linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(248, 252, 251, .96)) !important;
}

body .admin-main .rfid-live-terminal .rfid-reader-device {
    width: clamp(176px, 18vw, 250px) !important;
    height: clamp(176px, 18vw, 250px) !important;
    border-radius: clamp(28px, 3vw, 42px) !important;
    box-shadow:
        0 28px 70px rgba(15, 23, 42, .10),
        0 0 0 12px rgba(255, 255, 255, .68),
        inset 0 1px 0 rgba(255, 255, 255, .95) !important;
}

body .admin-main .rfid-live-terminal .rfid-reader-device::before {
    inset: clamp(26px, 3.4vw, 42px) !important;
    border-radius: clamp(22px, 2.6vw, 34px) !important;
}

body .admin-main .rfid-live-terminal .rfid-reader-device::after {
    left: clamp(30px, 4.4vw, 54px) !important;
    right: clamp(30px, 4.4vw, 54px) !important;
    height: 4px !important;
}

body .admin-main .rfid-live-terminal .rfid-reader-device > span {
    left: clamp(44px, 5.8vw, 76px) !important;
    right: clamp(44px, 5.8vw, 76px) !important;
    height: 3px !important;
}

body .admin-main .rfid-live-terminal .rfid-reader-screen {
    width: clamp(58px, 5.8vw, 78px) !important;
    height: clamp(58px, 5.8vw, 78px) !important;
    border-radius: 22px !important;
    font-size: clamp(23px, 2.2vw, 31px) !important;
    color: rgba(15, 118, 110, .72) !important;
    -webkit-text-fill-color: rgba(15, 118, 110, .72) !important;
}

body .admin-main .rfid-live-terminal .rfid-ready-copy {
    text-align: center !important;
}

body .admin-main .rfid-live-terminal .rfid-ready-copy strong {
    font-size: 16px !important;
    line-height: 1.15 !important;
}

body .admin-main .rfid-live-terminal .rfid-ready-copy span {
    font-size: 12px !important;
}

body .admin-main .rfid-live-terminal .rfid-live-result {
    min-height: 46px !important;
    padding: 9px 12px !important;
    border-radius: 14px !important;
}

body .admin-main .rfid-live-terminal .rfid-terminal-form {
    padding: 10px !important;
    border-radius: 15px !important;
}

body .admin-main .rfid-live-terminal .rfid-input-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 8px !important;
}

body .admin-main .rfid-live-terminal .rfid-input-row input,
body .admin-main .rfid-live-terminal .rfid-input-row .btn {
    height: 40px !important;
    min-height: 40px !important;
    font-size: 13px !important;
}

body .admin-main .rfid-live-terminal .rfid-activity-column {
    display: grid !important;
    grid-template-rows: auto auto minmax(0, 1fr) !important;
    gap: 12px !important;
    min-width: 0 !important;
}

body .admin-main .rfid-live-terminal .rfid-metric-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 8px !important;
}

body .admin-main .rfid-live-terminal .rfid-metric-card {
    min-height: 68px !important;
    padding: 11px !important;
    border-radius: 15px !important;
}

body .admin-main .rfid-live-terminal .rfid-metric-card span {
    font-size: 10px !important;
    line-height: 1.2 !important;
}

body .admin-main .rfid-live-terminal .rfid-metric-card strong {
    margin-top: 7px !important;
    font-size: 24px !important;
}

body .admin-main .rfid-live-terminal .rfid-last-scan-card,
body .admin-main .rfid-live-terminal .rfid-activity-card {
    padding: 14px !important;
    border-radius: 18px !important;
}

body .admin-main .rfid-live-terminal .rfid-activity-head {
    margin-bottom: 10px !important;
}

body .admin-main .rfid-live-terminal .rfid-activity-head h3 {
    margin-top: 5px !important;
    font-size: 18px !important;
    line-height: 1.15 !important;
}

body .admin-main .rfid-live-terminal .rfid-scan-list {
    display: grid !important;
    gap: 7px !important;
    max-height: 360px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding-right: 2px !important;
}

body .admin-main .rfid-live-terminal .rfid-scan-row {
    display: grid !important;
    grid-template-columns: minmax(170px, 1fr) minmax(86px, .44fr) auto !important;
    align-items: center !important;
    gap: 10px !important;
    min-height: 54px !important;
    padding: 9px 10px !important;
    border-radius: 14px !important;
}

body .admin-main .rfid-live-terminal .rfid-row-person,
body .admin-main .rfid-live-terminal .rfid-row-meta,
body .admin-main .rfid-live-terminal .rfid-row-status {
    min-width: 0 !important;
}

body .admin-main .rfid-live-terminal .rfid-row-person strong,
body .admin-main .rfid-live-terminal .rfid-row-meta strong,
body .admin-main .rfid-live-terminal .rfid-row-status small {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

body .admin-main .rfid-live-terminal .rfid-row-status {
    display: grid !important;
    justify-items: end !important;
    gap: 4px !important;
}

body .admin-main .rfid-live-terminal .rfid-empty-state {
    min-height: 150px !important;
    padding: 24px !important;
}

body .admin-main .rfid-live-terminal .rfid-scan-feedback {
    max-width: 360px !important;
}

body .admin-main .rfid-live-terminal .rfid-scan-feedback .avatar-lg {
    width: 68px !important;
    height: 68px !important;
}

@media (max-width: 1180px) {
    body .admin-main .rfid-live-terminal .rfid-terminal-layout {
        grid-template-columns: 1fr !important;
    }

    body .admin-main .rfid-live-terminal .rfid-scan-stage {
        min-height: 340px !important;
    }
}

@media (max-width: 760px) {
    body .admin-main .rfid-live-terminal .rfid-terminal-actions {
        justify-content: stretch !important;
    }

    body .admin-main .rfid-live-terminal .rfid-terminal-actions .btn {
        flex: 1 1 0 !important;
        width: auto !important;
    }

    body .admin-main .rfid-live-terminal .rfid-terminal-panel {
        padding: 16px !important;
    }

    body .admin-main .rfid-live-terminal .rfid-status-strip,
    body .admin-main .rfid-live-terminal .rfid-metric-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body .admin-main .rfid-live-terminal .rfid-input-row,
    body .admin-main .rfid-live-terminal .rfid-scan-row {
        grid-template-columns: 1fr !important;
    }

    body .admin-main .rfid-live-terminal .rfid-row-status {
        justify-items: start !important;
    }
}

/* RFID terminal page: compact commercial access interface */
body .admin-main .rfid-terminal-page {
    gap: 12px !important;
}

body .admin-main .rfid-terminal-page .rfid-terminal-layout {
    grid-template-columns: minmax(360px, .8fr) minmax(0, 1.2fr) !important;
    gap: 14px !important;
    align-items: start !important;
}

body .admin-main .rfid-terminal-page .rfid-terminal-panel {
    align-self: start !important;
    grid-template-rows: auto auto auto auto auto !important;
    gap: 10px !important;
    padding: 18px !important;
    border-radius: 22px !important;
}

body .admin-main .rfid-terminal-page .rfid-terminal-title h2 {
    font-size: clamp(19px, 1.25vw, 22px) !important;
    line-height: 1.12 !important;
}

body .admin-main .rfid-terminal-page .rfid-terminal-title p {
    font-size: 12.5px !important;
    line-height: 1.35 !important;
}

body .admin-main .rfid-terminal-page .rfid-status-strip {
    gap: 7px !important;
}

body .admin-main .rfid-terminal-page .rfid-status-strip > div {
    height: 56px !important;
    padding: 8px 9px !important;
    display: grid !important;
    align-content: center !important;
}

body .admin-main .rfid-terminal-page .rfid-status-strip span {
    font-size: 9.5px !important;
    letter-spacing: .035em !important;
}

body .admin-main .rfid-terminal-page .rfid-status-strip strong {
    font-size: 11.5px !important;
}

body .admin-main .rfid-terminal-page #rfid-live-date,
body .admin-main .rfid-terminal-page #rfid-live-time {
    font-size: 11px !important;
}

body .admin-main .rfid-terminal-page .rfid-scan-stage {
    min-height: 230px !important;
    padding: 18px !important;
    gap: 9px !important;
    border-radius: 20px !important;
    background:
        radial-gradient(circle at 50% 45%, rgba(15, 118, 110, .075), transparent 34%),
        linear-gradient(180deg, rgba(255, 255, 255, .99), rgba(248, 252, 251, .96)) !important;
    border: 1px solid rgba(15, 118, 110, .12) !important;
}

body .admin-main .rfid-terminal-page .rfid-scan-stage::before {
    content: "" !important;
    position: absolute !important;
    width: clamp(250px, 24vw, 340px) !important;
    height: clamp(120px, 12vw, 170px) !important;
    border-radius: 999px !important;
    background: radial-gradient(circle, rgba(15, 118, 110, .08), transparent 66%) !important;
    filter: blur(2px) !important;
    opacity: .75 !important;
    pointer-events: none !important;
}

body .admin-main .rfid-terminal-page .rfid-reader-device {
    width: clamp(170px, 14vw, 230px) !important;
    height: clamp(170px, 14vw, 230px) !important;
    z-index: 1 !important;
    border-radius: clamp(26px, 2.4vw, 36px) !important;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(250, 253, 252, .90)),
        radial-gradient(circle at 50% 45%, rgba(15, 118, 110, .07), transparent 62%) !important;
    box-shadow:
        0 20px 54px rgba(15, 23, 42, .09),
        0 0 0 8px rgba(255, 255, 255, .62),
        inset 0 1px 0 rgba(255, 255, 255, .98) !important;
}

body .admin-main .rfid-terminal-page .rfid-reader-device::before {
    inset: clamp(24px, 2.6vw, 34px) !important;
    border-radius: clamp(20px, 2vw, 28px) !important;
    background:
        linear-gradient(180deg, rgba(239, 247, 244, .70), rgba(250, 253, 252, .94)),
        repeating-linear-gradient(90deg, transparent 0 13px, rgba(15, 118, 110, .018) 13px 14px) !important;
}

body .admin-main .rfid-terminal-page .rfid-reader-device::after {
    left: clamp(30px, 3.6vw, 46px) !important;
    right: clamp(30px, 3.6vw, 46px) !important;
    height: 4px !important;
    background: linear-gradient(90deg, rgba(17, 24, 39, .28), rgba(17, 24, 39, .78) 18%, rgba(17, 24, 39, .78) 82%, rgba(17, 24, 39, .28)) !important;
}

body .admin-main .rfid-terminal-page .rfid-reader-device > span {
    left: clamp(42px, 4.8vw, 64px) !important;
    right: clamp(42px, 4.8vw, 64px) !important;
    height: 2px !important;
    background: linear-gradient(90deg, transparent, rgba(15, 118, 110, .78), transparent) !important;
}

body .admin-main .rfid-terminal-page .rfid-reader-screen {
    width: clamp(54px, 4.6vw, 68px) !important;
    height: clamp(54px, 4.6vw, 68px) !important;
    border-radius: 18px !important;
    font-size: clamp(21px, 1.8vw, 27px) !important;
    background: rgba(255, 255, 255, .82) !important;
    color: rgba(15, 118, 110, .66) !important;
    -webkit-text-fill-color: rgba(15, 118, 110, .66) !important;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .08), inset 0 1px 0 rgba(255, 255, 255, .95) !important;
}

body .admin-main .rfid-terminal-page .rfid-ready-copy {
    z-index: 1 !important;
}

body .admin-main .rfid-terminal-page .rfid-ready-copy strong {
    font-size: 15px !important;
}

body .admin-main .rfid-terminal-page .rfid-ready-copy span {
    font-size: 11.5px !important;
}

body .admin-main .rfid-terminal-page .rfid-live-result {
    min-height: 42px !important;
    padding: 8px 10px !important;
    font-size: 12px !important;
}

body .admin-main .rfid-terminal-page .rfid-terminal-form {
    padding: 9px !important;
}

body .admin-main .rfid-terminal-page .rfid-terminal-form label {
    margin-bottom: 6px !important;
    font-size: 10px !important;
}

body .admin-main .rfid-terminal-page .rfid-input-row input,
body .admin-main .rfid-terminal-page .rfid-input-row .btn {
    height: 38px !important;
    min-height: 38px !important;
    border-radius: 12px !important;
    font-size: 12.5px !important;
}

body .admin-main .rfid-terminal-page .rfid-activity-column {
    gap: 10px !important;
}

body .admin-main .rfid-terminal-page .rfid-metric-grid {
    gap: 8px !important;
}

body .admin-main .rfid-terminal-page .rfid-metric-card {
    min-height: 62px !important;
    padding: 10px 11px !important;
    border-radius: 15px !important;
}

body .admin-main .rfid-terminal-page .rfid-metric-card span {
    font-size: 9.5px !important;
}

body .admin-main .rfid-terminal-page .rfid-metric-card strong {
    margin-top: 6px !important;
    font-size: 22px !important;
}

body .admin-main .rfid-terminal-page .rfid-last-scan-card {
    min-height: 72px !important;
    padding: 12px !important;
}

body .admin-main .rfid-terminal-page .rfid-last-person,
body .admin-main .rfid-terminal-page .rfid-last-empty {
    margin-top: 7px !important;
}

body .admin-main .rfid-terminal-page .rfid-last-empty i {
    width: 34px !important;
    height: 34px !important;
    display: inline-grid !important;
    place-items: center !important;
    border-radius: 12px !important;
    background: #EEF8F6 !important;
}

body .admin-main .rfid-terminal-page .rfid-activity-card {
    padding: 12px !important;
}

body .admin-main .rfid-terminal-page .rfid-activity-head {
    margin-bottom: 8px !important;
}

body .admin-main .rfid-terminal-page .rfid-activity-head h3 {
    font-size: 17px !important;
}

body .admin-main .rfid-terminal-page .rfid-scan-list {
    max-height: 330px !important;
    gap: 6px !important;
}

body .admin-main .rfid-terminal-page .rfid-scan-row {
    min-height: 50px !important;
    padding: 8px 9px !important;
    border-radius: 13px !important;
}

body .admin-main .rfid-terminal-page .rfid-row-person strong,
body .admin-main .rfid-terminal-page .rfid-row-meta strong {
    font-size: 12.5px !important;
}

body .admin-main .rfid-terminal-page .rfid-row-person span,
body .admin-main .rfid-terminal-page .rfid-row-meta span,
body .admin-main .rfid-terminal-page .rfid-row-status small {
    font-size: 11px !important;
}

body .admin-main .rfid-terminal-page .rfid-empty-state {
    min-height: 108px !important;
    padding: 18px !important;
    border-radius: 16px !important;
}

body .admin-main .rfid-terminal-page .rfid-empty-state i {
    font-size: 22px !important;
}

body .admin-main .rfid-terminal-page .rfid-empty-state strong {
    font-size: 14px !important;
}

body .admin-main .rfid-terminal-page .rfid-empty-state span {
    font-size: 12px !important;
}

body .admin-main .rfid-terminal-page .rfid-scan-feedback {
    z-index: 1 !important;
    gap: 6px !important;
}

body .admin-main .rfid-terminal-page .rfid-scan-feedback strong {
    font-size: 17px !important;
}

body .admin-main .rfid-terminal-page .rfid-scan-feedback .avatar-lg {
    width: 56px !important;
    height: 56px !important;
}

body .admin-main .rfid-terminal-page .rfid-scan-feedback p,
body .admin-main .rfid-terminal-page .rfid-scan-feedback small {
    font-size: 12px !important;
}

@media (max-width: 1280px) {
    body .admin-main .rfid-terminal-page .rfid-terminal-layout {
        grid-template-columns: minmax(330px, .82fr) minmax(0, 1.18fr) !important;
    }

    body .admin-main .rfid-terminal-page .rfid-metric-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 1024px) {
    body .admin-main .rfid-terminal-page .rfid-terminal-layout {
        grid-template-columns: 1fr !important;
    }

    body .admin-main .rfid-terminal-page .rfid-scan-stage {
        min-height: 260px !important;
    }
}

@media (max-width: 560px) {
    body .admin-main .rfid-terminal-page .rfid-terminal-actions {
        flex-direction: column !important;
    }

    body .admin-main .rfid-terminal-page .rfid-terminal-actions .btn,
    body .admin-main .rfid-terminal-page .rfid-input-row .btn {
        width: 100% !important;
    }

    body .admin-main .rfid-terminal-page .rfid-status-strip,
    body .admin-main .rfid-terminal-page .rfid-metric-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body .admin-main .rfid-terminal-page .rfid-scan-stage {
        min-height: 230px !important;
    }

    body .admin-main .rfid-terminal-page .rfid-reader-device {
        width: 172px !important;
        height: 172px !important;
    }
}

/* RFID scan result modal: commercial access feedback */
body .admin-main .rfid-scan-result-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 1600 !important;
    display: grid !important;
    place-items: center !important;
    padding: clamp(14px, 3vw, 28px) !important;
    background: rgba(17, 24, 39, .18) !important;
    backdrop-filter: blur(7px) !important;
    -webkit-backdrop-filter: blur(7px) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: opacity .2s ease, visibility .2s ease !important;
}

body .admin-main .rfid-scan-result-modal.is-visible {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

body .admin-main .rfid-scan-result-card {
    position: relative !important;
    width: min(560px, calc(100vw - 28px)) !important;
    max-height: calc(100svh - 92px) !important;
    overflow: auto !important;
    padding: 24px !important;
    border: 1px solid rgba(15, 118, 110, .16) !important;
    border-radius: 26px !important;
    background: linear-gradient(145deg, #FFFFFF 0%, #FCFCFA 58%, #F7FBFA 100%) !important;
    box-shadow: 0 26px 80px rgba(15, 23, 42, .22), 0 0 0 1px rgba(255, 255, 255, .9) inset !important;
    transform: translateY(10px) scale(.98) !important;
    transition: transform .22s ease !important;
}

body .admin-main .rfid-scan-result-modal.is-visible .rfid-scan-result-card {
    transform: translateY(0) scale(1) !important;
}

body .admin-main .rfid-scan-result-card::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 24px !important;
    right: 24px !important;
    height: 4px !important;
    border-radius: 0 0 999px 999px !important;
    background: linear-gradient(90deg, #0F766E, #48B7AE) !important;
}

body .admin-main .rfid-scan-result-close {
    position: absolute !important;
    top: 16px !important;
    right: 16px !important;
    width: 34px !important;
    height: 34px !important;
    display: grid !important;
    place-items: center !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 12px !important;
    background: rgba(255, 255, 255, .88) !important;
    color: #64748B !important;
    -webkit-text-fill-color: #64748B !important;
    cursor: pointer !important;
    transition: background-color .18s ease, color .18s ease, border-color .18s ease !important;
}

body .admin-main .rfid-scan-result-close:hover {
    background: #F8FAFC !important;
    border-color: rgba(15, 118, 110, .28) !important;
    color: #0F766E !important;
    -webkit-text-fill-color: #0F766E !important;
}

body .admin-main .rfid-scan-result-icon {
    width: 46px !important;
    height: 46px !important;
    display: grid !important;
    place-items: center !important;
    margin: 0 0 14px !important;
    border-radius: 16px !important;
    background: #DCFCE7 !important;
    color: #16A34A !important;
    -webkit-text-fill-color: #16A34A !important;
    font-size: 24px !important;
    box-shadow: 0 14px 32px rgba(22, 163, 74, .14) !important;
}

body .admin-main .rfid-popup-warning .rfid-scan-result-icon {
    background: #FEF3C7 !important;
    color: #D97706 !important;
    -webkit-text-fill-color: #D97706 !important;
    box-shadow: 0 14px 32px rgba(217, 119, 6, .14) !important;
}

body .admin-main .rfid-popup-danger .rfid-scan-result-icon {
    background: #FEE2E2 !important;
    color: #DC2626 !important;
    -webkit-text-fill-color: #DC2626 !important;
    box-shadow: 0 14px 32px rgba(220, 38, 38, .14) !important;
}

body .admin-main .rfid-scan-result-kicker {
    display: block !important;
    margin-bottom: 14px !important;
    padding-right: 46px !important;
    color: #0F766E !important;
    -webkit-text-fill-color: #0F766E !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

body .admin-main .rfid-popup-danger .rfid-scan-result-kicker {
    color: #DC2626 !important;
    -webkit-text-fill-color: #DC2626 !important;
}

body .admin-main .rfid-popup-warning .rfid-scan-result-kicker {
    color: #D97706 !important;
    -webkit-text-fill-color: #D97706 !important;
}

body .admin-main .rfid-scan-result-person {
    display: grid !important;
    grid-template-columns: 66px minmax(0, 1fr) auto !important;
    gap: 14px !important;
    align-items: center !important;
    padding: 14px !important;
    border: 1px solid rgba(15, 23, 42, .08) !important;
    border-radius: 18px !important;
    background: rgba(255, 255, 255, .7) !important;
}

body .admin-main .rfid-scan-result-person .avatar-lg,
body .admin-main .rfid-scan-result-avatar {
    width: 66px !important;
    height: 66px !important;
    border-radius: 999px !important;
    border: 2px solid rgba(15, 118, 110, .18) !important;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .12) !important;
}

body .admin-main .rfid-scan-result-avatar {
    display: grid !important;
    place-items: center !important;
    background: #F8FAFC !important;
    color: #64748B !important;
    -webkit-text-fill-color: #64748B !important;
    font-size: 30px !important;
}

body .admin-main .rfid-scan-result-person small,
body .admin-main .rfid-scan-result-detail span {
    display: block !important;
    color: #64748B !important;
    -webkit-text-fill-color: #64748B !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
    font-weight: 850 !important;
    letter-spacing: .055em !important;
    text-transform: uppercase !important;
}

body .admin-main .rfid-scan-result-person strong {
    display: block !important;
    margin-top: 3px !important;
    color: #111827 !important;
    -webkit-text-fill-color: #111827 !important;
    font-size: 22px !important;
    line-height: 1.08 !important;
    font-weight: 900 !important;
    overflow-wrap: anywhere !important;
}

body .admin-main .rfid-scan-result-person span:not(.rfid-scan-result-status) {
    display: block !important;
    margin-top: 4px !important;
    color: #64748B !important;
    -webkit-text-fill-color: #64748B !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
}

body .admin-main .rfid-scan-result-status {
    justify-self: end !important;
    display: inline-flex !important;
    align-items: center !important;
    min-height: 34px !important;
    padding: 0 14px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(22, 163, 74, .16) !important;
    background: #ECFDF5 !important;
    color: #16A34A !important;
    -webkit-text-fill-color: #16A34A !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
}

body .admin-main .rfid-scan-result-status.status-warning {
    border-color: rgba(217, 119, 6, .2) !important;
    background: #FFFBEB !important;
    color: #D97706 !important;
    -webkit-text-fill-color: #D97706 !important;
}

body .admin-main .rfid-scan-result-status.status-danger {
    border-color: rgba(220, 38, 38, .16) !important;
    background: #FEF2F2 !important;
    color: #DC2626 !important;
    -webkit-text-fill-color: #DC2626 !important;
}

body .admin-main .rfid-scan-result-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin-top: 12px !important;
}

body .admin-main .rfid-scan-result-detail {
    min-width: 0 !important;
    padding: 10px 12px !important;
    border: 1px solid #E5E7EB !important;
    border-radius: 14px !important;
    background: #FBFBFA !important;
}

body .admin-main .rfid-scan-result-detail.is-wide {
    grid-column: span 2 !important;
}

body .admin-main .rfid-scan-result-detail strong {
    display: block !important;
    margin-top: 5px !important;
    color: #111827 !important;
    -webkit-text-fill-color: #111827 !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
    font-weight: 850 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
}

body .admin-main .rfid-scan-result-message {
    margin: 14px 0 0 !important;
    padding: 11px 12px !important;
    border-radius: 14px !important;
    background: rgba(15, 118, 110, .06) !important;
    color: #0F766E !important;
    -webkit-text-fill-color: #0F766E !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    font-weight: 750 !important;
}

body .admin-main .rfid-popup-warning .rfid-scan-result-message {
    background: #FFFBEB !important;
    color: #D97706 !important;
    -webkit-text-fill-color: #D97706 !important;
}

body .admin-main .rfid-popup-danger .rfid-scan-result-message {
    background: #FEF2F2 !important;
    color: #DC2626 !important;
    -webkit-text-fill-color: #DC2626 !important;
}

@media (max-width: 640px) {
    body .admin-main .rfid-scan-result-card {
        padding: 20px !important;
        border-radius: 22px !important;
    }

    body .admin-main .rfid-scan-result-person {
        grid-template-columns: 54px minmax(0, 1fr) !important;
    }

    body .admin-main .rfid-scan-result-person .avatar-lg,
    body .admin-main .rfid-scan-result-avatar {
        width: 54px !important;
        height: 54px !important;
    }

    body .admin-main .rfid-scan-result-status {
        grid-column: 1 / -1 !important;
        justify-self: start !important;
    }

    body .admin-main .rfid-scan-result-grid {
        grid-template-columns: 1fr !important;
    }

    body .admin-main .rfid-scan-result-detail.is-wide {
        grid-column: auto !important;
    }
}

/* RFID full-screen attendance terminal */
body .admin-main .rfid-fullscreen-terminal {
    min-height: calc(100svh - 132px) !important;
    display: grid !important;
    place-items: center !important;
    padding: clamp(18px, 3vw, 34px) !important;
    margin: 0 !important;
}

body .admin-main .rfid-fullscreen-terminal .rfid-terminal-shell {
    width: min(980px, 100%) !important;
    min-height: min(620px, calc(100svh - 178px)) !important;
    display: grid !important;
    grid-template-rows: auto auto auto 1fr auto auto !important;
    align-items: center !important;
    justify-items: center !important;
    gap: clamp(14px, 2vw, 22px) !important;
    padding: clamp(22px, 4vw, 42px) !important;
    border: 1px solid rgba(15, 118, 110, .14) !important;
    border-radius: 32px !important;
    background:
        radial-gradient(circle at 50% 36%, rgba(15, 118, 110, .055), transparent 40%),
        linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(252, 252, 250, .96)) !important;
    box-shadow: 0 28px 90px rgba(15, 23, 42, .10), inset 0 1px 0 rgba(255, 255, 255, .95) !important;
}

body .admin-main .rfid-fullscreen-terminal .rfid-terminal-brand {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
}

body .admin-main .rfid-fullscreen-terminal .rfid-terminal-logo {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 34px !important;
    padding: 0 14px !important;
    border: 1px solid rgba(15, 118, 110, .14) !important;
    border-radius: 999px !important;
    background: #FFFFFF !important;
    color: #0F766E !important;
    -webkit-text-fill-color: #0F766E !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    letter-spacing: -.01em !important;
}

body .admin-main .rfid-fullscreen-terminal .rfid-terminal-reader-state {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    min-height: 34px !important;
    padding: 0 13px !important;
    border: 1px solid rgba(22, 163, 74, .18) !important;
    border-radius: 999px !important;
    background: #ECFDF5 !important;
    color: #16A34A !important;
    -webkit-text-fill-color: #16A34A !important;
    font-size: 12px !important;
    font-weight: 850 !important;
}

body .admin-main .rfid-fullscreen-terminal .rfid-terminal-reader-state::before {
    content: "" !important;
    width: 8px !important;
    height: 8px !important;
    border-radius: 999px !important;
    background: currentColor !important;
    box-shadow: 0 0 0 5px rgba(22, 163, 74, .10) !important;
}

body .admin-main .rfid-fullscreen-terminal .rfid-terminal-title {
    text-align: center !important;
}

body .admin-main .rfid-fullscreen-terminal .rfid-terminal-title h2 {
    margin: 8px 0 0 !important;
    color: #111827 !important;
    -webkit-text-fill-color: #111827 !important;
    font-size: clamp(26px, 3vw, 40px) !important;
    line-height: 1.08 !important;
    font-weight: 850 !important;
    letter-spacing: -.03em !important;
}

body .admin-main .rfid-fullscreen-terminal .rfid-status-strip {
    width: min(620px, 100%) !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
}

body .admin-main .rfid-fullscreen-terminal .rfid-status-strip > div {
    height: 58px !important;
    display: grid !important;
    align-content: center !important;
    padding: 8px 12px !important;
    border: 1px solid rgba(15, 23, 42, .08) !important;
    border-radius: 16px !important;
    background: rgba(255, 255, 255, .78) !important;
    text-align: center !important;
}

body .admin-main .rfid-fullscreen-terminal .rfid-status-strip span {
    display: block !important;
    color: #64748B !important;
    -webkit-text-fill-color: #64748B !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
    font-weight: 850 !important;
    text-transform: uppercase !important;
    letter-spacing: .055em !important;
}

body .admin-main .rfid-fullscreen-terminal .rfid-status-strip strong {
    display: block !important;
    margin-top: 4px !important;
    color: #111827 !important;
    -webkit-text-fill-color: #111827 !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
    font-weight: 850 !important;
}

body .admin-main .rfid-fullscreen-terminal .rfid-scan-stage {
    width: min(680px, 100%) !important;
    min-height: clamp(260px, 39svh, 360px) !important;
    display: grid !important;
    place-items: center !important;
    align-content: center !important;
    gap: 18px !important;
    padding: clamp(22px, 4vw, 40px) !important;
    border: 1px solid rgba(15, 118, 110, .13) !important;
    border-radius: 30px !important;
    background:
        radial-gradient(circle at 50% 45%, rgba(15, 118, 110, .07), transparent 34%),
        linear-gradient(180deg, rgba(255, 255, 255, .92), rgba(249, 253, 252, .88)) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .98) !important;
    overflow: hidden !important;
}

body .admin-main .rfid-fullscreen-terminal .rfid-scan-stage::before {
    width: clamp(250px, 35vw, 420px) !important;
    height: clamp(120px, 17vw, 190px) !important;
    opacity: .85 !important;
}

body .admin-main .rfid-fullscreen-terminal .rfid-reader-device {
    width: clamp(170px, 18vw, 200px) !important;
    height: clamp(170px, 18vw, 200px) !important;
    border-radius: 34px !important;
    animation: fitcoreTerminalBreath 2.8s ease-in-out infinite !important;
}

body .admin-main .rfid-fullscreen-terminal .rfid-reader-device::before {
    inset: 28px !important;
    border-radius: 26px !important;
}

body .admin-main .rfid-fullscreen-terminal .rfid-reader-device::after {
    left: 32px !important;
    right: 32px !important;
    height: 4px !important;
}

body .admin-main .rfid-fullscreen-terminal .rfid-reader-device > span {
    left: 42px !important;
    right: 42px !important;
    height: 3px !important;
    animation: fitcoreTerminalBeam 1.9s ease-in-out infinite !important;
}

body .admin-main .rfid-fullscreen-terminal .rfid-reader-screen {
    width: 58px !important;
    height: 58px !important;
    border-radius: 18px !important;
    color: rgba(15, 118, 110, .58) !important;
    -webkit-text-fill-color: rgba(15, 118, 110, .58) !important;
    background: rgba(255, 255, 255, .68) !important;
}

body .admin-main .rfid-fullscreen-terminal .rfid-ready-copy {
    text-align: center !important;
}

body .admin-main .rfid-fullscreen-terminal .rfid-ready-copy strong {
    display: block !important;
    color: #111827 !important;
    -webkit-text-fill-color: #111827 !important;
    font-size: clamp(18px, 2vw, 24px) !important;
    line-height: 1.2 !important;
    font-weight: 850 !important;
    letter-spacing: -.015em !important;
}

body .admin-main .rfid-fullscreen-terminal .rfid-ready-copy span {
    display: block !important;
    margin-top: 6px !important;
    color: #64748B !important;
    -webkit-text-fill-color: #64748B !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    font-weight: 650 !important;
}

body .admin-main .rfid-fullscreen-terminal .rfid-live-result {
    min-height: 34px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 0 14px !important;
    border: 1px solid rgba(15, 118, 110, .12) !important;
    border-radius: 999px !important;
    background: rgba(15, 118, 110, .05) !important;
    color: #0F766E !important;
    -webkit-text-fill-color: #0F766E !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}

body .admin-main .rfid-fullscreen-terminal .rfid-terminal-form {
    position: fixed !important;
    left: -20px !important;
    bottom: -20px !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: 0 !important;
    opacity: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
}

body .admin-main .rfid-fullscreen-terminal .rfid-terminal-form input {
    width: 1px !important;
    height: 1px !important;
}

body .admin-main .rfid-fullscreen-terminal .rfid-terminal-form button {
    display: none !important;
}

body .admin-main .rfid-fullscreen-terminal .rfid-stage-success .rfid-reader-device,
body .admin-main .rfid-fullscreen-terminal .rfid-reader-device.is-approved {
    animation: fitcoreTerminalSuccess .7s ease both !important;
}

body .admin-main .rfid-fullscreen-terminal .rfid-stage-warning .rfid-reader-device,
body .admin-main .rfid-fullscreen-terminal .rfid-stage-danger .rfid-reader-device,
body .admin-main .rfid-fullscreen-terminal .rfid-reader-device.is-declined {
    animation: fitcoreTerminalAlert .42s ease both !important;
}

@keyframes fitcoreTerminalBreath {
    0%, 100% {
        transform: translateY(0) scale(1);
        box-shadow: 0 20px 54px rgba(15, 23, 42, .08), 0 0 0 8px rgba(255, 255, 255, .62), inset 0 1px 0 rgba(255, 255, 255, .98);
    }
    50% {
        transform: translateY(-2px) scale(1.01);
        box-shadow: 0 24px 62px rgba(15, 23, 42, .10), 0 0 0 10px rgba(15, 118, 110, .035), inset 0 1px 0 rgba(255, 255, 255, .98);
    }
}

@keyframes fitcoreTerminalBeam {
    0%, 100% {
        transform: translateY(-20px);
        opacity: .35;
    }
    50% {
        transform: translateY(20px);
        opacity: .95;
    }
}

@keyframes fitcoreTerminalSuccess {
    0% { transform: scale(.98); }
    60% { transform: scale(1.035); }
    100% { transform: scale(1); }
}

@keyframes fitcoreTerminalAlert {
    0%, 100% { transform: translateX(0); }
    30% { transform: translateX(-3px); }
    60% { transform: translateX(3px); }
}

@media (max-width: 760px) {
    body .admin-main .rfid-fullscreen-terminal {
        min-height: auto !important;
        padding: 16px !important;
    }

    body .admin-main .rfid-fullscreen-terminal .rfid-terminal-shell {
        min-height: auto !important;
        padding: 18px !important;
        border-radius: 24px !important;
    }

    body .admin-main .rfid-fullscreen-terminal .rfid-terminal-brand {
        align-items: flex-start !important;
    }

    body .admin-main .rfid-fullscreen-terminal .rfid-status-strip {
        grid-template-columns: 1fr !important;
    }

    body .admin-main .rfid-fullscreen-terminal .rfid-scan-stage {
        min-height: 270px !important;
    }

    body .admin-main .rfid-fullscreen-terminal .rfid-reader-device {
        width: 170px !important;
        height: 170px !important;
    }
}

/* RFID kiosk mode: page-only full-screen terminal, no backend changes. */
html.rfid-kiosk-mode,
body.rfid-kiosk-mode {
    width: 100vw !important;
    height: 100vh !important;
    overflow: hidden !important;
    background: #FAFAF8 !important;
}

body.rfid-kiosk-mode .admin-shell,
body.rfid-kiosk-mode .admin-workspace,
body.rfid-kiosk-mode .admin-main {
    width: 100vw !important;
    height: 100vh !important;
    min-height: 100vh !important;
    max-height: 100vh !important;
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    background:
        radial-gradient(circle at 50% 42%, rgba(15, 118, 110, .08), transparent 32%),
        linear-gradient(180deg, #FFFFFF 0%, #FAFAF8 64%, #F4F1EA 100%) !important;
}

body.rfid-kiosk-mode .admin-sidebar,
body.rfid-kiosk-mode .admin-topbar,
body.rfid-kiosk-mode .admin-footer,
body.rfid-kiosk-mode .sidebar-overlay,
body.rfid-kiosk-mode .fitcore-copyright-footer,
body.rfid-kiosk-mode .admin-main > .flash,
body.rfid-kiosk-mode .admin-main > .alert,
body.rfid-kiosk-mode .admin-main > .toast {
    display: none !important;
}

body.rfid-kiosk-mode .rfid-fullscreen-terminal {
    width: 100vw !important;
    height: 100vh !important;
    min-height: 100vh !important;
    padding: clamp(18px, 2.4vw, 34px) !important;
    margin: 0 !important;
    display: grid !important;
    place-items: center !important;
    overflow: hidden !important;
}

body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-terminal-shell {
    position: relative !important;
    width: min(1180px, calc(100vw - 48px)) !important;
    height: min(700px, calc(100vh - 48px)) !important;
    min-height: 0 !important;
    max-height: calc(100vh - 48px) !important;
    display: grid !important;
    grid-template-rows: auto auto minmax(250px, 1fr) auto !important;
    align-items: center !important;
    justify-items: center !important;
    gap: clamp(14px, 2vh, 22px) !important;
    padding: clamp(22px, 3vw, 38px) !important;
    border: 1px solid rgba(15, 118, 110, .14) !important;
    border-radius: 34px !important;
    background:
        radial-gradient(circle at 50% 52%, rgba(15, 118, 110, .055), transparent 33%),
        linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(253, 253, 251, .96)) !important;
    box-shadow:
        0 34px 90px rgba(15, 23, 42, .11),
        inset 0 1px 0 rgba(255, 255, 255, .96) !important;
}

body.rfid-kiosk-mode .rfid-terminal-kiosk-topbar {
    align-self: start !important;
}

body.rfid-kiosk-mode .rfid-terminal-logo {
    min-height: 34px !important;
    padding: 0 15px !important;
    border-radius: 999px !important;
    font-size: 14px !important;
    letter-spacing: -.01em !important;
}

body.rfid-kiosk-mode .rfid-terminal-kiosk-meta {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    flex-wrap: wrap !important;
}

body.rfid-kiosk-mode .rfid-terminal-kiosk-meta > span {
    min-height: 34px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    padding: 0 12px !important;
    border: 1px solid rgba(15, 23, 42, .08) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, .84) !important;
    color: #475569 !important;
    -webkit-text-fill-color: #475569 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}

body.rfid-kiosk-mode .rfid-terminal-kiosk-meta > span strong {
    color: #111827 !important;
    -webkit-text-fill-color: #111827 !important;
    font-size: 12px !important;
    font-weight: 850 !important;
}

body.rfid-kiosk-mode .rfid-terminal-kiosk-meta .rfid-terminal-reader-state {
    color: #16A34A !important;
    -webkit-text-fill-color: #16A34A !important;
    background: #ECFDF5 !important;
    border-color: rgba(22, 163, 74, .18) !important;
}

body.rfid-kiosk-mode .rfid-terminal-title {
    align-self: end !important;
    text-align: center !important;
    margin-top: clamp(4px, 1vh, 10px) !important;
}

body.rfid-kiosk-mode .rfid-terminal-title h2 {
    margin: 0 !important;
    max-width: none !important;
    overflow-wrap: normal !important;
    color: #111827 !important;
    -webkit-text-fill-color: #111827 !important;
    font-size: clamp(24px, 2.35vw, 34px) !important;
    line-height: 1.05 !important;
    font-weight: 820 !important;
    letter-spacing: -.035em !important;
}

body.rfid-kiosk-mode .rfid-terminal-title p {
    margin: 9px 0 0 !important;
    color: #64748B !important;
    -webkit-text-fill-color: #64748B !important;
    font-size: clamp(14px, 1.2vw, 17px) !important;
    line-height: 1.35 !important;
    font-weight: 650 !important;
}

body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-scan-stage {
    width: min(760px, 100%) !important;
    min-height: 0 !important;
    height: clamp(270px, 43vh, 360px) !important;
    display: grid !important;
    place-items: center !important;
    align-content: center !important;
    gap: 16px !important;
    padding: clamp(18px, 3vw, 32px) !important;
    border-radius: 32px !important;
    background:
        radial-gradient(circle at 50% 47%, rgba(15, 118, 110, .075), transparent 33%),
        linear-gradient(180deg, rgba(255, 255, 255, .92), rgba(248, 253, 252, .86)) !important;
}

body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-reader-device {
    width: clamp(170px, 15vw, 200px) !important;
    height: clamp(170px, 15vw, 200px) !important;
    border-radius: 34px !important;
}

body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-reader-screen {
    width: 54px !important;
    height: 54px !important;
    border-radius: 17px !important;
    color: rgba(15, 118, 110, .48) !important;
    -webkit-text-fill-color: rgba(15, 118, 110, .48) !important;
    background: rgba(255, 255, 255, .72) !important;
}

body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-ready-copy strong {
    font-size: clamp(15px, 1.35vw, 19px) !important;
    font-weight: 800 !important;
}

body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-ready-copy span {
    font-size: clamp(12px, .95vw, 14px) !important;
}

body.rfid-kiosk-mode .rfid-live-result {
    align-self: end !important;
    min-height: 32px !important;
    opacity: .88 !important;
}

body.rfid-kiosk-mode .rfid-scan-result-modal.is-visible {
    background: rgba(17, 24, 39, .24) !important;
    backdrop-filter: blur(4px) !important;
}

body.rfid-kiosk-mode .rfid-scan-result-card {
    width: min(520px, calc(100vw - 34px)) !important;
    border-radius: 28px !important;
    box-shadow: 0 34px 90px rgba(15, 23, 42, .22) !important;
}

body.rfid-kiosk-mode .rfid-terminal-hint {
    position: absolute !important;
    left: clamp(16px, 2vw, 24px) !important;
    right: auto !important;
    bottom: clamp(14px, 1.8vw, 20px) !important;
    z-index: 80 !important;
    width: auto !important;
    max-width: max-content !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    min-height: 30px !important;
    padding: 0 12px !important;
    border: 1px solid rgba(15, 23, 42, .08) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, .86) !important;
    color: rgba(71, 85, 105, .72) !important;
    -webkit-text-fill-color: rgba(71, 85, 105, .72) !important;
    font-size: 11px !important;
    line-height: 1 !important;
    font-weight: 750 !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .055) !important;
    backdrop-filter: blur(10px) !important;
    pointer-events: none !important;
}

body.rfid-kiosk-mode .rfid-terminal-hint strong {
    color: #334155 !important;
    -webkit-text-fill-color: #334155 !important;
    font-weight: 850 !important;
}

body.rfid-kiosk-mode .rfid-exit-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 3200 !important;
    display: grid !important;
    place-items: center !important;
    padding: 22px !important;
    background: rgba(17, 24, 39, 0) !important;
    backdrop-filter: blur(0) !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition:
        opacity .22s ease,
        background-color .22s ease,
        backdrop-filter .22s ease !important;
}

body.rfid-kiosk-mode .rfid-exit-modal.is-visible {
    opacity: 1 !important;
    pointer-events: auto !important;
    background: rgba(17, 24, 39, .28) !important;
    backdrop-filter: blur(5px) !important;
}

body.rfid-kiosk-mode .rfid-exit-card {
    width: min(520px, 100%) !important;
    display: grid !important;
    justify-items: center !important;
    gap: 18px !important;
    padding: 30px !important;
    border: 1px solid rgba(15, 23, 42, .09) !important;
    border-radius: 28px !important;
    background:
        radial-gradient(circle at 50% 0%, rgba(217, 119, 6, .08), transparent 34%),
        #FFFFFF !important;
    box-shadow: 0 34px 90px rgba(15, 23, 42, .24), inset 0 1px 0 rgba(255, 255, 255, .96) !important;
    transform: translateY(8px) scale(.965) !important;
    transition: transform .22s ease !important;
}

body.rfid-kiosk-mode .rfid-exit-modal.is-visible .rfid-exit-card {
    transform: translateY(0) scale(1) !important;
}

body.rfid-kiosk-mode .rfid-exit-icon {
    width: 62px !important;
    height: 62px !important;
    display: grid !important;
    place-items: center !important;
    border: 1px solid rgba(217, 119, 6, .18) !important;
    border-radius: 22px !important;
    background: #FFFBEB !important;
    color: #D97706 !important;
    -webkit-text-fill-color: #D97706 !important;
    font-size: 30px !important;
    box-shadow: 0 16px 34px rgba(217, 119, 6, .12) !important;
}

body.rfid-kiosk-mode .rfid-exit-copy {
    max-width: 430px !important;
    text-align: center !important;
}

body.rfid-kiosk-mode .rfid-exit-copy h3 {
    margin: 0 0 10px !important;
    color: #111827 !important;
    -webkit-text-fill-color: #111827 !important;
    font-size: clamp(24px, 2.1vw, 30px) !important;
    line-height: 1.1 !important;
    font-weight: 850 !important;
    letter-spacing: -.025em !important;
}

body.rfid-kiosk-mode .rfid-exit-copy p {
    margin: 4px 0 !important;
    color: #64748B !important;
    -webkit-text-fill-color: #64748B !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
    font-weight: 600 !important;
}

body.rfid-kiosk-mode .rfid-exit-actions {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
}

body.rfid-kiosk-mode .rfid-exit-actions .btn {
    width: 100% !important;
    min-height: 48px !important;
    height: 48px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 0 16px !important;
    border-radius: 16px !important;
    font-size: 14px !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    transition:
        background-color .18s ease,
        color .18s ease,
        border-color .18s ease,
        box-shadow .18s ease !important;
}

body.rfid-kiosk-mode .rfid-exit-actions .btn:focus-visible {
    outline: 3px solid rgba(15, 118, 110, .18) !important;
    outline-offset: 3px !important;
}

body.rfid-kiosk-mode .rfid-exit-actions .rfid-exit-continue {
    background: #0F766E !important;
    border-color: #0F766E !important;
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
    box-shadow: 0 18px 34px rgba(15, 118, 110, .18) !important;
}

body.rfid-kiosk-mode .rfid-exit-actions .rfid-exit-continue:hover {
    background: #115E59 !important;
    border-color: #115E59 !important;
}

body.rfid-kiosk-mode .rfid-exit-actions .rfid-exit-dashboard {
    background: #DC2626 !important;
    border-color: #DC2626 !important;
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
    box-shadow: 0 18px 34px rgba(220, 38, 38, .16) !important;
}

body.rfid-kiosk-mode .rfid-exit-actions .rfid-exit-dashboard:hover {
    background: #B91C1C !important;
    border-color: #B91C1C !important;
}

@media (max-width: 900px) {
    body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-terminal-shell {
        width: calc(100vw - 28px) !important;
        height: calc(100vh - 28px) !important;
        max-height: calc(100vh - 28px) !important;
        padding: 18px !important;
        border-radius: 26px !important;
    }

    body.rfid-kiosk-mode .rfid-terminal-kiosk-topbar {
        align-items: flex-start !important;
    }

    body.rfid-kiosk-mode .rfid-terminal-kiosk-meta > span:not(.rfid-terminal-reader-state) {
        min-height: 30px !important;
        padding: 0 9px !important;
        font-size: 11px !important;
    }
}

@media (max-width: 620px) {
    body.rfid-kiosk-mode .rfid-terminal-logo {
        font-size: 12px !important;
        min-height: 30px !important;
        padding: 0 11px !important;
    }

    body.rfid-kiosk-mode .rfid-terminal-kiosk-meta {
        gap: 6px !important;
    }

    body.rfid-kiosk-mode .rfid-terminal-title h2 {
        font-size: clamp(22px, 7vw, 28px) !important;
    }

    body.rfid-kiosk-mode .rfid-terminal-kiosk-meta > span:not(.rfid-terminal-reader-state) {
        display: none !important;
    }

    body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-scan-stage {
        height: min(350px, 44vh) !important;
    }

    body.rfid-kiosk-mode .rfid-exit-card {
        padding: 22px !important;
        border-radius: 24px !important;
    }

    body.rfid-kiosk-mode .rfid-exit-actions {
        grid-template-columns: 1fr !important;
    }

    body.rfid-kiosk-mode .rfid-terminal-hint {
        left: 14px !important;
        right: auto !important;
        bottom: 12px !important;
    }
}

/* Premium RFID terminal motion: UI-only, scoped to the kiosk page. */
body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-scan-stage {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;
}

body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-scan-stage::before,
body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-scan-stage::after {
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    width: 210px !important;
    height: 210px !important;
    border: 1px solid rgba(15, 118, 110, .075) !important;
    border-radius: 999px !important;
    opacity: .08 !important;
    transform: translate(-50%, -50%) scale(.86) !important;
    pointer-events: none !important;
    z-index: 0 !important;
    animation: fitcoreRfidWave 3s ease-out infinite !important;
}

body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-scan-stage::before {
    box-shadow:
        0 0 0 28px rgba(15, 118, 110, .038),
        0 0 0 62px rgba(15, 118, 110, .022) !important;
}

body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-scan-stage::after {
    width: 248px !important;
    height: 248px !important;
    animation-delay: 1.5s !important;
    opacity: .06 !important;
}

body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-reader-device {
    position: relative !important;
    z-index: 2 !important;
    overflow: visible !important;
    animation: fitcoreRfidReaderBreathe 3s ease-in-out infinite !important;
}

body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-reader-screen {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    z-index: 4 !important;
    display: grid !important;
    place-items: center !important;
    transform: translate(-50%, -50%) !important;
    animation: fitcoreRfidIconFloat 2.9s ease-in-out infinite !important;
    box-shadow:
        0 18px 38px rgba(15, 23, 42, .075),
        0 0 0 1px rgba(15, 118, 110, .06),
        inset 0 1px 0 rgba(255, 255, 255, .94) !important;
}

body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-reader-screen::before {
    content: "" !important;
    position: absolute !important;
    inset: -13px !important;
    border-radius: 24px !important;
    background: radial-gradient(circle, rgba(15, 118, 110, .10), rgba(15, 118, 110, 0) 72%) !important;
    opacity: .75 !important;
    z-index: -1 !important;
    transform: scale(1) !important;
    animation: fitcoreRfidSoftGlow 2.9s ease-in-out infinite !important;
}

body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-reader-screen i {
    position: relative !important;
    z-index: 2 !important;
}

body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-reader-device > span {
    opacity: .66 !important;
    animation: fitcoreRfidBeamSweep 3s ease-in-out infinite !important;
}

body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-scan-stage:not(.has-result):not(.is-processing):not(.is-offline) .rfid-reader-device::after {
    animation: rfidReaderLineFloat 2.8s ease-in-out infinite !important;
    transform-origin: center !important;
    will-change: transform !important;
}

body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-scan-stage.is-processing .rfid-reader-device,
body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-scan-stage.has-result .rfid-reader-device {
    animation: none !important;
}

body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-scan-stage.is-processing .rfid-reader-screen,
body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-scan-stage.has-result .rfid-reader-screen {
    animation: none !important;
}

body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-scan-stage.is-processing::before,
body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-scan-stage.is-processing::after,
body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-scan-stage.has-result::before,
body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-scan-stage.has-result::after {
    animation-play-state: paused !important;
    opacity: .035 !important;
}

body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-stage-success .rfid-reader-device,
body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-reader-device.is-approved {
    animation: fitcoreRfidSuccessPulse .72s ease-out both !important;
}

body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-stage-success .rfid-reader-screen,
body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-reader-device.is-approved .rfid-reader-screen {
    color: #16A34A !important;
    -webkit-text-fill-color: #16A34A !important;
    background: #F0FDF4 !important;
    animation: fitcoreRfidSuccessIcon .72s ease-out both !important;
}

body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-stage-success .rfid-reader-screen::before,
body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-reader-device.is-approved .rfid-reader-screen::before {
    background: radial-gradient(circle, rgba(22, 163, 74, .18), rgba(22, 163, 74, 0) 72%) !important;
    animation: fitcoreRfidSuccessGlow .72s ease-out both !important;
}

body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-stage-danger .rfid-reader-device,
body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-stage-danger .rfid-reader-screen {
    animation: fitcoreRfidErrorPulse .62s ease-out both !important;
}

body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-stage-danger .rfid-reader-screen {
    color: #DC2626 !important;
    -webkit-text-fill-color: #DC2626 !important;
    background: #FEF2F2 !important;
}

body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-stage-danger .rfid-reader-screen::before {
    background: radial-gradient(circle, rgba(220, 38, 38, .16), rgba(220, 38, 38, 0) 72%) !important;
    animation: fitcoreRfidErrorGlow .62s ease-out both !important;
}

body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-stage-warning .rfid-reader-device,
body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-stage-warning .rfid-reader-screen {
    animation: fitcoreRfidWarningPulse .62s ease-out both !important;
}

body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-stage-warning .rfid-reader-screen {
    color: #D97706 !important;
    -webkit-text-fill-color: #D97706 !important;
    background: #FFFBEB !important;
}

body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-stage-warning .rfid-reader-screen::before {
    background: radial-gradient(circle, rgba(217, 119, 6, .16), rgba(217, 119, 6, 0) 72%) !important;
    animation: fitcoreRfidWarningGlow .62s ease-out both !important;
}

body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-scan-stage.is-offline .rfid-reader-device,
body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-reader-device.is-offline,
body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-scan-stage.is-offline .rfid-reader-screen {
    animation: none !important;
}

body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-scan-stage.is-offline::before,
body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-scan-stage.is-offline::after,
body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-reader-device.is-offline .rfid-reader-screen::before {
    display: none !important;
}

@keyframes fitcoreRfidIconFloat {
    0%, 100% {
        transform: translate(-50%, -50%) translateY(0);
    }

    25% {
        transform: translate(-50%, -50%) translateY(-9px);
    }

    50% {
        transform: translate(-50%, -50%) translateY(0);
    }

    75% {
        transform: translate(-50%, -50%) translateY(9px);
    }
}

@keyframes fitcoreRfidSoftGlow {
    0%, 100% {
        opacity: .78;
        transform: scale(1);
    }

    50% {
        opacity: .58;
        transform: scale(1.1);
    }
}

@keyframes fitcoreRfidWave {
    0% {
        opacity: .08;
        transform: translate(-50%, -50%) scale(.84);
    }

    72% {
        opacity: .035;
    }

    100% {
        opacity: 0;
        transform: translate(-50%, -50%) scale(1.18);
    }
}

@keyframes fitcoreRfidReaderBreathe {
    0%, 100% {
        box-shadow:
            0 28px 70px rgba(15, 23, 42, .10),
            0 0 0 12px rgba(255, 255, 255, .56),
            inset 0 1px 0 rgba(255, 255, 255, .88);
    }

    50% {
        box-shadow:
            0 32px 82px rgba(15, 118, 110, .12),
            0 0 0 15px rgba(15, 118, 110, .035),
            inset 0 1px 0 rgba(255, 255, 255, .90);
    }
}

@keyframes fitcoreRfidBeamSweep {
    0%, 100% {
        opacity: .38;
        transform: translateY(0) scaleX(.78);
    }

    50% {
        opacity: .74;
        transform: translateY(0) scaleX(1);
    }
}

@keyframes fitcoreRfidSuccessPulse {
    0% {
        box-shadow:
            0 28px 70px rgba(15, 23, 42, .10),
            0 0 0 10px rgba(255, 255, 255, .62);
    }

    45% {
        box-shadow:
            0 34px 86px rgba(22, 163, 74, .18),
            0 0 0 22px rgba(22, 163, 74, .08);
    }

    100% {
        box-shadow:
            0 30px 78px rgba(22, 163, 74, .12),
            0 0 0 12px rgba(255, 255, 255, .62);
    }
}

@keyframes fitcoreRfidSuccessIcon {
    0% {
        transform: translate(-50%, -50%) scale(.98);
    }

    45% {
        transform: translate(-50%, -50%) scale(1.06);
    }

    100% {
        transform: translate(-50%, -50%) scale(1);
    }
}

@keyframes fitcoreRfidSuccessGlow {
    0%, 100% {
        opacity: .70;
        transform: scale(1);
    }

    45% {
        opacity: .95;
        transform: scale(1.22);
    }
}

@keyframes fitcoreRfidErrorPulse {
    0%, 100% {
        transform: translate(-50%, -50%) scale(1);
    }

    45% {
        transform: translate(-50%, -50%) scale(1.045);
    }
}

@keyframes fitcoreRfidErrorGlow {
    0%, 100% {
        opacity: .54;
        transform: scale(1);
    }

    45% {
        opacity: .84;
        transform: scale(1.16);
    }
}

@keyframes fitcoreRfidWarningPulse {
    0%, 100% {
        transform: translate(-50%, -50%) scale(1);
    }

    45% {
        transform: translate(-50%, -50%) scale(1.04);
    }
}

@keyframes fitcoreRfidWarningGlow {
    0%, 100% {
        opacity: .54;
        transform: scale(1);
    }

    45% {
        opacity: .82;
        transform: scale(1.15);
    }
}

/* Stable idle animation: float only the RFID card icon, pulse only the glow layer. */
body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-scan-stage:not(.has-result):not(.is-processing):not(.is-offline) .rfid-reader-screen {
    animation: none !important;
    transform: translate(-50%, -50%) !important;
}

body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-scan-stage:not(.has-result):not(.is-processing):not(.is-offline) .rfid-reader-screen::before {
    display: none !important;
}

body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-floating-card {
    position: relative !important;
    z-index: 2 !important;
    display: inline-block !important;
    animation: rfidProfessionalFloat 2.8s ease-in-out infinite !important;
    will-change: transform !important;
    transform-origin: center !important;
}

body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-scanner-glow {
    position: absolute !important;
    inset: -13px !important;
    z-index: 1 !important;
    display: block !important;
    border-radius: 24px !important;
    background: radial-gradient(circle, rgba(15, 118, 110, .12), rgba(15, 118, 110, 0) 72%) !important;
    opacity: .45 !important;
    pointer-events: none !important;
    animation: rfidGlowPulse 2.8s ease-in-out infinite !important;
    will-change: transform, opacity !important;
}

body.rfid-kiosk-mode .rfid-fullscreen-terminal.is-processing .rfid-floating-card,
body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-scan-stage.is-processing .rfid-floating-card,
body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-scan-stage.has-result .rfid-floating-card,
body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-scan-stage.is-offline .rfid-floating-card {
    animation-play-state: paused !important;
}

body.rfid-kiosk-mode .rfid-fullscreen-terminal.is-processing .rfid-scanner-glow,
body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-scan-stage.is-processing .rfid-scanner-glow,
body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-scan-stage.has-result .rfid-scanner-glow,
body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-scan-stage.is-offline .rfid-scanner-glow {
    animation-play-state: paused !important;
    opacity: 0 !important;
}

body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-scan-stage.is-processing .rfid-reader-device::after,
body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-scan-stage.has-result .rfid-reader-device::after,
body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-scan-stage.is-offline .rfid-reader-device::after {
    animation-play-state: paused !important;
}

@keyframes rfidProfessionalFloat {
    0% {
        transform: translateY(0);
    }

    25% {
        transform: translateY(-9px);
    }

    50% {
        transform: translateY(0);
    }

    75% {
        transform: translateY(9px);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes rfidGlowPulse {
    0%,
    100% {
        opacity: 0.45;
        transform: scale(1);
    }

    50% {
        opacity: 0.75;
        transform: scale(1.08);
    }
}

@keyframes rfidReaderLineFloat {
    0% {
        transform: translateY(0);
    }

    25% {
        transform: translateY(-11px);
    }

    50% {
        transform: translateY(0);
    }

    75% {
        transform: translateY(11px);
    }

    100% {
        transform: translateY(0);
    }
}

/* RFID scanner visual cleanup: one soft teal scan light, no duplicate black bars. */
body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-scan-stage::before,
body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-scan-stage::after {
    display: none !important;
    content: none !important;
    animation: none !important;
}

body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-reader-device {
    animation: rfidScannerOuterPulse 2.9s ease-in-out infinite !important;
}

body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-reader-device::after {
    display: none !important;
    content: none !important;
    animation: none !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-reader-screen {
    animation: none !important;
    transform: translate(-50%, -50%) !important;
}

body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-floating-card {
    animation: none !important;
    transform: none !important;
    will-change: auto !important;
}

body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-scan-light,
body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-reader-device > span.rfid-scan-light {
    position: absolute !important;
    left: 50% !important;
    right: auto !important;
    top: 38% !important;
    width: 62% !important;
    height: 2px !important;
    display: block !important;
    z-index: 3 !important;
    border-radius: 999px !important;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(20, 184, 166, .34),
        rgba(13, 148, 136, .88),
        rgba(20, 184, 166, .34),
        transparent
    ) !important;
    box-shadow:
        0 0 8px rgba(13, 148, 136, .34),
        0 0 16px rgba(13, 148, 136, .15) !important;
    opacity: .42 !important;
    transform: translateX(-50%) !important;
    pointer-events: none !important;
    animation: rfidScanSweep 2.6s ease-in-out infinite !important;
    will-change: top, opacity !important;
}

body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-scan-stage.is-processing .rfid-scan-light {
    animation-play-state: paused !important;
    opacity: .26 !important;
}

body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-scan-stage.has-result .rfid-scan-light,
body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-scan-stage.is-offline .rfid-scan-light {
    display: none !important;
    animation: none !important;
}

body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-scan-stage.has-result .rfid-reader-device,
body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-scan-stage.is-processing .rfid-reader-device,
body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-scan-stage.is-offline .rfid-reader-device {
    animation: none !important;
}

body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-stage-success .rfid-reader-device {
    animation: rfidScannerSuccessPulse .72s ease-out both !important;
}

body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-stage-warning .rfid-reader-device {
    animation: rfidScannerWarningPulse .62s ease-out both !important;
}

body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-stage-danger .rfid-reader-device {
    animation: rfidScannerErrorPulse .62s ease-out both !important;
}

@keyframes rfidScanSweep {
    0%,
    100% {
        top: 38%;
        opacity: .35;
    }

    50% {
        top: 62%;
        opacity: .9;
    }
}

@keyframes rfidScannerOuterPulse {
    0%,
    100% {
        box-shadow:
            0 28px 70px rgba(15, 23, 42, .09),
            0 0 0 10px rgba(255, 255, 255, .58),
            0 0 0 0 rgba(15, 118, 110, 0),
            inset 0 1px 0 rgba(255, 255, 255, .88);
    }

    50% {
        box-shadow:
            0 30px 76px rgba(15, 23, 42, .09),
            0 0 0 10px rgba(255, 255, 255, .58),
            0 0 0 12px rgba(15, 118, 110, .055),
            inset 0 1px 0 rgba(255, 255, 255, .90);
    }
}

@keyframes rfidScannerSuccessPulse {
    0% {
        box-shadow: 0 28px 70px rgba(15, 23, 42, .09), 0 0 0 10px rgba(255, 255, 255, .58);
    }

    45% {
        box-shadow: 0 34px 84px rgba(22, 163, 74, .16), 0 0 0 18px rgba(22, 163, 74, .07);
    }

    100% {
        box-shadow: 0 30px 76px rgba(22, 163, 74, .10), 0 0 0 10px rgba(255, 255, 255, .58);
    }
}

@keyframes rfidScannerWarningPulse {
    0%,
    100% {
        box-shadow: 0 28px 70px rgba(15, 23, 42, .09), 0 0 0 10px rgba(255, 255, 255, .58);
    }

    45% {
        box-shadow: 0 34px 84px rgba(217, 119, 6, .15), 0 0 0 18px rgba(217, 119, 6, .07);
    }
}

@keyframes rfidScannerErrorPulse {
    0%,
    100% {
        box-shadow: 0 28px 70px rgba(15, 23, 42, .09), 0 0 0 10px rgba(255, 255, 255, .58);
    }

    45% {
        box-shadow: 0 34px 84px rgba(220, 38, 38, .15), 0 0 0 18px rgba(220, 38, 38, .07);
    }
}

/* Final scanner-line behavior: one professional moving line only. */
body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-scan-stage:not(.has-result):not(.is-processing):not(.is-offline) .rfid-scan-light {
    position: absolute !important;
    left: 50% !important;
    right: auto !important;
    top: 50% !important;
    width: 64% !important;
    height: 3px !important;
    display: block !important;
    z-index: 3 !important;
    border-radius: 999px !important;
    background: linear-gradient(
        90deg,
        rgba(17, 24, 39, 0),
        rgba(17, 24, 39, .34),
        rgba(17, 24, 39, .72),
        rgba(17, 24, 39, .34),
        rgba(17, 24, 39, 0)
    ) !important;
    box-shadow:
        0 0 8px rgba(17, 24, 39, .16),
        0 0 14px rgba(15, 118, 110, .10) !important;
    opacity: .78 !important;
    transform: none !important;
    translate: -50% 0;
    pointer-events: none !important;
    animation: rfidSingleLineTranslate 2.8s ease-in-out infinite !important;
    will-change: translate, opacity !important;
}

body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-scan-stage:not(.has-result):not(.is-processing):not(.is-offline) .rfid-reader-device::after {
    display: none !important;
    content: none !important;
    animation: none !important;
}

body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-scan-stage.is-processing .rfid-scan-light {
    display: block !important;
    animation-play-state: paused !important;
    opacity: .28 !important;
}

body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-scan-stage.has-result .rfid-scan-light,
body.rfid-kiosk-mode .rfid-fullscreen-terminal .rfid-scan-stage.is-offline .rfid-scan-light {
    display: none !important;
    animation: none !important;
}

@keyframes rfidSingleLineSweep {
    0%,
    100% {
        top: 38%;
        opacity: .52;
    }

    50% {
        top: 62%;
        opacity: .86;
    }
}

@keyframes rfidSingleLineTranslate {
    0%,
    100% {
        translate: -50% -24px;
        opacity: .52;
    }

    50% {
        translate: -50% 24px;
        opacity: .86;
    }
}

/* Trainer leave log: compact, scoped management view. */
.trainer-leave-log-card {
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
}

.trainer-leave-log-titlebar {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    margin: 0 0 18px !important;
}

.trainer-leave-log-titlebar h2 {
    margin: 0 !important;
    color: var(--text-primary, #111827) !important;
    font-size: clamp(30px, 3vw, 44px) !important;
    line-height: 1.05 !important;
    font-weight: 760 !important;
    letter-spacing: -.03em !important;
}

.trainer-leave-log-table-wrap {
    overflow-x: visible !important;
    border: 1px solid var(--border, #E5E7EB) !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: 0 10px 28px rgba(15, 23, 42, .06) !important;
}

.trainer-leave-log-table {
    width: 100% !important;
    min-width: 0 !important;
    table-layout: fixed !important;
    border-collapse: collapse !important;
}

.trainer-leave-log-table th,
.trainer-leave-log-table td {
    padding: 14px 16px !important;
    color: var(--text-primary, #111827) !important;
    font-size: 14px !important;
    line-height: 1.42 !important;
    vertical-align: middle !important;
    border: 0 !important;
}

.trainer-leave-log-table th {
    background: #f3f4f6 !important;
    color: #4b5563 !important;
    font-size: 13px !important;
    font-weight: 760 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    white-space: nowrap !important;
}

.trainer-leave-log-table tbody tr:nth-child(odd) {
    background: #fff !important;
}

.trainer-leave-log-table tbody tr:nth-child(even) {
    background: #fbfbfa !important;
}

.trainer-leave-log-row {
    cursor: pointer !important;
    transition: background-color .18s ease !important;
}

.trainer-leave-log-row:hover {
    background: rgba(15, 118, 110, .045) !important;
}

.trainer-leave-log-table th:nth-child(1),
.trainer-leave-log-table td:nth-child(1) {
    width: 44px !important;
    text-align: center !important;
}

.trainer-leave-log-table th:nth-child(2),
.trainer-leave-log-table td:nth-child(2) {
    width: 52% !important;
}

.trainer-leave-log-table th:nth-child(3),
.trainer-leave-log-table td:nth-child(3),
.trainer-leave-log-table th:nth-child(4),
.trainer-leave-log-table td:nth-child(4) {
    width: 92px !important;
}

.trainer-leave-log-table th:nth-child(5),
.trainer-leave-log-table td:nth-child(5) {
    width: 62px !important;
    text-align: center !important;
}

.trainer-leave-log-table th:nth-child(6),
.trainer-leave-log-table td:nth-child(6) {
    width: 136px !important;
}

.trainer-leave-log-table th:nth-child(7),
.trainer-leave-log-table td:nth-child(7) {
    width: 130px !important;
}

.trainer-leave-reason {
    max-width: none !important;
    overflow-wrap: anywhere !important;
}

.trainer-leave-status-stack {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.trainer-leave-cancel-link {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #dc2626 !important;
    font-size: 12px !important;
    font-weight: 760 !important;
    cursor: pointer !important;
}

.trainer-leave-apply-shortcut {
    min-height: 38px !important;
    padding: 0 14px !important;
    border-radius: 12px !important;
}

.trainer-leave-log-empty {
    min-height: 150px !important;
    display: grid !important;
    place-items: center !important;
    gap: 8px !important;
    text-align: center !important;
}

.trainer-leave-log-empty i {
    font-size: 22px !important;
    color: var(--primary, #0F766E) !important;
}

.trainer-leave-log-pagination {
    margin-top: 14px !important;
}

.trainer-leave-detail-modal {
    width: min(760px, calc(100vw - 34px)) !important;
}

.trainer-leave-detail-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    margin-top: 14px !important;
}

.trainer-leave-detail-grid > div {
    padding: 14px !important;
    border: 1px solid var(--border, #E5E7EB) !important;
    border-radius: 16px !important;
    background: rgba(250, 250, 248, .72) !important;
}

.trainer-leave-detail-grid span {
    display: block !important;
    margin-bottom: 5px !important;
    color: var(--text-secondary, #6B7280) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: .06em !important;
}

.trainer-leave-detail-grid strong {
    display: block !important;
    color: var(--text-primary, #111827) !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    overflow-wrap: anywhere !important;
}

@media (max-width: 1100px) {
    .trainer-leave-log-table th,
    .trainer-leave-log-table td {
        padding: 12px 10px !important;
        font-size: 13px !important;
    }
}

@media (max-width: 680px) {
    .trainer-leave-log-titlebar {
        align-items: flex-start !important;
        flex-direction: column !important;
    }

    .trainer-leave-detail-grid {
        grid-template-columns: 1fr !important;
    }

    .trainer-leave-log-table-wrap {
        overflow-x: auto !important;
    }

    .trainer-leave-log-table {
        min-width: 760px !important;
    }
}

/* Tenant logo visibility: uploaded logos often include large white padding.
   Keep the sidebar slot wide and crop gently so the actual mark is visible. */
.admin-sidebar .admin-logo.admin-logo-custom {
    width: 100% !important;
    justify-content: flex-start !important;
    padding: 10px 12px 18px !important;
}

.admin-sidebar .admin-logo.admin-logo-custom > .brand-mark.brand-mark-crop {
    width: 188px !important;
    height: 72px !important;
    min-width: 188px !important;
    border-radius: 16px !important;
    background: #ffffff !important;
    border: 1px solid rgba(15, 118, 110, .18) !important;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .08) !important;
    padding: 0 !important;
    overflow: hidden !important;
}

.admin-sidebar .admin-logo.admin-logo-custom > .brand-mark.brand-mark-crop img,
.settings-logo-preview.brand-mark-crop img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    filter: none !important;
    mix-blend-mode: normal !important;
}

/* Uploaded gym logos: wide logos stay wide, square logos get a square slot. */
.admin-sidebar .admin-logo,
.member-sidebar .admin-logo,
.trainer-sidebar .admin-logo {
    width: 100% !important;
    justify-content: flex-start !important;
    padding: 10px 12px 18px !important;
}

.admin-sidebar .admin-logo.admin-logo-custom > .brand-mark.brand-mark-crop,
.member-sidebar .admin-logo.admin-logo-custom > .brand-mark.brand-mark-crop,
.trainer-sidebar .admin-logo.admin-logo-custom > .brand-mark.brand-mark-crop {
    width: 112px !important;
    height: 112px !important;
    min-width: 112px !important;
    border-radius: 24px !important;
    background: #ffffff !important;
    border: 1px solid rgba(15, 118, 110, .18) !important;
    box-shadow: 0 14px 32px rgba(15, 23, 42, .09) !important;
    padding: 0 !important;
    overflow: hidden !important;
}

.admin-sidebar .admin-logo.admin-logo-custom > .brand-mark.brand-mark-crop img,
.member-sidebar .admin-logo.admin-logo-custom > .brand-mark.brand-mark-crop img,
.trainer-sidebar .admin-logo.admin-logo-custom > .brand-mark.brand-mark-crop img,
.settings-logo-preview.brand-mark-crop img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
    display: block !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    transform: none !important;
    filter: none !important;
    mix-blend-mode: normal !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.admin-sidebar .admin-logo:not(.admin-logo-custom) > .brand-mark,
.member-sidebar .admin-logo:not(.admin-logo-custom) > .brand-mark,
.trainer-sidebar .admin-logo:not(.admin-logo-custom) > .brand-mark {
    width: 142px !important;
    height: 48px !important;
    min-width: 142px !important;
}

.admin-sidebar .admin-logo:not(.admin-logo-custom) > .brand-mark img,
.member-sidebar .admin-logo:not(.admin-logo-custom) > .brand-mark img,
.trainer-sidebar .admin-logo:not(.admin-logo-custom) > .brand-mark img,
.sidebar .admin-logo > .brand-mark img {
    object-fit: contain !important;
    object-position: center center !important;
    padding: 0 !important;
}

/* Trainer dashboard notifications: this card has no separate icon column, so
   keep the content in a normal row instead of the global 42px icon grid. */
.trainer-shell #notifications .notification-list {
    display: grid !important;
    gap: 12px !important;
}

.trainer-shell #notifications .notification-item {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 16px !important;
    padding: 16px 18px !important;
    min-height: 0 !important;
}

.trainer-shell #notifications .notification-item > div {
    min-width: 0 !important;
}

.trainer-shell #notifications .notification-item .pill {
    display: inline-flex !important;
    width: auto !important;
    min-width: 104px !important;
    max-width: max-content !important;
    height: 34px !important;
    padding: 0 14px !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    white-space: nowrap !important;
    line-height: 1 !important;
}

.trainer-shell #notifications .notification-item h4 {
    margin: 10px 0 4px !important;
    font-size: 18px !important;
    line-height: 1.25 !important;
    overflow-wrap: anywhere !important;
}

.trainer-shell #notifications .notification-item p {
    margin: 0 0 6px !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
    max-width: 720px !important;
}

.trainer-shell #notifications .notification-item form {
    justify-self: end !important;
}

.trainer-shell #notifications .notification-item .btn-small {
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 16px !important;
    white-space: nowrap !important;
}

@media (max-width: 760px) {
    .trainer-shell #notifications .notification-item {
        grid-template-columns: 1fr !important;
    }

    .trainer-shell #notifications .notification-item form {
        justify-self: start !important;
    }
}

/* Registered Gyms: keep status/subscription badges separated and readable. */
body .admin-main .super-admin-data-table.gyms-table {
    table-layout: fixed !important;
}

body .admin-main .super-admin-data-table.gyms-table col.gym-col {
    width: 19% !important;
}

body .admin-main .super-admin-data-table.gyms-table col.owner-col {
    width: 16% !important;
}

body .admin-main .super-admin-data-table.gyms-table col.plan-col {
    width: 10% !important;
}

body .admin-main .super-admin-data-table.gyms-table col.status-col,
body .admin-main .super-admin-data-table.gyms-table col.subscription-col {
    width: 12% !important;
}

body .admin-main .super-admin-data-table.gyms-table col.created-col {
    width: 15% !important;
}

body .admin-main .super-admin-data-table.gyms-table col.actions-col {
    width: 104px !important;
}

body .admin-main .super-admin-data-table.gyms-table th:nth-child(4),
body .admin-main .super-admin-data-table.gyms-table td:nth-child(4),
body .admin-main .super-admin-data-table.gyms-table th:nth-child(5),
body .admin-main .super-admin-data-table.gyms-table td:nth-child(5) {
    text-align: center !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
    overflow: visible !important;
}

body .admin-main .super-admin-data-table.gyms-table td:nth-child(4) form {
    display: flex !important;
    justify-content: center !important;
    margin: 0 !important;
}

body .admin-main .super-admin-data-table.gyms-table td:nth-child(4) .pill,
body .admin-main .super-admin-data-table.gyms-table td:nth-child(5) .pill,
body .admin-main .super-admin-data-table.gyms-table .status-toggle-btn {
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 82px !important;
    max-width: 100% !important;
    height: 32px !important;
    min-height: 32px !important;
    padding: 0 10px !important;
    font-size: 11.5px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    overflow: visible !important;
}

body .admin-main .super-admin-data-table.gyms-table td:nth-child(4) .status-suspended {
    min-width: 94px !important;
}

/* Final logo safety: uploaded gym logos must fit, not crop.
   This keeps wide logos visible in admin, member, trainer, and settings previews. */
.brand > .brand-mark img,
.admin-logo > .brand-mark img,
.admin-sidebar .admin-logo > .brand-mark img,
.member-sidebar .admin-logo > .brand-mark img,
.trainer-sidebar .admin-logo > .brand-mark img,
.sidebar .admin-logo > .brand-mark img,
.settings-logo-preview img,
.settings-logo-preview.brand-mark-crop img,
.settings-favicon-preview img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
    display: block !important;
}

/* Compact dynamic gym brand lockup shared by Admin and Member sidebars. */
.admin-sidebar .admin-gym-brand,
.member-sidebar .admin-gym-brand {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
    min-height: 76px !important;
    max-height: 84px !important;
    padding: 10px 12px 14px !important;
    margin: 0 0 16px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    text-decoration: none !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08) !important;
    border-radius: 0 !important;
}

.admin-sidebar .admin-gym-brand__logo,
.member-sidebar .admin-gym-brand__logo {
    width: 52px !important;
    height: 52px !important;
    min-width: 52px !important;
    display: grid !important;
    place-items: center !important;
    padding: 0 !important;
    overflow: hidden !important;
    border-radius: 12px !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.admin-sidebar .admin-gym-brand__logo img,
.member-sidebar .admin-gym-brand__logo img {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
    display: block !important;
}

.admin-sidebar .admin-gym-brand__text,
.member-sidebar .admin-gym-brand__text {
    min-width: 0 !important;
    display: flex !important;
    align-items: center !important;
    line-height: 1.2 !important;
}

.admin-sidebar .admin-gym-brand__name,
.member-sidebar .admin-gym-brand__name {
    max-width: 180px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    color: #111827 !important;
    font-size: 16px !important;
    font-weight: 800 !important;
}

body.sidebar-collapsed .admin-sidebar .admin-gym-brand,
body.sidebar-collapsed .member-sidebar .admin-gym-brand {
    justify-content: center !important;
    padding: 10px 0 14px !important;
}

body.sidebar-collapsed .admin-sidebar .admin-gym-brand__text,
body.sidebar-collapsed .member-sidebar .admin-gym-brand__text {
    display: none !important;
}

.admin-branding-footer-field {
    align-self: start !important;
}

/* Admin settings: compact subscription status panel */
body .admin-main .admin-subscription-compact {
    padding-top: 30px !important;
    padding-bottom: 26px !important;
}

body .admin-main .admin-subscription-compact .section-head {
    margin-bottom: 20px !important;
}

body .admin-main .admin-subscription-compact .kicker {
    padding: 8px 16px !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
}

body .admin-main .admin-subscription-compact h2 {
    margin-top: 12px !important;
    margin-bottom: 6px !important;
    font-size: clamp(24px, 2.2vw, 32px) !important;
    line-height: 1.12 !important;
}

body .admin-main .admin-subscription-compact .section-head .muted {
    font-size: 15px !important;
    line-height: 1.35 !important;
}

body .admin-main .admin-subscription-compact .stat-grid {
    gap: 16px !important;
}

body .admin-main .admin-subscription-compact .dash-card {
    min-height: 118px !important;
    padding: 20px 24px !important;
}

body .admin-main .admin-subscription-compact .dash-card .muted {
    font-size: 14px !important;
    line-height: 1.25 !important;
}

body .admin-main .admin-subscription-compact .dash-card h3 {
    margin-top: 16px !important;
    font-size: clamp(26px, 2.8vw, 38px) !important;
    line-height: 1.05 !important;
}

body .admin-main .admin-subscription-compact .table-wrap {
    margin-top: 18px !important;
}

body .admin-main .admin-subscription-compact table th,
body .admin-main .admin-subscription-compact table td {
    padding-top: 16px !important;
    padding-bottom: 16px !important;
}

/* Subscription settings: exact compact four-card layout. */
body .admin-main .subscription-status-section {
    position: relative !important;
    padding: 26px !important;
}

body .admin-main .subscription-status-section .section-head {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    min-width: 0 !important;
    padding-right: 92px !important;
    margin-bottom: 24px !important;
}

body .admin-main .subscription-status-section .section-head > div {
    display: block !important;
    width: 100% !important;
    max-width: 760px !important;
    min-width: 0 !important;
}

body .admin-main .subscription-status-section .kicker {
    display: inline-flex !important;
    width: auto !important;
    max-width: max-content !important;
    margin-bottom: 14px !important;
    padding: 8px 16px !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
}

body .admin-main .subscription-status-section h2 {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 0 8px !important;
    font-size: clamp(28px, 2.1vw, 34px) !important;
    line-height: 1.12 !important;
    letter-spacing: -0.02em !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
}

body .admin-main .subscription-status-section .section-head .muted {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 !important;
    font-size: 16px !important;
    line-height: 1.42 !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
}

body .admin-main .subscription-top-status {
    position: absolute !important;
    top: 2px !important;
    right: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 58px !important;
    max-width: 90px !important;
    height: 28px !important;
    padding: 0 10px !important;
    border: 1px solid #e4ded4 !important;
    border-radius: 999px !important;
    background: #f6f2ec !important;
    color: #04776f !important;
    box-shadow: none !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    white-space: nowrap !important;
    word-break: normal !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
    transform: none !important;
}

body .admin-main .subscription-top-status.status-active,
body .admin-main .subscription-top-status.status-approved,
body .admin-main .subscription-top-status.status-paid {
    color: #047857 !important;
}

body .admin-main .subscription-top-status.status-pending {
    color: #b45309 !important;
}

body .admin-main .subscription-top-status.status-inactive,
body .admin-main .subscription-top-status.status-suspended,
body .admin-main .subscription-top-status.status-rejected,
body .admin-main .subscription-top-status.status-expired {
    color: #dc2626 !important;
}

body .admin-main .subscription-summary-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
    align-items: stretch !important;
    margin-top: 0 !important;
}

body .admin-main .subscription-summary-card {
    display: flex !important;
    min-width: 0 !important;
    min-height: 112px !important;
    padding: 18px 22px !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    gap: 10px !important;
}

body .admin-main .subscription-summary-label {
    font-size: 12px !important;
    line-height: 1.25 !important;
}

body .admin-main .subscription-summary-value {
    margin: 0 !important;
    font-size: clamp(18px, 1.35vw, 22px) !important;
    line-height: 1.05 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

body .admin-main .subscription-summary-value--date {
    font-size: clamp(18px, 1.3vw, 21px) !important;
}

body .admin-main .subscription-history-table {
    margin-top: 28px !important;
    padding: 18px 22px !important;
}

body .admin-main .subscription-history-table table th,
body .admin-main .subscription-history-table table td {
    padding-top: 13px !important;
    padding-bottom: 13px !important;
    white-space: nowrap !important;
}

body .admin-main .subscription-history-table table th {
    font-size: 14px !important;
}

@media (max-width: 1199px) {
    body .admin-main .subscription-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 767px) {
    body .admin-main .subscription-status-section {
        padding: 18px !important;
    }

    body .admin-main .subscription-status-section .section-head {
        display: block !important;
        padding-right: 76px !important;
        margin-bottom: 18px !important;
    }

    body .admin-main .subscription-top-status {
        top: 0 !important;
        right: 0 !important;
        min-width: 52px !important;
        max-width: 74px !important;
        height: 24px !important;
        padding: 0 8px !important;
        font-size: 10px !important;
    }

    body .admin-main .subscription-status-section h2 {
        font-size: clamp(24px, 8vw, 30px) !important;
    }

    body .admin-main .subscription-status-section .section-head .muted {
        font-size: 14px !important;
    }

    body .admin-main .subscription-summary-grid {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }

    body .admin-main .subscription-summary-card {
        min-height: 96px !important;
        padding: 16px !important;
        gap: 8px !important;
    }

    body .admin-main .subscription-summary-label {
        font-size: 12px !important;
    }

    body .admin-main .subscription-summary-value,
    body .admin-main .subscription-summary-value--date {
        font-size: clamp(18px, 5vw, 22px) !important;
    }

    body .admin-main .subscription-history-table {
        margin-top: 20px !important;
        padding: 14px !important;
    }
}

/* Settings preview: scoped enterprise brand summary. */
.settings-preview-card {
    padding: 34px 40px !important;
}

.settings-preview-head {
    margin-bottom: 24px !important;
}

.settings-preview-head .kicker {
    width: fit-content !important;
}

.settings-preview-head h3 {
    margin: 12px 0 6px !important;
    color: #111827 !important;
    font-size: clamp(28px, 2.4vw, 38px) !important;
    line-height: 1.08 !important;
    font-weight: 800 !important;
    letter-spacing: -0.03em !important;
}

.settings-preview-head p {
    margin: 0 !important;
    color: #64748b !important;
    font-size: 15px !important;
    line-height: 1.45 !important;
}

.settings-preview-grid {
    display: grid !important;
    grid-template-columns: minmax(300px, 430px) minmax(360px, 1fr) !important;
    gap: 32px !important;
    align-items: start !important;
}

.settings-preview-media-row {
    display: flex !important;
    align-items: start !important;
    gap: 22px !important;
    flex-wrap: wrap !important;
}

.settings-preview-media {
    margin: 0 !important;
    display: grid !important;
    grid-template-rows: 110px 18px !important;
    justify-items: center !important;
    align-items: center !important;
    gap: 10px !important;
}

.settings-preview-media figcaption {
    color: #64748b !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
    letter-spacing: .06em !important;
}

.settings-preview-image {
    display: grid !important;
    place-items: center !important;
    overflow: hidden !important;
    border: 1px solid rgba(15, 23, 42, .10) !important;
    background: #fff !important;
    box-shadow: 0 16px 34px rgba(15, 23, 42, .08) !important;
}

.settings-preview-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
    display: block !important;
}

.settings-preview-image--logo {
    width: 110px !important;
    height: 110px !important;
    border-radius: 22px !important;
    padding: 8px !important;
}

.settings-preview-image--favicon,
.settings-preview-image--profile {
    width: 80px !important;
    height: 80px !important;
    border-radius: 50% !important;
    padding: 7px !important;
}

.settings-preview-image--profile img {
    border-radius: 50% !important;
    object-fit: cover !important;
}

.settings-preview-info-stack {
    display: grid !important;
    gap: 14px !important;
    max-width: 680px !important;
}

.settings-preview-info-card {
    display: grid !important;
    gap: 2px !important;
    padding: 18px !important;
    border: 1px solid rgba(15, 23, 42, .10) !important;
    border-radius: 18px !important;
    background: rgba(255, 255, 255, .82) !important;
    box-shadow: 0 16px 36px rgba(15, 23, 42, .06) !important;
}

.settings-preview-row {
    display: grid !important;
    grid-template-columns: 30px minmax(100px, 132px) minmax(0, 1fr) !important;
    gap: 10px !important;
    align-items: center !important;
    min-height: 36px !important;
    color: #111827 !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
}

.settings-preview-icon {
    width: 28px !important;
    height: 28px !important;
    display: inline-grid !important;
    place-items: center !important;
    border-radius: 10px !important;
    background: rgba(15, 118, 110, .08) !important;
    color: #0f766e !important;
    font-size: 13px !important;
}

.settings-preview-row strong {
    color: #111827 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
}

.settings-preview-row span:last-child {
    min-width: 0 !important;
    color: #64748b !important;
    overflow-wrap: anywhere !important;
}

.settings-preview-row a {
    color: #0f766e !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

.settings-preview-row a:hover {
    color: #115e59 !important;
}

@media (max-width: 1100px) {
    .settings-preview-card {
        padding: 28px 24px !important;
    }

    .settings-preview-grid {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
    }

    .settings-preview-info-stack {
        max-width: none !important;
    }
}

@media (max-width: 640px) {
    .settings-preview-card {
        padding: 22px 18px !important;
    }

    .settings-preview-media-row {
        justify-content: center !important;
        gap: 16px !important;
    }

    .settings-preview-media {
        grid-template-rows: 96px 18px !important;
    }

    .settings-preview-image--logo {
        width: 96px !important;
        height: 96px !important;
    }

    .settings-preview-image--favicon,
    .settings-preview-image--profile {
        width: 72px !important;
        height: 72px !important;
    }

    .settings-preview-row {
        grid-template-columns: 28px 1fr !important;
        gap: 8px 10px !important;
    }

    .settings-preview-row > span:last-child {
        grid-column: 2 / -1 !important;
    }
}

/* Compact shared notification bell in Admin and Super Admin topbars. */
body .admin-topbar .admin-alert-icon,
body .admin-topbar .super-admin-bell {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
}

body .admin-topbar .admin-alert-icon > i.bi-bell,
body .admin-topbar .super-admin-bell > i.bi-bell {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 16px !important;
    height: 16px !important;
    font-size: 16px !important;
    line-height: 1 !important;
}

body .admin-topbar .admin-alert-icon > .admin-alert-count,
body .admin-topbar .super-admin-bell > .super-admin-bell-count {
    top: 4px !important;
    right: 4px !important;
    min-width: 14px !important;
    height: 14px !important;
    padding: 0 4px !important;
    font-size: 9px !important;
    line-height: 14px !important;
    border-width: 1.5px !important;
}

/* Admin dashboard KPI glyphs need strong contrast against their blue circles. */
body[data-theme="light"] .admin-kpi-grid .dash-card > .muted:first-child i,
body[data-theme="dark"] .admin-kpi-grid .dash-card > .muted:first-child i {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

body .admin-main #overview .admin-kpi-grid .dash-card > span.muted:first-child > i.bi::before {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

/* Keep the Profit-panel action compact inside the dashboard focus grid. */
body .admin-main #finance .section-head .finance-add-expense-btn {
    width: auto !important;
    min-width: 0 !important;
    height: 28px !important;
    min-height: 28px !important;
    padding: 4px 9px !important;
    gap: 5px !important;
    font-size: 10px !important;
    line-height: 1 !important;
    flex: 0 0 auto !important;
    align-self: flex-start !important;
}

body .admin-main #finance .section-head .finance-add-expense-btn > i {
    width: 13px !important;
    height: 13px !important;
    margin: 0 !important;
    font-size: 13px !important;
    line-height: 13px !important;
}

/* Match the Profit and Expiry panel lengths in the main dashboard row. */
body .admin-main .admin-dashboard-focus-grid:has(> #finance) {
    align-items: stretch !important;
}

body .admin-main .admin-dashboard-focus-grid:has(> #finance) > .admin-dashboard-focus-section {
    height: 100% !important;
}

/* Slightly smaller Admin Dashboard hero actions. */
body .admin-main #overview .admin-hero-actions > .btn {
    width: max-content !important;
    min-width: 0 !important;
    min-height: 25px !important;
    padding: 5px 6px !important;
    gap: 4px !important;
    font-size: 10px !important;
    border-radius: 9px !important;
    flex: 0 0 auto !important;
}

body .admin-main #overview .admin-hero-actions > .btn > i {
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    font-size: 12px !important;
    line-height: 1 !important;
}

/* Collapsible Admin sidebar category menus. */
.admin-sidebar .sidebar-menu > .admin-nav-toggle {
    width: 100% !important;
}

.admin-sidebar .sidebar-menu-chevron {
    margin-left: auto !important;
    font-size: 11px !important;
    transition: transform .2s ease !important;
}

.admin-sidebar .admin-nav-toggle[aria-expanded="true"] .sidebar-menu-chevron {
    transform: rotate(180deg) !important;
}

.admin-sidebar .admin-nav {
    height: auto !important;
    min-height: 0 !important;
    gap: 4px !important;
    align-content: start !important;
    grid-auto-rows: max-content !important;
}

.admin-sidebar .sidebar-menu {
    display: grid !important;
    gap: 0 !important;
    margin: 0 !important;
}

.admin-sidebar .sidebar-menu > .admin-nav-toggle {
    height: 40px !important;
    min-height: 40px !important;
    margin: 0 !important;
    padding: 0 10px !important;
    gap: 8px !important;
    border: 1px solid transparent !important;
    border-radius: 10px !important;
    background: transparent !important;
    color: #667085 !important;
    -webkit-text-fill-color: #667085 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    box-shadow: none !important;
    transform: none !important;
}

.admin-sidebar .sidebar-menu > .admin-nav-toggle:hover,
.admin-sidebar .sidebar-menu > .admin-nav-toggle.active {
    background: #EAF4F1 !important;
    border-color: rgba(15, 118, 110, .16) !important;
    color: #0F766E !important;
    -webkit-text-fill-color: #0F766E !important;
    font-weight: 700 !important;
}

.admin-sidebar .sidebar-menu > .admin-nav-toggle > span {
    gap: 8px !important;
}

.admin-sidebar .sidebar-menu > .admin-nav-toggle > span > i {
    width: 18px !important;
    min-width: 18px !important;
    font-size: 17px !important;
    color: inherit !important;
    -webkit-text-fill-color: currentColor !important;
}

.admin-sidebar .sidebar-menu > .admin-nav-toggle * {
    color: inherit !important;
    -webkit-text-fill-color: currentColor !important;
}

.admin-sidebar .sidebar-menu > .admin-submenu {
    gap: 2px !important;
    margin: 0 0 0 16px !important;
    padding: 0 0 0 10px !important;
    border-left-color: rgba(15, 118, 110, .16) !important;
}

.admin-sidebar .sidebar-menu > .admin-submenu.open {
    margin-top: 3px !important;
    margin-bottom: 4px !important;
}

.admin-sidebar .sidebar-menu > .admin-submenu .sidebar-item {
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 10px !important;
    font-size: 13px !important;
}

.admin-sidebar .sidebar-menu:not(:has(.admin-submenu .sidebar-item)) {
    display: none !important;
}

.admin-no-access-welcome {
    min-height: min(520px, calc(100vh - 210px)) !important;
    display: grid !important;
    place-items: center !important;
    align-content: center !important;
    gap: 10px !important;
    padding: 40px !important;
    text-align: center !important;
}

.admin-no-access-icon {
    width: 58px !important;
    height: 58px !important;
    display: inline-grid !important;
    place-items: center !important;
    border-radius: 18px !important;
    background: #eaf4f1 !important;
    color: #0f766e !important;
    font-size: 26px !important;
}

.admin-no-access-welcome h1 {
    margin: 2px 0 0 !important;
    color: #0f172a !important;
    font-size: clamp(26px, 3vw, 38px) !important;
}

.admin-no-access-welcome p {
    max-width: 600px !important;
    margin: 0 !important;
    color: #64748b !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
}

/* Compact Admin dashboard Change Password panel. */
body .admin-main #security.tab-section.card {
    padding: 12px 14px !important;
    border-radius: 14px !important;
}

body .admin-main #security > h3 {
    margin: 0 0 9px !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
}

body .admin-main #security > .form-grid {
    gap: 8px !important;
    margin: 0 !important;
    align-items: end !important;
}

body .admin-main #security .password-control,
body .admin-main #security .password-control > input {
    min-height: 34px !important;
    height: 34px !important;
}

body .admin-main #security .password-control > input {
    padding: 7px 34px 7px 10px !important;
    font-size: 11px !important;
}

body .admin-main #security .password-control > button {
    width: 28px !important;
    min-width: 28px !important;
    height: 28px !important;
    min-height: 28px !important;
}

body .admin-main #security .password-control > button i {
    font-size: 12px !important;
}

body .admin-main #security > .form-grid > .btn {
    width: max-content !important;
    min-width: 0 !important;
    height: 30px !important;
    min-height: 30px !important;
    padding: 6px 10px !important;
    gap: 6px !important;
    border-radius: 9px !important;
    font-size: 11px !important;
    line-height: 1 !important;
    box-shadow: 0 8px 18px rgba(15, 118, 110, .12) !important;
}

body .admin-main #security > .form-grid > .btn i {
    font-size: 11px !important;
}

/* More compact Super Admin platform analytics panel. */
body .admin-main .platform-analytics-card {
    padding: 13px 16px !important;
}

body .admin-main .platform-analytics-card > .section-head.compact {
    min-height: 0 !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
}

body .admin-main .platform-analytics-card .section-head h3 {
    margin: 5px 0 0 !important;
    font-size: 18px !important;
}

body .admin-main .platform-analytics-card .kicker {
    min-height: 22px !important;
    padding: 3px 9px !important;
    font-size: 8px !important;
}

body .admin-main .platform-analytics-grid {
    gap: 9px !important;
}

body .admin-main .platform-analytics-grid .analytics-chart-panel {
    height: 142px !important;
    padding: 9px 10px !important;
    border-radius: 13px !important;
}

body .admin-main .platform-analytics-grid .analytics-panel-head {
    margin-bottom: 3px !important;
}

body .admin-main .platform-analytics-grid .analytics-panel-head strong {
    font-size: 11px !important;
}

body .admin-main .platform-analytics-grid .analytics-panel-head span {
    min-height: 20px !important;
    padding: 2px 7px !important;
    font-size: 9px !important;
}

body .admin-main .platform-analytics-grid .analytics-chart-panel canvas {
    max-height: 96px !important;
}

/* Compact dashboard link to the complete Super Admin gyms list. */
body .admin-main .tenant-control-card > .section-head.compact {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: start !important;
    gap: 18px !important;
    width: 100% !important;
    max-width: none !important;
    padding-right: 0 !important;
}

body .admin-main .tenant-control-card .section-head > .tenant-control-actions {
    width: max-content !important;
    margin-left: auto !important;
    margin-right: -2px !important;
    justify-content: flex-end !important;
    align-items: flex-start !important;
    flex: 0 0 auto !important;
    justify-self: end !important;
}

body .admin-main .tenant-control-card .section-head > div:first-child {
    min-width: 0 !important;
}

body .admin-main .tenant-control-card .section-head > div:first-child .kicker {
    width: max-content !important;
    max-width: 100% !important;
    white-space: nowrap !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
}

body .admin-main .tenant-control-actions .tenant-view-more-btn {
    width: auto !important;
    min-width: 0 !important;
    height: 22px !important;
    min-height: 22px !important;
    padding: 3px 6px !important;
    gap: 3px !important;
    font-size: 8px !important;
    line-height: 1 !important;
    border-radius: 7px !important;
    align-self: flex-start !important;
}

body .admin-main .tenant-control-actions .tenant-view-more-btn > i {
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    font-size: 8px !important;
    line-height: 1 !important;
}

/* Minimal topbar notification bell: retain button behavior without button chrome. */
body .admin-topbar .admin-alert-icon,
body .admin-topbar .super-admin-bell {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
}

body .admin-topbar .admin-alert-icon:hover,
body .admin-topbar .super-admin-bell:hover {
    border: 0 !important;
    background: rgba(15, 23, 42, .05) !important;
    box-shadow: none !important;
    transform: none !important;
}

body .admin-topbar .admin-alert-icon > i.bi-bell,
body .admin-topbar .super-admin-bell > i.bi-bell {
    width: auto !important;
    height: auto !important;
    color: #4B5563 !important;
    -webkit-text-fill-color: #4B5563 !important;
    font-size: 20px !important;
    line-height: 1 !important;
}

/* Polished admin/super-admin sidebar dropdowns. */
body .admin-sidebar .sidebar-menu > .admin-submenu {
    display: grid !important;
    gap: 0 !important;
    margin: 2px 0 8px 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-left: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body .admin-sidebar .sidebar-menu > .admin-submenu.open {
    margin-top: 2px !important;
    margin-bottom: 8px !important;
}

body .admin-sidebar .sidebar-menu > .admin-submenu .sidebar-item {
    height: 38px !important;
    min-height: 38px !important;
    margin: 0 !important;
    padding: 0 14px 0 32px !important;
    gap: 12px !important;
    border: 1px solid transparent !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #64748b !important;
    box-shadow: none !important;
    font-size: 13px !important;
    font-weight: 650 !important;
}

body .admin-sidebar .sidebar-menu > .admin-submenu .sidebar-item i {
    width: 12px !important;
    min-width: 12px !important;
    font-size: 0 !important;
    color: #64748b !important;
}

body .admin-sidebar .sidebar-menu > .admin-submenu .sidebar-item i::before {
    content: "\f285" !important;
    font-family: "bootstrap-icons" !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}

body .admin-sidebar .sidebar-menu > .admin-submenu .sidebar-item:hover {
    transform: none !important;
    background: #f8fafc !important;
    border-color: transparent !important;
    color: #0f766e !important;
}

body .admin-sidebar .sidebar-menu > .admin-submenu .sidebar-item:hover i,
body .admin-sidebar .sidebar-menu > .admin-submenu .sidebar-item.active i,
body .admin-sidebar .sidebar-menu > .admin-submenu .sidebar-item[aria-current="page"] i {
    color: #0f766e !important;
}

body .admin-sidebar .sidebar-menu > .admin-submenu .sidebar-item.active,
body .admin-sidebar .sidebar-menu > .admin-submenu .sidebar-item[aria-current="page"] {
    background: #f1f5f9 !important;
    border-color: transparent !important;
    color: #0f766e !important;
    box-shadow: none !important;
}

/* Final compact Admin dashboard hero: match Super Admin sizing. */
body .admin-main #overview > .admin-hero-head {
    gap: 10px !important;
    margin-bottom: 12px !important;
    padding: 12px 18px !important;
    align-items: flex-end !important;
}

body .admin-main #overview > .admin-hero-head > div:first-child {
    width: min(60%, 640px) !important;
}

body .admin-main #overview > .admin-hero-head .kicker {
    min-height: 21px !important;
    margin-bottom: 3px !important;
    padding: 3px 9px !important;
    font-size: 8px !important;
}

body .admin-main #overview > .admin-hero-head h2 {
    margin: 2px 0 3px !important;
    padding-bottom: 0 !important;
    font-size: clamp(17px, 1.55vw, 22px) !important;
    line-height: 1.08 !important;
    font-weight: 760 !important;
    letter-spacing: -0.01em !important;
}

body .admin-main #overview > .admin-hero-head p {
    max-width: 620px !important;
    font-size: 12px !important;
    line-height: 1.32 !important;
}

body .admin-main #overview .admin-hero-actions {
    gap: 6px !important;
    margin-top: 8px !important;
}

body .admin-main #overview .admin-hero-actions > .btn {
    height: 28px !important;
    min-height: 28px !important;
    padding: 5px 9px !important;
    gap: 6px !important;
    border-radius: 8px !important;
    font-size: 11px !important;
    font-weight: 760 !important;
}

body .admin-main #overview .admin-hero-actions > .btn > i {
    width: 13px !important;
    min-width: 13px !important;
    height: 13px !important;
    display: inline-grid !important;
    place-items: center !important;
    font-size: 12px !important;
}

/* Final compact overview KPI cards. */
body .admin-main #overview .admin-kpi-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 8px !important;
}

body .admin-main #overview .admin-kpi-grid > .dash-card {
    min-height: 64px !important;
    height: auto !important;
    padding: 8px 10px !important;
    gap: 2px !important;
    border-radius: 11px !important;
}

body .admin-main #overview .admin-kpi-grid > .dash-card > .muted:first-child {
    min-height: 18px !important;
    gap: 5px !important;
    font-size: 9px !important;
    line-height: 1.15 !important;
}

body .admin-main #overview .admin-kpi-grid > .dash-card > .muted:first-child i {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    border-radius: 7px !important;
    font-size: 9px !important;
}

body .admin-main #overview .admin-kpi-grid > .dash-card h3 {
    margin: 2px 0 1px !important;
    font-size: 17px !important;
    line-height: .95 !important;
}

body .admin-main #overview .admin-kpi-grid > .dash-card p {
    max-width: 100% !important;
    margin: 0 !important;
    font-size: 8.5px !important;
    line-height: 1.12 !important;
}

body .admin-main #overview .admin-kpi-grid > .dash-card .kpi-meta {
    margin-top: 0 !important;
    font-size: 8px !important;
    line-height: 1.1 !important;
}

.testimonial-person img.testimonial-fitcore-logo {
    object-fit: contain !important;
    padding: 5px !important;
    background: #07110f !important;
    border-color: rgba(15, 118, 110, .22) !important;
}

/* Public homepage typography: quieter professional heading scale. */
body.public-front .saas-home .section-title.compact-title {
    max-width: 640px !important;
    margin-bottom: 20px !important;
    gap: 7px !important;
}

body.public-front .saas-home .section-title.compact-title h2,
body.public-front .saas-home .faq-copy h2,
body.public-front .saas-home .final-cta-card h2 {
    font-size: clamp(22px, 2vw, 30px) !important;
    line-height: 1.12 !important;
    letter-spacing: -0.01em !important;
}

body.public-front .saas-home .section-title.compact-title p,
body.public-front .saas-home .faq-copy p,
body.public-front .saas-home .final-cta-card p {
    font-size: 13px !important;
    line-height: 1.5 !important;
}

body.public-front .saas-home .eyebrow {
    min-height: 22px !important;
    padding: 4px 10px !important;
    font-size: 9px !important;
}

body.public-front .saas-home .problem-grid h3 {
    margin: 7px 0 !important;
    font-size: 15px !important;
    line-height: 1.22 !important;
}

body.public-front .saas-home .problem-grid article span {
    font-size: 10px !important;
}

body.public-front .saas-home .problem-grid p,
body.public-front .saas-home .testimonial-card p,
body.public-front .saas-home .faq-list summary,
body.public-front .saas-home .faq-list p {
    font-size: 12px !important;
    line-height: 1.45 !important;
}

body.public-front .saas-home .benefit-list div {
    min-height: 42px !important;
    padding: 10px 12px !important;
    font-size: 12px !important;
    border-radius: 11px !important;
}

body.public-front .saas-home .testimonial-person strong {
    font-size: 13px !important;
}

body.public-front .saas-home .testimonial-person span {
    font-size: 11px !important;
}

/* Public homepage final CTA: compact, premium closing card. */
body.public-front .saas-home .final-cta {
    padding: 34px 0 42px !important;
}

body.public-front .saas-home .final-cta-card {
    position: relative !important;
    overflow: hidden !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 24px !important;
    padding: 24px 28px !important;
    border-radius: 20px !important;
    background:
        radial-gradient(circle at 92% 18%, rgba(20, 184, 166, .14), transparent 34%),
        linear-gradient(135deg, #ffffff 0%, #ffffff 52%, #f5fbf9 100%) !important;
    border-color: rgba(15, 118, 110, .16) !important;
    box-shadow: 0 18px 44px rgba(15, 23, 42, .075) !important;
}

body.public-front .saas-home .final-cta-card::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 auto 0 0 !important;
    width: 5px !important;
    background: linear-gradient(180deg, #0f766e, #14b8a6) !important;
}

body.public-front .saas-home .final-cta-copy {
    position: relative !important;
    z-index: 1 !important;
}

body.public-front .saas-home .final-cta-card h2 {
    margin: 10px 0 8px !important;
    max-width: 620px !important;
}

body.public-front .saas-home .final-cta-card p {
    max-width: 720px !important;
    color: #5f6f86 !important;
}

body.public-front .saas-home .final-cta-points {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin-top: 16px !important;
}

body.public-front .saas-home .final-cta-points span {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    min-height: 30px !important;
    padding: 6px 10px !important;
    border: 1px solid rgba(15, 118, 110, .13) !important;
    border-radius: 999px !important;
    background: rgba(240, 253, 250, .7) !important;
    color: #334155 !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: -.01em !important;
}

body.public-front .saas-home .final-cta-points i {
    color: #0f766e !important;
    font-size: 12px !important;
}

body.public-front .saas-home .final-cta-action {
    position: relative !important;
    z-index: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    gap: 10px !important;
}

body.public-front .saas-home .final-cta-note {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 28px !important;
    padding: 6px 11px !important;
    border-radius: 999px !important;
    background: #f8fafc !important;
    border: 1px solid rgba(15, 23, 42, .08) !important;
    color: #0f766e !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: .04em !important;
}

body.public-front .saas-home .final-cta-button {
    min-height: 46px !important;
    padding: 0 20px !important;
    border-radius: 14px !important;
    gap: 8px !important;
    font-size: 14px !important;
    box-shadow: 0 16px 28px rgba(15, 118, 110, .18) !important;
}

body.public-front .saas-home .final-cta-button i {
    font-size: 15px !important;
}

/* 14-day trial registration modal. */
body.trial-modal-open {
    overflow: hidden !important;
}

.trial-hero-btn {
    box-shadow: 0 18px 34px rgba(15, 118, 110, .2) !important;
}

.trial-modal {
    width: min(96vw, 1040px) !important;
    max-height: min(92dvh, 760px) !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 24px !important;
    background: transparent !important;
    box-shadow: 0 28px 90px rgba(2, 6, 23, .35) !important;
    overflow: hidden !important;
}

.trial-modal::backdrop {
    background: rgba(2, 6, 23, .62) !important;
    backdrop-filter: blur(8px) !important;
}

.trial-modal-shell {
    position: relative !important;
    display: grid !important;
    grid-template-columns: .9fr 1.1fr !important;
    background: #fff !important;
    min-height: 620px !important;
}

.trial-modal-close {
    position: absolute !important;
    z-index: 3 !important;
    top: 14px !important;
    right: 14px !important;
    width: 34px !important;
    height: 34px !important;
    border: 1px solid rgba(15, 23, 42, .08) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, .92) !important;
    color: #0f172a !important;
    font-size: 22px !important;
    line-height: 1 !important;
    cursor: pointer !important;
}

.trial-modal-info {
    position: relative !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 18px !important;
    padding: 38px !important;
    color: #fff !important;
    background:
        radial-gradient(circle at 18% 20%, rgba(45, 212, 191, .28), transparent 28%),
        radial-gradient(circle at 92% 86%, rgba(20, 184, 166, .22), transparent 30%),
        linear-gradient(145deg, #042f2e 0%, #0f766e 58%, #061b2d 100%) !important;
}

.trial-modal-info::after {
    content: "" !important;
    position: absolute !important;
    inset: auto -40px -40px auto !important;
    width: 220px !important;
    height: 220px !important;
    border: 1px solid rgba(255, 255, 255, .14) !important;
    border-radius: 40px !important;
    transform: rotate(18deg) !important;
}

.trial-modal-kicker {
    width: fit-content !important;
    min-height: 28px !important;
    display: inline-flex !important;
    align-items: center !important;
    padding: 6px 12px !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, .12) !important;
    border: 1px solid rgba(255, 255, 255, .2) !important;
    color: #d1faf4 !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: .08em !important;
}

.trial-modal-kicker.light {
    color: #0f766e !important;
    background: #f5f2ec !important;
    border-color: rgba(15, 23, 42, .08) !important;
}

.trial-modal-info h2,
.trial-modal-form h3 {
    margin: 0 !important;
    color: inherit !important;
    font-size: clamp(28px, 3vw, 44px) !important;
    line-height: 1.04 !important;
    letter-spacing: -.025em !important;
}

.trial-modal-info p,
.trial-modal-form p {
    margin: 0 !important;
    color: rgba(255, 255, 255, .82) !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
}

.trial-feature-box {
    position: relative !important;
    z-index: 1 !important;
    padding: 16px !important;
    border-radius: 18px !important;
    background: rgba(255, 255, 255, .12) !important;
    border: 1px solid rgba(255, 255, 255, .18) !important;
}

.trial-feature-box i {
    color: #99f6e4 !important;
    font-size: 22px !important;
}

.trial-feature-box span,
.trial-feature-box strong {
    display: block !important;
}

.trial-feature-box span {
    margin-top: 10px !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: .08em !important;
    color: #ccfbf1 !important;
}

.trial-feature-box strong {
    margin-top: 6px !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
    color: #fff !important;
}

.trial-modal-mini-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
}

.trial-modal-mini-grid span {
    padding: 11px 12px !important;
    border-radius: 14px !important;
    background: rgba(255, 255, 255, .1) !important;
    border: 1px solid rgba(255, 255, 255, .12) !important;
    color: #ecfeff !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}

.trial-modal-form {
    overflow-y: auto !important;
    display: grid !important;
    gap: 12px !important;
    align-content: start !important;
    padding: 34px 36px !important;
}

.trial-modal-form h3 {
    color: #0f172a !important;
    font-size: clamp(24px, 2.4vw, 34px) !important;
}

.trial-modal-form p {
    color: #64748b !important;
    font-size: 12.5px !important;
}

.trial-modal-form label {
    display: grid !important;
    gap: 6px !important;
    color: #475569 !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: .04em !important;
}

.trial-modal-form input {
    width: 100% !important;
    min-height: 42px !important;
    padding: 0 13px !important;
    border: 1px solid rgba(15, 23, 42, .11) !important;
    border-radius: 13px !important;
    background: #fff !important;
    color: #0f172a !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

.trial-modal-form input:focus {
    outline: 0 !important;
    border-color: rgba(15, 118, 110, .45) !important;
    box-shadow: 0 0 0 4px rgba(15, 118, 110, .1) !important;
}

.trial-modal-form small,
.trial-error {
    color: #dc2626 !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

.trial-logo-field em {
    color: #94a3b8 !important;
    font-size: 10px !important;
    font-style: normal !important;
}

.trial-logo-preview {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 8px !important;
    border-radius: 12px !important;
    background: #f8fafc !important;
}

.trial-logo-preview img {
    width: 44px !important;
    height: 44px !important;
    object-fit: contain !important;
    border-radius: 10px !important;
    background: #fff !important;
}

.trial-logo-preview button {
    border: 0 !important;
    background: transparent !important;
    color: #dc2626 !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    cursor: pointer !important;
}

.trial-password-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
}

.trial-password-control {
    position: relative !important;
    display: block !important;
}

.trial-password-control input {
    padding-right: 42px !important;
}

.trial-password-control button {
    position: absolute !important;
    right: 8px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 28px !important;
    height: 28px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: transparent !important;
    color: #0f766e !important;
    cursor: pointer !important;
}

.trial-terms {
    display: flex !important;
    grid-template-columns: none !important;
    align-items: center !important;
    gap: 9px !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

.trial-terms input {
    width: 16px !important;
    min-width: 16px !important;
    height: 16px !important;
    min-height: 16px !important;
    padding: 0 !important;
    accent-color: #0f766e !important;
}

.trial-terms span {
    font-size: 12px !important;
    font-weight: 800 !important;
    color: #475569 !important;
}

.trial-submit {
    min-height: 46px !important;
    border-radius: 14px !important;
    font-size: 14px !important;
    font-weight: 900 !important;
}

.trial-submit:disabled {
    opacity: .75 !important;
    cursor: wait !important;
}

.trial-footnote {
    text-align: center !important;
    color: #64748b !important;
}

@media (max-width: 820px) {
    .trial-modal-shell {
        grid-template-columns: 1fr !important;
    }

    .trial-modal-info,
    .trial-modal-form {
        padding: 26px !important;
    }

    .trial-password-grid {
        grid-template-columns: 1fr !important;
    }
}

/* Trial modal refinement: modern compact onboarding presentation. */
.trial-modal {
    width: min(94vw, 1120px) !important;
    max-height: min(88dvh, 690px) !important;
    border-radius: 26px !important;
}

.trial-modal-shell {
    grid-template-columns: 420px minmax(0, 1fr) !important;
    min-height: 0 !important;
    max-height: min(88dvh, 690px) !important;
    background: #f8fafc !important;
}

.trial-modal-info {
    justify-content: space-between !important;
    gap: 16px !important;
    padding: 30px !important;
    background:
        radial-gradient(circle at 18% 12%, rgba(45, 212, 191, .20), transparent 26%),
        radial-gradient(circle at 88% 88%, rgba(15, 23, 42, .34), transparent 34%),
        linear-gradient(145deg, #022c22 0%, #0f766e 54%, #042f2e 100%) !important;
}

.trial-modal-info::before {
    content: "" !important;
    position: absolute !important;
    inset: 18px !important;
    border: 1px solid rgba(255, 255, 255, .10) !important;
    border-radius: 22px !important;
    pointer-events: none !important;
}

.trial-brand-lockup {
    position: relative !important;
    z-index: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
}

.trial-brand-lockup img {
    width: 132px !important;
    height: 46px !important;
    object-fit: contain !important;
    border-radius: 14px !important;
    background: rgba(255, 255, 255, .08) !important;
    padding: 8px 14px !important;
    border: 1px solid rgba(255, 255, 255, .14) !important;
}

.trial-brand-lockup span {
    color: #ccfbf1 !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: .08em !important;
}

.trial-modal-info .trial-modal-kicker {
    position: relative !important;
    z-index: 1 !important;
    background: rgba(255, 255, 255, .12) !important;
    color: #d9fffa !important;
}

.trial-modal-info h2 {
    position: relative !important;
    z-index: 1 !important;
    max-width: 360px !important;
    color: #ffffff !important;
    font-size: clamp(25px, 2.4vw, 36px) !important;
    line-height: 1.06 !important;
}

.trial-modal-info p {
    position: relative !important;
    z-index: 1 !important;
    max-width: 360px !important;
    color: rgba(236, 253, 245, .86) !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
}

.trial-feature-box {
    padding: 14px !important;
    border-radius: 17px !important;
    background: rgba(255, 255, 255, .11) !important;
    backdrop-filter: blur(10px) !important;
}

.trial-feature-box strong {
    color: #f8fafc !important;
    font-size: 12px !important;
}

.trial-modal-mini-grid {
    position: relative !important;
    z-index: 1 !important;
    gap: 8px !important;
}

.trial-modal-mini-grid span {
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    min-height: 36px !important;
    padding: 8px 10px !important;
    border-radius: 12px !important;
    font-size: 11px !important;
}

.trial-modal-form {
    max-height: min(88dvh, 690px) !important;
    gap: 10px !important;
    padding: 26px 32px !important;
    background: #fff !important;
}

.trial-form-head {
    display: grid !important;
    gap: 5px !important;
    margin-bottom: 2px !important;
}

.trial-modal-form h3 {
    font-size: clamp(24px, 2.2vw, 32px) !important;
    line-height: 1.06 !important;
}

.trial-modal-form p {
    font-size: 12px !important;
    line-height: 1.35 !important;
}

.trial-field-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px 12px !important;
}

.trial-modal-form label {
    gap: 5px !important;
    font-size: 9.5px !important;
    color: #475569 !important;
}

.trial-modal-form input {
    min-height: 38px !important;
    border-radius: 12px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
}

.trial-file-drop {
    position: relative !important;
    overflow: hidden !important;
    display: grid !important;
    grid-template-columns: auto 1fr auto !important;
    align-items: center !important;
    gap: 10px !important;
    min-height: 44px !important;
    padding: 8px 10px !important;
    border: 1px dashed rgba(15, 118, 110, .28) !important;
    border-radius: 13px !important;
    background: #f8fffd !important;
    color: #0f766e !important;
}

.trial-file-drop i {
    font-size: 18px !important;
}

.trial-file-drop strong {
    color: #334155 !important;
    font-size: 12px !important;
    font-weight: 850 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

.trial-file-drop b {
    padding: 6px 10px !important;
    border-radius: 10px !important;
    background: #0f766e !important;
    color: #fff !important;
    font-size: 10px !important;
    font-weight: 900 !important;
}

.trial-file-drop input {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    opacity: 0 !important;
    cursor: pointer !important;
}

.trial-password-grid {
    gap: 10px !important;
}

.trial-terms {
    margin-top: 1px !important;
}

.trial-submit {
    min-height: 42px !important;
    border-radius: 13px !important;
    font-size: 13px !important;
}

.trial-footnote {
    font-size: 11px !important;
    line-height: 1.35 !important;
}

.trial-modal-close {
    top: 18px !important;
    right: 18px !important;
    width: 38px !important;
    height: 38px !important;
    color: #0f172a !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .08) !important;
}

@media (max-width: 940px) {
    .trial-modal-shell {
        grid-template-columns: 1fr !important;
    }

    .trial-modal-info {
        padding: 24px !important;
    }

    .trial-field-grid {
        grid-template-columns: 1fr !important;
    }
}

/* Final premium trial modal pass: clean, compact, fully visible. */
body.public-front .trial-modal {
    width: min(92vw, 1180px) !important;
    max-height: 86dvh !important;
    border-radius: 24px !important;
    box-shadow: 0 30px 90px rgba(2, 6, 23, .42) !important;
}

body.public-front .trial-modal::backdrop {
    background: rgba(15, 23, 42, .68) !important;
    backdrop-filter: blur(10px) saturate(1.05) !important;
}

body.public-front .trial-modal-shell {
    grid-template-columns: 390px minmax(0, 1fr) !important;
    max-height: 86dvh !important;
    min-height: 0 !important;
    background: #ffffff !important;
}

body.public-front .trial-modal-info {
    min-height: 0 !important;
    justify-content: flex-start !important;
    gap: 14px !important;
    padding: 28px !important;
    background:
        radial-gradient(circle at 20% 0%, rgba(20, 184, 166, .22), transparent 30%),
        radial-gradient(circle at 100% 95%, rgba(15, 23, 42, .42), transparent 38%),
        linear-gradient(150deg, #062722 0%, #0b4f48 52%, #081827 100%) !important;
}

body.public-front .trial-modal-info::before {
    inset: 16px !important;
    border-color: rgba(255, 255, 255, .09) !important;
}

body.public-front .trial-modal-info::after {
    opacity: .35 !important;
}

body.public-front .trial-brand-lockup {
    margin-bottom: 8px !important;
}

body.public-front .trial-brand-lockup img {
    width: 136px !important;
    height: 44px !important;
    padding: 8px 14px !important;
    background: rgba(255, 255, 255, .10) !important;
}

body.public-front .trial-brand-lockup span {
    max-width: 118px !important;
    color: #a7f3d0 !important;
    font-size: 9px !important;
    line-height: 1.25 !important;
    text-align: right !important;
}

body.public-front .trial-modal-info .trial-modal-kicker {
    min-height: 24px !important;
    padding: 5px 10px !important;
    background: rgba(255, 255, 255, .10) !important;
    color: #ccfbf1 !important;
    border-color: rgba(255, 255, 255, .16) !important;
    font-size: 8.5px !important;
}

body.public-front .trial-modal-info h2#trial-modal-title {
    max-width: 330px !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-size: clamp(24px, 2.05vw, 32px) !important;
    line-height: 1.07 !important;
    letter-spacing: -.022em !important;
    text-shadow: 0 1px 0 rgba(0, 0, 0, .08) !important;
}

body.public-front .trial-modal-info p {
    max-width: 330px !important;
    color: rgba(236, 253, 245, .82) !important;
    -webkit-text-fill-color: rgba(236, 253, 245, .82) !important;
    font-size: 11.5px !important;
    line-height: 1.45 !important;
}

body.public-front .trial-feature-box {
    margin-top: 4px !important;
    padding: 13px !important;
    border-radius: 16px !important;
    background: rgba(255, 255, 255, .10) !important;
    border-color: rgba(255, 255, 255, .14) !important;
}

body.public-front .trial-feature-box i {
    font-size: 17px !important;
    color: #99f6e4 !important;
}

body.public-front .trial-feature-box span {
    margin-top: 7px !important;
    color: #ccfbf1 !important;
    font-size: 8.5px !important;
}

body.public-front .trial-feature-box strong {
    margin-top: 5px !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-size: 10.5px !important;
    line-height: 1.4 !important;
}

body.public-front .trial-modal-mini-grid {
    margin-top: auto !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
}

body.public-front .trial-modal-mini-grid span {
    min-height: 32px !important;
    padding: 7px 9px !important;
    color: #ecfeff !important;
    -webkit-text-fill-color: #ecfeff !important;
    background: rgba(255, 255, 255, .095) !important;
    border-color: rgba(255, 255, 255, .13) !important;
    font-size: 10px !important;
    font-weight: 850 !important;
}

body.public-front .trial-modal-form {
    max-height: 86dvh !important;
    overflow-y: auto !important;
    gap: 8px !important;
    padding: 24px 34px 22px !important;
    background: linear-gradient(180deg, #ffffff 0%, #ffffff 72%, #fbfdfc 100%) !important;
}

body.public-front .trial-form-head {
    gap: 4px !important;
    margin: 0 52px 3px 0 !important;
}

body.public-front .trial-modal-form .trial-modal-kicker.light {
    min-height: 23px !important;
    padding: 5px 10px !important;
    font-size: 8.5px !important;
    background: #f7f3eb !important;
    color: #0f766e !important;
    border-color: rgba(15, 23, 42, .08) !important;
}

body.public-front .trial-modal-form h3 {
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
    font-size: clamp(24px, 2vw, 31px) !important;
    line-height: 1.05 !important;
}

body.public-front .trial-modal-form p {
    max-width: 620px !important;
    color: #64748b !important;
    font-size: 11.5px !important;
    line-height: 1.3 !important;
}

body.public-front .trial-field-grid,
body.public-front .trial-password-grid {
    gap: 8px 12px !important;
}

body.public-front .trial-modal-form label {
    gap: 4px !important;
    color: #475569 !important;
    font-size: 9px !important;
    font-weight: 900 !important;
}

body.public-front .trial-modal-form input {
    min-height: 34px !important;
    padding: 0 12px !important;
    border-radius: 11px !important;
    border-color: rgba(15, 23, 42, .10) !important;
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
    font-size: 11.5px !important;
    font-weight: 700 !important;
    box-shadow: none !important;
}

body.public-front .trial-modal-form input::placeholder {
    color: #94a3b8 !important;
    -webkit-text-fill-color: #94a3b8 !important;
}

body.public-front .trial-modal-form input:focus {
    border-color: rgba(15, 118, 110, .42) !important;
    box-shadow: 0 0 0 3px rgba(15, 118, 110, .09) !important;
}

body.public-front .trial-logo-field {
    margin-top: 1px !important;
}

body.public-front .trial-logo-field em {
    color: #94a3b8 !important;
    font-size: 8.5px !important;
}

body.public-front .trial-file-drop {
    min-height: 38px !important;
    grid-template-columns: auto 1fr auto !important;
    padding: 6px 8px !important;
    border-radius: 12px !important;
    background: #f8fbfa !important;
    border: 1px solid rgba(15, 118, 110, .16) !important;
}

body.public-front .trial-file-drop i {
    width: 24px !important;
    height: 24px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 8px !important;
    background: #e8f7f4 !important;
    color: #0f766e !important;
    font-size: 13px !important;
}

body.public-front .trial-file-drop strong {
    color: #334155 !important;
    font-size: 11px !important;
}

body.public-front .trial-file-drop b {
    padding: 6px 9px !important;
    border-radius: 9px !important;
    background: #0f766e !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-size: 8.5px !important;
    letter-spacing: .04em !important;
}

body.public-front .trial-logo-preview {
    min-height: 40px !important;
    padding: 6px 8px !important;
    border: 1px solid rgba(15, 23, 42, .07) !important;
    border-radius: 12px !important;
    background: #f8fafc !important;
}

body.public-front .trial-logo-preview img {
    width: 32px !important;
    height: 32px !important;
    border-radius: 9px !important;
}

body.public-front .trial-logo-preview::after {
    content: "Logo selected" !important;
    color: #334155 !important;
    font-size: 11px !important;
    font-weight: 800 !important;
}

body.public-front .trial-logo-preview button {
    margin-left: auto !important;
    color: #dc2626 !important;
    font-size: 10.5px !important;
}

body.public-front .trial-password-control input {
    padding-right: 34px !important;
}

body.public-front .trial-password-control button {
    right: 5px !important;
    width: 24px !important;
    height: 24px !important;
    color: #0f766e !important;
}

body.public-front .trial-terms {
    gap: 8px !important;
    margin: 0 !important;
}

body.public-front .trial-terms input {
    width: 14px !important;
    min-width: 14px !important;
    height: 14px !important;
    min-height: 14px !important;
}

body.public-front .trial-terms span {
    color: #475569 !important;
    font-size: 10.5px !important;
}

body.public-front .trial-submit {
    min-height: 38px !important;
    margin-top: 1px !important;
    border-radius: 12px !important;
    font-size: 12px !important;
    box-shadow: 0 14px 28px rgba(15, 118, 110, .17) !important;
}

body.public-front .trial-footnote {
    margin: 0 !important;
    color: #64748b !important;
    font-size: 10.5px !important;
    line-height: 1.25 !important;
}

body.public-front .trial-modal-close {
    top: 16px !important;
    right: 16px !important;
    width: 36px !important;
    height: 36px !important;
    background: rgba(255, 255, 255, .96) !important;
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
}

@media (max-width: 980px) {
    body.public-front .trial-modal {
        max-height: 92dvh !important;
    }

    body.public-front .trial-modal-shell {
        grid-template-columns: 1fr !important;
        max-height: 92dvh !important;
    }

    body.public-front .trial-modal-info {
        display: none !important;
    }

    body.public-front .trial-modal-form {
        max-height: 92dvh !important;
        padding: 26px 20px 20px !important;
    }

    body.public-front .trial-field-grid,
    body.public-front .trial-password-grid {
        grid-template-columns: 1fr !important;
    }
}

/* Trial modal layout like premium one-screen reference: no scroll on desktop. */
body.public-front .trial-modal {
    width: min(96vw, 1180px) !important;
    height: min(82dvh, 620px) !important;
    max-height: min(82dvh, 620px) !important;
    border-radius: 22px !important;
    overflow: hidden !important;
    background:
        radial-gradient(circle at 15% 8%, rgba(34, 211, 238, .18), transparent 28%),
        linear-gradient(135deg, #073a46 0%, #263f7a 48%, #5b21b6 100%) !important;
}

body.public-front .trial-modal-shell {
    height: 100% !important;
    max-height: 100% !important;
    grid-template-columns: minmax(0, .86fr) minmax(430px, .9fr) !important;
    align-items: center !important;
    gap: 28px !important;
    padding: 26px !important;
    background: transparent !important;
}

body.public-front .trial-modal-info {
    height: 100% !important;
    max-height: 100% !important;
    padding: 22px 16px 22px 18px !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    justify-content: center !important;
    gap: 16px !important;
}

body.public-front .trial-modal-info::before,
body.public-front .trial-modal-info::after {
    display: none !important;
}

body.public-front .trial-brand-lockup {
    display: none !important;
}

body.public-front .trial-modal-info .trial-modal-kicker {
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: rgba(226, 232, 240, .72) !important;
    -webkit-text-fill-color: rgba(226, 232, 240, .72) !important;
    font-size: 10px !important;
    letter-spacing: .22em !important;
}

body.public-front .trial-modal-info h2#trial-modal-title {
    max-width: 460px !important;
    font-size: clamp(30px, 3.2vw, 46px) !important;
    line-height: 1.02 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

body.public-front .trial-modal-info p {
    max-width: 460px !important;
    color: rgba(241, 245, 249, .82) !important;
    -webkit-text-fill-color: rgba(241, 245, 249, .82) !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
}

body.public-front .trial-feature-box {
    max-width: 460px !important;
    margin: 4px 0 0 !important;
    padding: 14px 16px !important;
    border-radius: 14px !important;
    background: rgba(255, 255, 255, .12) !important;
    border: 1px solid rgba(255, 255, 255, .18) !important;
    box-shadow: none !important;
}

body.public-front .trial-feature-box i,
body.public-front .trial-feature-box span {
    display: none !important;
}

body.public-front .trial-feature-box strong {
    margin: 0 !important;
    color: rgba(255, 255, 255, .88) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, .88) !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
}

body.public-front .trial-modal-mini-grid {
    display: none !important;
}

body.public-front .trial-modal-form {
    height: auto !important;
    max-height: calc(82dvh - 52px) !important;
    overflow: visible !important;
    align-self: center !important;
    gap: 8px !important;
    padding: 22px !important;
    border: 1px solid rgba(255, 255, 255, .16) !important;
    border-radius: 18px !important;
    background: rgba(255, 255, 255, .11) !important;
    backdrop-filter: blur(18px) saturate(1.08) !important;
    box-shadow: 0 24px 70px rgba(15, 23, 42, .22) !important;
}

body.public-front .trial-form-head {
    display: none !important;
}

body.public-front .trial-field-grid,
body.public-front .trial-password-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px 10px !important;
}

body.public-front .trial-modal-form label {
    color: rgba(255, 255, 255, .78) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, .78) !important;
    font-size: 9px !important;
    letter-spacing: .02em !important;
}

body.public-front .trial-modal-form input {
    min-height: 34px !important;
    border-radius: 10px !important;
    border: 1px solid rgba(255, 255, 255, .17) !important;
    background: rgba(255, 255, 255, .10) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-size: 11px !important;
}

body.public-front .trial-modal-form input::placeholder {
    color: rgba(255, 255, 255, .48) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, .48) !important;
}

body.public-front .trial-modal-form input:focus {
    border-color: rgba(34, 211, 238, .42) !important;
    box-shadow: 0 0 0 3px rgba(34, 211, 238, .12) !important;
}

body.public-front .trial-logo-field {
    gap: 5px !important;
}

body.public-front .trial-logo-field em {
    color: rgba(255, 255, 255, .58) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, .58) !important;
    font-size: 8px !important;
}

body.public-front .trial-native-file {
    min-height: 34px !important;
    padding: 6px 10px !important;
    color: rgba(255, 255, 255, .72) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, .72) !important;
}

body.public-front .trial-native-file::file-selector-button {
    margin-right: 9px !important;
    padding: 5px 9px !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: rgba(255, 255, 255, .92) !important;
    color: #1e293b !important;
    font-weight: 800 !important;
    cursor: pointer !important;
}

body.public-front .trial-logo-preview {
    min-height: 32px !important;
    padding: 5px 8px !important;
    background: rgba(255, 255, 255, .08) !important;
    border-color: rgba(255, 255, 255, .12) !important;
}

body.public-front .trial-logo-preview::after {
    color: rgba(255, 255, 255, .78) !important;
}

body.public-front .trial-logo-preview img {
    width: 26px !important;
    height: 26px !important;
}

body.public-front .trial-password-control button {
    color: rgba(255, 255, 255, .72) !important;
}

body.public-front .trial-terms span {
    color: rgba(255, 255, 255, .72) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, .72) !important;
    font-size: 10px !important;
}

body.public-front .trial-terms input {
    accent-color: #22d3ee !important;
}

body.public-front .trial-submit {
    min-height: 42px !important;
    margin-top: 2px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: linear-gradient(90deg, #22d3ee 0%, #38bdf8 42%, #9333ea 100%) !important;
    color: #06111f !important;
    -webkit-text-fill-color: #06111f !important;
    font-size: 12px !important;
    font-weight: 950 !important;
    box-shadow: 0 16px 34px rgba(34, 211, 238, .22) !important;
}

body.public-front .trial-footnote {
    color: rgba(255, 255, 255, .52) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, .52) !important;
    text-align: left !important;
    font-size: 9.5px !important;
}

body.public-front .trial-modal-close {
    top: 14px !important;
    right: 14px !important;
    width: 34px !important;
    height: 34px !important;
    border: 1px solid rgba(255, 255, 255, .18) !important;
    background: rgba(15, 23, 42, .38) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    box-shadow: none !important;
}

@media (max-width: 980px) {
    body.public-front .trial-modal {
        height: auto !important;
        max-height: 92dvh !important;
    }

    body.public-front .trial-modal-shell {
        display: block !important;
        padding: 18px !important;
    }

    body.public-front .trial-modal-info {
        display: none !important;
    }

    body.public-front .trial-modal-form {
        max-height: calc(92dvh - 36px) !important;
        overflow-y: auto !important;
    }
}

@media (max-width: 820px) {
    body.public-front .saas-home .final-cta-card {
        grid-template-columns: 1fr !important;
        padding: 22px !important;
    }

    body.public-front .saas-home .final-cta-action {
        align-items: flex-start !important;
    }
}

/* Public plans page: one-screen compact pricing without removing content. */
.public-plans-page {
    min-height: calc(100vh - 150px) !important;
    padding: 8px 0 18px !important;
}

.public-plans-page .container {
    width: min(100% - 64px, 1780px) !important;
}

.public-plans-page .section-head {
    margin-bottom: 9px !important;
    padding: 9px 16px !important;
    border: 1px solid rgba(15, 23, 42, .07) !important;
    border-radius: 14px !important;
    background: rgba(255, 255, 255, .86) !important;
    box-shadow: 0 12px 30px rgba(15, 23, 42, .045) !important;
}

.public-plans-page .section-head h2 {
    margin: 4px 0 2px !important;
    font-size: clamp(20px, 1.55vw, 27px) !important;
    line-height: 1.04 !important;
    letter-spacing: -.018em !important;
}

.public-plans-page .section-head .muted {
    margin: 0 !important;
    font-size: 11.5px !important;
    line-height: 1.2 !important;
}

.public-plans-page .section-head .kicker {
    min-height: 22px !important;
    padding: 4px 10px !important;
    font-size: 9px !important;
}

.public-plans-page .pricing-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 18px !important;
    align-items: stretch !important;
}

.public-plans-page .pricing-card.plan-card {
    min-height: 0 !important;
    padding: 17px 18px 16px !important;
    border-radius: 16px !important;
    gap: 9px !important;
    box-shadow: 0 14px 34px rgba(15, 23, 42, .065) !important;
}

.public-plans-page .pricing-card .badge-slot {
    min-height: 24px !important;
    margin-bottom: 0 !important;
}

.public-plans-page .pricing-card .pill {
    min-height: 23px !important;
    padding: 4px 10px !important;
    font-size: 9.5px !important;
}

.public-plans-page .pricing-card h3 {
    margin: 0 !important;
    font-size: 17px !important;
    line-height: 1.15 !important;
}

.public-plans-page .pricing-card .price {
    margin: 6px 0 1px !important;
    font-size: clamp(22px, 1.85vw, 30px) !important;
    line-height: 1 !important;
    letter-spacing: -.025em !important;
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
    text-shadow: none !important;
}

.public-plans-page .pricing-card > p.muted {
    min-height: 38px !important;
    margin: 0 !important;
    font-size: 12.5px !important;
    line-height: 1.32 !important;
}

.public-plans-page .feature-list {
    gap: 7px !important;
    margin: 4px 0 8px !important;
}

.public-plans-page .feature-list span {
    gap: 7px !important;
    font-size: 12.5px !important;
    line-height: 1.25 !important;
}

.public-plans-page .pricing-card .btn {
    min-height: 36px !important;
    width: 100% !important;
    padding: 0 13px !important;
    border-radius: 11px !important;
    font-size: 12.5px !important;
    font-weight: 800 !important;
    margin-top: auto !important;
}

.public-plans-page .pricing-card .btn i {
    font-size: 12.5px !important;
}

@media (max-width: 1180px) {
    .public-plans-page .pricing-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 720px) {
    .public-plans-page .container {
        width: min(100% - 24px, 1780px) !important;
    }

    .public-plans-page .pricing-grid {
        grid-template-columns: 1fr !important;
    }
}

/* Public trainers page: compact one-screen feature overview. */
.public-trainers-page {
    padding: 14px 0 24px !important;
}

.public-trainers-page .container {
    width: min(100% - 64px, 1780px) !important;
}

.public-trainers-page .section-head {
    margin-bottom: 16px !important;
    padding: 12px 18px !important;
    border: 1px solid rgba(15, 23, 42, .08) !important;
    border-radius: 18px !important;
    background: rgba(255, 255, 255, .88) !important;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .045) !important;
}

.public-trainers-page .section-head .kicker {
    min-height: 22px !important;
    padding: 4px 10px !important;
    font-size: 9px !important;
}

.public-trainers-page .section-head h2 {
    margin: 6px 0 3px !important;
    font-size: clamp(22px, 1.8vw, 31px) !important;
    line-height: 1.05 !important;
    letter-spacing: -.018em !important;
}

.public-trainers-page .section-head .muted {
    margin: 0 !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
}

.public-trainers-page .grid-3 {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 14px !important;
}

.public-trainers-page .grid-3 .card {
    min-height: 0 !important;
    padding: 16px 18px !important;
    border-radius: 16px !important;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .055) !important;
}

.public-trainers-page .grid-3 .card::before {
    height: 3px !important;
}

.public-trainers-page .grid-3 .pill {
    min-height: 24px !important;
    padding: 4px 10px !important;
    font-size: 10px !important;
    gap: 6px !important;
}

.public-trainers-page .grid-3 .pill i {
    font-size: 10px !important;
}

.public-trainers-page .grid-3 h3 {
    margin: 8px 0 7px !important;
    font-size: 16px !important;
    line-height: 1.18 !important;
}

.public-trainers-page .grid-3 p {
    margin: 0 !important;
    font-size: 12.5px !important;
    line-height: 1.42 !important;
}

@media (max-width: 1180px) {
    .public-trainers-page .grid-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 820px) {
    .public-trainers-page .grid-3 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 620px) {
    .public-trainers-page .container {
        width: min(100% - 24px, 1780px) !important;
    }

    .public-trainers-page .grid-3 {
        grid-template-columns: 1fr !important;
    }
}

/* Public gallery: replace generic facility photos with professional product previews. */
.public-gallery-page {
    padding: 22px 0 30px !important;
}

.public-gallery-page .container {
    width: min(100% - 64px, 1780px) !important;
}

.public-gallery-page .section-head {
    margin-bottom: 18px !important;
    padding: 14px 18px !important;
    border: 1px solid rgba(15, 23, 42, .08) !important;
    border-radius: 18px !important;
    background: rgba(255, 255, 255, .9) !important;
    box-shadow: 0 12px 30px rgba(15, 23, 42, .045) !important;
}

.public-gallery-page .section-head .kicker {
    min-height: 23px !important;
    padding: 4px 10px !important;
    font-size: 9px !important;
}

.public-gallery-page .section-head h2 {
    margin: 7px 0 4px !important;
    font-size: clamp(22px, 1.85vw, 32px) !important;
    line-height: 1.06 !important;
    letter-spacing: -.018em !important;
}

.public-gallery-page .section-head .muted {
    margin: 0 !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
}

.software-gallery {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 16px !important;
}

.software-shot {
    overflow: hidden !important;
    min-height: 236px !important;
    border: 1px solid rgba(15, 23, 42, .09) !important;
    border-radius: 18px !important;
    background:
        radial-gradient(circle at 85% 0%, rgba(20, 184, 166, .14), transparent 30%),
        linear-gradient(145deg, #ffffff 0%, #ffffff 58%, #f7fbfa 100%) !important;
    box-shadow: 0 16px 34px rgba(15, 23, 42, .065) !important;
    transition: transform .2s ease, box-shadow .2s ease !important;
}

.software-shot:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 20px 42px rgba(15, 23, 42, .085) !important;
}

.software-shot-wide {
    grid-column: span 1 !important;
}

.software-shot-bar {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    min-height: 38px !important;
    padding: 0 14px !important;
    border-bottom: 1px solid rgba(15, 23, 42, .08) !important;
    background: rgba(248, 250, 252, .86) !important;
}

.software-shot-bar span {
    width: 8px !important;
    height: 8px !important;
    border-radius: 999px !important;
    background: #d9d7cf !important;
}

.software-shot-bar strong {
    margin-left: 6px !important;
    color: #0f172a !important;
    font-size: 12px !important;
    font-weight: 900 !important;
}

.software-shot-body {
    padding: 16px !important;
}

.software-shot-head {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 10px !important;
    margin-bottom: 14px !important;
}

.software-icon {
    display: grid !important;
    place-items: center !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 12px !important;
    background: #eaf8f5 !important;
    color: #0f766e !important;
    font-size: 15px !important;
}

.software-shot-head h3 {
    margin: 0 !important;
    color: #0f172a !important;
    font-size: 16px !important;
    line-height: 1.12 !important;
}

.software-shot-head p {
    margin: 2px 0 0 !important;
    color: #64748b !important;
    font-size: 11px !important;
    font-weight: 700 !important;
}

.software-shot-head em {
    padding: 5px 9px !important;
    border-radius: 999px !important;
    background: #f5f2ec !important;
    color: #0f766e !important;
    font-size: 9px !important;
    font-style: normal !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: .04em !important;
}

.software-shot-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 9px !important;
}

.software-shot-grid div {
    min-height: 56px !important;
    padding: 10px !important;
    border: 1px solid rgba(15, 23, 42, .07) !important;
    border-radius: 13px !important;
    background: rgba(255, 255, 255, .78) !important;
}

.software-shot-grid span {
    display: block !important;
    color: #64748b !important;
    font-size: 10px !important;
    font-weight: 800 !important;
}

.software-shot-grid strong {
    display: block !important;
    margin-top: 5px !important;
    color: #0f172a !important;
    font-size: 15px !important;
    line-height: 1 !important;
}

.software-shot-lines {
    display: grid !important;
    gap: 7px !important;
    margin-top: 14px !important;
}

.software-shot-lines span {
    display: block !important;
    height: 8px !important;
    border-radius: 999px !important;
    background: linear-gradient(90deg, rgba(15, 118, 110, .72), rgba(20, 184, 166, .22)) !important;
}

.software-shot-lines span:nth-child(2) {
    width: 74% !important;
}

.software-shot-lines span:nth-child(3) {
    width: 54% !important;
}

@media (max-width: 1100px) {
    .software-gallery {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 640px) {
    .public-gallery-page .container {
        width: min(100% - 24px, 1780px) !important;
    }

    .software-gallery {
        grid-template-columns: 1fr !important;
    }
}

/* Public homepage core module cards: compact preview sizing. */
body.public-front .saas-home .module-grid {
    gap: 14px !important;
}

body.public-front .saas-home .module-grid .module-card {
    gap: 9px !important;
    padding: 13px !important;
    border-radius: 14px !important;
}

body.public-front .saas-home .module-grid .module-shot {
    padding: 9px !important;
    gap: 6px !important;
    border-radius: 11px !important;
}

body.public-front .saas-home .module-grid .module-shot-bar {
    gap: 6px !important;
    margin-bottom: 1px !important;
    font-size: 10px !important;
}

body.public-front .saas-home .module-grid .module-shot-bar i {
    font-size: 10px !important;
}

body.public-front .saas-home .module-grid .module-shot p {
    min-height: 26px !important;
    padding: 6px 7px !important;
    gap: 7px !important;
    border-radius: 8px !important;
    font-size: 9px !important;
    line-height: 1.15 !important;
}

body.public-front .saas-home .module-grid .module-shot em {
    width: 26px !important;
    height: 6px !important;
}

body.public-front .saas-home .module-grid .module-card h3 {
    font-size: 15px !important;
    line-height: 1.15 !important;
}

body.public-front .saas-home .module-grid .module-card > p {
    font-size: 11px !important;
    line-height: 1.45 !important;
}

/* Keep the public feature showcase concise: eight equal cards in two tidy rows. */
@media (min-width: 1181px) {
    body.public-front .saas-home #features .module-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 14px !important;
        grid-auto-rows: 1fr !important;
        align-items: stretch !important;
    }

    body.public-front .saas-home #features .module-card {
        min-width: 0 !important;
    }
}

@media (max-width: 1180px) and (min-width: 681px) {
    body.public-front .saas-home #features .module-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 680px) {
    body.public-front .saas-home #features .module-grid {
        grid-template-columns: 1fr !important;
    }
}

/* Public homepage real FitCore workflow preview. */
body.public-front .saas-home .fitcore-workflow-section {
    padding: 56px 0 !important;
    background:
        radial-gradient(circle at 88% 18%, rgba(20, 184, 166, .10), transparent 30%),
        linear-gradient(180deg, #ffffff 0%, #f8faf7 100%) !important;
}

body.public-front .saas-home .workflow-title {
    margin-right: auto !important;
    margin-left: auto !important;
    margin-bottom: 22px !important;
    gap: 6px !important;
    text-align: center !important;
}

body.public-front .saas-home .workflow-title h2 {
    font-size: clamp(27px, 2.55vw, 36px) !important;
    letter-spacing: -.04em !important;
}

body.public-front .saas-home .workflow-title p {
    max-width: 660px !important;
    margin-right: auto !important;
    margin-left: auto !important;
    font-size: 13.25px !important;
    line-height: 1.45 !important;
}

body.public-front .saas-home .workflow-grid {
    display: grid !important;
    grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr) !important;
    gap: 28px !important;
    align-items: center !important;
}

body.public-front .saas-home .workflow-copy {
    display: grid !important;
    gap: 14px !important;
}

body.public-front .saas-home .workflow-steps {
    position: relative !important;
    display: grid !important;
    gap: 12px !important;
}

body.public-front .saas-home .workflow-steps::before {
    content: "" !important;
    position: absolute !important;
    top: 36px !important;
    bottom: 36px !important;
    left: 20px !important;
    width: 1px !important;
    background: linear-gradient(180deg, rgba(15, 118, 110, .28), rgba(20, 184, 166, .08)) !important;
}

body.public-front .saas-home .workflow-step {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 40px minmax(0, 1fr) !important;
    gap: 12px !important;
    padding: 11px 12px !important;
    border: 1px solid rgba(15, 118, 110, .12) !important;
    border-radius: 16px !important;
    background: rgba(255, 255, 255, .84) !important;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .05) !important;
    animation: workflowFadeIn .34s ease both !important;
}

body.public-front .saas-home .workflow-step:nth-child(2) {
    animation-delay: .06s !important;
}

body.public-front .saas-home .workflow-step:nth-child(3) {
    animation-delay: .12s !important;
}

body.public-front .saas-home .workflow-step-number {
    position: relative !important;
    z-index: 1 !important;
    display: inline-grid !important;
    place-items: center !important;
    width: 40px !important;
    height: 40px !important;
    border-radius: 13px !important;
    background: linear-gradient(135deg, #0f766e, #14b8a6) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-size: 12px !important;
    font-weight: 950 !important;
    letter-spacing: .02em !important;
    box-shadow: 0 12px 24px rgba(15, 118, 110, .18) !important;
}

body.public-front .saas-home .workflow-step h3 {
    margin: 0 0 4px !important;
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
    font-size: 15.5px !important;
    line-height: 1.2 !important;
    letter-spacing: -.025em !important;
}

body.public-front .saas-home .workflow-step p {
    margin: 0 !important;
    color: #64748b !important;
    -webkit-text-fill-color: #64748b !important;
    font-size: 11.5px !important;
    line-height: 1.42 !important;
}

body.public-front .saas-home .workflow-trial-box {
    display: grid !important;
    grid-template-columns: 36px minmax(0, 1fr) !important;
    gap: 11px !important;
    padding: 12px !important;
    border: 1px solid rgba(15, 118, 110, .18) !important;
    border-radius: 16px !important;
    background:
        linear-gradient(135deg, rgba(15, 118, 110, .08), rgba(20, 184, 166, .04)),
        #ffffff !important;
    box-shadow: 0 12px 30px rgba(15, 23, 42, .052) !important;
}

body.public-front .saas-home .workflow-trial-box > i {
    display: inline-grid !important;
    place-items: center !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 12px !important;
    background: rgba(15, 118, 110, .11) !important;
    color: #0f766e !important;
    -webkit-text-fill-color: #0f766e !important;
    font-size: 16px !important;
}

body.public-front .saas-home .workflow-trial-box strong {
    display: block !important;
    margin-bottom: 3px !important;
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
    font-size: 13px !important;
    font-weight: 900 !important;
}

body.public-front .saas-home .workflow-trial-box p {
    margin: 0 !important;
    color: #64748b !important;
    -webkit-text-fill-color: #64748b !important;
    font-size: 11.5px !important;
    line-height: 1.42 !important;
}

body.public-front .saas-home .workflow-actions {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
}

body.public-front .saas-home .workflow-actions .btn {
    min-height: 38px !important;
    padding: 0 15px !important;
    border-radius: 13px !important;
    font-size: 12px !important;
    font-weight: 900 !important;
}

body.public-front .saas-home .workflow-preview-wrap {
    min-width: 0 !important;
}

body.public-front .saas-home .workflow-browser-frame {
    position: relative !important;
    overflow: hidden !important;
    border: 1px solid rgba(15, 118, 110, .16) !important;
    border-radius: 21px !important;
    background: #ffffff !important;
    box-shadow: 0 22px 52px rgba(15, 23, 42, .12) !important;
    transition: transform .28s ease, box-shadow .28s ease !important;
    animation: workflowShotReveal .38s ease both !important;
}

body.public-front .saas-home .workflow-browser-frame:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 28px 64px rgba(15, 23, 42, .15) !important;
}

body.public-front .saas-home .workflow-browser-bar {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 12px !important;
    min-height: 42px !important;
    padding: 0 14px !important;
    border-bottom: 1px solid rgba(15, 23, 42, .08) !important;
    background: rgba(255, 255, 255, .98) !important;
}

body.public-front .saas-home .workflow-browser-bar strong {
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

body.public-front .saas-home .workflow-browser-bar > span {
    display: inline-flex !important;
    align-items: center !important;
    height: 25px !important;
    padding: 0 9px !important;
    border-radius: 999px !important;
    background: rgba(15, 118, 110, .09) !important;
    color: #0f766e !important;
    -webkit-text-fill-color: #0f766e !important;
    font-size: 10px !important;
    font-weight: 900 !important;
}

body.public-front .saas-home .workflow-shot-stage {
    position: relative !important;
    height: clamp(290px, 32vw, 430px) !important;
    overflow: hidden !important;
    background: #f8fafc !important;
}

body.public-front .saas-home .workflow-shot-stage img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: left top !important;
    filter: blur(.28px) saturate(.97) contrast(.99) !important;
    transform: scale(1.003) !important;
    transform-origin: left top !important;
}

body.public-front .saas-home .workflow-badge {
    position: absolute !important;
    display: inline-flex !important;
    align-items: center !important;
    height: 30px !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(15, 118, 110, .16) !important;
    background: rgba(255, 255, 255, .92) !important;
    color: #0f766e !important;
    -webkit-text-fill-color: #0f766e !important;
    font-size: 10px !important;
    font-weight: 950 !important;
    letter-spacing: .01em !important;
    box-shadow: 0 12px 24px rgba(15, 23, 42, .10) !important;
    backdrop-filter: blur(10px) !important;
}

body.public-front .saas-home .workflow-badge-primary {
    top: 13px !important;
    right: 13px !important;
}

body.public-front .saas-home .workflow-badge-secondary {
    left: 13px !important;
    bottom: 13px !important;
}

@keyframes workflowFadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes workflowShotReveal {
    from {
        opacity: 0;
        transform: translateY(12px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 980px) {
    body.public-front .saas-home .workflow-grid {
        grid-template-columns: 1fr !important;
    }

    body.public-front .saas-home .workflow-shot-stage {
        height: min(430px, 58vw) !important;
    }
}

@media (max-width: 640px) {
    body.public-front .saas-home .fitcore-workflow-section {
        padding: 48px 0 !important;
    }

    body.public-front .saas-home .workflow-grid {
        gap: 22px !important;
    }

    body.public-front .saas-home .workflow-step {
        grid-template-columns: 42px minmax(0, 1fr) !important;
        padding: 12px !important;
    }

    body.public-front .saas-home .workflow-step-number,
    body.public-front .saas-home .workflow-trial-box > i {
        width: 42px !important;
        height: 42px !important;
        border-radius: 13px !important;
    }

    body.public-front .saas-home .workflow-steps::before {
        left: 21px !important;
    }

    body.public-front .saas-home .workflow-actions .btn {
        width: 100% !important;
        justify-content: center !important;
    }

    body.public-front .saas-home .workflow-browser-bar {
        grid-template-columns: auto minmax(0, 1fr) !important;
    }

    body.public-front .saas-home .workflow-browser-bar > span {
        display: none !important;
    }

    body.public-front .saas-home .workflow-shot-stage {
        height: 310px !important;
    }

    body.public-front .saas-home .workflow-badge {
        height: 30px !important;
        padding: 0 10px !important;
        font-size: 10px !important;
    }
}

@media (max-width: 720px) {
    body .admin-main .tenant-control-card > .section-head {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 10px !important;
        align-items: start !important;
    }

body .admin-main .tenant-control-card .section-head > .tenant-control-actions {
        width: 100% !important;
        margin-left: 0 !important;
        justify-content: flex-end !important;
    }
}

/* Absolute final trial modal polish: must stay last so no older modal rule wins. */
body.public-front .trial-modal {
    box-sizing: border-box !important;
    width: min(94vw, 1160px) !important;
    height: min(78dvh, 570px) !important;
    max-width: calc(100vw - 34px) !important;
    max-height: calc(100dvh - 34px) !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 24px !important;
    overflow: hidden !important;
    color: #f8fafc !important;
    background:
        radial-gradient(circle at 18% 12%, rgba(45, 212, 191, .34), transparent 34%),
        radial-gradient(circle at 88% 10%, rgba(139, 92, 246, .36), transparent 32%),
        linear-gradient(135deg, #073642 0%, #155e75 42%, #4c1d95 100%) !important;
    box-shadow: 0 34px 90px rgba(2, 6, 23, .46) !important;
}

body.public-front .trial-modal::backdrop {
    background: rgba(15, 23, 42, .58) !important;
    backdrop-filter: blur(10px) saturate(.95) !important;
}

body.public-front .trial-modal-shell {
    box-sizing: border-box !important;
    width: 100% !important;
    height: 100% !important;
    max-height: 100% !important;
    display: grid !important;
    grid-template-columns: minmax(0, .9fr) minmax(440px, .94fr) !important;
    gap: 28px !important;
    align-items: center !important;
    padding: 24px !important;
    background: transparent !important;
    overflow: hidden !important;
}

body.public-front .trial-modal-info {
    height: 100% !important;
    min-height: 0 !important;
    padding: 28px 20px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 14px !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.public-front .trial-modal-info::before,
body.public-front .trial-modal-info::after,
body.public-front .trial-brand-lockup,
body.public-front .trial-modal-mini-grid {
    display: none !important;
}

body.public-front .trial-modal-info .trial-modal-kicker {
    align-self: flex-start !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: rgba(226, 232, 240, .72) !important;
    -webkit-text-fill-color: rgba(226, 232, 240, .72) !important;
    font-size: 9.5px !important;
    font-weight: 850 !important;
    letter-spacing: .24em !important;
    text-transform: uppercase !important;
}

body.public-front .trial-modal-info h2#trial-modal-title {
    max-width: 500px !important;
    margin: 0 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-size: clamp(30px, 3.05vw, 44px) !important;
    line-height: 1.04 !important;
    letter-spacing: -.045em !important;
}

body.public-front .trial-modal-info p {
    max-width: 470px !important;
    margin: 0 !important;
    color: rgba(241, 245, 249, .82) !important;
    -webkit-text-fill-color: rgba(241, 245, 249, .82) !important;
    font-size: 13.5px !important;
    line-height: 1.52 !important;
}

body.public-front .trial-feature-box {
    max-width: 470px !important;
    margin: 10px 0 0 !important;
    padding: 14px 16px !important;
    border-radius: 16px !important;
    border: 1px solid rgba(255, 255, 255, .18) !important;
    background: rgba(255, 255, 255, .12) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08) !important;
}

body.public-front .trial-feature-box i,
body.public-front .trial-feature-box span {
    display: none !important;
}

body.public-front .trial-feature-box strong {
    margin: 0 !important;
    color: rgba(255, 255, 255, .9) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, .9) !important;
    font-size: 12px !important;
    line-height: 1.42 !important;
    letter-spacing: .01em !important;
}

body.public-front .trial-modal-form {
    box-sizing: border-box !important;
    width: 100% !important;
    height: auto !important;
    max-height: calc(min(78dvh, 570px) - 48px) !important;
    align-self: center !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 7px !important;
    overflow: visible !important;
    padding: 20px 20px 18px !important;
    border: 1px solid rgba(255, 255, 255, .18) !important;
    border-radius: 18px !important;
    background: rgba(255, 255, 255, .12) !important;
    backdrop-filter: blur(20px) saturate(1.12) !important;
    box-shadow: 0 24px 70px rgba(2, 6, 23, .26) !important;
}

body.public-front .trial-form-head {
    display: none !important;
}

body.public-front .trial-field-grid,
body.public-front .trial-password-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 7px 10px !important;
}

body.public-front .trial-modal-form label {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    margin: 0 !important;
    color: rgba(255, 255, 255, .76) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, .76) !important;
    font-size: 9px !important;
    font-weight: 850 !important;
    letter-spacing: .035em !important;
    text-transform: none !important;
}

body.public-front .trial-modal-form input {
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 33px !important;
    height: 33px !important;
    padding: 7px 11px !important;
    border: 1px solid rgba(255, 255, 255, .18) !important;
    border-radius: 10px !important;
    background: rgba(255, 255, 255, .11) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06) !important;
}

body.public-front .trial-modal-form input::placeholder {
    color: rgba(255, 255, 255, .46) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, .46) !important;
}

body.public-front .trial-modal-form input:focus {
    border-color: rgba(125, 211, 252, .58) !important;
    background: rgba(255, 255, 255, .15) !important;
    box-shadow: 0 0 0 3px rgba(34, 211, 238, .14) !important;
    outline: none !important;
}

body.public-front .trial-logo-field {
    gap: 4px !important;
}

body.public-front .trial-logo-field em {
    color: rgba(255, 255, 255, .54) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, .54) !important;
    font-size: 8px !important;
    font-style: normal !important;
    font-weight: 750 !important;
    letter-spacing: .025em !important;
}

body.public-front .trial-native-file {
    min-height: 33px !important;
    height: 33px !important;
    padding: 5px 9px !important;
    color: rgba(255, 255, 255, .68) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, .68) !important;
}

body.public-front .trial-native-file::file-selector-button,
body.public-front .trial-native-file::-webkit-file-upload-button {
    margin: 0 9px 0 0 !important;
    padding: 5px 9px !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: rgba(255, 255, 255, .92) !important;
    color: #1e293b !important;
    -webkit-text-fill-color: #1e293b !important;
    font-size: 10px !important;
    font-weight: 850 !important;
    cursor: pointer !important;
}

body.public-front .trial-logo-preview {
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
    min-height: 30px !important;
    padding: 5px 8px !important;
    border: 1px solid rgba(255, 255, 255, .13) !important;
    border-radius: 10px !important;
    background: rgba(255, 255, 255, .08) !important;
}

body.public-front .trial-logo-preview[hidden] {
    display: none !important;
}

body.public-front .trial-logo-preview::after {
    content: "Logo selected" !important;
    color: rgba(255, 255, 255, .78) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, .78) !important;
    font-size: 10px !important;
    font-weight: 800 !important;
}

body.public-front .trial-logo-preview img {
    width: 24px !important;
    height: 24px !important;
    border-radius: 7px !important;
    object-fit: cover !important;
}

body.public-front .trial-logo-preview button {
    margin-left: auto !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: rgba(255, 255, 255, .74) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, .74) !important;
    font-size: 9.5px !important;
    font-weight: 800 !important;
}

body.public-front .trial-password-control {
    display: block !important;
}

body.public-front .trial-password-control input {
    padding-right: 36px !important;
}

body.public-front .trial-password-control button {
    right: 6px !important;
    width: 24px !important;
    height: 24px !important;
    color: rgba(255, 255, 255, .72) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, .72) !important;
}

body.public-front .trial-terms {
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    margin: 1px 0 0 !important;
}

body.public-front .trial-terms input {
    width: 13px !important;
    min-width: 13px !important;
    height: 13px !important;
    min-height: 13px !important;
    accent-color: #22d3ee !important;
}

body.public-front .trial-terms span {
    color: rgba(255, 255, 255, .72) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, .72) !important;
    font-size: 9.5px !important;
    font-weight: 750 !important;
    line-height: 1.25 !important;
}

body.public-front .trial-error,
body.public-front .trial-modal-form small {
    margin: 0 !important;
    color: #fecaca !important;
    -webkit-text-fill-color: #fecaca !important;
    font-size: 8.5px !important;
    line-height: 1.15 !important;
}

body.public-front .trial-submit {
    width: 100% !important;
    min-height: 40px !important;
    height: 40px !important;
    margin: 1px 0 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: linear-gradient(90deg, #22d3ee 0%, #38bdf8 42%, #9333ea 100%) !important;
    color: #06111f !important;
    -webkit-text-fill-color: #06111f !important;
    font-size: 12px !important;
    font-weight: 950 !important;
    letter-spacing: -.01em !important;
    box-shadow: 0 14px 30px rgba(34, 211, 238, .24), 0 8px 18px rgba(147, 51, 234, .16) !important;
}

body.public-front .trial-submit i {
    display: none !important;
}

body.public-front .trial-footnote {
    margin: 0 !important;
    color: rgba(255, 255, 255, .52) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, .52) !important;
    text-align: left !important;
    font-size: 9px !important;
    line-height: 1.2 !important;
}

body.public-front .trial-modal-close {
    top: 12px !important;
    right: 12px !important;
    z-index: 5 !important;
    width: 32px !important;
    height: 32px !important;
    min-height: 32px !important;
    border: 1px solid rgba(255, 255, 255, .18) !important;
    border-radius: 999px !important;
    background: rgba(15, 23, 42, .6) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    box-shadow: 0 10px 24px rgba(2, 6, 23, .18) !important;
    font-size: 20px !important;
}

@media (max-width: 980px) {
    body.public-front .trial-modal {
        width: min(94vw, 620px) !important;
        height: auto !important;
        max-height: 92dvh !important;
    }

    body.public-front .trial-modal-shell {
        display: block !important;
        padding: 18px !important;
        overflow: visible !important;
    }

    body.public-front .trial-modal-info {
        display: none !important;
    }

    body.public-front .trial-modal-form {
        max-height: calc(92dvh - 36px) !important;
        overflow-y: auto !important;
    }

    body.public-front .trial-field-grid,
    body.public-front .trial-password-grid {
        grid-template-columns: 1fr !important;
    }
}

/* FitCore real-product theme override: this is intentionally the last trial rule in the file. */
body.public-front .trial-modal {
    background:
        linear-gradient(90deg, #073f3a 0%, #0f766e 44%, #f7f4ec 44.15%, #ffffff 100%) !important;
    box-shadow: 0 34px 90px rgba(15, 23, 42, .34) !important;
}

body.public-front .trial-modal::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 auto 0 0 !important;
    width: 44% !important;
    pointer-events: none !important;
    background:
        radial-gradient(circle at 22% 18%, rgba(45, 212, 191, .20), transparent 28%),
        radial-gradient(circle at 86% 80%, rgba(15, 23, 42, .18), transparent 34%),
        linear-gradient(135deg, rgba(255, 255, 255, .035), transparent 46%) !important;
}

body.public-front .trial-modal-shell {
    grid-template-columns: minmax(0, .88fr) minmax(440px, .96fr) !important;
    gap: 34px !important;
}

body.public-front .trial-modal-info {
    padding-left: 34px !important;
    background: transparent !important;
    z-index: 1 !important;
}

body.public-front .trial-modal-info::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    inset: 20px auto 20px 18px !important;
    width: 1px !important;
    background: linear-gradient(180deg, transparent, rgba(204, 251, 241, .34), transparent) !important;
}

body.public-front .trial-modal-info::after,
body.public-front .trial-brand-lockup,
body.public-front .trial-modal-mini-grid {
    display: none !important;
}

body.public-front .trial-modal-info .trial-modal-kicker {
    color: rgba(204, 251, 241, .78) !important;
    -webkit-text-fill-color: rgba(204, 251, 241, .78) !important;
}

body.public-front .trial-modal-info h2#trial-modal-title {
    font-size: clamp(29px, 2.95vw, 42px) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

body.public-front .trial-modal-info p {
    color: rgba(240, 253, 250, .82) !important;
    -webkit-text-fill-color: rgba(240, 253, 250, .82) !important;
}

body.public-front .trial-feature-box {
    border-color: rgba(204, 251, 241, .22) !important;
    background: rgba(255, 255, 255, .12) !important;
    backdrop-filter: blur(10px) !important;
}

body.public-front .trial-feature-box strong {
    color: rgba(240, 253, 250, .9) !important;
    -webkit-text-fill-color: rgba(240, 253, 250, .9) !important;
}

body.public-front .trial-modal-form {
    padding: 22px !important;
    border: 1px solid rgba(15, 118, 110, .14) !important;
    background: rgba(255, 255, 255, .92) !important;
    color: #0f172a !important;
    box-shadow: 0 28px 70px rgba(15, 23, 42, .16), inset 0 1px 0 rgba(255, 255, 255, .92) !important;
}

body.public-front .trial-modal-form label {
    color: #475569 !important;
    -webkit-text-fill-color: #475569 !important;
    font-size: 9.5px !important;
    font-weight: 900 !important;
}

body.public-front .trial-modal-form input {
    height: 34px !important;
    min-height: 34px !important;
    border: 1px solid #e2e8f0 !important;
    background: rgba(255, 255, 255, .96) !important;
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
    box-shadow: 0 1px 0 rgba(15, 23, 42, .02) !important;
}

body.public-front .trial-modal-form input::placeholder {
    color: #94a3b8 !important;
    -webkit-text-fill-color: #94a3b8 !important;
}

body.public-front .trial-modal-form input:focus {
    border-color: #14b8a6 !important;
    background: #ffffff !important;
    box-shadow: 0 0 0 4px rgba(20, 184, 166, .13) !important;
}

body.public-front .trial-logo-field em,
body.public-front .trial-native-file,
body.public-front .trial-footnote {
    color: #64748b !important;
    -webkit-text-fill-color: #64748b !important;
}

body.public-front .trial-native-file::file-selector-button,
body.public-front .trial-native-file::-webkit-file-upload-button {
    background: #0f766e !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

body.public-front .trial-logo-preview {
    border-color: #dbeafe !important;
    background: #f8fafc !important;
}

body.public-front .trial-logo-preview[hidden] {
    display: none !important;
}

body.public-front .trial-logo-preview::after {
    color: #334155 !important;
    -webkit-text-fill-color: #334155 !important;
}

body.public-front .trial-password-control button {
    color: #0f766e !important;
    -webkit-text-fill-color: #0f766e !important;
}

body.public-front .trial-terms {
    flex-direction: row !important;
    justify-content: center !important;
}

body.public-front .trial-terms span {
    color: #475569 !important;
    -webkit-text-fill-color: #475569 !important;
}

body.public-front .trial-submit {
    background: linear-gradient(135deg, #0f766e 0%, #0d9488 100%) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    box-shadow: 0 16px 34px rgba(15, 118, 110, .22) !important;
}

body.public-front .trial-modal-close {
    border-color: rgba(15, 118, 110, .13) !important;
    background: rgba(255, 255, 255, .92) !important;
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
}

/* New FitCore gym logo: square/tall artwork needs a clean tile, not the old wide wordmark slot. */
.brand > .brand-mark:has(img[src*="fitcore-logo.png"]),
.admin-logo > .brand-mark:has(img[src*="fitcore-logo.png"]),
body .login-brand .brand-mark:has(img[src*="fitcore-logo.png"]) {
    width: 78px !important;
    min-width: 78px !important;
    height: 78px !important;
    padding: 7px !important;
    border-radius: 20px !important;
    background: #ffffff !important;
    border: 1px solid rgba(15, 118, 110, .14) !important;
    box-shadow: 0 14px 34px rgba(15, 23, 42, .10) !important;
}

.brand > .brand-mark:has(img[src*="fitcore-logo.png"]) img,
.admin-logo > .brand-mark:has(img[src*="fitcore-logo.png"]) img,
body .login-brand .brand-mark:has(img[src*="fitcore-logo.png"]) img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
}

body.public-front .brand > .brand-mark:has(img[src*="fitcore-logo.png"]) {
    width: 64px !important;
    min-width: 64px !important;
    height: 64px !important;
    padding: 5px !important;
    border-radius: 16px !important;
}

body.sidebar-collapsed .admin-logo > .brand-mark:has(img[src*="fitcore-logo.png"]) {
    width: 46px !important;
    min-width: 46px !important;
    height: 46px !important;
    padding: 4px !important;
    border-radius: 14px !important;
}

/* Public header no-overlap fix after switching to the taller FitCore logo. */
body.public-front .page-shell {
    padding-top: 0 !important;
}

body.public-front .page-shell > .navbar {
    position: sticky !important;
    top: 0 !important;
    z-index: 50 !important;
    min-height: 82px !important;
    padding: 8px 0 !important;
}

body.public-front .nav-inner {
    min-height: 66px !important;
    align-items: center !important;
}

body.public-front .saas-hero-v2 {
    padding-top: 20px !important;
}

body.public-front .hero-command-bar {
    margin-top: 12px !important;
}

/* Final public logo tune: keep the detailed FitCore logo readable in the header. */
body.public-front .brand > .brand-mark:has(img[src*="fitcore-logo.png"]) {
    box-sizing: border-box !important;
    width: 76px !important;
    min-width: 76px !important;
    height: 66px !important;
    padding: 4px !important;
    border-radius: 16px !important;
    overflow: hidden !important;
}

body.public-front .brand > .brand-mark:has(img[src*="fitcore-logo.png"]) img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
    transform: none !important;
    transform-origin: center center !important;
}

body.public-front .page-shell > .navbar {
    min-height: 82px !important;
    padding: 6px 0 !important;
}

body.public-front .nav-inner {
    min-height: 68px !important;
}

body.public-front .saas-hero-v2 {
    padding-top: 18px !important;
}

/* TRUE FINAL public header logo: compact horizontal FitCore lockup, no badge cropping. */
body.public-front .brand.brand-platform-lockup {
    gap: 0 !important;
    align-items: center !important;
    width: auto !important;
    min-width: 0 !important;
}

body.public-front .brand.brand-platform-lockup > .brand-mark {
    box-sizing: border-box !important;
    width: 220px !important;
    min-width: 220px !important;
    max-width: 220px !important;
    height: 50px !important;
    min-height: 50px !important;
    max-height: 50px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
}

body.public-front .brand.brand-platform-lockup > .brand-mark img {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    display: block !important;
    object-fit: contain !important;
    object-position: left center !important;
    transform: none !important;
    filter: none !important;
}

body.public-front .brand.brand-platform-lockup > .brand-text {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
}

body.public-front .page-shell {
    padding-top: 0 !important;
}

body.public-front .page-shell > .navbar {
    min-height: 74px !important;
    padding: 8px 0 !important;
}

body.public-front .nav-inner {
    min-height: 58px !important;
    align-items: center !important;
}

body.public-front .saas-hero-v2 {
    padding-top: 14px !important;
}

/* Trial modal final geometry fixes from QA screenshots. */
body.public-front .trial-feature-box {
    width: min(100%, 444px) !important;
    max-width: 444px !important;
    margin-right: 34px !important;
    transform: translateX(-6px) !important;
    align-self: flex-start !important;
}

body.public-front .trial-modal-form {
    padding: 22px 22px 34px !important;
    gap: 6px !important;
}

body.public-front .trial-submit {
    height: 38px !important;
    min-height: 38px !important;
    margin-top: 0 !important;
}

body.public-front .trial-footnote {
    margin: 1px 0 0 !important;
    line-height: 1.18 !important;
    font-size: 9px !important;
    max-width: 96% !important;
}

body.public-front .trial-terms {
    display: flex !important;
    flex-direction: row-reverse !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    margin: 2px 0 0 !important;
}

body.public-front .trial-terms input {
    margin: 0 !important;
}

body.public-front .trial-terms span {
    line-height: 1 !important;
}

body.public-front .trial-modal-form label.trial-terms {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 100% !important;
    margin: 2px 0 0 !important;
}

body.public-front .trial-modal-form label.trial-terms span {
    order: 1 !important;
}

body.public-front .trial-modal-form label.trial-terms input {
    order: 2 !important;
    width: 13px !important;
    min-width: 13px !important;
    height: 13px !important;
    min-height: 13px !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Final brand lockup: same FitCore logo/name treatment on every public page and super-admin. */
body.public-front .brand.brand-platform-lockup,
body[data-panel="super-admin"] .admin-logo.admin-logo-platform-lockup {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    min-width: 0 !important;
    width: auto !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
}

body.public-front .brand.brand-platform-lockup > .brand-mark,
body[data-panel="super-admin"] .admin-logo.admin-logo-platform-lockup > .brand-mark {
    box-sizing: border-box !important;
    display: block !important;
    width: 220px !important;
    min-width: 220px !important;
    max-width: 220px !important;
    height: 50px !important;
    min-height: 50px !important;
    max-height: 50px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
}

body.public-front .brand.brand-platform-lockup > .brand-mark img,
body[data-panel="super-admin"] .admin-logo.admin-logo-platform-lockup > .brand-mark img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: left center !important;
    transform: none !important;
    filter: none !important;
}

body.public-front .brand.brand-platform-lockup > .brand-text,
body[data-panel="super-admin"] .admin-logo.admin-logo-platform-lockup > .brand-text {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

body.public-front .page-shell > .navbar {
    min-height: 82px !important;
    padding: 10px 0 !important;
}

body.public-front .nav-inner {
    min-height: 62px !important;
    align-items: center !important;
}

body[data-panel="super-admin"] .admin-sidebar .admin-logo.admin-logo-platform-lockup {
    width: 220px !important;
    min-height: 58px !important;
    margin: 0 0 26px !important;
}

body.sidebar-collapsed[data-panel="super-admin"] .admin-sidebar .admin-logo.admin-logo-platform-lockup {
    width: 56px !important;
    justify-content: center !important;
}

body.sidebar-collapsed[data-panel="super-admin"] .admin-sidebar .admin-logo.admin-logo-platform-lockup > .brand-mark {
    width: 48px !important;
    min-width: 48px !important;
    height: 48px !important;
}

/* Login page brand lockup: use the same FitCore logo/name artwork as the public header. */
body.auth-front .brand.brand-platform-lockup {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    width: auto !important;
    min-width: 0 !important;
}

body.auth-front .brand.brand-platform-lockup > .brand-mark,
body.auth-front .login-brand.login-brand-lockup > .brand-mark {
    box-sizing: border-box !important;
    display: block !important;
    width: 220px !important;
    min-width: 220px !important;
    max-width: 220px !important;
    height: 50px !important;
    min-height: 50px !important;
    max-height: 50px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
}

body.auth-front .brand.brand-platform-lockup > .brand-mark img,
body.auth-front .login-brand.login-brand-lockup > .brand-mark img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: left center !important;
    transform: none !important;
    filter: none !important;
}

body.auth-front .brand.brand-platform-lockup > .brand-text,
body.auth-front .login-brand.login-brand-lockup > span:not(.brand-mark) {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

body.auth-front .login-brand.login-brand-lockup {
    display: inline-flex !important;
    align-items: center !important;
    width: 220px !important;
    min-width: 220px !important;
    height: 50px !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
}

/* Trial modal bottom containment: keep terms, CTA, and note inside the white form card. */
body.public-front .trial-modal-shell {
    max-height: min(92vh, 760px) !important;
    overflow: hidden !important;
}

body.public-front .trial-modal-form {
    box-sizing: border-box !important;
    padding: 18px 22px 18px !important;
    gap: 5px !important;
    overflow: hidden !important;
}

body.public-front .trial-modal-form label.trial-terms,
body.public-front .trial-terms {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 100% !important;
    min-height: 17px !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.public-front .trial-modal-form label.trial-terms span {
    order: 1 !important;
    line-height: 1 !important;
    font-size: 10px !important;
}

body.public-front .trial-modal-form label.trial-terms input {
    order: 2 !important;
    width: 13px !important;
    min-width: 13px !important;
    max-width: 13px !important;
    height: 13px !important;
    min-height: 13px !important;
    max-height: 13px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 3px !important;
}

body.public-front .trial-submit {
    width: min(100%, 744px) !important;
    height: 36px !important;
    min-height: 36px !important;
    margin: 2px auto 0 !important;
    padding: 0 18px !important;
    border-radius: 999px !important;
}

body.public-front .trial-footnote {
    display: block !important;
    box-sizing: border-box !important;
    width: min(100%, 744px) !important;
    max-width: 744px !important;
    margin: 4px auto 0 !important;
    padding: 0 !important;
    color: #64748b !important;
    -webkit-text-fill-color: #64748b !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
    text-align: left !important;
    overflow-wrap: anywhere !important;
}

/* Final CTA: add trial action before Get Started without making the button stack bulky. */
body.public-front .saas-home .final-cta-action {
    gap: 8px !important;
}

body.public-front .saas-home .final-cta-action .final-cta-button {
    width: 176px !important;
    min-width: 176px !important;
    max-width: 176px !important;
    min-height: 42px !important;
    height: 42px !important;
    padding: 0 16px !important;
    border-radius: 14px !important;
    justify-content: center !important;
    font-size: 13px !important;
    line-height: 1 !important;
}

body.public-front .saas-home .final-cta-trial-button {
    background: linear-gradient(135deg, #0f766e 0%, #0d9488 100%) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    box-shadow: 0 16px 28px rgba(15, 118, 110, .18) !important;
}

body.public-front .saas-home .final-cta-secondary-button {
    background: rgba(255, 255, 255, .92) !important;
    border-color: rgba(15, 118, 110, .14) !important;
    color: #0f766e !important;
    -webkit-text-fill-color: #0f766e !important;
    box-shadow: 0 12px 22px rgba(15, 23, 42, .055) !important;
}

body.public-front .saas-home .final-cta-secondary-button:hover {
    background: #f0fdfa !important;
    border-color: rgba(15, 118, 110, .22) !important;
}

@media (max-width: 760px) {
    body.public-front .saas-home .final-cta-action,
    body.public-front .saas-home .final-cta-action .final-cta-button {
        width: 100% !important;
        max-width: none !important;
    }
}

/* Public plans page: real database-backed plan empty state. */
.public-plans-page .public-plans-empty-state {
    display: grid !important;
    place-items: center !important;
    gap: 10px !important;
    min-height: 260px !important;
    padding: 34px 24px !important;
    text-align: center !important;
}

.public-plans-page .public-plans-empty-state > i {
    display: inline-grid !important;
    place-items: center !important;
    width: 48px !important;
    height: 48px !important;
    border-radius: 16px !important;
    background: #ecfdf5 !important;
    color: #0f766e !important;
    font-size: 22px !important;
}

.public-plans-page .public-plans-empty-state h3 {
    margin: 0 !important;
    font-size: 24px !important;
}

.public-plans-page .public-plans-empty-state p {
    max-width: 520px !important;
    margin: 0 0 8px !important;
}

/* Super Admin account visiting: polished selector inside the profile menu. */
body[data-panel="super-admin"] .super-admin-topbar .profile-menu {
    width: 348px !important;
    max-width: calc(100vw - 28px) !important;
}

.profile-menu-section-title {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 4px 0 8px !important;
    color: #0f766e !important;
    font-size: 11px !important;
    font-weight: 950 !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
}

.super-admin-visit-account {
    margin: 8px 0 !important;
    padding: 12px !important;
    border: 1px solid rgba(15, 118, 110, .12) !important;
    border-radius: 16px !important;
    background: linear-gradient(135deg, rgba(240, 253, 250, .9), rgba(255, 255, 255, .96)) !important;
}

.super-admin-visit-account form {
    display: grid !important;
    gap: 8px !important;
}

.super-admin-visit-account select {
    width: 100% !important;
    min-height: 40px !important;
    padding: 0 12px !important;
    border: 1px solid rgba(15, 23, 42, .12) !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    color: #0f172a !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    outline: none !important;
}

.super-admin-visit-account select:focus {
    border-color: rgba(15, 118, 110, .42) !important;
    box-shadow: 0 0 0 4px rgba(15, 118, 110, .10) !important;
}

.super-admin-visit-account button,
.profile-menu .impersonation-return-button {
    justify-content: center !important;
    min-height: 38px !important;
    border-radius: 12px !important;
    background: #0f766e !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-size: 12px !important;
    font-weight: 950 !important;
}

.super-admin-visit-account button:hover,
.profile-menu .impersonation-return-button:hover {
    background: #115e59 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

.super-admin-visit-account small,
.impersonation-menu-note small {
    display: block !important;
    color: #64748b !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
}

.impersonation-menu-note {
    margin: 8px 0 !important;
    padding: 10px 12px !important;
    border: 1px solid rgba(15, 118, 110, .14) !important;
    border-radius: 14px !important;
    background: rgba(240, 253, 250, .86) !important;
}

.impersonation-menu-note span {
    display: block !important;
    color: #0f766e !important;
    font-size: 12px !important;
    font-weight: 950 !important;
}

/* Professional Super Admin account visit flow: dropdown opens a proper selection modal. */
body[data-panel="super-admin"] .super-admin-topbar .profile-menu {
    width: 318px !important;
    max-width: calc(100vw - 28px) !important;
}

.profile-menu .profile-menu-visit-action {
    width: 100% !important;
    justify-content: flex-start !important;
    background: transparent !important;
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
}

.profile-menu .profile-menu-visit-action:hover {
    color: #0f766e !important;
    -webkit-text-fill-color: #0f766e !important;
    background: rgba(15, 118, 110, .06) !important;
}

.admin-visit-dialog {
    width: min(92vw, 620px) !important;
    max-width: calc(100vw - 48px) !important;
    max-height: calc(100dvh - 48px) !important;
    margin: auto !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 22px !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: hidden !important;
    z-index: 10000 !important;
}

.admin-visit-dialog,
.admin-visit-dialog * {
    box-sizing: border-box !important;
}

.admin-visit-dialog::backdrop {
    background: rgba(15, 23, 42, .58) !important;
    backdrop-filter: blur(14px) !important;
}

.admin-visit-panel {
    position: relative !important;
    max-height: calc(100dvh - 48px) !important;
    overflow: hidden !important;
    isolation: isolate !important;
    border-radius: 22px !important;
    background:
        linear-gradient(145deg, #ffffff 0%, #fbfffd 56%, #f4fffd 100%) !important;
    border: 1px solid rgba(15, 118, 110, .14) !important;
    box-shadow: 0 24px 70px rgba(15, 23, 42, .24) !important;
}

.admin-visit-panel::before,
.admin-visit-panel::after {
    display: none !important;
    content: none !important;
}

.admin-visit-close {
    position: absolute !important;
    top: 14px !important;
    right: 14px !important;
    z-index: 2 !important;
    width: 34px !important;
    height: 34px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(15, 23, 42, .08) !important;
    background: rgba(255, 255, 255, .94) !important;
    color: #0f172a !important;
    font-size: 22px !important;
    line-height: 1 !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .10) !important;
}

.admin-visit-head {
    padding: 22px 64px 14px 24px !important;
    border-bottom: 1px solid rgba(15, 118, 110, .10) !important;
}

.admin-visit-head span {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    min-height: 26px !important;
    padding: 5px 10px !important;
    border-radius: 999px !important;
    background: #f0fdfa !important;
    border: 1px solid rgba(15, 118, 110, .13) !important;
    color: #0f766e !important;
    font-size: 10px !important;
    font-weight: 950 !important;
    text-transform: uppercase !important;
    letter-spacing: .04em !important;
}

.admin-visit-head h3 {
    margin: 10px 0 4px !important;
    font-size: 23px !important;
    line-height: 1.08 !important;
    letter-spacing: -.03em !important;
}

.admin-visit-head p {
    margin: 0 !important;
    color: #64748b !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
}

.admin-visit-form {
    padding: 16px 24px 20px !important;
    overflow: hidden !important;
}

.admin-visit-search {
    position: relative !important;
    margin-bottom: 12px !important;
}

.admin-visit-search i {
    position: absolute !important;
    left: 13px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: #64748b !important;
}

.admin-visit-search input {
    width: 100% !important;
    min-height: 38px !important;
    padding: 0 14px 0 36px !important;
    border-radius: 13px !important;
    border: 1px solid rgba(15, 23, 42, .10) !important;
    background: #ffffff !important;
    color: #0f172a !important;
    font-size: 12px !important;
    font-weight: 750 !important;
    outline: none !important;
}

.admin-visit-search input:focus {
    border-color: rgba(15, 118, 110, .38) !important;
    box-shadow: 0 0 0 4px rgba(15, 118, 110, .10) !important;
}

.admin-visit-list {
    display: grid !important;
    gap: 8px !important;
    max-height: min(42dvh, 240px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding-right: 2px !important;
    scrollbar-width: thin !important;
    scrollbar-color: rgba(15, 118, 110, .30) transparent !important;
}

.admin-visit-list::-webkit-scrollbar {
    width: 6px !important;
}

.admin-visit-list::-webkit-scrollbar-thumb {
    background: rgba(15, 118, 110, .28) !important;
    border-radius: 999px !important;
}

.admin-visit-card {
    cursor: pointer !important;
    display: grid !important;
    grid-template-columns: 36px minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    min-height: 62px !important;
    padding: 9px 10px !important;
    border-radius: 15px !important;
    border: 1px solid rgba(15, 23, 42, .09) !important;
    background: rgba(255, 255, 255, .88) !important;
    color: inherit !important;
    font: inherit !important;
    text-align: left !important;
    -webkit-text-fill-color: initial !important;
    transition: transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease !important;
}

.admin-visit-card:hover,
.admin-visit-card:focus-visible {
    transform: translateY(-1px) !important;
    border-color: rgba(15, 118, 110, .28) !important;
    background: #f0fdfa !important;
    box-shadow: 0 12px 24px rgba(15, 118, 110, .10) !important;
    outline: none !important;
}

.admin-visit-avatar {
    display: inline-grid !important;
    place-items: center !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 12px !important;
    background: linear-gradient(135deg, #0f766e, #14b8a6) !important;
    color: #ffffff !important;
    font-size: 15px !important;
    font-weight: 950 !important;
}

.admin-visit-card-copy {
    min-width: 0 !important;
}

.admin-visit-card-copy strong,
.admin-visit-card-copy small,
.admin-visit-card-copy em {
    display: block !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.admin-visit-card-copy strong {
    color: #0f172a !important;
    font-size: 13px !important;
    font-weight: 950 !important;
}

.admin-visit-card-copy small {
    color: #0f766e !important;
    font-size: 11px !important;
    font-weight: 850 !important;
}

.admin-visit-card-copy em {
    color: #64748b !important;
    font-size: 10.5px !important;
    font-style: normal !important;
}

.admin-visit-status {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    padding: 5px 8px !important;
    border-radius: 999px !important;
    background: rgba(15, 118, 110, .10) !important;
    color: #0f766e !important;
    font-size: 9px !important;
    font-weight: 950 !important;
    text-transform: uppercase !important;
}

.admin-visit-actions {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 10px !important;
    margin-top: 12px !important;
}

.admin-visit-hint {
    color: #64748b !important;
    font-size: 11px !important;
    font-weight: 750 !important;
}

.admin-visit-actions .btn {
    min-height: 34px !important;
    border-radius: 12px !important;
    padding: 0 14px !important;
    font-size: 12px !important;
}

.admin-visit-empty {
    display: grid !important;
    place-items: center !important;
    gap: 8px !important;
    padding: 28px 24px !important;
    text-align: center !important;
}

.admin-visit-empty i {
    display: inline-grid !important;
    place-items: center !important;
    width: 44px !important;
    height: 44px !important;
    border-radius: 15px !important;
    background: #f0fdfa !important;
    color: #0f766e !important;
    font-size: 20px !important;
}

@media (max-width: 640px) {
    .admin-visit-dialog {
        width: min(94vw, 520px) !important;
        max-width: calc(100vw - 24px) !important;
        max-height: calc(100dvh - 24px) !important;
    }

    .admin-visit-panel {
        max-height: calc(100dvh - 24px) !important;
        border-radius: 18px !important;
    }

    .admin-visit-head {
        padding: 18px 54px 12px 18px !important;
    }

    .admin-visit-form {
        padding: 14px 18px 18px !important;
    }

    .admin-visit-status {
        display: none !important;
    }

    .admin-visit-card {
        grid-template-columns: 34px minmax(0, 1fr) !important;
    }
}

/* Login page trial access link. */
body.auth-front .login-trial-access {
    margin-top: 14px !important;
    padding-top: 13px !important;
    border-top: 1px solid rgba(15, 118, 110, .10) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    flex-wrap: wrap !important;
    color: #64748b !important;
    font-size: 14px !important;
    font-weight: 650 !important;
    line-height: 1.35 !important;
    text-align: center !important;
}

body.auth-front .login-trial-access a {
    color: #0f766e !important;
    -webkit-text-fill-color: #0f766e !important;
    font-weight: 900 !important;
    text-decoration: none !important;
    position: relative !important;
}

body.auth-front .login-trial-access a::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: -3px !important;
    height: 2px !important;
    border-radius: 999px !important;
    background: linear-gradient(90deg, #0f766e, #14b8a6) !important;
    opacity: .55 !important;
    transform: scaleX(.72) !important;
    transform-origin: left center !important;
    transition: transform .18s ease, opacity .18s ease !important;
}

body.auth-front .login-trial-access a:hover,
body.auth-front .login-trial-access a:focus-visible {
    color: #0b5f59 !important;
    -webkit-text-fill-color: #0b5f59 !important;
}

body.auth-front .login-trial-access a:hover::after,
body.auth-front .login-trial-access a:focus-visible::after {
    transform: scaleX(1) !important;
    opacity: .9 !important;
}

/* Landing quick actions: secondary strip after the hero/product preview. */
body.public-front .saas-home > .hero-command-bar {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 16px !important;
    margin-top: 26px !important;
    margin-bottom: 14px !important;
}

body.public-front .saas-home > .hero-command-bar a {
    height: 100% !important;
}

@media (max-width: 980px) {
    body.public-front .saas-home > .hero-command-bar {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        margin-top: 24px !important;
        margin-bottom: 14px !important;
    }
}

@media (max-width: 620px) {
    body.public-front .saas-home > .hero-command-bar {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
        margin-top: 20px !important;
        margin-bottom: 12px !important;
    }
}

body.public-front .saas-home > .hero-command-bar + .metric-band {
    padding-top: 0 !important;
    padding-bottom: 34px !important;
}
/* Professional online renewal/payment verification workflow */
.tenant-renewal-page,
.member-payment-methods-card,
.gym-payment-settings-card,
.super-admin-payment-settings-section {
    --renewal-accent: #0f8276;
}

.tenant-payment-methods,
.member-payment-methods {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 12px;
    margin: 14px 0;
}

.tenant-payment-methods article,
.member-payment-methods article {
    border: 1px solid rgba(15, 130, 118, .16);
    background: linear-gradient(135deg, rgba(15, 130, 118, .08), rgba(255, 255, 255, .94));
    border-radius: 18px;
    padding: 14px 16px;
    box-shadow: 0 14px 34px rgba(15, 23, 42, .06);
}

.tenant-payment-methods article span,
.member-payment-methods article span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #0f8276;
    font-weight: 900;
    font-size: .78rem;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.tenant-payment-methods article strong,
.member-payment-methods article strong {
    display: block;
    margin-top: 8px;
    font-size: 1rem;
    color: #111827;
}

.tenant-payment-methods article small,
.member-payment-methods article small {
    display: block;
    margin-top: 4px;
    color: #64748b;
    line-height: 1.45;
}

.tenant-renewal-note,
.member-payment-note {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 12px 0 0;
    padding: 12px 14px;
    border-radius: 16px;
    background: rgba(15, 130, 118, .07);
    color: #475569;
    font-weight: 700;
}

.gym-payment-settings-card,
.super-admin-payment-settings-section {
    border: 1px solid rgba(15, 130, 118, .16);
    border-radius: 24px;
    padding: 18px;
    background: linear-gradient(135deg, rgba(240, 253, 250, .72), rgba(255, 255, 255, .96));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.85);
}

.platform-payment-settings-form {
    align-items: end;
}

.online-payment-settings-page {
    max-width: 1280px;
    margin-inline: auto;
}

.online-payment-settings-page .section-head {
    align-items: flex-start;
    gap: 18px;
}

.online-payment-settings-note {
    margin: 0 0 18px;
}

.online-payment-settings-form {
    margin-top: 0;
}

.online-payment-settings-actions {
    display: flex;
    justify-content: flex-end;
    padding-top: 2px;
}

@media (max-width: 640px) {
    .online-payment-settings-page .section-head {
        flex-direction: column;
    }

    .online-payment-settings-actions .btn {
        width: 100%;
        justify-content: center;
    }
}

.payment-proof-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 4px;
    color: #0f8276;
    font-weight: 900;
    text-decoration: none;
}

.payment-proof-link:hover {
    text-decoration: underline;
}

/* Member online-renewal flow: compact proof submission without changing dashboard spacing. */
.member-online-renewal-card {
    max-width: 1120px;
}

.member-payment-history-card {
    max-width: 1280px;
}

.member-payment-history-card .section-head {
    align-items: flex-end;
    margin-bottom: 16px;
}

.member-payment-history-card .section-head h3 {
    margin-bottom: 4px;
}

.member-payment-history-card .table-wrap {
    margin-top: 0;
}

/* Keep the member Payments submenu as compact and deliberate as the admin navigation. */
.member-sidebar .sidebar-menu > .admin-nav-toggle {
    width: 100%;
    min-height: 46px;
    padding: 0 14px;
    border: 1px solid transparent;
    border-radius: 13px;
    background: transparent;
    color: #475569;
    font-size: 15px;
    font-weight: 650;
    box-shadow: none;
    transform: none;
}

.member-sidebar .sidebar-menu > .admin-nav-toggle > span {
    gap: 12px;
}

.member-sidebar .sidebar-menu > .admin-nav-toggle .sidebar-menu-chevron {
    margin-left: auto;
    font-size: 11px;
    transition: transform .2s ease;
}

.member-sidebar .sidebar-menu > .admin-nav-toggle[aria-expanded="true"] .sidebar-menu-chevron {
    transform: rotate(180deg);
}

.member-sidebar .sidebar-menu > .admin-nav-toggle:hover,
.member-sidebar .sidebar-menu > .admin-nav-toggle.active {
    background: #EAF4F1;
    border-color: rgba(15, 118, 110, .16);
    color: #0F766E;
    font-weight: 700;
}

.member-sidebar .sidebar-menu > .admin-submenu {
    display: grid;
    gap: 0;
    margin: 2px 0 8px;
    padding: 0;
    border: 0;
    background: transparent;
}

.member-sidebar .sidebar-menu > .admin-submenu .sidebar-item {
    min-height: 38px;
    margin: 0;
    padding: 0 14px 0 32px;
    gap: 12px;
    border: 1px solid transparent;
    border-radius: 0;
    background: transparent;
    color: #64748b;
    box-shadow: none;
    font-size: 13px;
    font-weight: 650;
}

.member-sidebar .sidebar-menu > .admin-submenu .sidebar-item i {
    width: 12px;
    min-width: 12px;
    font-size: 0;
    color: inherit;
}

.member-sidebar .sidebar-menu > .admin-submenu .sidebar-item i::before {
    content: "\f285";
    font-family: "bootstrap-icons";
    font-size: 11px;
    font-weight: 700;
}

.member-sidebar .sidebar-menu > .admin-submenu .sidebar-item:hover,
.member-sidebar .sidebar-menu > .admin-submenu .sidebar-item.active {
    transform: none;
    background: #f1f5f9;
    border-color: transparent;
    color: #0f766e;
}

.member-online-renewal-card .section-head {
    margin-bottom: 14px;
}

.member-online-renewal-card .section-head h3 {
    margin-bottom: 4px;
}

.member-online-renewal-card .member-payment-methods {
    margin: 0 0 16px;
}

.member-online-renewal-form {
    margin: 0 !important;
}

.member-online-renewal-form .member-online-renewal-guidance {
    grid-column: 1 / -1;
    margin: 0;
}

.member-online-renewal-submit {
    justify-self: start;
    min-width: 210px !important;
}

.member-payment-note.is-pending {
    border-color: rgba(14, 116, 144, .22);
    background: linear-gradient(135deg, rgba(224, 242, 254, .8), rgba(255, 255, 255, .95));
    color: #0f4c5c;
}

@media (max-width: 640px) {
    .member-payment-history-card .section-head {
        align-items: stretch;
    }

    .member-payment-history-card .section-head .btn {
        width: 100%;
        justify-content: center;
    }

    .member-online-renewal-submit {
        width: 100% !important;
        max-width: none !important;
        justify-content: center;
    }
}

.payment-reject-box {
    position: relative;
}

.payment-reject-box summary {
    list-style: none;
    cursor: pointer;
}

.payment-reject-box summary::-webkit-details-marker {
    display: none;
}

.payment-reject-box form {
    position: absolute;
    right: 0;
    top: calc(100% + 8px);
    z-index: 30;
    width: min(320px, 82vw);
    padding: 12px;
    border: 1px solid rgba(220, 38, 38, .18);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 22px 50px rgba(15, 23, 42, .16);
}

.payment-reject-box textarea {
    width: 100%;
    min-height: 76px;
    resize: vertical;
    border: 1px solid rgba(15, 23, 42, .12);
    border-radius: 14px;
    padding: 10px 12px;
    margin-bottom: 10px;
    font: inherit;
}

.member-online-proof-fields {
    grid-column: 1 / -1;
    margin-top: 10px;
    padding: 14px;
    border: 1px dashed rgba(15, 130, 118, .28);
    border-radius: 18px;
    background: rgba(240, 253, 250, .62);
}

.member-online-proof-fields[hidden] {
    display: none !important;
}

.member-online-proof-fields .muted {
    margin: 8px 0 0;
    font-size: .88rem;
}

.status-online_pending,
.status-online_rejected {
    color: #0f8276;
}

/* Member online-payment review stays focused and never overflows the table. */
dialog.online-payment-reject-dialog {
    width: min(460px, calc(100vw - 32px));
    max-width: 460px;
    margin: auto;
    padding: 0;
    overflow: hidden;
    border: 1px solid #dce9e8;
    border-radius: 20px;
    color: #182238;
    background: #fff;
    box-shadow: 0 28px 74px rgba(15, 23, 42, .24);
}

dialog.online-payment-reject-dialog::backdrop {
    background: rgba(15, 23, 42, .42);
    backdrop-filter: blur(3px);
}

.online-payment-reject-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 20px 22px 16px;
    border-bottom: 1px solid #e6eeee;
    background: linear-gradient(112deg, #fff 0%, #f0fbfa 100%);
}

.online-payment-reject-head .kicker { margin: 0 0 6px; }
.online-payment-reject-head h3 { margin: 0; color: #172138; font-size: 20px; line-height: 1.2; }
.online-payment-reject-head p { margin: 6px 0 0; color: #65758a; font-size: 13px; line-height: 1.45; }
.online-payment-reject-head .icon-button { flex: 0 0 auto; width: 34px; min-width: 34px; height: 34px; min-height: 34px; }

.online-payment-reject-form {
    display: grid;
    gap: 9px;
    padding: 18px 22px 20px;
}

.online-payment-reject-form label {
    color: #495a70;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.online-payment-reject-form textarea {
    width: 100%;
    min-height: 94px;
    resize: vertical;
    border: 1px solid #dce6e5;
    border-radius: 12px;
    padding: 11px 12px;
    color: #172138;
    font: inherit;
    line-height: 1.45;
}

.online-payment-reject-form textarea:focus {
    outline: 0;
    border-color: #0f8d83;
    box-shadow: 0 0 0 4px rgba(15, 141, 131, .10);
}

.online-payment-reject-form .muted { margin: 0; font-size: 12px; line-height: 1.4; }

.online-payment-reject-actions {
    display: flex;
    justify-content: flex-end;
    gap: 9px;
    margin-top: 3px;
}

@media (max-width: 520px) {
    .online-payment-reject-head,
    .online-payment-reject-form { padding-right: 16px; padding-left: 16px; }
    .online-payment-reject-actions .btn { flex: 1 1 0; justify-content: center; }
}

@media (max-width: 760px) {
    .payment-reject-box form {
        left: 0;
        right: auto;
    }

    .tenant-payment-methods,
    .member-payment-methods {
        grid-template-columns: 1fr;
    }
}

/* Landing first-screen hero polish: premium type scale, rhythm, and balance only. */
body.public-front .saas-home .saas-hero-v2 {
    padding-top: clamp(18px, 2.8vw, 38px) !important;
    padding-bottom: clamp(28px, 4vw, 54px) !important;
}

body.public-front .saas-home .saas-hero-v2 .hero-grid-v2 {
    align-items: center !important;
    gap: clamp(34px, 4.2vw, 68px) !important;
}

body.public-front .saas-home .saas-hero-v2 .hero-message {
    gap: 0 !important;
    padding-top: 0 !important;
}

body.public-front .saas-home .saas-hero-v2 .hero-message .eyebrow {
    margin: 0 0 16px !important;
}

body.public-front .saas-home .saas-hero-v2 .hero-message h1 {
    max-width: 760px !important;
    margin: 0 0 18px !important;
    font-family: 'Inter', sans-serif !important;
    font-size: clamp(58px, 5.2vw, 82px) !important;
    line-height: 1.02 !important;
    letter-spacing: -0.04em !important;
    font-weight: 600 !important;
}

body.public-front .saas-home .saas-hero-v2 .hero-message h1 .hero-teal-line {
    color: #0f8276 !important;
    -webkit-text-fill-color: #0f8276 !important;
    background: none !important;
    text-shadow: none !important;
}

body.public-front .saas-home .saas-hero-v2 .hero-message p {
    max-width: 690px !important;
    margin: 0 0 24px !important;
    font-size: clamp(18px, 1.15vw, 20px) !important;
    line-height: 1.5 !important;
}

body.public-front .saas-home .saas-hero-v2 .hero-message .action-row {
    align-items: center !important;
    gap: 12px !important;
    margin-bottom: 24px !important;
}

body.public-front .saas-home .saas-hero-v2 .hero-message .action-row > .btn {
    min-height: 52px !important;
    height: 52px !important;
}

/* Hero secondary CTA: premium outline style without changing sizing/layout. */
body.public-front .saas-home .saas-hero-v2 .hero-message .hero-walkthrough-btn {
    background: #ffffff !important;
    color: #0f8276 !important;
    -webkit-text-fill-color: #0f8276 !important;
    border-color: rgba(15, 130, 118, .34) !important;
    box-shadow: 0 14px 30px rgba(15, 130, 118, .08), inset 0 1px 0 rgba(255, 255, 255, .92) !important;
}

body.public-front .saas-home .saas-hero-v2 .hero-message .hero-walkthrough-btn i {
    color: #0f8276 !important;
    -webkit-text-fill-color: #0f8276 !important;
}

body.public-front .saas-home .saas-hero-v2 .hero-message .hero-walkthrough-btn:hover {
    background: linear-gradient(135deg, rgba(240, 253, 250, .98), rgba(255, 255, 255, 1)) !important;
    border-color: rgba(15, 130, 118, .52) !important;
    color: #0b6f65 !important;
    -webkit-text-fill-color: #0b6f65 !important;
    box-shadow: 0 18px 38px rgba(15, 130, 118, .13), inset 0 1px 0 rgba(255, 255, 255, .96) !important;
}

body.public-front .saas-home .saas-hero-v2 .hero-message .hero-walkthrough-btn:hover i {
    color: #0b6f65 !important;
    -webkit-text-fill-color: #0b6f65 !important;
}

@media (max-width: 1180px) {
    body.public-front .saas-home .saas-hero-v2 .hero-message h1 {
        font-size: clamp(50px, 6vw, 66px) !important;
        line-height: 1.02 !important;
        letter-spacing: -0.04em !important;
    }

    body.public-front .saas-home .saas-hero-v2 .hero-message p {
        font-size: 17px !important;
        max-width: 620px !important;
    }
}

@media (max-width: 720px) {
    body.public-front .saas-home .saas-hero-v2 {
        padding-top: 24px !important;
        padding-bottom: 34px !important;
    }

    body.public-front .saas-home .saas-hero-v2 .hero-message .eyebrow {
        margin-bottom: 12px !important;
    }

    body.public-front .saas-home .saas-hero-v2 .hero-message h1 {
        font-size: clamp(40px, 10.5vw, 52px) !important;
        line-height: 1.03 !important;
        letter-spacing: -0.035em !important;
        margin-bottom: 14px !important;
    }

    body.public-front .saas-home .saas-hero-v2 .hero-message p {
        font-size: 16px !important;
        line-height: 1.48 !important;
        margin-bottom: 18px !important;
    }

    body.public-front .saas-home .saas-hero-v2 .hero-message .action-row {
        gap: 10px !important;
        margin-bottom: 18px !important;
    }
}

/* Login page outer balance: use the available desktop width so the right side is not empty. */
@media (min-width: 1180px) {
    body.auth-front .login-shell {
        width: min(100% - 96px, 1580px) !important;
        grid-template-columns: minmax(0, 1fr) minmax(460px, 540px) !important;
        gap: 24px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    body.auth-front .login-preview,
    body.auth-front .login-panel {
        min-width: 0 !important;
    }
}

/* Wide login screens: keep the left showcase steady and use the empty right side cleanly. */
@media (min-width: 1500px) {
    body.auth-front .login-shell {
        width: auto !important;
        max-width: none !important;
        margin-left: clamp(56px, 3.6vw, 72px) !important;
        margin-right: clamp(56px, 3.6vw, 72px) !important;
        grid-template-columns: minmax(760px, 920px) minmax(560px, 700px) !important;
        justify-content: space-between !important;
        gap: 24px !important;
    }

    body.auth-front .login-panel {
        width: 100% !important;
        justify-self: stretch !important;
        transform: none !important;
    }

    body.auth-front .login-panel .login-card {
        width: 100% !important;
    }
}

/* Final login desktop alignment: keep left steady, pin the right card to the page edge. */
@media (min-width: 1100px) {
    body.auth-front .login-screen .login-shell {
        width: auto !important;
        max-width: none !important;
        margin-left: clamp(48px, 3.6vw, 72px) !important;
        margin-right: clamp(48px, 3.6vw, 72px) !important;
        grid-template-columns: minmax(0, 920px) minmax(520px, 640px) !important;
        justify-content: space-between !important;
        gap: 20px !important;
    }

    body.auth-front .login-screen .login-preview {
        width: 100% !important;
        max-width: 920px !important;
        justify-self: start !important;
    }

    body.auth-front .login-screen .login-panel {
        width: 100% !important;
        max-width: 640px !important;
        justify-self: end !important;
    }

    body.auth-front .login-screen .login-panel .login-card {
        width: 100% !important;
        max-width: 640px !important;
    }
}

/* Login final width swap: wider showcase on left, slimmer login card on right. */
@media (min-width: 1100px) {
    body.auth-front .login-screen .login-shell {
        width: min(100% - 128px, 1760px) !important;
        max-width: 1760px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        grid-template-columns: minmax(760px, 1fr) minmax(500px, 620px) !important;
        gap: 30px !important;
        justify-content: center !important;
        align-items: stretch !important;
    }

    body.auth-front .login-screen .login-preview {
        width: 100% !important;
        max-width: none !important;
        justify-self: stretch !important;
    }

    body.auth-front .login-screen .login-panel {
        width: 100% !important;
        max-width: 620px !important;
        justify-self: end !important;
    }

    body.auth-front .login-screen .login-panel .login-card {
        width: 100% !important;
        max-width: 620px !important;
        box-sizing: border-box !important;
    }
}

@media (min-width: 1100px) and (max-width: 1390px) {
    body.auth-front .login-screen .login-shell {
        width: min(100% - 56px, 1280px) !important;
        grid-template-columns: minmax(0, 1fr) minmax(420px, 500px) !important;
        gap: 22px !important;
    }
}

/* Login inputs: remove browser autofill/active blue fill inside fields. */
body.auth-front .login-card .auth-input-wrap,
body.auth-front .login-card .auth-input-wrap:focus-within {
    background: #ffffff !important;
}

body.auth-front .login-card .auth-input-wrap input,
body.auth-front .login-card .auth-input-wrap input:focus {
    background: transparent !important;
    box-shadow: none !important;
    outline: 0 !important;
}

body.auth-front .login-card .auth-input-wrap input:-webkit-autofill,
body.auth-front .login-card .auth-input-wrap input:-webkit-autofill:hover,
body.auth-front .login-card .auth-input-wrap input:-webkit-autofill:focus,
body.auth-front .login-card .auth-input-wrap input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 1000px #ffffff inset !important;
    box-shadow: 0 0 0 1000px #ffffff inset !important;
    -webkit-text-fill-color: #111827 !important;
    caret-color: #111827 !important;
    transition: background-color 9999s ease-out 0s !important;
}

/* Login form fields: premium centered width while preserving existing input styling. */
body.auth-front .login-card .login-fields-container {
    width: 100% !important;
    max-width: 560px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: grid !important;
    gap: 7px !important;
}

body.auth-front .login-card .login-fields-container .field,
body.auth-front .login-card .login-fields-container .auth-input-wrap,
body.auth-front .login-card .login-fields-container input {
    width: 100% !important;
    max-width: 100% !important;
}

/* Login preview polish: tighter rhythm, stronger heading, compact capability cards. */
body.auth-front .login-preview {
    gap: 12px !important;
}

body.auth-front .login-brand.login-brand-lockup {
    margin: 0 0 4px !important;
}

body.auth-front .login-preview-copy {
    margin: 0 !important;
    gap: 5px !important;
}

body.auth-front .login-preview-copy h1 {
    margin: 0 !important;
    line-height: 1.01 !important;
    letter-spacing: -0.035em !important;
}

body.auth-front .login-preview-copy p {
    margin: 0 !important;
}

body.auth-front .login-stat-strip {
    margin-top: 4px !important;
}

body.auth-front .login-trust-panel {
    margin-top: 0 !important;
    gap: 7px !important;
    padding: 9px !important;
}

body.auth-front .login-trust-panel div {
    min-height: 52px !important;
    padding: 8px 9px !important;
}

body.auth-front .login-trust-panel i {
    margin-bottom: 4px !important;
}

@media (min-width: 981px) {
    body.auth-front .login-preview-copy h1 {
        font-size: clamp(42px, 2.4vw, 46px) !important;
    }
}

@media (max-width: 980px) {
    body.auth-front .login-preview-copy h1 {
        font-size: clamp(30px, 7vw, 38px) !important;
        line-height: 1.04 !important;
    }
}

/* Member package selection: use a focused dialog so long member lists never
   expand a payment form into an unwieldy dropdown. */
.member-package-picker-native {
    display: none !important;
}

.member-package-picker-trigger {
    width: 100%;
    min-height: 48px;
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr);
    align-items: center;
    gap: 9px;
    padding: 7px 11px;
    border: 1px solid #b9dfda;
    border-radius: 14px;
    background: linear-gradient(135deg, #ffffff 0%, #f3fbfa 100%);
    color: #0d1d35;
    font: inherit;
    font-weight: 700;
    text-align: left;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    box-shadow: 0 6px 16px rgba(15, 89, 84, .06);
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}

.member-package-trigger-icon {
    display: grid;
    width: 32px;
    height: 32px;
    place-items: center;
    border-radius: 10px;
    background: #e5f5f2;
    color: #07877e;
    font-size: 17px;
}

.member-package-trigger-label {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.member-package-picker-trigger.placeholder {
    color: #50657b;
    font-weight: 700;
}

.member-package-picker-trigger:hover,
.member-package-picker-trigger:focus-visible {
    border-color: #75c9c2;
    background: #fff;
    box-shadow: 0 8px 20px rgba(15, 112, 105, .13), 0 0 0 4px rgba(19, 139, 129, .09);
    transform: translateY(-1px);
    outline: 0;
}

.member-package-picker-trigger.is-invalid {
    border-color: #dc5f62;
    box-shadow: 0 0 0 4px rgba(220, 95, 98, .10);
}

.member-package-picker-modal {
    width: min(680px, calc(100vw - 32px)) !important;
    max-width: 680px !important;
    max-height: min(720px, calc(100vh - 32px)) !important;
    display: none;
    overflow: hidden !important;
    padding: 0 !important;
    border: 1px solid #d7e8e6 !important;
    border-radius: 24px !important;
    background: #fff !important;
    color: #0d1d35;
    box-shadow: 0 24px 70px rgba(15, 35, 50, .24) !important;
}

.member-package-picker-modal[open] {
    display: flex;
    flex-direction: column;
}

.member-package-picker-modal::backdrop {
    background: rgba(8, 22, 36, .48) !important;
    backdrop-filter: blur(3px);
}

.member-package-picker-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 24px 26px 18px;
    border-bottom: 1px solid #e8efef;
    background: linear-gradient(115deg, #fff 0%, #f2fbfa 100%);
}

.member-package-picker-head .kicker {
    margin-bottom: 7px;
}

.member-package-picker-head h3 {
    margin: 0;
    color: #102039;
    font-size: 24px;
    line-height: 1.2;
}

.member-package-picker-head .muted {
    margin: 6px 0 0;
    font-size: 14px;
}

.member-package-picker-search {
    position: relative;
    isolation: isolate;
    margin: 18px 26px 12px;
}

.member-package-picker-search > i {
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 20px;
    transform: translateY(-50%);
    color: #607086;
    font-size: 19px;
    line-height: 1;
    pointer-events: none;
}

.member-package-picker-search input {
    width: 100%;
    min-height: 52px;
    box-sizing: border-box !important;
    padding: 0 18px 0 60px !important;
    border: 1px solid #dbe7e7;
    border-radius: 14px;
    background: #f8fbfb;
    color: #14233a;
    font: inherit;
    text-indent: 0 !important;
}

.member-package-picker-search input:focus {
    border-color: #64c5bd;
    background: #fff;
    box-shadow: 0 0 0 4px rgba(19, 139, 129, .10);
    outline: 0;
}

.member-package-picker-list {
    display: grid;
    gap: 8px;
    min-height: 116px;
    max-height: 360px;
    margin: 0 14px;
    padding: 0 12px 4px;
    overflow: auto;
    scrollbar-color: #12887f transparent;
}

.member-package-picker-option {
    width: 100%;
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) 14px;
    align-items: center;
    gap: 10px;
    min-height: 62px;
    padding: 12px 14px;
    border: 1px solid #e4eeee;
    border-radius: 14px;
    background: #fff;
    color: #17243a;
    font: inherit;
    font-weight: 700;
    line-height: 1.35;
    text-align: left;
    cursor: pointer;
    transition: transform .16s ease, border-color .16s ease, background-color .16s ease, box-shadow .16s ease;
}

.member-package-picker-option > i:first-child {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border-radius: 10px;
    background: #eaf7f5;
    color: #07877e;
}

.member-package-picker-option > i:last-child {
    justify-self: end;
    color: #6f8293;
    font-size: 13px;
}

.member-package-picker-option:hover,
.member-package-picker-option[aria-selected="true"] {
    border-color: #8bd5ce;
    background: #f5fcfb;
    box-shadow: 0 8px 18px rgba(15, 93, 88, .08);
    transform: translateY(-1px);
}

.member-package-picker-empty {
    display: grid;
    justify-items: center;
    gap: 6px;
    padding: 28px 18px;
    color: #64748b;
    text-align: center;
}

.member-package-picker-empty i {
    color: #138b81;
    font-size: 24px;
}

.member-package-picker-empty strong {
    color: #23334c;
}

.member-package-picker-empty span {
    font-size: 13px;
}

.member-package-picker-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 12px;
    padding: 16px 26px 20px;
    border-top: 1px solid #edf2f2;
    background: #fcfefe;
}

.member-package-picker-footer .muted {
    font-size: 13px;
}

.member-package-picker-footer .muted i {
    color: #07877e;
}

@media (max-width: 640px) {
    .member-package-picker-modal {
        width: calc(100vw - 20px) !important;
        max-height: calc(100vh - 20px) !important;
        border-radius: 20px !important;
    }

    .member-package-picker-head {
        padding: 20px 20px 16px;
    }

    .member-package-picker-head h3 {
        font-size: 21px;
    }

    .member-package-picker-search {
        margin: 16px 20px 10px;
    }

    .member-package-picker-list {
        max-height: 320px;
        margin: 0 8px;
        padding: 0 12px 4px;
    }

    .member-package-picker-footer {
        padding: 14px 20px 18px;
    }

    .member-package-picker-footer .muted {
        display: none;
    }
}

/* Keep payment collection and invoicing as two focused, non-overlapping workspaces. */
#payments.payments-workspace,
#invoices.invoices-workspace {
    padding: clamp(18px, 2vw, 28px) !important;
}

.payment-entry-card,
.invoice-create-card {
    margin: 18px 0 26px;
    padding: 18px;
    border: 1px solid #dbeae8;
    border-radius: 18px;
    background: linear-gradient(135deg, #fbfefd 0%, #f3fbfa 100%);
}

.payment-record-form,
.invoice-create-form {
    display: grid !important;
    align-items: end;
    gap: 12px !important;
    margin: 0 !important;
}

.payment-record-form {
    grid-template-columns: minmax(280px, 1.65fr) repeat(3, minmax(145px, .8fr)) auto;
}

.invoice-create-form {
    grid-template-columns: minmax(280px, 1.65fr) minmax(145px, .75fr) minmax(145px, .75fr) auto;
}

.payment-record-form .field,
.invoice-create-form .field {
    display: grid;
    gap: 6px;
    min-width: 0;
}

.payment-record-form .field label,
.invoice-create-form .field label {
    margin: 0;
    color: #53657b;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .045em;
    text-transform: uppercase;
}

.payment-record-form .field select,
.payment-record-form .field input,
.invoice-create-form .field select,
.invoice-create-form .field input {
    width: 100% !important;
    min-width: 0;
    min-height: 48px !important;
    margin: 0 !important;
}

.payment-record-form .member-package-picker-trigger,
.invoice-create-form .member-package-picker-trigger {
    min-height: 48px;
}

.payment-record-submit,
.invoice-create-submit {
    min-width: 154px;
    min-height: 48px !important;
    margin: 0 !important;
    white-space: nowrap;
}

.invoice-create-card {
    display: grid;
    gap: 16px;
    background: linear-gradient(135deg, #fbfefd 0%, #f0faf8 100%);
}

.invoice-create-copy {
    display: flex;
    align-items: center;
    gap: 11px;
}

.invoice-create-copy > i {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 12px;
    background: #dff3ef;
    color: #087f76;
    font-size: 18px;
}

.invoice-create-copy div {
    display: grid;
    gap: 2px;
}

.invoice-create-copy strong {
    color: #14233a;
    font-size: 15px;
}

.invoice-create-copy span {
    color: #60738a;
    font-size: 13px;
}

.payment-history-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 16px;
    margin: 0 0 12px;
}

.payment-history-filter {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 8px;
}

.payment-history-search {
    position: relative;
    width: min(320px, 100%);
}

.payment-history-search > i {
    position: absolute;
    top: 50%;
    left: 12px;
    z-index: 1;
    transform: translateY(-50%);
    color: #73839a;
    font-size: 14px;
    pointer-events: none;
}

.payment-history-search input {
    width: 100% !important;
    min-height: 40px !important;
    margin: 0 !important;
    padding: 9px 12px 9px 36px !important;
    border: 1px solid #d8e5e3 !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: #16243a;
    font-size: 13px !important;
    box-shadow: none !important;
}

.payment-history-search input::placeholder {
    color: #8492a5;
}

.payment-history-search input:focus {
    border-color: #69beb7 !important;
    box-shadow: 0 0 0 3px rgba(15, 135, 126, .10) !important;
    outline: 0;
}

.payment-history-filter .btn {
    min-height: 40px !important;
    padding: 8px 11px !important;
    font-size: 12px !important;
    white-space: nowrap;
}

.payment-filter-clear {
    color: #63738a !important;
}

.payment-history-pagination {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    padding-top: 14px;
}

.payment-page-link,
.payment-page-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 34px;
    color: #53647b;
    font-size: 12px;
    font-weight: 750;
}

.payment-page-link {
    padding: 7px 10px;
    border: 1px solid #dce8e6;
    border-radius: 9px;
    background: #fff;
    text-decoration: none;
    transition: color .18s ease, border-color .18s ease, background-color .18s ease;
}

.payment-page-link:hover {
    border-color: #90cec8;
    background: #f1fbf9;
    color: #087f76;
}

.payment-page-link.is-disabled {
    border-color: #edf1f1;
    background: #fafcfc;
    color: #a6b1bf;
    cursor: default;
}

.payment-page-status {
    padding: 0 2px;
    color: #718198;
}

#payments .payments-table th:nth-child(n),
#payments .payments-table td:nth-child(n) {
    width: auto !important;
}

#payments .payments-table th:nth-child(1),
#payments .payments-table td:nth-child(1) { width: 18% !important; }
#payments .payments-table th:nth-child(2),
#payments .payments-table td:nth-child(2) { width: 12% !important; }
#payments .payments-table th:nth-child(3),
#payments .payments-table td:nth-child(3) { width: 12% !important; }
#payments .payments-table th:nth-child(4),
#payments .payments-table td:nth-child(4) { width: 10% !important; white-space: nowrap !important; }
#payments .payments-table th:nth-child(5),
#payments .payments-table td:nth-child(5) { width: 12% !important; }
#payments .payments-table th:nth-child(6),
#payments .payments-table td:nth-child(6) { width: 11% !important; white-space: nowrap !important; }
#payments .payments-table th:nth-child(7),
#payments .payments-table td:nth-child(7) { width: 20% !important; }
#payments .payments-table th:nth-child(8),
#payments .payments-table td:nth-child(8) { width: 5% !important; }

#invoices .invoices-table {
    width: 100%;
    min-width: 880px;
}

#invoices .invoices-table th,
#invoices .invoices-table td {
    padding: 11px 12px;
    vertical-align: middle;
}

#invoices .invoices-table th {
    color: #50627a;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .045em;
    text-transform: uppercase;
}

#invoices .invoices-table th:nth-child(1),
#invoices .invoices-table td:nth-child(1) { width: 20%; }
#invoices .invoices-table th:nth-child(2),
#invoices .invoices-table td:nth-child(2) { width: 20%; }
#invoices .invoices-table th:nth-child(3),
#invoices .invoices-table td:nth-child(3) { width: 14%; }
#invoices .invoices-table th:nth-child(4),
#invoices .invoices-table td:nth-child(4) { width: 12%; white-space: nowrap; }
#invoices .invoices-table th:nth-child(5),
#invoices .invoices-table td:nth-child(5) { width: 12%; white-space: nowrap; }
#invoices .invoices-table th:nth-child(6),
#invoices .invoices-table td:nth-child(6) { width: 14%; }
#invoices .invoices-table th:nth-child(7),
#invoices .invoices-table td:nth-child(7) { width: 8%; text-align: right; }

#invoices .invoices-table tbody tr {
    transition: background-color .18s ease;
}

#invoices .invoices-table tbody tr:hover {
    background: rgba(15, 118, 110, .035);
}

#invoices .payment-icon-btn {
    width: 34px !important;
    min-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    padding: 0 !important;
    display: inline-grid !important;
    place-items: center;
    border-color: #bfe0dc !important;
    color: #087f76 !important;
}

/* Invoice navigation and action column: compact, aligned, and never wrapped. */
#payments.payments-workspace > .section-head.compact:first-child,
#invoices.invoices-workspace > .section-head.compact:first-child {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: start !important;
    gap: 16px !important;
}

#payments.payments-workspace .section-switch-link,
#invoices.invoices-workspace .section-switch-link {
    display: inline-flex !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 36px !important;
    align-items: center !important;
    justify-content: center !important;
    justify-self: end;
    gap: 6px;
    margin: 0 !important;
    padding: 7px 10px !important;
    border-color: #b9ded9 !important;
    border-radius: 9px !important;
    color: #087f76 !important;
    font-size: 12px !important;
    font-weight: 750 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

#payments.payments-workspace .section-switch-link:hover,
#invoices.invoices-workspace .section-switch-link:hover {
    background: #edf9f7 !important;
    border-color: #77c6bf !important;
}

#invoices .invoice-table-wrap {
    max-width: 100% !important;
    overflow-x: hidden !important;
}

#invoices .invoices-table {
    width: 100% !important;
    min-width: 0 !important;
    table-layout: fixed;
}

#invoices .invoices-table th,
#invoices .invoices-table td {
    min-width: 0 !important;
    overflow-wrap: anywhere;
}

#invoices .invoices-table th:last-child,
#invoices .invoices-table td:last-child {
    width: 76px !important;
    min-width: 76px !important;
    overflow: visible !important;
    overflow-wrap: normal !important;
    text-align: center !important;
    white-space: nowrap !important;
}

#invoices .invoices-table th:last-child {
    letter-spacing: .025em !important;
}

#invoices .invoices-table td:last-child .payment-icon-btn {
    display: inline-grid !important;
    margin: 0 auto !important;
}

@media (max-width: 1180px) {
    .payment-record-form,
    .invoice-create-form {
        grid-template-columns: minmax(240px, 1fr) repeat(2, minmax(150px, 1fr));
    }

    .payment-record-submit,
    .invoice-create-submit {
        grid-column: 1 / -1;
        justify-self: start;
    }
}

@media (max-width: 680px) {
    #payments.payments-workspace,
    #invoices.invoices-workspace {
        padding: 16px !important;
    }

    .payment-entry-card,
    .invoice-create-card {
        padding: 14px;
        border-radius: 16px;
    }

    .payment-record-form,
    .invoice-create-form {
        grid-template-columns: 1fr;
    }

    .payment-record-submit,
    .invoice-create-submit {
        width: 100%;
        grid-column: auto;
    }

    .invoice-create-copy span {
        font-size: 12px;
    }

    .payment-history-head {
        align-items: stretch;
        flex-direction: column;
        gap: 10px;
    }

    .payment-history-filter,
    .payment-history-search {
        width: 100%;
    }

    .payment-history-filter .btn {
        flex: 1 1 auto;
    }

    .payment-history-pagination {
        justify-content: space-between;
        gap: 6px;
    }

    .payment-page-status {
        display: none;
    }

    #payments.payments-workspace > .section-head.compact:first-child,
    #invoices.invoices-workspace > .section-head.compact:first-child {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }

    #payments.payments-workspace .section-switch-link,
    #invoices.invoices-workspace .section-switch-link {
        justify-self: start;
    }
}

/* Priority compact component layer: placed after legacy global dashboard rules. */
body .admin-main .trainer-profile-hero { padding: 20px !important; }
body .admin-main .trainer-profile-hero > .trainer-profile-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 18px !important;
    margin: 0 0 16px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
body .admin-main .trainer-profile-head > div:first-child {
    display: grid !important;
    grid-template-columns: 72px minmax(0, 1fr) !important;
    grid-template-areas: "avatar kicker" "avatar title" "avatar summary" !important;
    column-gap: 14px !important;
    row-gap: 3px !important;
    align-items: center !important;
}
body .admin-main .trainer-profile-head .avatar-xl {
    grid-area: avatar !important;
    width: 72px !important;
    height: 72px !important;
    margin: 0 !important;
    border-width: 2px !important;
    box-shadow: 0 8px 18px rgba(15, 23, 42, .09) !important;
}
body .admin-main .trainer-profile-head .kicker {
    grid-area: kicker !important;
    width: fit-content !important;
    min-height: 22px !important;
    margin: 0 !important;
    padding: 4px 9px !important;
    font-size: 9px !important;
    line-height: 1 !important;
}
body .admin-main .trainer-profile-head h2 {
    grid-area: title !important;
    margin: 0 !important;
    font-size: clamp(23px, 2vw, 30px) !important;
    line-height: 1.08 !important;
}
body .admin-main .trainer-profile-head p {
    grid-area: summary !important;
    margin: 0 !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
}
body .admin-main .trainer-profile-head .inline-actions { gap: 8px !important; justify-content: flex-end !important; }
body .admin-main .trainer-profile-head .inline-actions .btn {
    min-height: 36px !important;
    height: 36px !important;
    padding: 7px 11px !important;
    border-radius: 10px !important;
    font-size: 12px !important;
    white-space: nowrap !important;
}
body .admin-main .trainer-profile-hero .detail-grid { gap: 10px !important; }
body .admin-main .trainer-profile-hero .detail-grid > div { min-height: 70px !important; padding: 10px 12px !important; border-radius: 14px !important; }
body .admin-main .trainer-profile-hero .detail-grid span { font-size: 11px !important; line-height: 1.2 !important; }
body .admin-main .trainer-profile-hero .detail-grid strong { margin-top: 5px !important; font-size: clamp(15px, 1.3vw, 19px) !important; line-height: 1.15 !important; }

body .admin-main .trainer-assigned-members-head > .pill,
body .admin-main .admin-kpi-grid .kpi-meta {
    display: inline-flex !important;
    width: fit-content !important;
    min-width: 0 !important;
    min-height: 24px !important;
    margin: 0 !important;
    padding: 4px 9px !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid rgba(15, 118, 110, .13) !important;
    border-radius: 999px !important;
    background: rgba(15, 118, 110, .06) !important;
    color: #087f76 !important;
    font-size: 10px !important;
    font-weight: 750 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

body .member-package-picker-trigger {
    display: grid !important;
    width: 100% !important;
    min-height: 42px !important;
    grid-template-columns: 28px minmax(0, 1fr) !important;
    gap: 8px !important;
    padding: 6px 10px !important;
    border-radius: 11px !important;
    font-size: 13px !important;
    line-height: 1.15 !important;
}
body .member-package-trigger-icon { width: 28px !important; height: 28px !important; border-radius: 8px !important; font-size: 14px !important; }
body .member-package-trigger-label { min-width: 0 !important; overflow: hidden !important; text-overflow: ellipsis !important; line-height: 1.15 !important; }
body .payment-record-form .member-package-picker-trigger,
body .invoice-create-form .member-package-picker-trigger { min-height: 42px !important; }
body .payment-record-form .payment-record-submit {
    width: fit-content !important;
    min-width: 138px !important;
    min-height: 42px !important;
    height: 42px !important;
    justify-self: start !important;
    align-self: end !important;
    margin: 0 !important;
    padding: 0 14px !important;
    border-radius: 11px !important;
    font-size: 12px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

body .admin-main .admin-attendance-overview { padding: 18px !important; }
body .admin-main .admin-attendance-overview > .section-head {
    display: flex !important;
    align-items: center !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
body .admin-main .admin-attendance-overview > .section-head .kicker { min-height: 22px !important; margin: 0 0 6px !important; padding: 4px 9px !important; font-size: 9px !important; line-height: 1 !important; }
body .admin-main .admin-attendance-overview > .section-head h2 { margin: 0 !important; font-size: clamp(22px, 1.9vw, 28px) !important; line-height: 1.1 !important; }
body .admin-main .admin-attendance-overview > .section-head p { margin: 5px 0 0 !important; font-size: 13px !important; line-height: 1.35 !important; }
body .admin-main .admin-attendance-overview > .section-head .btn { min-height: 34px !important; height: 34px !important; padding: 6px 10px !important; border-radius: 10px !important; font-size: 11px !important; }
body .admin-main .admin-attendance-overview > .stat-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 10px !important; margin: 0 !important; }
body .admin-main .admin-attendance-overview > .stat-grid .dash-card { min-height: 88px !important; padding: 12px !important; border-radius: 14px !important; }
body .admin-main .admin-attendance-overview > .stat-grid .dash-card .muted { font-size: 12px !important; line-height: 1.2 !important; }
body .admin-main .admin-attendance-overview > .stat-grid .dash-card h3 { margin: 7px 0 0 !important; font-size: clamp(25px, 2vw, 32px) !important; line-height: 1 !important; }

@media (max-width: 900px) {
    body .admin-main .trainer-profile-hero > .trainer-profile-head { grid-template-columns: 1fr !important; align-items: start !important; }
    body .admin-main .trainer-profile-head .inline-actions { justify-content: flex-start !important; }
    body .admin-main .admin-attendance-overview > .stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 620px) {
    body .admin-main .trainer-profile-hero,
    body .admin-main .admin-attendance-overview { padding: 16px !important; }
    body .admin-main .trainer-profile-head > div:first-child { grid-template-columns: 58px minmax(0, 1fr) !important; column-gap: 11px !important; }
    body .admin-main .trainer-profile-head .avatar-xl { width: 58px !important; height: 58px !important; }
    body .admin-main .trainer-profile-head .inline-actions .btn { flex: 1 1 auto !important; }
    body .admin-main .trainer-profile-hero .detail-grid,
    body .admin-main .admin-attendance-overview > .stat-grid { grid-template-columns: 1fr 1fr !important; }
    body .admin-main .admin-attendance-overview > .section-head { align-items: flex-start !important; flex-direction: column !important; gap: 10px !important; }
    body .payment-record-form .payment-record-submit { width: 100% !important; }
}

/* Final payment table sizing after removing the inline edit column. */
#payments .payments-table th:nth-child(1),
#payments .payments-table td:nth-child(1) { width: 22% !important; }
#payments .payments-table th:nth-child(2),
#payments .payments-table td:nth-child(2) { width: 13% !important; }
#payments .payments-table th:nth-child(3),
#payments .payments-table td:nth-child(3) { width: 12% !important; }
#payments .payments-table th:nth-child(4),
#payments .payments-table td:nth-child(4) { width: 11% !important; }
#payments .payments-table th:nth-child(5),
#payments .payments-table td:nth-child(5) { width: 12% !important; }
#payments .payments-table th:nth-child(6),
#payments .payments-table td:nth-child(6) { width: 12% !important; }
#payments .payments-table th:nth-child(7),
#payments .payments-table td:nth-child(7) {
    width: 12% !important;
    min-width: 86px !important;
    text-align: center !important;
    white-space: nowrap !important;
}

#payments .payment-icon-btn,
#payments .payment-icon-btn.btn,
#payments .payment-actions button.payment-icon-btn {
    width: 34px !important;
    min-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    border-radius: 10px !important;
}

#payments .payment-edit-btn {
    border-color: #b7ded9 !important;
    background: #f7fcfb !important;
    color: #087f76 !important;
}

#payments .payment-edit-btn:hover {
    border-color: #67bdb6 !important;
    background: #e8f7f4 !important;
    color: #066f68 !important;
}
