/*
 * ParkNexus Quote Platform Theme
 *
 * This theme overrides the default O-Valet blue color scheme with grey/black colors
 * Applied only to users with staff_is_qp_only = 1
 *
 * Version: 1.0
 * Last Updated: 2025-10-07
 */

/* ==================== CSS VARIABLES ==================== */
:root {
    --pn-primary: #333333;          /* Dark grey for primary elements */
    --pn-secondary: #666666;        /* Medium grey for secondary elements */
    --pn-accent: #999999;           /* Light grey for accents */
    --pn-text-primary: #000000;     /* Black text */
    --pn-text-secondary: #333333;   /* Dark grey text */
    --pn-background: #f5f5f5;       /* Light grey background */
    --pn-sidebar-bg: #2c2c2c;       /* Dark sidebar background */
    --pn-sidebar-hover: #404040;    /* Sidebar hover state */
    --pn-border: #cccccc;           /* Light grey borders */
}

/* ==================== SIDEBAR OVERRIDES ==================== */

/* Sidebar background for grey theme */
.sidebar[data-color="grey"] {
    background-color: var(--pn-sidebar-bg) !important;
}

.sidebar[data-color="grey"]:after,
.sidebar[data-color="grey"]:before {
    background-color: var(--pn-sidebar-bg) !important;
}

/* Sidebar navigation items */
.sidebar .nav li > a {
    color: #FFFFFF !important;
}

.sidebar .nav li.active > a,
.sidebar .nav li > a:hover {
    background-color: var(--pn-sidebar-hover) !important;
    color: #FFFFFF !important;
}

/* Sidebar logo area */
.sidebar .logo {
    background-color: white !important;
    border: 12px solid #333333 !important;
    border-radius: 40px !important;
}

/* ==================== TEXT COLOR OVERRIDES ==================== */

/* Replace all #003c70 (O-Valet blue) with black/grey */
h1 small, h2 small, h3 small, h4 small, h5 small, h6 small,
.h1 small, .h2 small, .h3 small, .h4 small, .h5 small, .h6 small,
h1 .small, h2 .small, h3 .small, h4 .small, h5 .small, h6 .small,
.h1 .small, .h2 .small, .h3 .small, .h4 .small, .h5 .small, .h6 .small {
    color: var(--pn-text-secondary) !important;
}

/* Main welcome text */
.centerWelcome {
    color: var(--pn-text-primary) !important;
}

/* Primary text elements */
div {
    color: var(--pn-text-primary) !important;
}

/* Links */
a {
    color: var(--pn-text-primary) !important;
}

a:hover, a:focus {
    color: var(--pn-secondary) !important;
}

/* Page headers */
.page-header {
    color: var(--pn-text-secondary) !important;
}

/* Labels */
label {
    color: var(--pn-text-secondary) !important;
}

/* ==================== FORM CONTROLS ==================== */

.form-control:focus {
    border-color: var(--pn-primary) !important;
    outline: 0 !important;
    -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(51,51,51,.6) !important;
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(51,51,51,.6) !important;
}

/* ==================== BUTTONS ==================== */

.btn-primary,
.btn-info {
    background-color: var(--pn-primary) !important;
    border-color: var(--pn-primary) !important;
    color: white !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-info:hover,
.btn-info:focus,
.btn-info:active {
    background-color: var(--pn-secondary) !important;
    border-color: var(--pn-secondary) !important;
    color: white !important;
}

.btn-fill {
    background-color: var(--pn-primary) !important;
    border-color: var(--pn-primary) !important;
}

.btn-fill:hover,
.btn-fill:focus {
    background-color: var(--pn-secondary) !important;
    border-color: var(--pn-secondary) !important;
}

/* ==================== TABLES ==================== */

.table > thead > tr > th {
    background-color: var(--pn-primary) !important;
    color: white !important;
    border-color: var(--pn-primary) !important;
}

.table-striped > tbody > tr:nth-of-type(odd) {
    background-color: rgba(0, 0, 0, 0.02) !important;
}

/* DataTables specific */
.dataTables_wrapper .dataTables_paginate .paginate_button.current {
    background: var(--pn-primary) !important;
    border-color: var(--pn-primary) !important;
    color: white !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    background: var(--pn-secondary) !important;
    border-color: var(--pn-secondary) !important;
    color: white !important;
}

/* ==================== DASHBOARD SPECIFIC ==================== */

.dashboard-header {
    background: linear-gradient(135deg, var(--pn-sidebar-bg) 0%, var(--pn-sidebar-hover) 100%) !important;
    color: white !important;
}

.widget-header {
    border-bottom: 2px solid var(--pn-primary) !important;
}

.widget-header h3 {
    color: var(--pn-primary) !important;
}

/* ==================== BORDERS ==================== */

/* Replace all #003c70 borders with grey */
.ui-widget-header {
    border: 1px solid var(--pn-primary) !important;
    background: var(--pn-primary) !important;
    color: white !important;
}

/* Border utilities */
.border-primary {
    border-color: var(--pn-primary) !important;
}

/* ==================== GRADIENTS & BACKGROUNDS ==================== */

/* Replace blue gradients with grey gradients */
.tag {
    background: var(--pn-primary) !important;
    background: -moz-linear-gradient(top, var(--pn-primary) 75%, var(--pn-secondary) 100%) !important;
    background: -webkit-linear-gradient(top, var(--pn-primary) 75%, var(--pn-secondary) 100%) !important;
    background: linear-gradient(to bottom, var(--pn-primary) 75%, var(--pn-secondary) 100%) !important;
}

/* ==================== QUOTE PLATFORM SPECIFIC ==================== */

/* Quote table row headers */
.tableRow {
    background-color: var(--pn-primary) !important;
    color: white !important;
}

/* Signature box */
.sign-here-box {
    border: 1px solid var(--pn-primary) !important;
    background-color: var(--pn-primary) !important;
    color: white !important;
}

/* Tooltip */
.tooltiptext {
    background-color: var(--pn-primary) !important;
    color: white !important;
}

/* ==================== NAVIGATION SPECIFIC ==================== */

/* Nav modules header */
#nav_modules_header {
    background-color: var(--pn-primary) !important;
}

/* Logged in user section in sidebar */
.sidebar li[style*="border-bottom"] {
    border-bottom: 1px solid rgba(255, 255, 255, 0.2) !important;
}

.sidebar li span[style*="color: white"] {
    color: white !important;
}

/* ==================== PANELS & CARDS ==================== */

.panel-primary {
    border-color: var(--pn-primary) !important;
}

.panel-primary > .panel-heading {
    background-color: var(--pn-primary) !important;
    border-color: var(--pn-primary) !important;
    color: white !important;
}

.card-header {
    background-color: var(--pn-primary) !important;
    color: white !important;
}

/* ==================== BADGES & LABELS ==================== */

.badge-primary,
.label-primary {
    background-color: var(--pn-primary) !important;
}

.badge-info,
.label-info {
    background-color: var(--pn-secondary) !important;
}

/* ==================== ALERTS ==================== */

.alert-info {
    background-color: rgba(102, 102, 102, 0.1) !important;
    border-color: var(--pn-secondary) !important;
    color: var(--pn-text-primary) !important;
}

/* ==================== PROGRESS BARS ==================== */

.progress-bar,
.progress-bar-info {
    background-color: var(--pn-primary) !important;
}

/* ==================== PAGINATION ==================== */

.pagination > .active > a,
.pagination > .active > span {
    background-color: var(--pn-primary) !important;
    border-color: var(--pn-primary) !important;
}

.pagination > li > a:hover,
.pagination > li > span:hover {
    background-color: var(--pn-secondary) !important;
    border-color: var(--pn-secondary) !important;
    color: white !important;
}

/* ==================== DROPDOWN MENUS ==================== */

.dropdown-menu > .active > a {
    background-color: var(--pn-primary) !important;
}

.dropdown-menu > li > a:hover {
    background-color: rgba(51, 51, 51, 0.1) !important;
}

/* ==================== TABS ==================== */

.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus {
    border-bottom: 2px solid var(--pn-primary) !important;
    color: var(--pn-primary) !important;
}

/* ==================== MODALS ==================== */

.modal-header {
    background-color: var(--pn-primary) !important;
    color: white !important;
}

/* ==================== MISC OVERRIDES ==================== */

/* Catch-all for any remaining #003c70 references */
[style*="#003c70"] {
    color: var(--pn-primary) !important;
}

[style*="background-color: #003c70"],
[style*="background:#003c70"] {
    background-color: var(--pn-primary) !important;
}

[style*="border-color: #003c70"] {
    border-color: var(--pn-primary) !important;
}

/* Blue color text replacements */
[style*="color: #0071bc"],
[style*="color:#0071bc"] {
    color: var(--pn-primary) !important;
}

/* ==================== RESPONSIVE ADJUSTMENTS ==================== */

@media screen and (max-width: 990px) {
    .centerWelcome {
        color: var(--pn-text-primary) !important;
    }
}

/* ==================== PRINT STYLES ==================== */

@media print {
    .tableRow {
        background-color: var(--pn-primary) !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }
}
