﻿body   
{
    /*background: #ffffff;
    font-family: "Helvetica Neue", "Lucida Grande", "Segoe UI", Arial, Helvetica, Verdana, sans-serif;
    margin: 0px;
    padding: 0px;
    color: #333333;*/
    font-family: 'Titillium Web', sans-serif;
}

main {
    display: flex;
    flex-wrap: nowrap;
    min-height: calc(100vh - 68px);
}

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
    font-family: 'Titillium Web', sans-serif;
}

.bd-sidebar {
    min-width: 78px;
}

@media (min-width: 768px) {
    .bd-sidebar {
        min-width: 280px;
    }
}

.bd-main {
    min-width: calc(100vw - 280px);
}

.blank {
    background: rgb(74,186,255);
    background: linear-gradient(180deg, rgba(74,186,255,1) 0%, rgba(0,92,172,1) 100%);
}

.blank .bd-main,
.blank main {
    min-width: 100%;
    min-height: 100vh;
}

.modal {
    top: 120px;
}

/*a:link, a:visited
{
    color: #0000ff;
}

a:hover
{
    color: #0000cc;
}

a:active
{
    color: #0000cc;
}

h1, h2, h3, h4, h5, h6
{
    color: #cc0000;
}*/

a.link-disabled {
    /* Make the disabled links grayish*/
    color: gray;
    /* And disable the pointer events */
    pointer-events: none;
}

.main
{
	padding: 20px;
}

footer {
    background: #2665AE;
    color: #ffffff;
    margin-top: 32px;
}

footer a,
footer a:link, footer a:visited,
footer a:hover, footer a:active
{
    color: #eeeeee;
}

footer .container
{
    padding: 20px 0;
}

.navbar-inverse {
    height: 68px;
    background: rgb(74,186,255);
}

.navbar-inverse .navbar-brand,
.navbar-inverse .navbar-nav > li > a {
    color: #ffffff;
}

.alert
{
    display: block;
}

.btn-primary,
a.btn-primary
{
    /*background-color: #b20a2e;
    border-color: #f82337;
    color: #ffffff;*/
}

.btn-primary:active,
.btn-primary:hover,
.btn-primary:focus,
a.btn-primary:active,
a.btn-primary:hover,
a.btn-primary:focus
{
    /*background-color: #f82337;
    border-color: #b20a2e;
    color: #ffffff;*/
}

hr
{
    border-top: 1px dashed #ccc;
    margin: 16px 0px;
}

.page-header {
    /*border-bottom: 1px solid #ccc;
    margin: 32px 0 16px;
    padding-bottom: 8px;*/
}

.pagination {
    margin: 0px;
}

.drag, .drop {
    border: 1px dotted #ccc;
    cursor: pointer;
    margin: 2px 0px;
    padding: 0px;
}

.drag > div, .drop > div {
    padding: 0px;
    margin: 0px;
}

.drop > .drag {
    border: 0px;
}

.top-header {
    color: #fff;
}

/*
.position {
    background: #333;
    color: #ccc;
    text-align: center;
    padding: 4px;
    margin: 7px 0px;
}
*/

.heats .label-info,
.heats .drop {
    border-radius: 4px;
}

.heats .form-group {
    margin-bottom: 4px;
}

.margin-bottom-xs {
    margin-bottom: 4px;
}


.table-layout-fixed {
    width: 100% !important;
    table-layout: fixed;
}

.row > .table-responsive,
.row > [class*="col-"] > .table-responsive {
    flex: 1 1 auto;
    width: 100%;
    min-width: 0;
    /*overflow-x: hidden;*/
}

/* keep wrapper + table full width */
.container-fluid.table-responsive {
    width: 100%;
    max-width: 100%;
    display: block;
    flex: 1 1 auto; /* safe even if not flex */
    min-width: 0;
}

.container-fluid.table-responsive > table {
    width: 100% !important;
}

.cell {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: block;
}

.table {
    width: 100%;
    border-collapse: collapse;
}

/*
    original        width: 2rem;
    new test width  width: clamp(2rem, 2vw, 4rem);
*/
.table-col-3xs {
    width: clamp(2rem, 2vw, 4rem);
}

.table-col-xxs {
    width: clamp(3.5rem, 4vw, 5rem);
}

.table-col-xs {
    width: clamp(4.5rem, 5.5vw, 7rem);
}

.table-col-s {
    width: clamp(6.5rem, 7vw, 9rem);
}

.table-col-md {
    width: clamp(8rem, 9.5vw, 11rem);
}

.table-col-l {
    width: clamp(10rem, 12vw, 16rem);
}

.table-col-important {
    width: clamp(10rem, 12vw, 14rem);
}

.table-col-actions {
    width: 6rem;
}

/* flex column */
.table-col-flex {
    width: auto;
}

th.col-flex .cell,
td.col-flex .cell {
    min-width: 10rem; /* your safety net */
}

th, td {
    padding: .5rem .75rem;
    vertical-align: top;
}

table.table-layout-fixed th.col-sm,
table.table-layout-fixed td.col-sm,
table.table-layout-fixed th.col-md,
table.table-layout-fixed td.col-md,
table.table-layout-fixed th.col-lg,
table.table-layout-fixed td.col-lg,
table.table-layout-fixed th.col-xl,
table.table-layout-fixed td.col-xl,
table.table-layout-fixed th.col-xxl,
table.table-layout-fixed td.col-xxl,
table.table-layout-fixed th.col-3xl,
table.table-layout-fixed td.col-3xl,
table.table-layout-fixed th.col-4xl,
table.table-layout-fixed td.col-4xl,
table.table-layout-fixed th.col-5xl,
table.table-layout-fixed td.col-5xl {
    display: none;
}

@media (min-width: 576px) {
    table.table-layout-fixed th.col-sm,
    table.table-layout-fixed td.col-sm {
        display: table-cell;
    }
}

@media (min-width: 768px) {
    table.table-layout-fixed th.col-md,
    table.table-layout-fixed td.col-md {
        display: table-cell;
    }
}

@media (min-width: 992px) {
    table.table-layout-fixed th.col-lg,
    table.table-layout-fixed td.col-lg {
        display: table-cell;
    }
}

@media (min-width: 1200px) {
    table.table-layout-fixed th.col-xl,
    table.table-layout-fixed td.col-xl {
        display: table-cell;
    }
}

@media (min-width: 1400px) {
    table.table-layout-fixed th.col-xxl,
    table.table-layout-fixed td.col-xxl {
        display: table-cell;
    }
}

@media (min-width: 1600px) {
    table.table-layout-fixed th.col-3xl,
    table.table-layout-fixed td.col-3xl {
        display: table-cell;
    }
}

@media (min-width: 1920px) {
    table.table-layout-fixed th.col-4xl,
    table.table-layout-fixed td.col-4xl {
        display: table-cell;
    }
}

/* default hidden */
col.col-sm, col.col-md, col.col-lg, col.col-xl, col.col-xxl, col.col-3xl, col.col-4xl, col.col-5xl {
    display: none;
}

/* show at breakpoints */
@media (min-width: 576px) {
    col.col-sm {
        display: table-column;
    }
}
@media (min-width: 768px) {
    col.col-md {
        display: table-column;
    }
}
@media (min-width: 992px) {
    col.col-lg {
        display: table-column;
    }
}
@media (min-width: 1200px) {
    col.col-xl {
        display: table-column;
    }
}
@media (min-width: 1400px) {
    col.col-xxl {
        display: table-column;
    }
}

@media (min-width: 1600px) {
    col.col-3xl {
        display: table-column;
    }
}

@media (min-width: 1920px) {
    col.col-4xl {
        display: table-column;
    }
}
/* add 5xl if you use it */
@media (min-width: 1920px) {
    col.col-5xl {
        display: table-column;
    }
}


.reason {
    min-width: 80px;
}

.attempt-high {
    min-width: 60px;
}

.bg-event {
    background-color: #e1e1ff;
    border: 2px solid #c1c1ee;
    border-radius: 4px;
    margin-left: 15px;
    margin-right: 15px;
    padding-bottom: 10px;
    padding-top: 10px;
}

.bg-event::after {
    content: "";
    display: table;
    clear: both;
}

.bg-danger {
    color: #b94a48;
    background-color: #f2dede;
    border-color: #ebccd1;
}

.indent-xs {
    margin-left: 4px;
}

.indent-sm {
    margin-left: 8px;
}

.indent-md {
    margin-left: 16px;
}

.indent-lg {
    margin-left: 32px;
}

.form-floating > textarea.form-control {
    height: auto;
    min-height: calc(3.5rem + calc(var(--bs-border-width) * 2));
}

.form-control.invalid {
    border-color: #c99;
}

.input-group-addon.invalid {
    background-color: #edd;
    border-color: #c99;
}

.scroll-area-lg {
    max-height: 400px;
    overflow-y: scroll;
    overflow-x: hidden;
}

.scroll-area {
    max-height: 160px;
    overflow-y: scroll;
}

.top-info {
    font-size: 12px;
    margin: 4px 12px 4px;
}

.form-group {
    margin-bottom: 10px;
}

.form-group-sm {
    margin-bottom: 6px;
}

.form-group-xs {
    margin-bottom: 2px;
}

.col-no-padding {
    display: inline-block;
    padding: 2px;
}

.highlight {
    display: inline-block;
    padding: 2px;
    border: 1px solid transparent;
    border-radius: 4px;
}

.highlight-info {
    color: #3a87ad;
    background-color: #d9edf7;
    border-color: #bce8f1;
}

.highlight-success {
    color: #468847;
    background-color: #dff0d8;
    border-color: #d6e9c6;
}

.highlight-warning {
    color: #c09853;
    background-color: #fcf8e3;
    border-color: #faebcc;
}

.highlight-danger {
    color: #b94a48;
    background-color: #f2dede;
    border-color: #ebccd1;
}

.highlight-default {
    color: #333;
    background-color: #fff;
    border-color: #ccc;
}

.highlight-panel {
    display: inline-block;
    padding: 8px;
    border: 1px solid transparent;
    border-radius: 4px;
}

.block-element {
    width: 100%;
}

.top-margin-0 {
    margin-top: 0px;
}

.navbar-brand {
    background-size: auto 36px;
    min-width: 200px;
}

.no-wrap {
    white-space: nowrap;
}

.top-info a,
.top-info a:link, .top-info a:visited,
.top-info a:hover, .top-info a:active
{
    color: #999;
}

.blockMsg {
    padding: 10px !important;
    color: #333 !important;
    border: 1px solid #ccc !important;
    border-radius: 4px !important;
    background-color: #fff !important;
}

.parts .drag .btn-unassign {
    display: none;
}

.table-striped > tbody > tr.bg-danger:nth-child(2n+1) > td, .table-striped > tbody > tr.bg-danger:nth-child(2n+1) > th {
    background-color: #f9eeee;
}

/* LP 2026-05-26 Adjust Table background color */
.table-striped > tbody > tr:nth-of-type(2n+1) > * {
    --bs-table-bg-type: rgba(122, 122, 122, 0.08);
}

/* LP 2026-05-26 Adjust Table Hover background color */
.table-hover {
    --bs-table-hover-bg: rgba(0, 0, 0, 0.12);
}

/* LP 2026-05-26 Adjust Table Hover background color for Dark mode*/
[data-bs-theme="dark"] .table-hover {
    --bs-table-hover-bg: rgba(255, 255, 255, 0.20);
}

.popover-lg .popover {
    min-width: 360px;
}

.disabled {
    background-color: #eee;
    pointer-events: none;
}


@media (max-width: 767px) {
    .text-xs-left { text-align: left !important; }
    .text-xs-center { text-align: center !important; }
    .text-xs-right { text-align: right !important; }
    .hidden-inline-xs { display: none; }
    .hidden-inline-sm { display: none; }
    .hidden-inline-md { display: none; }
    .visible-inline-xs { display: inline !important; }
    .visible-inline-sm { display: inline !important; }
    .visible-inline-md { display: inline !important; }
}
@media (min-width: 768px) and (max-width: 991px) {
    .text-sm-left { text-align: left !important; }
    .text-sm-center { text-align: center !important; }
    .text-sm-right { text-align: right !important; }
    .hidden-inline-xs { display: inline !important; }
    .hidden-inline-sm { display: none; }
    .hidden-inline-md { display: none; }
    .visible-inline-xs { display: none; }
    .visible-inline-sm { display: inline !important; }
    .visible-inline-md { display: inline !important; }
}
@media (min-width: 992px) and (max-width: 1199px) {
    .text-md-left { text-align: left !important; }
    .text-md-center { text-align: center !important; }
    .text-md-right { text-align: right !important; }
    .hidden-inline-xs { display: inline !important; }
    .hidden-inline-sm { display: inline !important; }
    .hidden-inline-md { display: none; }
    .visible-inline-xs { display: none; }
    .visible-inline-sm { display: none; }
    .visible-inline-md { display: inline !important; }
}
@media (min-width: 1200px) {
    .text-lg-left { text-align: left !important; }
    .text-lg-center { text-align: center !important; }
    .text-lg-right { text-align: right !important; }
    .hidden-inline-xs { display: inline !important; }
    .hidden-inline-sm { display: inline !important; }
    .hidden-inline-md { display: inline !important; }
    .visible-inline-xs { display: none; }
    .visible-inline-sm { display: none; }
    .visible-inline-md { display: none; }
}

.fa-stack {
    display: inline-block;
    height: unset;
    line-height: unset;
    position: relative;
    vertical-align: top;
    width: 1em;
}

.list-inline-bar {
    margin-bottom: 0;
}

.list-inline-bar li {
    border-right: 2px solid #ddd;
    padding-right: 10px;
    margin-right: 5px;
    padding-left: 0;
    margin-bottom: 5px;
}

.list-inline-bar li:last-child {
    border: none;
}

.callout {
    padding: 12px;
    text-align: left;
    display: block;
    border-left: 3px solid #ffff;
    background: #fff3;
    color: #fff;
}

.callout-info {
    border-left: 3px solid #2e86c1;
    background: #d6eaf8;
    color: #2e86c1;
}

.callout-warning {
    border-left: 3px solid #9a7d0a;
    background: #f9e79f;
    color: #9a7d0a;
}

.callout-success {
    border-left: 3px solid #186a3b;
    background: #d5f5e3;
    color: #186a3b;
}

.callout-danger {
    border-left: 3px solid #943126;
    background: #fadbd8;
    color: #943126;
}

.panel {
    border: unset;
    border-radius: 8px;
    box-shadow: 0px 0px 30px #ccc;
    padding: 15px;
    margin: 15px;
}

.panel-no-margin {
    margin: unset;
}

th[data-sort] {
    cursor: pointer;
    color: rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,1));
}

.pb-container {
    background-color: #e9ecef; /* Track color */
    border-radius: .25rem; /* Default Bootstrap-like radius */
    overflow: hidden; /* Important for border-radius on fill */
    box-shadow: inset 0 1px 2px rgba(0,0,0,.075);
    height: 20px; /* Default height */
    position: relative; /* For labels if any */
}

.pb-section {
    display: flex;
    flex-direction: column; /* Stack progress bars */
    gap: 20px; /* Space between progress bars */
    background-color: #ffffff;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 3px 12px rgba(0, 50, 100, 0.06);
}

.pb-section-title {
    font-size: 1.6em;
    color: #2c3e50;
    margin-top: 30px;
    margin-bottom: 15px;
    padding-bottom: 8px;
}

.pb-rounded {
    border-radius: 50px; /* Fully rounded container */
    height: 22px; /* Slightly taller for rounded aesthetic */
}

.pb-rounded .pb-fill {
    border-radius: 50px; /* Fully rounded fill */
}

.pb-rounded .pb-label {
    padding: 0 10px;
}

.pb-fill {
    height: 100%;
    background-color: #007bff; /* Default blue, will be overridden by color classes */
    transition: width .6s ease;
    display: flex; /* For label alignment */
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 0.7rem;
    font-weight: 500;
    white-space: nowrap;
}
/* Green */
.pb-green .pb-fill {
    background-color: #4CAF50;
}

/* Red */
.pb-red .pb-fill {
    background-color: #f44336;
}

/* Orange */
.pb-orange .pb-fill {
    background-color: #ff9800;
}

.json-box {
    white-space: pre;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
    font-size: 12px;
    padding: 12px;
    border: 1px solid #ddd;
    border-radius: 6px;
    background: #f7f7f7;
    overflow: auto;
    max-height: 400px;
}

.json-highlight {
    display: block;
    background-color: #fff3cd;
    border-left: 4px solid #ffc107;
    padding-left: 6px;
    text-indent: -6px;
    margin-left: 0;
    white-space: pre;
}

.collapseArrow {
    transition: transform 0.25s ease;
}

[aria-expanded="true"] .collapseArrow {
    transform: rotate(180deg);
}

/* Help System */
#pageHelpModal .modal-body {
    max-height: 60vh;
    overflow-y: auto;
}

#pageHelpModal .modal-body img {
    max-width: 100%;
    height: auto;
}

.help-page-content {
    min-height: 200px;
}

.help-page-content img {
    max-width: 100%;
    height: auto;
}

/* ── Typeahead Dropdown ── */
.typeahead.dropdown-menu {
    display: block;
    position: absolute;
    width: 100%;
    max-height: 280px;
    overflow-y: auto;
    padding: 6px 0;
    margin: 4px 0 0;
    background-color: #fff;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 0.5rem;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
    z-index: 1050;
    list-style: none;
    font-size: 0.9rem;
}

.typeahead.dropdown-menu > li > a {
    display: block;
    padding: 8px 14px;
    color: #212529;
    text-decoration: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: background-color 0.15s ease, color 0.15s ease;
    cursor: pointer;
    border-left: 3px solid transparent;
}

.typeahead.dropdown-menu > li > a:hover {
    background-color: #f0f4ff;
    color: #0a58ca;
    border-left-color: #0d6efd;
}

.typeahead.dropdown-menu > li.active > a {
    background-color: #0d6efd;
    color: #fff;
    border-left-color: #0a58ca;
}

.typeahead.dropdown-menu > li > a .tt-highlight {
    font-weight: 700;
    color: #0d6efd;
    background-color: rgba(13, 110, 253, 0.1);
    border-radius: 2px;
    padding: 0 2px;
}

.typeahead.dropdown-menu > li.active > a .tt-highlight,
.typeahead.dropdown-menu > li > a:hover .tt-highlight {
    color: inherit;
    background-color: rgba(255, 255, 255, 0.2);
}

/* Scrollbar styling for typeahead */
.typeahead.dropdown-menu::-webkit-scrollbar {
    width: 6px;
}

.typeahead.dropdown-menu::-webkit-scrollbar-track {
    background: transparent;
}

.typeahead.dropdown-menu::-webkit-scrollbar-thumb {
    background-color: #c1c1c1;
    border-radius: 3px;
}

.typeahead.dropdown-menu::-webkit-scrollbar-thumb:hover {
    background-color: #a0a0a0;
}

.ui-datepicker {
    z-index: 10 !important;
}

.selectable-action-date a.ui-state-default {
    background: #90ee90 !important;
    border-color: #5cb85c !important;
}

.selectable-action-date a.ui-state-hover {
    background: #7ddc7d !important;
}

.reporting-date {
    --bs-table-striped-bg: rgba(94, 255, 178, 0.1);
    --bs-table-bg: rgba(94, 255, 178, 0.1);
    background-color: rgba(94, 255, 178, 0.1) !important;
}