/* FitMe Portal Dark Theme Overrides */

body, html {
    background-color: #0B0D0E !important;
    color: #F8FAFC !important;
    font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
}

/* Typography */
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
    color: #F8FAFC !important;
    font-weight: 700 !important;
    letter-spacing: 0.05em;
}

/* Links */
a {
    color: #76C043;
    text-decoration: none;
    transition: color 0.2s ease-in-out;
}
a:hover {
    color: #85D538;
}

/* Cards & Containers (Removing the typical 'boxy' look) */
.card, .panel, .well, .box {
    background-color: #121517 !important;
    border: 1px solid #2D3339 !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3) !important;
    color: #F8FAFC !important;
}
.card-header, .panel-heading {
    background-color: transparent !important;
    border-bottom: 1px solid #2D3339 !important;
}
.card-footer, .panel-footer {
    background-color: transparent !important;
    border-top: 1px solid #2D3339 !important;
}

/* Forms */
.form-control, .form-select, input, select, textarea {
    background-color: #0B0D0E !important;
    border: 1px solid #2D3339 !important;
    color: #F8FAFC !important;
    border-radius: 8px !important;
}
.form-control:focus, .form-select:focus {
    border-color: #76C043 !important;
    box-shadow: 0 0 0 0.25rem rgba(118, 192, 67, 0.28) !important;
}
.input-group-text {
    background-color: #121517 !important;
    border-color: #2D3339 !important;
    color: #9CA3AF !important;
}

/* Buttons */
.btn {
    border-radius: 8px !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    transition: all 0.2s ease-in-out !important;
}
.btn-primary {
    background-color: #76C043 !important;
    border-color: #76C043 !important;
    color: #0B0D0E !important;
}
.btn-primary:hover {
    background-color: #85D538 !important;
    border-color: #85D538 !important;
    box-shadow: 0 0 15px rgba(118, 192, 67, 0.45) !important;
}
.btn-secondary, .btn-default {
    background-color: #121517 !important;
    border-color: #2D3339 !important;
    color: #F8FAFC !important;
}
.btn-secondary:hover, .btn-default:hover {
    background-color: #1F2428 !important;
    border-color: #76C043 !important;
}

/* Navbar */
.navbar {
    background-color: #0B0D0E !important;
    border-bottom: 1px solid #2D3339 !important;
}
.navbar-brand, .nav-link {
    color: #F8FAFC !important;
}
.nav-link:hover {
    color: #76C043 !important;
}

/* Tables */
table {
    color: #F8FAFC !important;
}
th {
    border-bottom: 2px solid #2D3339 !important;
    color: #9CA3AF !important;
}
td {
    border-bottom: 1px solid #2D3339 !important;
}
.table-striped tbody tr:nth-of-type(odd) {
    background-color: rgba(255, 255, 255, 0.02) !important;
}
.table-hover tbody tr:hover {
    background-color: rgba(118, 192, 67, 0.1) !important;
}

/* Misc */
hr {
    border-color: #2D3339 !important;
}
.text-muted {
    color: #9CA3AF !important;
}
.list-group-item {
    background-color: #121517 !important;
    border-color: #2D3339 !important;
    color: #F8FAFC !important;
}

/* Footer & Sub-containers */
#main-footer, .bg-wger-light, .bg-light {
    background-color: #0B0D0E !important;
    border-color: #2D3339 !important;
    color: #9CA3AF !important;
}
#main-footer a {
    color: #9CA3AF !important;
}
#main-footer a:hover {
    color: #76C043 !important;
}

