:root {
    --fittmeals-brand: #167544;
    --fittmeals-brand-muted: #115b35;
    --fittmeals-brand-soft: #e8f6ef;
    --fittmeals-brand-strong: #0c3f25;
    --fittmeals-bg: #f4f4f5;
    --fittmeals-surface: #ffffff;
    --fittmeals-surface-subtle: #f8fafc;
    --fittmeals-border: #cbd5e1;
    --fittmeals-text-primary: #0f172a;
    --fittmeals-text-secondary: #475569;
    --fittmeals-success: #167544;
    --fittmeals-warning: #2c9a63;
    --fittmeals-danger: #0f5f37;
    --fittmeals-muted: #94a3b8;
    --fittmeals-radius-md: 0.375rem;
    --fittmeals-radius-lg: 0.5rem;
    --fittmeals-radius-xl: 0.75rem;
    --fittmeals-shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.06);
    --fittmeals-shadow-md: 0 6px 20px rgba(15, 23, 42, 0.08);
}

html,
body {
    background: var(--fittmeals-bg);
    color: var(--fittmeals-text-primary);
    font-family: Inter, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

a,
.oh-link {
    color: var(--fittmeals-brand);
}

a:hover,
.oh-link:hover {
    color: var(--fittmeals-brand-muted);
}

::selection {
    background: rgba(22, 117, 68, 0.24);
    color: var(--fittmeals-brand-strong);
}

.oh-navbar,
.oh-sidebar,
.oh-auth-card,
.oh-card,
.oh-card-dashboard,
.oh-modal__dialog,
.oh-dropdown__menu {
    border-radius: var(--fittmeals-radius-lg);
}

.oh-navbar,
.oh-sidebar,
.oh-auth-card,
.oh-card,
.oh-card-dashboard,
.oh-modal__dialog {
    box-shadow: var(--fittmeals-shadow-sm);
}

.oh-auth-card,
.oh-card,
.oh-card-dashboard,
.oh-modal__dialog,
.oh-dropdown__menu {
    border: 1px solid var(--fittmeals-border);
    background: var(--fittmeals-surface);
}

.oh-input,
input:not([type="checkbox"]):not([type="radio"]),
select,
textarea {
    border: 1px solid var(--fittmeals-border);
    border-radius: var(--fittmeals-radius-md);
    color: var(--fittmeals-text-primary);
}

.oh-input:focus,
input:focus,
select:focus,
textarea:focus {
    outline: none;
    border-color: var(--fittmeals-brand);
    box-shadow: 0 0 0 3px rgba(22, 117, 68, 0.2);
}

.oh-btn {
    border-radius: var(--fittmeals-radius-md);
}

.oh-btn--secondary,
.oh-btn--primary {
    background-color: var(--fittmeals-brand);
    border-color: var(--fittmeals-brand);
    color: #fff;
}

.oh-btn--secondary:hover,
.oh-btn--primary:hover {
    background-color: var(--fittmeals-brand-muted);
    border-color: var(--fittmeals-brand-muted);
    color: #fff;
}

.oh-btn:focus,
.oh-btn:active,
button:focus,
button:active {
    box-shadow: 0 0 0 3px rgba(22, 117, 68, 0.2) !important;
}

.oh-btn--danger {
    background-color: var(--fittmeals-danger);
    border-color: var(--fittmeals-danger);
}

.oh-btn--success {
    background-color: var(--fittmeals-success);
    border-color: var(--fittmeals-success);
}

.oh-tabs__tab--active,
.oh-badge--active {
    color: var(--fittmeals-brand) !important;
    border-color: var(--fittmeals-brand) !important;
    background: rgba(22, 117, 68, 0.08);
}

.oh-sticky-table thead th,
table thead th {
    background: var(--fittmeals-surface-subtle);
    color: var(--fittmeals-text-secondary);
}

.oh-alert {
    border-radius: var(--fittmeals-radius-md);
}

.oh-alert--success {
    background: rgba(34, 197, 94, 0.12);
    color: #166534;
}

.oh-alert--warning {
    background: rgba(245, 158, 11, 0.14);
    color: #92400e;
}

.oh-alert--danger,
.oh-alert--error {
    background: rgba(239, 68, 68, 0.14);
    color: #991b1b;
}

.oh-sidebar__company,
.oh-navbar {
    background: var(--fittmeals-surface);
}

/* Sidebar and hamburger area */
.oh-wrapper-main #sidebar,
.oh-sidebar,
.oh-sidebar-menu,
.oh-sidebar__company {
    background: linear-gradient(180deg, #115b35 0%, #167544 100%) !important;
}

.oh-sidebar * {
    color: #f4fff9 !important;
}

.oh-sidebar__menu-item,
.oh-sidebar__submenu-item {
    border-radius: var(--fittmeals-radius-md);
}

.oh-sidebar__menu-item:hover,
.oh-sidebar__submenu-item:hover,
.oh-sidebar__menu-item--active,
.oh-sidebar__menu-item.active {
    background: rgba(232, 246, 239, 0.2) !important;
    color: #ffffff !important;
}

.oh-sidebar__menu-link--active,
.oh-sidebar__menu-link--active:hover,
.oh-sidebar__submenu-link:hover,
.oh-sidebar__submenu-link--active,
.oh-sidebar__submenu-item.active,
.oh-sidebar__submenu {
    background: rgba(232, 246, 239, 0.2) !important;
    color: #ffffff !important;
}

.oh-navbar__toggle-menu {
    filter: invert(31%) sepia(36%) saturate(1016%) hue-rotate(102deg) brightness(92%) contrast(88%);
}

/* Force all common interactive states to Fittmeals green */
.oh-btn--danger,
.oh-btn--danger:hover,
.oh-btn--danger:focus,
.oh-btn--success,
.oh-btn--success:hover,
.oh-btn--success:focus,
.oh-btn--secondary,
.oh-btn--secondary:hover,
.oh-btn--secondary:focus,
.oh-btn--secondary:active,
.oh-onboarding-card__button,
.oh-onboarding-card__button:hover,
.oh-onboarding-card__button:focus,
.oh-onboarding-card__button:active,
.swal2-styled.swal2-confirm,
.swal2-styled.swal2-cancel {
    background-color: var(--fittmeals-brand) !important;
    border-color: var(--fittmeals-brand) !important;
    color: #fff !important;
}

.oh-btn--secondary:hover,
.oh-onboarding-card__button:hover {
    background-color: #2c9a63 !important;
    border-color: #2c9a63 !important;
}

.form-check-input:checked,
input[type="checkbox"]:checked,
input[type="radio"]:checked {
    background-color: var(--fittmeals-brand) !important;
    border-color: var(--fittmeals-brand) !important;
}

.form-check-input:focus,
input[type="checkbox"]:focus,
input[type="radio"]:focus {
    border-color: var(--fittmeals-brand) !important;
    box-shadow: 0 0 0 0.2rem rgba(22, 117, 68, 0.22) !important;
}

.custom-radio-container input[type="radio"]:checked + .custom-radio-checkmark {
    background-color: var(--fittmeals-brand) !important;
    border-color: var(--fittmeals-brand) !important;
}

.oh-switch input:checked + .oh-switch__slider,
.oh-toggle input:checked + .oh-toggle__slider,
.toggle-switch input:checked + .slider {
    background-color: var(--fittmeals-brand) !important;
}

.oh-dropdown__item:hover,
.oh-dropdown__item--active,
.dropdown-item:hover,
.dropdown-item:active,
.dropdown-item.active {
    background: var(--fittmeals-brand-soft) !important;
    color: var(--fittmeals-brand-strong) !important;
}

.oh-tabs__tab:hover,
.oh-sidebar__menu-item:hover,
.oh-sidebar__menu-item--active,
.oh-navbar__action-icons-link:hover {
    color: var(--fittmeals-brand) !important;
}

.oh-pagination .page-link:hover,
.oh-pagination .page-item.active .page-link,
.page-item.active .page-link {
    background-color: var(--fittmeals-brand) !important;
    border-color: var(--fittmeals-brand) !important;
    color: #fff !important;
}

.oh-sticky-table tbody tr:hover,
table tbody tr:hover,
tr.row-selected,
tr.selected {
    background: rgba(22, 117, 68, 0.08) !important;
}

.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-selection--multiple .select2-selection__choice {
    background-color: var(--fittmeals-brand) !important;
    border-color: var(--fittmeals-brand) !important;
    color: #fff !important;
}
