
/* Bootstrap fixes Bootstrap's fixed 30px height on select.input-sm, which clips
   text on some browsers. height:auto lets the browser size the control naturally. */

/* Column divider â€” a left border used to visually separate side-by-side panels.
   Uses a CSS variable so dark mode can override to a darker tone. */
.col-left-divider {
  border-left: solid 3px var(--col-divider-color, #efefef);
}
select.input-sm {
  height: auto;
}

/* Large screens: 4 cols per row (.col-lg-3) */
@media (min-width: 1200px) {
  .row > .col-lg-3:nth-child(4n + 1) {
    clear: left;
  }
}

/* Medium screens: 2 cols per row (.col-md-6) */
@media (min-width: 992px) and (max-width: 1199px) {
  .row > .col-md-6:nth-child(2n + 1) {
    clear: left;
  }
}


@keyframes flash {
  0%,100% {
    opacity: 1
  }

  50% {
    opacity: 0
  }
}


.dropdown-menu-end {
  right: 0;
  left: auto !important
}


.grid-form {
  display: grid;
  grid-template-columns: repeat(4, 1fr); /* 4 across */
  gap: 7px;
  margin-bottom: 8px;
}

@media (max-width: 992px) {
  .grid-form {
    grid-template-columns: repeat(2, 1fr); /* 2 across on tablets */
  }
}

@media (max-width: 576px) {
  .grid-form {
    grid-template-columns: 1fr; /* 1 across on phones */
  }
}

/*multi-select dropdown*/

.c-token {
  margin-top: unset !important;
  padding: 3px 20px 4px 8px !important;
  margin-bottom: 1px !important;
}

.suggestions-list {
  position: absolute;
  top: 10px;
  left: 10px;
  width: 80%;
  background-color: #fff;
  border: 1px solid #ddd;
  max-height: 150px;
  overflow-y: auto;
  z-index: 1000;
  list-style-type: none;
  padding: 0;
  margin: 0
}

  .suggestions-list li {
    padding: 10px;
    cursor: pointer
  }

    .suggestions-list li.highlighted {
      background-color: #f0f0f0
    }

.tagged-names {
  margin-top: 10px;
  display: flex;
  flex-wrap: wrap;
  border: 1px solid #e7eaec;
  padding: 5px 5px 5px 8px;
  border-radius: 12px
}

.tag {
  border-radius: 12px;
  align-items: center;
  padding: 3px 8px 3px 8px;
  margin-right: 5px
}

.ui-sortable-handle {
  font-weight: 600;
  font-size: 13px;
  cursor: move !important
}

.angular2-multiselect .dropdown-list {
  bottom: auto !important;
  top: 100% !important
}

ams-html-tooltip .tooltip-content ul > li {
  margin-bottom: 5px;
}

.cdk-drag-placeholder {
  opacity: .6
}

.cdk-drag-preview {
  list-style: none;
  background: #fafafb;
  border: 1px solid #e7eaec;
  margin: 0 0 10px 0;
  padding: 10px;
  border-radius: 2px;
  border-left: 3px solid #63666a;
  opacity: .7;
  cursor: grabbing !important
}

.flashing-icon {
  animation: flash 1s infinite
}

.mat-tooltip {
  background: #676a6c !important;
  color: white !important;
}

/* Allows newline-separated facility names to render as multi-line in the tooltip */
.mat-mdc-tooltip.facility-list-tooltip .mdc-tooltip__surface {
  white-space: pre-line !important;
  max-width: 300px !important;
}

/* Highlighted row on the Client Payments report (navigated from invoice detail) */
.payment-highlighted {
  background-color: #fff3cd !important;
  outline: 2px solid #ffc107;
}

* {
  scrollbar-width: thin;
  scrollbar-color: #f9f9f9
}

::-webkit-scrollbar {
  width: 10px
}

::-webkit-scrollbar-track {
  background: #f9f9f9
}

::-webkit-scrollbar-thumb {
  background-color: #d0d0d0;
  border-radius: 20px;
  border: 3px solid #d0d0d0
}

.mat-card {
  font-family: inherit !important;
  background: #fff;
  box-shadow: 0 3px 1px -2px rgb(0 0 0 / 20%),0 2px 2px 0 rgb(0 0 0 / 14%),0 1px 5px 0 rgb(0 0 0 / 12%)
}

.mat-card-content {
  font-size: 13px !important
}

.mat-card-inverse {
  background: #2f4050 !important;
  color: #fff !important
}

.empty-state {
  text-align: center;
  font-size: large;
  padding-bottom: 50px
}

.empty-state-top-margin {
  margin-top: 80px
}

.dropdown-list {
  z-index: 1 !important
}

.clear-all {
  display: none !important
}

.title-action-mini-button {
  width: 36px;
  margin-left: 5px
}

.c-btn {
  min-height: 34px !important
}

.btn-group {
  white-space: nowrap;
  display: inline-flex
}

.outlook-items {
  position: absolute;
  left: 0;
  bottom: 21px;
  width: 240px;
  overflow-y: hidden;
  background: #e0e0e5;
  scrollbar-width: thin
}

@media print {
  .outlook-items {
    width: 0 !important
  }
}

.outlook-filter-select {
  height: 22px;
  padding: 0 !important;
  font-size: 12px !important
}

.outlook-items ::-webkit-scrollbar {
  width: 5px
}

.outlook-content {
  position: absolute;
  left: 240px;
  bottom: 0;
  right: 0;
  overflow-y: auto;
  overflow-x: hidden
}

@media print {
  .outlook-content {
    left: 0 !important;
    top: 0 !important;
    bottom: unset !important
  }
}


.ngx-toastr {
  width: 350px !important
}

#toast-container {
  pointer-events: none; /* Allows clicks through the container */
}

  #toast-container > div {
    pointer-events: auto; /* Keeps toasts clickable */
  }


.toast-custom-client-wizard {
  top: 182px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
}


@keyframes blink {
  50% {
    opacity: 0
  }
}

.blink {
  animation: blink 1s step-start 0s infinite
}

.form-control-small {
  border: 1px solid #d0cece;
  border-radius: 1px;
  color: inherit;
  padding: 2px !important;
  font-size: 14px;
  margin-right: 3px;
  width: 100%
}

  .form-control-small:focus {
    border-color: #1ab394 !important;
    outline: 0 !important;
    -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);
    box-shadow: none
  }

.rounded-input {
  border-radius: 25px !important;
  padding: 0 30px 0 68px;
  outline: 0;
  border: none !important
}

.infoTile {
  padding: 10px 0 10px 0
}

.linkTile:hover {
  cursor: pointer;
  background-color: #fce8ea !important
}

.linkTile > h1 > a {
  color: #ed5565 !important;
  font-weight: 500
}

.hideBorder {
  border: none !important
}

.rounded-box {
  background: #fff;
  border-radius: 10px;
  padding: 5px 10px 10px 10px
}

.ellipsisTD {
  width: 0;
  min-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  cursor: default
}

.ellipsisSpan {
  display: inline-block;
  max-width: 100px; /* or whatever width you want */
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  cursor: default;
}


.detail-block {
  margin-bottom: 10px
}

.btn-patient-list-tablet {
  width: 160px;
  height: 50px;
  font-size: 20px;
  border-radius: 30px !important
}

.toast-top-center {
  top: 10px !important
}

@keyframes fadein {
  from {
    opacity: 0
  }

  to {
    opacity: 1
  }
}

.fadeInDown {
  animation: fadeInDown 0.8s ease;
}

@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}


th {
  overflow: hidden !important
}

.btn-xs {
  padding: 1px 17px 1px 7px !important
}

.btn-grey {
  background-color: #eee;
  color: inherit;
  font-weight: 600
}

.btn-default.active {
  background-color: #f5f5f5 !important
}

.button-file-input {
  display: none !important
}

.priority-notification {
  background-color: #fce8ea !important
}

.survey-selected-result {
  margin-bottom: 5px !important;
  font-weight: 700;
  border: 1px solid #d0cece;
  padding-top: 5px;
  padding-bottom: 5px;
  border-radius: 5px;
  background-color: #e7eaec
}

.survey-dashboard-action-button {
  padding: 30px 0 0 0 !important;
  height: 84px;
  width: 100%;
  text-align: center;
  background: #1d84c6
}

.chart {
  position: relative;
  width: 99%
}

.chart-key-color {
  border-radius: 5px;
  width: 30px;
  height: 20px;
  margin-left: 20px;
  margin-right: 10px;
  margin-top: -3px
}

.chartSmallTitle {
  font-size: 18px;
  font-weight: 600;
}

@media print {
  .chartSmallTitle {
    font-size: 14px;
    font-weight: 300;
  }
}


.c-btn {
  font-size: inherit !important
}

/* Active tab â€” red top accent line, matching the dark-theme treatment */

.nav-tabs .nav-link.active,
.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus {
  color: #495057;
  background-color: #fff;
  border-color: #dee2e6 #dee2e6 #fff;
  border-top: 2px solid #ee5253 !important;
}

.buttons-float-top {
  position: fixed;
  top: 0;
  margin-bottom: 5px;
  opacity: .9;
  right: 14px;
  left: 215px;
  z-index: 200 !important
}

.buttons-float-bottom {
  position: fixed;
  /* Sit just above the fixed footer (~22px tall) */
  bottom: 25px;
  margin-bottom: 5px;
  opacity: .9;
  right: 14px;
  left: 215px;
  z-index: 200;
  will-change: transform;
  transform: translateZ(0);
}

.buttons-float-bottom-cc-cyclecount {
  position: fixed;
  bottom: -15px !important;
  margin-bottom: 5px;
  opacity: .9;
  right: 16px !important;
  left: 16px !important
}

.buttons-float-bottom-high {
  bottom: 30px
}

.buttons-float-bottom-tablet {
  position: fixed;
  bottom: 0;
  margin-bottom: 2px;
  opacity: .9;
  width: 100%;
  margin-top: 50px
}

.ams-footer {
  position: fixed;
  bottom: 0;
  width: 100%;
  padding-top: 2px;
  padding-bottom: 3px;
  background: #f3f3f4;
  font-size: 12px;
  padding-left: 10px;
  z-index: 100;
  left: 0;
  border-top: 1px solid #f0eded
}

.angular-editor-textarea {
  height: 80%;
  background-color: #fff !important
}

.angular-editor-wrapper {
  height: 100%
}

.angular-editor {
  height: 100%
}

body:not(.modal-open) {
  padding-right: 0 !important;
  overflow: auto !important
}

.modal-open {
  overflow: auto !important
}

.modal-canvas {
  background-color: #f3f3f4;
  height: 100%
}

.custom-modal-backdrop {
  position: fixed; /* Attach to the screen, not parent container */
  top: 0;
  left: 0;
  z-index: 9999; /* Make sure it's above other modals */
  background-color: rgba(0, 0, 0, 0.5);
  align-items: center;
  justify-content: center;
  width:100%;
}



.wizard-back-button {
  margin-bottom: -10px !important;
  margin-top: 20px;
  padding: 2px 9px;
  font-size: 12px
}

.selectable-div {
  cursor: pointer
}

div.selectable-div:hover {
  background-color: #f3f3f4
}

.rownomargin {
  margin-left: 0 !important;
  margin-right: 0 !important
}

@media print {
  a[href]:after {
    content: none !important
  }
}

.page-heading div h2 {
  margin-top: 15px !important
}

.page-heading-help {
  color: #a0a0a0;
  line-height: 9px;
  text-align: center;
  margin-bottom: -1px
}

.page-heading-help-tab {
  padding: 10px 9px 6px 9px;
  background-color: #ececef;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
  min-width: 60px;
  border-left: solid 1px #e7eaec;
  border-top: solid 1px #e7eaec;
  border-right: solid 1px #e7eaec;
  position: relative;
  top: 54.5px;
  text-decoration: none
}

  .page-heading-help-tab a {
    color: #626365;
    font-size: 11px
  }

.page-heading-help i {
  font-weight: 600 !important;
  padding-bottom: 5px;
  font-size: 1em
}

.page-heading-help span {
  font-size: 8px;
  line-height: 1px;
  padding-top: 5px
}

.cost-summary td {
  font-size: 12px;
  padding: 0 0 10px 0
}

.cost-summary-lg td {
  font-size: 13px;
  padding: 0 0 10px 0
}

.small-pie-chart {
  display: block;
  width: 200px;
  position: relative;
  top: -20px
}

.small-pie-chart-label {
  text-align: center;
  position: relative;
  top: 40px;
  font-weight: 700;
  font-size: 15px
}

.physician-summary-info {
  position: relative;
  top: 35%;
  -ms-transform: translateY(35%);
  -webkit-transform: translateY(35%);
  transform: translateY(35%)
}

.ams-date-picker-sm input {
  height: 25px;
  color: #000;
  font-size: 12px
}

.ams-date-picker-md input {
  height: 25px;
  color: #000;
  font-size: 12px
}

.ams-date-picker-sm .input-group-addon {
  display: none
}

.ams-date-picker-md .input-group-addon {
  padding: 5px
}

.steps-section {
  border-bottom: dashed 1px #ddd;
  padding-bottom: 15px
}

.steps-timeline {
  outline: 1px dashed rgba(255,0,0,0)
}

@media screen and (max-width:500px) {
  .steps-timeline {
    border-left: 2px solid #3498db;
    margin-left: 25px
  }
}

@media screen and (min-width:500px) {
  .steps-timeline {
    border-top: 2px solid #cbcbcb;
    padding-top: 20px;
    margin-top: 30px;
    margin-left: 16.65%;
    margin-right: 16.65%
  }
}

.steps-timeline:after {
  content: "";
  display: table;
  clear: both
}

.steps-one, .steps-three, .steps-two {
  outline: 1px dashed rgba(0,128,0,0)
}

@media screen and (max-width:500px) {
  .steps-one, .steps-three, .steps-two {
    margin-left: -25px
  }
}

@media screen and (min-width:500px) {
  .steps-one, .steps-three, .steps-two {
    float: left;
    width: 33%;
    margin-top: -42px
  }
}

@media screen and (max-width:500px) {
  .steps-one, .steps-two {
    padding-bottom: 40px
  }
}

@media screen and (min-width:500px) {
  .steps-one {
    margin-left: -16.65%;
    margin-right: 16.65%
  }
}

@media screen and (max-width:500px) {
  .steps-three {
    margin-bottom: -100%
  }
}

@media screen and (min-width:500px) {
  .steps-three {
    margin-left: 16.65%;
    margin-right: -16.65%
  }
}

@media print {
  .print-height-0 {
    height: 0 !important
  }

  .print-width-0 {
    width: 0 !important
  }

  .no-print {
    display: none !important
  }
}

.steps-i, .steps-i-done {
  display: block;
  margin: auto;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: solid 2px #cbcbcb;
  text-align: center;
  padding-top: 18px
}

.steps-i {
  background-color: #fff;
  color: #cbcbcb
}

.steps-i-done {
  background-color: #1ab394;
  color: #fff
}

.steps-i-done-error {
  background-color: #ed5565 !important
}

@media screen and (max-width:500px) {
  .steps-i {
    float: left;
    margin-right: 20px
  }
}

.steps-description {
  margin: 0;
  font-size: 11px
}

.steps-description {
  overflow: hidden
}

@media screen and (min-width:500px) {
  .steps-description {
    text-align: center
  }
}

.sortActive {
  background-color: #e1e1e1 !important;
  border-bottom: solid 2px #1ab394 !important
}

.sort div {
  color: #337ab7
}

.sort span {
  color: #337ab7
}

.nav > li > a {
  padding-left: 15px !important
}

.nav > li.active > a {
  padding-left: 11px !important
}

.nav > li > a i {
  font-size: 1.2em;
  width: 35px;
  text-align: center;
  margin-right: 0 !important
}

.nav-second-level li a {
  padding: 7px 10px 7px 45px !important
}

.nav-second-level li.active a {
  padding: 7px 10px 7px 45px !important
}

.mini-navbar .nav .nav-second-level {
  background-color: #e1e1e7 !important
}

.mini-navbar .nav-second-level li a {
  padding: 10px 10px 10px 15px !important
}

.alert {
  padding: 8px 10px 8px 10px !important
}

.alert-min {
  background-color: transparent;
  padding: 6px !important;
  margin-bottom: 8px
}

.order-alert {
  color: #ed5565
}

.order-show-detail {
  height: 643px;
  overflow-y: auto;
  margin: 0 -5px 12px -8px;
  overflow-x: hidden
}

@media print {
  .order-show-detail {
    overflow: hidden !important;
    height: unset !important;
    margin-bottom: 0 !important
  }

  #orderDiv {
    margin-bottom: 0 !important
  }

  table {
    page-break-before: avoid;
    page-break-inside: avoid
  }

  thead {
    display: table-row-group
  }
}

.table {
  margin-bottom: 15px !important
}

.table-hover > tbody > tr:hover {
  background-color: #d6d2d2 !important
}

input[type=number] {
  padding-right: 2px !important
}

.popover {
  box-shadow: 0 10px 10px #999 !important
}

.v_table_class > tbody tr td {
  font-size: 11px;
  padding-top: 2px !important;
  padding-bottom: 2px !important
}

@media (min-width:992px) {
  .modal-xl {
    width: 1100px
  }
}

.disabled-option {
  color: #b3b3b3
}

.angular-editor-button {
  font-size: 14px;
  padding: 8px !important;
  height: 31px;
  color: #676a6c
}

ae-select {
  font-size: 14px
}

ae-select.select-font, ae-select.select-heading {
  display: none !important
}

.text-primary {
  color: var(--ams-primary) !important
}

.label-primary-light {
  background-color: #d8f0eb
}

.input-error, .input-error:focus {
  background-color: #fce8ea !important;
  border-color: #ed5565 !important
}

.input-error-shadow {
  border-color: #ed5565 !important;
  box-shadow: 0 0 8px #ed5565 !important
}

.top-nav-icon a i {
  color: #fff !important
}

@media (min-width:482px) {
  .top-nav-icon {
    width: 53px
  }
}

@media (max-width:481px) {
  .top-nav-icon {
    width: 45px
  }
}

@media (max-width:413px) {
  .top-nav-icon {
    width: 43px;
    padding: 0
  }
}

.top-nav-context-menu {
  width: 45px
}

@media (min-width:548px) {
  .top-nav-context-menu {
    display: none !important
  }
}

@media (max-width:413px) {
  .top-nav-context-menu {
    width: 43px
  }
}

@media (max-width:547px) {
  .top-nav-context-icon {
    display: none !important
  }
}

.logout {
  cursor: pointer;
  margin-left: 15px;
  margin-right: 20px;
  font-size: 1.2em;
  color: #fff
}

  .logout:hover {
    color: #ed5565 !important
  }

  .logout a:hover {
    color: #ed5565 !important
  }

@media (min-width:482px) {
  .logout-icon {
    display: none
  }
}

@media (max-width:481px) {
  .logout-button {
    display: none
  }
}

@media (min-width:796px) {
  .client-switcher-small {
    display: none !important
  }
}

.client-switcher-full {
  margin-left: 40px !important
}

@media (max-width:795px) {
  .client-switcher-full {
    display: none !important
  }
}

@media (max-width:611px) {
  .client-switcher-items {
    position: absolute !important;
    left: -58px !important
  }
}

 ::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0
}

.form-radio {
  -webkit-appearance: none;
  -moz-appearance: none;
  display: inline-block;
  position: relative;
  background-color: #f1f1f1;
  color: #666;
  top: 5px;
  height: 20px;
  width: 20px;
  border: 0;
  border-radius: 50px;
  cursor: pointer;
  margin-right: 7px !important;
  outline: 0
}

  .form-radio:checked::before {
    position: absolute;
    font: 13px/1 'Open Sans',sans-serif;
    left: 6.3px;
    top: 2.5px;
    content: '\02143';
    transform: rotate(40deg);
    color: #f7f7f7;
    font-weight: 600
  }

  .form-radio:hover {
    background-color: #f7f7f7
  }

input[type=radio]:focus {
  outline: 0;
  box-shadow: none;
  outline-color: transparent
}

.bwizard {
  position: relative
}

  .bwizard .well {
    margin: 3px 0
  }

.bwizard-steps {
  margin: 0;
  padding: 0;
  display: inline-block;
  background: #fff
}

  .bwizard-steps li {
    display: inline-block;
    position: relative;
    margin-right: 5px;
    line-height: 18px;
    list-style: none;
    padding: 12px 17px 10px 30px;
    background: #e6e6e6;
    zoom: 1
  }

    .bwizard-steps li:first-child {
      -webkit-border-radius: 4px 0 0 4px;
      -moz-border-radius: 4px 0 0 4px;
      border-radius: 4px 0 0 4px;
      padding-left: 12px
    }

      .bwizard-steps li:first-child:before {
        border: none
      }

    .bwizard-steps li:last-child {
      -webkit-border-radius: 0 4px 4px 0;
      -moz-border-radius: 0 4px 4px 0;
      border-radius: 0 4px 4px 0;
      margin-right: 0
    }

      .bwizard-steps li:last-child:after {
        border: none
      }

    .bwizard-steps li:before {
      position: absolute;
      left: 0;
      top: 0;
      height: 0;
      width: 0;
      border-bottom: 20px inset transparent;
      border-left: 20px solid #fff;
      border-top: 20px inset transparent;
      content: ""
    }

    .bwizard-steps li:after {
      position: absolute;
      right: -20px;
      top: 0;
      height: 0;
      width: 0;
      border-bottom: 20px inset transparent;
      border-left: 20px solid #e6e6e6;
      border-top: 20px inset transparent;
      content: "";
      z-index: 2
    }

    .bwizard-steps li .label-default {
      margin: 0 5px 0 0;
      padding: 1px 5px 2px;
      position: relative;
      top: -1px;
      background: #b3b3b3;
      -webkit-border-radius: 2px;
      -moz-border-radius: 2px;
      border-radius: 2px;
      color: #fff
    }

    .bwizard-steps li .label-danger {
      background: #a40807
    }

    .bwizard-steps li span.label {
      background: 0 0 !important;
      margin-right: 5px;
      color: #818181 !important;
      font-size: 13px !important
    }

  .bwizard-steps .active {
    color: #fff;
    background: #ec4758
  }

    .bwizard-steps .active:after {
      border-left-color: #ec4758
    }

    .bwizard-steps .active span.label {
      color: #fff !important
    }

  .bwizard-steps a {
    color: #4d4d4d
  }

  .bwizard-steps .active a {
    color: #fff;
    cursor: default
  }

  .bwizard-steps a:hover {
    text-decoration: none
  }

  .bwizard-steps.clickable li:not(.active) {
    cursor: pointer
  }

  .bwizard-steps.clickable li:hover:not(.active) {
    background: #ccc
  }

    .bwizard-steps.clickable li:hover:not(.active) a {
      color: #4d4d4d
    }

    .bwizard-steps.clickable li:hover:not(.active):after {
      border-left-color: #ccc
    }


wa-slider.slider-label-lg::part(label) {
  font-size: 14px;
}

wa-slider::part(tooltip) {
  font-size: 1.1rem; /* increase/decrease as you like */
  font-weight: 600;
}
/* FLEX GRID CONTAINER */
.menu-grid {
  display: flex;
  flex-wrap: wrap;
  margin: -10px; /* gutter compensation */
}

  /* GRID ITEM (COLUMN) */
  .menu-grid .menu-col {
    box-sizing: border-box;
    padding: 10px; /* gutter */
    flex: 0 0 100%; /* 1 across by default */
    display: flex; /* so card can stretch */
  }

/* 2 across on small screens (>= 768px) */
@media (min-width: 768px) {
  .menu-grid .menu-col {
    flex: 0 0 50%;
  }
}

/* 3 across on medium+ screens (>= 992px) */
@media (min-width: 992px) {
  .menu-grid .menu-col {
    flex: 0 0 33.3333%;
  }
}

/* CARD ITSELF */
.menu-card {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%; /* <-- fills the column height */
  /* whatever visuals your ibox-content doesn't already set: */
  /* border-radius: 10px; */
}

/* optional: push any footer content to the bottom */

/* ============================================================
   Typography Utilities
   Replaces repeated inline font-weight / font-size styles
   ============================================================ */

/* Semibold text â€” replaces style="font-weight:600" */
.font-semibold {
  font-weight: 600;
}

/* Bold text â€” replaces style="font-weight:700" */
.font-bold {
  font-weight: 700;
}

/* Small label text â€” replaces style="font-size:13px" */
.text-13 {
  font-size: 13px;
}

/* Standard body text â€” replaces style="font-size:14px" */
.text-14 {
  font-size: 14px;
}

/* ============================================================
   Spacing Utilities
   Bootstrap 3 has no mb-* / mt-* / p-* utilities â€” defined here
   ============================================================ */

/* Zero bottom margin â€” !important needed to override .ibox / .form-group defaults */
.mb-0 {
  margin-bottom: 0 !important;
}

/* 10px bottom margin â€” replaces style="margin-bottom:10px" */
.mb-10 {
  margin-bottom: 10px;
}

/* 20px bottom margin â€” replaces style="margin-bottom:20px" */
.mb-20 {
  margin-bottom: 20px;
}

/* 10px top margin â€” replaces style="margin-top:10px" */
.mt-10 {
  margin-top: 10px;
}

/* 20px top margin â€” replaces style="margin-top:20px" */
.mt-20 {
  margin-top: 20px;
}

/* 10px all-sides padding â€” replaces style="padding:10px" */
.p-10 {
  padding: 10px;
}

/* ============================================================
   Layout Utilities
   Replaces repeated inline positioning / sizing styles
   ============================================================ */

/* Vertical align top â€” replaces style="vertical-align:top" */
.va-top {
  vertical-align: top;
}

/* Full width â€” replaces style="width:100%" */
.w-full {
  width: 100%;
}

/* 20px fixed width â€” replaces style="width:20px" (icon columns, etc.) */
.w-20 {
  width: 20px;
}

/* Hide overflow â€” replaces style="overflow:hidden" */
.overflow-hidden {
  overflow: hidden;
}

/* ============================================================
   Combo Utilities
   Exact multi-property combos repeated across 2+ distinct files
   ============================================================ */

/* Clickable list/tab item with standard padding
   Replaces: style="cursor:pointer; padding: 10px 15px !important;"
   Used in: ams-pulse, email-list, roadmap-list, patient-list */
.list-item-clickable {
  cursor: pointer;
  padding: 10px 15px !important;
}

/* Section label header style
   Replaces: style="font-weight:600; margin-bottom:11px;"
   Used in: ams-pulse, email-list, patient-list */
.label-header {
  font-weight: 600;
  margin-bottom: 11px;
}

/* ============================================================
   Color & Background Utilities
   Replaces repeated inline color/background-color styles
   ============================================================ */

/* White background â€” replaces style="background-color:#fff" */
.bg-white {
  background-color: var(--ams-bg-white);
}

/* Light surface background â€” replaces style="background-color:#f9f9f9" */
.bg-surface {
  background-color: var(--ams-bg-surface);
}

/* Danger red text â€” replaces style="color:red" (distinct from Bootstrap .text-danger #a94442) */
.text-red {
  color: red;
}

/* Inherit parent color â€” replaces style="color:inherit !important" */
.color-inherit {
  color: inherit !important;
}

/* ============================================================
   Finance Report Table Utilities
   Shared by group-finance, group-inventory, physician-finance, physician-finance-details
   ============================================================ */

/* Dark header row for finance/inventory report tables */
.finance-header-dark {
  background-color: var(--ams-dark-navy);
  color: #fff;
}

/* Success (green) data row â€” replaces style="background-color:#dff0d8; border-right:1px solid #e7eaec" */
.finance-row-success {
  background-color: var(--ams-row-success-bg);
  border-right: 1px solid var(--ams-border-light);
}

/* Danger (red) data row â€” replaces style="background-color:#f2dede; border-right:1px solid #e7eaec" */
.finance-row-danger {
  background-color: var(--ams-row-danger-bg);
  border-right: 1px solid var(--ams-border-light);
}

/* ============================================================
   Form & Table Section Utilities
   ============================================================ */

/* Bold header cell with light background â€” used in fee tables */
.fees-header-cell {
  font-weight: bold;
  background-color: var(--ams-bg-light);
}

/* Barcode / code input display area â€” replaces inline background+border combo */
.code-input-area {
  background-color: var(--ams-bg-light);
  border-radius: 4px;
  border: 1px solid #ccc;
  width: 100%;
  padding: 10px;
}

/* White section with top padding â€” used in physician preferences and resource kit edit */
.white-padded-section {
  background-color: var(--ams-bg-white);
  padding-top: 30px;
}

/* Disabled table cell with bottom vertical alignment */
.disabled-cell-bottom {
  border-color: var(--ams-border-disabled);
  cursor: default;
  vertical-align: bottom;
}

/* ============================================================
   Provider Detail â€” metric panel table divider normalizer
   The four stat panels (Items Used, Reimbursement, Cost, Profit) each
   contain a small two-column table.  Bootstrap .table sets border-top on
   every td; .disabled-cell-bottom uses the border-color shorthand which
   also adds a border-right, causing the horizontal divider line to appear
   in two different colours (split at the column boundary).
   .metric-panel forces a single consistent mid-grey top-border and
   suppresses the accidental inter-column right-border on the left cell.
   ============================================================ */
.metric-panel .table > tbody > tr > td {
  border-top-color: #c8c8c8 !important;
  border-right: none !important;
}

/* ============================================================
   Straggler Utilities - Phase 3
   Extracted from high-frequency (20+) remaining inline styles
   ============================================================ */

/* Cursor */
.cursor-default { cursor: default; }

/* Typography */
.font-normal-inherit { font-weight: normal; font-size: inherit; }
.font-medium { font-weight: 500; }
.font-semibold-i { font-weight: 600 !important; }
.text-11 { font-size: 11px; }
.text-15 { font-size: 15px; }
.text-16 { font-size: 16px; }

/* Spacing - margin-bottom */
.mb-n2 { margin-bottom: -2px; }
.mb-3 { margin-bottom: 3px; }
.mb-5 { margin-bottom: 5px; }
.mb-8 { margin-bottom: 8px; }
.mb-12 { margin-bottom: 12px; }
.mb-15 { margin-bottom: 15px; }
.mb-75 { margin-bottom: 75px; }
.mb-1-i { margin-bottom: 1px !important; }

/* Spacing - margin-top */
.mt-0 { margin-top: 0; }
.mt-5 { margin-top: 5px; }

/* Spacing - margin-right / margin-left */
.mr-0 { margin-right: 0; }
.mr-3 { margin-right: 3px; }
.mr-5 { margin-right: 5px; }
.mr-6 { margin-right: 6px; }
.mr-15-i { margin-right: 15px !important; }
.ml-3 { margin-left: 3px; }
.ml-5 { margin-left: 5px; }
.m-0 { margin: 0; }

/* Spacing - padding */
.pb-0 { padding-bottom: 0; }
.pb-5 { padding-bottom: 5px; }
.pt-5 { padding-top: 5px; }
.pt-10 { padding-top: 10px; }
.pl-10 { padding-left: 10px; }
.pr-5 { padding-right: 5px; }

/* Dimensions */
.w-50px  { width: 50px; }
.w-80    { width: 80px; }
.w-100px { width: 100px; }
.w-125   { width: 125px; }
.w-150   { width: 150px; }
.w-200   { width: 200px; }
.w-400   { width: 400px; }

/* Layout */
.pos-relative { position: relative; }

/* Text overflow â€” replaces white-space:nowrap; overflow:hidden; text-overflow:ellipsis */
.text-ellipsis { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* Borders */
.border-top-none    { border-top: none; }
.border-none        { border: none; }
.border-right-light { border-right: 1px solid var(--ams-border-light); }
.border-top-subtle  { border-top: 1px solid var(--ams-border-subtle); }
.border-right-subtle{ border-right: 1px solid var(--ams-border-subtle); }
.border-primary-1   { border: 1px solid var(--ams-border-primary); }
.rounded-pill       { border-radius: 20px; }

/* Combo â€” fixed-layout full-width nowrap table */
.table-fixed-nowrap { table-layout: fixed; width: 100%; white-space: nowrap; }
/* Combo â€” full-width + nowrap (non-table contexts) */
.w-full-nowrap      { width: 100%; white-space: nowrap; }
/* Combo â€” nav section cell with right divider */
.nav-section-cell   { padding: 20px 0; border-right: 1px solid var(--ams-border-subtle); }
/* Combo â€” clickable text that resets font-weight */
.clickable-normal   { cursor: pointer; font-weight: normal; }

/* ============================================================
   Straggler Utilities - Phase 3b
   Extracted from 10â€“19 occurrence remaining inline styles
   ============================================================ */

/* Typography */
.font-normal { font-weight: normal; }
.text-12 { font-size: 12px; }
.text-20 { font-size: 20px; }

/* Spacing â€” margin-bottom */
.mb-n10 { margin-bottom: -10px; }

/* Spacing â€” margin-top */
.mt-3  { margin-top: 3px; }
.mt-7  { margin-top: 7px; }
.mt-8  { margin-top: 8px; }
.mt-15 { margin-top: 15px; }
.mt-n7 { margin-top: -7px; }

/* Spacing â€” margin-right / left */
.mr-1   { margin-right: 1px; }
.mr-8-i { margin-right: 8px !important; }
.mr-5-i { margin-right: 5px !important; }
.ml-8   { margin-left: 8px; }
.ml-10  { margin-left: 10px; }

/* Spacing â€” padding */
.p-0   { padding: 0; }
.pl-0  { padding-left: 0; }
.pr-8  { padding-right: 8px; }
.pr-10 { padding-right: 10px; }
.pt-0  { padding-top: 0; }
.pt-7  { padding-top: 7px; }
.pt-8  { padding-top: 8px; }

/* Dimensions */
.w-35  { width: 35px; }
.w-60  { width: 60px; }
.w-70  { width: 70px; }
.w-90  { width: 90px; }
.w-95  { width: 95px; }
.w-120 { width: 120px; }
.w-130 { width: 130px; }
.w-140 { width: 140px; }
.w-250 { width: 250px; }
.w-300 { width: 300px; }
.w-450 { width: 450px; }
.w-500 { width: 500px; }
.w-40p { width: 40%; }

/* Layout */
.pos-absolute { position: absolute; }
.d-flex       { display: flex; }
.d-inline     { display: inline; }

/* Borders */
.border-0          { border: 0; }
.border-left-light { border-left: 1px solid var(--ams-border-light); }

/* Active tab: the app uses Bootstrap 4 markup (a.nav-link.active) with Bootstrap 3 CSS,
   so Bootstrap 3's li.active > a rules never fire. We must supply the full active-tab
   style so the tab has a border on all sides and a white bottom that covers the
   nav-tabs border-bottom, making the tab appear connected to the content below. */
.nav-tabs .nav-link.active,
.nav-tabs .nav-link.active:hover,
.nav-tabs .nav-link.active:focus {
  background-color: #fff !important;
  border: 1px solid #ddd !important;
  border-top: 2px solid #ee5253 !important;
  border-bottom-color: #fff !important;
  border-radius: 4px 4px 0 0;
  color: #555 !important;
  cursor: default;
}

/* Label for the order number in the outlook-style list row */
.order-list-label {
    font-size: 14px;
    display: block;
    width: 125px;
    white-space: nowrap;
}

/* JotForm AI chat bubble — nudge up from the very bottom edge */
.ai-agent-chat-avatar-container {
    bottom: 10px !important;
}
