/* Custom Theme Colors */
:root {
    --primary-color: #122b5aff;
    --secondary-color: #1d3d8f;
    --accent-color: #0998d6;
    --primary-rgb: 0, 0, 0;
    --secondary-rgb: 29, 61, 143;
    --accent-rgb: 9, 152, 214;
    --font-size-base: 16px;
}




/* Override theme colors */
.theme-primary { background-color: var(--primary-color) !important; }
.theme-secondary { background-color: var(--secondary-color) !important; }
.theme-accent { background-color: var(--accent-color) !important; }

/* Button overrides */
.btn-primary {
    background-color: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
}

.btn-primary:hover {
    background-color: #000000 !important;
    border-color: #000000 !important;
}

/* Link overrides */
.text-primary { color: var(--primary-color) !important; }
.text-secondary { color: var(--secondary-color) !important; }
.text-accent { color: var(--accent-color) !important; }

/* Background overrides */
.bg-primary { background-color: var(--primary-color) !important; }
.bg-secondary { background-color: var(--secondary-color) !important; }
.bg-accent { background-color: var(--accent-color) !important; }

/* Border overrides */
.border-primary { border-color: var(--primary-color) !important; }
.border-secondary { border-color: var(--secondary-color) !important; }
.border-accent { border-color: var(--accent-color) !important; }

/* Remove Navigation bar overrides - revert to original colors */
/* .side-nav { background-color: var(--primary-color) !important; } */
/* .side-nav__item:hover { background-color: var(--secondary-color) !important; } */
/* .side-nav__item--active { background-color: var(--accent-color) !important; } */

/* Top navigation overrides - HR pulse gradient */
.top-nav {
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 45%, var(--accent-color) 100%) !important;
    color: #f8fafc !important;
    box-shadow: 0 10px 30px rgba(var(--primary-rgb), 0.25);
}

.top-nav__item {
    color: #e2e8f0 !important;
}

.top-nav__item:hover,
.top-nav__item--active {
    background-color: rgba(255, 255, 255, 0.12) !important;
    color: #ffffff !important;
}

/* Top bar background */
.top-bar-pattern {
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 45%, var(--accent-color) 100%) !important;
    position: relative;
    overflow: hidden;
    box-shadow: 0 35px 80px rgba(var(--primary-rgb), 0.35);
}

.top-bar-pattern::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: radial-gradient(circle at 12% 120%, rgba(255, 255, 255, 0.18), transparent 55%),
        radial-gradient(circle at 70% 130%, rgba(255, 255, 255, 0.1), transparent 50%);
    opacity: 0.6;
}

.top-bar-pattern::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: radial-gradient(circle at 65% 35%, rgba(255, 255, 255, 0.12), transparent 50%);
    mix-blend-mode: screen;
}

/* -------------------------------------------------------------------------- */
/* Mobile viewport (html.suiteone-mobile): tables, touch, safe areas           */
/* -------------------------------------------------------------------------- */
html.suiteone-mobile body {
    padding-left: env(safe-area-inset-left, 0);
    padding-right: env(safe-area-inset-right, 0);
    padding-bottom: env(safe-area-inset-bottom, 0);
}

html.suiteone-mobile [data-erp-table-wrapper],
html.suiteone-mobile .dataTables_wrapper {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
}

html.suiteone-mobile table[data-erp-table],
html.suiteone-mobile .datatable-default {
    min-width: 640px;
}

html.suiteone-mobile .modal.show .modal-dialog {
    margin: 0.75rem;
    max-width: calc(100vw - 1.5rem);
}

html.suiteone-mobile .btn,
html.suiteone-mobile .erp-dropdown-toggle,
html.suiteone-mobile .mobile-menu-toggler {
    min-height: 44px;
    min-width: 44px;
}