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 var(--bs-border-color);
}*/

html {
  position: relative;
  min-height: 100%;
}

body.align-items-center {
    background-color: var(--tm-login-body-bg);
}

div.container-fluid {
    background-color: var(--tm-container-bg);
}

.bg-sidebar {
    background-color: #403F46;
}

.main-panel {
    background-color: var(--bs-secondary-bg);
    color: var(--bs-secondary-color);
    border-radius: 16px;
    margin: 24px 30px 24px 24px;
    padding: 12px;
}

.bi {
    display: inline-block;
    width: 1rem;
    height: 1rem;
}

header {
    height: 70px;
}

.navbar-brand {
    margin-left: 14px;
    margin-right: 0;
    width: 191px;
}

h4 {
    font-size: 22px;
    font-weight: 300;
    color: var(--bs-secondary-color);
    padding-bottom: 12px;
    margin-bottom: 0;
}

.view-all {

}
.view-all a {
    text-decoration: none;
    font-size: 14px;
}
.view-all a svg {
    margin-left: 4px;
}

.modal-content {
    border-radius: 16px;
}

.modal-header {
    border-top-left-radius: 16px;
    border-top-right-radius: 16px;
    background-color: var(--bs-primary);
    color: white;
    padding: 0 18px 0 24px;
    height: 68px;
}
    .modal-header h1 {
        font-size: 22px;
    }
    .modal-header button.btn-close {
        width: 22px;
        height: 22px;
    }

.modal-body .row {
    margin: 0;
}

.modal-body .col {
    padding: 0 4px;
}

.modal-footer {
    height: 80px;
    background-color: var(--bs-tertiary-bg);
    border: none;
}

.card {
    margin: 8px 0 24px 0;
    box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.1568627450980392);
}

.card.read-only-panel {
    width: 690px;
}

div.col-lg-6 .card.read-only-panel {
    width: 100%;
}

.card-header {
    font-size: 20px;
    font-weight: bold;
    padding: 15px;
}

.card-body {
    padding: 20px;
}

.card-body .row {
    min-height: 34px;
    align-items: center;
    margin: 2px 0;
}

.card-body .col {
    font-size: 14px;
    line-height: 18px;
    padding: 0 4px;
}

    .card-body .col-form-label {
        font-weight: bold;
        font-size: 14px;
        line-height: 18px;
    }

    .card-body .form-control-plaintext {
        font-size: 14px;
        line-height: 18px;
    }

.card-body span {
    font-size: 14px;
}

.accordion {
    margin: 8px 0 24px 0;
    box-shadow: none;
}

.accordion-header {
    font-size: 20px;
    font-weight: bold;
    padding: 15px;
}

.accordion-body {
    padding: 20px;
}

.accordion-body .row {
        min-height: 34px;
        align-items: center;
        margin: 2px 0;
    }

.accordion-body .col {
    font-size: 14px;
    line-height: 18px;
    padding: 0 4px;
}

.accordion-body .col-form-label {
        font-weight: bold;
        font-size: 14px;
        line-height: 18px;
    }

.accordion-body .form-control-plaintext {
        font-size: 14px;
        line-height: 18px;
    }

.accordion-body span {
        font-size: 14px;
    }

.accordion-button {
    border-radius: 16px;
}

.accordion-button:not(.collapsed) {
    background-color: var(--bs-accordion-btn-bg);
    box-shadow: none;
    border-radius: 16px;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.accordion .row > * {
    padding-left: 0;
}

.actions-panel {
    padding: 20px;
}
.actions-panel h5 {
    font-size: 15px;
    font-weight: bold;
    color: var(--bs-secondary-color);
    margin-bottom: 14px;
}
    .actions-panel ul {
        padding: 0;
        margin: 0;
        list-style-type: none;
        border-top: 1px solid var(--tm-action-separator);
    }
        .actions-panel ul li {
            border-bottom: 1px solid var(--tm-action-separator);
            height: 34px;
        }
            .actions-panel ul li:hover {
                background-color: var(--tm-action-hover-bg);
            }
        .actions-panel ul li a {
            text-decoration: none;
            display: block;
        }
            .actions-panel ul li a img, .actions-panel ul li a svg {
                margin-right: 8px;
            }
        .actions-panel ul li span {
            font-size: 14px;
            line-height: 18px;
            vertical-align: middle;
            /*color: black;*/
        }

.btn-primary {
    background-color: var(--tm-btn-primary);
    border-radius: 20px;
    min-width: 40px;
    min-height: 40px;
    border: 1px solid var(--tm-btn-primary);
    color: var(--tm-btn-primary-color);
    font-size: 14px;
    line-height: 18px;
    margin: 8px 12px 2px;
}

    .btn-primary:hover {
        background-color: var(--tm-btn-primary-hover);
        color: var(--tm-btn-primary-hover-color);
    }

.btn-secondary {
    background-color: var(--tm-btn-secondary);
    border-radius: 20px;
    min-width: 80px;
    min-height: 40px;
    border: 1px solid var(--tm-btn-primary);
    color: var(--tm-btn-secondary-color);
    font-size: 14px;
    line-height: 18px;
    margin: 8px 12px 2px;
}

    .btn-secondary:hover {
        background-color: var(--tm-btn-secondary-hover);
        color: var(--tm-btn-secondary-hover-color);
        border-color: var(--tm-btn-primary);
    }

label.btn-secondary {
    border-color: #cccccc;
    padding-top: 9px;
    color: var(--bs-tertiary-color);
}
.btn-check + .btn:hover:hover {
    background-color: var(--tm-btn-tertiary-hover);
    border-color: var(--tm-btn-primary-hover);
}

[data-bs-theme=dark] label.btn-secondary {
    background-color: var(--bs-tertiary-bg);
    border: none;
}

.btn-check:checked + .btn, :not(.btn-check) + .btn:active, .btn:first-child:active, .btn.active, .btn.show {
    background-color: var(--bs-form-valid-color);
    color: white;
    border: 1px solid var(--bs-form-valid-border-color);
}
.btn-check:checked:hover + .btn, :not(.btn-check) + .btn:active, .btn:first-child:active, .btn.active, .btn.show {
    color: var(--tm-btn-tertiary-color);
}
[data-bs-theme=dark] .btn-check:checked + .btn, :not(.btn-check) + .btn:active, .btn:first-child:active, .btn.active, .btn.show {
    color: #333333;
}

.form-control {
    border-width: 1px;
    /*border: 1px solid #179121;*/
    border-radius: 5px;
    max-width: 500px;
    min-height: 40px;
    font-size: 14px;
    /*color: black;*/
    line-height: 18px;
}

.field-validation-error {
    color: var(--bs-form-invalid-color);
}

.field-validation-error.invalid-feedback {
    display: block;
}

.invalid-feedback {
    font-size: 12px;
}

.card-body .row > * {
    padding: 0;
}

.row hr {
    margin-top: 15px;
    margin-bottom: 30px;
    border-top-width: 2px;
    border-color: var(--tm-action-separator);
}

.accordion h5 {
    margin-bottom: 20px;
    font-weight: bold;
}

.row [data-hidden] {
    display: none !important;
}

[data-hidden] {
    display: none!important;
}

.form-control-plaintext {
    padding: 0;
    /*color: black;*/
}

.col-8 .row {
    min-height: 24px;
}

.modal-header {
    border-bottom: none;
}

.disable-click {
    pointer-events: none;
}

.form-signin .form-control {
    font-size: 14px;
    width: 390px;
    height: 40px;
    border-radius: 5px;
    /*border: 1px solid #cccccc;*/
    margin: 8px 0;
}

.form-signin ::placeholder {
    /*color: #aaaaaa;*/
    opacity: 1; /* Firefox */
}

.form-signin ::-ms-input-placeholder { /* Edge 12 -18 */
    /*color: #aaaaaa;*/
}

.form-signin input[type="email"] {
    margin-bottom: 16px;
}


.form-signin .validation-summary-errors ul {
    padding: 0;
}
.form-signin .validation-summary-errors li {
    color: var(--bs-form-invalid-color);
    list-style-type: none;
}

.validation-header ul {
    padding-left: 17px;
    margin-bottom: 0;
}

.validation-header li {
    font-size: 14px;
    font-weight: bold;
    line-height: 18px;
    margin: 0;
}

div.datepicker {
    border-radius: 16px !important;
    /*border: solid 1px #cccccc;*/
    /*box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.3);*/
}

    div.datepicker .dow {
        font-size: 16px;
        font-weight: bold;
        /*color: #666666;*/
        padding-top: 26px;
        padding-bottom: 15px;
    }

.datepicker-dropdown {
    padding: 0!important;
}

div.datepicker-switch {
    font-size: 18px;
    font-weight: bold;
    /*color: #666666;*/
}

.day {
    font-size: 15px;
    /*color: #666666;*/
}

div.datepicker table tr td.day, .datepicker table tr th.dow {
    width: 40px!important;
    /*height: 24px!important;*/
}

div.datepicker-days .table-condensed {
    margin: 32px 18px 0 18px;
}
/*div.datepicker-days .table-condensed thead {
    border-bottom: 1px solid #cccccc;
}
div.datepicker-days .table-condensed tbody {
    background-color: #f9f9f9;
}*/
div.datepicker-days .table-condensed tfoot {
    height: 18px;
}

/*td.active.day {
    background-color: #671e75!important;
}*/
/*
td.disabled.day {
    color: #cccccc!important;
}*/

#NewUser {
    width: 136px;
    height: 34px;
    margin-top: 0;
}
#NewUser span {
    margin-left: 8px;
}

.information {
    cursor: pointer;
    margin-left: 2px;
    text-decoration: none;
}
    .information svg {
        color: var(--bs-body-color);
    }

#MTA textarea {
    width: 700px;
    max-width: none;
    height: 220px!important;
    border-radius: 5px;
    border-width: 1px;
    padding: 12px;
}

#Cancellation textarea {
    width: 700px;
    max-width: none;
    height: 220px !important;
    border-radius: 5px;
    border-width: 1px;
    padding: 12px;
}

#EditComment textarea {
    max-width: 100%;
    height: 220px !important;
}

.col-form-label {
    font-weight: bold;
}

#sidebar:not(.expand) .sidebar-logo,
#sidebar:not(.expand) .sidebar-item .sidebar-dropdown,
#sidebar:not(.expand) .sidebar-link span,
#sidebar:not(.expand) .sidebar-link.btn-toggle::after {
    display: none;
}

thead, tbody, tfoot, tr, td, th {
    border: none;
}

tbody tr td {
    padding: 0 5px!important;
}

.tbl-header thead th {
    background-color: var(--bs-table-header-bg) !important;
    color: var(--bs-secondary) !important;
    font-weight: normal !important;
}

table.dataTable thead>tr>th.dt-orderable-asc span.dt-column-order:before, table.dataTable thead>tr>th.dt-orderable-asc span.dt-column-order:after, table.dataTable thead>tr>th.dt-orderable-desc span.dt-column-order:before, table.dataTable thead>tr>th.dt-orderable-desc span.dt-column-order:after, table.dataTable thead>tr>th.dt-ordering-asc span.dt-column-order:before, table.dataTable thead>tr>th.dt-ordering-asc span.dt-column-order:after, table.dataTable thead>tr>th.dt-ordering-desc span.dt-column-order:before, table.dataTable thead>tr>th.dt-ordering-desc span.dt-column-order:after, table.dataTable thead>tr>td.dt-orderable-asc span.dt-column-order:before, table.dataTable thead>tr>td.dt-orderable-asc span.dt-column-order:after, table.dataTable thead>tr>td.dt-orderable-desc span.dt-column-order:before, table.dataTable thead>tr>td.dt-orderable-desc span.dt-column-order:after, table.dataTable thead>tr>td.dt-ordering-asc span.dt-column-order:before, table.dataTable thead>tr>td.dt-ordering-asc span.dt-column-order:after, table.dataTable thead>tr>td.dt-ordering-desc span.dt-column-order:before, table.dataTable thead>tr>td.dt-ordering-desc span.dt-column-order:after {
    opacity: .5!important;
}

.modal .tbl-header thead th {
    color: var(--bs-body-color) !important;
}

#EditQuote thead th {
    color: var(--bs-body-color) !important;
}

[data-bs-theme=dark] img[src*="/_content/Talisman.Shared.Razor/images/profile-icon.svg"] {
    color: white;
}

/*/*[data-bs-theme=dark] img[src*="images/profile-icon.svg"] {
    display: none;
}

    [data-bs-theme=dark] img[src*="images/profile-icon.svg"]::after {
        width: 100px;
        height: 100px;
        content: url(images/profile-icon.svg);
    }
*/


/* Wrapper for Autocomplete search input */
#autocomplete_wrap {
    position: relative;
}

/* Dropdown list for returned search terms */
.suggestion_list {
    position: absolute;
    background-color: var(--bs-body-bg);
    outline: -webkit-focus-ring-color auto 1px;
    list-style-type: none;
    margin: 0;
    padding: 0;
    max-height: 400px;
    overflow-y: auto;
}

.suggestion_list li {
    cursor: pointer;
    padding: 0.5rem 1rem;
}

.suggestion_list li.header {
    border-bottom: 2px solid #ddd;
}

.suggestion_list li:hover,
.suggestion_list li.selected {
    background-color: var(--bs-primary);
    color: white;
}

.suggestion_list li span.extra-info {
    font-size: 0.75em;
    color: var(--bs-tertiary-color);
}

.icon {
    color: var(--bs-primary);
}

/* ---- Server-side DataTables (TabularDataServerSide) ---- */
/* Mirrors the header styling that .tbl-header thead th gets above (which the original
   TabularData partial relies on), but scoped to the DataTables-driven wrapper so the
   look matches across both partials. Uses the same --bs-* variables defined in
   Talisman.Shared.Razor's per-customer CSS so dark/light theming carries over. */

.tabular-data-server-side {
    font-size: 15px;
}

.tabular-data-server-side table.dataTable {
    border-collapse: separate;
    border-spacing: 0;
    margin-bottom: 0;
}

/* Cap the search input's width and push it to the right so it sits flush with the
   right edge of the table - matches the SearchInputModel placement on the page. */
.tabular-data-server-side div.dt-search {
    max-width: 280px;
    margin-left: auto;
    margin-bottom: 12px;        /* 12px gap between the search row and the table head */
}

/* 12px gap between the (sticky) header table and the scrolling body, matching the
   original .tbl-header { margin-bottom: 12px; }. With Scroller enabled, the head
   lives in div.dt-scroll-head and the body in div.dt-scroll-body. */
.tabular-data-server-side div.dt-scroll-head {
    margin-bottom: 12px;
}

/* 12px gap between the table and the "Showing X to Y of Z entries" info row. */
.tabular-data-server-side div.dt-info {
    margin-top: 12px;
}

/* ---- header (matches .tbl-header thead th) ---- */
.tabular-data-server-side table.dataTable > thead > tr > th {
    background-color: var(--bs-table-header-bg) !important;
    color: var(--bs-secondary) !important;
    font-weight: normal !important;
    height: 40px;
    padding: 5px;
    vertical-align: middle;
    border: none;
    white-space: nowrap;
    position: relative;             /* anchor for the vertical-line ::after */
}

.tabular-data-server-side table.dataTable > thead > tr > th:first-of-type {
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
    padding-left: 16px;
}

.tabular-data-server-side table.dataTable > thead > tr > th:last-of-type {
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
}

/* Replicates the <div class="vertical-line float-end"></div> divider that the
   original TabularData renders between every header cell except the last. */
.tabular-data-server-side table.dataTable > thead > tr > th:not(:last-of-type)::after {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 20px;
    background-color: rgba(255, 255, 255, 0.8);
}

/* DataTables sort glyphs - tint to match the secondary header colour */
.tabular-data-server-side table.dataTable > thead .dt-column-order::before,
.tabular-data-server-side table.dataTable > thead .dt-column-order::after {
    color: var(--bs-secondary);
    opacity: 0.6;
}

/* ---- body ---- */
.tabular-data-server-side table.dataTable > tbody > tr,
.tabular-data-server-side table.dataTable > tbody > tr > td {
    border-style: none;
}

.tabular-data-server-side table.dataTable > tbody > tr > td {
    height: 40px;
    padding: 0 5px;
    vertical-align: middle;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tabular-data-server-side table.dataTable > tbody > tr > td:first-of-type {
    padding-left: 16px;
}

/* DataTables.bs5 paints stripes/hover via an opaque box-shadow driven by --dt-row-stripe
   / --dt-row-hover (RGB triplets), bypassing Bootstrap's --bs-table-striped-bg / --bs-table-hover-bg.
   Restore the customer-themed colours by overriding those rules. */
.tabular-data-server-side table.dataTable.table-striped > tbody > tr:nth-of-type(odd) > * {
    box-shadow: inset 0 0 0 9999px var(--bs-table-striped-bg) !important;
}

.tabular-data-server-side table.dataTable.table-hover > tbody > tr:hover > * {
    box-shadow: inset 0 0 0 9999px var(--bs-table-hover-bg) !important;
}

/* Custom scrollbar for the table body - matches the original TabularData.cshtml.css
   so the look stays consistent with the rest of the app's tables. */
.tabular-data-server-side div.dt-scroll-body {
    /* Firefox */
    scrollbar-width: thin;
    scrollbar-color: var(--tm-scrollbar-thumb) var(--tm-scrollbar-track);
}

/* WebKit/Blink (Chrome/Edge/Safari) */
.tabular-data-server-side div.dt-scroll-body::-webkit-scrollbar {
    width: 8px;
}

.tabular-data-server-side div.dt-scroll-body::-webkit-scrollbar-track {
    background-color: var(--tm-scrollbar-track);
}

.tabular-data-server-side div.dt-scroll-body::-webkit-scrollbar-thumb {
    background-color: var(--tm-scrollbar-thumb);
}

/* The shared Date editor template hardcodes style="width: 125px" on each datepicker
   input. Inside an .input-group with two of them (e.g. the inception-date range filter)
   that fixed width plus Bootstrap's flex sizing can push the group beyond its column
   on wide screens. Force them to share the available space equally instead. */
.input-group > input.form-control.datepicker {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    width: auto !important;
}
