:root {
    --ink: #12181f;
    --muted: #5d6872;
    --canvas: #f3f5f7;
    --surface: #ffffff;
    --line: #e4e8ec;
    --accent: #0f9f6e;
    --accent-strong: #0b7a54;
    --sidebar: #12181f;
    --radius: 18px;
    --shadow: 0 16px 40px rgba(18, 24, 31, 0.06);
    --input-bg: #ffffff;
    --header-bg: #f8fafb;
    --card-hover: #ffffff;
    --font: "Plus Jakarta Sans", "Nunito", sans-serif;
}

html.theme-dark {
    --ink: #e7eef5;
    --muted: #9aabba;
    --canvas: #0e141b;
    --surface: #18222c;
    --line: #2c3a48;
    --shadow: 0 16px 40px rgba(0, 0, 0, 0.35);
    --input-bg: #101820;
    --header-bg: #141d26;
    --card-hover: #1d2934;
}

html,
body {
    background: var(--canvas) !important;
    color: var(--ink);
    font-family: var(--font);
}

body.g-sidenav-show {
    background: var(--canvas) !important;
}

aside.sidenav {
    background: linear-gradient(180deg, #161d25 0%, #10161c 100%) !important;
    border-right: 1px solid rgba(255, 255, 255, 0.04);
    box-shadow: none !important;
}

aside.sidenav .sidenav-header {
    background: transparent !important;
    padding-top: 8px;
}

aside.sidenav .navbar-brand img {
    max-height: 58px;
    filter: drop-shadow(0 8px 16px rgba(0, 0, 0, 0.25));
}

aside.sidenav hr.horizontal {
    background: rgba(255, 255, 255, 0.08) !important;
    opacity: 1;
}

aside.sidenav .navbar-nav > .nav-item .nav-link {
    border-radius: 12px;
    margin: 4px 12px !important;
    padding: 0.7rem 0.85rem;
    color: rgba(255, 255, 255, 0.78) !important;
    transition: background 0.15s ease, color 0.15s ease;
}

aside.sidenav .navbar-nav > .nav-item .nav-link .material-icons,
aside.sidenav .navbar-nav > .nav-item .nav-link i {
    color: rgba(255, 255, 255, 0.72);
}

aside.sidenav .navbar-nav > .nav-item .nav-link:hover,
aside.sidenav .navbar-nav > .nav-item .nav-link.active,
aside.sidenav .nav-link.bg-danger,
aside.sidenav .nav-link.bg-gradient {
    background: rgba(15, 159, 110, 0.18) !important;
    box-shadow: inset 3px 0 0 var(--accent) !important;
    color: #fff !important;
}

aside.sidenav .sidenav-footer .btn,
aside.sidenav .btn.bg-gradient-success {
    background: var(--accent) !important;
    border: 0;
    border-radius: 12px;
    box-shadow: none !important;
    font-weight: 700;
    letter-spacing: 0;
}

main.main-content {
    background: transparent;
}

main nav[aria-label="breadcrumb"] h4,
main h1,
main h2,
main h3,
main .h1,
main .h2,
main .h3 {
    font-family: var(--font) !important;
    letter-spacing: -0.03em;
    color: var(--ink);
}

.card,
main .card.card-dashboard {
    background: var(--surface);
    border: 1px solid var(--line) !important;
    border-radius: var(--radius) !important;
    box-shadow: var(--shadow) !important;
}

.card.card-plain,
.card.card-plain .card-header,
.card.card-plain .card-body,
.card.card-plain .list-group-item {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.list-cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, 200px);
    gap: 16px;
    justify-content: start;
}

.list-cards .card-item {
    width: 200px;
    max-width: 200px;
    overflow: hidden;
    background: var(--surface);
    border: 1px solid #e8edf1 !important;
    border-radius: 22px !important;
    box-shadow: 0 8px 24px rgba(18, 24, 31, 0.04) !important;
    scale: 1;
    transition: transform 0.15s ease, background 0.15s ease;
}

.list-cards .card-item.is-soft {
    background: #f3faf6;
    border-color: #e3f3ea !important;
}

.list-cards .card-item:hover {
    transform: translateY(-2px);
    scale: 1;
    background: var(--card-hover);
}

.list-cards .card-item.is-soft:hover {
    background: #eaf6f0;
}

.list-cards .card-item .card-links {
    min-height: 168px;
    height: 100%;
    display: flex;
    padding: 22px 16px 18px;
}

.list-cards .card-item .card-container {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 0 !important;
    text-align: center;
}

.list-cards .card-item .card-icon {
    background: transparent !important;
    box-shadow: none !important;
    width: auto;
    height: auto;
    padding: 0;
    border-radius: 0;
}

.list-cards .card-item .card-icon i {
    color: #8b949e !important;
    font-size: 2rem;
    line-height: 1;
    opacity: 1;
}

.list-cards .card-item.is-soft .card-icon i {
    color: #2f9e62 !important;
}

.list-cards .card-item.is-accent .card-icon i {
    color: #14919b !important;
}

.list-cards .card-item .card-title {
    margin: 0;
    font-family: var(--font);
    font-size: 0.98rem;
    font-weight: 600;
    letter-spacing: -0.02em;
    line-height: 1.25;
    color: #3c4650;
}

.list-cards .card-pills {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px;
}

.list-cards .card-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    padding: 4px 12px;
    border-radius: 999px;
    background: #4e5964;
    color: #fff;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    line-height: 1.3;
    text-transform: uppercase;
}

.list-cards .card-item.is-soft .card-pill {
    background: #3cba7a;
    text-transform: none;
}

.list-cards .card-item.is-accent .card-pill {
    background: #14919b;
}

main .card.card-dashboard .card-footer {
    background: var(--ink) !important;
}

@media (max-width: 768px) {
    .list-cards {
        grid-template-columns: 1fr;
        justify-content: stretch;
    }

    .list-cards .card-item {
        width: 100%;
        max-width: none;
    }
}

.treino-hub {
    display: flex;
    flex-direction: column;
    gap: 28px;
}

.treino-hub-back {
    align-self: flex-start;
    margin-bottom: 0;
}

main a.back-button,
a.treino-hub-back,
a.btn-outline-success {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: fit-content;
    height: 44px;
    margin-bottom: 20px;
    padding: 0 18px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: var(--ink) !important;
    box-shadow: none !important;
    color: #fff !important;
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em;
    line-height: 1 !important;
    text-decoration: none;
    text-transform: uppercase;
}

main a.back-button:hover,
a.treino-hub-back:hover,
a.btn-outline-success:hover {
    background: #1c2630 !important;
    color: #fff !important;
}

.card-list-training {
    display: grid;
    grid-template-columns: repeat(auto-fill, 240px);
    gap: 16px;
    justify-content: start;
    margin-top: 0;
}

.card-list-training .card-training-item {
    width: 240px;
    max-width: 240px;
    background: #f3faf6;
    border: 1px solid #e3f3ea !important;
    border-radius: 22px !important;
    box-shadow: 0 8px 24px rgba(18, 24, 31, 0.04) !important;
    scale: 1;
    overflow: hidden;
    transition: transform 0.15s ease, background 0.15s ease;
}

.card-list-training .card-training-item:hover {
    transform: translateY(-2px);
    scale: 1;
    background: #eaf6f0;
}

.card-list-training .card-training-links {
    display: flex;
    min-height: 168px;
    height: 100%;
    padding: 22px 16px 18px;
    color: inherit;
    text-decoration: none;
}

.card-list-training .card-training-links:hover {
    color: inherit;
    text-decoration: none;
}

.card-list-training .card-training-container {
    display: grid;
    grid-template-rows: 28px 2.6em 2.8em;
    align-items: center;
    justify-items: center;
    align-content: center;
    gap: 12px;
    width: 100%;
    height: 100%;
    text-align: center;
}

.card-list-training .card-training-item .card-subtitle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 4px 12px;
    border-radius: 999px;
    background: #3cba7a;
    color: #fff;
    font-family: var(--font);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    line-height: 1.3;
    text-transform: uppercase;
}

.card-list-training .card-training-item .card-title {
    margin: 0;
    color: #3c4650;
    font-family: var(--font);
    font-size: 0.98rem;
    font-weight: 600;
    letter-spacing: -0.02em;
    line-height: 1.25;
}

.card-list-training .card-training-item .description {
    margin: 0;
    color: var(--muted);
    font-family: var(--font);
    font-size: 0.78rem;
    font-weight: 500;
    line-height: 1.35;
}

@media (max-width: 768px) {
    .card-list-training {
        grid-template-columns: 1fr;
        justify-content: stretch;
    }

    .treino-hub {
        gap: 20px;
    }

    .card-list-training .card-training-item {
        width: 100%;
        max-width: none;
    }
}

main .card.card-dashboard .card-header {
    background: var(--header-bg) !important;
    border-bottom: 1px solid var(--line);
}

main .card.card-dashboard .card-footer a {
    border-top: 0 !important;
    font-weight: 600;
}

.table {
    --bs-table-bg: transparent;
    color: var(--ink);
}

.table thead th {
    font-size: 0.75rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--muted) !important;
    border-bottom: 1px solid var(--line) !important;
    font-weight: 700;
}

.table td,
.table th {
    border-color: var(--line) !important;
    vertical-align: middle;
}

.form-control,
.form-select,
.select2-container--default .select2-selection--single {
    border: 1px solid #d5dbe1 !important;
    border-radius: 12px !important;
    min-height: 46px;
    box-shadow: none !important;
    background: var(--input-bg);
    color: var(--ink);
}

.form-control:focus,
.form-select:focus {
    border-color: var(--accent) !important;
    box-shadow: 0 0 0 4px rgba(15, 159, 110, 0.15) !important;
}

.btn {
    border-radius: 12px;
    font-weight: 700;
    letter-spacing: 0;
}

.btn-success,
.bg-gradient-success,
.btn.bg-gradient-primary {
    background: var(--accent) !important;
    border-color: var(--accent) !important;
}

.btn-success:hover,
.bg-gradient-success:hover {
    background: var(--accent-strong) !important;
}

.modal-content {
    border: 0 !important;
    border-radius: 20px !important;
    box-shadow: 0 24px 60px rgba(18, 24, 31, 0.18) !important;
}

.page-link,
.pagination .page-item .page-link,
.pagination .page-item span {
    color: var(--muted) !important;
    background-color: var(--surface) !important;
    background-image: none !important;
    border-color: var(--line) !important;
}

.page-link:hover,
.page-link:focus,
.pagination .page-item .page-link:hover,
.pagination .page-item .page-link:focus {
    color: var(--accent-strong) !important;
    background-color: #e8f7f1 !important;
    background-image: none !important;
    border-color: #b7e4d2 !important;
    box-shadow: 0 0 0 0.15rem rgba(15, 159, 110, 0.2);
}

.page-item.active .page-link,
.page-item.active .page-link:hover,
.page-item.active .page-link:focus,
.pagination .page-item.active > .page-link,
.pagination .page-item.active > .page-link:hover,
.pagination .page-item.active > .page-link:focus,
.pagination.pagination-primary .page-item.active > .page-link,
.pagination.pagination-primary .page-item.active > .page-link:hover,
.pagination.pagination-primary .page-item.active > .page-link:focus,
.pagination.pagination-secondary .page-item.active > .page-link,
.pagination.pagination-success .page-item.active > .page-link,
.pagination.pagination-info .page-item.active > .page-link,
.pagination.pagination-warning .page-item.active > .page-link,
.pagination.pagination-danger .page-item.active > .page-link,
.pagination.pagination-light .page-item.active > .page-link,
.pagination.pagination-dark .page-item.active > .page-link {
    color: #fff !important;
    background-color: var(--accent) !important;
    background-image: none !important;
    border-color: var(--accent) !important;
    box-shadow: none;
}

.page-item.disabled .page-link,
.pagination .page-item.disabled .page-link,
.pagination .page-item.disabled span {
    color: #9aa6b0 !important;
    background-color: var(--surface) !important;
    background-image: none !important;
    border-color: var(--line) !important;
    opacity: 1;
}

.avaliacao-resumo-topo {
    text-align: center;
    margin-bottom: 0.4rem;
}

.avaliacao-resumo-topo h3 {
    margin: 0;
    color: var(--ink);
    font-size: 1.45rem;
    font-weight: 700;
    letter-spacing: -0.03em;
    line-height: 1.2;
}

.avaliacao-resumo-topo p {
    margin: 0.3rem 0 0;
    color: var(--muted);
    font-size: 0.92rem;
    font-weight: 500;
}

.avaliacao-bloco {
    margin-top: 1.15rem;
}

.avaliacao-bloco h6 {
    margin: 0 0 0.35rem;
    color: var(--muted);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    line-height: 1.2;
    text-align: center;
    text-transform: uppercase;
}

.avaliacao-item {
    min-height: 4.4rem;
    padding: 0.7rem 0.4rem 0.55rem;
    text-align: center;
}

.avaliacao-item span {
    display: block;
    color: var(--muted);
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1.25;
}

.avaliacao-item strong {
    display: block;
    margin-top: 0.2rem;
    color: var(--ink);
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: -0.03em;
    line-height: 1.15;
}

.avaliacao-item small {
    margin-left: 0.15rem;
    color: var(--muted);
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0;
}

main .imc-gauge .rcq-gauge-track {
    background: linear-gradient(
        90deg,
        #42a5f5 0%,
        #42a5f5 14%,
        #43a047 14%,
        #43a047 40%,
        #fbc02d 40%,
        #fbc02d 60%,
        #fb8c00 60%,
        #fb8c00 80%,
        #e53935 80%,
        #e53935 100%
    );
}

main .imc-gauge .rcq-gauge-badge--under {
    background: #42a5f5;
}

.header-mobile {
    background: var(--sidebar);
    border-bottom: 0;
}

.divisao-lista {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    overflow: visible;
}

.divisao-card {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 16px;
    width: 240px;
    min-height: 168px;
    padding: 28px 20px 22px;
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    color: var(--ink);
    text-decoration: none;
    cursor: pointer;
}

.divisao-card:hover {
    color: var(--ink);
    transform: translateY(-2px);
}

.divisao-nome {
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: -0.02em;
}

.divisao-membros {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    width: 100%;
}

.divisao-membros span {
    display: inline-flex;
    align-items: center;
    padding: 5px 12px;
    border: 1px solid #b7e6cd;
    border-radius: 999px;
    background: #f3faf6;
    color: var(--accent-strong);
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1.2;
    text-transform: lowercase;
}

html.theme-dark .divisao-membros span {
    border-color: #1f6b4e;
    background: #143028;
    color: #7ddeb4;
}

.theme-toggle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 1px solid var(--line);
    background: var(--surface);
    color: var(--ink);
    border-radius: 999px;
    padding: 8px 14px;
    font-size: 0.85rem;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
}

.theme-toggle .material-icons {
    font-size: 1.1rem;
    color: var(--ink);
}

html.theme-dark .list-cards .card-item {
    border-color: var(--line) !important;
    box-shadow: none !important;
}

html.theme-dark .list-cards .card-item.is-soft {
    background: #173028;
    border-color: #24513f !important;
}

html.theme-dark .list-cards .card-item.is-soft:hover {
    background: #1c3830;
}

html.theme-dark .list-cards .card-item .card-title,
html.theme-dark .card-item .card-body h1,
html.theme-dark .card-item .card-body h3,
html.theme-dark .card-descripition,
html.theme-dark .text-dark,
html.theme-dark .dropdown-item,
html.theme-dark .modal-title,
html.theme-dark label,
html.theme-dark .form-label,
html.theme-dark .table,
html.theme-dark main nav[aria-label="breadcrumb"] h4 {
    color: var(--ink) !important;
}

html.theme-dark .dropdown-menu,
html.theme-dark .modal-content,
html.theme-dark .fixed-plugin .card,
html.theme-dark .list-group-item {
    background: var(--surface) !important;
    color: var(--ink);
    border-color: var(--line);
}

html.theme-dark .text-muted,
html.theme-dark .copyright,
html.theme-dark .card-descripition {
    color: var(--muted) !important;
}

html.theme-dark .table {
    --bs-table-bg: transparent;
    --bs-table-color: var(--ink);
    --bs-table-striped-color: var(--ink);
    --bs-table-hover-color: var(--ink);
}

html.theme-dark .modal-header,
html.theme-dark .modal-footer,
html.theme-dark hr.horizontal.dark {
    border-color: var(--line) !important;
}

html.theme-dark .card-list-training .card-training-item,
html.theme-dark .card-table-wrapper,
html.theme-dark .user-training-card,
html.theme-dark .section-training-cards .card.training-card,
html.theme-dark .section-training-cards .card.training-card .card-header,
html.theme-dark .filter-card-table input.form-control,
html.theme-dark .filter-card-table select {
    background: var(--surface) !important;
    color: var(--ink) !important;
    border-color: var(--line) !important;
    box-shadow: var(--shadow);
}

html.theme-dark .card-list-training .card-training-item {
    background: #173028 !important;
    border-color: #24513f !important;
}

html.theme-dark .card-list-training .card-training-item:hover,
html.theme-dark .user-training-card:hover {
    background: #1c3830 !important;
}

html.theme-dark .card-training-item .card-title,
html.theme-dark .card-training-item .description,
html.theme-dark .card-table-wrapper h2,
html.theme-dark .card-table-wrapper th,
html.theme-dark .card-table-wrapper td,
html.theme-dark .card-table-wrapper h6,
html.theme-dark .card-table-wrapper .table-title-mobile,
html.theme-dark .user-training-card h1,
html.theme-dark .user-training-card h3,
html.theme-dark .user-training-card h4,
html.theme-dark .user-training-card p,
html.theme-dark .card-table-wrapper .table,
html.theme-dark .card-table-wrapper .table > :not(caption) > * > * {
    color: var(--ink) !important;
    background-color: transparent;
    border-color: var(--line) !important;
}

html.theme-dark .card-training-item .card-subtitle {
    background: #3cba7a;
    color: #fff !important;
}

html.theme-dark .card-list-training .card-training-item .card-title {
    color: var(--ink) !important;
}

html.theme-dark .card-list-training .card-training-item .description {
    color: var(--muted) !important;
}

html.theme-dark main a.back-button,
html.theme-dark a.treino-hub-back,
html.theme-dark a.btn-outline-success {
    background: #101820 !important;
    border: 1px solid var(--line) !important;
    color: #fff !important;
}

html.theme-dark .page-link,
html.theme-dark .pagination .page-item .page-link,
html.theme-dark .pagination .page-item span,
html.theme-dark .card-table-wrapper .page-link {
    background: var(--header-bg) !important;
    color: var(--ink) !important;
    border-color: var(--line) !important;
}

html.theme-dark .page-link:hover,
html.theme-dark .page-link:focus,
html.theme-dark .pagination .page-item .page-link:hover,
html.theme-dark .pagination .page-item .page-link:focus {
    color: #7dcea0 !important;
    background: #14352c !important;
    border-color: #1f6b52 !important;
}

html.theme-dark .page-item.active .page-link,
html.theme-dark .page-item.active .page-link:hover,
html.theme-dark .page-item.active .page-link:focus,
html.theme-dark .pagination .page-item.active > .page-link,
html.theme-dark .card-table-wrapper .page-item.active .page-link {
    background: var(--accent) !important;
    color: #fff !important;
    border-color: var(--accent) !important;
}

html.theme-dark .card-user-list .card-user-item {
    background: var(--surface) !important;
    border-color: var(--line) !important;
    box-shadow: var(--shadow);
}

html.theme-dark .card-user-list .card-content h2,
html.theme-dark .card-user-list .card-icon i {
    color: var(--ink) !important;
}

html.theme-dark .card-user-list .card-descripition {
    background: #0b3d32;
}

html.theme-dark .card-user-list .card-descripition p {
    color: #fff !important;
}

.progress-page {
    display: grid;
    gap: 20px;
}

.progress-actions {
    display: flex;
    justify-content: flex-end;
}

.progress-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.progress-stat {
    padding: 22px 24px;
}

.progress-stat span {
    display: block;
    color: var(--muted);
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.progress-stat strong {
    display: block;
    margin-top: 6px;
    font-size: 2rem;
    letter-spacing: -0.04em;
    color: var(--ink);
}

.progress-stat em {
    font-style: normal;
    color: var(--accent);
}

.progress-panel {
    padding: 22px 24px 16px;
}

.progress-panel h4 {
    margin-bottom: 4px;
}

.progress-panel p {
    color: var(--muted);
    margin-bottom: 16px;
}

.progress-canvas {
    position: relative;
    height: 340px;
}

.progress-layout {
    display: grid;
    grid-template-columns: minmax(260px, 380px) minmax(0, 1fr);
    gap: 20px;
    align-items: start;
}

.progress-layout > * {
    min-width: 0;
}

.progress-layout .medidas {
    display: block;
}

.corpo-mapa {
    width: min(100%, 280px);
    height: auto;
    margin: 0 auto;
    display: block;
}

.corpo-mapa .corpo-contorno {
    fill: none;
    stroke: #8b98a5;
    stroke-width: 4;
    pointer-events: none;
}

.corpo-mapa .corpo-base {
    fill: #c5ced8;
    pointer-events: none;
}

.corpo-mapa .card-text {
    cursor: pointer;
    outline: none;
}

.corpo-mapa .card-text path,
.corpo-mapa .card-text rect {
    fill: #d7e0e8;
    stroke: var(--surface);
    stroke-width: 1.5;
    transition: fill 0.15s ease;
}

.corpo-mapa .card-text:hover path,
.corpo-mapa .card-text:hover rect,
.corpo-mapa .card-text.active path,
.corpo-mapa .card-text.active rect {
    fill: #0f9f6e;
}

html.theme-dark .corpo-mapa .corpo-contorno {
    stroke: #6d7d8c;
}

html.theme-dark .corpo-mapa .corpo-base {
    fill: #3a4a5a;
}

html.theme-dark .corpo-mapa .card-text path,
html.theme-dark .corpo-mapa .card-text rect,
body.dark-version .corpo-mapa .card-text path,
body.dark-version .corpo-mapa .card-text rect {
    fill: #3d5166 !important;
    stroke: #18222c !important;
}

html.theme-dark .corpo-mapa .card-text:hover path,
html.theme-dark .corpo-mapa .card-text:hover rect,
html.theme-dark .corpo-mapa .card-text.active path,
html.theme-dark .corpo-mapa .card-text.active rect,
body.dark-version .corpo-mapa .card-text:hover path,
body.dark-version .corpo-mapa .card-text:hover rect,
body.dark-version .corpo-mapa .card-text.active path,
body.dark-version .corpo-mapa .card-text.active rect {
    fill: #1dbe86 !important;
    stroke: #083526 !important;
}

.corpo-legenda {
    margin: 12px 0 0;
    text-align: center;
    color: var(--muted);
    font-weight: 600;
}

.progress-layout .medidas a.card-text {
    display: inline-flex;
    align-items: center;
    border: 1px solid var(--line);
    border-radius: 999px;
    padding: 8px 12px;
    color: var(--ink);
    background: var(--header-bg);
    text-decoration: none;
    font-weight: 600;
    font-size: 0.86rem;
}

.progress-layout .medidas a.card-text.active,
.progress-layout .medidas a.card-text:hover {
    background: var(--accent);
    border-color: var(--accent);
    color: #fff !important;
}

.progress-layout .chart-container,
.progress-layout .bar-chart {
    float: none !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
}

.composicao-panel .chart-container {
    max-width: 360px;
    margin: 16px auto 0 !important;
}

.composicao-canvas {
    position: relative;
    height: 280px;
    overflow: hidden;
}

.composicao-panel .bar-chart {
    margin-top: 16px !important;
}

.progress-layout .bar-chart > div:has(> canvas.d-none) {
    display: none;
}

.progress-layout .bar-chart > div:has(> canvas:not(.d-none)) {
    position: relative;
    height: 340px !important;
    overflow: hidden;
}

@media (max-width: 900px) {
    .progress-summary,
    .progress-layout {
        grid-template-columns: 1fr;
    }
}

.filter-card-table,
.card-header-tabs:has(.input-group) {
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: 18px !important;
    box-shadow: var(--shadow);
    padding: 12px !important;
    margin: 0 0 16px !important;
}

.filter-card-table .input-group,
.card-header-tabs .input-group {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin: 0 !important;
}

.filter-card-table .input-group > *,
.card-header-tabs .input-group > * {
    margin: 0 !important;
    float: none;
}

.filter-card-table .input-group input.form-control,
.filter-card-table .input-group select.form-control,
.filter-card-table .input-group select,
.card-header-tabs .input-group input.form-control,
.card-header-tabs .input-group select.form-control,
.card-header-tabs .input-group select {
    flex: 1 1 220px;
    width: auto !important;
    max-height: none !important;
    height: 44px !important;
    min-height: 44px;
    border: 1px solid #9dcea8 !important;
    border-radius: 999px !important;
    border-top-left-radius: 999px !important;
    border-top-right-radius: 999px !important;
    border-bottom-right-radius: 999px !important;
    border-bottom-left-radius: 999px !important;
    background: var(--input-bg) !important;
    color: var(--ink) !important;
    box-shadow: none !important;
}

.filter-card-table input[type="date"],
.card-header-tabs input[type="date"] {
    flex: 0 1 180px !important;
}

html.theme-dark .filter-card-table .input-group input.form-control,
html.theme-dark .filter-card-table .input-group select,
html.theme-dark .card-header-tabs .input-group input.form-control,
html.theme-dark .card-header-tabs .input-group select,
html.theme-dark .form-control,
html.theme-dark .form-select {
    color: #fff !important;
    -webkit-text-fill-color: #fff;
    caret-color: #fff;
    color-scheme: dark;
}

html.theme-dark .filter-card-table .input-group input.form-control::placeholder,
html.theme-dark .card-header-tabs .input-group input.form-control::placeholder,
html.theme-dark .form-control::placeholder {
    color: rgba(255, 255, 255, 0.72) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.72);
}

html.theme-dark input[type="date"]::-webkit-calendar-picker-indicator {
    filter: invert(1);
}

.filter-card-table a.btn-outline-success,
.card-header-tabs a.btn-outline-success,
.filter-card-table button.btn-success,
.card-header-tabs button.btn-success,
.filter-card-table a.btn-outline-secondary,
.card-header-tabs a.btn-outline-secondary {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto;
    height: 44px;
    margin: 0 !important;
    padding: 0 18px !important;
    border-radius: 999px !important;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-align: center !important;
    text-transform: uppercase;
    line-height: 1 !important;
    white-space: nowrap;
}

.filter-card-table a.btn-outline-success,
.card-header-tabs a.btn-outline-success {
    border: 0 !important;
    background: var(--ink) !important;
    color: #fff !important;
}

.filter-card-table a.btn-outline-secondary,
.card-header-tabs a.btn-outline-secondary {
    border: 1px solid #9dcea8 !important;
    background: #fff !important;
    color: var(--accent-strong) !important;
}

.card-table-wrapper,
.card:has(> .card-body .table-training),
.card:has(.table-responsive .table-training) {
    margin: 0 0 24px;
    padding: 8px 8px 18px;
    background: var(--surface) !important;
    border: 1px solid var(--line) !important;
    border-radius: 22px !important;
    box-shadow: var(--shadow) !important;
}

.card:has(.table-training) .card-header {
    background: transparent !important;
    box-shadow: none !important;
    padding: 16px 16px 0 !important;
    margin: 0 !important;
}

.card:has(.table-training) .bg-gradient-success {
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 4px 4px 0 !important;
}

.card:has(.table-training) .bg-gradient-success h6 {
    color: var(--ink) !important;
    font-size: 1.15rem !important;
    font-weight: 700 !important;
    letter-spacing: -0.03em;
    text-transform: none !important;
    padding-left: 0 !important;
}

.card-table-wrapper .card-table-header {
    align-items: center;
    gap: 12px;
    padding: 16px 16px 4px;
}

.card-table-wrapper .card-table-header h2 {
    color: var(--ink);
    font-size: 1.15rem;
    font-weight: 700;
    letter-spacing: -0.03em;
}

.card-table-wrapper .card-table-header a.btn,
.card:has(.table-training) .pull-right .btn {
    margin: 0;
    padding: 10px 18px !important;
    border-radius: 999px !important;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    line-height: 1;
}

.card-table-wrapper .card-table-body {
    margin-top: 8px;
}

.table-training {
    border-collapse: separate;
    border-spacing: 0;
    margin-bottom: 0 !important;
}

.table-training thead th {
    padding: 14px 16px !important;
    border: 0 !important;
    border-bottom: 1px solid var(--line) !important;
    background: transparent !important;
    color: var(--muted) !important;
    font-size: 0.68rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    line-height: 1.3 !important;
    text-align: left !important;
    text-transform: uppercase;
    opacity: 1 !important;
    white-space: nowrap;
}

.table-training tbody td {
    max-width: none;
    padding: 16px !important;
    border: 0 !important;
    border-bottom: 1px solid var(--line) !important;
    background: transparent !important;
    color: var(--ink);
    vertical-align: middle;
}

.table-training tbody tr:last-child td {
    border-bottom: 0 !important;
}

.table-training tbody tr:hover td {
    background: #f6faf8 !important;
}

.table-training h6,
.table-training td p {
    margin: 0;
    color: var(--ink) !important;
    font-size: 0.92rem !important;
    font-weight: 600 !important;
    letter-spacing: -0.01em !important;
    line-height: 1.35 !important;
}

.table-training td.row,
.table-training .table-column-actions,
.table-training .table-row-actions {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    margin: 0;
    padding: 0;
}

.table-training .table-row-actions {
    gap: 12px;
}

.table-training .table-row-actions .btn {
    width: auto !important;
    height: auto;
    margin: 0;
    padding: 8px 16px;
    border-radius: 999px;
}

.table-training .btn-icons-tables,
.table-training .table-column-actions .btn {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.table-training .btn-info,
.table-training .btn-info i {
    background: #e8f7f1 !important;
    color: var(--accent-strong) !important;
}

.table-training .btn-secondary,
.table-training .btn-secondary i {
    background: #eef1f4 !important;
    color: #4e5964 !important;
}

.table-training .btn-danger,
.table-training .btn-danger i {
    background: #fdecec !important;
    color: #d64545 !important;
}

.card-table-wrapper .pagination,
.card:has(.table-training) .pagination {
    margin: 18px 8px 4px;
    justify-content: flex-end;
    gap: 6px;
}

.card-table-wrapper .pagination .page-link,
.card:has(.table-training) .pagination .page-link,
.card-table-wrapper .pagination .page-item span,
.card:has(.table-training) .pagination .page-item span {
    width: 36px;
    height: 36px;
    border-radius: 10px !important;
    font-size: 0.85rem;
    font-weight: 700;
}

html.theme-dark .filter-card-table a.btn-outline-secondary,
html.theme-dark .card-header-tabs a.btn-outline-secondary {
    background: #143028 !important;
    border-color: #1f6b4e !important;
    color: #7ddeb4 !important;
}

html.theme-dark .table-training tbody tr:hover td {
    background: var(--card-hover) !important;
}

html.theme-dark .table-training .btn-info,
html.theme-dark .table-training .btn-info i {
    background: #143028 !important;
    color: #7ddeb4 !important;
}

html.theme-dark .table-training .btn-secondary,
html.theme-dark .table-training .btn-secondary i {
    background: #243140 !important;
    color: #d5dee8 !important;
}

html.theme-dark .table-training .btn-danger,
html.theme-dark .table-training .btn-danger i {
    background: #3a2224 !important;
    color: #ffb4b4 !important;
}

@media (max-width: 768px) {
    .filter-card-table .input-group .form-control,
    .filter-card-table .input-group select,
    .card-header-tabs .input-group .form-control,
    .card-header-tabs .input-group select,
    .filter-card-table a.btn-outline-success,
    .card-header-tabs a.btn-outline-success,
    .filter-card-table button.btn-success,
    .card-header-tabs button.btn-success,
    .filter-card-table a.btn-outline-secondary,
    .card-header-tabs a.btn-outline-secondary,
    .filter-card-table input[type="date"],
    .card-header-tabs input[type="date"] {
        flex: 1 1 100% !important;
        width: 100% !important;
    }

    .card-table-wrapper .card-table-header {
        align-items: stretch;
    }

    .card-table-wrapper .card-table-header h2 {
        max-width: none;
        padding-right: 0;
    }

    .table-training > tbody tr {
        margin: 0 8px 12px;
        padding: 6px 10px !important;
        border: 1px solid var(--line) !important;
        border-radius: 16px;
        background: var(--surface);
    }

    .table-training > tbody td {
        border-bottom: 0 !important;
        padding: 8px 4px !important;
    }
}

.card-tables {
    margin: 0 0 24px;
    padding: 8px 8px 18px;
    background: var(--surface) !important;
    border: 1px solid var(--line) !important;
    border-radius: 22px !important;
    box-shadow: var(--shadow) !important;
}

.card-tables .card-tables-header-back {
    align-items: center;
    padding: 16px 16px 4px !important;
    background: transparent;
}

.card-tables .card-tables-header-back h1 {
    margin: 0;
    color: var(--ink);
    font-family: var(--font);
    font-size: 1.15rem;
    font-weight: 700;
    letter-spacing: -0.03em;
}

.card-tables .btn-create {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 10px 18px !important;
    border-radius: 999px !important;
    background: var(--accent) !important;
    color: #fff !important;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1;
    text-decoration: none;
    text-transform: uppercase;
}

.card-tables .btn-create:hover {
    background: var(--accent-strong) !important;
    color: #fff !important;
}

.card-tables .card-table-body {
    padding: 8px 8px 0;
}

.table-users-wrapper .table-users-header {
    margin: 0 0 4px;
    border-bottom: 1px solid var(--line);
}

.table-users-wrapper .table-users-header-item,
.table-users-wrapper .table-users-body-item {
    justify-content: flex-start;
    padding: 8px 12px;
}

.table-users-wrapper .table-users-header-item h4 {
    margin: 0;
    color: var(--muted) !important;
    font-family: var(--font);
    font-size: 0.68rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em;
    line-height: 1.3;
    text-align: left;
    text-transform: uppercase;
}

.table-users-wrapper .table-users-body-items {
    align-items: center;
    padding: 6px 0;
    border-bottom: 1px solid var(--line);
}

.table-users-wrapper .table-users-body-items:last-child {
    border-bottom: 0;
}

.table-users-wrapper .table-users-body-items:hover {
    background: #f6faf8;
}

.table-users-wrapper .table-users-body-items h6,
.table-users-wrapper .table-users-body-items p {
    font-family: var(--font);
    text-align: left;
}

.table-users-wrapper .table-users-body-items h6 {
    color: var(--ink);
    font-size: 0.92rem;
    font-weight: 600;
    letter-spacing: -0.01em;
}

.table-users-wrapper .table-users-body-items p {
    color: var(--muted);
    font-size: 0.82rem;
    font-weight: 500;
}

.table-users-wrapper .table-users-body-item img.avatar {
    width: 42px !important;
    height: 42px !important;
    border-radius: 12px;
    object-fit: cover;
}

.card-tables .table-modal-actions {
    border: 1px solid var(--line);
    border-radius: 14px !important;
    background: var(--surface);
    box-shadow: var(--shadow);
    overflow: hidden;
}

.card-tables .table-modal-actions .modal-item {
    color: var(--ink);
    font-family: var(--font);
    text-decoration: none;
}

.card-tables .table-modal-actions .modal-item.info i {
    color: var(--accent-strong);
}

.card-tables .table-modal-actions .modal-item.edit i {
    color: #4e5964;
}

.card-tables .table-modal-actions .modal-item.remove i {
    color: #d64545;
}

.card-tables .pagination {
    margin: 18px 8px 4px;
    justify-content: flex-end;
    gap: 6px;
}

.pagination,
.card-tables .pagination,
.card-table-wrapper .pagination,
.card:has(.table-training) .pagination {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    width: 100%;
    max-width: 100%;
    margin: 16px 0 8px;
    padding: 0;
    overflow: visible;
}

.pagination .page-item,
.card-tables .pagination .page-item,
.card-table-wrapper .pagination .page-item,
.card:has(.table-training) .pagination .page-item,
.card-tables .pagination .page-item:first-child,
.card-tables .pagination .page-item:last-child,
.card-table-wrapper .pagination .page-item:first-child,
.card-table-wrapper .pagination .page-item:last-child {
    position: static !important;
    float: none;
    margin: 0 !important;
}

.pagination .page-item .page-link,
.pagination .page-item > span,
.card-tables .pagination .page-item span,
.card-tables .pagination .page-item a,
.card-tables .pagination .page-item:first-child span,
.card-tables .pagination .page-item:first-child a,
.card-tables .pagination .page-item:last-child span,
.card-tables .pagination .page-item:last-child a,
.card-table-wrapper .pagination .page-item .page-link,
.card-table-wrapper .pagination .page-item span,
.card:has(.table-training) .pagination .page-link,
.card:has(.table-training) .pagination .page-item span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto !important;
    min-width: 36px;
    max-width: none;
    height: 36px;
    margin: 0;
    padding: 0 12px !important;
    border-radius: 10px !important;
    font-size: 0.9rem !important;
    font-weight: 700;
    line-height: 1 !important;
    white-space: nowrap;
    overflow: visible;
}

@media (max-width: 768px) {
    .table-responsive:has(nav),
    .table-responsive:has(.pagination) {
        overflow: visible;
    }
}

html.theme-dark .card-tables,
html.theme-dark .card-tables .table-modal-actions {
    background: var(--surface) !important;
    border-color: var(--line) !important;
}

html.theme-dark .table-users-wrapper .table-users-body-items:hover {
    background: var(--card-hover);
}

html.theme-dark .card-tables .card-tables-header-back h1,
html.theme-dark .table-users-wrapper .table-users-body-items h6,
html.theme-dark .card-tables .table-modal-actions .modal-item {
    color: var(--ink) !important;
}

@media (max-width: 768px) {
    .card-tables.card-tables-users .table-users-body-mobile {
        margin: 0 8px 12px;
        padding: 12px !important;
        border: 1px solid var(--line) !important;
        border-radius: 16px;
        background: var(--surface);
    }

    .card-tables.card-tables-users .table-users-content-mobile .btn {
        width: 34px !important;
        height: 34px !important;
        min-width: 34px;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 10px !important;
        box-shadow: none !important;
    }

    .card-tables.card-tables-users .btn-info,
    .card-tables.card-tables-users .btn-info i {
        background: #e8f7f1 !important;
        color: var(--accent-strong) !important;
    }

    .card-tables.card-tables-users .btn-secondary,
    .card-tables.card-tables-users .btn-secondary i {
        background: #eef1f4 !important;
        color: #4e5964 !important;
    }

    .card-tables.card-tables-users .btn-danger,
    .card-tables.card-tables-users .btn-danger i {
        background: #fdecec !important;
        color: #d64545 !important;
    }
}

#criarTreinoGeralModal .field-group-full {
    width: 100%;
}

.protocolo-form {
    display: grid;
    gap: 8px;
    padding: 8px 16px 20px;
}

.protocolo-form label,
.protocolo-divisao label,
.protocolo-item label {
    margin: 8px 0 0;
    color: var(--muted);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.protocolo-form .btn,
.protocolo-acoes .btn,
.protocolo-divisao .btn {
    justify-self: start;
    width: fit-content;
    margin-top: 12px;
}

.protocolo-dupla,
.protocolo-item {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.protocolo-divisao {
    margin-top: 16px;
    padding: 18px;
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: 22px;
    box-shadow: var(--shadow);
}

.protocolo-divisao-topo {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 16px;
}

.protocolo-divisao-topo .form-select {
    min-width: 160px;
}

.protocolo-rotulo {
    margin: 16px 0 8px;
    color: var(--muted);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.protocolo-musculos {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.protocolo-musculos label {
    margin: 0;
    text-transform: none;
    letter-spacing: 0;
    font-size: 0.82rem;
}

.protocolo-musculos input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.protocolo-musculos span {
    display: inline-flex;
    align-items: center;
    padding: 6px 12px;
    border: 1px solid #b7e6cd;
    border-radius: 999px;
    background: #f3faf6;
    color: var(--accent-strong);
    font-weight: 600;
    cursor: pointer;
}

.protocolo-musculos input:checked + span {
    background: var(--accent);
    border-color: var(--accent);
    color: #fff;
}

html.theme-dark .protocolo-musculos span {
    border-color: #1f6b4e;
    background: #143028;
    color: #7ddeb4;
}

html.theme-dark .protocolo-musculos input:checked + span {
    background: var(--accent);
    border-color: var(--accent);
    color: #fff;
}

.protocolo-item {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--line);
}

.protocolo-item-obs {
    grid-column: 1 / -1;
}

.baixar-treino .card-modal-body {
    display: grid;
    grid-template-columns: 1fr;
    justify-items: stretch;
    gap: 10px;
}

.baixar-treino-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    padding: 14px 16px;
    border: 1px solid var(--line, #d7d7d7);
    border-radius: 14px;
    background: var(--surface, #fff);
    color: inherit;
    text-decoration: none;
    font-weight: 700;
}

.baixar-treino-item span:last-child {
    font-size: 0.85rem;
    font-weight: 700;
    color: #1f6b4e;
}

.baixar-treino-vazio {
    margin: 0;
}

.metodo-explicacao,
.metodo-explicacao-lista {
    margin: 6px 0 0;
    color: #5c6770;
    font-size: 0.82rem;
    font-weight: 500;
    line-height: 1.4;
    white-space: normal;
}

html.theme-dark .metodo-explicacao,
html.theme-dark .metodo-explicacao-lista {
    color: #c5ced6;
}

.protocolo-acoes {
    display: flex;
    gap: 12px;
    margin: 16px 0 24px;
}

@media (max-width: 768px) {
    .protocolo-dupla,
    .protocolo-item,
    .protocolo-divisao-topo,
    .protocolo-acoes {
        grid-template-columns: 1fr;
        display: grid;
    }

    .protocolo-divisao-topo .form-select,
    .protocolo-acoes .btn,
    .protocolo-form .btn,
    .protocolo-divisao .btn {
        width: 100%;
        min-width: 0;
    }
}

@media (max-width: 991px) {
    aside.sidenav {
        z-index: 1050;
        height: 100vh;
        height: 100dvh;
        overflow-y: auto;
    }

    aside.sidenav.sidebar-open {
        box-shadow: 12px 0 40px rgba(0, 0, 0, 0.35);
    }

    .button-menu-mobile {
        position: static;
        top: auto;
        right: auto;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        padding: 0;
        border: 1px solid var(--line);
        border-radius: 12px;
        background: var(--surface);
        color: var(--ink);
        flex-shrink: 0;
    }

    .button-menu-mobile i,
    .button-menu-mobile svg {
        color: var(--ink);
        font-size: 1.05rem;
    }

    nav[aria-label="breadcrumb"] .breadcrumb {
        margin-right: 0 !important;
    }
}

.page-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.page-heading h4 {
    min-width: 0;
    flex: 1;
}

.page-heading-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

@media (max-width: 768px) {
    main.main-content:has(#menu-mobile) {
        padding-bottom: calc(92px + env(safe-area-inset-bottom));
    }

    main:has(#menu-mobile) .button-menu-mobile {
        display: none;
    }

    .header-mobile {
        margin-bottom: 0;
        box-shadow: none;
    }

    .header-mobile .header-actions,
    .header-mobile .btn-logout,
    .header-mobile .btn-logout i,
    .header-mobile .btn-logout svg {
        color: #fff;
    }

    main nav[aria-label="breadcrumb"] h4 {
        width: auto;
        font-size: 1.2rem;
        line-height: 1.25;
    }

    .progress-panel {
        padding: 16px;
    }

    .divisao-lista {
        display: grid;
        grid-template-columns: 1fr;
    }

    .divisao-card {
        width: 100%;
    }

    .card-table-wrapper .card-table-header {
        flex-wrap: wrap;
        align-items: flex-start;
        gap: 10px;
    }

    .card-table-wrapper .card-table-header h2 {
        max-width: none !important;
    }

    .card-table-body .table-responsive:has(.table-training) {
        overflow: visible;
    }

    .table-training > tbody td[data-label] {
        align-items: flex-start;
        gap: 12px;
    }

    .table-training > tbody td[data-label]::before {
        content: attr(data-label);
        flex: 0 0 auto;
        color: var(--muted);
        font-size: 0.68rem;
        font-weight: 700;
        letter-spacing: 0.06em;
        line-height: 1.4;
        text-transform: uppercase;
    }

    .view-training-cards {
        margin-left: 0;
        margin-right: 0;
    }

    .view-training-cards .viwe-training-card {
        display: flex;
        flex-direction: column;
        width: 100%;
        margin: 0;
    }

    .view-training-cards .viwe-training-badge {
        position: static;
        align-self: flex-start;
        margin-bottom: 10px;
    }

    .view-training-cards .view-training-item h3 {
        flex-shrink: 0;
    }

    .view-training-cards .view-training-item p {
        min-width: 0;
        overflow-wrap: anywhere;
    }

    .view-training-cards .viwe-training-actions .btn,
    .view-training-cards .viwe-training-actions button {
        width: 100%;
    }

    #menu-mobile {
        background: #12181f;
        box-shadow: 0 -10px 30px rgba(0, 0, 0, 0.18);
        padding-bottom: env(safe-area-inset-bottom);
    }

    #menu-mobile .menu-mobile-list {
        width: 100%;
        max-width: none;
        gap: 2px;
        padding: 6px 8px 8px;
        justify-content: space-between;
    }

    #menu-mobile .menu-mobile-item {
        min-width: 0;
        flex: 1 1 0;
    }

    #menu-mobile .menu-mobile-link {
        width: 100%;
        min-height: 58px;
        padding: 8px 2px;
        border-radius: 14px;
    }

    #menu-mobile .menu-mobile-link.active {
        width: 100%;
        height: auto;
        background: rgba(15, 159, 110, 0.22) !important;
        box-shadow: none;
        border-radius: 14px;
    }

    #menu-mobile .menu-mobile-icons i {
        font-size: 22px;
    }

    #menu-mobile .menu-mobile-title {
        max-width: 100%;
        font-size: 0.62rem;
        line-height: 1.15;
        text-align: center;
    }
}

@media (max-width: 420px) {
    .theme-toggle span {
        display: none;
    }
}
