:root {
    --gym-bg: #27272a;
    --gym-surface: #18181b;
    --gym-surface-raised: #202023;
    --gym-border: #3f3f46;
    --gym-text: #f4f4f5;
    --gym-muted: #a1a1aa;
}

html, body, body.gym-theme {
    min-height: 100%; background: var(--gym-bg) !important; color: var(--gym-text);
    font-family: 'Instrument Sans', ui-sans-serif, system-ui, sans-serif;
}
.app-wrapper, .app-main, .app-content, .content-wrapper, .content { background: var(--gym-bg) !important; }
.app-sidebar, .main-sidebar, .sidebar-wrapper, .brand-link { background: var(--gym-surface) !important; border-color: var(--gym-border) !important; }
.app-sidebar, .main-sidebar { border-right: 1px solid var(--gym-border); box-shadow: none !important; }
.brand-link { min-height: 3.75rem; border-bottom: 1px solid var(--gym-border) !important; color: var(--gym-text) !important; }
.brand-link .brand-image { box-shadow: none !important; }
.sidebar-wrapper .nav-header, .nav-header { color: var(--gym-muted) !important; letter-spacing: .06em; font-size: .7rem; }
.sidebar-wrapper .nav-link, .sidebar-wrapper .nav-link p, .sidebar-wrapper .nav-icon { color: #d4d4d8 !important; }
.sidebar-wrapper .nav-link { margin: 2px 10px; width: calc(100% - 20px); border-radius: .5rem; }
.sidebar-wrapper .nav-link:hover, .sidebar-wrapper .nav-link.active, .sidebar-wrapper .menu-open > .nav-link { background: #3f3f46 !important; color: #fff !important; }
.sidebar-wrapper .nav-link.active p, .sidebar-wrapper .nav-link:hover p { color: #fff !important; }
.app-header, .app-header .navbar, .main-header, .navbar { background: var(--gym-surface) !important; border-color: var(--gym-border) !important; color: var(--gym-text); }
.app-header, .main-header { border-bottom: 1px solid var(--gym-border) !important; box-shadow: none !important; }
.content-header h1, .content-header .breadcrumb, .content-header .breadcrumb-item.active, .app-content, .content-wrapper { color: var(--gym-text); }
.card, .small-box, .info-box, .dropdown-menu, .modal-content, .list-group-item { background: var(--gym-surface) !important; color: var(--gym-text) !important; border-color: var(--gym-border) !important; border-radius: .75rem; box-shadow: none !important; }
.card-header, .card-footer, .modal-header, .modal-footer { background: transparent !important; border-color: var(--gym-border) !important; }
.table, .table > :not(caption) > * > * { --bs-table-bg: transparent; --bs-table-color: var(--gym-text); --bs-table-border-color: var(--gym-border); color: var(--gym-text); border-color: var(--gym-border); }
.table thead th { color: var(--gym-muted); font-size: .75rem; font-weight: 500; text-transform: uppercase; letter-spacing: .04em; }
.form-control, .form-select, .input-group-text { background-color: var(--gym-surface-raised) !important; color: var(--gym-text) !important; border-color: var(--gym-border) !important; border-radius: .5rem; }
.form-control::placeholder { color: var(--gym-muted) !important; }
.form-control:focus, .form-select:focus { border-color: #71717a !important; box-shadow: 0 0 0 .2rem rgb(161 161 170 / 16%) !important; }
.btn { border-radius: .5rem; font-weight: 500; }
.btn-primary { --bs-btn-color: #18181b; --bs-btn-bg: #e4e4e7; --bs-btn-border-color: #e4e4e7; --bs-btn-hover-color: #09090b; --bs-btn-hover-bg: #d4d4d8; --bs-btn-hover-border-color: #d4d4d8; --bs-btn-active-color: #09090b; --bs-btn-active-bg: #d4d4d8; --bs-btn-active-border-color: #d4d4d8; }
.text-muted, .form-text, .small-box .small-box-footer { color: var(--gym-muted) !important; }
.page-item .page-link { background: var(--gym-surface) !important; color: var(--gym-text) !important; border-color: var(--gym-border) !important; }
.page-item.active .page-link { background: #3f3f46 !important; border-color: #52525b !important; }
.dropdown-item, .dropdown-header { color: var(--gym-text) !important; }
.dropdown-item:hover, .dropdown-item:focus { background: #3f3f46 !important; }
.alert { border-radius: .75rem; }
@media (max-width: 991.98px) { .content-wrapper, .app-content { padding-inline: .25rem; } }
