:root {
    --cmh-bg: #030303;
    --cmh-bg-alt: #05070e;
    --cmh-surface: rgba(10, 12, 18, 0.92);
    --cmh-surface-alt: rgba(255, 255, 255, 0.04);
    --cmh-border: rgba(255, 255, 255, 0.08);
    --cmh-text: #f7f8fb;
    --cmh-muted: rgba(255, 255, 255, 0.6);
    --cmh-accent: #ffffff;
    --cmh-accent-2: #6bdcff;
    --cmh-card-shadow: 0 30px 70px rgba(0, 0, 0, 0.55);
}

body {
    font-family: 'Inter', 'Space Grotesk', 'Segoe UI', sans-serif;
    background: radial-gradient(circle at 20% 20%, rgba(255,255,255,0.05), transparent 35%), var(--cmh-bg);
    color: var(--cmh-text);
    min-height: 100vh;
    margin: 0;
}

a {
    color: var(--cmh-accent);
}

a:hover {
    color: var(--cmh-accent-2);
}

.cmh-body {
    position: relative;
    min-height: 100vh;
    overflow-x: hidden;
}

.background-aurora {
    position: fixed;
    inset: 0;
    background: radial-gradient(circle at 20% 20%, rgba(103, 246, 255, 0.15), transparent 40%),
                radial-gradient(circle at 80% 0%, rgba(252, 181, 100, 0.12), transparent 45%),
                radial-gradient(circle at 50% 80%, rgba(132, 94, 247, 0.1), transparent 35%);
    z-index: 0;
    pointer-events: none;
}

.cmh-header,
.midpage,
.footer,
.offcanvas {
    position: relative;
    z-index: 2;
}

.content-shell {
    width: min(1400px, 100%);
    margin: 0 auto;
    padding: 2rem 1.5rem 6rem;
}

/* Dark styling for selects (including DataTables controls) */
select,
.form-select,
.dataTables_length select,
.dt-container select.dt-input,
.dt-container .dt-length select {
    background: rgba(10, 12, 18, 0.92);
    color: var(--cmh-text);
    border: 1px solid var(--cmh-border);
    border-radius: 12px;
    padding: 0.5rem 0.9rem;
    outline: none;
    box-shadow: 0 10px 25px rgba(0,0,0,0.35);
}

select:focus,
.form-select:focus,
.dataTables_length select:focus,
.dt-container select.dt-input:focus,
.dt-container .dt-length select:focus {
    border-color: var(--cmh-border);
    box-shadow: 0 0 0 2px rgba(255,255,255,0.08);
}

select option,
.form-select option {
    background: #0f111c;
    color: var(--cmh-text);
}

/* Dark styling for DataTables search inputs */
.dataTables_wrapper .dataTables_filter input,
.dataTables_wrapper .dataTables_filter input.form-control,
.dt-container .dt-search input,
.dt-container .dt-search input.dt-input,
.dt-container .dt-search input.form-control {
    background: rgba(10, 12, 18, 0.92);
    color: var(--cmh-text);
    border: 1px solid var(--cmh-border);
    border-radius: 12px;
    padding: 0.45rem 0.9rem;
    outline: none;
    box-shadow: 0 10px 25px rgba(0,0,0,0.35);
}

.dataTables_wrapper .dataTables_filter input:focus,
.dataTables_wrapper .dataTables_filter input.form-control:focus,
.dt-container .dt-search input:focus,
.dt-container .dt-search input.dt-input:focus,
.dt-container .dt-search input.form-control:focus {
    border-color: var(--cmh-border);
    box-shadow: 0 0 0 2px rgba(255,255,255,0.08);
}

.dataTables_wrapper .dataTables_filter input::placeholder,
.dt-container .dt-search input::placeholder {
    color: var(--cmh-muted);
}

.glass-panel {
    background: var(--cmh-surface);
    border: 1px solid var(--cmh-border);
    box-shadow: var(--cmh-card-shadow);
    border-radius: 28px;
    padding: 2.5rem;
}

.page_subheading {
    color: var(--cmh-muted);
    text-transform: uppercase;
    letter-spacing: 0.2em;
    font-size: 0.9rem;
}

.header_team_logo {
    height: 3.5em;
    vertical-align: middle;
}

.page_team_logo {
    height: 2em;
}

.tbl_team_logo {
    height: 1.5em;
}

.page_nationality_flag {
    height: 1.5em;
}

.statusIcon {
    height: 1.5em;
    margin-right: 0.2em;
}

.midpage {
    margin: 0 auto;
    width: min(1500px, 100%);
}

.flex_centered_hor {
    display: flex;
    justify-content: center;
}

.flex_centered_ver {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* make sure individual items in the row stick to the top */
/* site-wide flexible utilities */
.flex_row,
.flex_row_nw {
    display: flex;
    gap: 1.5rem;
}

.flex_row {
    flex-wrap: wrap;
    align-items: flex-start;
}

.flex_top {
    align-items: flex-start;
}

/* make sure individual items in the row stick to the middle */
.vertical-align-middle {
    align-items: center;
}

.fg-half {
    gap: 0.5em;
}

.fg-1 {
    gap: 1em;
}

.fg-2 {
    gap: 2em;
}

.fg-3 {
    gap: 3em;
}

.fg-4 {
    gap: 4em;
}

.fg-5 {
    gap: 5em;
}

.flex_col {
    display: flex;
    flex-direction: column;
}

/*justify middle element*/
.box {
  flex: 1;
  display: flex;
  justify-content: center;
}
.box:first-child {
    flex: 2!important;
    justify-content: right;
}
.box:last-child  {
    flex: 2!important;
    justify-content: left;
}
 
.box {
    white-space: nowrap;
}
/*end - justify middle element*/

.no_underscore {
    text-decoration: none;
}

.no_underscore:hover {
    text-decoration: underline;
}

.dotted_underscore {
    text-decoration: underline dotted;
}

.dotted_underscore:hover {
    text-decoration: underline;
}

.card-surface {
    background: var(--cmh-surface-alt);
    border-radius: 20px;
    border: 1px solid var(--cmh-border);
    padding: 1.75rem;
    box-shadow: var(--cmh-card-shadow);
}

table {
    --bs-table-striped-bg: rgba(255, 255, 255, 0.02) !important;
    background: transparent;
    color: var(--cmh-text);
}

table.dataTable.table-striped>tbody>tr.odd>* {
    box-shadow: inset 0 0 0 9999px var(--bs-table-striped-bg)!important;
    border: none;
}

.home-section {
    background: var(--cmh-surface);
    border-radius: 28px;
    box-shadow: var(--cmh-card-shadow);
    border: 1px solid var(--cmh-border);
    padding: 2rem;
}

.section-header h2 {
    font-size: 1.8rem;
    margin-bottom: .35rem;
}

.section-header p {
    color: var(--cmh-muted);
}

.nav-secondary {
    background: rgba(12, 14, 24, 0.85);
}

/* tooltip */
.tooltip > .tooltip-inner {
    background-color: white;
    color: black;
}

.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before {
     border-top-color: white;
}

.bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before {
     border-right-color: white;
}

.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before {
     border-bottom-color: white;
}

.bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before {
     border-left-color: white;
}

/* end tooltip */

@media (max-width: 1200px) {
    .midpage {
        margin: 0;
    }
    .content-shell {
        padding: 1.5rem 1rem 5rem;
    }
}



.offcanvas-bottom {
    background-color: white;
    color: black;
}


table.dataTable {
    margin-top: 0!important;
    margin-bottom: 0!important;
}

.container.contractTableDiv {
    margin:0;
}

.contractTable th {
    white-space: nowrap;
}

.contractTable td {
    white-space: nowrap;
}

.text-silver {
    color: var(--cmh-muted);
}

.dtsb-criteria {
    color: var(--cmh-text);
}

.dtsb-joiner {
    color: var(--cmh-text);
}

.dtsb-input {
    width: 5.5em!important; /* Set desired width */
}

/* SearchBuilder inputs/selects in dark theme */
.dtsb-condition select,
.dtsb-data select,
.dtsb-value select,
.dtsb-value input {
    background: rgba(10, 12, 18, 0.92);
    color: var(--cmh-text);
    border: 1px solid var(--cmh-border);
    border-radius: 10px;
    padding: 0.35rem 0.75rem;
}

.dtsb-value input::placeholder {
    color: var(--cmh-muted);
}

.dtsb-condition select option,
.dtsb-data select option,
.dtsb-value select option {
    background: #0f111c;
    color: var(--cmh-text);
}

/* Ensure placeholder/italic states stay on dark surface */
.dtsb-dropDown,
.dtsb-dropDown:disabled,
.dtsb-value select:disabled,
.dtsb-condition select:disabled,
.dtsb-italic {
    background: rgba(10, 12, 18, 0.92)!important;
    color: var(--cmh-muted)!important;
    border: 1px solid var(--cmh-border);
}
