:root{
  --btnSelectedColor: #006cb3;
  --btnDeselectedColor: #242934;
  --statusUnhealthy: #ff5555;
  --statusOffline: #000000;
  --statusIgnored: #000000;
  --statusIdle: #bebebe;
  --statusWarn: #f9b778;
  --statusHealthy: #44bca6;
  --bollBlue: #006cb3;
  --bollOrange: #f9b778;
  --bollWhite: #ffffff;
}

.isDisabled {
  color: currentColor;
  cursor: not-allowed;
  opacity: 0.5;
  text-decoration: none;
}

.bookmark .btn-group, .bookmark button {
    height: 43px;
}

fieldset legend {
  margin-bottom: 30px;
}

.page-wrapper .page-body-wrapper .page-body {
  min-height: calc(100vh - 130px);
}

#btn_notification_info {
  position: relative;
  width: 109.5%;
  left: -11px;
}

#btn_notification_info:hover {
  background-color: var(--btnSelectedColor) !important;
  color: #fff;
}

#btn_notification_info svg {
  margin-left: -10px;
}

#btn_notification_info span {
  margin-top: 2px;
}

#user_image_container {
  position: relative;
  top: 0;
  left: 0;
}

#user_img {
  max-width: 100%;
  width:94%;
}

#user_img_prev_container {
  position: absolute;
  top: 0;
  width: 329px;
  height: 323px;
  background-color: rgba(256,256,256,0.6);
}

#user_img_prev_container > .dz-image-preview{
  transform: translateX(36%);
}

.preview-hidden {
  pointer-events: none;
  opacity: 0;
}

#user_image_container button {
  position: relative !important;
  top: 0 !important;
  left: 0 !important;
}

#user_img_container > button {
  width: 94%;
}

.user-img-overlay {
  position: absolute;
  top: 255px;
  background: rgba(0, 0, 0, 0.5); /* Black see-through */
  color: #f1f1f1;
  width: 87.8%;
  opacity:1;
  font-size: 14px;
  padding: 20px;
  text-align: center;
  pointer-events: none;
}

#btn_user_img_delete{
  position: absolute;
  top:10px;
  right:41px;
  width: 30px;
  height: 30px;
  background-color: rgba(0, 0, 0, 0.5); /* Black see-through */;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}

@media only screen and (max-width:1200px){

  #btn_user_img_delete{
    right: 35px;
  }

  .user-img-overlay {
    top: 151px;
    width: 84.8%;
    height: 60px;
    padding: 11px 12px 5px 15px;
  }
}

@media only screen and (max-width:991px){

  #user_img {
    position: relative;
    width: 100%;
  }

  #btn_user_img_delete{
    right: 24px;
  }

  #user_img_container > button {
    position:relative;
    top: -60px;
    width: 100%;
  }

  .user-img-overlay {
    position: relative;
    top: -60px;
    width: 100%;
    height: 60px;
    padding: 20px 12px 5px 15px;
  }

  .sidebar-user-name{
    max-width: 80%;
  }
}

#btn_user_img_delete > i{
  color: #f1f1f1;
}

.state_crit, .crit_state_icon i {
    color: var(--statusUnhealthy) !important;
}
.state_warn, .warn_state_icon i {
    color: var(--statusUnhealthy) !important;
}

.state_ok, .ok_state_icon i {
    color: var(--statusHealthy) !important;
}

.p-t-2 {
    padding-top: 2px;
}

.text-align-left {
  text-align: left !important;
}

.crit_state_icon i, .warn_state_icon i, .ok_state_icon i {
    font-size: 14px;
    vertical-align: 4px;
    margin-left: 2px;
    margin-right: 2px;
}

.dataTable .no-wrap {
    white-space: nowrap;
}

.dataTable {
    overflow: auto;
    display: block;
}

.table-responsive  {
    overflow: hidden;
    display: block;
}

.order-history table th {
    min-width: unset !important;
}

.order-history table td h6 {
    margin: auto;
}

.changelog ul li {
  list-style: disc;
}

.changelog ul {
  margin-left: 15px;
}

.changelog ul p {
  margin-top: 10px;
  font-weight: bold;
}

.changelog h1 {
  font-size: 20px;
}

.changelog h2 {
  font-size: 20px;
}

.page-header .bookmark .dropdown-menu, .dropdown-orange-menu {
  background: var(--bollOrange);
}

.page-header .bookmark .dropdown-menu a, .dropdown-orange-menu a  {
  color: white;
}

.page-header .bookmark .dropdown-menu a:hover, .dropdown-orange-menu a:hover {
  background: #ce8d50;
  color: white;
}

/* GENERIC GRID BUTTON */
.bo-generic-button {
    z-index: 1;
    white-space:nowrap;
}

.bo-generic-button ul {
    text-align: right;
    height: 45px;
    overflow: hidden;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}

.bo-generic-button ul li {
    display: inline-block;
    margin-right: 3px;
}

.bo-generic-button ul li:first-child i.icon-angle-double-right {
    font-size: 14px;
}

.bo-generic-button i {
    margin: 0 5px;
    cursor: pointer;
    line-height: 20px;
}

.bo-generic-button i.icofont-refresh {
    font-size: 13px;
}

.bo-generic-button ul li a {
    width: 42px;
    height: 42px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    border-radius: 50px;
    background-color: rgba(0, 108, 179, 0.1);
}

.bo-detail-header-generic-button ul li a{
    width: 32px;
    height: 32px;
}

.bo-generic-button ul li a:hover {
    background-color: var(--bollOrange);
    cursor: pointer;
}

.bo-generic-button ul li a:hover,
.bo-generic-button ul li a:hover svg {
    color: #fff;
}

.bo-generic-button ul li a svg {
    color: var(--btnSelectedColor);
    width: 20px;
    height: 20px;
}

.bo-detail-header-generic-button ul li a svg{
    width: 15px;
    height: 15px;
}

.bo-font-color-blue {
    color: var(--btnSelectedColor);
}

.bo-btn-ignored, .bo-btn-ignored a, .bo-btn-ignored a:hover{
    cursor: default !important;
}

.bo-btn-notignored a svg {
    color: red !important;
}

.bo-btn-ignored a, .setting-list-cardnav .setting-option .bo-btn-ignored a:hover{
    background-color: rgba(0, 108, 179, 0.05) !important;
}

.bo-btn-ignored a svg, .setting-list-cardnav .setting-option .bo-btn-ignored a:hover svg {
    color: white !important;
    background-color: rgba(0, 108, 179, 0) !important;
}

th.hide_it {
    width: 0;
    padding: 0;
    margin: 0;
}

.hide {
    display: none;
}

table.dataTable.stripe>tbody>tr.odd>*, table.dataTable.display>tbody>tr.odd>* {
    box-shadow: inset 0 0 0 9999px rgb(0 0 0 / 2%)!important;
}

table.dataTable.stripe>tbody>tr.new_notification>*, table.dataTable.display>tbody>tr.new_notification>*,
.boll-font-weight-bold {
    font-weight: bold!important;
}

button > .spinner-border {
    margin-right: 5px;
}

th.right, td.right {
    text-align: right;
}

.margin_0 {
    margin: 0;
}

.width_80 {
    width: 80px;
}

.width_120 {
    width: 120px;
}

.mini_health_stat {
    position: absolute;
    right: -195px;
    top: -8px;
}

/* ── Mini-Ribbon wrap (drop-shadow host) ── */
.al-mini-ribbon-wrap {
    display: inline-block;
    filter: drop-shadow(0 2px 4px rgba(0,0,0,.25));
    margin-right: 4px;
    vertical-align: middle;
}

/* ── Mini-Ribbon (W-shaped, matching asset ribbons) ── */
.al-mini-ribbon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    min-height: 38px;
    padding-bottom: 10px;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 50% calc(100% - 10px), 0 100%);
}

.crit_state_icon {
    background: var(--statusUnhealthy);
}
.warn_state_icon {
    background: var(--statusWarn);
}

.ok_state_icon {
    background: var(--statusHealthy);
}

.idle_state_icon {
    background: var(--statusIdle);
}

.offline_state_icon {
    background: var(--statusOffline);
}

._state_icon{
    cursor: default;
    color: transparent;
    border-radius: 50%;
    width: 20px;
    height: 20px;
    text-align: center;
    line-height: 20px;
    font-size: 10px;
    display: inline-block;
    border: 1px solid #aaa;
}

.setting-primary-myasset-notification{
    background-color: var(--statusUnhealthy) !important;
}

.setting-primary-myasset-notification>svg{
    color: white !important;
}

/* fix for overflow x of the datatables */
.dataTables_wrapper {
    padding: 0;
    width: 99.9%;
}

.notification-state-ok:after, .background-green {
    -webkit-box-shadow: 0 0 0 3px var(--statusHealthy) !important;
    box-shadow: 0 0 0 3px var(--statusHealthy) !important;
    background: var(--statusHealthy) !important;
}

.notification-state-error:after, .background-red {
    -webkit-box-shadow: 0 0 0 3px var(--statusUnhealthy) !important;
    box-shadow: 0 0 0 3px var(--statusUnhealthy) !important;
    background: var(--statusUnhealthy) !important;
}

.notification-state-info:after, .background-lightblue {
    -webkit-box-shadow: 0 0 0 3px var(--btnSelectedColor) !important;
    box-shadow: 0 0 0 3px var(--btnSelectedColor) !important;
    background: var(--btnSelectedColor) !important;
}

.notification-state-ignored:after, .background-black {
    -webkit-box-shadow: 0 0 0 3px var(--statusIgnored) !important;
    box-shadow: 0 0 0 3px var(--statusIgnored) !important;
    background: var(--statusIgnored) !important;
}

.notification-state-call:after, .notification-state-request:after, .background-orange {
    -webkit-box-shadow: 0 0 0 3px var(--bollOrange) !important;
    box-shadow: 0 0 0 3px var(--bollOrange) !important;
    background: var(--bollOrange) !important;
}

#asset_delete_button{
    border: 1px solid var(--btnSelectedColor);
    position: absolute;
    left: 12px;
}

.btn_ignore_all_notification {
    position: absolute;
    right: 5px;
    top: 5px;
}

.btn_ignore_all_notification li{
    border: 1px solid rgba(0, 108, 179, 0.1);
    background-color: rgba(0, 108, 179, 0.1);
    border-radius: 50%;
    line-height: 19px;
    width: 20px;
    height: 20px;
}

.btn_ignore_all_notification li a svg{
    padding-left: 3px;
    padding-top: 3px;
    width: 15px;
    height: 15px;
}

#btn_open_request_accordion svg {
    margin-right: 1px;
    margin-top: 1px;
}

.ok_state_icon_selected {
    box-shadow: rgba(0, 108, 179, 0.67) 0 0 0 2px, rgba(6, 24, 44, 0.65) 0 4px 6px -1px, rgba(255, 255, 255, 0.00) 0 1px 0 inset;
}

#impressum_main_footer a {
  color: #999;
  margin-left: 10px;
  margin-right: 10px;
}

#impressum_main_footer a:first-child {
    margin-left: 0;
}

.myassets-320 {
    width: 336px !important;
}
.myassets-header320 {
    margin-top:56px;
}
.myassets-header320 #btnGroupDrop1{
    right:52px;
}

.min-w-mc {
    min-width: max-content;
}

/* ── Global card design ── */
.card {
    border-radius: 12px !important;
    border: 1px solid rgba(0,0,0,.07) !important;
    box-shadow: 0 2px 10px rgba(0,0,0,.06), 0 1px 3px rgba(0,0,0,.04) !important;
    transition: box-shadow .2s ease, transform .15s ease;
}

.card:not(.card-absolute) {
    overflow: hidden;
}

.card:hover {
    box-shadow: 0 5px 18px rgba(0,0,0,.1), 0 2px 5px rgba(0,0,0,.06) !important;
    transform: translateY(-2px);
}

/* Breakpoint ≥1600px */
@media (min-width: 2000px) {
  .col-xxxl {
    flex-basis: 0;
    flex-grow: 1;
    max-width: 100%;
  }
  .col-xxxl-auto {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
  }
  .col-xxxl-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-xxxl-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xxxl-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-xxxl-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-xxxl-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-xxxl-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-xxxl-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-xxxl-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-xxxl-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-xxxl-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-xxxl-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-xxxl-12 {
    flex: 0 0 auto;
    width: 100%;
  }
}

/* ── Sidebar user panel ── */
.page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .sidebar-user {
    background: linear-gradient(160deg, #f0f6fc 0%, #e8f0fa 100%);
    border-bottom: 1px solid #dce8f5 !important;
    padding: 24px 20px 20px !important;
    margin-bottom: 8px !important;
}

/* Avatar ring in BollBlue instead of green */
.page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .sidebar-user img {
    border: 4px solid rgba(0,108,179,.25) !important;
    box-shadow: 0 0 0 3px rgba(0,108,179,.08);
    width: 72px !important;
    height: 72px !important;
}

/* Company name — shown as a small badge above the avatar */
.sidebar-user h4.sidebar-user-name {
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: .5px !important;
    color: var(--bollBlue) !important;
    background: rgba(0,108,179,.08);
    display: inline-block;
    padding: 3px 10px;
    border-radius: 20px;
    margin-bottom: 10px !important;
    margin-top: 0 !important;
    line-height: 1.4;
}

/* User name */
.sidebar-user h6.sidebar-user-name {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #2d3748 !important;
    margin-top: 10px !important;
    margin-bottom: 2px !important;
}

/* Organisation / position */
.sidebar-user p.font-roboto {
    font-size: 12px !important;
    color: #8a96a3 !important;
    margin-bottom: 1px !important;
}

/* Notification button */
#btn_notification_info {
    margin-top: 12px !important;
    border-radius: 20px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    padding: 6px 14px !important;
    background-color: rgba(255,85,85,.1) !important;
    border: 1px solid rgba(255,85,85,.3) !important;
    color: #d9534f !important;
    width: auto !important;
    position: static !important;
    left: unset !important;
}

#btn_notification_info:hover {
    background-color: #ff5555 !important;
    border-color: #ff5555 !important;
    color: #fff !important;
}

#btn_notification_info svg {
    margin-left: 0 !important;
    width: 14px;
    height: 14px;
    vertical-align: -2px;
    margin-right: 4px;
}

/* ── Flag / toggle checkbox cards (e.g. contact edit) ── */
.modal .card:has(.checkbox input[type="checkbox"]) {
    border: 1px solid #e0eaf5 !important;
    border-left: 3px solid #e0eaf5 !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    transition: border-color .2s ease, background-color .2s ease !important;
    cursor: pointer;
}

.modal .card:has(.checkbox input[type="checkbox"]:checked) {
    border-left-color: var(--bollBlue) !important;
    background-color: rgba(0,108,179,.04) !important;
}

.modal .card:has(.checkbox input[type="checkbox"]):hover {
    border-color: rgba(0,108,179,.35) !important;
    border-left-color: var(--bollBlue) !important;
    transform: none !important;
}

.modal .card .media.p-20 {
    padding: 14px 16px !important;
    align-items: flex-start;
    gap: 12px;
}

.modal .card .media.p-20 .media-body h6.mega-title-badge {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #2d3748 !important;
    margin-bottom: 4px !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

.modal .card .media.p-20 .media-body p {
    font-size: 12px !important;
    color: #8a96a3 !important;
    margin-bottom: 0 !important;
    line-height: 1.5;
}

/* ── Page header & breadcrumb ── */
.page-wrapper .page-body-wrapper .page-header {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
}

.page-wrapper .page-body-wrapper .page-header .row h3 {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #2d3748 !important;
    text-transform: none !important;
    margin-bottom: 0 !important;
}

.page-wrapper .page-body-wrapper .page-header .breadcrumb {
    margin-top: 3px !important;
}

.page-wrapper .page-body-wrapper .page-header .breadcrumb li {
    font-size: 12px !important;
    letter-spacing: 0 !important;
    color: #8a96a3 !important;
}

.page-wrapper .page-body-wrapper .page-header .breadcrumb .breadcrumb-item a {
    color: var(--bollBlue) !important;
}

.page-wrapper .page-body-wrapper .page-header .breadcrumb .breadcrumb-item a:hover {
    color: #005a99 !important;
    text-decoration: underline;
}

.page-wrapper .page-body-wrapper .page-header .breadcrumb .breadcrumb-item + .breadcrumb-item::before {
    color: #c0cad4 !important;
}

/* ── Navigation menu ── */

/* Sidebar right border matches user-panel */
.page-wrapper.compact-wrapper .page-body-wrapper header.main-nav {
    border-right-color: #dce8f5 !important;
}

/* Section group titles */
.page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .sidebar-main-title > div {
    border-bottom-color: #dce8f5 !important;
    margin-top: 20px !important;
    margin-bottom: 6px !important;
    padding-bottom: 6px !important;
}

.page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .sidebar-main-title > div h6 {
    font-size: 10px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .7px !important;
    color: #a0adb8 !important;
    margin-bottom: 0 !important;
}

/* Nav item links */
.page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li {
    padding: 0 12px !important;
}

.page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li > a {
    padding: 9px 12px !important;
    border-radius: 8px !important;
    color: #4a5568 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    display: flex !important;
    align-items: center !important;
    transition: background-color .15s ease, color .15s ease !important;
}

.page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li > a svg {
    width: 15px !important;
    height: 15px !important;
    margin-right: 10px !important;
    color: #8a96a3 !important;
    transition: color .15s ease !important;
    flex-shrink: 0;
}

/* Hover state — subtle fill */
.page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li > a:hover {
    background-color: rgba(0,108,179,.07) !important;
    color: var(--bollBlue) !important;
}

.page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li > a:hover svg {
    color: var(--bollBlue) !important;
}

/* Active state — solid fill */
.page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li .nav-link.active {
    background-color: var(--bollBlue) !important;
    color: #fff !important;
    box-shadow: 0 3px 10px rgba(0,108,179,.25);
}

.page-wrapper.compact-wrapper .page-body-wrapper header.main-nav .main-navbar .nav-menu > li .nav-link.active svg {
    color: #fff !important;
}

/* ── Filter notification box (header icon) ── */
.nav-right .notification-box {
    width: 40px;
    height: 40px;
    display: flex !important;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background-color: rgba(0, 108, 179, 0.08);
    transition: background-color .2s ease;
    cursor: pointer;
}

.nav-right .notification-box:hover {
    background-color: rgba(0, 108, 179, 0.18);
}

.nav-right .notification-box svg {
    width: 18px;
    height: 18px;
    color: var(--bollBlue) !important;
    stroke: var(--bollBlue) !important;
    animation: none !important;
}

.nav-right .notification-box .dot-animated {
    right: 4px !important;
    top: 4px !important;
    background-color: var(--statusUnhealthy) !important;
}

/* ── Filter dropdown popup ── */
.nav-right .notification-dropdown {
    width: 320px !important;
    border-radius: 12px !important;
    border: 1px solid rgba(0,0,0,.08) !important;
    box-shadow: 0 8px 30px rgba(0,0,0,.12), 0 2px 8px rgba(0,0,0,.06) !important;
    padding: 0 !important;
    overflow: hidden;
    top: 56px !important;
}

/* Header row */
.nav-right .notification-dropdown li:first-child {
    background: linear-gradient(135deg, #f8fbff 0%, #eef5fd 100%);
    border-bottom: 1px solid #e0eaf5 !important;
    padding: 14px 16px !important;
}

.nav-right .notification-dropdown li:first-child p {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #2d3748 !important;
    margin-bottom: 0 !important;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.nav-right .notification-dropdown li:first-child .badge-primary {
    background-color: var(--bollBlue) !important;
    color: #fff !important;
    font-size: 11px;
    padding: 3px 8px;
    border-radius: 20px;
}

/* Filter items */
.nav-right .notification-dropdown li.noti-primary {
    padding: 10px 16px !important;
    border-top: 1px solid #f0f4f8 !important;
    transition: background-color .15s ease;
}

.nav-right .notification-dropdown li.noti-primary:hover {
    background-color: rgba(0, 108, 179, 0.05) !important;
}

.nav-right .notification-dropdown li .media .media-body p {
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    letter-spacing: .5px;
    color: #8a96a3 !important;
    margin-bottom: 3px !important;
}

.nav-right .notification-dropdown li .media .media-body span {
    font-size: 13px !important;
    color: #2d3748 !important;
    font-weight: 500 !important;
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 260px;
}

/* Footer link */
.nav-right .notification-dropdown li.text-center {
    padding: 12px 16px !important;
    background: #fafbfc;
    border-top: 1px solid #e8eef5 !important;
}

.nav-right .notification-dropdown li.text-center a.add_filters {
    display: inline-block;
    padding: 6px 18px;
    background-color: var(--bollBlue);
    color: #fff !important;
    border-radius: 20px;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-decoration: none;
    transition: background-color .2s ease;
}

.nav-right .notification-dropdown li.text-center a.add_filters:hover {
    background-color: #005a99;
}

/* ── Edit dialogs / modals ── */
.modal-content {
    border-radius: 14px !important;
    border: none !important;
    box-shadow: 0 20px 60px rgba(0,0,0,.15), 0 4px 16px rgba(0,0,0,.08) !important;
    overflow: hidden;
}

.modal-header {
    background: linear-gradient(135deg, #f8fbff 0%, #eef5fd 100%) !important;
    border-bottom: 1px solid #e0eaf5 !important;
    padding: 18px 24px !important;
}

.modal-header .modal-title {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #2d3748 !important;
    letter-spacing: 0 !important;
}

.modal-header .btn-close {
    opacity: .5;
    transition: opacity .15s ease;
}
.modal-header .btn-close:hover {
    opacity: 1;
}

.modal-body {
    padding: 24px !important;
    background: #fff;
}

.modal-footer {
    background: #f8fafc !important;
    border-top: 1px solid #e8eef5 !important;
    padding: 14px 24px !important;
    gap: 8px;
}

.modal-footer .btn {
    border-radius: 8px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    padding: 8px 20px !important;
    transition: all .2s ease !important;
}

.modal-footer .btn-primary {
    background-color: var(--bollBlue) !important;
    border-color: var(--bollBlue) !important;
}
.modal-footer .btn-primary:hover {
    background-color: #005a99 !important;
    border-color: #005a99 !important;
}

.modal-footer .btn-link,
.modal-footer .btn-secondary {
    background-color: transparent !important;
    border-color: #d0dae6 !important;
    color: #555 !important;
}
.modal-footer .btn-link:hover,
.modal-footer .btn-secondary:hover {
    background-color: #f0f4f8 !important;
    color: #333 !important;
    text-decoration: none !important;
}

/* form fields inside modals */
.modal .form-control,
.modal .form-select {
    border-radius: 8px !important;
    border-color: #d0dae6 !important;
    font-size: 13px !important;
}
.modal .form-control:focus,
.modal .form-select:focus {
    border-color: var(--bollBlue) !important;
    box-shadow: 0 0 0 3px rgba(0,108,179,.12) !important;
}

.modal legend {
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .5px !important;
    color: #8a96a3 !important;
    border-bottom: 1px solid #e8eef5;
    padding-bottom: 6px;
    margin-bottom: 16px !important;
}

/* ── Filter selection modal (dual listbox) ── */
.bootstrap-duallistbox-container .box1,
.bootstrap-duallistbox-container .box2 {
    border: 1px solid #e0eaf5 !important;
    border-radius: 10px !important;
    overflow: hidden;
    background: #fff;
}

.bootstrap-duallistbox-container label.info-label {
    background: linear-gradient(135deg, #f8fbff 0%, #eef5fd 100%);
    border-bottom: 1px solid #e0eaf5;
    padding: 8px 12px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .5px;
    color: #6b7a8d;
    display: block;
    margin-bottom: 0;
}

.bootstrap-duallistbox-container select.form-control {
    border: none !important;
    border-radius: 0 !important;
    font-size: 13px;
}

.bootstrap-duallistbox-container .move,
.bootstrap-duallistbox-container .moveall,
.bootstrap-duallistbox-container .remove,
.bootstrap-duallistbox-container .removeall {
    border-radius: 6px !important;
    font-size: 12px !important;
    padding: 5px 10px !important;
}

.bootstrap-duallistbox-container .moveall,
.bootstrap-duallistbox-container .move {
    background-color: var(--bollBlue) !important;
    border-color: var(--bollBlue) !important;
    color: #fff !important;
}

.bootstrap-duallistbox-container .remove,
.bootstrap-duallistbox-container .removeall {
    background-color: #f0f4f8 !important;
    border-color: #d0dae6 !important;
    color: #555 !important;
}

/* Modal form labels */
.modal .form-label {
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .4px;
    color: #6b7a8d;
    margin-bottom: 6px;
}