/*
 * Databad base layout.
 * Non-color global layout, navigation structure and shared legacy helpers.
 */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');

/* SHARED
 * Global layout and legacy shared helpers. Used by resources/views/layouts/base.blade.php and resources/views/layouts/print.blade.php.
 */

html,
body {
    font-size: 1.1rem !important;
    height: 100%;
    margin: 0;
    padding: 0;
}
.wrapper {
    display: flex;
    min-height: 100%;
    flex-direction: column;
}
nav {
    height: 28px;
}
.navbar-toggler:focus {
    text-decoration: none;
    outline: 0;
}
nav ul.navbar-nav {
    width: 100%;
}
nav ul.navbar-nav li.nav-item.dropdown ul.dropdown-menu {
    margin-top: -1px;
    border-top-left-radius: 0%;
    -moz-border-top-left-radius: 0%;
    -webkit-border-top-left-radius: 0%;
    border-top-right-radius: 0%;
    -moz-border-top-right-radius: 0%;
    -webkit-border-top-right-radius: 0%;
}
nav ul.navbar-nav li.nav-item.dropdown ul.dropdown-menu li ul.dropdown-menu {
    margin-top: -1px;
    border-top-left-radius: 0.375rem;
    -moz-border-top-left-radius: 0.375rem;
    -webkit-border-top-left-radius: 0.375rem;
    border-top-right-radius: 0.375rem;
    -moz-border-top-right-radius: 0.375rem;
    -webkit-border-top-right-radius: 0.375rem;
}
nav ul.navbar-nav li.nav-item.dropdown ul.dropdown-menu li.nav-item.dropdown {
    margin-left: 0px;
}
.navbar {
    padding: 0px !important;
    height: 36px;
}
nav ul li.nav-item.dropdown ul li.nav-item.dropdown {
    padding-left: 5px;
}
nav ul li.nav-item.dropdown ul li span {
    padding-left: 15px;
    text-transform: uppercase;
}
.content-breadcrumbs {
    position: static;
    float: right;
    white-space: nowrap;
}
.content-breadcrumbs ol.breadcrumb {
    margin: 0 !important;
    padding: 0 !important;
    --bs-breadcrumb-item-padding-x: 0 !important;
}
.breadcrumb-item.active a {
    text-decoration: none;
}
.breadcrumb-item.active {
    text-decoration: none;
}
.breadcrumb-item a {
    text-decoration: none;
}
.breadcrumb-item a:hover {
    text-decoration: none;
}
.breadcrumb-item:after {
    content: ' / ';
    margin-right: 5px;
}
.breadcrumb-item.active:after {
    content: '';
}
.breadcrumb-item+.breadcrumb-item::before {
    content: '';
}
div.modal {
    z-index: 10000;
}
.nav-history {
    display: block;
}
.content-wrapper {
    flex: 1;
}
#mainlinkcontent {
    position: absolute;
    left: -500px;
    top: -500px;
}
#langselect {
    text-align: right;
}
.full-width {
    width: 100%;
}
.rowpoolheader {
    margin: 0 !important;
    padding: 0 !important;
    margin-right: -1rem !important;
    margin-left: -1rem !important;
}
.colpoolheader {
    height: 20px !important;
}
.rowpooldataheader {
    margin: 0 0 0.7rem 0 !important;
    padding: 0 !important;
    width: calc(100% + 2rem) !important;
}
.colpooldataheader {
    height: 20px !important;
    width: calc(100% + 2rem);
    margin: 0 !important;
    padding: 0 !important;
    margin-right: -1rem !important;
    margin-left: -1rem !important;
    padding-left: 1rem !important;
}
.poolflush {
    margin-top: 10px;
}
.ml--1 {
    margin-left: -1px !important;
}
.text-bold {
    font-weight: bold;
}
.infodatarow {
    min-height: 29px;
}
.infodatarowsmall {
    min-height: 18px;
}
.infodbldatarow {
    height: 55px;
}
.poolcomment {
    min-width: 100%;
    max-width: 100%;
    width: 100%;
    min-height: 75px;
    max-height: 75px;
    height: 75px;
    resize: none;
}
#pools input[type=number] {
    text-align: right;
    width: 75%;
}
.nowrap {
    white-space: nowrap;
}
.linked {
    text-decoration: none;
    position: relative;
    z-index: 1000;
}
.divider {
    text-decoration: none;
}
.linked:hover {
    text-decoration: none;
}
footer {
    /* height: 24px; */
    width: 100%;
}
.textarea50 {
    height: 50px;
}
.textarea100 {
    height: 100px;
}
.textarea200 {
    height: 200px;
}
.modal-huge {
    --bs-modal-width: 95%;
    --bs-modal-height: calc(100vh - 200px);
}
.divider10 {
    height: 10px;
}
.poolinput {
    width: 80px !important;
    text-align: right;
}
.pooldata {
    height: auto;
}
.pull-left {
    float: left;
}
.pull-right {
    float: right;
}
.form-label {
    padding-top: 5px;
}
.form-label-0 {
    padding-top: unset;
}
.dblock {
    display: inline-block
}
.mt--5 {
    margin-top: -5px;
}
.mt--10 {
    margin-top: -10px;
}
.relative {
    position: relative;
}
.t-2 {
    top: 2px;
}
.t-5 {
    top: 5px;
}
.t-10 {
    top: 10px;
}
.t--2 {
    top: -2px;
}
.t--5 {
    top: -5px;
}
.t--10 {
    top: -10px;
}
.form-control-50 {
    width: 75px !important;
}
.dataTables_wrapper .dataTables_length select {
    min-width: 60px;
}
.text-vertical-top {
    vertical-align: top;
}
#pdfpreview {
    height: calc(100vh - 185px);
}
#card-operationdata .ui-state-highlight {
    height: 1.5em;
    line-height: 1.2em;
}
#card-operationdata li {
    list-style-type: none;
}
.start-115 {
    left: 115% !important;
}
.top-10 {
    top: 10px !important;
}
table.dataTable {
    width: 100% !important;
}
.filtercheck {
    position: relative !important;
    margin-top: 7px !important;
}
#pool_data .dataTables_wrapper {
    width: 99% !important;
}
#pool_data .highcharts-credits {
    display: none;
}
.form-control-sm {
    border-width: 1px;
}
.fplogo {
    position: relative;
    left: 110px;
    top: -75px;
    font-weight: 700;
}
.numberinput {
    text-align: right;
}
.text-10 {
    font-size: 10px;
}
.text-11 {
    font-size: 11px;
}
.text-12 {
    font-size: 12px;
}
.text-13 {
    font-size: 13px;
}
.text-14 {
    font-size: 14px;
}
.text-15 {
    font-size: 15px;
}
.text-16 {
    font-size: 16px;
}
.text-17 {
    font-size: 17px;
}
.text-18 {
    font-size: 18px;
}
.text-19 {
    font-size: 19px;
}
.text-20 {
    font-size: 20px;
}
.text-21 {
    font-size: 21px;
}
.text-22 {
    font-size: 22px;
}
.text-23 {
    font-size: 23px;
}
.text-24 {
    font-size: 24px;
}
.text-25 {
    font-size: 25px;
}
.h1,
h1 {
    font-size: 2rem;
}
.h2,
h2 {
    font-size: 1.25rem;
}
.h3,
h3 {
    font-size: 1.25rem;
}
.h4,
h4 {
    font-size: 1.25rem;
}
.h5,
h5 {
    font-size: 1.25rem;
}
.h6,
h6 {
    font-size: 1rem;
}
.value {
    font-size: 12px !important;
}
.filter input {
    position: relative;
    top: 1px !important;
}
#default_submit {
    display: block;
}
#secondary_submit {
    display: none;
}
ul.review {
    margin: 0;
    padding: 0 0 0 15px;
}
ul.review li {
    margin: 0;
    padding: 0;
}
.border-10 {
    border-width: 10px;
}
.pagebreak {
    page-break-after: always;
}
.rotate-text-90 {
    position: relative;
    transform: rotate(90deg);
    transform-origin: left;
    margin-left: 10px;
    top: 5px;
    left: 14px;
    width: 20px;
}
span.rotate-text-90 {
    position: relative;
    display: inline-block;
    transform: rotate(90deg);
    transform-origin: left;
    margin-left: 10px;
    top: -55px;
    left: -50px;
    width: 20px;
    height: 132px;
}
.flip {
    -moz-transform: scaleX(-1);
    -webkit-transform: scaleX(-1);
    -o-transform: scaleX(-1);
    transform: scaleX(-1);
    -ms-filter: fliph;
    /* Legacy IE fallback */
    filter: fliph;
}
.spiderweb {
    position: absolute;
    right: 0px;
    top: 33px;
    width: 30px;
}
.santahat {
    position: absolute;
    left: 5px;
    top: 1px;
    width: 20px;
}
.santahatlast {
    position: absolute;
    right: -14px;
    top: -16px;
    width: 50px;
}
#dataloading {
    position: fixed;
    width: 100%;
    top: 50%;
    font-size: 50px;
    text-align: center;
}
.historydata {
    margin-left: 25px;
    width: 160px;
    margin-top: 7px;
    text-align: center;
}
.historydata span {
    display: inline-block;
    height: 20px;
}
.historydata span span {
    display: inline-block;
    position: relative;
    top: -2px;
}
.historydataleft {
    position: relative;
    top: 0px;
    height: 20px;
    width: 22px;
}
.historydataright {
    position: relative;
    top: 0px;
    height: 20px;
    width: 22px;
}
.historydataleftdisabled {
    position: relative;
    top: 0px;
    height: 20px;
    width: 22px;
}
.historydatarightdisabled {
    position: relative;
    top: 0px;
    height: 20px;
    width: 22px;
}
.historydataleft i,
.historydataleftdisabled i {
    position: relative;
    top: -8px;
}
.historydataright i,
.historydatarightdisabled i {
    position: relative;
    top: -8px;
}
.card-header-pool {
    width: 79%;
}
.card-header-pooldata {
    width: 20%;
}
#pills-pool-data {
    height: calc(100vh - 250px);
}
#drift_data .modal-body .driftdata {
    height: calc(100vh - 250px);
    overflow-y: scroll;
    overflow-x: auto;
}
#pills-pool-data .tab-pane div.pane-content {
    height: calc(100vh - 250px);
    overflow-y: scroll;
    overflow-x: auto;
}
.graph {
    width: 100%;
    height: 300px;
}
.circle_full {
    position: relative;
    top: 3px;
    display: inline-block;
    height: 14px;
    width: 14px;
    border-radius: 50%;
    -moz-border-radius: 50%;
    -webkit-border-radius: 50%;
}
.circle_fullred {
    position: relative;
    top: 3px;
    display: inline-block;
    height: 14px;
    width: 14px;
    border-radius: 50%;
    -moz-border-radius: 50%;
    -webkit-border-radius: 50%;
}
.circle_redborder {
    position: relative;
    top: 3px;
    display: inline-block;
    height: 14px;
    width: 14px;
    border-radius: 50%;
    -moz-border-radius: 50%;
    -webkit-border-radius: 50%;
}
div.modal button,
div.modal [type=button] {
    border: 1px solid !important;
}
#sitecreate {
    display: none;
}
#createsite_page2 {
    display: none;
}
#createsite_page3 {
    display: none;
}
#createsite_page4 {
    display: none;
}
#createsite_page5 {
    display: none;
}
button#previous {
    display: none;
}
.createonpagebig {
    display: inline-block;
}
.createonpagesmall {
    display: none;
}
.chembig {
    display: inline-block;
}
.chemsmall {
    display: none;
}
.youareready {
    display: block;
}
.youarealmostready {
    display: none;
}
.selfcontroletime1 {
    display: none;
}
.selfcontroletime2 {
    display: none;
}
.selfcontroletime3 {
    display: block;
}
.selfcontroletime4 {
    display: block;
}
.selfcontrolefreechlorine1 {
    display: none;
}
.selfcontrolefreechlorine2 {
    display: block;
}
.selfcontroletotalchlorine1 {
    display: block;
}
.selfcontroletotalchlorine2 {
    display: none;
}
.selfcontroletotalchlorine3 {
    display: block;
}
.selfcontroleboundchlorine1 {
    display: block;
}
.selfcontroleboundchlorine2 {
    display: block;
}
.selfcontroleboundchlorine3 {
    display: none;
}
.selfcontroleboundchlorine4 {
    display: block;
}
.selfcontroleph1 {
    display: none;
}
.selfcontroleph2 {
    display: none;
}
.selfcontrolewaterquality1 {
    display: block;
}
.selfcontrolewaterquality2 {
    display: block;
}
.selfcontrolewaterquality3 {
    display: none;
}
.selfcontrolewaterquality4 {
    display: block;
}
.selfcontrolepooltemp1 {
    display: block;
}
.selfcontrolepooltemp2 {
    display: block;
}
.selfcontrolepooltemp3 {
    display: none;
}
.selfcontrolepooltemp4 {
    display: block;
}
#addcenter {
    display: none;
}
#customers_length select {
    width: 60px;
}
.customer-cid {
    display: block;
    font-size: 0.82rem;
    line-height: 1.35;
    margin-left: 30px;
    margin-top: 0.1rem;
}
.dataTables_wrapper .dataTables_paginate .paginate_button {
    padding: 0 !important;
    margin: 0 !important;
}
.page-item:not(:first-child) .page-link {
    margin-left: -2px !important;
}
.clearfix::after {
    content: "";
    clear: both;
    display: table;
}
#loginfrm {
    display: none;
}
.info_bullet_list {
    font-size: 9pt !important;
    padding-top: 3px;
}
.info_bullet {
    width: 10px;
    height: 10px;
    display: inline-block;
    margin-left: 25px;
    border-radius: 50%;
    -moz-border-radius: 50%;
    -webkit-border-radius: 50%;
}
.info_bullet_first {
    margin-left: 0px;
}
.alert {
    border-radius: 3px;
    width: 90%;
    margin: 20px auto;
}
.alert h4 {
    font-weight: 600
}
.alert .icon {
    margin-right: 10px
}
.alert .btn-close {
    float: right;
    margin-top: -3px;
    height: 25px;
}
.alert a {
    text-decoration: underline
}
.alert ul li {
    list-style: none;
}
#pools .card-header div.operationdata {
    height: 20px;
    width: 20px;
    float: right;
    text-align: right;
    margin: 0px;
    margin-top: -5px;
}
#pools .card-header div.switchbox {
    position: relative;
    height: 30px;
    width: 118px;
    float: right;
    text-align: right;
    margin: 0px;
    margin-top: -12px;
    padding-top: 3px;
}
#pools .card-header div.switchbox span.switchbox {
    position: relative;
    top: -5px;
}
#pools #weekendrow {
    display: none;
}
/* Basic Rules */
.switch input {
    display: none;
}
.switch {
    display: inline-block;
    width: 40px;
    height: 20px;
    margin: 4px;
    transform: translateY(50%);
    position: relative;
}
/* Style Wired */
.slider {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    border-radius: 20px;
    cursor: pointer;
    overflow: hidden;
    transition: .4s;
}
.slider:before {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    border-radius: 20px;
    transform: translateX(-52px);
    transition: .4s;
}
input:checked+.slider:before {
    transform: translateX(-12px);
}
/* Style Flat */
@media (max-width: 1200px) {
    .value {
        font-size: 11px !important;
        padding-top: 2px !important;
}
    .filtervalue {
        position: relative;
        font-size: 11px !important;
        top: 3px !important;
}
    #selfcontrolefreechlorine1 {
        display: block;
}
    #selfcontrolefreechlorine2 {
        display: none;
}
    .selfcontroletime1 {
        display: block;
}
    .selfcontroletime2 {
        display: block;
}
    .selfcontroletime3 {
        display: block;
}
    .selfcontroletime4 {
        padding-right: 10px;
}
    .selfcontroletotalchlorine1 {
        display: none;
}
    .selfcontroletotalchlorine2 {
        display: block;
}
    .selfcontroletotalchlorine3 {
        display: none;
}
    .selfcontroleboundchlorine1 {
        display: none;
}
    .selfcontroleboundchlorine2 {
        display: none;
}
    .selfcontroleboundchlorine3 {
        display: block;
}
    .selfcontroleboundchlorine4 {
        display: none;
}
    .selfcontroleph1 {
        display: block;
}
    .selfcontroleph2 {
        display: none;
}
    .selfcontrolewaterquality1 {
        display: none;
}
    .selfcontrolewaterquality2 {
        display: none;
}
    .selfcontrolewaterquality3 {
        display: block;
}
    .selfcontrolewaterquality4 {
        display: none;
}
    .selfcontrolepooltemp1 {
        display: none;
}
    .selfcontrolepooltemp2 {
        display: block;
}
    .selfcontrolepooltemp3 {
        display: block;
}
    .selfcontrolepooltemp4 {
        display: none;
}
    .poolinput {
        width: 117px !important;
}
    #default_submit {
        display: block;
}
    #secondary_submit {
        display: none;
}
}
@media (max-width: 992px) {
    .nav-history {
        display: none;
}
    .historydata {
        display: none;
}
    .content-breadcrumbs {
        display: none;
}
}
@media (max-width: 768px) {
    .nav-history {
        display: none;
}
    .historydata {
        display: none;
}
    .content-breadcrumbs {
        display: none;
}
    .value {
        font-size: 12px !important;
        padding-top: 2px !important;
}
    .filtervalue {
        position: relative;
        font-size: 12px !important;
        top: 3px !important;
}
    div.poolbassin {
        margin-left: unset;
}
    .row>div.poolbassin {
        flex-shrink: 0;
        width: 100%;
        max-width: 100%;
        padding-right: calc(1.4rem * .5) !important;
        padding-left: calc(1.6rem * .5) !important;
        margin-bottom: 0.5rem !important;
}
    .selfcontrolefreechlorine1 {
        display: block;
}
    .selfcontrolefreechlorine2 {
        display: none;
}
    .selfcontroletime1 {
        display: block;
}
    .selfcontroletime2 {
        display: block;
}
    .selfcontroletime3 {
        display: block;
}
    .selfcontroletotalchlorine1 {
        display: none;
}
    .selfcontroletotalchlorine2 {
        display: block;
}
    .selfcontroletotalchlorine3 {
        display: none;
}
    .selfcontroleboundchlorine1 {
        display: none;
}
    .selfcontroleboundchlorine2 {
        display: none;
}
    .selfcontroleboundchlorine3 {
        display: block;
}
    .selfcontroleboundchlorine4 {
        display: none;
}
    .selfcontroleph1 {
        display: block;
}
    .selfcontroleph2 {
        display: none;
}
    .selfcontrolewaterquality1 {
        display: none;
}
    .selfcontrolewaterquality2 {
        display: none;
}
    .selfcontrolewaterquality3 {
        display: block;
}
    .selfcontrolewaterquality4 {
        display: none;
}
    .selfcontrolepooltemp1 {
        display: none;
}
    .selfcontrolepooltemp2 {
        display: none;
}
    .selfcontrolepooltemp3 {
        display: block;
}
    .selfcontrolepooltemp4 {
        display: none;
}
    .poolinput {
        width: 250px !important;
}
    .createonpagebig {
        display: none;
}
    .createonpagesmall {
        display: inline-block;
}
    .chembig {
        display: none;
}
    .chemsmall {
        display: inline-block;
}
    #default_submit {
        display: none;
}
    #secondary_submit {
        display: block;
}
    nav ul li.nav-item.dropdown ul {
        margin-left: 5px !important;
        margin-top: -5px;
}
    nav ul li.nav-item.dropdown ul li.nav-item.dropdown ul {
        margin-left: 5px !important;
        padding-top: 30px
}
}
@media only screen and (min-device-width: 481px) and (max-device-width: 1024px) and (orientation:portrait) {
    /* For portrait layouts only */
    .value {
        font-size: 12px !important;
        padding-top: 2px !important;
}
    .filtervalue {
        position: relative;
        font-size: 12px !important;
        top: 3px !important;
}
    .nav-history {
        display: none;
}
    .historydata {
        display: none;
}
    .content-breadcrumbs {
        display: none;
}
    div.poolbassin {
        margin-left: unset;
}
    .row>div.poolbassin {
        flex-shrink: 0;
        width: 100%;
        max-width: 100%;
        padding-right: calc(1.4rem * .5) !important;
        padding-left: calc(1.6rem * .5) !important;
        margin-top: 0.5rem !important;
        margin-bottom: 0.5rem !important;
}
    .selfcontrolefreechlorine1 {
        display: block;
}
    .selfcontrolefreechlorine2 {
        display: none;
}
    .selfcontroletime1 {
        display: block;
}
    .selfcontroletime2 {
        display: block;
}
    .selfcontroletime3 {
        display: block;
}
    .selfcontroletotalchlorine1 {
        display: none;
}
    .selfcontroletotalchlorine2 {
        display: block;
}
    .selfcontroletotalchlorine3 {
        display: none;
}
    .selfcontroleboundchlorine1 {
        display: none;
}
    .selfcontroleboundchlorine2 {
        display: none;
}
    .selfcontroleboundchlorine3 {
        display: block;
}
    .selfcontroleboundchlorine4 {
        display: none;
}
    .selfcontroleph1 {
        display: block;
}
    .selfcontroleph2 {
        display: none;
}
    .selfcontrolewaterquality1 {
        display: none;
}
    .selfcontrolewaterquality2 {
        display: none;
}
    .selfcontrolewaterquality3 {
        display: block;
}
    .selfcontrolewaterquality4 {
        display: none;
}
    .selfcontrolepooltemp1 {
        display: none;
}
    .selfcontrolepooltemp2 {
        display: none;
}
    .selfcontrolepooltemp3 {
        display: block;
}
    .selfcontrolepooltemp4 {
        display: none;
}
    .poolinput {
        width: 250px !important;
}
    .createonpagebig {
        display: none;
}
    .createonpagesmall {
        display: inline-block;
}
    .chembig {
        display: none;
}
    .chemsmall {
        display: inline-block;
}
    #default_submit {
        display: none;
}
    #secondary_submit {
        display: block;
}
}
@media only screen and (min-device-width: 481px) and (max-device-width: 1024px) and (orientation:landscape) {
    /* For landscape layouts only */
    #default_submit {
        display: block;
}
    #secondary_submit {
        display: none;
}
}
.shift-group {
    position: relative;
}
.shift-label {
    position: absolute;
    left: 20px;
    top: -10px;
    font-size: 12px;
    padding-left: 5px;
    padding-right: 5px;
}
.text-end.shift-group .shift-label {
    left: 10px;
}
span.shift-group .shift-label {
    left: 10px;
}
.shift-input:not(.shift-input:focus)+.shift-label,
select.shift-input:not(select.shift-input:focus)+.shift-label {
    visibility: hidden
}
.shift-input:focus+.shift-label,
.shift-input+.shift-label {
    visibility: hidden
}
.shift-input:focus::placeholder {
    visibility: hidden
}
.shift-required {
    position: relative;
    top: -6px;
    font-size: 10px;
    font-weight: bold;
    margin: none;
    padding: none;
    line-height: 8px;
    visibility: visible
}
.tooltip {
    z-index: 10000 !important;
}
.cookie-consent {
    border-radius: 0.5rem;
    bottom: 1rem;
    display: none;
    left: 1rem;
    max-width: 540px;
    padding: 1rem;
    position: fixed;
    right: 1rem;
    z-index: 1050;
}
.cookie-consent.is-visible {
    display: block;
}
.cookie-consent p {
    font-size: 0.95rem;
    line-height: 1.5;
    margin: 0 0 0.85rem;
}
.cookie-consent-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
}
.cookie-consent-actions .btn {
    min-height: 38px;
    white-space: nowrap;
}
.cookie-consent-link {
    display: inline-block;
    margin-bottom: 0.65rem;
    font-size: 0.95rem;
    text-decoration: none;
}
.cookie-consent-link:hover {
    text-decoration: underline;
}
.cookie-link {
    align-items: center;
    display: inline-flex;
    font-weight: 700;
    gap: 0.45rem;
    text-decoration: none;
}
.cookie-link:hover {
    text-decoration: underline;
}

/* SHARED NAVIGATION
 * Navigation and breadcrumbs. Used by resources/views/layouts/base.blade.php and resources/views/layouts/top_menu.blade.php.
 */

body {
    font-family: 'Inter', sans-serif !important;
}
/* --- Navbar Shell --- */
.navbar {
    padding: 0.65rem 1.25rem !important;
    height: auto !important;
    /* Keeps the premium navigation height independent of earlier base defaults. */
}
nav.navbar .navbar-nav {
    align-items: center !important;
    gap: 0.2rem;
    width: 100%;
    padding-right: 9.5rem;
}
/* Top-level nav links (not inside dropdowns) */
nav.navbar>.container-fluid .nav-link,
nav.navbar .navbar-nav>.nav-item>.nav-link {
    font-weight: 500;
    font-size: 0.98rem;
    padding: 0.45rem 0.68rem !important;
    border-radius: 0.5rem;
    transition: all 0.2s;
}
/* ============================================================
   DROPDOWN OVERRIDES - Uniform design across all menu levels
   Keeps enough selector specificity to beat Bootstrap defaults.
   ============================================================ */
nav ul li.nav-item.dropdown ul li.nav-item.dropdown {
    padding-left: 0 !important;
}
nav ul li.nav-item.dropdown ul li.nav-item.dropdown > ul.dropdown-menu {
    margin-top: -30px !important;
}
nav.navbar .dropdown-menu {
    border-radius: 0.75rem !important;
    padding: 0.5rem !important;
}
/* Uniform item styling across all levels */
nav.navbar .dropdown-menu .dropdown-item,
nav.navbar .dropdown-menu .nav-link {
    display: flex !important;
    align-items: center !important;
    font-size: 1.1rem !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    padding: 0.5rem 1rem !important;
    border-radius: 0.4rem !important;
    transition: background-color 0.15s, color 0.15s;
    white-space: nowrap;
    gap: 0.65rem !important; /* Minimum 10px between icon, text, and arrow */
}
/* Uniform icon sizing */
nav.navbar .dropdown-menu .dropdown-item i,
nav.navbar .dropdown-menu .nav-link i {
    font-size: 1.1rem !important;
    width: 1.1rem !important;
    text-align: center !important;
    flex-shrink: 0;
}
/* Caret in nested dropdown toggles */
nav.navbar .dropdown-menu .dropdown-toggle::after {
    margin-left: auto !important; /* Float right and align vertically */
}
/* Language flag selector */
#langselect {
    align-items: center;
    border-radius: 999px;
    display: flex;
    font-size: 0;
    gap: 1.45rem;
    justify-content: center;
    padding: 0.35rem 0.55rem;
    width: auto !important;
}
#langselect .divider {
    display: none;
}
#langselect a {
    align-items: center;
    display: inline-flex;
    height: 14px;
    justify-content: center;
    line-height: 1;
    width: 22px;
}
#langselect img {
    border: 0 !important;
    display: block;
    height: 12px !important;
    margin-top: 0 !important;
    object-fit: contain;
    width: 18px !important;
}
.topbar-right-controls {
    align-items: center;
    display: flex;
    gap: 0.75rem;
    max-width: calc(100vw - 4.75rem);
    padding-right: 2.75rem;
    position: fixed;
    right: 1.25rem;
    top: 0.75rem;
    z-index: 1031;
}
.topbar-right-controls .content-breadcrumbs {
    float: none;
    max-width: min(42rem, 46vw);
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    z-index: auto;
}
.topbar-right-controls .breadcrumb {
    flex-wrap: nowrap;
    white-space: nowrap;
}
.nav-utility-controls {
    align-items: center;
    display: flex;
    gap: 0.65rem;
    position: static;
}
.nav-utility-controls #langselect {
    position: static;
}
.nav-utility-controls .nav-logout {
    align-items: center;
    display: inline-flex;
    padding: 0;
    position: static;
    transform: none;
    white-space: nowrap;
}
/* NProgress spinner — reserve the far-right slot in the navbar */
#nprogress .spinner {
    right: 1.25rem !important;
    top: 1.35rem !important;
}
#nprogress .spinner-icon {
    height: 18px !important;
    width: 18px !important;
}
/* ============================================================
   HISTORY DATE NAVIGATOR FIX
   .historydataleft / .historydataright are compact 22px arrow
   buttons that must not inherit the general nav-link padding.
   ============================================================ */
nav .historydata {
    margin-left: 0.25rem !important;
    margin-top: 0 !important;
    width: auto !important;
    display: flex !important;
    align-items: center !important;
    align-self: center !important;
    /* vertically center within navbar flex row */
}
nav .historydata .input-group {
    border-radius: 999px;
    flex-wrap: nowrap !important;
    align-items: center !important;
    width: auto !important;
    padding: 0.18rem 0.22rem !important;
}
nav .historydataleft,
nav .historydataright,
nav .historydataleftdisabled,
nav .historydatarightdisabled {
    padding: 0 4px !important;
    /* compact — do NOT use 0.5rem 1rem */
    border-radius: 999px !important;
    height: 1.7rem !important;
    width: 1.7rem !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
}
nav .historydata span {
    font-size: 0.92rem !important;
    font-weight: 700;
    white-space: nowrap;
    line-height: 1;
}
nav .historydata span span {
    top: 0 !important;
}
nav .historydata i {
    top: 0 !important;
}
