html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
  text-align: start;
}

.cursorHand {
    cursor: pointer;
}

.AIFEChrome {
    background-color: #5257b4;
    color: white;
}

.AIFEChromeText
{
    margin:2px;
}
.AIFEColor {
    color: #5257b4;
}
.AIFEBackground {
    background-color: #5257b4;
}
.dropdown-item:hover {
    background-color: #cfd2ff !important;
}


.AIFEFakeDialog {
    border: 1px outset;
    max-width: 640px;
    min-width: 640px;
    background-color: lightgrey;
    max-height: 640px;
    min-height: 640px;
}


.DialogHidden{
    display:none;
}

.input-error {
    border-color: #dc3545 !important; /* Bootstrap danger red */
}


/* Datatables Accent Theme */
table.dataTable thead th {
    background-color: #5257b4 !important;
    color: white !important;
}

table.dataTable tbody tr:hover {
    background-color: rgba(82, 87, 180, 0.15) !important;
}

.dataTables_wrapper .dataTables_filter input {
    border: 1px solid #5257b4 !important;
}

.dataTables_wrapper .dataTables_length select {
    border: 1px solid #5257b4 !important;
}

.tracking-theme {
    border: 2px solid #5257b4 !important;
}

.active > .page-link {
    background-color: #5257b4 !important;
    border-color: #5257b4 !important;
}

/* Make table rows tighter */
#trackingTable td,
#trackingTable th {
    padding: 4px 6px !important;
    font-size: 0.85rem !important;
}

table.dataTable {
    margin-top: 0 !important;
}

.dataTables_wrapper .row {
    margin-bottom: 0 !important;
}


/* Grey card background */
.search-card {
    background: #f2f2f2;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(82, 87, 180, 0.25);
    border: 2px solid #5257b4;
}

/* Full-width blue section headers */
.section-header {
    background: #5257b4;
    color: #ffffff;
    padding: 8px 12px;
    font-size: 1rem;
    font-weight: 600;
    border-radius: 4px;
}

/* Tight form spacing */
.search-card .form-select,
.search-card .form-control {
    padding: 4px 8px;
    font-size: 0.9rem;
}

/* Tight labels */
.search-card .form-label {
    margin-bottom: 2px;
    font-size: 0.85rem;
}

/* Grey button */
.search-btn {
    background: #d9d9d9;
    color: #333;
    border: 1px solid #bfbfbf;
    padding: 6px 16px;
    font-size: 0.9rem;
    border-radius: 4px;
}

    .search-btn:hover {
        background: #c9c9c9;
    }


/* Full-page horizontal stretch */
.report-container {
    display: flex;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    padding-bottom: 40px; /* prevents overlap */
    flex: 1 1 auto; /* stretch inside main */
    overflow: hidden; /* prevents scrollbars from collapsing height */
}


/* LEFT PANEL — 20% width, gray background */
.api-sidebar {
    width: 20%;
    background: #f2f2f2;
    border-right: 3px solid #5257b4;
    padding: 15px 10px;
    display: flex;
    flex-direction: column;
}

/* Blue header strip */
.sidebar-header {
    background: #5257b4;
    color: #fff;
    padding: 10px 12px;
    font-size: 1rem;
    font-weight: 600;
}

/* API list styling */
.api-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.api-item {
    padding: 10px 12px;
    cursor: pointer;
    border-bottom: 1px solid #d0d0d0;
}

    .api-item:hover {
        background: #e0e0e0;
    }

    .api-item.active {
        background: #5257b4;
        color: #fff;
    }

/* RIGHT PANEL — 80% width */
.report-area {
    width: 80%;
    height: 100%;
    flex: 1 1 auto;
    overflow-y: auto;
    background: #fff;
}

/* Blue header strip */
.report-header {
    background: #5257b4;
    color: #fff;
    padding: 10px 12px;
    font-size: 1rem;
    font-weight: 600;
}

/* Report content area */
.report-content {
    padding: 20px;
}

.api-multiselect {
    font-size:12px;
    margin: 0 auto; /* centers horizontally */
    display: block; /* required for margin auto centering */
}

.sidebar-button-bar {
    display: flex;
    justify-content: center; /* centers the buttons horizontally */
    gap: 10px; /* spacing between buttons */
    width: 100%; /* ensures centering works properly */
    margin-bottom: 15px;
}
    .sidebar-button-bar button {
        color: #fff;
        border: none;
        padding: 6px 10px;
        font-size: 0.85rem;
        border-radius: 4px;
        cursor: pointer;
    }

        .sidebar-button-bar button:hover {
            background: #4146a0;
        }

.sidebar-btn {
    background: #ffffff;
    border: 1px solid #d0d0d0;
    padding: 8px;
    border-radius: 6px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

    .sidebar-btn:hover {
        background: #e9e9e9;
    }

.icon-white {
    width: 20px;
    height: 20px;
    filter: brightness(0) invert(1); /* turns black SVGs white */
}

.sidebar-btn .icon {
    width: 16px;
    height: 16px;
}

.sidebar-bars {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.sidebar-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background-color:#fff;
}

.sidebar-bar-label {
    font-weight: 600;
    margin-right: 8px;
    margin-left:5px;
    text-align: left;
}
.sidebar-bar-label-container {
    flex: 1;
    text-align: left;
    padding-right: 8px;
}

.sidebar-bar-buttons {
    display: flex;
    gap: 6px;
}

main {
    flex: 1 0 auto; /* THIS forces main to fill remaining height */
    display: flex; /* THIS allows your report container to stretch */
    flex-direction: column;
}

.page-wrapper {
    min-height: 100%;
    display: flex;
    flex-direction: column;
}
html, body {
    height: 100%;
}