/*
ONTRΛQ Custom Theme - Single Source of Truth
*/

:root {
    /* New, preferred color palette */
    --ontraq-bg-dark: #282a36;      /* Main background */
    --ontraq-header-bg: #1d1e26;    /* Top navigation, darker elements */
    --ontraq-card-bg: #343746;      /* Main content cards */
    --ontraq-primary-blue: #62a1ff;   /* Accent color for links, buttons, icons */
    --ontraq-primary-blue-hover: #4a90e2; /* A slightly darker blue for hover */
    --ontraq-text-light: #f8f8f2;     /* Primary text color */
    --ontraq-text-medium: #d1d5db;    /* Secondary text for labels, etc. */
    --ontraq-border-color: #44475a;   /* Borders for tables, inputs */
}

/* --- Global Overrides & Base Styles --- */

body, h1, h2, h3, h4, h5, h6, .w3-button {
    font-family: 'Inter', sans-serif;
    color: var(--ontraq-text-light);
}

body {
    background-color: var(--ontraq-bg-dark) !important;
}

/* --- W3.CSS Class Overrides --- */
/* This section maps your theme colors to W3.CSS utility classes */

.w3-dark-grey, .ontraq-card {
    background-color: var(--ontraq-card-bg) !important;
}

.w3-blue-gray, .ontraq-header {
     background-color: var(--ontraq-header-bg) !important;
}

.w3-blue {
    background-color: var(--ontraq-primary-blue) !important;
}
.w3-blue:hover {
    background-color: var(--ontraq-primary-blue-hover) !important;
}

/* --- Table Theming --- */
.w3-table-all, .w3-table-all tr {
    border-color: var(--ontraq-border-color);
}
.w3-table-all td, .w3-table-all th {
    color: var(--ontraq-text-medium);
}
.w3-light-grey, .w3-table-all thead tr {
    background-color: var(--ontraq-header-bg) !important;
    color: var(--ontraq-text-light) !important;
}
.w3-hoverable tbody tr:hover {
    background-color: #44475a !important; /* Slightly lighter than header for hover */
}

/* --- Form Input Theming --- */
.w3-input.w3-border {
    background-color: var(--ontraq-bg-dark);
    border-color: var(--ontraq-border-color) !important;
    color: var(--ontraq-text-light);
}
.w3-input:focus {
    border-color: var(--ontraq-primary-blue) !important;
}
label {
    color: var(--ontraq-text-medium);
}

/* --- Component & Page-Specific Styles --- */
/* These were moved from your inline style blocks */

.topnav {
    box-shadow: 0 2px 5px 0 rgba(0,0,0,0.16), 0 2px 10px 0 rgba(0,0,0,0.12);
}

.ontraq-blue-accent { 
    color: var(--ontraq-primary-blue) !important; 
}

.ontraq-feature-card { 
    background-color: var(--ontraq-card-bg); 
    border-left: 4px solid var(--ontraq-primary-blue);
}

.hero-section {
    background-color: var(--ontraq-bg-dark);
    padding: 100px 16px;
}

.hero-title {
    font-weight: 800;
}

/* --- Global Reset for Transforms and Pointer Events --- */
html, body, *:not(.mce-content-body):not(.mce-edit-area):not(.mce-container):not(.tox) {
    transform: none !important;
    pointer-events: auto !important;
}

body:not(.mce-content-body), html:not(.mce-content-body) {
    transform: none !important;
    pointer-events: auto !important;
}