/*
  RDU Admin modern theme layer.
  Keep theme tokens here so palette tuning and future theme switching stay centralized.
*/

:root {
    --rdu-primary: #5f5698;
    --rdu-primary-strong: #4f467f;
    --rdu-primary-soft: #7c73b8;
    --rdu-surface: #f6f7fb;
    --rdu-surface-2: #eef1f7;
    --rdu-border: #d8dce7;
    --rdu-text: #2c3140;
    --rdu-muted: #677088;

    /* Severity palette: stronger red/yellow while preserving overall navy/purple brand mood. */
    --rdu-danger-bg: #f8dbdf;
    --rdu-danger-bg-alt: #f4cdd4;
    --rdu-danger-border: #d96877;

    --rdu-warning-bg: #fff6d7;
    --rdu-warning-bg-alt: #ffefbf;
    --rdu-warning-border: #d7ad3f;

    --rdu-success-bg: #DCFCE7;
    --rdu-success-bg-alt: #BBF7D0;
    --rdu-success-border: #4ade80;

    --rdu-chip-ok-bg: #e8f6ea;
    --rdu-chip-ok-text: #25603b;
    --rdu-chip-warn-bg: #fff3cf;
    --rdu-chip-warn-text: #865c00;
    --rdu-chip-danger-bg: #fde3e7;
    --rdu-chip-danger-text: #9e2b3f;
}

/* Page header: stronger/inverted treatment so it clearly differs from the table area */
#pageContent #title {
    background: linear-gradient(180deg, var(--rdu-primary-soft) 0%, var(--rdu-primary-strong) 100%) !important;
    color: #fff !important;
    border: 1px solid #463f71 !important;
    border-bottom: 0 !important;
    text-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
}

/* Content contrast and layout polish */
#content {
    background: var(--rdu-surface);
}

#pageContent {
    vertical-align: top;
}

/* Keep jTable title and header clean and readable */
div.jtable-main-container div.jtable-title {
    background: #ece9f8 !important;
    border-color: #d1c8ea !important;
    color: var(--rdu-text) !important;
}

div.jtable-main-container div.jtable-title div.jtable-title-text,
div.jtable-main-container div.jtable-title div.jtable-toolbar,
div.jtable-main-container div.jtable-title div.jtable-toolbar span.jtable-toolbar-item,
div.jtable-main-container div.jtable-title div.jtable-toolbar span.jtable-toolbar-item span.jtable-toolbar-item-text {
    color: var(--rdu-text) !important;
}

div.jtable-main-container div.jtable-title div.jtable-toolbar span.jtable-toolbar-item {
    border-radius: 4px;
    padding: 2px 6px;
}

div.jtable-main-container div.jtable-title div.jtable-toolbar span.jtable-toolbar-item:hover {
    background: #e3def4 !important;
}

/*
    Remove duplicate table header text when the page already has its own header (#title).
    Keep jTable toolbar actions (CSV, delete selected, etc.) visible.
*/
#pageContent #title ~ div[id*="TableContainer"] .jtable-title-text,
#pageContent #title ~ div[id*="Tablecontainer"] .jtable-title-text,
#pageContent #title ~ div[id*="tableContainer"] .jtable-title-text,
#pageContent #title ~ div[id*="tablecontainer"] .jtable-title-text {
	display: none !important;
}

#pageContent #title ~ div[id*="TableContainer"] div.jtable-title,
#pageContent #title ~ div[id*="Tablecontainer"] div.jtable-title,
#pageContent #title ~ div[id*="tableContainer"] div.jtable-title,
#pageContent #title ~ div[id*="tablecontainer"] div.jtable-title {
	min-height: 28px;
	padding: 6px 10px;
}

div.jtable-main-container table.jtable thead,
div.jtable-main-container table.jtable thead th {
    background: #746ab2 !important;
    color: #fff !important;
}

div.jtable-main-container table.jtable thead th {
    border-color: rgba(255, 255, 255, 0.18) !important;
    font-size: 13px !important;
    letter-spacing: 0.01em;
}

/* Empty command headers (no text) get the same color. */
div.jtable-main-container table.jtable thead th:empty,
div.jtable-main-container table.jtable thead th.jtable-command-column-header {
    background: #746ab2 !important;
    border-left-color: rgba(255, 255, 255, 0.3) !important;
}

/* Quick win: larger font and better row density for scanning */
div.jtable-main-container table.jtable tbody > tr > td {
    font-size: 13px !important;
    line-height: 1.35;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
    border-color: #ebeef6 !important;
}

/* Selected row - lighter purple background with white text */
div.jtable-main-container table.jtable tbody > tr.jtable-row-selected,
div.jtable-main-container table.jtable tbody > tr.jtable-row-selected.ui-state-highlight {
    background: #9B8FD4 !important;
    color: #FFFFFF !important;
    border: none !important;
}
div.jtable-main-container table.jtable tbody > tr.jtable-row-selected:hover,
div.jtable-main-container table.jtable tbody > tr.jtable-row-selected.ui-state-highlight:hover {
    background: var(--rdu-primary-soft) !important;
    color: #FFFFFF !important;
}

div.jtable-main-container table.jtable tbody > tr:not(.jtable-row-selected).jtable-row-even,
div.jtable-main-container table.jtable tbody > tr:not(.jtable-row-selected):nth-child(even) {
    background: #f8f9fc !important;
}

/* Even selected rows - must come AFTER even/odd rules */
div.jtable-main-container table.jtable tbody > tr.jtable-row-selected.jtable-row-even,
div.jtable-main-container table.jtable tbody > tr.jtable-row-selected:nth-child(even) {
    background: #8A7DC8 !important;
    color: #FFFFFF !important;
}

div.jtable-main-container table.jtable tbody > tr:not(.jtable-row-selected):hover {
    background: #e2e6f3 !important;
}

/* Stronger severity colors for row status */
div.jtable-main-container table.jtable tbody > tr.jtable-error:not(.jtable-row-selected) {
    background: var(--rdu-danger-bg) !important;
    border-left: 4px solid var(--rdu-danger-border) !important;
}

div.jtable-main-container table.jtable tbody > tr.jtable-error-even:not(.jtable-row-selected) {
    background: var(--rdu-danger-bg-alt) !important;
    border-left: 4px solid var(--rdu-danger-border) !important;
}

div.jtable-main-container table.jtable tbody > tr.jtable-warning:not(.jtable-row-selected) {
    background: var(--rdu-warning-bg) !important;
    border-left: 4px solid var(--rdu-warning-border) !important;
}

div.jtable-main-container table.jtable tbody > tr.jtable-warning-even:not(.jtable-row-selected) {
    background: var(--rdu-warning-bg-alt) !important;
    border-left: 4px solid var(--rdu-warning-border) !important;
}

/* error2/warning2 are occasional-driver warnings; keep yellow family */
div.jtable-main-container table.jtable tbody > tr.jtable-error2:not(.jtable-row-selected),
div.jtable-main-container table.jtable tbody > tr.jtable-warning2:not(.jtable-row-selected) {
    background: var(--rdu-warning-bg) !important;
    border-left: 4px solid var(--rdu-warning-border) !important;
}

div.jtable-main-container table.jtable tbody > tr.jtable-error2-even:not(.jtable-row-selected),
div.jtable-main-container table.jtable tbody > tr.jtable-warning2-even:not(.jtable-row-selected) {
    background: var(--rdu-warning-bg-alt) !important;
    border-left: 4px solid var(--rdu-warning-border) !important;
}

/* Hover on error/warning rows - AFTER status rules so hover wins */
div.jtable-main-container table.jtable tbody > tr.jtable-error:not(.jtable-row-selected):hover,
div.jtable-main-container table.jtable tbody > tr.jtable-error-even:not(.jtable-row-selected):hover {
    background: #e4a3ad !important;
}
div.jtable-main-container table.jtable tbody > tr.jtable-warning:not(.jtable-row-selected):hover,
div.jtable-main-container table.jtable tbody > tr.jtable-warning-even:not(.jtable-row-selected):hover {
    background: #ecd07a !important;
}
div.jtable-main-container table.jtable tbody > tr.jtable-error2:not(.jtable-row-selected):hover,
div.jtable-main-container table.jtable tbody > tr.jtable-error2-even:not(.jtable-row-selected):hover,
div.jtable-main-container table.jtable tbody > tr.jtable-warning2:not(.jtable-row-selected):hover,
div.jtable-main-container table.jtable tbody > tr.jtable-warning2-even:not(.jtable-row-selected):hover {
    background: #ecd07a !important;
}

/* Log page row-type classes (error/warning/success) - shared across all log pages */
div.jtable-main-container table.jtable tbody > tr.row-type-error:not(.jtable-row-selected) {
    background: var(--rdu-danger-bg) !important;
    border-left: 4px solid var(--rdu-danger-border) !important;
}
div.jtable-main-container table.jtable tbody > tr.row-type-error.jtable-row-even:not(.jtable-row-selected) {
    background: var(--rdu-danger-bg-alt) !important;
    border-left: 4px solid var(--rdu-danger-border) !important;
}
div.jtable-main-container table.jtable tbody > tr.row-type-warning:not(.jtable-row-selected) {
    background: var(--rdu-warning-bg) !important;
    border-left: 4px solid var(--rdu-warning-border) !important;
}
div.jtable-main-container table.jtable tbody > tr.row-type-warning.jtable-row-even:not(.jtable-row-selected) {
    background: var(--rdu-warning-bg-alt) !important;
    border-left: 4px solid var(--rdu-warning-border) !important;
}
div.jtable-main-container table.jtable tbody > tr.row-type-success:not(.jtable-row-selected) {
    background: var(--rdu-success-bg) !important;
    border-left: 4px solid var(--rdu-success-border) !important;
}
div.jtable-main-container table.jtable tbody > tr.row-type-success.jtable-row-even:not(.jtable-row-selected) {
    background: var(--rdu-success-bg-alt) !important;
    border-left: 4px solid var(--rdu-success-border) !important;
}
/* Hover on log row-type rows */
div.jtable-main-container table.jtable tbody > tr.row-type-error:not(.jtable-row-selected):hover {
    background: #e4a3ad !important;
}
div.jtable-main-container table.jtable tbody > tr.row-type-warning:not(.jtable-row-selected):hover {
    background: #ecd07a !important;
}
div.jtable-main-container table.jtable tbody > tr.row-type-success:not(.jtable-row-selected):hover {
    background: #a3e4b5 !important;
}

/* Driver Cards filter bar hierarchy and spacing */
#Filterform {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    padding: 10px;
    background: var(--rdu-surface-2);
    border: 1px solid var(--rdu-border);
    border-top: 0;
}

#Filterform input:not([type="checkbox"]):not([type="radio"]) {
    min-width: 180px;
    height: 30px;
    line-height: 30px;
    font-size: 12px;
    border: 1px solid #c7cedf;
    border-radius: 4px;
    padding: 0 8px;
    box-sizing: border-box;
    color: var(--rdu-text);
    background: #fff;
}

#Filterform select {
    min-width: 180px;
    height: 30px;
    font-size: 12px;
    border: 1px solid #c7cedf;
    border-radius: 4px;
    padding: 0 24px 0 8px;
    box-sizing: border-box;
    color: var(--rdu-text);
    background: #fff;
}

#Filterform .ui-selectmenu-button {
    min-width: 180px;
    height: 30px;
    border: 1px solid #c7cedf !important;
    border-radius: 4px;
    background: #fff !important;
    box-sizing: border-box;
}

#Filterform .ui-selectmenu-button .ui-selectmenu-text {
    line-height: 28px;
    font-size: 12px;
    color: var(--rdu-text);
}

#Filterform input::placeholder {
    color: #7f879b;
}

/* DriverLock Settings: keep checkbox close to its label text */
#Filterform #hasdriverlock {
    min-width: 0;
    width: auto;
    height: auto;
    margin: 0 6px 0 10px;
    vertical-align: middle;
}

#Filterform input:focus {
    border-color: var(--rdu-primary);
    box-shadow: 0 0 0 2px rgba(95, 86, 152, 0.18);
    outline: none;
}

#LoadRecordsButton,
#ClearButton {
    min-width: 90px;
    height: 30px;
    font-size: 12px;
}

#LoadRecordsButton {
    background: var(--rdu-primary) !important;
    color: #fff !important;
    border-color: var(--rdu-primary-strong) !important;
}

#LoadRecordsButton:hover,
#LoadRecordsButton:focus {
    background: var(--rdu-primary-strong) !important;
}

/* Clear button as secondary action */
#ClearButton {
    background: #fff !important;
    color: var(--rdu-primary-strong) !important;
    border-color: #b7bfd5 !important;
}

#ClearButton:hover,
#ClearButton:focus {
    background: #f5f7fd !important;
}

/* Chip-like status for next download and expiry values */
.rdu-status-chip {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 600;
    white-space: nowrap;
}

.rdu-status-chip.status-ok {
    background: var(--rdu-chip-ok-bg);
    color: var(--rdu-chip-ok-text);
}

.rdu-status-chip.status-warning {
    background: var(--rdu-chip-warn-bg);
    color: var(--rdu-chip-warn-text);
}

.rdu-status-chip.status-danger {
    background: var(--rdu-chip-danger-bg);
    color: var(--rdu-chip-danger-text);
}

/* Keep tables usable on narrower screens */
@media screen and (max-width: 1360px) {
    #Filterform input {
        min-width: 150px;
    }
}
